From 9e66517c718109d0f7c677cfebd1e6e7cf9d4fd1 Mon Sep 17 00:00:00 2001 From: "YZ\\249929363" <249929363@qq.com> Date: Fri, 16 Aug 2024 14:17:58 +0800 Subject: [PATCH] =?UTF-8?q?=E5=A4=A7=E7=A6=B9=E6=B2=BB=E6=B0=B4=E4=BC=98?= =?UTF-8?q?=E5=8C=96=E5=A5=BD?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- assets/Scene/GameScene.fire | 2834 ++-- assets/Scene/LoadScene.fire | 4 +- assets/Scene/OverScene.fire | 542 +- assets/Script/Block.ts | 56 +- assets/Script/ControlManager.ts | 29 +- assets/Script/GameManager.ts | 215 +- assets/Script/GameOver.ts | 21 + assets/Script/Load.ts | 13 + assets/Script/Sdk.meta | 13 + assets/Script/Sdk/MiniGameSdk.ts | 1111 ++ assets/Script/Sdk/MiniGameSdk.ts.meta | 10 + assets/Script/module/Config/GameConfig.ts | 8 +- assets/Script/module/Tool/GameTool.ts | 13 +- assets/prefab/Block.prefab | 398 +- assets/res/btn.png | Bin 0 -> 20794 bytes assets/res/btn.png.meta | 38 + build-templates/web-mobile/index.html | 29 +- build/WaterControl.zip | Bin 3008550 -> 3033912 bytes .../assets/main/config.a3c5f.json | 1 - .../assets/main/config.cc0e7.json | 1 + ...89e146.571a0.json => 02989e146.19252.json} | 2 +- .../main/import/09/0961e988d.85980.json | 1 + .../09f72cf20.e3c82.json} | 2 +- .../main/import/0d/0d9744cd3.310b1.json | 1 + .../main/import/0d/0d9744cd3.fe13e.json | 1 - .../main/import/0f/0f2adc401.653a1.json | 1 - build/WaterControl/assets/main/index.a3c5f.js | 1 - build/WaterControl/assets/main/index.cc0e7.js | 1 + ...4dfb-ef89-4f3e-b330-84d64db660ff.65542.png | Bin 0 -> 20794 bytes build/WaterControl/index.html | 33 +- .../{main.456ac.js => main.72cc0.js} | 4 +- .../{settings.2e112.js => settings.55f02.js} | 2 +- .../1b982a20-7926-44fc-80aa-d96fa01d06ae.json | 28 + .../43bfc27a-ff6e-45b3-87c7-504d0f781397.js | 12 +- ...3bfc27a-ff6e-45b3-87c7-504d0f781397.js.map | 2 +- .../454ad829-851a-40ea-8ab9-941e828357ca.js | 12 + ...54ad829-851a-40ea-8ab9-941e828357ca.js.map | 2 +- .../4b9c5a7e-c645-48a4-9aca-5df381ce4ef5.json | 542 +- .../4eaf518b-35ec-4262-928d-4d497c3f2830.json | 2834 ++-- .../805c69df-dfdf-4759-97ae-5a7341f424c7.js | 21 + ...05c69df-dfdf-4759-97ae-5a7341f424c7.js.map | 2 +- .../9c08062d-4cf1-4b6e-a8ba-4a3881cc7e7d.json | 4 +- .../af424dfb-ef89-4f3e-b330-84d64db660ff.json | 4 + .../af424dfb-ef89-4f3e-b330-84d64db660ff.png | Bin 0 -> 20794 bytes .../b0432040-dbde-438c-839c-ba2b5d18a3b5.js | 182 +- ...0432040-dbde-438c-839c-ba2b5d18a3b5.js.map | 2 +- .../c1af99dd-ee03-40f7-9609-d3887d0dd357.js | 1084 ++ ...1af99dd-ee03-40f7-9609-d3887d0dd357.js.map | 1 + .../c5692be7-8703-45e4-9f67-23b54d290356.js | 8 +- ...5692be7-8703-45e4-9f67-23b54d290356.js.map | 2 +- .../c58de376-bb53-4664-bf27-270be7bb53d1.js | 48 +- ...58de376-bb53-4664-bf27-270be7bb53d1.js.map | 2 +- .../c930d64e-2707-474f-b691-6220e2932ddd.json | 398 +- .../e35ab717-e554-40a0-8b4e-ea6805718c97.js | 30 +- ...35ab717-e554-40a0-8b4e-ea6805718c97.js.map | 2 +- library/uuid-to-mtime.json | 1111 +- local/layout.editor.json | 7 +- local/local.json | 8 +- local/node-tree-state.json | 61 +- settings/project.json | 2 +- temp/BackupAssets/assets/Scene/GameScene.fire | 2834 ++-- temp/BackupAssets/assets/Scene/LoadScene.fire | 4 +- temp/BackupAssets/assets/Scene/OverScene.fire | 546 +- temp/BackupAssets/assets/prefab/Block.prefab | 398 +- temp/quick-scripts/dst/__file_stats__.json | 2 +- temp/quick-scripts/dst/__qc_bundle__.js | 11827 +++++++++------- temp/quick-scripts/dst/__qc_index__.js | 1 + temp/quick-scripts/dst/__quick_compile__.js | 2 +- temp/quick-scripts/dst/assets/Script/Block.js | 50 +- .../dst/assets/Script/ControlManager.js | 32 +- .../dst/assets/Script/GameManager.js | 184 +- .../dst/assets/Script/GameOver.js | 23 +- temp/quick-scripts/dst/assets/Script/Load.js | 14 +- .../dst/assets/Script/Sdk/MiniGameSdk.js | 1106 ++ .../assets/Script/module/Config/GameConfig.js | 10 +- .../dst/assets/Script/module/Tool/GameTool.js | 14 +- temp/quick-scripts/src/__qc_index__.js | 1 + temp/quick-scripts/src/assets/Script/Block.js | 48 +- .../src/assets/Script/Block.js.map | 2 +- .../src/assets/Script/ControlManager.js | 30 +- .../src/assets/Script/ControlManager.js.map | 2 +- .../src/assets/Script/GameManager.js | 182 +- .../src/assets/Script/GameManager.js.map | 2 +- .../src/assets/Script/GameOver.js | 21 + .../src/assets/Script/GameOver.js.map | 2 +- temp/quick-scripts/src/assets/Script/Load.js | 12 + .../src/assets/Script/Load.js.map | 2 +- .../src/assets/Script/Sdk/MiniGameSdk.js | 1084 ++ .../src/assets/Script/Sdk/MiniGameSdk.js.map | 1 + .../assets/Script/module/Config/GameConfig.js | 8 +- .../Script/module/Config/GameConfig.js.map | 2 +- .../module/Sdk/DouyinEntranceView.js.map | 1 - .../src/assets/Script/module/Sdk/Main.js.map | 1 - .../Script/module/Sdk/MiniGameSdk.js.map | 1 - .../src/assets/Script/module/Tool/GameTool.js | 12 +- .../assets/Script/module/Tool/GameTool.js.map | 2 +- temp/startup.json | 1 - 资源文件/images2/end_x.png | Bin 37335 -> 4122 bytes 资源文件/images2/end_y.png | Bin 37238 -> 4143 bytes 资源文件/images2/start_x.png | Bin 36660 -> 3626 bytes 资源文件/images2/start_y.png | Bin 36604 -> 3611 bytes .../大禹修水存图7.29/{over.png => 修水失败字.png} | Bin .../{finishi.png => 修水完成字.png} | Bin .../大禹修水存图7.29/{yes.png => 修水成功字.png} | Bin .../{again.png => 再试一次按钮.png} | Bin .../大禹修水存图7.29/大禹治水结算界面字号.jpg | Bin 0 -> 137442 bytes .../大禹修水存图7.29/大禹治水结算界面效果图.jpg | Bin 0 -> 121060 bytes .../{alertBg.png => 弹出底板.png} | Bin .../{totalScore.png => 总的分.png} | Bin .../大禹修水存图7.29/{numberBg.png => 数字底.png} | Bin .../{rank_Btn.png => 查看排行按钮.png} | Bin 111 files changed, 19910 insertions(+), 10350 deletions(-) create mode 100644 assets/Script/Sdk.meta create mode 100644 assets/Script/Sdk/MiniGameSdk.ts create mode 100644 assets/Script/Sdk/MiniGameSdk.ts.meta create mode 100644 assets/res/btn.png create mode 100644 assets/res/btn.png.meta delete mode 100644 build/WaterControl/assets/main/config.a3c5f.json create mode 100644 build/WaterControl/assets/main/config.cc0e7.json rename build/WaterControl/assets/main/import/02/{02989e146.571a0.json => 02989e146.19252.json} (98%) create mode 100644 build/WaterControl/assets/main/import/09/0961e988d.85980.json rename build/WaterControl/assets/main/import/{05/05f26e7ec.fc990.json => 09/09f72cf20.e3c82.json} (84%) create mode 100644 build/WaterControl/assets/main/import/0d/0d9744cd3.310b1.json delete mode 100644 build/WaterControl/assets/main/import/0d/0d9744cd3.fe13e.json delete mode 100644 build/WaterControl/assets/main/import/0f/0f2adc401.653a1.json delete mode 100644 build/WaterControl/assets/main/index.a3c5f.js create mode 100644 build/WaterControl/assets/main/index.cc0e7.js create mode 100644 build/WaterControl/assets/main/native/af/af424dfb-ef89-4f3e-b330-84d64db660ff.65542.png rename build/WaterControl/{main.456ac.js => main.72cc0.js} (98%) rename build/WaterControl/src/{settings.2e112.js => settings.55f02.js} (83%) create mode 100644 library/imports/1b/1b982a20-7926-44fc-80aa-d96fa01d06ae.json create mode 100644 library/imports/af/af424dfb-ef89-4f3e-b330-84d64db660ff.json create mode 100644 library/imports/af/af424dfb-ef89-4f3e-b330-84d64db660ff.png create mode 100644 library/imports/c1/c1af99dd-ee03-40f7-9609-d3887d0dd357.js create mode 100644 library/imports/c1/c1af99dd-ee03-40f7-9609-d3887d0dd357.js.map create mode 100644 temp/quick-scripts/dst/assets/Script/Sdk/MiniGameSdk.js create mode 100644 temp/quick-scripts/src/assets/Script/Sdk/MiniGameSdk.js create mode 100644 temp/quick-scripts/src/assets/Script/Sdk/MiniGameSdk.js.map delete mode 100644 temp/quick-scripts/src/assets/Script/module/Sdk/DouyinEntranceView.js.map delete mode 100644 temp/quick-scripts/src/assets/Script/module/Sdk/Main.js.map delete mode 100644 temp/quick-scripts/src/assets/Script/module/Sdk/MiniGameSdk.js.map delete mode 100644 temp/startup.json rename 资源文件/大禹修水存图7.29/{over.png => 修水失败字.png} (100%) rename 资源文件/大禹修水存图7.29/{finishi.png => 修水完成字.png} (100%) rename 资源文件/大禹修水存图7.29/{yes.png => 修水成功字.png} (100%) rename 资源文件/大禹修水存图7.29/{again.png => 再试一次按钮.png} (100%) create mode 100644 资源文件/大禹修水存图7.29/大禹治水结算界面字号.jpg create mode 100644 资源文件/大禹修水存图7.29/大禹治水结算界面效果图.jpg rename 资源文件/大禹修水存图7.29/{alertBg.png => 弹出底板.png} (100%) rename 资源文件/大禹修水存图7.29/{totalScore.png => 总的分.png} (100%) rename 资源文件/大禹修水存图7.29/{numberBg.png => 数字底.png} (100%) rename 资源文件/大禹修水存图7.29/{rank_Btn.png => 查看排行按钮.png} (100%) diff --git a/assets/Scene/GameScene.fire b/assets/Scene/GameScene.fire index b9e72b6..6d12d1e 100644 --- a/assets/Scene/GameScene.fire +++ b/assets/Scene/GameScene.fire @@ -78,10 +78,10 @@ "_active": true, "_components": [ { - "__id__": 722 + "__id__": 740 }, { - "__id__": 723 + "__id__": 741 } ], "_prefab": null, @@ -263,16 +263,16 @@ "__id__": 108 }, { - "__id__": 707 + "__id__": 725 } ], "_active": true, "_components": [ { - "__id__": 720 + "__id__": 738 }, { - "__id__": 721 + "__id__": 739 } ], "_prefab": null, @@ -1722,36 +1722,24 @@ "_id": "a26Us7Z+BKSbruLISM/Y0C" }, { - "__type__": "cc.Sprite", + "__type__": "cc.Mask", "_name": "", "_objFlags": 0, "node": { "__id__": 34 }, - "_enabled": false, + "_enabled": true, "_materials": [ { "__uuid__": "eca5d2f2-8ef6-41c2-bbe6-f9c79d09c432" } ], - "_srcBlendFactor": 770, - "_dstBlendFactor": 771, - "_spriteFrame": { - "__uuid__": "a23235d1-15db-4b95-8439-a2e005bfff91" - }, + "_spriteFrame": null, "_type": 0, - "_sizeMode": 0, - "_fillType": 0, - "_fillCenter": { - "__type__": "cc.Vec2", - "x": 0, - "y": 0 - }, - "_fillStart": 0, - "_fillRange": 0, - "_isTrimmedMode": true, - "_atlas": null, - "_id": "8fVrlovlxCXqQDxQ+6+8Rz" + "_segments": 64, + "_N$alphaThreshold": 0.1, + "_N$inverted": false, + "_id": "4c5tf4oLBHyK79E0UBN1lY" }, { "__type__": "cc.Node", @@ -5257,46 +5245,46 @@ "__id__": 219 }, { - "__id__": 262 + "__id__": 264 }, { - "__id__": 305 + "__id__": 309 }, { - "__id__": 336 + "__id__": 340 }, { - "__id__": 371 + "__id__": 375 }, { - "__id__": 406 + "__id__": 410 }, { - "__id__": 444 + "__id__": 450 }, { - "__id__": 488 + "__id__": 494 }, { - "__id__": 531 + "__id__": 539 }, { - "__id__": 569 + "__id__": 579 }, { - "__id__": 612 + "__id__": 624 }, { - "__id__": 645 + "__id__": 659 }, { - "__id__": 683 + "__id__": 699 } ], "_active": true, "_components": [ { - "__id__": 706 + "__id__": 724 } ], "_prefab": null, @@ -9811,7 +9799,7 @@ "_active": false, "_components": [ { - "__id__": 261 + "__id__": 263 } ], "_prefab": null, @@ -10925,12 +10913,15 @@ }, { "__id__": 258 + }, + { + "__id__": 260 } ], "_active": true, "_components": [ { - "__id__": 260 + "__id__": 262 } ], "_prefab": null, @@ -11095,15 +11086,15 @@ "_opacity": 255, "_color": { "__type__": "cc.Color", - "r": 0, - "g": 0, - "b": 0, + "r": 74, + "g": 59, + "b": 59, "a": 255 }, "_contentSize": { "__type__": "cc.Size", - "width": 360, - "height": 135.6 + "width": 365.7, + "height": 195.6 }, "_anchorPoint": { "__type__": "cc.Vec2", @@ -11154,8 +11145,8 @@ ], "_srcBlendFactor": 770, "_dstBlendFactor": 771, - "_string": "修建到山峰上会导致\n直接失败,避开它吧", - "_N$string": "修建到山峰上会导致\n直接失败,避开它吧", + "_string": "修建到山峰上会导致\n直接失败, \n避开它吧", + "_N$string": "修建到山峰上会导致\n直接失败, \n避开它吧", "_fontSize": 40, "_lineHeight": 60, "_enableWrapText": true, @@ -11174,6 +11165,103 @@ "_N$cacheMode": 0, "_id": "89QB/v+ftCf4OQYXVxOh1R" }, + { + "__type__": "cc.Node", + "_name": "content", + "_objFlags": 0, + "_parent": { + "__id__": 255 + }, + "_children": [], + "_active": true, + "_components": [ + { + "__id__": 261 + } + ], + "_prefab": null, + "_opacity": 255, + "_color": { + "__type__": "cc.Color", + "r": 211, + "g": 70, + "b": 70, + "a": 255 + }, + "_contentSize": { + "__type__": "cc.Size", + "width": 401.21, + "height": 195.6 + }, + "_anchorPoint": { + "__type__": "cc.Vec2", + "x": 0.5, + "y": 0.5 + }, + "_trs": { + "__type__": "TypedArray", + "ctor": "Float64Array", + "array": [ + 6.279, + 0, + 0, + 0, + 0, + 0, + 1, + 1, + 1, + 1 + ] + }, + "_eulerAngles": { + "__type__": "cc.Vec3", + "x": 0, + "y": 0, + "z": 0 + }, + "_skewX": 0, + "_skewY": 0, + "_is3DNode": false, + "_groupIndex": 0, + "groupIndex": 0, + "_id": "d5X+nqNjJGlYJ/cJt7YUzR" + }, + { + "__type__": "cc.Label", + "_name": "", + "_objFlags": 0, + "node": { + "__id__": 260 + }, + "_enabled": true, + "_materials": [ + { + "__uuid__": "eca5d2f2-8ef6-41c2-bbe6-f9c79d09c432" + } + ], + "_srcBlendFactor": 770, + "_dstBlendFactor": 771, + "_string": "\n 点击“上”\n", + "_N$string": "\n 点击“上”\n", + "_fontSize": 40, + "_lineHeight": 60, + "_enableWrapText": true, + "_N$file": { + "__uuid__": "95d22fe7-7d01-4c03-bd3a-334278db3d92" + }, + "_isSystemFontUsed": false, + "_spacingX": 0, + "_batchAsBitmap": false, + "_styleFlags": 0, + "_underlineHeight": 0, + "_N$horizontalAlign": 1, + "_N$verticalAlign": 1, + "_N$fontFamily": "Arial", + "_N$overflow": 0, + "_N$cacheMode": 0, + "_id": "d2qNx0dchBqYf/R5B7oeOP" + }, { "__type__": "cc.Sprite", "_name": "", @@ -11244,34 +11332,34 @@ }, "_children": [ { - "__id__": 263 + "__id__": 265 }, { - "__id__": 268 + "__id__": 270 }, { - "__id__": 273 + "__id__": 275 }, { - "__id__": 278 + "__id__": 280 }, { - "__id__": 283 + "__id__": 285 }, { - "__id__": 288 + "__id__": 290 }, { - "__id__": 293 + "__id__": 295 }, { - "__id__": 298 + "__id__": 300 } ], "_active": false, "_components": [ { - "__id__": 304 + "__id__": 308 } ], "_prefab": null, @@ -11327,22 +11415,22 @@ "_name": "New Sprite(Splash)", "_objFlags": 0, "_parent": { - "__id__": 262 + "__id__": 264 }, "_children": [], "_active": true, "_components": [ - { - "__id__": 264 - }, - { - "__id__": 265 - }, { "__id__": 266 }, { "__id__": 267 + }, + { + "__id__": 268 + }, + { + "__id__": 269 } ], "_prefab": null, @@ -11398,7 +11486,7 @@ "_name": "", "_objFlags": 0, "node": { - "__id__": 263 + "__id__": 265 }, "_enabled": true, "_materials": [ @@ -11430,7 +11518,7 @@ "_name": "", "_objFlags": 0, "node": { - "__id__": 263 + "__id__": 265 }, "_enabled": true, "alignMode": 1, @@ -11457,7 +11545,7 @@ "_name": "", "_objFlags": 0, "node": { - "__id__": 263 + "__id__": 265 }, "_enabled": true, "_id": "b9RxXVJFpBxakOydFnH8Dy" @@ -11467,7 +11555,7 @@ "_name": "", "_objFlags": 0, "node": { - "__id__": 263 + "__id__": 265 }, "_enabled": true, "_id": "bcDda5dZVHkLLB+fZHGIzK" @@ -11477,22 +11565,22 @@ "_name": "sp", "_objFlags": 0, "_parent": { - "__id__": 262 + "__id__": 264 }, "_children": [], "_active": true, "_components": [ - { - "__id__": 269 - }, - { - "__id__": 270 - }, { "__id__": 271 }, { "__id__": 272 + }, + { + "__id__": 273 + }, + { + "__id__": 274 } ], "_prefab": null, @@ -11548,7 +11636,7 @@ "_name": "", "_objFlags": 0, "node": { - "__id__": 268 + "__id__": 270 }, "_enabled": true, "_materials": [ @@ -11580,7 +11668,7 @@ "_name": "", "_objFlags": 0, "node": { - "__id__": 268 + "__id__": 270 }, "_enabled": true, "alignMode": 1, @@ -11607,7 +11695,7 @@ "_name": "", "_objFlags": 0, "node": { - "__id__": 268 + "__id__": 270 }, "_enabled": true, "_id": "7dHKdC79ZFq4Th3R+0o/UM" @@ -11617,7 +11705,7 @@ "_name": "", "_objFlags": 0, "node": { - "__id__": 268 + "__id__": 270 }, "_enabled": true, "_id": "8dMvWVKu5BQr0gOHNqJ18P" @@ -11627,22 +11715,22 @@ "_name": "New Sprite(Splash)", "_objFlags": 0, "_parent": { - "__id__": 262 + "__id__": 264 }, "_children": [], "_active": true, "_components": [ - { - "__id__": 274 - }, - { - "__id__": 275 - }, { "__id__": 276 }, { "__id__": 277 + }, + { + "__id__": 278 + }, + { + "__id__": 279 } ], "_prefab": null, @@ -11698,7 +11786,7 @@ "_name": "", "_objFlags": 0, "node": { - "__id__": 273 + "__id__": 275 }, "_enabled": true, "_materials": [ @@ -11730,7 +11818,7 @@ "_name": "", "_objFlags": 0, "node": { - "__id__": 273 + "__id__": 275 }, "_enabled": true, "alignMode": 1, @@ -11757,7 +11845,7 @@ "_name": "", "_objFlags": 0, "node": { - "__id__": 273 + "__id__": 275 }, "_enabled": true, "_id": "abbJinTjJJVZLQVvYuzzR9" @@ -11767,7 +11855,7 @@ "_name": "", "_objFlags": 0, "node": { - "__id__": 273 + "__id__": 275 }, "_enabled": true, "_id": "b4EXxKzf5Ego1gKuTQd/4i" @@ -11777,22 +11865,22 @@ "_name": "New Sprite(Splash)", "_objFlags": 0, "_parent": { - "__id__": 262 + "__id__": 264 }, "_children": [], "_active": true, "_components": [ - { - "__id__": 279 - }, - { - "__id__": 280 - }, { "__id__": 281 }, { "__id__": 282 + }, + { + "__id__": 283 + }, + { + "__id__": 284 } ], "_prefab": null, @@ -11848,7 +11936,7 @@ "_name": "", "_objFlags": 0, "node": { - "__id__": 278 + "__id__": 280 }, "_enabled": true, "_materials": [ @@ -11880,7 +11968,7 @@ "_name": "", "_objFlags": 0, "node": { - "__id__": 278 + "__id__": 280 }, "_enabled": true, "alignMode": 1, @@ -11907,7 +11995,7 @@ "_name": "", "_objFlags": 0, "node": { - "__id__": 278 + "__id__": 280 }, "_enabled": true, "_id": "09SzrjPpxPZKhY668E2CYw" @@ -11917,7 +12005,7 @@ "_name": "", "_objFlags": 0, "node": { - "__id__": 278 + "__id__": 280 }, "_enabled": true, "_id": "2d8dgxHkVPNb/RmKvn74wy" @@ -11927,22 +12015,22 @@ "_name": "New Sprite(Splash)", "_objFlags": 0, "_parent": { - "__id__": 262 + "__id__": 264 }, "_children": [], "_active": true, "_components": [ - { - "__id__": 284 - }, - { - "__id__": 285 - }, { "__id__": 286 }, { "__id__": 287 + }, + { + "__id__": 288 + }, + { + "__id__": 289 } ], "_prefab": null, @@ -11998,7 +12086,7 @@ "_name": "", "_objFlags": 0, "node": { - "__id__": 283 + "__id__": 285 }, "_enabled": true, "_materials": [ @@ -12030,7 +12118,7 @@ "_name": "", "_objFlags": 0, "node": { - "__id__": 283 + "__id__": 285 }, "_enabled": true, "alignMode": 1, @@ -12057,7 +12145,7 @@ "_name": "", "_objFlags": 0, "node": { - "__id__": 283 + "__id__": 285 }, "_enabled": true, "_id": "aeZvkkGNxDUaLuZp/Jnkca" @@ -12067,7 +12155,7 @@ "_name": "", "_objFlags": 0, "node": { - "__id__": 283 + "__id__": 285 }, "_enabled": true, "_id": "9e2mMoUrRPgoKfZQGwId+G" @@ -12077,22 +12165,22 @@ "_name": "New Sprite(Splash)", "_objFlags": 0, "_parent": { - "__id__": 262 + "__id__": 264 }, "_children": [], "_active": true, "_components": [ - { - "__id__": 289 - }, - { - "__id__": 290 - }, { "__id__": 291 }, { "__id__": 292 + }, + { + "__id__": 293 + }, + { + "__id__": 294 } ], "_prefab": null, @@ -12148,7 +12236,7 @@ "_name": "", "_objFlags": 0, "node": { - "__id__": 288 + "__id__": 290 }, "_enabled": true, "_materials": [ @@ -12180,7 +12268,7 @@ "_name": "", "_objFlags": 0, "node": { - "__id__": 288 + "__id__": 290 }, "_enabled": true, "alignMode": 1, @@ -12207,7 +12295,7 @@ "_name": "", "_objFlags": 0, "node": { - "__id__": 288 + "__id__": 290 }, "_enabled": true, "_id": "70gRTlBJ5EA7ao4wGBu2IJ" @@ -12217,7 +12305,7 @@ "_name": "", "_objFlags": 0, "node": { - "__id__": 288 + "__id__": 290 }, "_enabled": true, "_id": "d5un3Zvj5DrbZmSckj5oRv" @@ -12227,22 +12315,22 @@ "_name": "New Sprite(Splash)", "_objFlags": 0, "_parent": { - "__id__": 262 + "__id__": 264 }, "_children": [], "_active": true, "_components": [ - { - "__id__": 294 - }, - { - "__id__": 295 - }, { "__id__": 296 }, { "__id__": 297 + }, + { + "__id__": 298 + }, + { + "__id__": 299 } ], "_prefab": null, @@ -12298,7 +12386,7 @@ "_name": "", "_objFlags": 0, "node": { - "__id__": 293 + "__id__": 295 }, "_enabled": true, "_materials": [ @@ -12330,7 +12418,7 @@ "_name": "", "_objFlags": 0, "node": { - "__id__": 293 + "__id__": 295 }, "_enabled": true, "alignMode": 1, @@ -12357,7 +12445,7 @@ "_name": "", "_objFlags": 0, "node": { - "__id__": 293 + "__id__": 295 }, "_enabled": true, "_id": "75qE1p2e9A+rCI9i+2WIgN" @@ -12367,7 +12455,7 @@ "_name": "", "_objFlags": 0, "node": { - "__id__": 293 + "__id__": 295 }, "_enabled": true, "_id": "36W2heWAZIEqCh1YhY0EmM" @@ -12377,20 +12465,23 @@ "_name": "bg", "_objFlags": 0, "_parent": { - "__id__": 262 + "__id__": 264 }, "_children": [ { - "__id__": 299 + "__id__": 301 }, { - "__id__": 301 + "__id__": 303 + }, + { + "__id__": 305 } ], "_active": true, "_components": [ { - "__id__": 303 + "__id__": 307 } ], "_prefab": null, @@ -12404,7 +12495,7 @@ }, "_contentSize": { "__type__": "cc.Size", - "width": 600, + "width": 650, "height": 140 }, "_anchorPoint": { @@ -12446,13 +12537,13 @@ "_name": "point", "_objFlags": 0, "_parent": { - "__id__": 298 + "__id__": 300 }, "_children": [], "_active": true, "_components": [ { - "__id__": 300 + "__id__": 302 } ], "_prefab": null, @@ -12508,7 +12599,7 @@ "_name": "", "_objFlags": 0, "node": { - "__id__": 299 + "__id__": 301 }, "_enabled": true, "_materials": [ @@ -12542,13 +12633,13 @@ "_name": "content", "_objFlags": 0, "_parent": { - "__id__": 298 + "__id__": 300 }, "_children": [], "_active": true, "_components": [ { - "__id__": 302 + "__id__": 304 } ], "_prefab": null, @@ -12562,7 +12653,7 @@ }, "_contentSize": { "__type__": "cc.Size", - "width": 440, + "width": 558.72, "height": 75.6 }, "_anchorPoint": { @@ -12604,7 +12695,7 @@ "_name": "", "_objFlags": 0, "node": { - "__id__": 301 + "__id__": 303 }, "_enabled": true, "_materials": [ @@ -12614,8 +12705,8 @@ ], "_srcBlendFactor": 770, "_dstBlendFactor": 771, - "_string": "再向右避开上面的山峰吧", - "_N$string": "再向右避开上面的山峰吧", + "_string": "再点击\"右\"右避开上面的山峰吧", + "_N$string": "再点击\"右\"右避开上面的山峰吧", "_fontSize": 40, "_lineHeight": 60, "_enableWrapText": true, @@ -12634,12 +12725,109 @@ "_N$cacheMode": 0, "_id": "37veCoxaNONIvVycaopifJ" }, + { + "__type__": "cc.Node", + "_name": "content", + "_objFlags": 0, + "_parent": { + "__id__": 300 + }, + "_children": [], + "_active": true, + "_components": [ + { + "__id__": 306 + } + ], + "_prefab": null, + "_opacity": 255, + "_color": { + "__type__": "cc.Color", + "r": 211, + "g": 70, + "b": 70, + "a": 255 + }, + "_contentSize": { + "__type__": "cc.Size", + "width": 158.72, + "height": 75.6 + }, + "_anchorPoint": { + "__type__": "cc.Vec2", + "x": 0.5, + "y": 0.5 + }, + "_trs": { + "__type__": "TypedArray", + "ctor": "Float64Array", + "array": [ + -159.814, + 0, + 0, + 0, + 0, + 0, + 1, + 1, + 1, + 1 + ] + }, + "_eulerAngles": { + "__type__": "cc.Vec3", + "x": 0, + "y": 0, + "z": 0 + }, + "_skewX": 0, + "_skewY": 0, + "_is3DNode": false, + "_groupIndex": 0, + "groupIndex": 0, + "_id": "1fK2NGXgBNYLJTC37jlSQh" + }, + { + "__type__": "cc.Label", + "_name": "", + "_objFlags": 0, + "node": { + "__id__": 305 + }, + "_enabled": true, + "_materials": [ + { + "__uuid__": "eca5d2f2-8ef6-41c2-bbe6-f9c79d09c432" + } + ], + "_srcBlendFactor": 770, + "_dstBlendFactor": 771, + "_string": "点击\"右\"", + "_N$string": "点击\"右\"", + "_fontSize": 40, + "_lineHeight": 60, + "_enableWrapText": true, + "_N$file": { + "__uuid__": "95d22fe7-7d01-4c03-bd3a-334278db3d92" + }, + "_isSystemFontUsed": false, + "_spacingX": 0, + "_batchAsBitmap": false, + "_styleFlags": 0, + "_underlineHeight": 0, + "_N$horizontalAlign": 1, + "_N$verticalAlign": 1, + "_N$fontFamily": "Arial", + "_N$overflow": 0, + "_N$cacheMode": 0, + "_id": "92YSBWlVRErbuQRne08QQG" + }, { "__type__": "cc.Sprite", "_name": "", "_objFlags": 0, "node": { - "__id__": 298 + "__id__": 300 }, "_enabled": true, "_materials": [ @@ -12673,7 +12861,7 @@ "_name": "", "_objFlags": 0, "node": { - "__id__": 262 + "__id__": 264 }, "_enabled": true, "alignMode": 1, @@ -12703,9 +12891,6 @@ "__id__": 108 }, "_children": [ - { - "__id__": 306 - }, { "__id__": 310 }, @@ -12719,16 +12904,19 @@ "__id__": 322 }, { - "__id__": 328 + "__id__": 326 }, { - "__id__": 333 + "__id__": 332 + }, + { + "__id__": 337 } ], "_active": false, "_components": [ { - "__id__": 335 + "__id__": 339 } ], "_prefab": null, @@ -12784,19 +12972,19 @@ "_name": "New Sprite(Splash)", "_objFlags": 0, "_parent": { - "__id__": 305 + "__id__": 309 }, "_children": [], "_active": true, "_components": [ { - "__id__": 307 + "__id__": 311 }, { - "__id__": 308 + "__id__": 312 }, { - "__id__": 309 + "__id__": 313 } ], "_prefab": null, @@ -12852,7 +13040,7 @@ "_name": "", "_objFlags": 0, "node": { - "__id__": 306 + "__id__": 310 }, "_enabled": true, "_materials": [ @@ -12884,7 +13072,7 @@ "_name": "", "_objFlags": 0, "node": { - "__id__": 306 + "__id__": 310 }, "_enabled": true, "alignMode": 1, @@ -12911,7 +13099,7 @@ "_name": "", "_objFlags": 0, "node": { - "__id__": 306 + "__id__": 310 }, "_enabled": true, "_id": "eayu4/ACRDbKT49vyQeaDz" @@ -12921,19 +13109,19 @@ "_name": "New Sprite(Splash)", "_objFlags": 0, "_parent": { - "__id__": 305 + "__id__": 309 }, "_children": [], "_active": true, "_components": [ { - "__id__": 311 + "__id__": 315 }, { - "__id__": 312 + "__id__": 316 }, { - "__id__": 313 + "__id__": 317 } ], "_prefab": null, @@ -12989,7 +13177,7 @@ "_name": "", "_objFlags": 0, "node": { - "__id__": 310 + "__id__": 314 }, "_enabled": true, "_materials": [ @@ -13021,7 +13209,7 @@ "_name": "", "_objFlags": 0, "node": { - "__id__": 310 + "__id__": 314 }, "_enabled": true, "alignMode": 1, @@ -13048,7 +13236,7 @@ "_name": "", "_objFlags": 0, "node": { - "__id__": 310 + "__id__": 314 }, "_enabled": true, "_id": "837p4WiLBNmL15iIkDXaDK" @@ -13058,19 +13246,19 @@ "_name": "New Sprite(Splash)", "_objFlags": 0, "_parent": { - "__id__": 305 + "__id__": 309 }, "_children": [], "_active": true, "_components": [ { - "__id__": 315 + "__id__": 319 }, { - "__id__": 316 + "__id__": 320 }, { - "__id__": 317 + "__id__": 321 } ], "_prefab": null, @@ -13126,7 +13314,7 @@ "_name": "", "_objFlags": 0, "node": { - "__id__": 314 + "__id__": 318 }, "_enabled": true, "_materials": [ @@ -13158,7 +13346,7 @@ "_name": "", "_objFlags": 0, "node": { - "__id__": 314 + "__id__": 318 }, "_enabled": true, "alignMode": 1, @@ -13185,7 +13373,7 @@ "_name": "", "_objFlags": 0, "node": { - "__id__": 314 + "__id__": 318 }, "_enabled": true, "_id": "59/zvXuH9P9LmB4FVIpoNa" @@ -13195,19 +13383,19 @@ "_name": "sp", "_objFlags": 0, "_parent": { - "__id__": 305 + "__id__": 309 }, "_children": [], "_active": false, "_components": [ { - "__id__": 319 + "__id__": 323 }, { - "__id__": 320 + "__id__": 324 }, { - "__id__": 321 + "__id__": 325 } ], "_prefab": null, @@ -13263,7 +13451,7 @@ "_name": "", "_objFlags": 0, "node": { - "__id__": 318 + "__id__": 322 }, "_enabled": true, "_materials": [ @@ -13295,7 +13483,7 @@ "_name": "", "_objFlags": 0, "node": { - "__id__": 318 + "__id__": 322 }, "_enabled": true, "alignMode": 1, @@ -13322,7 +13510,7 @@ "_name": "", "_objFlags": 0, "node": { - "__id__": 318 + "__id__": 322 }, "_enabled": true, "_id": "40nuHoVXtN+qC2my/f1te/" @@ -13332,20 +13520,20 @@ "_name": "bg", "_objFlags": 0, "_parent": { - "__id__": 305 + "__id__": 309 }, "_children": [ { - "__id__": 323 + "__id__": 327 }, { - "__id__": 325 + "__id__": 329 } ], "_active": true, "_components": [ { - "__id__": 327 + "__id__": 331 } ], "_prefab": null, @@ -13401,13 +13589,13 @@ "_name": "point", "_objFlags": 0, "_parent": { - "__id__": 322 + "__id__": 326 }, "_children": [], "_active": true, "_components": [ { - "__id__": 324 + "__id__": 328 } ], "_prefab": null, @@ -13463,7 +13651,7 @@ "_name": "", "_objFlags": 0, "node": { - "__id__": 323 + "__id__": 327 }, "_enabled": true, "_materials": [ @@ -13497,13 +13685,13 @@ "_name": "content", "_objFlags": 0, "_parent": { - "__id__": 322 + "__id__": 326 }, "_children": [], "_active": true, "_components": [ { - "__id__": 326 + "__id__": 330 } ], "_prefab": null, @@ -13559,7 +13747,7 @@ "_name": "", "_objFlags": 0, "node": { - "__id__": 325 + "__id__": 329 }, "_enabled": true, "_materials": [ @@ -13594,7 +13782,7 @@ "_name": "", "_objFlags": 0, "node": { - "__id__": 322 + "__id__": 326 }, "_enabled": true, "_materials": [ @@ -13628,22 +13816,22 @@ "_name": "touch", "_objFlags": 0, "_parent": { - "__id__": 305 + "__id__": 309 }, "_children": [], "_active": true, "_components": [ { - "__id__": 329 + "__id__": 333 }, { - "__id__": 330 + "__id__": 334 }, { - "__id__": 331 + "__id__": 335 }, { - "__id__": 332 + "__id__": 336 } ], "_prefab": null, @@ -13699,7 +13887,7 @@ "_name": "", "_objFlags": 0, "node": { - "__id__": 328 + "__id__": 332 }, "_enabled": true, "_materials": [ @@ -13731,7 +13919,7 @@ "_name": "", "_objFlags": 0, "node": { - "__id__": 328 + "__id__": 332 }, "_enabled": true, "alignMode": 1, @@ -13758,7 +13946,7 @@ "_name": "", "_objFlags": 0, "node": { - "__id__": 328 + "__id__": 332 }, "_enabled": true, "_id": "317U/f8zdKKaTJIeRIqYGi" @@ -13768,7 +13956,7 @@ "_name": "", "_objFlags": 0, "node": { - "__id__": 328 + "__id__": 332 }, "_enabled": true, "_id": "d12ZCnvhNCB6dxS4wGoDR8" @@ -13778,13 +13966,13 @@ "_name": "ping", "_objFlags": 0, "_parent": { - "__id__": 305 + "__id__": 309 }, "_children": [], "_active": true, "_components": [ { - "__id__": 334 + "__id__": 338 } ], "_prefab": null, @@ -13840,7 +14028,7 @@ "_name": "", "_objFlags": 0, "node": { - "__id__": 333 + "__id__": 337 }, "_enabled": true, "_materials": [ @@ -13873,7 +14061,7 @@ "_name": "", "_objFlags": 0, "node": { - "__id__": 305 + "__id__": 309 }, "_enabled": true, "alignMode": 1, @@ -13903,9 +14091,6 @@ "__id__": 108 }, "_children": [ - { - "__id__": 337 - }, { "__id__": 341 }, @@ -13922,16 +14107,19 @@ "__id__": 357 }, { - "__id__": 363 + "__id__": 361 }, { - "__id__": 368 + "__id__": 367 + }, + { + "__id__": 372 } ], "_active": false, "_components": [ { - "__id__": 370 + "__id__": 374 } ], "_prefab": null, @@ -13987,19 +14175,19 @@ "_name": "New Sprite(Splash)", "_objFlags": 0, "_parent": { - "__id__": 336 + "__id__": 340 }, "_children": [], "_active": true, "_components": [ { - "__id__": 338 + "__id__": 342 }, { - "__id__": 339 + "__id__": 343 }, { - "__id__": 340 + "__id__": 344 } ], "_prefab": null, @@ -14055,7 +14243,7 @@ "_name": "", "_objFlags": 0, "node": { - "__id__": 337 + "__id__": 341 }, "_enabled": true, "_materials": [ @@ -14087,7 +14275,7 @@ "_name": "", "_objFlags": 0, "node": { - "__id__": 337 + "__id__": 341 }, "_enabled": true, "alignMode": 1, @@ -14114,7 +14302,7 @@ "_name": "", "_objFlags": 0, "node": { - "__id__": 337 + "__id__": 341 }, "_enabled": true, "_id": "ecpyNgmWdF6bWMCgdXmSQN" @@ -14124,19 +14312,19 @@ "_name": "New Sprite(Splash)", "_objFlags": 0, "_parent": { - "__id__": 336 + "__id__": 340 }, "_children": [], "_active": true, "_components": [ { - "__id__": 342 + "__id__": 346 }, { - "__id__": 343 + "__id__": 347 }, { - "__id__": 344 + "__id__": 348 } ], "_prefab": null, @@ -14192,7 +14380,7 @@ "_name": "", "_objFlags": 0, "node": { - "__id__": 341 + "__id__": 345 }, "_enabled": true, "_materials": [ @@ -14224,7 +14412,7 @@ "_name": "", "_objFlags": 0, "node": { - "__id__": 341 + "__id__": 345 }, "_enabled": true, "alignMode": 1, @@ -14251,7 +14439,7 @@ "_name": "", "_objFlags": 0, "node": { - "__id__": 341 + "__id__": 345 }, "_enabled": true, "_id": "97fx9phgZE66G82xHjLTUu" @@ -14261,19 +14449,19 @@ "_name": "New Sprite(Splash)", "_objFlags": 0, "_parent": { - "__id__": 336 + "__id__": 340 }, "_children": [], "_active": true, "_components": [ { - "__id__": 346 + "__id__": 350 }, { - "__id__": 347 + "__id__": 351 }, { - "__id__": 348 + "__id__": 352 } ], "_prefab": null, @@ -14329,7 +14517,7 @@ "_name": "", "_objFlags": 0, "node": { - "__id__": 345 + "__id__": 349 }, "_enabled": true, "_materials": [ @@ -14361,7 +14549,7 @@ "_name": "", "_objFlags": 0, "node": { - "__id__": 345 + "__id__": 349 }, "_enabled": true, "alignMode": 1, @@ -14388,7 +14576,7 @@ "_name": "", "_objFlags": 0, "node": { - "__id__": 345 + "__id__": 349 }, "_enabled": true, "_id": "c4bX0LpBVPmaXqqCWUV/p/" @@ -14398,19 +14586,19 @@ "_name": "New Sprite(Splash)", "_objFlags": 0, "_parent": { - "__id__": 336 + "__id__": 340 }, "_children": [], "_active": true, "_components": [ { - "__id__": 350 + "__id__": 354 }, { - "__id__": 351 + "__id__": 355 }, { - "__id__": 352 + "__id__": 356 } ], "_prefab": null, @@ -14466,7 +14654,7 @@ "_name": "", "_objFlags": 0, "node": { - "__id__": 349 + "__id__": 353 }, "_enabled": true, "_materials": [ @@ -14498,7 +14686,7 @@ "_name": "", "_objFlags": 0, "node": { - "__id__": 349 + "__id__": 353 }, "_enabled": true, "alignMode": 1, @@ -14525,7 +14713,7 @@ "_name": "", "_objFlags": 0, "node": { - "__id__": 349 + "__id__": 353 }, "_enabled": true, "_id": "60c7T4aNdE84pqG3H06Mk4" @@ -14535,19 +14723,19 @@ "_name": "sp", "_objFlags": 0, "_parent": { - "__id__": 336 + "__id__": 340 }, "_children": [], "_active": false, "_components": [ { - "__id__": 354 + "__id__": 358 }, { - "__id__": 355 + "__id__": 359 }, { - "__id__": 356 + "__id__": 360 } ], "_prefab": null, @@ -14603,7 +14791,7 @@ "_name": "", "_objFlags": 0, "node": { - "__id__": 353 + "__id__": 357 }, "_enabled": true, "_materials": [ @@ -14635,7 +14823,7 @@ "_name": "", "_objFlags": 0, "node": { - "__id__": 353 + "__id__": 357 }, "_enabled": true, "alignMode": 1, @@ -14662,7 +14850,7 @@ "_name": "", "_objFlags": 0, "node": { - "__id__": 353 + "__id__": 357 }, "_enabled": true, "_id": "0fpqw4FsNCYZviY3yc3w0D" @@ -14672,20 +14860,20 @@ "_name": "bg", "_objFlags": 0, "_parent": { - "__id__": 336 + "__id__": 340 }, "_children": [ { - "__id__": 358 + "__id__": 362 }, { - "__id__": 360 + "__id__": 364 } ], "_active": true, "_components": [ { - "__id__": 362 + "__id__": 366 } ], "_prefab": null, @@ -14741,13 +14929,13 @@ "_name": "point", "_objFlags": 0, "_parent": { - "__id__": 357 + "__id__": 361 }, "_children": [], "_active": true, "_components": [ { - "__id__": 359 + "__id__": 363 } ], "_prefab": null, @@ -14803,7 +14991,7 @@ "_name": "", "_objFlags": 0, "node": { - "__id__": 358 + "__id__": 362 }, "_enabled": true, "_materials": [ @@ -14837,13 +15025,13 @@ "_name": "content", "_objFlags": 0, "_parent": { - "__id__": 357 + "__id__": 361 }, "_children": [], "_active": true, "_components": [ { - "__id__": 361 + "__id__": 365 } ], "_prefab": null, @@ -14899,7 +15087,7 @@ "_name": "", "_objFlags": 0, "node": { - "__id__": 360 + "__id__": 364 }, "_enabled": true, "_materials": [ @@ -14934,7 +15122,7 @@ "_name": "", "_objFlags": 0, "node": { - "__id__": 357 + "__id__": 361 }, "_enabled": true, "_materials": [ @@ -14968,22 +15156,22 @@ "_name": "touch", "_objFlags": 0, "_parent": { - "__id__": 336 + "__id__": 340 }, "_children": [], "_active": true, "_components": [ { - "__id__": 364 + "__id__": 368 }, { - "__id__": 365 + "__id__": 369 }, { - "__id__": 366 + "__id__": 370 }, { - "__id__": 367 + "__id__": 371 } ], "_prefab": null, @@ -15039,7 +15227,7 @@ "_name": "", "_objFlags": 0, "node": { - "__id__": 363 + "__id__": 367 }, "_enabled": true, "_materials": [ @@ -15071,7 +15259,7 @@ "_name": "", "_objFlags": 0, "node": { - "__id__": 363 + "__id__": 367 }, "_enabled": true, "alignMode": 1, @@ -15098,7 +15286,7 @@ "_name": "", "_objFlags": 0, "node": { - "__id__": 363 + "__id__": 367 }, "_enabled": true, "_id": "52h326OGZAi7S5icB0aX/M" @@ -15108,7 +15296,7 @@ "_name": "", "_objFlags": 0, "node": { - "__id__": 363 + "__id__": 367 }, "_enabled": true, "_id": "7dSRH3LStDQJoPi4k8gJME" @@ -15118,13 +15306,13 @@ "_name": "ping", "_objFlags": 0, "_parent": { - "__id__": 336 + "__id__": 340 }, "_children": [], "_active": true, "_components": [ { - "__id__": 369 + "__id__": 373 } ], "_prefab": null, @@ -15180,7 +15368,7 @@ "_name": "", "_objFlags": 0, "node": { - "__id__": 368 + "__id__": 372 }, "_enabled": true, "_materials": [ @@ -15213,7 +15401,7 @@ "_name": "", "_objFlags": 0, "node": { - "__id__": 336 + "__id__": 340 }, "_enabled": true, "alignMode": 1, @@ -15243,9 +15431,6 @@ "__id__": 108 }, "_children": [ - { - "__id__": 372 - }, { "__id__": 376 }, @@ -15262,16 +15447,19 @@ "__id__": 392 }, { - "__id__": 398 + "__id__": 396 }, { - "__id__": 403 + "__id__": 402 + }, + { + "__id__": 407 } ], "_active": false, "_components": [ { - "__id__": 405 + "__id__": 409 } ], "_prefab": null, @@ -15327,19 +15515,19 @@ "_name": "New Sprite(Splash)", "_objFlags": 0, "_parent": { - "__id__": 371 + "__id__": 375 }, "_children": [], "_active": true, "_components": [ { - "__id__": 373 + "__id__": 377 }, { - "__id__": 374 + "__id__": 378 }, { - "__id__": 375 + "__id__": 379 } ], "_prefab": null, @@ -15395,7 +15583,7 @@ "_name": "", "_objFlags": 0, "node": { - "__id__": 372 + "__id__": 376 }, "_enabled": true, "_materials": [ @@ -15427,7 +15615,7 @@ "_name": "", "_objFlags": 0, "node": { - "__id__": 372 + "__id__": 376 }, "_enabled": true, "alignMode": 1, @@ -15454,7 +15642,7 @@ "_name": "", "_objFlags": 0, "node": { - "__id__": 372 + "__id__": 376 }, "_enabled": true, "_id": "f7sX0LeshL06UwMQcC6jIZ" @@ -15464,19 +15652,19 @@ "_name": "sp", "_objFlags": 0, "_parent": { - "__id__": 371 + "__id__": 375 }, "_children": [], "_active": true, "_components": [ { - "__id__": 377 + "__id__": 381 }, { - "__id__": 378 + "__id__": 382 }, { - "__id__": 379 + "__id__": 383 } ], "_prefab": null, @@ -15532,7 +15720,7 @@ "_name": "", "_objFlags": 0, "node": { - "__id__": 376 + "__id__": 380 }, "_enabled": true, "_materials": [ @@ -15564,7 +15752,7 @@ "_name": "", "_objFlags": 0, "node": { - "__id__": 376 + "__id__": 380 }, "_enabled": true, "alignMode": 1, @@ -15591,7 +15779,7 @@ "_name": "", "_objFlags": 0, "node": { - "__id__": 376 + "__id__": 380 }, "_enabled": true, "_id": "09kZXTjqVGhpkH3hDP682H" @@ -15601,19 +15789,19 @@ "_name": "New Sprite(Splash)", "_objFlags": 0, "_parent": { - "__id__": 371 + "__id__": 375 }, "_children": [], "_active": true, "_components": [ { - "__id__": 381 + "__id__": 385 }, { - "__id__": 382 + "__id__": 386 }, { - "__id__": 383 + "__id__": 387 } ], "_prefab": null, @@ -15669,7 +15857,7 @@ "_name": "", "_objFlags": 0, "node": { - "__id__": 380 + "__id__": 384 }, "_enabled": true, "_materials": [ @@ -15701,7 +15889,7 @@ "_name": "", "_objFlags": 0, "node": { - "__id__": 380 + "__id__": 384 }, "_enabled": true, "alignMode": 1, @@ -15728,7 +15916,7 @@ "_name": "", "_objFlags": 0, "node": { - "__id__": 380 + "__id__": 384 }, "_enabled": true, "_id": "afTJCW5CVBdaE9IQ0wfE7P" @@ -15738,19 +15926,19 @@ "_name": "New Sprite(Splash)", "_objFlags": 0, "_parent": { - "__id__": 371 + "__id__": 375 }, "_children": [], "_active": true, "_components": [ { - "__id__": 385 + "__id__": 389 }, { - "__id__": 386 + "__id__": 390 }, { - "__id__": 387 + "__id__": 391 } ], "_prefab": null, @@ -15806,7 +15994,7 @@ "_name": "", "_objFlags": 0, "node": { - "__id__": 384 + "__id__": 388 }, "_enabled": true, "_materials": [ @@ -15838,7 +16026,7 @@ "_name": "", "_objFlags": 0, "node": { - "__id__": 384 + "__id__": 388 }, "_enabled": true, "alignMode": 1, @@ -15865,7 +16053,7 @@ "_name": "", "_objFlags": 0, "node": { - "__id__": 384 + "__id__": 388 }, "_enabled": true, "_id": "3fG4nGHI1PuIHfnnO1f0Md" @@ -15875,19 +16063,19 @@ "_name": "New Sprite(Splash)", "_objFlags": 0, "_parent": { - "__id__": 371 + "__id__": 375 }, "_children": [], "_active": true, "_components": [ { - "__id__": 389 + "__id__": 393 }, { - "__id__": 390 + "__id__": 394 }, { - "__id__": 391 + "__id__": 395 } ], "_prefab": null, @@ -15943,7 +16131,7 @@ "_name": "", "_objFlags": 0, "node": { - "__id__": 388 + "__id__": 392 }, "_enabled": true, "_materials": [ @@ -15975,7 +16163,7 @@ "_name": "", "_objFlags": 0, "node": { - "__id__": 388 + "__id__": 392 }, "_enabled": true, "alignMode": 1, @@ -16002,7 +16190,7 @@ "_name": "", "_objFlags": 0, "node": { - "__id__": 388 + "__id__": 392 }, "_enabled": true, "_id": "12KHfvUXhF3JB3TYr4uz+o" @@ -16012,20 +16200,20 @@ "_name": "bg", "_objFlags": 0, "_parent": { - "__id__": 371 + "__id__": 375 }, "_children": [ { - "__id__": 393 + "__id__": 397 }, { - "__id__": 395 + "__id__": 399 } ], "_active": true, "_components": [ { - "__id__": 397 + "__id__": 401 } ], "_prefab": null, @@ -16081,13 +16269,13 @@ "_name": "point", "_objFlags": 0, "_parent": { - "__id__": 392 + "__id__": 396 }, "_children": [], "_active": true, "_components": [ { - "__id__": 394 + "__id__": 398 } ], "_prefab": null, @@ -16143,7 +16331,7 @@ "_name": "", "_objFlags": 0, "node": { - "__id__": 393 + "__id__": 397 }, "_enabled": true, "_materials": [ @@ -16177,13 +16365,13 @@ "_name": "content", "_objFlags": 0, "_parent": { - "__id__": 392 + "__id__": 396 }, "_children": [], "_active": true, "_components": [ { - "__id__": 396 + "__id__": 400 } ], "_prefab": null, @@ -16239,7 +16427,7 @@ "_name": "", "_objFlags": 0, "node": { - "__id__": 395 + "__id__": 399 }, "_enabled": true, "_materials": [ @@ -16274,7 +16462,7 @@ "_name": "", "_objFlags": 0, "node": { - "__id__": 392 + "__id__": 396 }, "_enabled": true, "_materials": [ @@ -16308,22 +16496,22 @@ "_name": "touch", "_objFlags": 0, "_parent": { - "__id__": 371 + "__id__": 375 }, "_children": [], "_active": true, "_components": [ { - "__id__": 399 + "__id__": 403 }, { - "__id__": 400 + "__id__": 404 }, { - "__id__": 401 + "__id__": 405 }, { - "__id__": 402 + "__id__": 406 } ], "_prefab": null, @@ -16379,7 +16567,7 @@ "_name": "", "_objFlags": 0, "node": { - "__id__": 398 + "__id__": 402 }, "_enabled": true, "_materials": [ @@ -16411,7 +16599,7 @@ "_name": "", "_objFlags": 0, "node": { - "__id__": 398 + "__id__": 402 }, "_enabled": true, "alignMode": 1, @@ -16438,7 +16626,7 @@ "_name": "", "_objFlags": 0, "node": { - "__id__": 398 + "__id__": 402 }, "_enabled": true, "_id": "88DqUMk5FAJaZmYIPXPe5o" @@ -16448,7 +16636,7 @@ "_name": "", "_objFlags": 0, "node": { - "__id__": 398 + "__id__": 402 }, "_enabled": true, "_id": "92AEzMpMBBArQtZIC5Ex0n" @@ -16458,13 +16646,13 @@ "_name": "ping", "_objFlags": 0, "_parent": { - "__id__": 371 + "__id__": 375 }, "_children": [], "_active": true, "_components": [ { - "__id__": 404 + "__id__": 408 } ], "_prefab": null, @@ -16520,7 +16708,7 @@ "_name": "", "_objFlags": 0, "node": { - "__id__": 403 + "__id__": 407 }, "_enabled": true, "_materials": [ @@ -16553,7 +16741,7 @@ "_name": "", "_objFlags": 0, "node": { - "__id__": 371 + "__id__": 375 }, "_enabled": true, "alignMode": 1, @@ -16584,31 +16772,31 @@ }, "_children": [ { - "__id__": 407 + "__id__": 411 }, { - "__id__": 412 + "__id__": 416 }, { - "__id__": 417 + "__id__": 421 }, { - "__id__": 422 + "__id__": 426 }, { - "__id__": 427 + "__id__": 431 }, { - "__id__": 432 + "__id__": 436 }, { - "__id__": 437 + "__id__": 441 } ], "_active": false, "_components": [ { - "__id__": 443 + "__id__": 449 } ], "_prefab": null, @@ -16664,22 +16852,22 @@ "_name": "New Sprite(Splash)", "_objFlags": 0, "_parent": { - "__id__": 406 + "__id__": 410 }, "_children": [], "_active": true, "_components": [ { - "__id__": 408 + "__id__": 412 }, { - "__id__": 409 + "__id__": 413 }, { - "__id__": 410 + "__id__": 414 }, { - "__id__": 411 + "__id__": 415 } ], "_prefab": null, @@ -16735,7 +16923,7 @@ "_name": "", "_objFlags": 0, "node": { - "__id__": 407 + "__id__": 411 }, "_enabled": true, "_materials": [ @@ -16767,7 +16955,7 @@ "_name": "", "_objFlags": 0, "node": { - "__id__": 407 + "__id__": 411 }, "_enabled": true, "alignMode": 1, @@ -16794,7 +16982,7 @@ "_name": "", "_objFlags": 0, "node": { - "__id__": 407 + "__id__": 411 }, "_enabled": true, "_id": "a2G13wYuJPG6b7i5YSVnQb" @@ -16804,7 +16992,7 @@ "_name": "", "_objFlags": 0, "node": { - "__id__": 407 + "__id__": 411 }, "_enabled": true, "_id": "e4GtSC6p9NbJTvHcX0Jpzj" @@ -16814,22 +17002,22 @@ "_name": "sp", "_objFlags": 0, "_parent": { - "__id__": 406 + "__id__": 410 }, "_children": [], "_active": true, "_components": [ { - "__id__": 413 + "__id__": 417 }, { - "__id__": 414 + "__id__": 418 }, { - "__id__": 415 + "__id__": 419 }, { - "__id__": 416 + "__id__": 420 } ], "_prefab": null, @@ -16885,7 +17073,7 @@ "_name": "", "_objFlags": 0, "node": { - "__id__": 412 + "__id__": 416 }, "_enabled": true, "_materials": [ @@ -16917,7 +17105,7 @@ "_name": "", "_objFlags": 0, "node": { - "__id__": 412 + "__id__": 416 }, "_enabled": true, "alignMode": 1, @@ -16944,7 +17132,7 @@ "_name": "", "_objFlags": 0, "node": { - "__id__": 412 + "__id__": 416 }, "_enabled": true, "_id": "a6ipuGTvpHZLeivSBQx5DL" @@ -16954,7 +17142,7 @@ "_name": "", "_objFlags": 0, "node": { - "__id__": 412 + "__id__": 416 }, "_enabled": true, "_id": "cebdbSENhPWLDIaYYrgL2K" @@ -16964,22 +17152,22 @@ "_name": "New Sprite(Splash)", "_objFlags": 0, "_parent": { - "__id__": 406 + "__id__": 410 }, "_children": [], "_active": true, "_components": [ { - "__id__": 418 + "__id__": 422 }, { - "__id__": 419 + "__id__": 423 }, { - "__id__": 420 + "__id__": 424 }, { - "__id__": 421 + "__id__": 425 } ], "_prefab": null, @@ -17035,7 +17223,7 @@ "_name": "", "_objFlags": 0, "node": { - "__id__": 417 + "__id__": 421 }, "_enabled": true, "_materials": [ @@ -17067,7 +17255,7 @@ "_name": "", "_objFlags": 0, "node": { - "__id__": 417 + "__id__": 421 }, "_enabled": true, "alignMode": 1, @@ -17094,7 +17282,7 @@ "_name": "", "_objFlags": 0, "node": { - "__id__": 417 + "__id__": 421 }, "_enabled": true, "_id": "e1vmygND1GcKVGst7I5Jml" @@ -17104,7 +17292,7 @@ "_name": "", "_objFlags": 0, "node": { - "__id__": 417 + "__id__": 421 }, "_enabled": true, "_id": "aeKVmQHZ9PoL033+pjkoHd" @@ -17114,22 +17302,22 @@ "_name": "New Sprite(Splash)", "_objFlags": 0, "_parent": { - "__id__": 406 + "__id__": 410 }, "_children": [], "_active": true, "_components": [ { - "__id__": 423 + "__id__": 427 }, { - "__id__": 424 + "__id__": 428 }, { - "__id__": 425 + "__id__": 429 }, { - "__id__": 426 + "__id__": 430 } ], "_prefab": null, @@ -17185,7 +17373,7 @@ "_name": "", "_objFlags": 0, "node": { - "__id__": 422 + "__id__": 426 }, "_enabled": true, "_materials": [ @@ -17217,7 +17405,7 @@ "_name": "", "_objFlags": 0, "node": { - "__id__": 422 + "__id__": 426 }, "_enabled": true, "alignMode": 1, @@ -17244,7 +17432,7 @@ "_name": "", "_objFlags": 0, "node": { - "__id__": 422 + "__id__": 426 }, "_enabled": true, "_id": "a45/qG1hhEWYwiSGcZn+c8" @@ -17254,7 +17442,7 @@ "_name": "", "_objFlags": 0, "node": { - "__id__": 422 + "__id__": 426 }, "_enabled": true, "_id": "6eIDFiYxZHebk47oDEARdC" @@ -17264,22 +17452,22 @@ "_name": "New Sprite(Splash)", "_objFlags": 0, "_parent": { - "__id__": 406 + "__id__": 410 }, "_children": [], "_active": true, "_components": [ { - "__id__": 428 + "__id__": 432 }, { - "__id__": 429 + "__id__": 433 }, { - "__id__": 430 + "__id__": 434 }, { - "__id__": 431 + "__id__": 435 } ], "_prefab": null, @@ -17335,7 +17523,7 @@ "_name": "", "_objFlags": 0, "node": { - "__id__": 427 + "__id__": 431 }, "_enabled": true, "_materials": [ @@ -17367,7 +17555,7 @@ "_name": "", "_objFlags": 0, "node": { - "__id__": 427 + "__id__": 431 }, "_enabled": true, "alignMode": 1, @@ -17394,7 +17582,7 @@ "_name": "", "_objFlags": 0, "node": { - "__id__": 427 + "__id__": 431 }, "_enabled": true, "_id": "9fF8I9uPhPC6HBLebokpbb" @@ -17404,7 +17592,7 @@ "_name": "", "_objFlags": 0, "node": { - "__id__": 427 + "__id__": 431 }, "_enabled": true, "_id": "fdvQLyvUFByK48Pbyt4gCE" @@ -17414,22 +17602,22 @@ "_name": "New Sprite(Splash)", "_objFlags": 0, "_parent": { - "__id__": 406 + "__id__": 410 }, "_children": [], "_active": true, "_components": [ { - "__id__": 433 + "__id__": 437 }, { - "__id__": 434 + "__id__": 438 }, { - "__id__": 435 + "__id__": 439 }, { - "__id__": 436 + "__id__": 440 } ], "_prefab": null, @@ -17485,7 +17673,7 @@ "_name": "", "_objFlags": 0, "node": { - "__id__": 432 + "__id__": 436 }, "_enabled": true, "_materials": [ @@ -17517,7 +17705,7 @@ "_name": "", "_objFlags": 0, "node": { - "__id__": 432 + "__id__": 436 }, "_enabled": true, "alignMode": 1, @@ -17544,7 +17732,7 @@ "_name": "", "_objFlags": 0, "node": { - "__id__": 432 + "__id__": 436 }, "_enabled": true, "_id": "e1ajVS5slK2IrOvdOHKPrT" @@ -17554,7 +17742,7 @@ "_name": "", "_objFlags": 0, "node": { - "__id__": 432 + "__id__": 436 }, "_enabled": true, "_id": "7bRpGIbBZC5L4PB1cCEAjt" @@ -17564,20 +17752,23 @@ "_name": "bg", "_objFlags": 0, "_parent": { - "__id__": 406 + "__id__": 410 }, "_children": [ { - "__id__": 438 + "__id__": 442 }, { - "__id__": 440 + "__id__": 444 + }, + { + "__id__": 446 } ], "_active": true, "_components": [ { - "__id__": 442 + "__id__": 448 } ], "_prefab": null, @@ -17591,7 +17782,7 @@ }, "_contentSize": { "__type__": "cc.Size", - "width": 450, + "width": 500, "height": 140 }, "_anchorPoint": { @@ -17633,13 +17824,13 @@ "_name": "point", "_objFlags": 0, "_parent": { - "__id__": 437 + "__id__": 441 }, "_children": [], "_active": true, "_components": [ { - "__id__": 439 + "__id__": 443 } ], "_prefab": null, @@ -17695,7 +17886,7 @@ "_name": "", "_objFlags": 0, "node": { - "__id__": 438 + "__id__": 442 }, "_enabled": true, "_materials": [ @@ -17729,13 +17920,13 @@ "_name": "content", "_objFlags": 0, "_parent": { - "__id__": 437 + "__id__": 441 }, "_children": [], "_active": true, "_components": [ { - "__id__": 441 + "__id__": 445 } ], "_prefab": null, @@ -17749,7 +17940,7 @@ }, "_contentSize": { "__type__": "cc.Size", - "width": 320, + "width": 400, "height": 75.6 }, "_anchorPoint": { @@ -17791,7 +17982,7 @@ "_name": "", "_objFlags": 0, "node": { - "__id__": 440 + "__id__": 444 }, "_enabled": true, "_materials": [ @@ -17801,8 +17992,8 @@ ], "_srcBlendFactor": 770, "_dstBlendFactor": 771, - "_string": "点击这里进行加固", - "_N$string": "点击这里进行加固", + "_string": "点击“加固”进行加固", + "_N$string": "点击“加固”进行加固", "_fontSize": 40, "_lineHeight": 60, "_enableWrapText": true, @@ -17821,12 +18012,109 @@ "_N$cacheMode": 0, "_id": "8f7yZS/LFCuLwlfg1stKbt" }, + { + "__type__": "cc.Node", + "_name": "content", + "_objFlags": 0, + "_parent": { + "__id__": 441 + }, + "_children": [], + "_active": true, + "_components": [ + { + "__id__": 447 + } + ], + "_prefab": null, + "_opacity": 255, + "_color": { + "__type__": "cc.Color", + "r": 211, + "g": 70, + "b": 70, + "a": 255 + }, + "_contentSize": { + "__type__": "cc.Size", + "width": 240, + "height": 75.6 + }, + "_anchorPoint": { + "__type__": "cc.Vec2", + "x": 0.5, + "y": 0.5 + }, + "_trs": { + "__type__": "TypedArray", + "ctor": "Float64Array", + "array": [ + -79.936, + 0, + 0, + 0, + 0, + 0, + 1, + 1, + 1, + 1 + ] + }, + "_eulerAngles": { + "__type__": "cc.Vec3", + "x": 0, + "y": 0, + "z": 0 + }, + "_skewX": 0, + "_skewY": 0, + "_is3DNode": false, + "_groupIndex": 0, + "groupIndex": 0, + "_id": "95JeymOulK3L10NKdaD53m" + }, + { + "__type__": "cc.Label", + "_name": "", + "_objFlags": 0, + "node": { + "__id__": 446 + }, + "_enabled": true, + "_materials": [ + { + "__uuid__": "eca5d2f2-8ef6-41c2-bbe6-f9c79d09c432" + } + ], + "_srcBlendFactor": 770, + "_dstBlendFactor": 771, + "_string": "点击“加固”", + "_N$string": "点击“加固”", + "_fontSize": 40, + "_lineHeight": 60, + "_enableWrapText": true, + "_N$file": { + "__uuid__": "95d22fe7-7d01-4c03-bd3a-334278db3d92" + }, + "_isSystemFontUsed": false, + "_spacingX": 0, + "_batchAsBitmap": false, + "_styleFlags": 0, + "_underlineHeight": 0, + "_N$horizontalAlign": 1, + "_N$verticalAlign": 1, + "_N$fontFamily": "Arial", + "_N$overflow": 0, + "_N$cacheMode": 0, + "_id": "b8lb12gS9HoYpaZoZ9VTWe" + }, { "__type__": "cc.Sprite", "_name": "", "_objFlags": 0, "node": { - "__id__": 437 + "__id__": 441 }, "_enabled": true, "_materials": [ @@ -17860,7 +18148,7 @@ "_name": "", "_objFlags": 0, "node": { - "__id__": 406 + "__id__": 410 }, "_enabled": true, "alignMode": 1, @@ -17891,40 +18179,40 @@ }, "_children": [ { - "__id__": 445 + "__id__": 451 }, { - "__id__": 449 + "__id__": 455 }, { - "__id__": 453 + "__id__": 459 }, { - "__id__": 457 + "__id__": 463 }, { - "__id__": 461 + "__id__": 467 }, { - "__id__": 465 + "__id__": 471 }, { - "__id__": 469 + "__id__": 475 }, { - "__id__": 473 + "__id__": 479 }, { - "__id__": 480 + "__id__": 486 }, { - "__id__": 485 + "__id__": 491 } ], "_active": false, "_components": [ { - "__id__": 487 + "__id__": 493 } ], "_prefab": null, @@ -17980,19 +18268,19 @@ "_name": "New Sprite(Splash)", "_objFlags": 0, "_parent": { - "__id__": 444 + "__id__": 450 }, "_children": [], "_active": true, "_components": [ { - "__id__": 446 + "__id__": 452 }, { - "__id__": 447 + "__id__": 453 }, { - "__id__": 448 + "__id__": 454 } ], "_prefab": null, @@ -18048,7 +18336,7 @@ "_name": "", "_objFlags": 0, "node": { - "__id__": 445 + "__id__": 451 }, "_enabled": true, "_materials": [ @@ -18080,7 +18368,7 @@ "_name": "", "_objFlags": 0, "node": { - "__id__": 445 + "__id__": 451 }, "_enabled": true, "alignMode": 1, @@ -18107,7 +18395,7 @@ "_name": "", "_objFlags": 0, "node": { - "__id__": 445 + "__id__": 451 }, "_enabled": true, "_id": "99cHlm4ehMyrcRIBzKYtR0" @@ -18117,19 +18405,19 @@ "_name": "sp", "_objFlags": 0, "_parent": { - "__id__": 444 + "__id__": 450 }, "_children": [], "_active": true, "_components": [ { - "__id__": 450 + "__id__": 456 }, { - "__id__": 451 + "__id__": 457 }, { - "__id__": 452 + "__id__": 458 } ], "_prefab": null, @@ -18185,7 +18473,7 @@ "_name": "", "_objFlags": 0, "node": { - "__id__": 449 + "__id__": 455 }, "_enabled": true, "_materials": [ @@ -18217,7 +18505,7 @@ "_name": "", "_objFlags": 0, "node": { - "__id__": 449 + "__id__": 455 }, "_enabled": true, "alignMode": 1, @@ -18244,7 +18532,7 @@ "_name": "", "_objFlags": 0, "node": { - "__id__": 449 + "__id__": 455 }, "_enabled": true, "_id": "81MZWD9ilJlqXm9FnpoLoc" @@ -18254,19 +18542,19 @@ "_name": "New Sprite(Splash)", "_objFlags": 0, "_parent": { - "__id__": 444 + "__id__": 450 }, "_children": [], "_active": true, "_components": [ { - "__id__": 454 + "__id__": 460 }, { - "__id__": 455 + "__id__": 461 }, { - "__id__": 456 + "__id__": 462 } ], "_prefab": null, @@ -18322,7 +18610,7 @@ "_name": "", "_objFlags": 0, "node": { - "__id__": 453 + "__id__": 459 }, "_enabled": true, "_materials": [ @@ -18354,7 +18642,7 @@ "_name": "", "_objFlags": 0, "node": { - "__id__": 453 + "__id__": 459 }, "_enabled": true, "alignMode": 1, @@ -18381,7 +18669,7 @@ "_name": "", "_objFlags": 0, "node": { - "__id__": 453 + "__id__": 459 }, "_enabled": true, "_id": "b6o8sVSfpPEJ6o5LjXI/CC" @@ -18391,19 +18679,19 @@ "_name": "New Sprite(Splash)", "_objFlags": 0, "_parent": { - "__id__": 444 + "__id__": 450 }, "_children": [], "_active": true, "_components": [ { - "__id__": 458 + "__id__": 464 }, { - "__id__": 459 + "__id__": 465 }, { - "__id__": 460 + "__id__": 466 } ], "_prefab": null, @@ -18459,7 +18747,7 @@ "_name": "", "_objFlags": 0, "node": { - "__id__": 457 + "__id__": 463 }, "_enabled": true, "_materials": [ @@ -18491,7 +18779,7 @@ "_name": "", "_objFlags": 0, "node": { - "__id__": 457 + "__id__": 463 }, "_enabled": true, "alignMode": 1, @@ -18518,7 +18806,7 @@ "_name": "", "_objFlags": 0, "node": { - "__id__": 457 + "__id__": 463 }, "_enabled": true, "_id": "fbPUlj0axOLKcWnThCCcjL" @@ -18528,19 +18816,19 @@ "_name": "New Sprite(Splash)", "_objFlags": 0, "_parent": { - "__id__": 444 + "__id__": 450 }, "_children": [], "_active": true, "_components": [ { - "__id__": 462 + "__id__": 468 }, { - "__id__": 463 + "__id__": 469 }, { - "__id__": 464 + "__id__": 470 } ], "_prefab": null, @@ -18596,7 +18884,7 @@ "_name": "", "_objFlags": 0, "node": { - "__id__": 461 + "__id__": 467 }, "_enabled": true, "_materials": [ @@ -18628,7 +18916,7 @@ "_name": "", "_objFlags": 0, "node": { - "__id__": 461 + "__id__": 467 }, "_enabled": true, "alignMode": 1, @@ -18655,7 +18943,7 @@ "_name": "", "_objFlags": 0, "node": { - "__id__": 461 + "__id__": 467 }, "_enabled": true, "_id": "7cC9ut73hAZ5LqI17yWhZM" @@ -18665,19 +18953,19 @@ "_name": "New Sprite(Splash)", "_objFlags": 0, "_parent": { - "__id__": 444 + "__id__": 450 }, "_children": [], "_active": true, "_components": [ { - "__id__": 466 + "__id__": 472 }, { - "__id__": 467 + "__id__": 473 }, { - "__id__": 468 + "__id__": 474 } ], "_prefab": null, @@ -18733,7 +19021,7 @@ "_name": "", "_objFlags": 0, "node": { - "__id__": 465 + "__id__": 471 }, "_enabled": true, "_materials": [ @@ -18765,7 +19053,7 @@ "_name": "", "_objFlags": 0, "node": { - "__id__": 465 + "__id__": 471 }, "_enabled": true, "alignMode": 1, @@ -18792,7 +19080,7 @@ "_name": "", "_objFlags": 0, "node": { - "__id__": 465 + "__id__": 471 }, "_enabled": true, "_id": "22jL9t+v9DpJtY3WDhd7xh" @@ -18802,19 +19090,19 @@ "_name": "New Sprite(Splash)", "_objFlags": 0, "_parent": { - "__id__": 444 + "__id__": 450 }, "_children": [], "_active": true, "_components": [ { - "__id__": 470 + "__id__": 476 }, { - "__id__": 471 + "__id__": 477 }, { - "__id__": 472 + "__id__": 478 } ], "_prefab": null, @@ -18870,7 +19158,7 @@ "_name": "", "_objFlags": 0, "node": { - "__id__": 469 + "__id__": 475 }, "_enabled": true, "_materials": [ @@ -18902,7 +19190,7 @@ "_name": "", "_objFlags": 0, "node": { - "__id__": 469 + "__id__": 475 }, "_enabled": true, "alignMode": 1, @@ -18929,7 +19217,7 @@ "_name": "", "_objFlags": 0, "node": { - "__id__": 469 + "__id__": 475 }, "_enabled": true, "_id": "0c5C5NYCFHKJSOFVwhkRsC" @@ -18939,23 +19227,23 @@ "_name": "bg", "_objFlags": 0, "_parent": { - "__id__": 444 + "__id__": 450 }, "_children": [ { - "__id__": 474 + "__id__": 480 }, { - "__id__": 476 + "__id__": 482 } ], "_active": true, "_components": [ { - "__id__": 478 + "__id__": 484 }, { - "__id__": 479 + "__id__": 485 } ], "_prefab": null, @@ -19011,13 +19299,13 @@ "_name": "point", "_objFlags": 0, "_parent": { - "__id__": 473 + "__id__": 479 }, "_children": [], "_active": true, "_components": [ { - "__id__": 475 + "__id__": 481 } ], "_prefab": null, @@ -19073,7 +19361,7 @@ "_name": "", "_objFlags": 0, "node": { - "__id__": 474 + "__id__": 480 }, "_enabled": true, "_materials": [ @@ -19107,13 +19395,13 @@ "_name": "content", "_objFlags": 0, "_parent": { - "__id__": 473 + "__id__": 479 }, "_children": [], "_active": true, "_components": [ { - "__id__": 477 + "__id__": 483 } ], "_prefab": null, @@ -19169,7 +19457,7 @@ "_name": "", "_objFlags": 0, "node": { - "__id__": 476 + "__id__": 482 }, "_enabled": true, "_materials": [ @@ -19204,7 +19492,7 @@ "_name": "", "_objFlags": 0, "node": { - "__id__": 473 + "__id__": 479 }, "_enabled": true, "_materials": [ @@ -19238,7 +19526,7 @@ "_name": "", "_objFlags": 0, "node": { - "__id__": 473 + "__id__": 479 }, "_enabled": true, "alignMode": 1, @@ -19265,22 +19553,22 @@ "_name": "touch", "_objFlags": 0, "_parent": { - "__id__": 444 + "__id__": 450 }, "_children": [], "_active": true, "_components": [ { - "__id__": 481 + "__id__": 487 }, { - "__id__": 482 + "__id__": 488 }, { - "__id__": 483 + "__id__": 489 }, { - "__id__": 484 + "__id__": 490 } ], "_prefab": null, @@ -19336,7 +19624,7 @@ "_name": "", "_objFlags": 0, "node": { - "__id__": 480 + "__id__": 486 }, "_enabled": true, "_materials": [ @@ -19368,7 +19656,7 @@ "_name": "", "_objFlags": 0, "node": { - "__id__": 480 + "__id__": 486 }, "_enabled": true, "alignMode": 1, @@ -19395,7 +19683,7 @@ "_name": "", "_objFlags": 0, "node": { - "__id__": 480 + "__id__": 486 }, "_enabled": true, "_id": "78cdYZPrxA55BSOd8GUm92" @@ -19405,7 +19693,7 @@ "_name": "", "_objFlags": 0, "node": { - "__id__": 480 + "__id__": 486 }, "_enabled": true, "_id": "f7hoXaxyxE0bUKahJjizoI" @@ -19415,13 +19703,13 @@ "_name": "ping", "_objFlags": 0, "_parent": { - "__id__": 444 + "__id__": 450 }, "_children": [], "_active": true, "_components": [ { - "__id__": 486 + "__id__": 492 } ], "_prefab": null, @@ -19477,7 +19765,7 @@ "_name": "", "_objFlags": 0, "node": { - "__id__": 485 + "__id__": 491 }, "_enabled": true, "_materials": [ @@ -19510,7 +19798,7 @@ "_name": "", "_objFlags": 0, "node": { - "__id__": 444 + "__id__": 450 }, "_enabled": true, "alignMode": 1, @@ -19541,34 +19829,34 @@ }, "_children": [ { - "__id__": 489 + "__id__": 495 }, { - "__id__": 494 + "__id__": 500 }, { - "__id__": 499 + "__id__": 505 }, { - "__id__": 504 + "__id__": 510 }, { - "__id__": 509 + "__id__": 515 }, { - "__id__": 514 + "__id__": 520 }, { - "__id__": 519 + "__id__": 525 }, { - "__id__": 524 + "__id__": 530 } ], "_active": false, "_components": [ { - "__id__": 530 + "__id__": 538 } ], "_prefab": null, @@ -19624,22 +19912,22 @@ "_name": "New Sprite(Splash)", "_objFlags": 0, "_parent": { - "__id__": 488 + "__id__": 494 }, "_children": [], "_active": true, "_components": [ { - "__id__": 490 + "__id__": 496 }, { - "__id__": 491 + "__id__": 497 }, { - "__id__": 492 + "__id__": 498 }, { - "__id__": 493 + "__id__": 499 } ], "_prefab": null, @@ -19695,7 +19983,7 @@ "_name": "", "_objFlags": 0, "node": { - "__id__": 489 + "__id__": 495 }, "_enabled": true, "_materials": [ @@ -19727,7 +20015,7 @@ "_name": "", "_objFlags": 0, "node": { - "__id__": 489 + "__id__": 495 }, "_enabled": true, "alignMode": 1, @@ -19754,7 +20042,7 @@ "_name": "", "_objFlags": 0, "node": { - "__id__": 489 + "__id__": 495 }, "_enabled": true, "_id": "76uIObCAJIpY3+bjQzlXLH" @@ -19764,7 +20052,7 @@ "_name": "", "_objFlags": 0, "node": { - "__id__": 489 + "__id__": 495 }, "_enabled": true, "_id": "d4c+/bQbRFapRZHFrNtSj/" @@ -19774,22 +20062,22 @@ "_name": "sp", "_objFlags": 0, "_parent": { - "__id__": 488 + "__id__": 494 }, "_children": [], "_active": true, "_components": [ { - "__id__": 495 + "__id__": 501 }, { - "__id__": 496 + "__id__": 502 }, { - "__id__": 497 + "__id__": 503 }, { - "__id__": 498 + "__id__": 504 } ], "_prefab": null, @@ -19845,7 +20133,7 @@ "_name": "", "_objFlags": 0, "node": { - "__id__": 494 + "__id__": 500 }, "_enabled": true, "_materials": [ @@ -19877,7 +20165,7 @@ "_name": "", "_objFlags": 0, "node": { - "__id__": 494 + "__id__": 500 }, "_enabled": true, "alignMode": 1, @@ -19904,7 +20192,7 @@ "_name": "", "_objFlags": 0, "node": { - "__id__": 494 + "__id__": 500 }, "_enabled": true, "_id": "78zGFxyrNLo4ZWDoqiQwEn" @@ -19914,7 +20202,7 @@ "_name": "", "_objFlags": 0, "node": { - "__id__": 494 + "__id__": 500 }, "_enabled": true, "_id": "52LOYzgFVKSbhPnTEDvtKG" @@ -19924,22 +20212,22 @@ "_name": "New Sprite(Splash)", "_objFlags": 0, "_parent": { - "__id__": 488 + "__id__": 494 }, "_children": [], "_active": true, "_components": [ { - "__id__": 500 + "__id__": 506 }, { - "__id__": 501 + "__id__": 507 }, { - "__id__": 502 + "__id__": 508 }, { - "__id__": 503 + "__id__": 509 } ], "_prefab": null, @@ -19995,7 +20283,7 @@ "_name": "", "_objFlags": 0, "node": { - "__id__": 499 + "__id__": 505 }, "_enabled": true, "_materials": [ @@ -20027,7 +20315,7 @@ "_name": "", "_objFlags": 0, "node": { - "__id__": 499 + "__id__": 505 }, "_enabled": true, "alignMode": 1, @@ -20054,7 +20342,7 @@ "_name": "", "_objFlags": 0, "node": { - "__id__": 499 + "__id__": 505 }, "_enabled": true, "_id": "98G+ut5UFLGIahBN7U20MC" @@ -20064,7 +20352,7 @@ "_name": "", "_objFlags": 0, "node": { - "__id__": 499 + "__id__": 505 }, "_enabled": true, "_id": "c5A+qr2wdPNpyX+XoZTAeb" @@ -20074,22 +20362,22 @@ "_name": "New Sprite(Splash)", "_objFlags": 0, "_parent": { - "__id__": 488 + "__id__": 494 }, "_children": [], "_active": true, "_components": [ { - "__id__": 505 + "__id__": 511 }, { - "__id__": 506 + "__id__": 512 }, { - "__id__": 507 + "__id__": 513 }, { - "__id__": 508 + "__id__": 514 } ], "_prefab": null, @@ -20145,7 +20433,7 @@ "_name": "", "_objFlags": 0, "node": { - "__id__": 504 + "__id__": 510 }, "_enabled": true, "_materials": [ @@ -20177,7 +20465,7 @@ "_name": "", "_objFlags": 0, "node": { - "__id__": 504 + "__id__": 510 }, "_enabled": true, "alignMode": 1, @@ -20204,7 +20492,7 @@ "_name": "", "_objFlags": 0, "node": { - "__id__": 504 + "__id__": 510 }, "_enabled": true, "_id": "987sOL4r9BqYC6KoDUSY22" @@ -20214,7 +20502,7 @@ "_name": "", "_objFlags": 0, "node": { - "__id__": 504 + "__id__": 510 }, "_enabled": true, "_id": "a5oXXKuapB94jLx+9ASaZ3" @@ -20224,22 +20512,22 @@ "_name": "New Sprite(Splash)", "_objFlags": 0, "_parent": { - "__id__": 488 + "__id__": 494 }, "_children": [], "_active": true, "_components": [ { - "__id__": 510 + "__id__": 516 }, { - "__id__": 511 + "__id__": 517 }, { - "__id__": 512 + "__id__": 518 }, { - "__id__": 513 + "__id__": 519 } ], "_prefab": null, @@ -20295,7 +20583,7 @@ "_name": "", "_objFlags": 0, "node": { - "__id__": 509 + "__id__": 515 }, "_enabled": true, "_materials": [ @@ -20327,7 +20615,7 @@ "_name": "", "_objFlags": 0, "node": { - "__id__": 509 + "__id__": 515 }, "_enabled": true, "alignMode": 1, @@ -20354,7 +20642,7 @@ "_name": "", "_objFlags": 0, "node": { - "__id__": 509 + "__id__": 515 }, "_enabled": true, "_id": "63DJbLtVxLY6fdpHD4X76J" @@ -20364,7 +20652,7 @@ "_name": "", "_objFlags": 0, "node": { - "__id__": 509 + "__id__": 515 }, "_enabled": true, "_id": "23kcqbJRJG+aHxsX74scEG" @@ -20374,22 +20662,22 @@ "_name": "New Sprite(Splash)", "_objFlags": 0, "_parent": { - "__id__": 488 + "__id__": 494 }, "_children": [], "_active": true, "_components": [ { - "__id__": 515 + "__id__": 521 }, { - "__id__": 516 + "__id__": 522 }, { - "__id__": 517 + "__id__": 523 }, { - "__id__": 518 + "__id__": 524 } ], "_prefab": null, @@ -20445,7 +20733,7 @@ "_name": "", "_objFlags": 0, "node": { - "__id__": 514 + "__id__": 520 }, "_enabled": true, "_materials": [ @@ -20477,7 +20765,7 @@ "_name": "", "_objFlags": 0, "node": { - "__id__": 514 + "__id__": 520 }, "_enabled": true, "alignMode": 1, @@ -20504,7 +20792,7 @@ "_name": "", "_objFlags": 0, "node": { - "__id__": 514 + "__id__": 520 }, "_enabled": true, "_id": "14P/P3GW9HYYZG5689dd+v" @@ -20514,7 +20802,7 @@ "_name": "", "_objFlags": 0, "node": { - "__id__": 514 + "__id__": 520 }, "_enabled": true, "_id": "3a2kcOm1xKo56wHuMvImeN" @@ -20524,22 +20812,22 @@ "_name": "New Sprite(Splash)", "_objFlags": 0, "_parent": { - "__id__": 488 + "__id__": 494 }, "_children": [], "_active": true, "_components": [ { - "__id__": 520 + "__id__": 526 }, { - "__id__": 521 + "__id__": 527 }, { - "__id__": 522 + "__id__": 528 }, { - "__id__": 523 + "__id__": 529 } ], "_prefab": null, @@ -20595,7 +20883,7 @@ "_name": "", "_objFlags": 0, "node": { - "__id__": 519 + "__id__": 525 }, "_enabled": true, "_materials": [ @@ -20627,7 +20915,7 @@ "_name": "", "_objFlags": 0, "node": { - "__id__": 519 + "__id__": 525 }, "_enabled": true, "alignMode": 1, @@ -20654,7 +20942,7 @@ "_name": "", "_objFlags": 0, "node": { - "__id__": 519 + "__id__": 525 }, "_enabled": true, "_id": "eaKaKP5kZMlaoiK3pGFGQA" @@ -20664,7 +20952,7 @@ "_name": "", "_objFlags": 0, "node": { - "__id__": 519 + "__id__": 525 }, "_enabled": true, "_id": "ddDJLI/TZJaLd6nuMbYRzQ" @@ -20674,20 +20962,23 @@ "_name": "bg", "_objFlags": 0, "_parent": { - "__id__": 488 + "__id__": 494 }, "_children": [ { - "__id__": 525 + "__id__": 531 }, { - "__id__": 527 + "__id__": 533 + }, + { + "__id__": 535 } ], "_active": true, "_components": [ { - "__id__": 529 + "__id__": 537 } ], "_prefab": null, @@ -20743,13 +21034,13 @@ "_name": "point", "_objFlags": 0, "_parent": { - "__id__": 524 + "__id__": 530 }, "_children": [], "_active": true, "_components": [ { - "__id__": 526 + "__id__": 532 } ], "_prefab": null, @@ -20805,7 +21096,7 @@ "_name": "", "_objFlags": 0, "node": { - "__id__": 525 + "__id__": 531 }, "_enabled": true, "_materials": [ @@ -20839,13 +21130,13 @@ "_name": "content", "_objFlags": 0, "_parent": { - "__id__": 524 + "__id__": 530 }, "_children": [], "_active": true, "_components": [ { - "__id__": 528 + "__id__": 534 } ], "_prefab": null, @@ -20901,7 +21192,7 @@ "_name": "", "_objFlags": 0, "node": { - "__id__": 527 + "__id__": 533 }, "_enabled": true, "_materials": [ @@ -20911,8 +21202,8 @@ ], "_srcBlendFactor": 770, "_dstBlendFactor": 771, - "_string": "加固后就可以正常\n通过了", - "_N$string": "加固后就可以正常\n通过了", + "_string": "加固后就可以正常\n通过了, 点击\"上\"", + "_N$string": "加固后就可以正常\n通过了, 点击\"上\"", "_fontSize": 40, "_lineHeight": 60, "_enableWrapText": true, @@ -20931,12 +21222,109 @@ "_N$cacheMode": 0, "_id": "c1rGK0DLBPFLmkXRIyHzQS" }, + { + "__type__": "cc.Node", + "_name": "content", + "_objFlags": 0, + "_parent": { + "__id__": 530 + }, + "_children": [], + "_active": true, + "_components": [ + { + "__id__": 536 + } + ], + "_prefab": null, + "_opacity": 255, + "_color": { + "__type__": "cc.Color", + "r": 211, + "g": 70, + "b": 70, + "a": 255 + }, + "_contentSize": { + "__type__": "cc.Size", + "width": 170.56, + "height": 135.6 + }, + "_anchorPoint": { + "__type__": "cc.Vec2", + "x": 0.5, + "y": 0.5 + }, + "_trs": { + "__type__": "TypedArray", + "ctor": "Float64Array", + "array": [ + 67.817, + 0, + 0, + 0, + 0, + 0, + 1, + 1, + 1, + 1 + ] + }, + "_eulerAngles": { + "__type__": "cc.Vec3", + "x": 0, + "y": 0, + "z": 0 + }, + "_skewX": 0, + "_skewY": 0, + "_is3DNode": false, + "_groupIndex": 0, + "groupIndex": 0, + "_id": "26QDMBxZBLt5s3kZFLGcRB" + }, + { + "__type__": "cc.Label", + "_name": "", + "_objFlags": 0, + "node": { + "__id__": 535 + }, + "_enabled": true, + "_materials": [ + { + "__uuid__": "eca5d2f2-8ef6-41c2-bbe6-f9c79d09c432" + } + ], + "_srcBlendFactor": 770, + "_dstBlendFactor": 771, + "_string": "\n 点击\"上\"", + "_N$string": "\n 点击\"上\"", + "_fontSize": 40, + "_lineHeight": 60, + "_enableWrapText": true, + "_N$file": { + "__uuid__": "95d22fe7-7d01-4c03-bd3a-334278db3d92" + }, + "_isSystemFontUsed": false, + "_spacingX": 0, + "_batchAsBitmap": false, + "_styleFlags": 0, + "_underlineHeight": 0, + "_N$horizontalAlign": 1, + "_N$verticalAlign": 1, + "_N$fontFamily": "Arial", + "_N$overflow": 0, + "_N$cacheMode": 0, + "_id": "26e/a4jihK2J53GA1vydDo" + }, { "__type__": "cc.Sprite", "_name": "", "_objFlags": 0, "node": { - "__id__": 524 + "__id__": 530 }, "_enabled": true, "_materials": [ @@ -20970,7 +21358,7 @@ "_name": "", "_objFlags": 0, "node": { - "__id__": 488 + "__id__": 494 }, "_enabled": true, "alignMode": 1, @@ -21001,31 +21389,31 @@ }, "_children": [ { - "__id__": 532 + "__id__": 540 }, { - "__id__": 537 + "__id__": 545 }, { - "__id__": 542 + "__id__": 550 }, { - "__id__": 547 + "__id__": 555 }, { - "__id__": 552 + "__id__": 560 }, { - "__id__": 557 + "__id__": 565 }, { - "__id__": 562 + "__id__": 570 } ], "_active": false, "_components": [ { - "__id__": 568 + "__id__": 578 } ], "_prefab": null, @@ -21081,22 +21469,22 @@ "_name": "New Sprite(Splash)", "_objFlags": 0, "_parent": { - "__id__": 531 + "__id__": 539 }, "_children": [], "_active": true, "_components": [ { - "__id__": 533 + "__id__": 541 }, { - "__id__": 534 + "__id__": 542 }, { - "__id__": 535 + "__id__": 543 }, { - "__id__": 536 + "__id__": 544 } ], "_prefab": null, @@ -21152,7 +21540,7 @@ "_name": "", "_objFlags": 0, "node": { - "__id__": 532 + "__id__": 540 }, "_enabled": true, "_materials": [ @@ -21184,7 +21572,7 @@ "_name": "", "_objFlags": 0, "node": { - "__id__": 532 + "__id__": 540 }, "_enabled": true, "alignMode": 1, @@ -21211,7 +21599,7 @@ "_name": "", "_objFlags": 0, "node": { - "__id__": 532 + "__id__": 540 }, "_enabled": true, "_id": "79WU40bhNAkYtD2VA+dUP6" @@ -21221,7 +21609,7 @@ "_name": "", "_objFlags": 0, "node": { - "__id__": 532 + "__id__": 540 }, "_enabled": true, "_id": "d2L0Z71WJEKabqltCiZ1tb" @@ -21231,22 +21619,22 @@ "_name": "sp", "_objFlags": 0, "_parent": { - "__id__": 531 + "__id__": 539 }, "_children": [], "_active": true, "_components": [ { - "__id__": 538 + "__id__": 546 }, { - "__id__": 539 + "__id__": 547 }, { - "__id__": 540 + "__id__": 548 }, { - "__id__": 541 + "__id__": 549 } ], "_prefab": null, @@ -21302,7 +21690,7 @@ "_name": "", "_objFlags": 0, "node": { - "__id__": 537 + "__id__": 545 }, "_enabled": true, "_materials": [ @@ -21334,7 +21722,7 @@ "_name": "", "_objFlags": 0, "node": { - "__id__": 537 + "__id__": 545 }, "_enabled": true, "alignMode": 1, @@ -21361,7 +21749,7 @@ "_name": "", "_objFlags": 0, "node": { - "__id__": 537 + "__id__": 545 }, "_enabled": true, "_id": "044rHZf/5Hgq8XOQVY9ZFu" @@ -21371,7 +21759,7 @@ "_name": "", "_objFlags": 0, "node": { - "__id__": 537 + "__id__": 545 }, "_enabled": true, "_id": "f6jgcJTWFLL75S1FrYEscB" @@ -21381,22 +21769,22 @@ "_name": "New Sprite(Splash)", "_objFlags": 0, "_parent": { - "__id__": 531 + "__id__": 539 }, "_children": [], "_active": true, "_components": [ { - "__id__": 543 + "__id__": 551 }, { - "__id__": 544 + "__id__": 552 }, { - "__id__": 545 + "__id__": 553 }, { - "__id__": 546 + "__id__": 554 } ], "_prefab": null, @@ -21452,7 +21840,7 @@ "_name": "", "_objFlags": 0, "node": { - "__id__": 542 + "__id__": 550 }, "_enabled": true, "_materials": [ @@ -21484,7 +21872,7 @@ "_name": "", "_objFlags": 0, "node": { - "__id__": 542 + "__id__": 550 }, "_enabled": true, "alignMode": 1, @@ -21511,7 +21899,7 @@ "_name": "", "_objFlags": 0, "node": { - "__id__": 542 + "__id__": 550 }, "_enabled": true, "_id": "a71hbfguVMZIHcyyoDiPGf" @@ -21521,7 +21909,7 @@ "_name": "", "_objFlags": 0, "node": { - "__id__": 542 + "__id__": 550 }, "_enabled": true, "_id": "9b99GgHCxABIepN4gssoen" @@ -21531,22 +21919,22 @@ "_name": "New Sprite(Splash)", "_objFlags": 0, "_parent": { - "__id__": 531 + "__id__": 539 }, "_children": [], "_active": true, "_components": [ { - "__id__": 548 + "__id__": 556 }, { - "__id__": 549 + "__id__": 557 }, { - "__id__": 550 + "__id__": 558 }, { - "__id__": 551 + "__id__": 559 } ], "_prefab": null, @@ -21602,7 +21990,7 @@ "_name": "", "_objFlags": 0, "node": { - "__id__": 547 + "__id__": 555 }, "_enabled": true, "_materials": [ @@ -21634,7 +22022,7 @@ "_name": "", "_objFlags": 0, "node": { - "__id__": 547 + "__id__": 555 }, "_enabled": true, "alignMode": 1, @@ -21661,7 +22049,7 @@ "_name": "", "_objFlags": 0, "node": { - "__id__": 547 + "__id__": 555 }, "_enabled": true, "_id": "e7odRMuT5MFqBcZ18Z1euQ" @@ -21671,7 +22059,7 @@ "_name": "", "_objFlags": 0, "node": { - "__id__": 547 + "__id__": 555 }, "_enabled": true, "_id": "81+xovJJtIyqKXx1kAu0iY" @@ -21681,22 +22069,22 @@ "_name": "New Sprite(Splash)", "_objFlags": 0, "_parent": { - "__id__": 531 + "__id__": 539 }, "_children": [], "_active": true, "_components": [ { - "__id__": 553 + "__id__": 561 }, { - "__id__": 554 + "__id__": 562 }, { - "__id__": 555 + "__id__": 563 }, { - "__id__": 556 + "__id__": 564 } ], "_prefab": null, @@ -21752,7 +22140,7 @@ "_name": "", "_objFlags": 0, "node": { - "__id__": 552 + "__id__": 560 }, "_enabled": true, "_materials": [ @@ -21784,7 +22172,7 @@ "_name": "", "_objFlags": 0, "node": { - "__id__": 552 + "__id__": 560 }, "_enabled": true, "alignMode": 1, @@ -21811,7 +22199,7 @@ "_name": "", "_objFlags": 0, "node": { - "__id__": 552 + "__id__": 560 }, "_enabled": true, "_id": "d4nvplKjNIdbgkRDBMXGJl" @@ -21821,7 +22209,7 @@ "_name": "", "_objFlags": 0, "node": { - "__id__": 552 + "__id__": 560 }, "_enabled": true, "_id": "2er3Lp825K+Ym+WWvLNzHP" @@ -21831,22 +22219,22 @@ "_name": "New Sprite(Splash)", "_objFlags": 0, "_parent": { - "__id__": 531 + "__id__": 539 }, "_children": [], "_active": true, "_components": [ { - "__id__": 558 + "__id__": 566 }, { - "__id__": 559 + "__id__": 567 }, { - "__id__": 560 + "__id__": 568 }, { - "__id__": 561 + "__id__": 569 } ], "_prefab": null, @@ -21902,7 +22290,7 @@ "_name": "", "_objFlags": 0, "node": { - "__id__": 557 + "__id__": 565 }, "_enabled": true, "_materials": [ @@ -21934,7 +22322,7 @@ "_name": "", "_objFlags": 0, "node": { - "__id__": 557 + "__id__": 565 }, "_enabled": true, "alignMode": 1, @@ -21961,7 +22349,7 @@ "_name": "", "_objFlags": 0, "node": { - "__id__": 557 + "__id__": 565 }, "_enabled": true, "_id": "a11bA92ZxMfYpBNNXthHDY" @@ -21971,7 +22359,7 @@ "_name": "", "_objFlags": 0, "node": { - "__id__": 557 + "__id__": 565 }, "_enabled": true, "_id": "ae81z3NmNDaLn3hXBGA+zM" @@ -21981,20 +22369,23 @@ "_name": "bg", "_objFlags": 0, "_parent": { - "__id__": 531 + "__id__": 539 }, "_children": [ { - "__id__": 563 + "__id__": 571 }, { - "__id__": 565 + "__id__": 573 + }, + { + "__id__": 575 } ], "_active": true, "_components": [ { - "__id__": 567 + "__id__": 577 } ], "_prefab": null, @@ -22009,7 +22400,7 @@ "_contentSize": { "__type__": "cc.Size", "width": 700, - "height": 300 + "height": 350 }, "_anchorPoint": { "__type__": "cc.Vec2", @@ -22021,7 +22412,7 @@ "ctor": "Float64Array", "array": [ 2.071, - -336.475, + -305.447, 0, 0, 0, @@ -22050,13 +22441,13 @@ "_name": "point", "_objFlags": 0, "_parent": { - "__id__": 562 + "__id__": 570 }, "_children": [], "_active": true, "_components": [ { - "__id__": 564 + "__id__": 572 } ], "_prefab": null, @@ -22083,7 +22474,7 @@ "ctor": "Float64Array", "array": [ -86.079, - -178.677, + -195.914, 0, 0, 0, @@ -22112,7 +22503,7 @@ "_name": "", "_objFlags": 0, "node": { - "__id__": 563 + "__id__": 571 }, "_enabled": true, "_materials": [ @@ -22146,13 +22537,13 @@ "_name": "content", "_objFlags": 0, "_parent": { - "__id__": 562 + "__id__": 570 }, "_children": [], "_active": true, "_components": [ { - "__id__": 566 + "__id__": 574 } ], "_prefab": null, @@ -22167,7 +22558,7 @@ "_contentSize": { "__type__": "cc.Size", "width": 600, - "height": 315.6 + "height": 375.6 }, "_anchorPoint": { "__type__": "cc.Vec2", @@ -22208,7 +22599,7 @@ "_name": "", "_objFlags": 0, "node": { - "__id__": 565 + "__id__": 573 }, "_enabled": true, "_materials": [ @@ -22218,8 +22609,8 @@ ], "_srcBlendFactor": 770, "_dstBlendFactor": 771, - "_string": "使用大禹的宝物\"息壤\",堤坝便会\n自动向选的的方向自动生长,除非\n下一个是山峰或边界,息壤还会把\n经过的湿地变成平原,无需加固\n", - "_N$string": "使用大禹的宝物\"息壤\",堤坝便会\n自动向选的的方向自动生长,除非\n下一个是山峰或边界,息壤还会把\n经过的湿地变成平原,无需加固\n", + "_string": "使用大禹的宝物\"息壤\",堤坝便会\n自动向选的的方向自动生长,除非\n下一个是山峰或边界,息壤还会把\n经过的湿地变成平原,无需加固\n点击\"息壤\"\n", + "_N$string": "使用大禹的宝物\"息壤\",堤坝便会\n自动向选的的方向自动生长,除非\n下一个是山峰或边界,息壤还会把\n经过的湿地变成平原,无需加固\n点击\"息壤\"\n", "_fontSize": 40, "_lineHeight": 60, "_enableWrapText": true, @@ -22238,12 +22629,109 @@ "_N$cacheMode": 0, "_id": "a0/ZzX+FRM3YtIrWLUVpHa" }, + { + "__type__": "cc.Node", + "_name": "content", + "_objFlags": 0, + "_parent": { + "__id__": 570 + }, + "_children": [], + "_active": true, + "_components": [ + { + "__id__": 576 + } + ], + "_prefab": null, + "_opacity": 255, + "_color": { + "__type__": "cc.Color", + "r": 211, + "g": 70, + "b": 70, + "a": 255 + }, + "_contentSize": { + "__type__": "cc.Size", + "width": 198.72, + "height": 195.6 + }, + "_anchorPoint": { + "__type__": "cc.Vec2", + "x": 0.5, + "y": 0.5 + }, + "_trs": { + "__type__": "TypedArray", + "ctor": "Float64Array", + "array": [ + 0, + -118.247, + 0, + 0, + 0, + 0, + 1, + 1, + 1, + 1 + ] + }, + "_eulerAngles": { + "__type__": "cc.Vec3", + "x": 0, + "y": 0, + "z": 0 + }, + "_skewX": 0, + "_skewY": 0, + "_is3DNode": false, + "_groupIndex": 0, + "groupIndex": 0, + "_id": "ea57aObXREyZqsp0NW5M+z" + }, + { + "__type__": "cc.Label", + "_name": "", + "_objFlags": 0, + "node": { + "__id__": 575 + }, + "_enabled": true, + "_materials": [ + { + "__uuid__": "eca5d2f2-8ef6-41c2-bbe6-f9c79d09c432" + } + ], + "_srcBlendFactor": 770, + "_dstBlendFactor": 771, + "_string": "\n点击\"息壤\"\n", + "_N$string": "\n点击\"息壤\"\n", + "_fontSize": 40, + "_lineHeight": 60, + "_enableWrapText": true, + "_N$file": { + "__uuid__": "95d22fe7-7d01-4c03-bd3a-334278db3d92" + }, + "_isSystemFontUsed": false, + "_spacingX": 0, + "_batchAsBitmap": false, + "_styleFlags": 0, + "_underlineHeight": 0, + "_N$horizontalAlign": 1, + "_N$verticalAlign": 1, + "_N$fontFamily": "Arial", + "_N$overflow": 0, + "_N$cacheMode": 0, + "_id": "9fiKCMsGhNh552/0nvOqMx" + }, { "__type__": "cc.Sprite", "_name": "", "_objFlags": 0, "node": { - "__id__": 562 + "__id__": 570 }, "_enabled": true, "_materials": [ @@ -22277,7 +22765,7 @@ "_name": "", "_objFlags": 0, "node": { - "__id__": 531 + "__id__": 539 }, "_enabled": true, "alignMode": 1, @@ -22307,12 +22795,6 @@ "__id__": 108 }, "_children": [ - { - "__id__": 570 - }, - { - "__id__": 575 - }, { "__id__": 580 }, @@ -22330,12 +22812,18 @@ }, { "__id__": 605 + }, + { + "__id__": 610 + }, + { + "__id__": 615 } ], "_active": false, "_components": [ { - "__id__": 611 + "__id__": 623 } ], "_prefab": null, @@ -22391,22 +22879,22 @@ "_name": "New Sprite(Splash)", "_objFlags": 0, "_parent": { - "__id__": 569 + "__id__": 579 }, "_children": [], "_active": true, "_components": [ { - "__id__": 571 + "__id__": 581 }, { - "__id__": 572 + "__id__": 582 }, { - "__id__": 573 + "__id__": 583 }, { - "__id__": 574 + "__id__": 584 } ], "_prefab": null, @@ -22462,7 +22950,7 @@ "_name": "", "_objFlags": 0, "node": { - "__id__": 570 + "__id__": 580 }, "_enabled": true, "_materials": [ @@ -22494,7 +22982,7 @@ "_name": "", "_objFlags": 0, "node": { - "__id__": 570 + "__id__": 580 }, "_enabled": true, "alignMode": 1, @@ -22521,7 +23009,7 @@ "_name": "", "_objFlags": 0, "node": { - "__id__": 570 + "__id__": 580 }, "_enabled": true, "_id": "339v/9veBGZZx6e8fXEbjK" @@ -22531,7 +23019,7 @@ "_name": "", "_objFlags": 0, "node": { - "__id__": 570 + "__id__": 580 }, "_enabled": true, "_id": "4ajBte8chFn6EpTrlVEP1N" @@ -22541,22 +23029,22 @@ "_name": "sp", "_objFlags": 0, "_parent": { - "__id__": 569 + "__id__": 579 }, "_children": [], "_active": true, "_components": [ { - "__id__": 576 + "__id__": 586 }, { - "__id__": 577 + "__id__": 587 }, { - "__id__": 578 + "__id__": 588 }, { - "__id__": 579 + "__id__": 589 } ], "_prefab": null, @@ -22612,7 +23100,7 @@ "_name": "", "_objFlags": 0, "node": { - "__id__": 575 + "__id__": 585 }, "_enabled": true, "_materials": [ @@ -22644,7 +23132,7 @@ "_name": "", "_objFlags": 0, "node": { - "__id__": 575 + "__id__": 585 }, "_enabled": true, "alignMode": 1, @@ -22671,7 +23159,7 @@ "_name": "", "_objFlags": 0, "node": { - "__id__": 575 + "__id__": 585 }, "_enabled": true, "_id": "25JqeLjtNFKptH8GjH9z+o" @@ -22681,7 +23169,7 @@ "_name": "", "_objFlags": 0, "node": { - "__id__": 575 + "__id__": 585 }, "_enabled": true, "_id": "44SFJCdC1PYaxSiJa0DSQ0" @@ -22691,22 +23179,22 @@ "_name": "New Sprite(Splash)", "_objFlags": 0, "_parent": { - "__id__": 569 + "__id__": 579 }, "_children": [], "_active": true, "_components": [ { - "__id__": 581 + "__id__": 591 }, { - "__id__": 582 + "__id__": 592 }, { - "__id__": 583 + "__id__": 593 }, { - "__id__": 584 + "__id__": 594 } ], "_prefab": null, @@ -22762,7 +23250,7 @@ "_name": "", "_objFlags": 0, "node": { - "__id__": 580 + "__id__": 590 }, "_enabled": true, "_materials": [ @@ -22794,7 +23282,7 @@ "_name": "", "_objFlags": 0, "node": { - "__id__": 580 + "__id__": 590 }, "_enabled": true, "alignMode": 1, @@ -22821,7 +23309,7 @@ "_name": "", "_objFlags": 0, "node": { - "__id__": 580 + "__id__": 590 }, "_enabled": true, "_id": "1cAowo+0lMHpzGLnU3F3KD" @@ -22831,7 +23319,7 @@ "_name": "", "_objFlags": 0, "node": { - "__id__": 580 + "__id__": 590 }, "_enabled": true, "_id": "55QBkx+pxB/6WWAdc/sGSi" @@ -22841,22 +23329,22 @@ "_name": "New Sprite(Splash)", "_objFlags": 0, "_parent": { - "__id__": 569 + "__id__": 579 }, "_children": [], "_active": true, "_components": [ { - "__id__": 586 + "__id__": 596 }, { - "__id__": 587 + "__id__": 597 }, { - "__id__": 588 + "__id__": 598 }, { - "__id__": 589 + "__id__": 599 } ], "_prefab": null, @@ -22912,7 +23400,7 @@ "_name": "", "_objFlags": 0, "node": { - "__id__": 585 + "__id__": 595 }, "_enabled": true, "_materials": [ @@ -22944,7 +23432,7 @@ "_name": "", "_objFlags": 0, "node": { - "__id__": 585 + "__id__": 595 }, "_enabled": true, "alignMode": 1, @@ -22971,7 +23459,7 @@ "_name": "", "_objFlags": 0, "node": { - "__id__": 585 + "__id__": 595 }, "_enabled": true, "_id": "cbuMeAJVtCULECzeUeuMqP" @@ -22981,7 +23469,7 @@ "_name": "", "_objFlags": 0, "node": { - "__id__": 585 + "__id__": 595 }, "_enabled": true, "_id": "b2AluDfaNGO5IbFNH3J7fW" @@ -22991,22 +23479,22 @@ "_name": "New Sprite(Splash)", "_objFlags": 0, "_parent": { - "__id__": 569 + "__id__": 579 }, "_children": [], "_active": true, "_components": [ { - "__id__": 591 + "__id__": 601 }, { - "__id__": 592 + "__id__": 602 }, { - "__id__": 593 + "__id__": 603 }, { - "__id__": 594 + "__id__": 604 } ], "_prefab": null, @@ -23062,7 +23550,7 @@ "_name": "", "_objFlags": 0, "node": { - "__id__": 590 + "__id__": 600 }, "_enabled": true, "_materials": [ @@ -23094,7 +23582,7 @@ "_name": "", "_objFlags": 0, "node": { - "__id__": 590 + "__id__": 600 }, "_enabled": true, "alignMode": 1, @@ -23121,7 +23609,7 @@ "_name": "", "_objFlags": 0, "node": { - "__id__": 590 + "__id__": 600 }, "_enabled": true, "_id": "28M2/UyLxH1qV7h98quy2q" @@ -23131,7 +23619,7 @@ "_name": "", "_objFlags": 0, "node": { - "__id__": 590 + "__id__": 600 }, "_enabled": true, "_id": "eaWGJSRClARZCADqb24DFf" @@ -23141,22 +23629,22 @@ "_name": "New Sprite(Splash)", "_objFlags": 0, "_parent": { - "__id__": 569 + "__id__": 579 }, "_children": [], "_active": true, "_components": [ { - "__id__": 596 + "__id__": 606 }, { - "__id__": 597 + "__id__": 607 }, { - "__id__": 598 + "__id__": 608 }, { - "__id__": 599 + "__id__": 609 } ], "_prefab": null, @@ -23212,7 +23700,7 @@ "_name": "", "_objFlags": 0, "node": { - "__id__": 595 + "__id__": 605 }, "_enabled": true, "_materials": [ @@ -23244,7 +23732,7 @@ "_name": "", "_objFlags": 0, "node": { - "__id__": 595 + "__id__": 605 }, "_enabled": true, "alignMode": 1, @@ -23271,7 +23759,7 @@ "_name": "", "_objFlags": 0, "node": { - "__id__": 595 + "__id__": 605 }, "_enabled": true, "_id": "ab0mD8GaNCTY+1BZ4clPZZ" @@ -23281,7 +23769,7 @@ "_name": "", "_objFlags": 0, "node": { - "__id__": 595 + "__id__": 605 }, "_enabled": true, "_id": "2fQn0TraFN762pa0A863/i" @@ -23291,22 +23779,22 @@ "_name": "New Sprite(Splash)", "_objFlags": 0, "_parent": { - "__id__": 569 + "__id__": 579 }, "_children": [], "_active": true, "_components": [ { - "__id__": 601 + "__id__": 611 }, { - "__id__": 602 + "__id__": 612 }, { - "__id__": 603 + "__id__": 613 }, { - "__id__": 604 + "__id__": 614 } ], "_prefab": null, @@ -23362,7 +23850,7 @@ "_name": "", "_objFlags": 0, "node": { - "__id__": 600 + "__id__": 610 }, "_enabled": true, "_materials": [ @@ -23394,7 +23882,7 @@ "_name": "", "_objFlags": 0, "node": { - "__id__": 600 + "__id__": 610 }, "_enabled": true, "alignMode": 1, @@ -23421,7 +23909,7 @@ "_name": "", "_objFlags": 0, "node": { - "__id__": 600 + "__id__": 610 }, "_enabled": true, "_id": "2a1aLE7fxI4pCNIg44aqzN" @@ -23431,7 +23919,7 @@ "_name": "", "_objFlags": 0, "node": { - "__id__": 600 + "__id__": 610 }, "_enabled": true, "_id": "4ad+mlGWZPD4ix6kg3utHT" @@ -23441,20 +23929,23 @@ "_name": "bg", "_objFlags": 0, "_parent": { - "__id__": 569 + "__id__": 579 }, "_children": [ { - "__id__": 606 + "__id__": 616 }, { - "__id__": 608 + "__id__": 618 + }, + { + "__id__": 620 } ], "_active": true, "_components": [ { - "__id__": 610 + "__id__": 622 } ], "_prefab": null, @@ -23468,8 +23959,8 @@ }, "_contentSize": { "__type__": "cc.Size", - "width": 500, - "height": 200 + "width": 550, + "height": 180 }, "_anchorPoint": { "__type__": "cc.Vec2", @@ -23510,13 +24001,13 @@ "_name": "point", "_objFlags": 0, "_parent": { - "__id__": 605 + "__id__": 615 }, "_children": [], "_active": true, "_components": [ { - "__id__": 607 + "__id__": 617 } ], "_prefab": null, @@ -23543,7 +24034,7 @@ "ctor": "Float64Array", "array": [ -87.48, - -122.62, + -117.248, 0, 0, 0, @@ -23572,7 +24063,7 @@ "_name": "", "_objFlags": 0, "node": { - "__id__": 606 + "__id__": 616 }, "_enabled": true, "_materials": [ @@ -23606,13 +24097,13 @@ "_name": "content", "_objFlags": 0, "_parent": { - "__id__": 605 + "__id__": 615 }, "_children": [], "_active": true, "_components": [ { - "__id__": 609 + "__id__": 619 } ], "_prefab": null, @@ -23626,7 +24117,7 @@ }, "_contentSize": { "__type__": "cc.Size", - "width": 400, + "width": 425.44, "height": 135.6 }, "_anchorPoint": { @@ -23668,7 +24159,7 @@ "_name": "", "_objFlags": 0, "node": { - "__id__": 608 + "__id__": 618 }, "_enabled": true, "_materials": [ @@ -23678,8 +24169,8 @@ ], "_srcBlendFactor": 770, "_dstBlendFactor": 771, - "_string": "使用息壤后,选中方向\n息壤即可生效", - "_N$string": "使用息壤后,选中方向\n息壤即可生效", + "_string": "使用息壤后,点击\"右\"\n选中方向, 息壤即可生效", + "_N$string": "使用息壤后,点击\"右\"\n选中方向, 息壤即可生效", "_fontSize": 40, "_lineHeight": 60, "_enableWrapText": true, @@ -23698,12 +24189,109 @@ "_N$cacheMode": 0, "_id": "a6A++MrFREhpMkBEy6c8/7" }, + { + "__type__": "cc.Node", + "_name": "content", + "_objFlags": 0, + "_parent": { + "__id__": 615 + }, + "_children": [], + "_active": true, + "_components": [ + { + "__id__": 621 + } + ], + "_prefab": null, + "_opacity": 255, + "_color": { + "__type__": "cc.Color", + "r": 211, + "g": 70, + "b": 70, + "a": 255 + }, + "_contentSize": { + "__type__": "cc.Size", + "width": 158.72, + "height": 135.6 + }, + "_anchorPoint": { + "__type__": "cc.Vec2", + "x": 0.5, + "y": 0.5 + }, + "_trs": { + "__type__": "TypedArray", + "ctor": "Float64Array", + "array": [ + 120.074, + -2.625, + 0, + 0, + 0, + 0, + 1, + 1, + 1, + 1 + ] + }, + "_eulerAngles": { + "__type__": "cc.Vec3", + "x": 0, + "y": 0, + "z": 0 + }, + "_skewX": 0, + "_skewY": 0, + "_is3DNode": false, + "_groupIndex": 0, + "groupIndex": 0, + "_id": "dcqVcSlwJNnYFl6Sn0cbqr" + }, + { + "__type__": "cc.Label", + "_name": "", + "_objFlags": 0, + "node": { + "__id__": 620 + }, + "_enabled": true, + "_materials": [ + { + "__uuid__": "eca5d2f2-8ef6-41c2-bbe6-f9c79d09c432" + } + ], + "_srcBlendFactor": 770, + "_dstBlendFactor": 771, + "_string": "点击\"右\"\n", + "_N$string": "点击\"右\"\n", + "_fontSize": 40, + "_lineHeight": 60, + "_enableWrapText": true, + "_N$file": { + "__uuid__": "95d22fe7-7d01-4c03-bd3a-334278db3d92" + }, + "_isSystemFontUsed": false, + "_spacingX": 0, + "_batchAsBitmap": false, + "_styleFlags": 0, + "_underlineHeight": 0, + "_N$horizontalAlign": 1, + "_N$verticalAlign": 1, + "_N$fontFamily": "Arial", + "_N$overflow": 0, + "_N$cacheMode": 0, + "_id": "59yEAxfQlEiIjiGI78y2FW" + }, { "__type__": "cc.Sprite", "_name": "", "_objFlags": 0, "node": { - "__id__": 605 + "__id__": 615 }, "_enabled": true, "_materials": [ @@ -23737,7 +24325,7 @@ "_name": "", "_objFlags": 0, "node": { - "__id__": 569 + "__id__": 579 }, "_enabled": true, "alignMode": 1, @@ -23768,28 +24356,28 @@ }, "_children": [ { - "__id__": 613 + "__id__": 625 }, { - "__id__": 618 + "__id__": 630 }, { - "__id__": 623 + "__id__": 635 }, { - "__id__": 628 + "__id__": 640 }, { - "__id__": 633 + "__id__": 645 }, { - "__id__": 638 + "__id__": 650 } ], "_active": false, "_components": [ { - "__id__": 644 + "__id__": 658 } ], "_prefab": null, @@ -23845,22 +24433,22 @@ "_name": "New Sprite(Splash)", "_objFlags": 0, "_parent": { - "__id__": 612 + "__id__": 624 }, "_children": [], "_active": true, "_components": [ { - "__id__": 614 + "__id__": 626 }, { - "__id__": 615 + "__id__": 627 }, { - "__id__": 616 + "__id__": 628 }, { - "__id__": 617 + "__id__": 629 } ], "_prefab": null, @@ -23916,7 +24504,7 @@ "_name": "", "_objFlags": 0, "node": { - "__id__": 613 + "__id__": 625 }, "_enabled": true, "_materials": [ @@ -23948,7 +24536,7 @@ "_name": "", "_objFlags": 0, "node": { - "__id__": 613 + "__id__": 625 }, "_enabled": true, "alignMode": 1, @@ -23975,7 +24563,7 @@ "_name": "", "_objFlags": 0, "node": { - "__id__": 613 + "__id__": 625 }, "_enabled": true, "_id": "63PTADk/NM5Yre+yx17HeQ" @@ -23985,7 +24573,7 @@ "_name": "", "_objFlags": 0, "node": { - "__id__": 613 + "__id__": 625 }, "_enabled": true, "_id": "d1eQkPRU1D8afz5Fj2XrkX" @@ -23995,22 +24583,22 @@ "_name": "sp", "_objFlags": 0, "_parent": { - "__id__": 612 + "__id__": 624 }, "_children": [], "_active": true, "_components": [ { - "__id__": 619 + "__id__": 631 }, { - "__id__": 620 + "__id__": 632 }, { - "__id__": 621 + "__id__": 633 }, { - "__id__": 622 + "__id__": 634 } ], "_prefab": null, @@ -24066,7 +24654,7 @@ "_name": "", "_objFlags": 0, "node": { - "__id__": 618 + "__id__": 630 }, "_enabled": true, "_materials": [ @@ -24098,7 +24686,7 @@ "_name": "", "_objFlags": 0, "node": { - "__id__": 618 + "__id__": 630 }, "_enabled": true, "alignMode": 1, @@ -24125,7 +24713,7 @@ "_name": "", "_objFlags": 0, "node": { - "__id__": 618 + "__id__": 630 }, "_enabled": true, "_id": "6aLIg9mopKMo8s21VKxMRH" @@ -24135,7 +24723,7 @@ "_name": "", "_objFlags": 0, "node": { - "__id__": 618 + "__id__": 630 }, "_enabled": true, "_id": "0ckFN4itxF0KCeR5R3+mWH" @@ -24145,22 +24733,22 @@ "_name": "New Sprite(Splash)", "_objFlags": 0, "_parent": { - "__id__": 612 + "__id__": 624 }, "_children": [], "_active": true, "_components": [ { - "__id__": 624 + "__id__": 636 }, { - "__id__": 625 + "__id__": 637 }, { - "__id__": 626 + "__id__": 638 }, { - "__id__": 627 + "__id__": 639 } ], "_prefab": null, @@ -24216,7 +24804,7 @@ "_name": "", "_objFlags": 0, "node": { - "__id__": 623 + "__id__": 635 }, "_enabled": true, "_materials": [ @@ -24248,7 +24836,7 @@ "_name": "", "_objFlags": 0, "node": { - "__id__": 623 + "__id__": 635 }, "_enabled": true, "alignMode": 1, @@ -24275,7 +24863,7 @@ "_name": "", "_objFlags": 0, "node": { - "__id__": 623 + "__id__": 635 }, "_enabled": true, "_id": "51vC4wCwlBPr//5QM+YTxP" @@ -24285,7 +24873,7 @@ "_name": "", "_objFlags": 0, "node": { - "__id__": 623 + "__id__": 635 }, "_enabled": true, "_id": "79d1ziGOtKopzKegQUWr66" @@ -24295,22 +24883,22 @@ "_name": "New Sprite(Splash)", "_objFlags": 0, "_parent": { - "__id__": 612 + "__id__": 624 }, "_children": [], "_active": true, "_components": [ { - "__id__": 629 + "__id__": 641 }, { - "__id__": 630 + "__id__": 642 }, { - "__id__": 631 + "__id__": 643 }, { - "__id__": 632 + "__id__": 644 } ], "_prefab": null, @@ -24366,7 +24954,7 @@ "_name": "", "_objFlags": 0, "node": { - "__id__": 628 + "__id__": 640 }, "_enabled": true, "_materials": [ @@ -24398,7 +24986,7 @@ "_name": "", "_objFlags": 0, "node": { - "__id__": 628 + "__id__": 640 }, "_enabled": true, "alignMode": 1, @@ -24425,7 +25013,7 @@ "_name": "", "_objFlags": 0, "node": { - "__id__": 628 + "__id__": 640 }, "_enabled": true, "_id": "6eHmuRMPpKaqRl2QS3Xt+Y" @@ -24435,7 +25023,7 @@ "_name": "", "_objFlags": 0, "node": { - "__id__": 628 + "__id__": 640 }, "_enabled": true, "_id": "18IBh9JztE+brPHgftqK3V" @@ -24445,22 +25033,22 @@ "_name": "New Sprite(Splash)", "_objFlags": 0, "_parent": { - "__id__": 612 + "__id__": 624 }, "_children": [], "_active": true, "_components": [ { - "__id__": 634 + "__id__": 646 }, { - "__id__": 635 + "__id__": 647 }, { - "__id__": 636 + "__id__": 648 }, { - "__id__": 637 + "__id__": 649 } ], "_prefab": null, @@ -24516,7 +25104,7 @@ "_name": "", "_objFlags": 0, "node": { - "__id__": 633 + "__id__": 645 }, "_enabled": true, "_materials": [ @@ -24548,7 +25136,7 @@ "_name": "", "_objFlags": 0, "node": { - "__id__": 633 + "__id__": 645 }, "_enabled": true, "alignMode": 1, @@ -24575,7 +25163,7 @@ "_name": "", "_objFlags": 0, "node": { - "__id__": 633 + "__id__": 645 }, "_enabled": true, "_id": "cfJOoqcpJPXZFzlJ8cIvc5" @@ -24585,7 +25173,7 @@ "_name": "", "_objFlags": 0, "node": { - "__id__": 633 + "__id__": 645 }, "_enabled": true, "_id": "b4JBhEpwVABb8B9DQt5i/d" @@ -24595,20 +25183,23 @@ "_name": "bg", "_objFlags": 0, "_parent": { - "__id__": 612 + "__id__": 624 }, "_children": [ { - "__id__": 639 + "__id__": 651 }, { - "__id__": 641 + "__id__": 653 + }, + { + "__id__": 655 } ], "_active": true, "_components": [ { - "__id__": 643 + "__id__": 657 } ], "_prefab": null, @@ -24664,13 +25255,13 @@ "_name": "point", "_objFlags": 0, "_parent": { - "__id__": 638 + "__id__": 650 }, "_children": [], "_active": true, "_components": [ { - "__id__": 640 + "__id__": 652 } ], "_prefab": null, @@ -24726,7 +25317,7 @@ "_name": "", "_objFlags": 0, "node": { - "__id__": 639 + "__id__": 651 }, "_enabled": true, "_materials": [ @@ -24760,13 +25351,13 @@ "_name": "content", "_objFlags": 0, "_parent": { - "__id__": 638 + "__id__": 650 }, "_children": [], "_active": true, "_components": [ { - "__id__": 642 + "__id__": 654 } ], "_prefab": null, @@ -24822,7 +25413,7 @@ "_name": "", "_objFlags": 0, "node": { - "__id__": 641 + "__id__": 653 }, "_enabled": true, "_materials": [ @@ -24832,8 +25423,8 @@ ], "_srcBlendFactor": 770, "_dstBlendFactor": 771, - "_string": "息壤遇到入海口时也会自动停下\n快试试吧", - "_N$string": "息壤遇到入海口时也会自动停下\n快试试吧", + "_string": "息壤遇到入海口时也会自动停下\n点击\"息壤\", 快试试吧", + "_N$string": "息壤遇到入海口时也会自动停下\n点击\"息壤\", 快试试吧", "_fontSize": 40, "_lineHeight": 60, "_enableWrapText": true, @@ -24852,12 +25443,109 @@ "_N$cacheMode": 0, "_id": "65a73o6F9DXKG0mO77H1cg" }, + { + "__type__": "cc.Node", + "_name": "content", + "_objFlags": 0, + "_parent": { + "__id__": 650 + }, + "_children": [], + "_active": true, + "_components": [ + { + "__id__": 656 + } + ], + "_prefab": null, + "_opacity": 255, + "_color": { + "__type__": "cc.Color", + "r": 211, + "g": 70, + "b": 70, + "a": 255 + }, + "_contentSize": { + "__type__": "cc.Size", + "width": 224.16, + "height": 135.6 + }, + "_anchorPoint": { + "__type__": "cc.Vec2", + "x": 0.5, + "y": 0.5 + }, + "_trs": { + "__type__": "TypedArray", + "ctor": "Float64Array", + "array": [ + -80.05, + -6.151, + 0, + 0, + 0, + 0, + 1, + 1, + 1, + 1 + ] + }, + "_eulerAngles": { + "__type__": "cc.Vec3", + "x": 0, + "y": 0, + "z": 0 + }, + "_skewX": 0, + "_skewY": 0, + "_is3DNode": false, + "_groupIndex": 0, + "groupIndex": 0, + "_id": "19GEip/MlI8oaMgtn/cj65" + }, + { + "__type__": "cc.Label", + "_name": "", + "_objFlags": 0, + "node": { + "__id__": 655 + }, + "_enabled": true, + "_materials": [ + { + "__uuid__": "eca5d2f2-8ef6-41c2-bbe6-f9c79d09c432" + } + ], + "_srcBlendFactor": 770, + "_dstBlendFactor": 771, + "_string": "\n点击\"息壤\", ", + "_N$string": "\n点击\"息壤\", ", + "_fontSize": 40, + "_lineHeight": 60, + "_enableWrapText": true, + "_N$file": { + "__uuid__": "95d22fe7-7d01-4c03-bd3a-334278db3d92" + }, + "_isSystemFontUsed": false, + "_spacingX": 0, + "_batchAsBitmap": false, + "_styleFlags": 0, + "_underlineHeight": 0, + "_N$horizontalAlign": 1, + "_N$verticalAlign": 1, + "_N$fontFamily": "Arial", + "_N$overflow": 0, + "_N$cacheMode": 0, + "_id": "eeHlu5FlFJ4K8VzMeMAoyN" + }, { "__type__": "cc.Sprite", "_name": "", "_objFlags": 0, "node": { - "__id__": 638 + "__id__": 650 }, "_enabled": true, "_materials": [ @@ -24891,7 +25579,7 @@ "_name": "", "_objFlags": 0, "node": { - "__id__": 612 + "__id__": 624 }, "_enabled": true, "alignMode": 1, @@ -24922,31 +25610,31 @@ }, "_children": [ { - "__id__": 646 + "__id__": 660 }, { - "__id__": 651 + "__id__": 665 }, { - "__id__": 656 + "__id__": 670 }, { - "__id__": 661 + "__id__": 675 }, { - "__id__": 666 + "__id__": 680 }, { - "__id__": 671 + "__id__": 685 }, { - "__id__": 676 + "__id__": 690 } ], "_active": false, "_components": [ { - "__id__": 682 + "__id__": 698 } ], "_prefab": null, @@ -25002,22 +25690,22 @@ "_name": "New Sprite(Splash)", "_objFlags": 0, "_parent": { - "__id__": 645 + "__id__": 659 }, "_children": [], "_active": true, "_components": [ { - "__id__": 647 + "__id__": 661 }, { - "__id__": 648 + "__id__": 662 }, { - "__id__": 649 + "__id__": 663 }, { - "__id__": 650 + "__id__": 664 } ], "_prefab": null, @@ -25073,7 +25761,7 @@ "_name": "", "_objFlags": 0, "node": { - "__id__": 646 + "__id__": 660 }, "_enabled": true, "_materials": [ @@ -25105,7 +25793,7 @@ "_name": "", "_objFlags": 0, "node": { - "__id__": 646 + "__id__": 660 }, "_enabled": true, "alignMode": 1, @@ -25132,7 +25820,7 @@ "_name": "", "_objFlags": 0, "node": { - "__id__": 646 + "__id__": 660 }, "_enabled": true, "_id": "08hU0FKbNASrrBMthUIRG5" @@ -25142,7 +25830,7 @@ "_name": "", "_objFlags": 0, "node": { - "__id__": 646 + "__id__": 660 }, "_enabled": true, "_id": "3fswEILLNLubtAn/3tAJWG" @@ -25152,22 +25840,22 @@ "_name": "sp", "_objFlags": 0, "_parent": { - "__id__": 645 + "__id__": 659 }, "_children": [], "_active": true, "_components": [ { - "__id__": 652 + "__id__": 666 }, { - "__id__": 653 + "__id__": 667 }, { - "__id__": 654 + "__id__": 668 }, { - "__id__": 655 + "__id__": 669 } ], "_prefab": null, @@ -25223,7 +25911,7 @@ "_name": "", "_objFlags": 0, "node": { - "__id__": 651 + "__id__": 665 }, "_enabled": true, "_materials": [ @@ -25255,7 +25943,7 @@ "_name": "", "_objFlags": 0, "node": { - "__id__": 651 + "__id__": 665 }, "_enabled": true, "alignMode": 1, @@ -25282,7 +25970,7 @@ "_name": "", "_objFlags": 0, "node": { - "__id__": 651 + "__id__": 665 }, "_enabled": true, "_id": "00Qad2sg1Hj7itGroF4/zs" @@ -25292,7 +25980,7 @@ "_name": "", "_objFlags": 0, "node": { - "__id__": 651 + "__id__": 665 }, "_enabled": true, "_id": "8azbZA7HJGH6ffTa6XKz+n" @@ -25302,22 +25990,22 @@ "_name": "New Sprite(Splash)", "_objFlags": 0, "_parent": { - "__id__": 645 + "__id__": 659 }, "_children": [], "_active": true, "_components": [ { - "__id__": 657 + "__id__": 671 }, { - "__id__": 658 + "__id__": 672 }, { - "__id__": 659 + "__id__": 673 }, { - "__id__": 660 + "__id__": 674 } ], "_prefab": null, @@ -25373,7 +26061,7 @@ "_name": "", "_objFlags": 0, "node": { - "__id__": 656 + "__id__": 670 }, "_enabled": true, "_materials": [ @@ -25405,7 +26093,7 @@ "_name": "", "_objFlags": 0, "node": { - "__id__": 656 + "__id__": 670 }, "_enabled": true, "alignMode": 1, @@ -25432,7 +26120,7 @@ "_name": "", "_objFlags": 0, "node": { - "__id__": 656 + "__id__": 670 }, "_enabled": true, "_id": "5a6YLlAhFMaYcs26mhXSk1" @@ -25442,7 +26130,7 @@ "_name": "", "_objFlags": 0, "node": { - "__id__": 656 + "__id__": 670 }, "_enabled": true, "_id": "b44Gk+CzFEPJSlgVu+4P9w" @@ -25452,22 +26140,22 @@ "_name": "New Sprite(Splash)", "_objFlags": 0, "_parent": { - "__id__": 645 + "__id__": 659 }, "_children": [], "_active": true, "_components": [ { - "__id__": 662 + "__id__": 676 }, { - "__id__": 663 + "__id__": 677 }, { - "__id__": 664 + "__id__": 678 }, { - "__id__": 665 + "__id__": 679 } ], "_prefab": null, @@ -25523,7 +26211,7 @@ "_name": "", "_objFlags": 0, "node": { - "__id__": 661 + "__id__": 675 }, "_enabled": true, "_materials": [ @@ -25555,7 +26243,7 @@ "_name": "", "_objFlags": 0, "node": { - "__id__": 661 + "__id__": 675 }, "_enabled": true, "alignMode": 1, @@ -25582,7 +26270,7 @@ "_name": "", "_objFlags": 0, "node": { - "__id__": 661 + "__id__": 675 }, "_enabled": true, "_id": "61Vfr07rBIL7J/A7kbtyKo" @@ -25592,7 +26280,7 @@ "_name": "", "_objFlags": 0, "node": { - "__id__": 661 + "__id__": 675 }, "_enabled": true, "_id": "20Ryiks65BVq7wxboM8Jem" @@ -25602,22 +26290,22 @@ "_name": "New Sprite(Splash)", "_objFlags": 0, "_parent": { - "__id__": 645 + "__id__": 659 }, "_children": [], "_active": true, "_components": [ { - "__id__": 667 + "__id__": 681 }, { - "__id__": 668 + "__id__": 682 }, { - "__id__": 669 + "__id__": 683 }, { - "__id__": 670 + "__id__": 684 } ], "_prefab": null, @@ -25673,7 +26361,7 @@ "_name": "", "_objFlags": 0, "node": { - "__id__": 666 + "__id__": 680 }, "_enabled": true, "_materials": [ @@ -25705,7 +26393,7 @@ "_name": "", "_objFlags": 0, "node": { - "__id__": 666 + "__id__": 680 }, "_enabled": true, "alignMode": 1, @@ -25732,7 +26420,7 @@ "_name": "", "_objFlags": 0, "node": { - "__id__": 666 + "__id__": 680 }, "_enabled": true, "_id": "c2rwWRe9pN/7iC4F9ffWYq" @@ -25742,7 +26430,7 @@ "_name": "", "_objFlags": 0, "node": { - "__id__": 666 + "__id__": 680 }, "_enabled": true, "_id": "3cJaWHK11Asqb/gnUJEvgB" @@ -25752,22 +26440,22 @@ "_name": "New Sprite(Splash)", "_objFlags": 0, "_parent": { - "__id__": 645 + "__id__": 659 }, "_children": [], "_active": true, "_components": [ { - "__id__": 672 + "__id__": 686 }, { - "__id__": 673 + "__id__": 687 }, { - "__id__": 674 + "__id__": 688 }, { - "__id__": 675 + "__id__": 689 } ], "_prefab": null, @@ -25823,7 +26511,7 @@ "_name": "", "_objFlags": 0, "node": { - "__id__": 671 + "__id__": 685 }, "_enabled": true, "_materials": [ @@ -25855,7 +26543,7 @@ "_name": "", "_objFlags": 0, "node": { - "__id__": 671 + "__id__": 685 }, "_enabled": true, "alignMode": 1, @@ -25882,7 +26570,7 @@ "_name": "", "_objFlags": 0, "node": { - "__id__": 671 + "__id__": 685 }, "_enabled": true, "_id": "4djucFu/BKkb4M/bHFSou0" @@ -25892,7 +26580,7 @@ "_name": "", "_objFlags": 0, "node": { - "__id__": 671 + "__id__": 685 }, "_enabled": true, "_id": "c8xyGmMD5Oa6hjoeQZgDA+" @@ -25902,20 +26590,23 @@ "_name": "bg", "_objFlags": 0, "_parent": { - "__id__": 645 + "__id__": 659 }, "_children": [ { - "__id__": 677 + "__id__": 691 }, { - "__id__": 679 + "__id__": 693 + }, + { + "__id__": 695 } ], "_active": true, "_components": [ { - "__id__": 681 + "__id__": 697 } ], "_prefab": null, @@ -25930,7 +26621,7 @@ "_contentSize": { "__type__": "cc.Size", "width": 600, - "height": 140 + "height": 180 }, "_anchorPoint": { "__type__": "cc.Vec2", @@ -25942,7 +26633,7 @@ "ctor": "Float64Array", "array": [ 9.265, - -304.15, + -273.26, 0, 0, 0, @@ -25971,13 +26662,13 @@ "_name": "point", "_objFlags": 0, "_parent": { - "__id__": 676 + "__id__": 690 }, "_children": [], "_active": true, "_components": [ { - "__id__": 678 + "__id__": 692 } ], "_prefab": null, @@ -26004,7 +26695,7 @@ "ctor": "Float64Array", "array": [ -159.764, - -95.656, + -119.831, 0, 0, 0, @@ -26033,7 +26724,7 @@ "_name": "", "_objFlags": 0, "node": { - "__id__": 677 + "__id__": 691 }, "_enabled": true, "_materials": [ @@ -26067,13 +26758,13 @@ "_name": "content", "_objFlags": 0, "_parent": { - "__id__": 676 + "__id__": 690 }, "_children": [], "_active": true, "_components": [ { - "__id__": 680 + "__id__": 694 } ], "_prefab": null, @@ -26088,7 +26779,7 @@ "_contentSize": { "__type__": "cc.Size", "width": 520, - "height": 75.6 + "height": 135.6 }, "_anchorPoint": { "__type__": "cc.Vec2", @@ -26129,7 +26820,7 @@ "_name": "", "_objFlags": 0, "node": { - "__id__": 679 + "__id__": 693 }, "_enabled": true, "_materials": [ @@ -26139,8 +26830,8 @@ ], "_srcBlendFactor": 770, "_dstBlendFactor": 771, - "_string": "使用息壤后,向下引入入海口", - "_N$string": "使用息壤后,向下引入入海口", + "_string": "使用息壤后,向下引入入海口\n点击\"下\"", + "_N$string": "使用息壤后,向下引入入海口\n点击\"下\"", "_fontSize": 40, "_lineHeight": 60, "_enableWrapText": true, @@ -26159,12 +26850,109 @@ "_N$cacheMode": 0, "_id": "eceo/wZWlDs4/IQpm5Oy1n" }, + { + "__type__": "cc.Node", + "_name": "content", + "_objFlags": 0, + "_parent": { + "__id__": 690 + }, + "_children": [], + "_active": true, + "_components": [ + { + "__id__": 696 + } + ], + "_prefab": null, + "_opacity": 255, + "_color": { + "__type__": "cc.Color", + "r": 211, + "g": 70, + "b": 70, + "a": 255 + }, + "_contentSize": { + "__type__": "cc.Size", + "width": 158.72, + "height": 135.6 + }, + "_anchorPoint": { + "__type__": "cc.Vec2", + "x": 0.5, + "y": 0.5 + }, + "_trs": { + "__type__": "TypedArray", + "ctor": "Float64Array", + "array": [ + 0, + 2.842, + 0, + 0, + 0, + 0, + 1, + 1, + 1, + 1 + ] + }, + "_eulerAngles": { + "__type__": "cc.Vec3", + "x": 0, + "y": 0, + "z": 0 + }, + "_skewX": 0, + "_skewY": 0, + "_is3DNode": false, + "_groupIndex": 0, + "groupIndex": 0, + "_id": "27RSqUYTtEuofc2d7KYug+" + }, + { + "__type__": "cc.Label", + "_name": "", + "_objFlags": 0, + "node": { + "__id__": 695 + }, + "_enabled": true, + "_materials": [ + { + "__uuid__": "eca5d2f2-8ef6-41c2-bbe6-f9c79d09c432" + } + ], + "_srcBlendFactor": 770, + "_dstBlendFactor": 771, + "_string": "\n点击\"下\"", + "_N$string": "\n点击\"下\"", + "_fontSize": 40, + "_lineHeight": 60, + "_enableWrapText": true, + "_N$file": { + "__uuid__": "95d22fe7-7d01-4c03-bd3a-334278db3d92" + }, + "_isSystemFontUsed": false, + "_spacingX": 0, + "_batchAsBitmap": false, + "_styleFlags": 0, + "_underlineHeight": 0, + "_N$horizontalAlign": 1, + "_N$verticalAlign": 1, + "_N$fontFamily": "Arial", + "_N$overflow": 0, + "_N$cacheMode": 0, + "_id": "87IJ+AttVFjaxSzBUrYd89" + }, { "__type__": "cc.Sprite", "_name": "", "_objFlags": 0, "node": { - "__id__": 676 + "__id__": 690 }, "_enabled": true, "_materials": [ @@ -26198,7 +26986,7 @@ "_name": "", "_objFlags": 0, "node": { - "__id__": 645 + "__id__": 659 }, "_enabled": true, "alignMode": 1, @@ -26229,22 +27017,22 @@ }, "_children": [ { - "__id__": 684 + "__id__": 700 }, { - "__id__": 689 + "__id__": 705 }, { - "__id__": 694 + "__id__": 710 }, { - "__id__": 699 + "__id__": 715 } ], "_active": false, "_components": [ { - "__id__": 705 + "__id__": 723 } ], "_prefab": null, @@ -26300,22 +27088,22 @@ "_name": "New Sprite(Splash)", "_objFlags": 0, "_parent": { - "__id__": 683 + "__id__": 699 }, "_children": [], "_active": true, "_components": [ { - "__id__": 685 + "__id__": 701 }, { - "__id__": 686 + "__id__": 702 }, { - "__id__": 687 + "__id__": 703 }, { - "__id__": 688 + "__id__": 704 } ], "_prefab": null, @@ -26371,7 +27159,7 @@ "_name": "", "_objFlags": 0, "node": { - "__id__": 684 + "__id__": 700 }, "_enabled": true, "_materials": [ @@ -26403,7 +27191,7 @@ "_name": "", "_objFlags": 0, "node": { - "__id__": 684 + "__id__": 700 }, "_enabled": true, "alignMode": 1, @@ -26430,7 +27218,7 @@ "_name": "", "_objFlags": 0, "node": { - "__id__": 684 + "__id__": 700 }, "_enabled": true, "_id": "a0SFwOysZGGYsROyZvfTlg" @@ -26440,7 +27228,7 @@ "_name": "", "_objFlags": 0, "node": { - "__id__": 684 + "__id__": 700 }, "_enabled": true, "_id": "1analkSKJG84mYCKGd++in" @@ -26450,22 +27238,22 @@ "_name": "sp", "_objFlags": 0, "_parent": { - "__id__": 683 + "__id__": 699 }, "_children": [], "_active": true, "_components": [ { - "__id__": 690 + "__id__": 706 }, { - "__id__": 691 + "__id__": 707 }, { - "__id__": 692 + "__id__": 708 }, { - "__id__": 693 + "__id__": 709 } ], "_prefab": null, @@ -26521,7 +27309,7 @@ "_name": "", "_objFlags": 0, "node": { - "__id__": 689 + "__id__": 705 }, "_enabled": true, "_materials": [ @@ -26553,7 +27341,7 @@ "_name": "", "_objFlags": 0, "node": { - "__id__": 689 + "__id__": 705 }, "_enabled": true, "alignMode": 1, @@ -26580,7 +27368,7 @@ "_name": "", "_objFlags": 0, "node": { - "__id__": 689 + "__id__": 705 }, "_enabled": true, "_id": "eci+V42ppI34DmquumrM3h" @@ -26590,7 +27378,7 @@ "_name": "", "_objFlags": 0, "node": { - "__id__": 689 + "__id__": 705 }, "_enabled": true, "_id": "20eytDPdROZbEWuj10o6Hc" @@ -26600,22 +27388,22 @@ "_name": "New Sprite(Splash)", "_objFlags": 0, "_parent": { - "__id__": 683 + "__id__": 699 }, "_children": [], "_active": true, "_components": [ { - "__id__": 695 + "__id__": 711 }, { - "__id__": 696 + "__id__": 712 }, { - "__id__": 697 + "__id__": 713 }, { - "__id__": 698 + "__id__": 714 } ], "_prefab": null, @@ -26671,7 +27459,7 @@ "_name": "", "_objFlags": 0, "node": { - "__id__": 694 + "__id__": 710 }, "_enabled": true, "_materials": [ @@ -26703,7 +27491,7 @@ "_name": "", "_objFlags": 0, "node": { - "__id__": 694 + "__id__": 710 }, "_enabled": true, "alignMode": 1, @@ -26730,7 +27518,7 @@ "_name": "", "_objFlags": 0, "node": { - "__id__": 694 + "__id__": 710 }, "_enabled": true, "_id": "e6NoeJaYlJ9ZDEw5cZum68" @@ -26740,7 +27528,7 @@ "_name": "", "_objFlags": 0, "node": { - "__id__": 694 + "__id__": 710 }, "_enabled": true, "_id": "24dAZeaOFGWLxjMhCinpCJ" @@ -26750,20 +27538,23 @@ "_name": "bg", "_objFlags": 0, "_parent": { - "__id__": 683 + "__id__": 699 }, "_children": [ { - "__id__": 700 + "__id__": 716 }, { - "__id__": 702 + "__id__": 718 + }, + { + "__id__": 720 } ], "_active": true, "_components": [ { - "__id__": 704 + "__id__": 722 } ], "_prefab": null, @@ -26778,7 +27569,7 @@ "_contentSize": { "__type__": "cc.Size", "width": 600, - "height": 140 + "height": 180 }, "_anchorPoint": { "__type__": "cc.Vec2", @@ -26819,13 +27610,13 @@ "_name": "point", "_objFlags": 0, "_parent": { - "__id__": 699 + "__id__": 715 }, "_children": [], "_active": true, "_components": [ { - "__id__": 701 + "__id__": 717 } ], "_prefab": null, @@ -26852,7 +27643,7 @@ "ctor": "Float64Array", "array": [ 150.517, - -95.656, + -114.998, 0, 0, 0, @@ -26881,7 +27672,7 @@ "_name": "", "_objFlags": 0, "node": { - "__id__": 700 + "__id__": 716 }, "_enabled": true, "_materials": [ @@ -26915,13 +27706,13 @@ "_name": "content", "_objFlags": 0, "_parent": { - "__id__": 699 + "__id__": 715 }, "_children": [], "_active": true, "_components": [ { - "__id__": 703 + "__id__": 719 } ], "_prefab": null, @@ -26935,7 +27726,7 @@ }, "_contentSize": { "__type__": "cc.Size", - "width": 360, + "width": 424.16, "height": 135.6 }, "_anchorPoint": { @@ -26977,7 +27768,7 @@ "_name": "", "_objFlags": 0, "node": { - "__id__": 702 + "__id__": 718 }, "_enabled": true, "_materials": [ @@ -26987,8 +27778,8 @@ ], "_srcBlendFactor": 770, "_dstBlendFactor": 771, - "_string": "开始修建堤坝来引导\n洪水吧", - "_N$string": "开始修建堤坝来引导\n洪水吧", + "_string": "开始修建堤坝来引导\n洪水吧, 点击\"开始修建\"", + "_N$string": "开始修建堤坝来引导\n洪水吧, 点击\"开始修建\"", "_fontSize": 40, "_lineHeight": 60, "_enableWrapText": true, @@ -27007,12 +27798,109 @@ "_N$cacheMode": 0, "_id": "77SCtY6UdPr6nxug8FxbBI" }, + { + "__type__": "cc.Node", + "_name": "content", + "_objFlags": 0, + "_parent": { + "__id__": 715 + }, + "_children": [], + "_active": true, + "_components": [ + { + "__id__": 721 + } + ], + "_prefab": null, + "_opacity": 255, + "_color": { + "__type__": "cc.Color", + "r": 211, + "g": 70, + "b": 70, + "a": 255 + }, + "_contentSize": { + "__type__": "cc.Size", + "width": 278.72, + "height": 135.6 + }, + "_anchorPoint": { + "__type__": "cc.Vec2", + "x": 0.5, + "y": 0.5 + }, + "_trs": { + "__type__": "TypedArray", + "ctor": "Float64Array", + "array": [ + 73.384, + -2.302, + 0, + 0, + 0, + 0, + 1, + 1, + 1, + 1 + ] + }, + "_eulerAngles": { + "__type__": "cc.Vec3", + "x": 0, + "y": 0, + "z": 0 + }, + "_skewX": 0, + "_skewY": 0, + "_is3DNode": false, + "_groupIndex": 0, + "groupIndex": 0, + "_id": "fdUQTeOzlBVoyAPMuiB5NN" + }, + { + "__type__": "cc.Label", + "_name": "", + "_objFlags": 0, + "node": { + "__id__": 720 + }, + "_enabled": true, + "_materials": [ + { + "__uuid__": "eca5d2f2-8ef6-41c2-bbe6-f9c79d09c432" + } + ], + "_srcBlendFactor": 770, + "_dstBlendFactor": 771, + "_string": "\n点击\"开始修建\"", + "_N$string": "\n点击\"开始修建\"", + "_fontSize": 40, + "_lineHeight": 60, + "_enableWrapText": true, + "_N$file": { + "__uuid__": "95d22fe7-7d01-4c03-bd3a-334278db3d92" + }, + "_isSystemFontUsed": false, + "_spacingX": 0, + "_batchAsBitmap": false, + "_styleFlags": 0, + "_underlineHeight": 0, + "_N$horizontalAlign": 1, + "_N$verticalAlign": 1, + "_N$fontFamily": "Arial", + "_N$overflow": 0, + "_N$cacheMode": 0, + "_id": "fcKq3n1BVFFLv19U4L0PnT" + }, { "__type__": "cc.Sprite", "_name": "", "_objFlags": 0, "node": { - "__id__": 699 + "__id__": 715 }, "_enabled": true, "_materials": [ @@ -27046,7 +27934,7 @@ "_name": "", "_objFlags": 0, "node": { - "__id__": 683 + "__id__": 699 }, "_enabled": true, "alignMode": 1, @@ -27104,25 +27992,25 @@ }, "_children": [ { - "__id__": 708 + "__id__": 726 }, { - "__id__": 712 + "__id__": 730 }, { - "__id__": 714 + "__id__": 732 }, { - "__id__": 716 + "__id__": 734 } ], "_active": false, "_components": [ { - "__id__": 718 + "__id__": 736 }, { - "__id__": 719 + "__id__": 737 } ], "_prefab": null, @@ -27178,19 +28066,19 @@ "_name": "New Sprite(Splash)", "_objFlags": 0, "_parent": { - "__id__": 707 + "__id__": 725 }, "_children": [], "_active": true, "_components": [ { - "__id__": 709 + "__id__": 727 }, { - "__id__": 710 + "__id__": 728 }, { - "__id__": 711 + "__id__": 729 } ], "_prefab": null, @@ -27246,7 +28134,7 @@ "_name": "", "_objFlags": 0, "node": { - "__id__": 708 + "__id__": 726 }, "_enabled": true, "_materials": [ @@ -27278,7 +28166,7 @@ "_name": "", "_objFlags": 0, "node": { - "__id__": 708 + "__id__": 726 }, "_enabled": true, "alignMode": 1, @@ -27305,7 +28193,7 @@ "_name": "", "_objFlags": 0, "node": { - "__id__": 708 + "__id__": 726 }, "_enabled": true, "_id": "48UOjmiItC9p2DjRjI1i0J" @@ -27315,13 +28203,13 @@ "_name": "win", "_objFlags": 0, "_parent": { - "__id__": 707 + "__id__": 725 }, "_children": [], "_active": false, "_components": [ { - "__id__": 713 + "__id__": 731 } ], "_prefab": null, @@ -27377,7 +28265,7 @@ "_name": "", "_objFlags": 0, "node": { - "__id__": 712 + "__id__": 730 }, "_enabled": true, "_materials": [ @@ -27411,13 +28299,13 @@ "_name": "lose", "_objFlags": 0, "_parent": { - "__id__": 707 + "__id__": 725 }, "_children": [], "_active": false, "_components": [ { - "__id__": 715 + "__id__": 733 } ], "_prefab": null, @@ -27473,7 +28361,7 @@ "_name": "", "_objFlags": 0, "node": { - "__id__": 714 + "__id__": 732 }, "_enabled": true, "_materials": [ @@ -27507,13 +28395,13 @@ "_name": "finishi", "_objFlags": 0, "_parent": { - "__id__": 707 + "__id__": 725 }, "_children": [], "_active": false, "_components": [ { - "__id__": 717 + "__id__": 735 } ], "_prefab": null, @@ -27569,7 +28457,7 @@ "_name": "", "_objFlags": 0, "node": { - "__id__": 716 + "__id__": 734 }, "_enabled": true, "_materials": [ @@ -27603,7 +28491,7 @@ "_name": "", "_objFlags": 0, "node": { - "__id__": 707 + "__id__": 725 }, "_enabled": true, "alignMode": 1, @@ -27630,7 +28518,7 @@ "_name": "", "_objFlags": 0, "node": { - "__id__": 707 + "__id__": 725 }, "_enabled": true, "_id": "fd787yJchCN4G2UQeUfQGz" diff --git a/assets/Scene/LoadScene.fire b/assets/Scene/LoadScene.fire index 0c57fca..fedd2c0 100644 --- a/assets/Scene/LoadScene.fire +++ b/assets/Scene/LoadScene.fire @@ -1423,8 +1423,8 @@ "__id__": 4 }, "_enabled": true, - "localTest": true, - "clientTestVersion": "1.1.5", + "localTest": false, + "clientTestVersion": "1.2.9", "testVersion": { "__id__": 19 }, diff --git a/assets/Scene/OverScene.fire b/assets/Scene/OverScene.fire index 4f519eb..799fd91 100644 --- a/assets/Scene/OverScene.fire +++ b/assets/Scene/OverScene.fire @@ -89,9 +89,6 @@ { "__id__": 28 }, - { - "__id__": 30 - }, { "__id__": 32 }, @@ -99,31 +96,37 @@ "__id__": 34 }, { - "__id__": 54 + "__id__": 36 }, { - "__id__": 65 + "__id__": 38 }, { - "__id__": 76 + "__id__": 58 }, { - "__id__": 87 + "__id__": 69 }, { - "__id__": 100 + "__id__": 80 + }, + { + "__id__": 91 + }, + { + "__id__": 104 } ], "_active": true, "_components": [ { - "__id__": 113 + "__id__": 117 }, { - "__id__": 114 + "__id__": 118 }, { - "__id__": 115 + "__id__": 119 } ], "_prefab": null, @@ -1350,6 +1353,187 @@ "handler": "openRank", "customEventData": "" }, + { + "__type__": "cc.Node", + "_name": "finishi", + "_objFlags": 0, + "_parent": { + "__id__": 2 + }, + "_children": [], + "_active": false, + "_components": [ + { + "__id__": 29 + }, + { + "__id__": 30 + } + ], + "_prefab": null, + "_opacity": 255, + "_color": { + "__type__": "cc.Color", + "r": 255, + "g": 255, + "b": 255, + "a": 255 + }, + "_contentSize": { + "__type__": "cc.Size", + "width": 269, + "height": 74 + }, + "_anchorPoint": { + "__type__": "cc.Vec2", + "x": 0.5, + "y": 0.5 + }, + "_trs": { + "__type__": "TypedArray", + "ctor": "Float64Array", + "array": [ + 0, + -402.162, + 0, + 0, + 0, + 0, + 1, + 1, + 1, + 0 + ] + }, + "_eulerAngles": { + "__type__": "cc.Vec3", + "x": 0, + "y": 0, + "z": 0 + }, + "_skewX": 0, + "_skewY": 0, + "_is3DNode": false, + "_groupIndex": 0, + "groupIndex": 0, + "_id": "dbl8LticVJJbe6BSyGvvTq" + }, + { + "__type__": "cc.Sprite", + "_name": "", + "_objFlags": 0, + "node": { + "__id__": 28 + }, + "_enabled": true, + "_materials": [ + { + "__uuid__": "eca5d2f2-8ef6-41c2-bbe6-f9c79d09c432" + } + ], + "_srcBlendFactor": 770, + "_dstBlendFactor": 771, + "_spriteFrame": { + "__uuid__": "1b982a20-7926-44fc-80aa-d96fa01d06ae" + }, + "_type": 0, + "_sizeMode": 1, + "_fillType": 0, + "_fillCenter": { + "__type__": "cc.Vec2", + "x": 0, + "y": 0 + }, + "_fillStart": 0, + "_fillRange": 0, + "_isTrimmedMode": true, + "_atlas": null, + "_id": "96siHyJz1BYYtdjvhhErCL" + }, + { + "__type__": "cc.Button", + "_name": "", + "_objFlags": 0, + "node": { + "__id__": 28 + }, + "_enabled": true, + "_normalMaterial": null, + "_grayMaterial": null, + "duration": 0.1, + "zoomScale": 1.1, + "clickEvents": [ + { + "__id__": 31 + } + ], + "_N$interactable": true, + "_N$enableAutoGrayEffect": false, + "_N$transition": 3, + "transition": 3, + "_N$normalColor": { + "__type__": "cc.Color", + "r": 255, + "g": 255, + "b": 255, + "a": 255 + }, + "_N$pressedColor": { + "__type__": "cc.Color", + "r": 211, + "g": 211, + "b": 211, + "a": 255 + }, + "pressedColor": { + "__type__": "cc.Color", + "r": 211, + "g": 211, + "b": 211, + "a": 255 + }, + "_N$hoverColor": { + "__type__": "cc.Color", + "r": 255, + "g": 255, + "b": 255, + "a": 255 + }, + "hoverColor": { + "__type__": "cc.Color", + "r": 255, + "g": 255, + "b": 255, + "a": 255 + }, + "_N$disabledColor": { + "__type__": "cc.Color", + "r": 124, + "g": 124, + "b": 124, + "a": 255 + }, + "_N$normalSprite": null, + "_N$pressedSprite": null, + "pressedSprite": null, + "_N$hoverSprite": null, + "hoverSprite": null, + "_N$disabledSprite": null, + "_N$target": { + "__id__": 28 + }, + "_id": "3eXpav43tCS4Lr0W8BQTu1" + }, + { + "__type__": "cc.ClickEvent", + "target": { + "__id__": 2 + }, + "component": "", + "_componentId": "805c6nf399HWZeuWnNB9CTH", + "handler": "jumpFinishi", + "customEventData": "" + }, { "__type__": "cc.Node", "_name": "count", @@ -1361,7 +1545,7 @@ "_active": true, "_components": [ { - "__id__": 29 + "__id__": 33 } ], "_prefab": null, @@ -1417,7 +1601,7 @@ "_name": "", "_objFlags": 0, "node": { - "__id__": 28 + "__id__": 32 }, "_enabled": true, "_materials": [ @@ -1458,7 +1642,7 @@ "_active": true, "_components": [ { - "__id__": 31 + "__id__": 35 } ], "_prefab": null, @@ -1514,7 +1698,7 @@ "_name": "", "_objFlags": 0, "node": { - "__id__": 30 + "__id__": 34 }, "_enabled": true, "_materials": [ @@ -1555,7 +1739,7 @@ "_active": true, "_components": [ { - "__id__": 33 + "__id__": 37 } ], "_prefab": null, @@ -1611,7 +1795,7 @@ "_name": "", "_objFlags": 0, "node": { - "__id__": 32 + "__id__": 36 }, "_enabled": true, "_materials": [ @@ -1648,15 +1832,9 @@ "__id__": 2 }, "_children": [ - { - "__id__": 35 - }, { "__id__": 39 }, - { - "__id__": 41 - }, { "__id__": 43 }, @@ -1665,6 +1843,12 @@ }, { "__id__": 47 + }, + { + "__id__": 49 + }, + { + "__id__": 51 } ], "_active": true, @@ -1722,17 +1906,17 @@ "_name": "pic", "_objFlags": 0, "_parent": { - "__id__": 34 + "__id__": 38 }, "_children": [ { - "__id__": 36 + "__id__": 40 } ], "_active": true, "_components": [ { - "__id__": 38 + "__id__": 42 } ], "_prefab": null, @@ -1788,13 +1972,13 @@ "_name": "icon", "_objFlags": 0, "_parent": { - "__id__": 35 + "__id__": 39 }, "_children": [], "_active": true, "_components": [ { - "__id__": 37 + "__id__": 41 } ], "_prefab": null, @@ -1850,7 +2034,7 @@ "_name": "", "_objFlags": 0, "node": { - "__id__": 36 + "__id__": 40 }, "_enabled": true, "_materials": [ @@ -1880,7 +2064,7 @@ "_name": "", "_objFlags": 0, "node": { - "__id__": 35 + "__id__": 39 }, "_enabled": true, "_materials": [ @@ -1900,13 +2084,13 @@ "_name": "rankBg", "_objFlags": 0, "_parent": { - "__id__": 34 + "__id__": 38 }, "_children": [], "_active": true, "_components": [ { - "__id__": 40 + "__id__": 44 } ], "_prefab": null, @@ -1962,7 +2146,7 @@ "_name": "", "_objFlags": 0, "node": { - "__id__": 39 + "__id__": 43 }, "_enabled": true, "_materials": [ @@ -1992,13 +2176,13 @@ "_name": "totalLab", "_objFlags": 0, "_parent": { - "__id__": 34 + "__id__": 38 }, "_children": [], "_active": true, "_components": [ { - "__id__": 42 + "__id__": 46 } ], "_prefab": null, @@ -2054,7 +2238,7 @@ "_name": "", "_objFlags": 0, "node": { - "__id__": 41 + "__id__": 45 }, "_enabled": true, "_materials": [ @@ -2087,13 +2271,13 @@ "_name": "nameLab", "_objFlags": 0, "_parent": { - "__id__": 34 + "__id__": 38 }, "_children": [], "_active": true, "_components": [ { - "__id__": 44 + "__id__": 48 } ], "_prefab": null, @@ -2149,7 +2333,7 @@ "_name": "", "_objFlags": 0, "node": { - "__id__": 43 + "__id__": 47 }, "_enabled": true, "_materials": [ @@ -2182,13 +2366,13 @@ "_name": "rankLab", "_objFlags": 0, "_parent": { - "__id__": 34 + "__id__": 38 }, "_children": [], "_active": true, "_components": [ { - "__id__": 46 + "__id__": 50 } ], "_prefab": null, @@ -2244,7 +2428,7 @@ "_name": "", "_objFlags": 0, "node": { - "__id__": 45 + "__id__": 49 }, "_enabled": true, "_materials": [ @@ -2277,17 +2461,17 @@ "_name": "rank", "_objFlags": 0, "_parent": { - "__id__": 34 + "__id__": 38 }, "_children": [ - { - "__id__": 48 - }, - { - "__id__": 50 - }, { "__id__": 52 + }, + { + "__id__": 54 + }, + { + "__id__": 56 } ], "_active": true, @@ -2345,13 +2529,13 @@ "_name": "one", "_objFlags": 0, "_parent": { - "__id__": 47 + "__id__": 51 }, "_children": [], "_active": false, "_components": [ { - "__id__": 49 + "__id__": 53 } ], "_prefab": null, @@ -2407,7 +2591,7 @@ "_name": "", "_objFlags": 0, "node": { - "__id__": 48 + "__id__": 52 }, "_enabled": true, "_materials": [ @@ -2437,13 +2621,13 @@ "_name": "two", "_objFlags": 0, "_parent": { - "__id__": 47 + "__id__": 51 }, "_children": [], "_active": false, "_components": [ { - "__id__": 51 + "__id__": 55 } ], "_prefab": null, @@ -2499,7 +2683,7 @@ "_name": "", "_objFlags": 0, "node": { - "__id__": 50 + "__id__": 54 }, "_enabled": true, "_materials": [ @@ -2529,13 +2713,13 @@ "_name": "three", "_objFlags": 0, "_parent": { - "__id__": 47 + "__id__": 51 }, "_children": [], "_active": false, "_components": [ { - "__id__": 53 + "__id__": 57 } ], "_prefab": null, @@ -2591,7 +2775,7 @@ "_name": "", "_objFlags": 0, "node": { - "__id__": 52 + "__id__": 56 }, "_enabled": true, "_materials": [ @@ -2624,17 +2808,17 @@ "__id__": 2 }, "_children": [ - { - "__id__": 55 - }, { "__id__": 59 }, { - "__id__": 61 + "__id__": 63 }, { - "__id__": 63 + "__id__": 65 + }, + { + "__id__": 67 } ], "_active": true, @@ -2692,17 +2876,17 @@ "_name": "pic", "_objFlags": 0, "_parent": { - "__id__": 54 + "__id__": 58 }, "_children": [ { - "__id__": 56 + "__id__": 60 } ], "_active": true, "_components": [ { - "__id__": 58 + "__id__": 62 } ], "_prefab": null, @@ -2758,13 +2942,13 @@ "_name": "icon", "_objFlags": 0, "_parent": { - "__id__": 55 + "__id__": 59 }, "_children": [], "_active": true, "_components": [ { - "__id__": 57 + "__id__": 61 } ], "_prefab": null, @@ -2820,7 +3004,7 @@ "_name": "", "_objFlags": 0, "node": { - "__id__": 56 + "__id__": 60 }, "_enabled": true, "_materials": [ @@ -2850,7 +3034,7 @@ "_name": "", "_objFlags": 0, "node": { - "__id__": 55 + "__id__": 59 }, "_enabled": true, "_materials": [ @@ -2870,13 +3054,13 @@ "_name": "rankBg", "_objFlags": 0, "_parent": { - "__id__": 54 + "__id__": 58 }, "_children": [], "_active": true, "_components": [ { - "__id__": 60 + "__id__": 64 } ], "_prefab": null, @@ -2932,7 +3116,7 @@ "_name": "", "_objFlags": 0, "node": { - "__id__": 59 + "__id__": 63 }, "_enabled": true, "_materials": [ @@ -2966,13 +3150,13 @@ "_name": "total", "_objFlags": 0, "_parent": { - "__id__": 54 + "__id__": 58 }, "_children": [], "_active": true, "_components": [ { - "__id__": 62 + "__id__": 66 } ], "_prefab": null, @@ -3028,7 +3212,7 @@ "_name": "", "_objFlags": 0, "node": { - "__id__": 61 + "__id__": 65 }, "_enabled": true, "_materials": [ @@ -3061,13 +3245,13 @@ "_name": "name", "_objFlags": 0, "_parent": { - "__id__": 54 + "__id__": 58 }, "_children": [], "_active": true, "_components": [ { - "__id__": 64 + "__id__": 68 } ], "_prefab": null, @@ -3123,7 +3307,7 @@ "_name": "", "_objFlags": 0, "node": { - "__id__": 63 + "__id__": 67 }, "_enabled": true, "_materials": [ @@ -3159,17 +3343,17 @@ "__id__": 2 }, "_children": [ - { - "__id__": 66 - }, { "__id__": 70 }, { - "__id__": 72 + "__id__": 74 }, { - "__id__": 74 + "__id__": 76 + }, + { + "__id__": 78 } ], "_active": true, @@ -3227,17 +3411,17 @@ "_name": "pic", "_objFlags": 0, "_parent": { - "__id__": 65 + "__id__": 69 }, "_children": [ { - "__id__": 67 + "__id__": 71 } ], "_active": true, "_components": [ { - "__id__": 69 + "__id__": 73 } ], "_prefab": null, @@ -3293,13 +3477,13 @@ "_name": "icon", "_objFlags": 0, "_parent": { - "__id__": 66 + "__id__": 70 }, "_children": [], "_active": true, "_components": [ { - "__id__": 68 + "__id__": 72 } ], "_prefab": null, @@ -3355,7 +3539,7 @@ "_name": "", "_objFlags": 0, "node": { - "__id__": 67 + "__id__": 71 }, "_enabled": true, "_materials": [ @@ -3385,7 +3569,7 @@ "_name": "", "_objFlags": 0, "node": { - "__id__": 66 + "__id__": 70 }, "_enabled": true, "_materials": [ @@ -3405,13 +3589,13 @@ "_name": "rankBg", "_objFlags": 0, "_parent": { - "__id__": 65 + "__id__": 69 }, "_children": [], "_active": true, "_components": [ { - "__id__": 71 + "__id__": 75 } ], "_prefab": null, @@ -3467,7 +3651,7 @@ "_name": "", "_objFlags": 0, "node": { - "__id__": 70 + "__id__": 74 }, "_enabled": true, "_materials": [ @@ -3501,13 +3685,13 @@ "_name": "total", "_objFlags": 0, "_parent": { - "__id__": 65 + "__id__": 69 }, "_children": [], "_active": true, "_components": [ { - "__id__": 73 + "__id__": 77 } ], "_prefab": null, @@ -3563,7 +3747,7 @@ "_name": "", "_objFlags": 0, "node": { - "__id__": 72 + "__id__": 76 }, "_enabled": true, "_materials": [ @@ -3596,13 +3780,13 @@ "_name": "name", "_objFlags": 0, "_parent": { - "__id__": 65 + "__id__": 69 }, "_children": [], "_active": true, "_components": [ { - "__id__": 75 + "__id__": 79 } ], "_prefab": null, @@ -3658,7 +3842,7 @@ "_name": "", "_objFlags": 0, "node": { - "__id__": 74 + "__id__": 78 }, "_enabled": true, "_materials": [ @@ -3694,17 +3878,17 @@ "__id__": 2 }, "_children": [ - { - "__id__": 77 - }, { "__id__": 81 }, { - "__id__": 83 + "__id__": 85 }, { - "__id__": 85 + "__id__": 87 + }, + { + "__id__": 89 } ], "_active": true, @@ -3762,17 +3946,17 @@ "_name": "pic", "_objFlags": 0, "_parent": { - "__id__": 76 + "__id__": 80 }, "_children": [ { - "__id__": 78 + "__id__": 82 } ], "_active": true, "_components": [ { - "__id__": 80 + "__id__": 84 } ], "_prefab": null, @@ -3828,13 +4012,13 @@ "_name": "icon", "_objFlags": 0, "_parent": { - "__id__": 77 + "__id__": 81 }, "_children": [], "_active": true, "_components": [ { - "__id__": 79 + "__id__": 83 } ], "_prefab": null, @@ -3890,7 +4074,7 @@ "_name": "", "_objFlags": 0, "node": { - "__id__": 78 + "__id__": 82 }, "_enabled": true, "_materials": [ @@ -3920,7 +4104,7 @@ "_name": "", "_objFlags": 0, "node": { - "__id__": 77 + "__id__": 81 }, "_enabled": true, "_materials": [ @@ -3940,13 +4124,13 @@ "_name": "rankBg", "_objFlags": 0, "_parent": { - "__id__": 76 + "__id__": 80 }, "_children": [], "_active": true, "_components": [ { - "__id__": 82 + "__id__": 86 } ], "_prefab": null, @@ -4002,7 +4186,7 @@ "_name": "", "_objFlags": 0, "node": { - "__id__": 81 + "__id__": 85 }, "_enabled": true, "_materials": [ @@ -4036,13 +4220,13 @@ "_name": "total", "_objFlags": 0, "_parent": { - "__id__": 76 + "__id__": 80 }, "_children": [], "_active": true, "_components": [ { - "__id__": 84 + "__id__": 88 } ], "_prefab": null, @@ -4098,7 +4282,7 @@ "_name": "", "_objFlags": 0, "node": { - "__id__": 83 + "__id__": 87 }, "_enabled": true, "_materials": [ @@ -4131,13 +4315,13 @@ "_name": "name", "_objFlags": 0, "_parent": { - "__id__": 76 + "__id__": 80 }, "_children": [], "_active": true, "_components": [ { - "__id__": 86 + "__id__": 90 } ], "_prefab": null, @@ -4193,7 +4377,7 @@ "_name": "", "_objFlags": 0, "node": { - "__id__": 85 + "__id__": 89 }, "_enabled": true, "_materials": [ @@ -4229,20 +4413,20 @@ "__id__": 2 }, "_children": [ - { - "__id__": 88 - }, { "__id__": 92 }, - { - "__id__": 94 - }, { "__id__": 96 }, { "__id__": 98 + }, + { + "__id__": 100 + }, + { + "__id__": 102 } ], "_active": true, @@ -4300,17 +4484,17 @@ "_name": "pic", "_objFlags": 0, "_parent": { - "__id__": 87 + "__id__": 91 }, "_children": [ { - "__id__": 89 + "__id__": 93 } ], "_active": true, "_components": [ { - "__id__": 91 + "__id__": 95 } ], "_prefab": null, @@ -4366,13 +4550,13 @@ "_name": "icon", "_objFlags": 0, "_parent": { - "__id__": 88 + "__id__": 92 }, "_children": [], "_active": true, "_components": [ { - "__id__": 90 + "__id__": 94 } ], "_prefab": null, @@ -4428,7 +4612,7 @@ "_name": "", "_objFlags": 0, "node": { - "__id__": 89 + "__id__": 93 }, "_enabled": true, "_materials": [ @@ -4458,7 +4642,7 @@ "_name": "", "_objFlags": 0, "node": { - "__id__": 88 + "__id__": 92 }, "_enabled": true, "_materials": [ @@ -4478,13 +4662,13 @@ "_name": "rankBg", "_objFlags": 0, "_parent": { - "__id__": 87 + "__id__": 91 }, "_children": [], "_active": true, "_components": [ { - "__id__": 93 + "__id__": 97 } ], "_prefab": null, @@ -4540,7 +4724,7 @@ "_name": "", "_objFlags": 0, "node": { - "__id__": 92 + "__id__": 96 }, "_enabled": true, "_materials": [ @@ -4570,13 +4754,13 @@ "_name": "total", "_objFlags": 0, "_parent": { - "__id__": 87 + "__id__": 91 }, "_children": [], "_active": true, "_components": [ { - "__id__": 95 + "__id__": 99 } ], "_prefab": null, @@ -4632,7 +4816,7 @@ "_name": "", "_objFlags": 0, "node": { - "__id__": 94 + "__id__": 98 }, "_enabled": true, "_materials": [ @@ -4665,13 +4849,13 @@ "_name": "name", "_objFlags": 0, "_parent": { - "__id__": 87 + "__id__": 91 }, "_children": [], "_active": true, "_components": [ { - "__id__": 97 + "__id__": 101 } ], "_prefab": null, @@ -4727,7 +4911,7 @@ "_name": "", "_objFlags": 0, "node": { - "__id__": 96 + "__id__": 100 }, "_enabled": true, "_materials": [ @@ -4760,13 +4944,13 @@ "_name": "rank", "_objFlags": 0, "_parent": { - "__id__": 87 + "__id__": 91 }, "_children": [], "_active": true, "_components": [ { - "__id__": 99 + "__id__": 103 } ], "_prefab": null, @@ -4822,7 +5006,7 @@ "_name": "", "_objFlags": 0, "node": { - "__id__": 98 + "__id__": 102 }, "_enabled": true, "_materials": [ @@ -4858,20 +5042,20 @@ "__id__": 2 }, "_children": [ - { - "__id__": 101 - }, { "__id__": 105 }, - { - "__id__": 107 - }, { "__id__": 109 }, { "__id__": 111 + }, + { + "__id__": 113 + }, + { + "__id__": 115 } ], "_active": true, @@ -4929,17 +5113,17 @@ "_name": "pic", "_objFlags": 0, "_parent": { - "__id__": 100 + "__id__": 104 }, "_children": [ { - "__id__": 102 + "__id__": 106 } ], "_active": true, "_components": [ { - "__id__": 104 + "__id__": 108 } ], "_prefab": null, @@ -4995,13 +5179,13 @@ "_name": "icon", "_objFlags": 0, "_parent": { - "__id__": 101 + "__id__": 105 }, "_children": [], "_active": true, "_components": [ { - "__id__": 103 + "__id__": 107 } ], "_prefab": null, @@ -5057,7 +5241,7 @@ "_name": "", "_objFlags": 0, "node": { - "__id__": 102 + "__id__": 106 }, "_enabled": true, "_materials": [ @@ -5087,7 +5271,7 @@ "_name": "", "_objFlags": 0, "node": { - "__id__": 101 + "__id__": 105 }, "_enabled": true, "_materials": [ @@ -5107,13 +5291,13 @@ "_name": "rankBg", "_objFlags": 0, "_parent": { - "__id__": 100 + "__id__": 104 }, "_children": [], "_active": true, "_components": [ { - "__id__": 106 + "__id__": 110 } ], "_prefab": null, @@ -5169,7 +5353,7 @@ "_name": "", "_objFlags": 0, "node": { - "__id__": 105 + "__id__": 109 }, "_enabled": true, "_materials": [ @@ -5199,13 +5383,13 @@ "_name": "total", "_objFlags": 0, "_parent": { - "__id__": 100 + "__id__": 104 }, "_children": [], "_active": true, "_components": [ { - "__id__": 108 + "__id__": 112 } ], "_prefab": null, @@ -5261,7 +5445,7 @@ "_name": "", "_objFlags": 0, "node": { - "__id__": 107 + "__id__": 111 }, "_enabled": true, "_materials": [ @@ -5294,13 +5478,13 @@ "_name": "name", "_objFlags": 0, "_parent": { - "__id__": 100 + "__id__": 104 }, "_children": [], "_active": true, "_components": [ { - "__id__": 110 + "__id__": 114 } ], "_prefab": null, @@ -5356,7 +5540,7 @@ "_name": "", "_objFlags": 0, "node": { - "__id__": 109 + "__id__": 113 }, "_enabled": true, "_materials": [ @@ -5389,13 +5573,13 @@ "_name": "rank", "_objFlags": 0, "_parent": { - "__id__": 100 + "__id__": 104 }, "_children": [], "_active": true, "_components": [ { - "__id__": 112 + "__id__": 116 } ], "_prefab": null, @@ -5451,7 +5635,7 @@ "_name": "", "_objFlags": 0, "node": { - "__id__": 111 + "__id__": 115 }, "_enabled": true, "_materials": [ @@ -5532,28 +5716,28 @@ }, "_enabled": true, "count": { - "__id__": 29 + "__id__": 33 }, "time": { - "__id__": 31 + "__id__": 35 }, "selfNode": { - "__id__": 34 + "__id__": 38 }, "one": { - "__id__": 54 + "__id__": 58 }, "two": { - "__id__": 65 + "__id__": 69 }, "three": { - "__id__": 76 + "__id__": 80 }, "four": { - "__id__": 87 + "__id__": 91 }, "five": { - "__id__": 100 + "__id__": 104 }, "_id": "f9bq3mWw5JoYQRI0zhq8ue" } diff --git a/assets/Script/Block.ts b/assets/Script/Block.ts index 00da713..a3c84d4 100644 --- a/assets/Script/Block.ts +++ b/assets/Script/Block.ts @@ -61,6 +61,13 @@ export default class NewClass extends cc.Component { start () { } + /** + * 息壤过后改变修筑路径 + * @param order 建筑地图数组里的执行的序列号 + * @param number 息壤执行长度,改变息壤用后其他路径的X或Y值 + * @param direction 只为两个方向,横向false,纵向true + * @param road 建筑地图数组或者洪峰路径数组,可理解为路径数组,path_Array water_Array + */ //初始化地图块数据 initData(type,pos,max){ this.block_Type = type; @@ -69,9 +76,9 @@ export default class NewClass extends cc.Component { if(type == cc.Enum(BlockType).Start){ var bg = this.node.getChildByName("sp"); // this.node.getComponent(cc.Sprite).spriteFrame = null; - bg.getComponent(cc.Sprite).spriteFrame = this.UI["_spriteFrames"]["start"]; + // bg.getComponent(cc.Sprite).spriteFrame = this.UI["_spriteFrames"]["start"]; if(cc.fx.GameConfig.GM_INFO.level > 3){ - bg.getChildByName("start").y = 20; + // bg.getChildByName("start").y = 20; bg.getChildByName("end").y = 20; } this.rotateTarget(bg,"start",pos,max); @@ -81,7 +88,7 @@ export default class NewClass extends cc.Component { // this.node.getComponent(cc.Sprite).spriteFrame = null; bg.getComponent(cc.Sprite).spriteFrame = this.UI["_spriteFrames"]["end"]; if(cc.fx.GameConfig.GM_INFO.level > 3){ - bg.getChildByName("start").y = 20; + // bg.getChildByName("start").y = 20; bg.getChildByName("end").y = 20; } this.rotateTarget(bg,"end",pos,max); @@ -268,10 +275,13 @@ export default class NewClass extends cc.Component { } //息壤具体执行方法 外部可调用 set_Xi_SoilType(direction,end,name){ - // console.log("息壤",direction,name,this.block_Type); + // console.log("息壤",direction,name,end); var jg = this.repeatRoad(true,direction); console.log("息壤重复判断结果",jg); - if(jg == true) return; + if(jg == true){ + cc.fx.Notifications.emit(cc.fx.Message.showResult,"lose"); + return; + } if(this.block_Type == cc.Enum(BlockType).Start){ this.set_Xi_Soil(direction,false); @@ -302,6 +312,7 @@ export default class NewClass extends cc.Component { } else{ } + let target = this.node.getChildByName("Xi_Soil"); this.path_Type = direction; target.active = true; @@ -329,12 +340,12 @@ export default class NewClass extends cc.Component { repeatRoad(type,direction){ //如果双向都占用了还进来就算死了- var jg = false; + if(this.node.getChildByName("vertical2").active == true && this.node.getChildByName("horizontal2").active == true){ // alert("治水失败"); jg = true; if(type){ cc.fx.Notifications.emit(cc.fx.Message.showResult,"lose"); - cc.fx.Notifications.emit(cc.fx.Message.setData,false); } } @@ -343,26 +354,30 @@ export default class NewClass extends cc.Component { jg = true; if(type){ cc.fx.Notifications.emit(cc.fx.Message.showResult,"lose"); - cc.fx.Notifications.emit(cc.fx.Message.setData,false); } } if(direction){ if(this.node.getChildByName("vertical2").active == true && this.block_Type == cc.Enum(BlockType).Xi_Soil && (direction == "up"|| direction =="down")){ // alert("治水失败"); - jg = true; - if(type){ - cc.fx.Notifications.emit(cc.fx.Message.showResult,"lose"); - cc.fx.Notifications.emit(cc.fx.Message.setData,false); + if(this.node.getChildByName("vertical2").angle == 0 || this.node.getChildByName("vertical2").angle == 180 ){ + jg = true; + if(type){ + cc.fx.Notifications.emit(cc.fx.Message.showResult,"lose"); + } } + + } - else if(this.node.getChildByName("horizontal2").active == true && this.block_Type == cc.Enum(BlockType).Xi_Soil && (direction == "right"|| direction =="left")){ + else if(this.node.getChildByName("vertical2").active == true && this.block_Type == cc.Enum(BlockType).Xi_Soil && (direction == "right"|| direction =="left")){ // alert("治水失败"); - jg = true; - if(type){ - cc.fx.Notifications.emit(cc.fx.Message.showResult,"lose"); - cc.fx.Notifications.emit(cc.fx.Message.setData,false); - } + if(this.node.getChildByName("vertical2").angle == 90 || this.node.getChildByName("vertical2").angle == 270 ){ + jg = true; + if(type){ + cc.fx.Notifications.emit(cc.fx.Message.showResult,"lose"); + } + } + } } @@ -482,7 +497,6 @@ export default class NewClass extends cc.Component { target = this.node.getChildByName("Reinforce"); if(this.block_Type == cc.Enum(BlockType).Peak){ cc.fx.Notifications.emit(cc.fx.Message.showResult,"lose"); - cc.fx.Notifications.emit(cc.fx.Message.setData,false); return; } if(this.block_Type != cc.Enum(BlockType).End)this.block_Type = cc.Enum(BlockType).Reinforce; @@ -535,7 +549,7 @@ export default class NewClass extends cc.Component { direction = "down"; } - console.log("结束方向:",direction); + // console.log("结束方向:",direction); if(!this.finishi){ this.finishi = true; this.set_Xi_Soil(direction,true); @@ -588,7 +602,6 @@ export default class NewClass extends cc.Component { if(this.node.getChildByName("vertical").active == true && this.node.getChildByName("horizontal").active == true){ // alert("治水失败"); cc.fx.Notifications.emit(cc.fx.Message.showResult,"lose"); - cc.fx.Notifications.emit(cc.fx.Message.setData,false); // cc.director.loadScene("GameScene"); return; } @@ -596,7 +609,6 @@ export default class NewClass extends cc.Component { else if(this.node.getChildByName("turn").active == true && this.block_Type != cc.Enum(BlockType).Xi_Soil){ // alert("治水失败"); cc.fx.Notifications.emit(cc.fx.Message.showResult,"lose"); - cc.fx.Notifications.emit(cc.fx.Message.setData,false); // cc.director.loadScene("GameScene"); return; } @@ -724,7 +736,6 @@ export default class NewClass extends cc.Component { .call(()=>{ // alert("治水成功"); cc.fx.Notifications.emit(cc.fx.Message.showResult,"win"); - cc.fx.Notifications.emit(cc.fx.Message.setData,true); if(cc.fx.GameConfig.GM_INFO.level < 7){ cc.fx.GameConfig.GM_INFO.level += 1; @@ -759,7 +770,6 @@ export default class NewClass extends cc.Component { .call(() =>{ // alert("治水失败") cc.fx.Notifications.emit(cc.fx.Message.showResult,"lose"); - cc.fx.Notifications.emit(cc.fx.Message.setData,false); // cc.director.loadScene("GameScene"); }) diff --git a/assets/Script/ControlManager.ts b/assets/Script/ControlManager.ts index cf0f3cd..822f272 100644 --- a/assets/Script/ControlManager.ts +++ b/assets/Script/ControlManager.ts @@ -25,6 +25,7 @@ export default class NewClass extends cc.Component { canTouch:boolean; Reinforce:boolean; Soil:boolean; + mapHeight:number; // LIFE-CYCLE CALLBACKS: // onLoad () {} @@ -35,15 +36,16 @@ export default class NewClass extends cc.Component { this.canTouch = true; this.Reinforce = false; this.Soil = false; + this.mapHeight = 0; } setPosition(tip){ - tip.setPosition(30,-35); + tip.setPosition(30,-25); if(this.tipArray.length > 0){ let length = this.tipArray.length+1; let posY = Math.ceil(length/8) - 1; let posX = length - Math.floor(posY)*8 - 1; - tip.setPosition(30 + 48*posX,-35 -48*posY); + tip.setPosition(30 + 48*posX,-25 -48*posY + this.mapHeight); } } //清空所有 @@ -62,6 +64,7 @@ export default class NewClass extends cc.Component { var drawingReset = cc.fx.GameConfig.CLICK_DATA.drawingReset + 1; cc.fx.GameConfig.CLICK_SET("drawingReset",drawingReset); cc.fx.Notifications.emit(cc.fx.Message.removeTip,"remove"); + this.mapHeight = 0; } } //撤回一步 @@ -78,6 +81,11 @@ export default class NewClass extends cc.Component { var drawingBack = cc.fx.GameConfig.CLICK_DATA.drawingBack + 1; cc.fx.GameConfig.CLICK_SET("drawingBack",drawingBack); cc.fx.Notifications.emit(cc.fx.Message.removeTip,"back"); + if(this.tipArray.length >= 24){ + if((this.tipArray.length )%8 == 0){ + this.mapMove(false); + } + } } } @@ -140,7 +148,22 @@ export default class NewClass extends cc.Component { this.tipArray.push(tip); this.controlArray.push(data); - + + if(this.tipArray.length >= 25){ + if((this.tipArray.length - 1)%8 == 0){ + this.mapMove(true); + } + } + } + //地图放不下了上下移动 + mapMove(type){ + if(type) this.mapHeight += 48; + else this.mapHeight -= 48; + for(let i=0; i { return arr.map((val) => val[i]) @@ -200,8 +201,10 @@ export default class GameManager extends cc.Component { } } - - //开始后,按玩家操作,将路径中地图块放入数组中 + /** + * 开始后,按玩家操作,将路径中地图块放入数组中 + * @param data 根据当前操作,添加建筑地图数组 + */ setMap(data){ for(let i=0; i 0){ if(this.path_Array[order-1].z == 0){ //console.log("1正常放入",this.path_Array[order-1].x,this.path_Array[order-1].y,this.path_Array[order-1].z) @@ -248,6 +255,7 @@ export default class GameManager extends cc.Component { this.changeWater(cc.v3(this.path_Array[order].x,this.path_Array[order].y,0)); } } + if(order <= this.path_Array.length-1){ let i = this.path_Array[order].x*this.map_Array[0].length+this.path_Array[order].y; let direction = ""; @@ -262,7 +270,6 @@ export default class GameManager extends cc.Component { setTimeout(() => { if(!this.plan_over){ this.plan_over = true; - this.unschedule(this.updateWaterTime); var head = this.node.getChildByName("Top").getChildByName("head"); var progress = this.node.getChildByName("Top").getChildByName("progress").getComponent(cc.Sprite); head.stopAllActions(); @@ -276,7 +283,7 @@ export default class GameManager extends cc.Component { } else{ direction = "err"; - console.log("进入结束err"); + // console.log("进入结束err"); } } @@ -290,7 +297,8 @@ export default class GameManager extends cc.Component { direction = "Xi_Soil"; } else if(this.path_Array[order+1].z == 6 && order == 0 && order + 1 < this.path_Array.length){ - direction = this.getDirection(order+1,this.path_Array); + // direction = this.getDirection(order+1,this.path_Array); + direction = this.getDirection(order,this.path_Array); } else{ direction = this.getDirection(order,this.path_Array); @@ -308,11 +316,15 @@ export default class GameManager extends cc.Component { // if(direction == "" || jg == false) return; if(direction == "err" || direction == "" || jg == false){ cc.fx.Notifications.emit(cc.fx.Message.showResult,"lose"); - cc.fx.Notifications.emit(cc.fx.Message.setData,false); + return; } + if( i<0 || i > (this.block_Array.length-1)){ + cc.fx.Notifications.emit(cc.fx.Message.showResult,"lose"); + return; + } + let target = this.block_Array[i].getComponent("Block"); - target.setPath(direction); if(order > 0 && order < this.path_Array.length-1){ @@ -347,7 +359,14 @@ export default class GameManager extends cc.Component { target.runRoad(data); } } - //判断边界。或者撞山,或者湿地没有加固 + /** + * 判断边界。或者撞山,或者湿地没有加固 + * @param order 建筑地图数组里的执行的序列号 + * @param x 当前操作地块横坐标 + * @param y 当前操作地块纵坐标 + * @param direction 当前操作方向,若不是方向则为息壤或者加固 + * @param road 建筑地图数组,可理解为路径数组,path_Array + */ getBoundary(order,x,y,direction,road){ let jg = true; if(x < 0 || x >= this.map_Width || y < 0 || y >= this.map_Hight){ @@ -355,7 +374,6 @@ export default class GameManager extends cc.Component { // console.log("超过边界,游戏结束"); // alert("超过边界,治水失败"); cc.fx.Notifications.emit(cc.fx.Message.showResult,"lose"); - cc.fx.Notifications.emit(cc.fx.Message.setData,false); } else { let i = road[order].x*this.map_Array[0].length+road[order].y; @@ -365,20 +383,20 @@ export default class GameManager extends cc.Component { // console.log("修筑山峰,游戏结束"); // alert("修筑山峰,治水失败"); cc.fx.Notifications.emit(cc.fx.Message.showResult,"lose"); - cc.fx.Notifications.emit(cc.fx.Message.setData,false); } else if(target.block_Type == 2 && direction != "Reinforce"){ jg = false; // console.log("修筑未加固湿地,游戏结束"); // alert("修筑未加固湿地,游戏结束"); cc.fx.Notifications.emit(cc.fx.Message.showResult,"lose"); - cc.fx.Notifications.emit(cc.fx.Message.setData,false); } } return jg; } - - //开始执行洪峰来了的动画 + /** + * 开始执行洪峰来了的动画 + * @param order 建筑地图数组里的执行的序列号,依次往下加 + */ runWater(order){ order = parseInt(order); @@ -414,7 +432,6 @@ export default class GameManager extends cc.Component { let jg = this.getBoundary(order,this.water_Array[order].x,this.water_Array[order].y,direction,this.water_Array); if(direction == "" || jg == false || direction == "err"){ cc.fx.Notifications.emit(cc.fx.Message.showResult,"lose"); - cc.fx.Notifications.emit(cc.fx.Message.setData,false); return; } let target = this.block_Array[i].getComponent("Block"); @@ -451,7 +468,11 @@ export default class GameManager extends cc.Component { target.runWater(data); } } - //获取息壤的格子的方向 + /** + * 获取息壤的格子的方向 + * @param order 建筑地图数组里的执行的序列号,依次往下加 + * @param road 建筑地图数组或者洪峰路径数组,可理解为路径数组,path_Array water_Array + */ getXi_Soil(order,road){ var direction = null; //如果息壤后面还有下一步的话 @@ -472,12 +493,19 @@ export default class GameManager extends cc.Component { } return direction; } - //设置息壤 + /** + * 设置息壤执行方法 + * @param order 建筑地图数组里的执行的序列号,依次往下加 + * @param road 建筑地图数组或者洪峰路径数组,可理解为路径数组,path_Array water_Array + * @param name road或者water,建筑路径或者洪峰路径 + */ set_Soil(order,road,name){ var direction = this.getXi_Soil(order,road); + var length = 0; if(direction == "right"){ length = this.map_Width - 1; + // let temp = this.map_Width - 1; for(let i=road[order].x;i<=length;i++){ let n = i*this.map_Array[0].length+road[order].y; let target = this.block_Array[n].getComponent("Block"); @@ -489,13 +517,15 @@ export default class GameManager extends cc.Component { i = 10000; break; } - }this.scheduleOnce + + } } else if(direction == "left"){ length = 0; for(let i=road[order].x;i>=length;i--){ let n = i*this.map_Array[0].length+road[order].y; let target = this.block_Array[n].getComponent("Block"); + if(target.block_Type == 3 || target.block_Type == 4){ length = i + 1; if(target.block_Type == 4){ @@ -508,10 +538,10 @@ export default class GameManager extends cc.Component { } else if(direction == "up"){ length = 0; + for(let i=road[order].y;i>=length;i--){ let n = road[order].x*this.map_Array[0].length + i; let target = this.block_Array[n].getComponent("Block"); - if(target.block_Type == 3 || target.block_Type == 4){ length = i + 1; if(target.block_Type == 4){ @@ -527,7 +557,6 @@ export default class GameManager extends cc.Component { for(let i=road[order].y;i<=length;i++){ let n = road[order].x*this.map_Array[0].length + i; let target = this.block_Array[n].getComponent("Block"); - if(target.block_Type == 3 || target.block_Type == 4){ length = i-1; if(target.block_Type == 4){ @@ -536,23 +565,25 @@ export default class GameManager extends cc.Component { i = 10000; break; } + } } - // if(length == 0){ - - // } this.soil_Find(direction,order,length,road,name); } //查找息壤蛮遗憾路径 soil_Find(direction,order,length,road,name){ + let start = road[order].x; if(direction == "right"){ for(let i = start; i<=length; i++){ let n = i*this.map_Array[0].length+road[order].y; let target = this.block_Array[n].getComponent("Block"); if(i == start){ - if(i == start && i==length) target.set_Xi_SoilType(this.getDirection(order,road),order,name); + if(i == start && i==length){ + cc.fx.Notifications.emit(cc.fx.Message.showResult,"lose"); + target.set_Xi_SoilType(this.getDirection(order,road),order,name); + } else target.set_Xi_SoilType(this.getDirection(order,road),null,name); let value = cc.v3(this.path_Array[order].x,this.path_Array[order].y,0); if(this.water_Array[this.water_Array.length-1] != value){ @@ -576,7 +607,10 @@ export default class GameManager extends cc.Component { let n = i*this.map_Array[0].length+road[order].y; let target = this.block_Array[n].getComponent("Block"); if(i == start){ - if(i == start && i==length) target.set_Xi_SoilType(this.getDirection(order,road),order,name); + if(i == start && i==length){ + cc.fx.Notifications.emit(cc.fx.Message.showResult,"lose"); + target.set_Xi_SoilType(this.getDirection(order,road),order,name); + } else target.set_Xi_SoilType(this.getDirection(order,road),null,name); let value = cc.v3(this.path_Array[order].x,this.path_Array[order].y,0); if(this.water_Array[this.water_Array.length-1] != value){ @@ -601,8 +635,13 @@ export default class GameManager extends cc.Component { let n = road[order].x*this.map_Array[0].length+i; let target = this.block_Array[n].getComponent("Block"); if(i == start){ - if(i == start && i==length) target.set_Xi_SoilType(this.getDirection(order,road),order,name); - else target.set_Xi_SoilType(this.getDirection(order,road),null,name); + if(i == start && i==length){ + cc.fx.Notifications.emit(cc.fx.Message.showResult,"lose"); + target.set_Xi_SoilType(this.getDirection(order,road),order,name); + } + else{ + target.set_Xi_SoilType(this.getDirection(order,road),null,name); + } let value = cc.v3(this.path_Array[order].x,this.path_Array[order].y,0); if(this.water_Array[this.water_Array.length-1] != value){ // console.log("特别插入:",this.path_Array[order].x,this.path_Array[order].y); @@ -627,7 +666,10 @@ export default class GameManager extends cc.Component { let n = road[order].x*this.map_Array[0].length+i; let target = this.block_Array[n].getComponent("Block"); if(i == start){ - if(i == start && i==length) target.set_Xi_SoilType(this.getDirection(order,road),order,name); + if(i == start && i==length){ + cc.fx.Notifications.emit(cc.fx.Message.showResult,"lose"); + target.set_Xi_SoilType(this.getDirection(order,road),order,name); + } else target.set_Xi_SoilType(this.getDirection(order,road),null,name); let value = cc.v3(this.path_Array[order].x,this.path_Array[order].y,0); if(this.water_Array[this.water_Array.length-1] != value){ @@ -648,7 +690,10 @@ export default class GameManager extends cc.Component { } } - //改变水流地图 + /** + * 改变水流地图 + * @param value 需要根据使用息壤情况,插入到洪峰路径的点 + */ changeWater(value){ let jg = true; if(this.water_Array.length > 0){ @@ -658,8 +703,13 @@ export default class GameManager extends cc.Component { } if(jg) this.water_Array.push(value); } - - //息壤过后改变修筑路径 + /** + * 息壤过后改变修筑路径 + * @param order 建筑地图数组里的执行的序列号 + * @param number 息壤执行长度,改变息壤用后其他路径的X或Y值 + * @param direction 只为两个方向,横向false,纵向true + * @param road 建筑地图数组或者洪峰路径数组,可理解为路径数组,path_Array water_Array + */ changePath(order,number,direction,road){ for(let i = (order+1); i 0){ @@ -888,7 +947,6 @@ export default class GameManager extends cc.Component { setTimeout(() => { if(this.water_Array.length == 0){ cc.fx.Notifications.emit(cc.fx.Message.showResult,"lose"); - cc.fx.Notifications.emit(cc.fx.Message.setData,false); } else{ cc.fx.GameConfig.GM_INFO.min_Time = this.waterTime; @@ -916,13 +974,13 @@ export default class GameManager extends cc.Component { } if(this.countTime <= 0){ this.countTime = 0; - this.setData(false); + this.setData("lose"); this.unschedule(this.updateCountDownTime); this.gameOver(); } } } - //上传每次操作数据 + //上传每次操作数据 success为成功还是失败 setData(success){ //设置埋点数据 cc.fx.GameConfig.CLICK_SET("mapId",cc.fx.GameConfig.LEVEL_INFO[cc.fx.GameConfig.GM_INFO.level][this.custom].id); @@ -931,12 +989,15 @@ export default class GameManager extends cc.Component { cc.fx.GameConfig.CLICK_SET("round",cc.fx.GameConfig.GM_INFO.round); cc.fx.GameConfig.CLICK_SET("timer",cc.fx.GameConfig.TIME_INFO.totalTime); cc.fx.GameConfig.CLICK_SET("cumulativeScore",cc.fx.GameConfig.GM_INFO.score); + success = success =="lose"?false:true if(success != null){ cc.fx.GameConfig.CLICK_SET("success",success); cc.fx.GameConfig.GM_INFO.fen = this.getScore(); if(!success) cc.fx.GameConfig.GM_INFO.fen = 0; cc.fx.GameConfig.CLICK_SET("getScore",cc.fx.GameConfig.GM_INFO.fen); cc.fx.GameConfig.GM_INFO.score += cc.fx.GameConfig.GM_INFO.fen; + this.node.getChildByName("Top").getChildByName("id").getComponent(cc.Label).string = + cc.fx.GameConfig.GM_INFO.score; cc.fx.GameConfig.CLICK_SET("cumulativeScore",cc.fx.GameConfig.GM_INFO.score); if(this.countTime != 0)cc.fx.GameConfig.GM_INFO.successList.push(success); } @@ -984,26 +1045,29 @@ export default class GameManager extends cc.Component { }) .start() } - //展示结果 + //展示结果 data为成功或者失败 showResult(data){ - if(data == "lose"){ - cc.fx.AudioManager._instance.playEffect("lose",null); - cc.fx.GameConfig.GM_INFO.min_Time = -1; - } - else{ - cc.fx.AudioManager._instance.playEffect("win",null); + if(this.node.getChildByName("GameOver").active == false && this.node.getChildByName("Window").active == false){ + cc.fx.Notifications.emit(cc.fx.Message.setData,data); + if(data == "lose"){ + cc.fx.AudioManager._instance.playEffect("lose",null); + cc.fx.GameConfig.GM_INFO.min_Time = -1; + } + else{ + cc.fx.AudioManager._instance.playEffect("win",null); + } + this.node.getChildByName("Window").active = true; + this.node.getChildByName("Window").getComponent("Window").init(data); } - this.node.getChildByName("Window").active = true; - this.node.getChildByName("Window").getComponent("Window").init(data); - } - //记录反应时长,以及做步骤提示 + //记录反应时长,以及做步骤提示 data为操作名称 clickSun(data){ //如果没有记录过 回合开始到操作反应时长,则第一次记录, 后面不记录 - if(cc.fx.GameConfig.CLICK_DATA.startTime == 0){ + + if(cc.fx.GameConfig.CLICK_DATA.startTime == -1){ this.finishiTime = cc.fx.GameTool.getTime(); var now = this.finishiTime - this.startTime; - // console.log("startTime:",now,this.startTime); + // console.log("startTime:",this.finishiTime); cc.fx.GameConfig.CLICK_SET("startTime",now); } if(cc.fx.GameConfig.GM_INFO.level > 3) return; @@ -1054,9 +1118,9 @@ export default class GameManager extends cc.Component { } } - //提示是否错误 + //提示是否错误 只前三关有 ,pos为位置,data为操作方向 tipCan(pos,data){ - + //先判断是否出边界 if(pos.x <0 || pos.x >this.map_Array.length-1 || pos.y <0 || pos.y > this.map_Array[0].length-1 ){ this.tip_Array.push(null); @@ -1065,21 +1129,28 @@ export default class GameManager extends cc.Component { let n = pos.x*this.map_Array[0].length+pos.y; let target = this.block_Array[n].getComponent("Block"); target.node.getChildByName("tipWin").active = true; - // target.node.getChildByName("tipWin").opacity = 255; - // target.node.getChildByName("tipLose").opacity = 255; //重复路回头路,或者山峰 if(target.repeatRoad(false,null) == true || target.block_Type == 3){ + this.tip_Array.push([cc.v3(pos.x,pos.y,0)]); target.node.getChildByName("tipLose").active = true; target.node.getChildByName("tipWin").active = false; } //湿地 上一步如果没用息壤或者加固 else if(target.block_Type == 2){ - if(this.tip_Array.length > 1){ + if(this.tip_Array.length > 0){ if(this.tip_Array[this.tip_Array.length-1][0].z == 0){ target.node.getChildByName("tipLose").active = true; target.node.getChildByName("tipWin").active = false; } + else if(this.tip_Array[this.tip_Array.length-1][0].z == 2){ + target.node.getChildByName("tipLose").active = false; + target.node.getChildByName("tipWin").active = true; + } + } + else{ + target.node.getChildByName("tipLose").active = true; + target.node.getChildByName("tipWin").active = false; } } diff --git a/assets/Script/GameOver.ts b/assets/Script/GameOver.ts index 6a6a459..897fb65 100644 --- a/assets/Script/GameOver.ts +++ b/assets/Script/GameOver.ts @@ -46,6 +46,17 @@ export default class NewClass extends cc.Component { this.three.active = false; this.four.active = false; this.five.active = false; + var urlNow = window.location.href; + if(this.containsTrain(urlNow)){ + this.node.getChildByName("again").active = false; + this.node.getChildByName("back").active = false; + this.node.getChildByName("finishi").active = true; + } + else{ + this.node.getChildByName("again").active = true; + this.node.getChildByName("back").active = true; + this.node.getChildByName("finishi").active = false; + } this.getRank(); } //打开排行榜 @@ -62,8 +73,13 @@ export default class NewClass extends cc.Component { cc.fx.GameConfig.GM_INFO.score = 0; cc.fx.GameConfig.GM_INFO.min_Steps = 0; cc.fx.GameConfig.GM_INFO.min_Time = 0; + cc.fx.GameConfig.TIME_INFO.totalTime = 120; cc.director.loadScene("GameScene"); } + //判断来源 + containsTrain(str) { + return /from=train/i.test(str); + } //获取排行榜 getRank(){ //获取排行榜数据 所需数据量 @@ -72,6 +88,11 @@ export default class NewClass extends cc.Component { } cc.fx.GameTool.getRank(dataFile,data =>this.getRankData(data)); } + //打开排行榜 + jumpFinishi(){ + let url = "https://train.sparkus.cn/poster/game/"; + window.location.href = url; + } //设置排行信息 getRankData(data){ diff --git a/assets/Script/Load.ts b/assets/Script/Load.ts index 7330743..f359c20 100644 --- a/assets/Script/Load.ts +++ b/assets/Script/Load.ts @@ -19,6 +19,19 @@ export default class NewClass extends cc.Component { cc.fx.GameConfig.init(this.localTest); // cc.fx.AudioManager.Instance.init(); this.testVersion.string = this.clientTestVersion; + var urlNow = window.location.href; + if(this.containsTrain(urlNow)){ + console.log("无排行版本"); + this.node.getChildByName("Rank").active = false; + } + else{ + console.log("有排行版本"); + } + } + + //判断来源 + containsTrain(str) { + return /from=train/i.test(str); } //开始游戏,跳转至引导页面 diff --git a/assets/Script/Sdk.meta b/assets/Script/Sdk.meta new file mode 100644 index 0000000..cd4dfdc --- /dev/null +++ b/assets/Script/Sdk.meta @@ -0,0 +1,13 @@ +{ + "ver": "1.1.3", + "uuid": "93c9bdf3-8205-46e5-a8f1-3576b0dbc836", + "importer": "folder", + "isBundle": false, + "bundleName": "", + "priority": 1, + "compressionType": {}, + "optimizeHotUpdate": {}, + "inlineSpriteFrames": {}, + "isRemoteBundle": {}, + "subMetas": {} +} \ No newline at end of file diff --git a/assets/Script/Sdk/MiniGameSdk.ts b/assets/Script/Sdk/MiniGameSdk.ts new file mode 100644 index 0000000..1fa986c --- /dev/null +++ b/assets/Script/Sdk/MiniGameSdk.ts @@ -0,0 +1,1111 @@ +/** + * 小游戏平台SDK工具封装,目前只支持微信和抖音平台 + */ +export namespace MiniGameSdk { + + interface ISize { + width: number; + height: number; + } + + export interface IPosition { + top: number; + left: number; + } + + export function isWechat(): boolean { + //@ts-ignore + return window.wx !== null && window.wx !== undefined; + } + + export function isBytedance(): boolean { + //@ts-ignore + return window.tt !== null && window.tt !== undefined; + } + + function getSysWinSize(): ISize { + let sys: any; + if (isWechat()) { + // @ts-ignore + sys = wx.getSystemInfoSync(); + } else if (isBytedance()) { + // @ts-ignore + sys = tt.getSystemInfoSync(); + } + + let size: ISize = { width: 0, height: 0 }; + if (sys) { + size.width = sys.windowWidth; + size.height = sys.windowHeight; + } + + return size; + } + + /** + * 插屏广告。微信抖音都支持! + */ + class ADInterstitial { + private _adUid: string; + private _interstitial: any; + + get aduid() { + return this._adUid; + } + + constructor(adUid: string) { + this._adUid = adUid; + } + + show() { + // @ts-ignore + if (isWechat() && !wx.createInterstitialAd) { + console.warn('wechat unsupport interstitial AD!'); + this._interstitial = null; + return; + } + + // @ts-ignore + if (isBytedance() && !tt.createInterstitialAd) { + console.warn('bytedance unsupport interstitial AD!'); + this._interstitial = null; + return; + } + + + if (this._interstitial) { + this._interstitial.load(); + } else { + if (isWechat()) { + // @ts-ignore + this._interstitial = wx.createInterstitialAd({ adUnitId: this._adUid }); + } else if (isBytedance()) { + // @ts-ignore + this._interstitial = tt.createInterstitialAd({ adUnitId: this._adUid }); + } else { + this._interstitial = null; + } + + this._interstitial?.onLoad(() => { + console.log('load interstitial ad success'); + this._interstitial.show().catch((err: any) => { + console.log('catch interstitial ad error:', err); + }); + }); + + this._interstitial?.onError((err: any) => { + console.log('interstitial ad on error:', err); + }); + } + } + destory() { + this._interstitial?.destroy(); + } + } + + class ADBanner { + private _adUid: string; + private _banner: any; + + get aduid() { + return this._adUid; + } + + /** + * 抖音和微信都支持 + * 横幅广告。预估宽度默认为300,预估高度为140。如果你不确定就按默认值来。 + * @param adUid 广告UID,后端配置 + * @param isTop 是否在屏幕顶部展示。内部会自动居中计算位置。 + * @param bannerWidth 横幅广告的预估宽度。默认300 + * @param autoShow 广告加载完成后是否立刻显示,默认为不显示 + */ + constructor(adUid: string, param: boolean | IPosition, bannerWidth: number = 300, autoShow: boolean = false) { + this._adUid = adUid; + this.create(autoShow, bannerWidth, param); // 默认300比较合适 + } + + private create(autoShow: boolean, bannerWidth: number, param: boolean | IPosition) { + if (!isWechat() && !isBytedance()) { + this._banner = null; + return; + } + + this.destroy(); + + let winSize = getSysWinSize(); + + let height = bannerWidth * 0.4; + let top = 0, left = 0; + + if (typeof param === "boolean") { + left = (winSize.width - bannerWidth) / 2 + top = param ? 5 : (winSize.height - height); + } else { + left = param.left; + top = param.top; + } + + let params = { + adUnitId: this._adUid, + adIntervals: 30,// 自动刷新频率不能小于30秒 + style: { left: left, top: top, width: bannerWidth } + } + + if (isWechat()) { + // @ts-ignore + this._banner = wx.createBannerAd(params); + } else if (isBytedance()) { + // @ts-ignore + this._banner = tt.createBannerAd(params); + } else { + this._banner = null; + } + + this._banner?.onError((err: any) => { + console.log('ad banner error:', err); + }); + + this._banner?.onLoad(() => { + autoShow && this._banner.show(); + }); + } + + show() { + this._banner?.show(); + } + + hide() { + this._banner?.hide(); + } + + destroy() { + this._banner?.destroy(); + } + } + + class ADCustom { + private _adUid: string; + private _adCustom: any; + + get aduid() { + return this._adUid; + } + /** + * 由于原生模板广告在微信服务后端可以定制宽度大小,个数,缩放比例等,所以位置调整要根据设置的宽度来定。抖音不支持! + * @param adUid 广告UID,后端配置 + * @param top 从左上角开始,距离屏幕顶部的距离。注意:这个数据为设备屏幕宽度width。如果需要获取屏幕的像素,需要乘以设备像素比Pixel-Ratio,例如iPhone 13 Pro的Pixel-Ratio为3,像素为Width*3。 + * @param left 从左上角开始,距离屏幕最左边的距离。注意:这个数据为设备屏幕宽度width。如果需要获取屏幕的像素,需要乘以设备像素比Pixel-Ratio,例如iPhone 13 Pro的Pixel-Ratio为3,像素为Width*3。 + * @param scale 原生模板广告的尺寸,默认为1,即100%。此值在微信服务后端广告中获得,默认为100%,目前有100%,90%,80%三种,一般情况不用修改。若有修改,记得传入值,例如90%就传入0.9。 + */ + constructor(adUid: string, top: number = 0, left: number = 0, scale: number = 1.0) { + this._adUid = adUid; + this.createCustomAd(top, left, scale); + } + + private createCustomAd(top: number, left: number, scale: number) { + if (!isWechat()) { // only wechat support custom ad + this._adCustom = null; + console.log('Only wechat support Custom Ad'); + return; + } + + this.destroy(); + // 原生模板5个应用宽度为375,若设置了缩放比例,则宽度也需要设置 + // let width = 375 * this._scale; + // let newLeft = (sys.windowWidth - width) / 2; + // let newTop = sys.windowHeight / 2; // 120是预估高度 + + // @ts-ignore + this._adCustom = wx.createCustomAd({ + adUnitId: this._adUid, + style: { left: left, top: top, fixed: true } + }); + + this._adCustom?.onError((err: any) => { + console.log('ad custom error:', err); + }); + } + show() { + this._adCustom?.show(); + } + + hide() { + this._adCustom?.hide(); + } + + destroy() { + this._adCustom?.destroy(); + } + } + + + /** + * 视频广告用户点击行为结果 + */ + export enum EAdVideoResult { + /** + * 用户看完了广告,游戏可发放奖励。 + */ + ACCEPT, + + /** + * 用户中途关闭了广告,即未看完状态。不可发放奖励。 + */ + REJECT, + + /** + * 广告组件内部发生了错误。不可发放奖励。 + */ + ERROR, + } + + class ADVideo { + private _adUid: string; + private _adVideo: any = null; + + get aduid() { + return this._adUid; + } + + constructor(adUid: string) { + this._adUid = adUid; + } + + /** + * 由于微信和抖音视频广告机制不同,微信可以看的视频广告个数只有0和1个,抖音平台则可以看0~maxVideoCount + * @param onResult 两个参数:第一个res是EAdVideoResult定义,第二count是用户看了多少个视频广告。 + * @param target onResult的拥有者 + * @param maxVideoCount 可以连续看最大视频个数,可最大化商业效率。默认为3个。 + * @returns + */ + show(onResult: (res: EAdVideoResult, count: number) => void, target?: any, maxVideoCount: number = 3): void { + let callback = (state: EAdVideoResult, count: number) => { + onResult?.call(target, state, count); + } + + if (!isWechat() && !isBytedance()) { + callback(EAdVideoResult.ACCEPT, 1); + this._adVideo = null; + return; + } + + let onAdVideoClosed = (res: any) => { + this._adVideo?.offClose(onAdVideoClosed); + if (isWechat()) { + if (res && res.isEnded || res === undefined) { + callback(EAdVideoResult.ACCEPT, 1); + } else { + callback(EAdVideoResult.REJECT, 0); + } + } else if (isBytedance()) { + let resConverted = res as { isEnded: boolean, count: number }; + if (resConverted && resConverted.count > 0) { + callback(EAdVideoResult.ACCEPT, resConverted.count); + } else { + callback(EAdVideoResult.REJECT, 0); + } + } + } + + this._adVideo?.offClose(onAdVideoClosed); + + if (isWechat()) { + // @ts-ignore + this._adVideo = wx.createRewardedVideoAd({ + adUnitId: this._adUid + }); + } else if (isBytedance()) { + // @ts-ignore + this._adVideo = tt.createRewardedVideoAd({ + adUnitId: this._adUid, + multiton: true, + multitonRewardMsg: ['多1次奖励', '再多一次奖励', '再多一次奖励'], + multitonRewardTimes: maxVideoCount, + }); + } else { + this._adVideo = null; + } + + + this._adVideo?.onLoad(() => { + console.log('Ad load success'); + }); + + this._adVideo?.onError((err: { errMsg: string, errCode: number }) => { + console.log('Ad video error:', err); + callback(EAdVideoResult.ERROR, 0); + }); + + this._adVideo?.onClose(onAdVideoClosed); + + this._adVideo?.show().catch(() => { + this._adVideo?.load().then(() => + this._adVideo?.show()).catch((err: { errMsg: string, errCode: number }) => { + console.log('Catch video ad error:', err); + callback(EAdVideoResult.ERROR, 0); + }); + }); + } + + destory() { + this._adVideo?.destory(); + } + } + + export enum EAdBannerLocation { + /** + * 屏幕顶部 + */ + TOP, + + /** + * 屏幕底部 + */ + BOTTOM, + } + + export class AdvertManager { + + private static _instance: AdvertManager; + + static get instance(): AdvertManager { + if (!AdvertManager._instance) { + AdvertManager._instance = new AdvertManager(); + } + return AdvertManager._instance; + } + + private _video: ADVideo; + private _interstitial: ADInterstitial; + private _banner: ADBanner; + private _customs: Record = {}; + + private constructor() { + + } + + /** + * 预加载横幅广告,不会显示。只有你在调用showBanner时才会显示。 + * 可重复调用,但是会销毁上一次的实例。一般情况,全局有一个就行了,太多占用内存,而且没必要。 + * @param adUid 广告UID + * @param location 位置有两种情况:1、可以传入枚举值,默认上方; 2、可以自定义位置传入IPosition,注意IPosition中的top和left跟平台的top,left是一致(没有乘以设备像素比ratio),需要开发者自己调试位置 + * @param scale 默认为跟屏幕一样的宽度,可以通过设置缩放比例来调整大小。当然,平台有规定最大或最小宽度,函数内部会自动计算。 + */ + public loadBanner(adUid: string, location: EAdBannerLocation | IPosition = EAdBannerLocation.TOP, scale: number = 1.0) { + this._banner?.destroy(); + let size: ISize = getSysWinSize(); + // 当 style.width 小于 300 时,会取作 300。 当 style.width 大于屏幕宽度时,会取作屏幕宽度。 + let width = size.width * scale; + width = width < 300 ? 300 : width; // 最小值矫正 + width = width > size.width ? size.width : width; //最大值矫正 + this._banner = typeof location === 'number' ? new ADBanner(adUid, location === EAdBannerLocation.TOP, width, false) : new ADBanner(adUid, location, width, false); + } + + /** + * 显示横幅广告 + */ + public showBanner() { + if (this._banner) { + this._banner.show(); + } else { + console.warn('MiniGameSDK: banner is null, you must call loadBanner(...) first!'); + } + } + + /** + * 隐藏横幅广告 + */ + public hideBanner() { + this._banner?.hide(); + } + + /** + * 弹出插屏广告 + * @param adUid 广告单元id + */ + public showInterstitial(adUid: string) { + if (this._interstitial && this._interstitial.aduid === adUid) { + this._interstitial.show(); + } else { + this._interstitial?.destory(); + this._interstitial = new ADInterstitial(adUid); + this._interstitial.show(); + } + } + + /** + * 加载原生模板广告,不会显示。只有你在调用showCustom时才会显示。 + * 由于原生模板广告在微信服务后端可以定制宽度大小,个数,缩放比例等,所以位置调整要根据设置的宽度来定。抖音不支持本函数,会调用无效! + * @param adUid 广告ID + * @param location 位置有两种情况:1、可以传入枚举值,默认上方; 2、可以自定义位置传入IPosition,注意IPosition中的top和left跟平台的top,left是一致(没有乘以设备像素比ratio),需要开发者自己调试位置 + * @param scale 缩放比例,默认是1,即不缩放。这个缩放并不是自己填,而是根据微信MP后台你配置的原生模板广告的缩放比例填,目前有100%,90%,80%三种,一般情况不用修改。若有后台修改,记得传入值,例如90%就传入0.9。 + */ + public loadCustom(adUid: string, location: IPosition = { top: 0, left: 0 }, scale: number = 1) { + // this._custom?.destroy(); + // this._custom = new ADCustom(adUid, location.top, location.left, scale); + if (this._customs[adUid]) { + console.log(`${adUid} has been loaded.`); + return; + } + + this._customs[adUid] = new ADCustom(adUid, location.top, location.left, scale); + } + + /** + * 显示自定义广告。 + * @param adUid 广告的唯一标识符。使用此标识符来查找和显示特定的自定义广告。 + * + * 此方法尝试根据提供的adUid显示一个自定义广告。如果给定的adUid对应的自定义广告已加载, + * 则调用该广告的显示方法。如果广告未加载,则在控制台输出警告信息。 + */ + public showCustom(adUid: string) { + if (this._customs[adUid]) { + this._customs[adUid].show(); + } else { + console.warn(`You have not load ${adUid} of Custom AD, can not show!`); + } + } + + /** + * 隐藏指定的自定义广告单元 + * + * 此方法用于隐藏通过广告单元标识符(adUid)指定的自定义广告。如果指定的广告单元已加载并显示, + * 则将其隐藏;如果广告单元未加载,则在控制台输出警告信息。 + * + * @param adUid 广告单元标识符,用于唯一标识一个自定义广告单元。 + */ + public hideCustom(adUid: string) { + if (this._customs[adUid]) { + this._customs[adUid].hide(); + } else { + console.warn(`You have not load ${adUid} of Custom AD, can not hide!`); + } + } + + /** + * 由于微信和抖音视频广告机制不同,微信可以看的视频广告个数只有0和1个,抖音平台则可以看0~maxVideoCount + * @param adUid 广告ID。如果与上一次UID不同,则内部会重新创建实例。开发者完全不用关心这个细节。 + * @param onVideoResult 两个参数:第一个res是EAdVideoResult定义,第二count是用户看了多少个视频广告。 + * @param target onVideoResult的拥有者 + * @param maxVideoCount 最大视频个数。默认是3,仅对抖音平台生效。微信平台看完视频count的结果永远是1或0 + */ + public showVideo(adUid: string, onVideoResult: (res: EAdVideoResult, count: number) => void, target?: any, maxVideoCount: number = 3) { + if (this._video && this._video.aduid === adUid) { + this._video.show(onVideoResult, target, maxVideoCount); + } else { + this._video?.destory(); + this._video = new ADVideo(adUid); + this._video.show(onVideoResult, target, maxVideoCount); + } + } + + /** + * 销毁内部所有实例,清空内存 + */ + public destroyAll() { + this._banner?.destroy(); + this._banner = null; + + this._interstitial?.destory(); + this._interstitial = null; + + this._video?.destory(); + this._video = null; + + if (this._customs) { + for (let val in this._customs) { + this._customs[val]?.destroy(); + } + this._customs = {}; + } + } + } + + export enum EGameClubIcon { + /** 绿色图标 */ + GREEN = 'green', + + /** 红色图标 */ + WHITE = 'white', + + /** 有黑色圆角背景的白色图标 */ + DARK = 'dark', + + /** 有白色圆角背景的绿色图标 */ + LIGHT = 'light' + } + + export class GameClub { + private static _instance: GameClub; + + static get instance(): GameClub { + if (!this._instance) { + this._instance = new GameClub(); + } + return this._instance; + } + + private _club: any; + + private constructor() { + + } + + /** + * 创建游戏圈按钮 + * @param icon + * @param position + * @param size + * @param openLink + */ + create(icon: EGameClubIcon = EGameClubIcon.GREEN, position: IPosition = { top: 0, left: 0 }, size: ISize = { width: 40, height: 40 }, openLink?: string) { + if (isWechat()) { + // @ts-ignore + this._club = wx.createGameClubButton({ + icon: icon, + style: { + left: position.left, + top: position.top, + width: size.width, + height: size.height + }, + openlink: openLink + }); + } + } + + show() { + this._club?.show(); + } + + hide() { + this._club?.hide(); + } + + destory() { + this._club?.destroy(); + } + } + + + /** + * 振动类型 + */ + export enum EVirbrateType { + /** + * 短振动 + */ + SHORT, + + /** + * 长振动 + */ + LONG + } + + /** + * 平台常用API合集 + */ + export class API { + private static _loginCode: string = null; + private static _loginAnonymousCode: string = null; + private static _hasInitWechatCloudFunction: boolean = false; + + + /** + * 分享app给朋友,微信小游戏分享是没有onSuccess回调的。 + * @param title 标题 + * @param description 细节描述信息 + * @param imageUrl 图片地址 + * @param query 查询信息 + * @param onSuccess 抖音会回调,微信不会回调 + */ + static shareAppToFriends(title: string, description: string = '', imageUrl?: string, query?: string, onSuccess?: () => void) { + if (isWechat()) { + try { + //@ts-ignore + wx.shareAppMessage({ + title: title, + imageUrl: imageUrl, + query: query, + }); + } catch (err) { + console.log(`share faild: ${err}`); + } + } + + if (isBytedance()) { + //@ts-ignore + tt.shareAppMessage({ + title: title, + desc: description, + imageUrl: imageUrl ?? '', + query: query ?? '', + success(res: any) { + console.log('share success:', res); + onSuccess?.(); + }, + fail(res: any) { + console.log('share fail:', res); + } + }); + } + } + + /** + * 显示提示信息 + * @param title 标题 + * @param duration 时长(单位:秒) + * @returns + */ + static showToast(title: string, duration: number = 2) { + if (isWechat()) { + // @ts-ignore + wx.showToast({ + title: title, + icon: 'success', + duration: duration * 1000 + }); + } + + if (isBytedance()) { + //@ts-ignore + tt.showToast({ + title: title, + duration: duration * 1000, + success(res: any) { + console.log(`${res}`); + }, + fail(res: any) { + console.log(`showToast调用失败`); + }, + }); + } + } + + /** + * 设备震动效果,默认为短震动。注意:可能一些机型不会生效,具体看平台方的说明 + * @param type MiniGameSdk.API.EVirbrateType + */ + static vibrate(type: EVirbrateType = EVirbrateType.SHORT) { + if (isWechat()) { + switch (type) { + case EVirbrateType.SHORT: + //@ts-ignore + wx.vibrateShort({ + success(res: any) { + console.log('vibrate success:', res); + }, + fail(res: any) { + console.log('vibrateShort failed', res); + }, + }); + break; + case EVirbrateType.LONG: + //@ts-ignore + wx.vibrateLong({ + success(res: any) { + console.log('vibrate success', res); + }, + fail(res: any) { + console.log(`vibrateLong failed`, res); + }, + }); + break; + default: + break; + } + } + + if (isBytedance()) { + switch (type) { + case EVirbrateType.SHORT: + //@ts-ignore + tt.vibrateShort({ + success(res: any) { + console.log('vibrate success:', res); + }, + fail(res: any) { + console.log('vibrateShort failed', res); + }, + }); + break; + case EVirbrateType.LONG: + //@ts-ignore + tt.vibrateLong({ + success(res: any) { + console.log('vibrate success', res); + }, + fail(res: any) { + console.log(`vibrateLong failed`, res); + }, + }); + break; + default: + break; + } + } + } + + /** + * 重启小游戏 + */ + static reboot() { + if (isWechat()) { + //@ts-ignore + wx.restartMiniProgram({ + success: () => { + console.log('restart success'); + }, + + fail: () => { + console.log('restart failed'); + } + }) + } + + if (isBytedance()) { + try { + // @ts-ignore + tt.restartMiniProgramSync(); + } catch (error) { + console.log(`restartMiniProgramSync`, error); + } + } + } + + /** + * 退出小游戏 + */ + static exit() { + if (isWechat()) { + //@ts-ignore + wx.exitMiniProgram({ + success: () => { + console.log('exit success'); + }, + fail: () => { + console.log('exit failed'); + } + }); + } + + if (isBytedance()) { + // @ts-ignore + tt.exitMiniProgram({ + success(res: any) { + console.log("exit success:", res?.data); + }, + fail(res: any) { + console.log("exit fail:", res?.errMsg); + }, + }); + } + } + + /** + * 显示转发按钮。通常在刚进入游戏的时候调用。 + * 主要是打开平台“...”这个按钮里面的分享菜单,一般默认是关闭的,需要调用这个函数打开。可以让用户分享你的游戏入口。 + */ + static showShareMenu() { + if (isWechat()) { + //@ts-ignore + wx.showShareMenu({ + withShareTicket: true, + menus: ['shareAppMessage', 'shareTimeline'], + success: () => { }, + fail: () => { }, + complete: () => { } + }); + } + + if (isBytedance()) { + //@ts-ignore + tt.showShareMenu({ + success(res: any) { + console.log("show menu is showing"); + }, + fail(err: any) { + console.log("showShareMenu:", err.errMsg); + }, + complete(res: any) { + console.log("showShareMenu complete"); + }, + }); + } + } + + /** + * 微信小游戏:跳转到另外一款小游戏 + * 抖音小游戏:跳转到指定的视频界面 + * @param targetId 微信小游戏appid或者视频界面 + */ + static navigateTo(targetId: string, onSuccess?: () => void) { + if (isWechat()) { + // @ts-ignore + wx.navigateToMiniProgram({ + appId: targetId, + extraData: { + foo: 'bar' + }, + envVersion: 'develop', + success(res: any) { + onSuccess?.(); + } + }); + } + + if (isBytedance()) { + // @ts-ignore + tt.navigateToVideoView({ + videoId: targetId, + success: (res: any) => { + onSuccess?.(); + }, + fail: (err: any) => { + console.log("bytedance navigateToVideoView fail", err); + }, + }); + } + } + + + /** + * 小游戏平台登录功能。微信返回code,抖音返回code和anonymousCode。用于登录的凭证,需要把这个code传回你的服务器程序中去调用code2Session + * @param callback (code, anonymousCode) 第一个参数为code,微信和抖音都支持;第二个参数为匿名设备ID,仅抖音支持,失败都返回null + */ + static login(callback: (code: string, anonymousCode: string) => void) { + let loginPlatform = () => { + if (isWechat()) { + //@ts-ignore + wx.login({ + success: (res: { code: any; errMsg: any; }) => { + if (res.code) { + API._loginCode = res.code; + API._loginAnonymousCode = null; + callback?.(API._loginCode, API._loginAnonymousCode); + } else { + console.log('login error:', res.errMsg) + } + }, + + fail: () => { + API._loginCode = null; + API._loginAnonymousCode = null; + callback?.(API._loginCode, API._loginAnonymousCode); + console.log('login fail') + } + }); + } else if (isBytedance()) { + //@ts-ignore + tt.login({ + force: true, + success(res: any) { + console.log(`login ${res.code} ${res.anonymousCode}`); + if (res.code) { + API._loginCode = res.code?.toString(); + API._loginAnonymousCode = res.anonymousCode?.toString(); + callback?.(API._loginCode, API._loginAnonymousCode); + } else { + console.log('login error:', res.errMsg) + } + }, + fail(res: any) { + API._loginCode = null; + API._loginAnonymousCode = null; + callback?.(API._loginCode, API._loginAnonymousCode); + console.log(`login fail`, res); + }, + }); + } else { + API._loginCode = null; + API._loginAnonymousCode = null; + callback?.(API._loginCode, API._loginAnonymousCode); + console.log('not mini game platform, login codes are all null'); + } + } + + + + if (!API._loginCode) { + loginPlatform(); + } else { + if (isWechat()) { + //@ts-ignore + wx.checkSession({ + success() { + console.log(`session is valid, use current code:`, API._loginCode); + callback?.(API._loginCode, API._loginAnonymousCode); + }, + fail() { + console.log(`session expired`); + loginPlatform(); + } + }); + } else if (isBytedance()) { + //@ts-ignore + tt.checkSession({ + success() { + console.log(`session is valid, user current code: ${API._loginCode}, ${API._loginAnonymousCode}`); + callback?.(API._loginCode, API._loginAnonymousCode); + }, + fail() { + console.log(`session expired`); + loginPlatform(); + }, + }); + + } else { + console.log('not mini game platform, login null'); + callback?.(null, null); + } + } + } + + /** + * 调用微信云函数。由于参数需要自定义,所以为any,需要自行解释。函数只完成通道和处理一场的作用 + * @param callback 返回云函数调用结果。需要检查返回参数是否为空,失败的时候为空 + * @param name 云函数的名字 + * @param data 云函数的内容 + */ + static callWechatCloudFunction(callback: (res: any) => void, name: string, data: {}) { + if (!isWechat()) { + console.log('Not wechat platform, not support callWechatCloudFunction'); + return; + } + + this.login((code: string, anonymousCode: string) => { + if (!API._hasInitWechatCloudFunction) { + //@ts-ignore + wx.cloud.init(); + API._hasInitWechatCloudFunction = true; + } + //@ts-ignore + wx.cloud.callFunction({ + name: name, + data: data, + success: (res: any) => callback?.(res), + fail: (err: any) => { + console.log('wechat cloud function error:', err); + callback?.(null); + } + }); + }); + } + + /** + * 存储用户信息,数据量不能大。可以考虑用于分数排行榜。用户之间可共享排行数据。 + * @param key + * @param value + */ + static setUserCloudStorage(key: string, value: string) { + if (isWechat()) { + // @ts-ignore + wx.setUserCloudStorage({ + KVDataList: [{ key: key, value: value }], + success: () => console.log(`set cloud storage success:${key}, value:${value}`), + fail: (err: any) => console.log('set cloud storage error:', err) + }); + } + + if (isBytedance()) { + // @ts-ignore + tt.setUserCloudStorage({ + KVDataList: [{ key: key, value: value, }], + success: () => console.log(`set cloud storage success:${key}, value:${value}`), + fail: (err: any) => console.log('set cloud storage error:', err) + }); + } + } + } + + + /** + * 抖音侧边栏专属接口 + */ + export class BytedanceSidebar { + /** + * 本游戏在抖音环境下启动监控,需要放在全局环境中,保证能第一时间启动。因为可能监听抖音失败(抖音小游戏官方的说明)! + * @param onResult 包含一个boolean参数的函数 + * @param target 上述函数的拥有者,如果是类的成员函数,需要传入this。普通或匿名函数忽略即可。 + */ + static listenFromSidebar(onResult: (success: boolean) => void, target?: any) { + if (!isBytedance()) { + onResult?.call(target, false); + return; + } + // @ts-ignore + tt.onShow((res: any) => { + console.log('onShow launch res:', res); + if (res.scene === '021036') { + onResult?.call(target, true); + console.log('launch from sidebar'); + } else { + onResult?.call(target, false); + console.log('NOT launch from douyin sidebar!'); + } + }); + + // @ts-ignore + let options = tt.getLaunchOptionsSync(); + if (options && options.scene === '021036') { + onResult?.call(target, true); + } + } + + /** + * 检测抖音侧边栏是否存在 + * @param onResult 包含一个boolean参数的函数 + * @param target 上述函数的拥有者,如果是类的成员函数,需要传入this。普通或匿名函数忽略即可。 + * @returns + */ + static checkSideBar(onResult: (success: boolean) => void, target?: any) { + if (!isBytedance()) { + onResult?.call(target, false); + return; + } + + //@ts-ignore + tt.checkScene({ + scene: "sidebar", + success: (res: any) => { + console.log("check scene success: ", res.isExist); + onResult?.call(target, res.isExist); + + }, + fail: (res: any) => { + console.log("check scene fail:", res); + onResult?.call(target, false); + } + }); + } + + /** + * 跳转到抖音侧边栏 + * @param onResult 包含一个boolean参数的函数 + * @param target 上述函数的拥有者,如果是类的成员函数,需要传入this。普通或匿名函数忽略即可。 + * @returns + */ + static navigateToSidebar(onResult: (success: boolean) => void, target?: any) { + if (!isBytedance()) { + console.log("not douyin platform!"); + onResult?.call(target, false); + return; + } + + // @ts-ignore + tt.navigateToScene({ + scene: "sidebar", + success: () => { + console.log("navigate success"); + onResult?.call(target, true); + }, + fail: (res: any) => { + console.log("navigate failed reason:", res); + onResult?.call(target, false); + }, + }); + } + } + +} \ No newline at end of file diff --git a/assets/Script/Sdk/MiniGameSdk.ts.meta b/assets/Script/Sdk/MiniGameSdk.ts.meta new file mode 100644 index 0000000..42a905b --- /dev/null +++ b/assets/Script/Sdk/MiniGameSdk.ts.meta @@ -0,0 +1,10 @@ +{ + "ver": "1.1.0", + "uuid": "c1af99dd-ee03-40f7-9609-d3887d0dd357", + "importer": "typescript", + "isPlugin": false, + "loadPluginInWeb": true, + "loadPluginInNative": true, + "loadPluginInEditor": false, + "subMetas": {} +} \ No newline at end of file diff --git a/assets/Script/module/Config/GameConfig.ts b/assets/Script/module/Config/GameConfig.ts index cb0918e..c3d592f 100644 --- a/assets/Script/module/Config/GameConfig.ts +++ b/assets/Script/module/Config/GameConfig.ts @@ -200,14 +200,14 @@ export class GameConfig { matchId: null, //用于埋点上传的ID custom: 0, //用于测试跳关卡 round:0, //回合数 - level: 6, //具体游戏内进行到第几步 + level: 0, //具体游戏内进行到第几步 stepTimeList:0, //整局游戏用时,由于涉及场景切换,数据需要保留 successList:[], //整局胜负 fen:0, //小局得分 score:0, //总得分 igniteCount: 0, //玩家总计成功点火数 - min_Steps:15, //每次上一把最小步数 - min_Time:5 //每一把上次距离洪峰到来时间 + min_Steps:0, //每次上一把最小步数 + min_Time:0 //每一把上次距离洪峰到来时间 }; } @@ -286,7 +286,7 @@ export class GameConfig { // ] - this.LEVEL_INFO = [[{"id":"1001","map":[[0,4,0,0],[0,0,0,0],[0,0,0,0],[0,0,1,0]],"min_steps":3},{"id":"1002","map":[[1,0,0,0],[0,0,0,4],[0,0,0,0],[0,0,0,0]],"min_steps":3},{"id":"1004","map":[[1,0,0,0],[0,0,0,0],[0,0,0,0],[0,4,0,0]],"min_steps":3},{"id":"1006","map":[[4,0,0,0],[0,0,0,0],[0,0,0,0],[0,1,0,0]],"min_steps":3},{"id":"1003","map":[[1,0,0,0],[0,0,0,0],[0,0,0,0],[0,0,0,4]],"min_steps":4},{"id":"1005","map":[[1,0,0,0],[0,0,0,0],[0,0,0,4],[0,0,0,0]],"min_steps":4},{"id":"1007","map":[[0,4,0,0],[0,0,0,0],[0,0,0,0],[0,0,0,1]],"min_steps":4},{"id":"1008","map":[[0,0,0,4],[0,0,0,0],[0,0,0,0],[1,0,0,0]],"min_steps":4}],[{"id":"2001","map":[[0,0,0,0,1],[0,0,0,0,0],[0,0,3,0,3],[0,0,0,0,0],[4,0,0,0,3]],"min_steps":4},{"id":"2002","map":[[0,1,0,0,0],[0,0,0,0,0],[3,3,0,0,4],[0,0,0,0,0],[3,0,0,0,0]],"min_steps":4},{"id":"2009","map":[[0,3,0,0,4],[3,0,0,0,0],[0,0,0,0,0],[1,0,0,0,0],[0,3,0,0,0]],"min_steps":4},{"id":"2010","map":[[0,0,0,0,1],[0,0,0,0,0],[0,0,0,0,0],[0,3,0,3,0],[4,0,3,0,0]],"min_steps":4},{"id":"2011","map":[[4,3,1,0,0],[0,0,0,0,3],[0,0,0,3,0],[0,0,0,0,0],[0,0,0,0,0]],"min_steps":4},{"id":"2021","map":[[0,0,0,1,0],[0,0,3,0,0],[0,0,0,3,3],[0,0,0,0,0],[0,4,0,0,0]],"min_steps":4},{"id":"2004","map":[[1,0,0,0,0],[0,0,0,0,3],[3,0,0,0,0],[0,0,0,0,0],[0,0,0,0,4]],"min_steps":5},{"id":"2012","map":[[0,3,0,4,0],[0,0,0,3,0],[1,0,3,0,0],[0,0,0,0,0],[0,0,0,0,0]],"min_steps":5},{"id":"2013","map":[[0,0,0,0,0],[1,0,0,0,0],[0,0,0,3,3],[3,0,0,0,0],[0,0,0,4,0]],"min_steps":5},{"id":"2014","map":[[3,0,1,0,0],[0,3,0,0,0],[0,0,0,0,0],[4,0,0,3,0],[0,0,0,0,0]],"min_steps":5},{"id":"2015","map":[[3,0,0,0,1],[3,0,0,0,0],[0,0,0,0,0],[4,3,0,0,0],[3,0,0,0,0]],"min_steps":5},{"id":"2016","map":[[0,0,0,0,0],[1,0,3,0,0],[3,0,0,0,3],[0,0,0,0,0],[0,0,0,0,4]],"min_steps":5},{"id":"2017","map":[[0,3,0,0,0],[4,0,0,0,0],[0,0,0,0,0],[3,0,3,0,0],[3,0,0,0,1]],"min_steps":5},{"id":"2018","map":[[0,3,4,3,3],[0,0,0,0,0],[0,0,0,0,0],[0,0,0,0,0],[0,0,3,0,1]],"min_steps":5},{"id":"2019","map":[[3,0,0,4,0],[0,0,0,3,0],[0,0,0,0,0],[0,0,0,0,0],[1,0,3,0,0]],"min_steps":5},{"id":"2020","map":[[4,0,3,0,1],[0,0,0,0,3],[0,0,0,0,0],[0,0,0,0,0],[0,0,3,0,0]],"min_steps":5},{"id":"2003","map":[[1,0,0,3,0],[0,0,3,0,0],[0,0,0,0,0],[0,0,0,0,0],[0,3,0,4,0]],"min_steps":6},{"id":"2005","map":[[0,3,0,0,0],[1,0,0,0,0],[0,0,0,3,0],[0,0,0,0,0],[0,3,0,4,0]],"min_steps":6},{"id":"2006","map":[[0,1,0,0,0],[0,0,0,0,3],[0,0,0,0,3],[0,0,0,0,0],[0,0,0,3,4]],"min_steps":6},{"id":"2007","map":[[3,0,0,0,1],[0,0,0,0,3],[0,0,0,0,0],[0,0,0,0,0],[4,3,0,0,0]],"min_steps":6},{"id":"2008","map":[[3,4,0,0,0],[0,0,0,0,3],[0,0,0,3,1],[0,0,0,0,0],[0,0,0,0,0]],"min_steps":6},{"id":"2022","map":[[0,0,0,0,0],[1,3,0,0,3],[0,0,0,0,0],[0,0,0,0,0],[0,0,3,4,0]],"min_steps":6}],[{"id":"3001","map":[[3,0,2,3,4],[0,0,0,2,2],[2,3,3,3,3],[0,0,2,0,2],[1,0,2,3,0]],"min_steps":5},{"id":"3002","map":[[3,0,3,2,0],[1,2,0,3,2],[2,3,0,0,4],[2,0,2,2,0],[3,3,0,3,0]],"min_steps":5},{"id":"3003","map":[[0,2,3,3,4],[2,2,0,0,0],[1,3,3,3,2],[2,2,3,2,3],[0,0,0,0,0]],"min_steps":5},{"id":"3004","map":[[3,2,2,1,0],[0,0,3,2,2],[3,0,2,3,0],[3,0,0,3,3],[0,2,4,0,2]],"min_steps":5},{"id":"3005","map":[[3,0,3,0,0],[2,3,0,0,1],[0,2,2,2,3],[4,2,0,0,2],[3,3,0,3,2]],"min_steps":5},{"id":"3008","map":[[3,3,3,0,1],[0,0,0,0,3],[2,2,3,2,2],[0,2,3,0,3],[4,2,2,0,0]],"min_steps":5},{"id":"3009","map":[[1,0,3,3,2],[3,0,2,0,0],[0,3,3,2,4],[0,0,3,0,2],[2,2,2,0,3]],"min_steps":5},{"id":"3010","map":[[3,0,2,0,4],[1,2,3,0,3],[2,0,3,2,0],[0,3,0,0,3],[2,0,2,3,2]],"min_steps":5},{"id":"3006","map":[[2,0,2,2,0],[1,2,3,0,0],[3,3,0,3,2],[3,0,0,3,2],[2,0,3,0,4]],"min_steps":6},{"id":"3007","map":[[1,2,0,3,3],[2,2,0,2,0],[2,3,2,0,3],[0,3,2,0,4],[0,0,3,0,3]],"min_steps":6},{"id":"3011","map":[[2,3,0,1,0],[0,0,0,0,0],[3,0,0,0,3],[0,2,0,3,2],[4,3,3,2,2]],"min_steps":6},{"id":"3012","map":[[0,2,1,0,3],[0,3,0,0,3],[3,2,3,2,0],[0,2,0,3,0],[2,0,0,0,4]],"min_steps":6},{"id":"3013","map":[[0,2,1,0,3],[0,3,0,0,3],[3,2,3,2,0],[0,2,0,3,0],[2,0,0,0,4]],"min_steps":6},{"id":"3014","map":[[1,0,3,3,4],[2,3,0,3,0],[0,2,2,0,0],[3,3,0,0,2],[2,0,0,0,0]],"min_steps":6},{"id":"3015","map":[[2,3,0,0,0],[0,0,2,3,0],[4,0,3,0,3],[2,0,2,2,3],[0,3,0,0,1]],"min_steps":6},{"id":"3016","map":[[3,0,2,0,2],[2,0,0,0,3],[0,2,3,0,1],[4,0,0,3,0],[3,3,0,0,2]],"min_steps":6},{"id":"3017","map":[[0,3,0,0,2],[3,0,2,0,4],[1,3,3,0,0],[2,0,0,2,0],[3,2,3,0,0]],"min_steps":6},{"id":"3018","map":[[4,2,0,0,0],[0,0,0,3,2],[0,3,0,0,3],[3,2,3,2,0],[3,0,2,1,0]],"min_steps":7},{"id":"3019","map":[[0,4,0,3,2],[0,2,0,0,0],[3,0,3,0,2],[3,3,2,3,1],[2,0,0,0,0]],"min_steps":7},{"id":"3020","map":[[0,2,0,1,0],[0,0,0,3,2],[3,0,3,3,3],[3,0,0,0,2],[0,2,2,4,0]],"min_steps":7},{"id":"3021","map":[[3,2,0,2,1],[3,2,0,3,2],[3,0,0,2,3],[0,0,0,0,4],[0,0,3,0,0]],"min_steps":7},{"id":"3022","map":[[2,0,2,2,2],[0,0,3,0,0],[3,0,3,0,0],[1,0,3,2,4],[0,0,3,3,0]],"min_steps":7},{"id":"3023","map":[[1,2,0,2,0],[3,3,3,0,0],[0,2,3,2,0],[4,0,0,0,3],[0,0,2,0,3]],"min_steps":7},{"id":"3024","map":[[1,0,3,0,3],[2,2,0,0,0],[0,3,0,3,0],[2,0,3,2,0],[2,3,0,4,0]],"min_steps":7}],[{"id":"4001","map":[[1,3,0,0,2,0],[0,3,0,0,2,0],[0,0,2,0,3,4],[0,0,0,2,0,0],[3,3,0,0,2,0,3],[0,0,2,2,2,0]],"min_steps":5},{"id":"4002","map":[[0,2,2,2,2,0],[1,0,0,0,2,0],[0,0,0,0,0,3],[0,0,0,0,2,0],[0,3,3,0,2,0],[3,0,0,4,2,0]],"min_steps":5},{"id":"4003","map":[[0,0,0,0,0,0],[2,0,0,0,0,2],[0,3,3,3,2,4],[0,3,0,3,2,0],[0,0,0,0,0,3],[0,0,2,3,0,1]],"min_steps":6},{"id":"4004","map":[[2,0,3,0,0,4],[0,2,3,3,0,0],[0,3,0,0,0,0],[3,0,0,0,2,2],[3,0,0,2,0,0],[1,0,0,3,0,0]],"min_steps":6},{"id":"4006","map":[[4,3,0,3,0,0],[0,2,0,3,0,0],[3,0,0,0,3,2],[0,3,0,0,2,1],[0,0,2,0,0,0],[0,0,0,0,2,3]],"min_steps":7},{"id":"4007","map":[[4,2,2,0,2,0],[0,3,0,2,0,0],[0,2,3,0,3,0],[0,0,3,0,0,3],[0,0,3,0,0,0],[0,0,0,3,0,1]],"min_steps":7},{"id":"4014","map":[[0,0,3,0,2,2],[0,2,3,0,0,1],[0,3,3,0,0,3],[0,2,0,0,0,0],[0,0,0,3,3,0],[2,0,4,0,0,0]],"min_steps":7},{"id":"4015","map":[[2,0,0,0,0,0],[0,0,0,0,3,1],[3,0,2,0,0,3],[2,0,0,2,3,0],[3,0,3,0,0,0],[2,0,0,3,4,0]],"min_steps":7},{"id":"4005","map":[[1,0,0,0,0,2],[0,0,0,2,0,0],[3,2,0,0,0,0],[0,3,0,0,2,3],[0,0,3,3,0,0],[3,0,0,2,3,4]],"min_steps":8},{"id":"4008","map":[[0,0,2,3,0,0],[0,3,0,2,3,2],[3,0,0,0,0,0],[0,3,0,0,3,4],[0,0,0,0,0,3],[0,2,0,2,0,1]],"min_steps":8},{"id":"4009","map":[[0,3,3,0,0,4],[2,0,0,3,0,0],[2,0,0,3,0,0],[1,0,0,0,3,0],[0,0,2,3,0,2],[2,3,0,0,0,0]],"min_steps":8},{"id":"4010","map":[[0,0,1,3,2,0],[3,0,0,0,3,2],[3,0,0,0,0,3],[2,0,0,0,0,0],[0,2,0,0,3,0],[0,2,0,3,4,0]],"min_steps":8},{"id":"4011","map":[[1,0,0,0,0,0],[3,3,0,0,0,2],[0,0,0,3,0,2],[2,0,3,0,3,0],[2,0,3,0,0,3],[4,0,0,0,0,2]],"min_steps":8},{"id":"4016","map":[[0,0,3,0,0,1],[2,3,0,0,3,0],[2,0,0,0,0,2],[0,3,0,0,0,0],[0,3,0,0,2,0],[0,4,3,0,2,3]],"min_steps":8},{"id":"4017","map":[[1,2,3,0,3,2],[3,0,0,0,0,0],[0,0,0,0,0,3],[3,3,0,3,2,0],[0,2,0,0,0,0],[4,0,0,2,0,0]],"min_steps":8},{"id":"4018","map":[[0,0,1,0,2,0],[0,0,0,0,0,0],[0,0,3,2,3,0],[3,0,0,3,0,0],[2,3,0,2,0,0],[4,2,0,3,3,0]],"min_steps":8},{"id":"4012","map":[[2,2,3,0,2,0],[0,3,0,0,0,0],[0,0,0,0,3,4],[0,2,0,3,0,3],[0,0,0,0,0,0],[0,0,2,3,3,1]],"min_steps":9},{"id":"4013","map":[[0,0,0,0,3,0],[4,2,0,3,0,0],[3,2,0,0,0,0],[1,3,0,3,0,0],[2,0,0,2,0,0],[3,0,0,3,2,0]],"min_steps":9},{"id":"4019","map":[[3,4,0,0,0,2],[3,2,0,0,2,0],[0,3,0,3,0,2],[0,0,3,0,0,0],[0,0,0,0,3,0],[1,3,0,0,0,2]],"min_steps":9},{"id":"4020","map":[[0,2,0,1,0,0],[2,3,0,0,2,0],[3,0,0,0,0,0],[0,3,3,0,0,3],[2,0,0,3,0,0],[4,3,0,0,0,2]],"min_steps":9}],[{"id":"5001","map":[[1,0,0,0,0,0],[0,2,2,3,0,2],[3,2,0,0,3,3],[0,0,0,0,0,4],[0,0,0,2,2,0],[3,0,2,2,0,0]],"min_steps":7},{"id":"5002","map":[[0,0,0,0,4,3],[3,2,3,0,0,0],[0,2,0,2,3,0],[2,2,0,0,0,0],[3,2,0,0,0,0],[3,0,0,2,0,3],[2,0,0,3,0,1]],"min_steps":7},{"id":"5015","map":[[1,2,3,2,2,0],[3,0,0,0,0,3],[0,0,0,0,0,0],[0,0,0,0,0,2],[0,3,0,3,2,0],[0,0,0,0,0,0],[0,2,0,4,0,3]],"min_steps":7},{"id":"5016","map":[[3,0,1,0,0,0],[0,2,0,2,0,0],[0,2,0,2,0,3],[0,0,0,0,0,0],[0,2,0,0,3,3],[0,0,0,0,2,3],[0,0,0,3,0,4]],"min_steps":7},{"id":"5004","map":[[0,3,3,2,3,0],[2,0,2,0,3,0],[1,0,3,2,0,0],[3,3,0,0,0,2],[0,0,0,0,0,0],[0,2,0,0,0,0],[0,0,0,3,4,0]],"min_steps":8},{"id":"5005","map":[[0,0,0,0,0,1],[0,0,2,0,2,0],[3,2,2,0,0,0],[3,0,0,3,0,0],[3,3,0,0,0,3],[4,3,0,0,0,0],[2,0,0,2,3,0]],"min_steps":8},{"id":"5008","map":[[3,0,3,2,0,4],[0,3,0,2,0,2],[0,0,3,0,0,0],[2,0,0,2,0,0],[0,0,3,0,0,0],[0,0,0,3,0,0],[3,2,1,3,0,0]],"min_steps":8},{"id":"5012","map":[[2,3,0,2,0,1],[2,0,0,0,0,0],[2,0,0,3,0,2],[3,0,3,0,0,3],[0,0,0,0,3,3],[3,0,0,0,2,0],[0,0,0,0,0,4]],"min_steps":8},{"id":"5013","map":[[0,0,2,1,2,0],[0,3,0,0,0,0],[2,0,0,0,0,0],[0,0,0,3,0,0],[3,0,0,2,3,0],[3,3,3,2,0,2],[0,0,4,0,0,3]],"min_steps":8},{"id":"5018","map":[[0,2,0,1,0,0],[2,0,0,3,0,0],[0,0,0,0,0,0],[3,0,0,0,0,0],[2,3,0,2,3,3],[2,0,0,0,0,2],[4,3,0,0,0,0]],"min_steps":8},{"id":"5019","map":[[1,3,0,2,3,0],[0,0,0,0,0,2],[0,0,0,0,0,0],[0,0,2,0,0,2],[3,3,0,3,0,2],[4,0,2,0,0,0],[0,0,0,3,0,0]],"min_steps":8},{"id":"5029","map":[[4,3,0,0,0,0],[2,0,0,3,0,2],[3,2,0,3,3,0],[2,0,0,3,0,0],[0,2,0,0,0,0],[2,0,0,0,0,0],[3,0,3,3,0,1]],"min_steps":8},{"id":"5030","map":[[0,0,0,0,0,0],[0,0,2,3,2,0],[0,3,0,0,0,0],[2,2,0,3,0,0],[0,3,3,0,3,4],[0,0,2,0,0,3],[3,1,0,3,0,2]],"min_steps":8},{"id":"5006","map":[[0,3,0,0,0,0],[1,0,0,0,3,0],[0,0,3,2,0,0],[3,0,0,2,2,0],[0,3,0,3,3,0],[0,2,0,0,0,0],[4,0,3,0,2,2]],"min_steps":9},{"id":"5007","map":[[0,2,0,3,0,0],[1,2,0,2,0,0],[0,3,0,3,0,0],[3,0,0,0,0,3],[0,0,3,2,0,2],[4,0,0,3,0,3],[0,2,0,0,0,0]],"min_steps":9},{"id":"5010","map":[[0,3,1,0,0,0],[0,2,3,3,0,0],[0,2,0,3,0,0],[0,2,0,2,0,3],[0,2,0,0,3,0],[0,3,0,0,0,0],[0,2,4,0,0,3]],"min_steps":9},{"id":"5011","map":[[1,0,3,0,3,0],[0,2,0,0,0,0],[2,0,2,0,3,0],[0,3,2,0,0,0],[3,0,0,0,0,2],[4,0,3,0,0,0],[3,2,0,0,0,3]],"min_steps":9},{"id":"5014","map":[[0,1,0,0,0,0],[2,0,2,0,0,2],[2,3,0,3,0,0],[0,3,0,0,0,3],[0,0,0,2,0,3],[0,0,3,0,3,0],[2,0,3,0,0,4]],"min_steps":9},{"id":"5017","map":[[0,0,0,0,0,0],[1,2,3,0,0,2],[0,0,2,0,0,2],[3,0,2,3,0,0],[0,3,3,0,2,0],[0,0,0,0,0,0],[4,0,3,0,0,0]],"min_steps":9},{"id":"5028","map":[[0,0,1,0,0,3],[3,0,0,0,3,4],[0,2,0,2,3,2],[0,3,2,3,3,0],[0,0,0,3,0,0],[0,0,3,0,0,2],[0,0,2,0,0,0]],"min_steps":9},{"id":"5003","map":[[0,0,1,3,0,2],[0,3,3,0,0,0],[0,0,3,2,0,0],[0,0,3,0,0,0],[3,0,0,0,2,2],[0,0,2,3,0,0],[0,2,0,3,0,4]],"min_steps":10},{"id":"5009","map":[[0,2,0,0,0,3],[0,0,3,3,3,4],[0,3,0,0,0,0],[0,3,2,0,0,0],[1,2,3,2,0,3],[2,0,0,0,0,0],[0,0,0,0,2,0]],"min_steps":10},{"id":"5021","map":[[0,0,0,0,0,0],[0,0,0,0,3,0],[3,0,0,0,2,0],[2,0,0,2,3,0],[0,3,0,0,0,2],[0,2,3,0,0,0],[4,3,1,2,0,0]],"min_steps":10},{"id":"5022","map":[[4,0,3,0,0,2],[0,0,0,0,2,0],[0,3,0,2,3,2],[3,0,3,0,3,0],[0,2,0,0,0,0],[0,3,0,3,0,3],[0,2,1,0,0,0]],"min_steps":10},{"id":"5023","map":[[3,0,0,3,3,0],[0,0,3,0,0,3],[2,3,0,0,0,0],[2,2,0,0,2,0],[0,3,0,0,0,0],[2,0,3,0,0,4],[0,1,3,0,2,0]],"min_steps":10},{"id":"5024","map":[[3,0,2,3,0,0],[4,2,0,0,0,3],[2,2,0,0,0,0],[0,0,3,0,0,2],[0,0,0,3,0,3],[0,3,3,0,2,0],[3,0,1,0,0,0]],"min_steps":10},{"id":"5020","map":[[0,0,0,2,0,0],[0,3,0,0,0,3],[0,2,0,0,3,0],[2,0,0,2,3,4],[0,2,3,0,0,0],[0,0,0,3,0,0],[3,2,0,1,3,0]],"min_steps":11},{"id":"5025","map":[[1,0,0,0,3,0],[0,0,0,3,3,2],[3,3,2,0,0,2],[0,0,0,0,0,3],[0,0,2,0,2,0],[0,0,0,0,3,4],[0,3,2,3,0,0]],"min_steps":11},{"id":"5026","map":[[0,3,2,0,0,0],[0,0,2,3,3,0],[2,0,0,2,0,0],[3,2,0,0,3,2],[0,0,0,3,3,1],[0,0,3,0,0,3],[0,0,0,0,0,4]],"min_steps":11},{"id":"5027","map":[[0,0,3,0,0,1],[0,0,0,0,0,3],[2,0,2,0,2,3],[0,0,3,3,0,3],[0,0,0,2,3,0],[0,0,0,2,0,3],[2,0,3,0,4,0]],"min_steps":11}],[{"id":"6028","map":[[0,0,3,0,0,2],[1,3,2,2,0,3],[0,0,3,0,0,2],[0,0,0,0,0,0],[0,0,2,0,3,3],[3,3,3,0,0,0],[4,0,0,0,0,2]],"min_steps":8},{"id":"6029","map":[[0,0,2,0,0,1],[3,2,3,0,0,3],[2,0,3,0,3,0],[3,3,0,0,0,0],[0,0,0,3,3,2],[0,0,0,0,0,2],[0,0,0,4,2,0]],"min_steps":8},{"id":"6030","map":[[0,3,3,0,1,0],[2,3,0,0,3,0],[0,0,0,3,0,2],[0,0,3,0,2,0],[0,0,2,3,3,3],[0,0,0,0,0,0],[4,0,0,2,0,2]],"min_steps":8},{"id":"6001","map":[[0,0,3,3,4,2],[0,0,0,2,0,0],[2,3,3,2,0,0],[0,3,0,0,0,2],[0,0,0,3,2,2],[2,0,0,3,0,2],[1,3,2,0,0,0],[0,0,0,3,0,0]],"min_steps":9},{"id":"6012","map":[[3,0,0,0,2,0],[0,3,0,3,0,0],[0,3,0,0,0,3],[2,0,0,3,2,0],[3,2,2,2,0,0],[3,0,2,0,3,0],[1,2,3,0,2,0],[2,3,0,0,3,4]],"min_steps":9},{"id":"6016","map":[[0,0,1,0,2,3],[0,3,2,0,2,0],[3,3,3,3,0,0],[3,0,0,0,0,0],[2,2,3,0,3,3],[0,0,2,0,2,0],[0,2,0,2,0,3],[3,0,2,0,0,4]],"min_steps":9},{"id":"6008","map":[[0,0,2,0,3,4],[3,3,2,3,0,0],[0,0,0,0,0,3],[0,0,2,3,2,0],[0,0,2,0,3,2],[3,3,0,0,0,2],[0,3,0,0,0,0],[2,1,0,0,0,0]],"min_steps":10},{"id":"6013","map":[[3,0,0,2,2,0],[0,2,0,3,0,2],[0,0,3,2,3,0],[0,3,0,0,3,0],[2,2,3,2,0,0],[0,0,3,3,0,0],[0,2,0,3,2,0],[4,3,3,0,1,0]],"min_steps":10},{"id":"6017","map":[[4,0,0,0,0,3],[0,3,3,0,0,0],[3,0,2,2,0,0],[3,0,2,3,3,2],[3,2,0,2,3,3],[2,0,2,0,0,0],[0,0,0,0,0,3],[2,3,0,2,0,1]],"min_steps":10},{"id":"6022","map":[[0,0,3,4,3,0],[0,3,0,2,2,0],[2,0,2,0,0,3],[0,0,0,0,0,0],[2,3,0,3,2,0],[0,3,0,0,0,0],[0,1,3,0,0,3]],"min_steps":10},{"id":"6023","map":[[0,0,3,1,0,2],[0,0,2,3,0,0],[4,0,3,0,0,0],[2,0,3,0,0,3],[2,0,3,0,3,0],[0,0,0,0,0,0],[2,3,0,2,3,0]],"min_steps":10},{"id":"6024","map":[[0,3,0,2,0,4],[3,0,0,3,3,3],[0,0,2,0,0,0],[2,3,3,0,0,0],[2,0,0,0,0,3],[2,0,3,0,0,1],[0,0,0,0,0,2]],"min_steps":10},{"id":"6025","map":[[4,0,2,0,0,0],[0,0,3,3,0,2],[3,3,0,0,0,3],[0,2,0,2,0,0],[0,0,0,0,3,0],[1,3,0,0,2,2],[0,3,0,0,0,3]],"min_steps":10},{"id":"6002","map":[[0,0,3,3,4,2],[0,0,0,2,0,0],[2,3,3,2,0,0],[0,3,0,0,0,2],[0,0,0,3,2,2],[2,0,0,3,0,2],[1,3,2,0,0,0],[0,0,0,3,0,0]],"min_steps":11},{"id":"6006","map":[[1,0,2,0,0,3],[0,0,0,0,3,0],[3,0,0,3,2,0],[2,3,0,0,0,3],[0,0,3,2,0,3],[0,2,0,3,0,0],[2,3,0,2,0,0],[0,4,0,2,0,0]],"min_steps":11},{"id":"6009","map":[[4,3,0,0,3,0],[0,0,0,0,0,0],[3,3,0,2,0,2],[3,0,0,2,2,0],[2,3,2,0,0,0],[1,3,3,0,0,0],[2,0,0,0,0,0],[3,3,0,0,0,2]],"min_steps":11},{"id":"6018","map":[[2,3,0,0,2,3],[2,0,0,3,0,4],[2,0,0,0,0,0],[0,3,2,0,2,3],[0,0,0,0,0,3],[2,0,3,3,2,3],[0,0,0,3,2,0],[2,3,1,3,0,0]],"min_steps":11},{"id":"6026","map":[[0,1,0,3,0,4],[0,0,3,0,3,0],[2,2,3,2,0,0],[0,0,3,0,3,3],[2,0,0,0,0,2],[0,3,0,0,0,2],[0,0,0,0,0,3]],"min_steps":11},{"id":"6027","map":[[2,1,3,0,0,0],[0,0,0,0,3,0],[3,3,0,0,0,0],[2,2,3,3,3,0],[0,2,0,0,0,0],[3,2,0,0,0,0],[0,4,0,2,3,0]],"min_steps":11},{"id":"6031","map":[[0,1,0,3,0,4],[0,0,3,0,3,0],[2,2,3,2,0,0],[0,0,3,0,3,3],[2,0,0,0,0,2],[0,3,0,0,0,2],[0,0,0,0,0,3]],"min_steps":11},{"id":"6003","map":[[0,2,2,0,0,4],[0,3,3,0,0,0],[3,2,0,0,0,0],[0,3,0,0,3,3],[0,2,0,3,0,0],[2,3,0,0,0,0],[0,2,3,0,0,0],[1,2,3,0,2,0]],"min_steps":12},{"id":"6011","map":[[3,0,2,2,3,2],[1,0,0,0,0,3],[0,0,3,2,3,0],[3,0,3,0,0,0],[4,3,2,3,0,2],[0,0,2,0,2,3],[2,0,0,0,0,3],[0,0,0,2,0,3]],"min_steps":12},{"id":"6014","map":[[4,3,0,0,0,0],[0,2,2,2,3,0],[0,3,0,0,0,0],[2,3,2,3,0,0],[3,3,0,0,0,3],[0,0,0,2,3,0],[0,3,2,0,2,2],[2,3,3,0,0,1]],"min_steps":12},{"id":"6020","map":[[3,2,0,0,0,0],[4,0,2,0,2,0],[3,3,0,0,2,2],[0,0,3,0,2,0],[0,0,0,0,2,3],[0,2,3,3,0,0],[2,3,0,0,3,3],[1,3,3,2,0,0]],"min_steps":12},{"id":"6021","map":[[4,3,0,0,0,0],[0,2,2,2,3,0],[0,3,0,0,0,0],[2,3,2,3,0,0],[3,3,0,0,0,3],[0,0,0,2,3,0],[0,3,2,0,2,2],[2,3,3,0,0,1]],"min_steps":12},{"id":"6004","map":[[0,3,0,2,2,0],[0,0,0,0,0,2],[3,0,0,0,0,0],[0,3,0,0,0,0],[0,3,3,0,3,0],[2,0,0,0,3,2],[2,0,0,0,3,1],[4,3,0,2,3,2]],"min_steps":13},{"id":"6005","map":[[2,2,4,2,3,0],[0,3,3,2,0,0],[3,0,0,3,0,2],[3,0,2,3,3,0],[0,0,0,0,0,0],[0,0,0,0,2,3],[3,2,0,0,0,1],[0,0,0,0,0,0]],"min_steps":13},{"id":"6007","map":[[3,2,0,0,3,4],[0,2,0,0,3,0],[0,0,2,0,2,0],[2,0,0,3,0,3],[0,0,2,0,3,2],[0,2,3,3,0,1],[0,0,0,0,0,3],[0,0,0,3,0,0]],"min_steps":13},{"id":"6010","map":[[0,3,1,0,0,0],[0,2,3,3,0,0],[2,0,0,3,0,0],[0,2,0,0,3,2],[3,0,0,0,0,2],[3,2,0,0,0,0],[4,0,0,3,2,0],[0,3,0,3,2,0]],"min_steps":13},{"id":"6015","map":[[4,0,0,0,2,3],[0,0,3,0,0,3],[2,2,3,2,0,0],[3,0,0,0,3,2],[2,3,0,3,0,2],[0,0,3,0,2,3],[0,0,0,0,0,3],[1,2,2,3,0,0]],"min_steps":14},{"id":"6019","map":[[4,0,0,0,2,3],[0,0,3,0,0,3],[2,2,3,2,0,0],[3,0,0,0,3,2],[2,3,0,3,0,2],[0,0,3,0,2,3],[0,0,0,0,0,3],[1,2,2,3,0,0]],"min_steps":14}],[{"id":"7001","map":[[0,2,0,0,2,0],[3,3,0,2,0,4],[0,0,0,0,0,3],[0,0,0,0,3,2],[0,0,0,0,0,2],[3,3,0,0,0,2],[0,3,3,2,2,0],[0,3,2,2,0,3],[1,2,0,0,2,0]],"min_steps":9},{"id":"7023","map":[[3,2,0,2,0,1],[0,3,3,2,3,3],[0,3,3,0,3,0],[0,2,2,2,0,3],[0,3,2,0,0,3],[0,0,0,0,2,0],[2,2,2,3,0,0],[2,0,3,0,3,0],[0,0,3,0,0,4]],"min_steps":9},{"id":"7003","map":[[1,3,2,0,0,0],[0,0,0,2,0,0],[0,3,0,2,0,0],[3,3,3,2,0,3],[2,3,3,0,3,0],[0,0,0,0,0,2],[3,0,2,2,3,2],[4,2,0,0,2,0],[0,0,2,0,0,2]],"min_steps":10},{"id":"7002","map":[[1,0,3,2,0,2],[0,3,0,0,0,2],[0,2,0,3,2,2],[0,3,0,0,0,0],[0,2,0,3,3,0],[3,2,2,0,0,3],[0,3,2,3,0,2],[0,0,0,0,0,0],[2,0,0,2,3,4]],"min_steps":11},{"id":"7005","map":[[0,0,0,0,0,0],[0,0,0,3,2,4],[0,3,0,0,3,3],[3,3,0,2,0,3],[0,2,2,0,3,2],[0,0,3,0,2,0],[0,2,0,2,0,0],[3,0,0,2,2,0],[0,0,2,2,0,1]],"min_steps":11},{"id":"7006","map":[[0,0,0,0,2,3],[3,2,0,0,0,0],[0,2,0,3,3,4],[0,0,0,2,2,3],[2,0,0,0,0,0],[0,0,0,0,3,0],[3,0,3,3,0,2],[3,0,2,2,0,2],[0,0,2,2,0,1]],"min_steps":11},{"id":"7007","map":[[2,0,2,0,2,0],[0,0,2,0,3,2],[0,0,0,3,3,0],[0,2,0,0,3,2],[3,0,0,2,0,0],[3,3,0,0,0,2],[0,2,0,3,2,0],[0,2,3,0,0,0],[4,3,0,0,1,0]],"min_steps":11},{"id":"7026","map":[[2,4,2,0,0,0],[0,3,3,0,3,0],[3,3,3,0,0,3],[2,0,3,0,0,2],[0,2,2,3,0,3],[1,0,2,0,2,0],[3,3,0,0,0,0],[2,0,0,0,3,2],[2,0,3,2,3,0]],"min_steps":11},{"id":"7027","map":[[2,0,0,0,0,2],[0,0,3,3,2,3],[0,0,3,0,0,1],[0,3,0,3,3,3],[0,0,0,0,0,2],[3,3,2,0,0,2],[3,3,0,2,0,3],[0,3,2,2,2,0],[0,3,4,2,2,0]],"min_steps":11},{"id":"7029","map":[[0,0,1,0,0,0],[3,3,0,0,3,2],[3,0,0,0,2,0],[0,2,0,2,2,0],[2,3,3,3,0,3],[3,2,2,3,0,0],[2,0,3,0,0,3],[3,2,0,0,0,3],[4,2,0,0,3,2]],"min_steps":11},{"id":"7008","map":[[1,0,0,0,2,0],[3,3,2,0,3,0],[3,0,3,0,0,0],[0,0,3,0,0,3],[2,2,0,3,0,3],[2,0,2,0,0,0],[2,0,2,0,0,2],[2,0,0,2,0,0],[4,3,0,0,0,2]],"min_steps":12},{"id":"7010","map":[[4,3,0,3,1,0],[0,0,3,3,0,0],[0,3,0,0,2,2],[2,0,3,0,0,2],[3,2,0,2,3,0],[0,0,0,0,0,0],[0,2,0,2,2,0],[0,2,0,3,0,2],[0,2,0,0,0,3]],"min_steps":12},{"id":"7016","map":[[2,3,4,0,0,3],[0,3,2,2,3,1],[0,2,2,3,0,0],[3,0,3,0,2,0],[3,0,0,0,2,2],[0,0,3,3,0,0],[0,3,0,3,2,0],[0,0,3,0,3,2],[0,2,2,3,0,0]],"min_steps":12},{"id":"7020","map":[[2,3,0,4,3,3],[3,3,0,0,3,0],[0,2,0,3,2,0],[0,3,0,0,0,2],[3,2,0,0,0,0],[0,0,3,2,0,3],[0,3,0,3,2,0],[3,2,2,0,0,2],[0,0,2,1,3,2]],"min_steps":12},{"id":"7024","map":[[1,3,2,0,0,3],[2,3,2,0,0,0],[0,2,3,0,3,3],[3,0,0,2,0,3],[2,3,0,0,0,3],[3,3,0,0,0,0],[2,0,3,0,0,2],[0,0,2,0,2,2],[4,2,3,0,3,0]],"min_steps":12},{"id":"7032","map":[[0,0,0,0,3,4],[0,0,3,3,3,2],[2,2,3,3,0,0],[0,0,3,2,0,0],[0,2,0,2,3,2],[0,2,3,0,0,3],[2,3,3,0,0,2],[1,0,3,0,3,2],[0,0,3,0,0,2]],"min_steps":12},{"id":"7033","map":[[1,0,0,3,0,3],[3,3,2,0,2,0],[0,3,3,2,0,2],[3,2,0,3,0,0],[4,2,2,2,0,0],[0,3,0,0,0,0],[3,3,3,0,0,2],[3,0,3,2,0,3],[2,0,0,0,0,2]],"min_steps":12},{"id":"7035","map":[[3,0,0,2,0,4],[3,0,2,3,3,3],[0,0,2,3,0,2],[3,0,3,3,3,0],[2,2,0,0,0,0],[2,2,3,0,0,0],[0,0,2,3,0,0],[0,2,0,3,2,3],[0,0,3,1,2,0]],"min_steps":12},{"id":"7036","map":[[2,3,1,0,0,2],[0,3,0,0,0,0],[2,0,2,0,0,3],[0,0,3,3,0,3],[0,2,2,0,0,3],[0,3,2,3,3,0],[0,3,2,0,0,2],[0,3,2,0,2,3],[2,0,3,3,4,0]],"min_steps":12},{"id":"7037","map":[[2,0,0,0,0,3],[0,2,3,0,2,2],[0,0,3,0,2,0],[0,2,2,0,0,0],[3,2,3,0,0,3],[0,0,3,3,0,3],[3,2,3,0,0,3],[0,0,3,3,2,0],[4,3,1,2,0,2]],"min_steps":12},{"id":"7039","map":[[2,0,3,3,2,0],[0,0,0,0,2,3],[1,3,0,0,0,2],[0,2,3,2,2,2],[0,0,3,0,0,0],[0,3,0,0,3,0],[3,0,0,2,3,2],[2,0,3,0,2,3],[0,4,3,0,3,3]],"min_steps":12},{"id":"7040","map":[[0,2,3,3,4,0],[0,2,0,0,3,2],[0,0,3,0,2,0],[3,0,2,0,0,3],[2,0,0,3,0,3],[3,3,0,2,2,0],[2,2,3,0,2,0],[1,3,0,0,2,3],[0,0,0,3,0,3]],"min_steps":12},{"id":"7041","map":[[3,3,0,2,3,1],[0,3,3,2,0,2],[0,2,0,0,0,0],[0,0,0,0,0,0],[3,3,3,2,3,0],[0,3,3,2,3,2],[4,0,3,0,2,0],[2,2,2,0,0,0],[0,3,2,0,3,0]],"min_steps":12},{"id":"7004","map":[[2,0,0,2,0,0],[0,3,0,0,0,1],[0,2,0,0,0,0],[0,0,0,0,2,0],[0,0,3,3,3,2],[0,0,0,3,2,3],[0,0,2,0,0,3],[0,2,3,2,2,4],[3,2,2,0,3,0]],"min_steps":13},{"id":"7009","map":[[4,0,3,1,0,2],[0,2,3,3,3,0],[0,2,3,2,2,0],[3,0,3,0,0,2],[0,0,0,0,0,0],[3,2,0,0,2,0],[3,2,0,0,2,0],[0,0,2,2,2,0],[0,0,0,0,3,0]],"min_steps":13},{"id":"7014","map":[[3,4,2,3,0,0],[2,3,0,3,0,0],[0,2,2,0,0,0],[0,3,3,0,3,3],[0,0,0,0,0,0],[3,2,0,0,2,2],[2,2,2,2,0,3],[0,0,3,3,0,3],[1,2,0,3,3,0]],"min_steps":13},{"id":"7015","map":[[2,3,4,0,3,0],[1,2,3,2,3,0],[0,0,3,0,2,0],[2,0,0,3,0,0],[2,2,0,2,0,3],[0,0,2,0,0,0],[3,0,0,3,3,0],[0,0,3,0,2,3],[3,0,3,2,3,2]],"min_steps":13},{"id":"7025","map":[[2,3,1,0,3,3],[0,0,2,3,2,0],[0,2,0,0,0,3],[0,3,0,0,0,3],[2,0,0,3,2,0],[0,0,2,3,0,2],[2,0,3,2,0,3],[3,3,0,0,3,3],[2,4,0,2,0,0]],"min_steps":13},{"id":"7030","map":[[2,0,1,2,0,0],[0,2,3,3,0,2],[2,3,3,3,0,2],[3,0,0,2,2,0],[0,3,0,3,2,0],[0,0,2,0,2,3],[3,3,0,3,3,2],[4,3,0,0,0,0],[0,0,0,0,0,3]],"min_steps":13},{"id":"7031","map":[[0,2,2,3,4,2],[3,3,0,0,2,2],[0,0,0,3,2,0],[0,3,0,0,3,3],[0,2,0,2,3,0],[2,3,0,0,0,0],[3,3,0,3,0,2],[0,0,2,3,3,3],[1,0,2,0,0,0]],"min_steps":13},{"id":"7038","map":[[4,2,3,3,2,3],[0,3,0,2,3,0],[0,0,0,2,0,2],[3,3,2,3,0,0],[0,3,0,3,2,3],[0,2,2,2,0,0],[1,3,0,0,3,0],[2,0,0,0,3,2],[0,0,3,0,0,0]],"min_steps":13},{"id":"7011","map":[[0,1,0,0,2,0],[3,0,3,3,2,3],[0,3,3,2,0,0],[0,0,2,0,3,3],[2,3,2,0,0,0],[3,2,2,3,3,0],[2,0,2,2,0,4],[0,2,0,3,0,0],[0,0,0,3,0,3]],"min_steps":14},{"id":"7017","map":[[2,0,0,3,0,3],[4,3,0,2,0,3],[3,0,0,0,3,0],[2,0,0,2,0,0],[3,0,0,3,0,0],[2,3,0,2,2,2],[1,3,3,0,2,2],[0,3,0,0,3,0],[0,2,0,3,3,2]],"min_steps":14},{"id":"7019","map":[[0,3,0,2,3,1],[0,3,0,2,0,2],[0,2,2,0,3,3],[0,0,3,2,0,3],[0,0,3,2,2,0],[2,2,3,0,2,2],[0,3,0,0,3,0],[3,0,0,3,3,0],[0,0,0,3,0,4]],"min_steps":14},{"id":"7021","map":[[0,0,0,0,2,4],[3,0,2,0,0,0],[3,0,2,3,3,3],[2,0,3,3,3,0],[2,0,0,0,2,3],[3,3,0,0,0,2],[1,0,3,0,2,2],[2,2,0,2,0,0],[0,0,3,3,0,3]],"min_steps":14},{"id":"7022","map":[[4,0,0,0,0,0],[0,0,0,0,3,2],[3,3,2,3,3,2],[2,0,0,0,0,2],[0,0,3,0,3,3],[2,0,2,3,2,1],[3,2,3,0,0,3],[2,0,0,3,2,2],[3,3,0,0,0,0]],"min_steps":15},{"id":"7028","map":[[0,2,1,3,0,2],[0,3,3,3,0,2],[0,0,0,3,0,2],[3,0,0,3,2,4],[2,0,0,3,2,2],[2,2,3,0,0,3],[0,2,0,0,0,0],[0,3,3,3,2,0],[0,3,0,3,0,0]],"min_steps":16},{"id":"7034","map":[[1,0,0,3,2,0],[0,2,2,3,3,0],[3,0,0,2,0,3],[2,3,2,2,0,3],[0,0,3,0,0,3],[3,0,0,0,3,0],[2,3,0,3,2,4],[0,3,0,0,0,3],[0,2,0,0,2,2]],"min_steps":16},{"id":"7012","map":[[1,3,3,3,0,0],[0,3,0,2,0,0],[0,0,0,3,0,2],[3,0,0,3,2,3],[0,0,2,0,0,3],[0,0,2,3,2,0],[2,2,3,2,3,2],[0,3,0,2,0,2],[0,3,4,3,0,0]],"min_steps":17},{"id":"7013","map":[[0,1,0,0,3,3],[0,2,0,3,0,0],[2,3,0,0,0,0],[0,0,0,3,0,3],[0,3,0,2,3,2],[2,0,3,3,2,0],[0,2,2,3,0,2],[2,3,2,0,3,0],[0,3,3,0,2,4]],"min_steps":17},{"id":"7018","map":[[0,0,0,0,0,2],[1,0,3,3,0,2],[3,3,0,3,2,3],[0,3,0,2,0,0],[0,3,0,0,2,2],[3,0,0,2,3,0],[0,3,3,3,0,0],[2,0,3,0,0,2],[2,4,2,0,3,2]],"min_steps":17}]] + this.LEVEL_INFO = [[{"id":"1001","map":[[0,4,0,0],[0,0,0,0],[0,0,0,0],[0,0,1,0]],"min_steps":3},{"id":"1002","map":[[1,0,0,0],[0,0,0,4],[0,0,0,0],[0,0,0,0]],"min_steps":3},{"id":"1004","map":[[1,0,0,0],[0,0,0,0],[0,0,0,0],[0,4,0,0]],"min_steps":3},{"id":"1006","map":[[4,0,0,0],[0,0,0,0],[0,0,0,0],[0,1,0,0]],"min_steps":3},{"id":"1003","map":[[1,0,0,0],[0,0,0,0],[0,0,0,0],[0,0,0,4]],"min_steps":4},{"id":"1005","map":[[1,0,0,0],[0,0,0,0],[0,0,0,4],[0,0,0,0]],"min_steps":4},{"id":"1007","map":[[0,4,0,0],[0,0,0,0],[0,0,0,0],[0,0,0,1]],"min_steps":4},{"id":"1008","map":[[0,0,0,4],[0,0,0,0],[0,0,0,0],[1,0,0,0]],"min_steps":4}],[{"id":"2001","map":[[0,0,0,0,1],[0,0,0,0,0],[0,0,3,0,3],[0,0,0,0,0],[4,0,0,0,3]],"min_steps":4},{"id":"2002","map":[[0,1,0,0,0],[0,0,0,0,0],[3,3,0,0,4],[0,0,0,0,0],[3,0,0,0,0]],"min_steps":4},{"id":"2009","map":[[0,3,0,0,4],[3,0,0,0,0],[0,0,0,0,0],[1,0,0,0,0],[0,3,0,0,0]],"min_steps":4},{"id":"2010","map":[[0,0,0,0,1],[0,0,0,0,0],[0,0,0,0,0],[0,3,0,3,0],[4,0,3,0,0]],"min_steps":4},{"id":"2011","map":[[4,3,1,0,0],[0,0,0,0,3],[0,0,0,3,0],[0,0,0,0,0],[0,0,0,0,0]],"min_steps":4},{"id":"2021","map":[[0,0,0,1,0],[0,0,3,0,0],[0,0,0,3,3],[0,0,0,0,0],[0,4,0,0,0]],"min_steps":4},{"id":"2004","map":[[1,0,0,0,0],[0,0,0,0,3],[3,0,0,0,0],[0,0,0,0,0],[0,0,0,0,4]],"min_steps":5},{"id":"2012","map":[[0,3,0,4,0],[0,0,0,3,0],[1,0,3,0,0],[0,0,0,0,0],[0,0,0,0,0]],"min_steps":5},{"id":"2013","map":[[0,0,0,0,0],[1,0,0,0,0],[0,0,0,3,3],[3,0,0,0,0],[0,0,0,4,0]],"min_steps":5},{"id":"2014","map":[[3,0,1,0,0],[0,3,0,0,0],[0,0,0,0,0],[4,0,0,3,0],[0,0,0,0,0]],"min_steps":5},{"id":"2015","map":[[3,0,0,0,1],[3,0,0,0,0],[0,0,0,0,0],[4,3,0,0,0],[3,0,0,0,0]],"min_steps":5},{"id":"2016","map":[[0,0,0,0,0],[1,0,3,0,0],[3,0,0,0,3],[0,0,0,0,0],[0,0,0,0,4]],"min_steps":5},{"id":"2017","map":[[0,3,0,0,0],[4,0,0,0,0],[0,0,0,0,0],[3,0,3,0,0],[3,0,0,0,1]],"min_steps":5},{"id":"2018","map":[[0,3,4,3,3],[0,0,0,0,0],[0,0,0,0,0],[0,0,0,0,0],[0,0,3,0,1]],"min_steps":5},{"id":"2019","map":[[3,0,0,4,0],[0,0,0,3,0],[0,0,0,0,0],[0,0,0,0,0],[1,0,3,0,0]],"min_steps":5},{"id":"2020","map":[[4,0,3,0,1],[0,0,0,0,3],[0,0,0,0,0],[0,0,0,0,0],[0,0,3,0,0]],"min_steps":5},{"id":"2003","map":[[1,0,0,3,0],[0,0,3,0,0],[0,0,0,0,0],[0,0,0,0,0],[0,3,0,4,0]],"min_steps":6},{"id":"2005","map":[[0,3,0,0,0],[1,0,0,0,0],[0,0,0,3,0],[0,0,0,0,0],[0,3,0,4,0]],"min_steps":6},{"id":"2006","map":[[0,1,0,0,0],[0,0,0,0,3],[0,0,0,0,3],[0,0,0,0,0],[0,0,0,3,4]],"min_steps":6},{"id":"2007","map":[[3,0,0,0,1],[0,0,0,0,3],[0,0,0,0,0],[0,0,0,0,0],[4,3,0,0,0]],"min_steps":6},{"id":"2008","map":[[3,4,0,0,0],[0,0,0,0,3],[0,0,0,3,1],[0,0,0,0,0],[0,0,0,0,0]],"min_steps":6},{"id":"2022","map":[[0,0,0,0,0],[1,3,0,0,3],[0,0,0,0,0],[0,0,0,0,0],[0,0,3,4,0]],"min_steps":6}],[{"id":"3001","map":[[3,0,2,3,4],[0,0,0,2,2],[2,3,3,3,3],[0,0,2,0,2],[1,0,2,3,0]],"min_steps":5},{"id":"3002","map":[[3,0,3,2,0],[1,2,0,3,2],[2,3,0,0,4],[2,0,2,2,0],[3,3,0,3,0]],"min_steps":5},{"id":"3003","map":[[0,2,3,3,4],[2,2,0,0,0],[1,3,3,3,2],[2,2,3,2,3],[0,0,0,0,0]],"min_steps":5},{"id":"3004","map":[[3,2,2,1,0],[0,0,3,2,2],[3,0,2,3,0],[3,0,0,3,3],[0,2,4,0,2]],"min_steps":5},{"id":"3005","map":[[3,0,3,0,0],[2,3,0,0,1],[0,2,2,2,3],[4,2,0,0,2],[3,3,0,3,2]],"min_steps":5},{"id":"3008","map":[[3,3,3,0,1],[0,0,0,0,3],[2,2,3,2,2],[0,2,3,0,3],[4,2,2,0,0]],"min_steps":5},{"id":"3009","map":[[1,0,3,3,2],[3,0,2,0,0],[0,3,3,2,4],[0,0,3,0,2],[2,2,2,0,3]],"min_steps":5},{"id":"3010","map":[[3,0,2,0,4],[1,2,3,0,3],[2,0,3,2,0],[0,3,0,0,3],[2,0,2,3,2]],"min_steps":5},{"id":"3006","map":[[2,0,2,2,0],[1,2,3,0,0],[3,3,0,3,2],[3,0,0,3,2],[2,0,3,0,4]],"min_steps":6},{"id":"3007","map":[[1,2,0,3,3],[2,2,0,2,0],[2,3,2,0,3],[0,3,2,0,4],[0,0,3,0,3]],"min_steps":6},{"id":"3011","map":[[2,3,0,1,0],[0,0,0,0,0],[3,0,0,0,3],[0,2,0,3,2],[4,3,3,2,2]],"min_steps":6},{"id":"3012","map":[[0,2,1,0,3],[0,3,0,0,3],[3,2,3,2,0],[0,2,0,3,0],[2,0,0,0,4]],"min_steps":6},{"id":"3013","map":[[0,2,1,0,3],[0,3,0,0,3],[3,2,3,2,0],[0,2,0,3,0],[2,0,0,0,4]],"min_steps":6},{"id":"3014","map":[[1,0,3,3,4],[2,3,0,3,0],[0,2,2,0,0],[3,3,0,0,2],[2,0,0,0,0]],"min_steps":6},{"id":"3015","map":[[2,3,0,0,0],[0,0,2,3,0],[4,0,3,0,3],[2,0,2,2,3],[0,3,0,0,1]],"min_steps":6},{"id":"3016","map":[[3,0,2,0,2],[2,0,0,0,3],[0,2,3,0,1],[4,0,0,3,0],[3,3,0,0,2]],"min_steps":6},{"id":"3017","map":[[0,3,0,0,2],[3,0,2,0,4],[1,3,3,0,0],[2,0,0,2,0],[3,2,3,0,0]],"min_steps":6},{"id":"3018","map":[[4,2,0,0,0],[0,0,0,3,2],[0,3,0,0,3],[3,2,3,2,0],[3,0,2,1,0]],"min_steps":7},{"id":"3019","map":[[0,4,0,3,2],[0,2,0,0,0],[3,0,3,0,2],[3,3,2,3,1],[2,0,0,0,0]],"min_steps":7},{"id":"3020","map":[[0,2,0,1,0],[0,0,0,3,2],[3,0,3,3,3],[3,0,0,0,2],[0,2,2,4,0]],"min_steps":7},{"id":"3021","map":[[3,2,0,2,1],[3,2,0,3,2],[3,0,0,2,3],[0,0,0,0,4],[0,0,3,0,0]],"min_steps":7},{"id":"3022","map":[[2,0,2,2,2],[0,0,3,0,0],[3,0,3,0,0],[1,0,3,2,4],[0,0,3,3,0]],"min_steps":7},{"id":"3023","map":[[1,2,0,2,0],[3,3,3,0,0],[0,2,3,2,0],[4,0,0,0,3],[0,0,2,0,3]],"min_steps":7},{"id":"3024","map":[[1,0,3,0,3],[2,2,0,0,0],[0,3,0,3,0],[2,0,3,2,0],[2,3,0,4,0]],"min_steps":7}],[{"id":"4001","map":[[1,3,0,0,2,0],[0,3,0,0,2,0],[0,0,2,0,3,4],[0,0,0,2,0,0],[3,3,0,0,2,0,3],[0,0,2,2,2,0]],"min_steps":5},{"id":"4002","map":[[0,2,2,2,2,0],[1,0,0,0,2,0],[0,0,0,0,0,3],[0,0,0,0,2,0],[0,3,3,0,2,0],[3,0,0,4,2,0]],"min_steps":5},{"id":"4003","map":[[0,0,0,0,0,0],[2,0,0,0,0,2],[0,3,3,3,2,4],[0,3,0,3,2,0],[0,0,0,0,0,3],[0,0,2,3,0,1]],"min_steps":6},{"id":"4004","map":[[2,0,3,0,0,4],[0,2,3,3,0,0],[0,3,0,0,0,0],[3,0,0,0,2,2],[3,0,0,2,0,0],[1,0,0,3,0,0]],"min_steps":6},{"id":"4006","map":[[4,3,0,3,0,0],[0,2,0,3,0,0],[3,0,0,0,3,2],[0,3,0,0,2,1],[0,0,2,0,0,0],[0,0,0,0,2,3]],"min_steps":7},{"id":"4007","map":[[4,2,2,0,2,0],[0,3,0,2,0,0],[0,2,3,0,3,0],[0,0,3,0,0,3],[0,0,3,0,0,0],[0,0,0,3,0,1]],"min_steps":7},{"id":"4014","map":[[0,0,3,0,2,2],[0,2,3,0,0,1],[0,3,3,0,0,3],[0,2,0,0,0,0],[0,0,0,3,3,0],[2,0,4,0,0,0]],"min_steps":7},{"id":"4015","map":[[2,0,0,0,0,0],[0,0,0,0,3,1],[3,0,2,0,0,3],[2,0,0,2,3,0],[3,0,3,0,0,0],[2,0,0,3,4,0]],"min_steps":7},{"id":"4005","map":[[1,0,0,0,0,2],[0,0,0,2,0,0],[3,2,0,0,0,0],[0,3,0,0,2,3],[0,0,3,3,0,0],[3,0,0,2,3,4]],"min_steps":8},{"id":"4008","map":[[0,0,2,3,0,0],[0,3,0,2,3,2],[3,0,0,0,0,0],[0,3,0,0,3,4],[0,0,0,0,0,3],[0,2,0,2,0,1]],"min_steps":8},{"id":"4009","map":[[0,3,3,0,0,4],[2,0,0,3,0,0],[2,0,0,3,0,0],[1,0,0,0,3,0],[0,0,2,3,0,2],[2,3,0,0,0,0]],"min_steps":8},{"id":"4010","map":[[0,0,1,3,2,0],[3,0,0,0,3,2],[3,0,0,0,0,3],[2,0,0,0,0,0],[0,2,0,0,3,0],[0,2,0,3,4,0]],"min_steps":8},{"id":"4011","map":[[1,0,0,0,0,0],[3,3,0,0,0,2],[0,0,0,3,0,2],[2,0,3,0,3,0],[2,0,3,0,0,3],[4,0,0,0,0,2]],"min_steps":8},{"id":"4016","map":[[0,0,3,0,0,1],[2,3,0,0,3,0],[2,0,0,0,0,2],[0,3,0,0,0,0],[0,3,0,0,2,0],[0,4,3,0,2,3]],"min_steps":8},{"id":"4017","map":[[1,2,3,0,3,2],[3,0,0,0,0,0],[0,0,0,0,0,3],[3,3,0,3,2,0],[0,2,0,0,0,0],[4,0,0,2,0,0]],"min_steps":8},{"id":"4018","map":[[0,0,1,0,2,0],[0,0,0,0,0,0],[0,0,3,2,3,0],[3,0,0,3,0,0],[2,3,0,2,0,0],[4,2,0,3,3,0]],"min_steps":8},{"id":"4012","map":[[2,2,3,0,2,0],[0,3,0,0,0,0],[0,0,0,0,3,4],[0,2,0,3,0,3],[0,0,0,0,0,0],[0,0,2,3,3,1]],"min_steps":9},{"id":"4013","map":[[0,0,0,0,3,0],[4,2,0,3,0,0],[3,2,0,0,0,0],[1,3,0,3,0,0],[2,0,0,2,0,0],[3,0,0,3,2,0]],"min_steps":9},{"id":"4019","map":[[3,4,0,0,0,2],[3,2,0,0,2,0],[0,3,0,3,0,2],[0,0,3,0,0,0],[0,0,0,0,3,0],[1,3,0,0,0,2]],"min_steps":9},{"id":"4020","map":[[0,2,0,1,0,0],[2,3,0,0,2,0],[3,0,0,0,0,0],[0,3,3,0,0,3],[2,0,0,3,0,0],[4,3,0,0,0,2]],"min_steps":9}],[{"id":"5001","map":[[1,0,0,0,0,0],[0,2,2,3,0,2],[3,2,0,0,3,3],[0,0,0,0,0,4],[0,0,0,2,2,0],[3,0,2,2,0,0]],"min_steps":7},{"id":"5002","map":[[0,0,0,0,4,3],[3,2,3,0,0,0],[0,2,0,2,3,0],[2,2,0,0,0,0],[3,2,0,0,0,0],[3,0,0,2,0,3],[2,0,0,3,0,1]],"min_steps":7},{"id":"5015","map":[[1,2,3,2,2,0],[3,0,0,0,0,3],[0,0,0,0,0,0],[0,0,0,0,0,2],[0,3,0,3,2,0],[0,0,0,0,0,0],[0,2,0,4,0,3]],"min_steps":7},{"id":"5016","map":[[3,0,1,0,0,0],[0,2,0,2,0,0],[0,2,0,2,0,3],[0,0,0,0,0,0],[0,2,0,0,3,3],[0,0,0,0,2,3],[0,0,0,3,0,4]],"min_steps":7},{"id":"5004","map":[[0,3,3,2,3,0],[2,0,2,0,3,0],[1,0,3,2,0,0],[3,3,0,0,0,2],[0,0,0,0,0,0],[0,2,0,0,0,0],[0,0,0,3,4,0]],"min_steps":8},{"id":"5005","map":[[0,0,0,0,0,1],[0,0,2,0,2,0],[3,2,2,0,0,0],[3,0,0,3,0,0],[3,3,0,0,0,3],[4,3,0,0,0,0],[2,0,0,2,3,0]],"min_steps":8},{"id":"5008","map":[[3,0,3,2,0,4],[0,3,0,2,0,2],[0,0,3,0,0,0],[2,0,0,2,0,0],[0,0,3,0,0,0],[0,0,0,3,0,0],[3,2,1,3,0,0]],"min_steps":8},{"id":"5012","map":[[2,3,0,2,0,1],[2,0,0,0,0,0],[2,0,0,3,0,2],[3,0,3,0,0,3],[0,0,0,0,3,3],[3,0,0,0,2,0],[0,0,0,0,0,4]],"min_steps":8},{"id":"5013","map":[[0,0,2,1,2,0],[0,3,0,0,0,0],[2,0,0,0,0,0],[0,0,0,3,0,0],[3,0,0,2,3,0],[3,3,3,2,0,2],[0,0,4,0,0,3]],"min_steps":8},{"id":"5018","map":[[0,2,0,1,0,0],[2,0,0,3,0,0],[0,0,0,0,0,0],[3,0,0,0,0,0],[2,3,0,2,3,3],[2,0,0,0,0,2],[4,3,0,0,0,0]],"min_steps":8},{"id":"5019","map":[[1,3,0,2,3,0],[0,0,0,0,0,2],[0,0,0,0,0,0],[0,0,2,0,0,2],[3,3,0,3,0,2],[4,0,2,0,0,0],[0,0,0,3,0,0]],"min_steps":8},{"id":"5029","map":[[4,3,0,0,0,0],[2,0,0,3,0,2],[3,2,0,3,3,0],[2,0,0,3,0,0],[0,2,0,0,0,0],[2,0,0,0,0,0],[3,0,3,3,0,1]],"min_steps":8},{"id":"5030","map":[[0,0,0,0,0,0],[0,0,2,3,2,0],[0,3,0,0,0,0],[2,2,0,3,0,0],[0,3,3,0,3,4],[0,0,2,0,0,3],[3,1,0,3,0,2]],"min_steps":8},{"id":"5006","map":[[0,3,0,0,0,0],[1,0,0,0,3,0],[0,0,3,2,0,0],[3,0,0,2,2,0],[0,3,0,3,3,0],[0,2,0,0,0,0],[4,0,3,0,2,2]],"min_steps":9},{"id":"5007","map":[[0,2,0,3,0,0],[1,2,0,2,0,0],[0,3,0,3,0,0],[3,0,0,0,0,3],[0,0,3,2,0,2],[4,0,0,3,0,3],[0,2,0,0,0,0]],"min_steps":9},{"id":"5010","map":[[0,3,1,0,0,0],[0,2,3,3,0,0],[0,2,0,3,0,0],[0,2,0,2,0,3],[0,2,0,0,3,0],[0,3,0,0,0,0],[0,2,4,0,0,3]],"min_steps":9},{"id":"5011","map":[[1,0,3,0,3,0],[0,2,0,0,0,0],[2,0,2,0,3,0],[0,3,2,0,0,0],[3,0,0,0,0,2],[4,0,3,0,0,0],[3,2,0,0,0,3]],"min_steps":9},{"id":"5014","map":[[0,1,0,0,0,0],[2,0,2,0,0,2],[2,3,0,3,0,0],[0,3,0,0,0,3],[0,0,0,2,0,3],[0,0,3,0,3,0],[2,0,3,0,0,4]],"min_steps":9},{"id":"5017","map":[[0,0,0,0,0,0],[1,2,3,0,0,2],[0,0,2,0,0,2],[3,0,2,3,0,0],[0,3,3,0,2,0],[0,0,0,0,0,0],[4,0,3,0,0,0]],"min_steps":9},{"id":"5028","map":[[0,0,1,0,0,3],[3,0,0,0,3,4],[0,2,0,2,3,2],[0,3,2,3,3,0],[0,0,0,3,0,0],[0,0,3,0,0,2],[0,0,2,0,0,0]],"min_steps":9},{"id":"5003","map":[[0,0,1,3,0,2],[0,3,3,0,0,0],[0,0,3,2,0,0],[0,0,3,0,0,0],[3,0,0,0,2,2],[0,0,2,3,0,0],[0,2,0,3,0,4]],"min_steps":10},{"id":"5009","map":[[0,2,0,0,0,3],[0,0,3,3,3,4],[0,3,0,0,0,0],[0,3,2,0,0,0],[1,2,3,2,0,3],[2,0,0,0,0,0],[0,0,0,0,2,0]],"min_steps":10},{"id":"5021","map":[[0,0,0,0,0,0],[0,0,0,0,3,0],[3,0,0,0,2,0],[2,0,0,2,3,0],[0,3,0,0,0,2],[0,2,3,0,0,0],[4,3,1,2,0,0]],"min_steps":10},{"id":"5022","map":[[4,0,3,0,0,2],[0,0,0,0,2,0],[0,3,0,2,3,2],[3,0,3,0,3,0],[0,2,0,0,0,0],[0,3,0,3,0,3],[0,2,1,0,0,0]],"min_steps":10},{"id":"5023","map":[[3,0,0,3,3,0],[0,0,3,0,0,3],[2,3,0,0,0,0],[2,2,0,0,2,0],[0,3,0,0,0,0],[2,0,3,0,0,4],[0,1,3,0,2,0]],"min_steps":10},{"id":"5024","map":[[3,0,2,3,0,0],[4,2,0,0,0,3],[2,2,0,0,0,0],[0,0,3,0,0,2],[0,0,0,3,0,3],[0,3,3,0,2,0],[3,0,1,0,0,0]],"min_steps":10},{"id":"5020","map":[[0,0,0,2,0,0],[0,3,0,0,0,3],[0,2,0,0,3,0],[2,0,0,2,3,4],[0,2,3,0,0,0],[0,0,0,3,0,0],[3,2,0,1,3,0]],"min_steps":11},{"id":"5025","map":[[1,0,0,0,3,0],[0,0,0,3,3,2],[3,3,2,0,0,2],[0,0,0,0,0,3],[0,0,2,0,2,0],[0,0,0,0,3,4],[0,3,2,3,0,0]],"min_steps":11},{"id":"5026","map":[[0,3,2,0,0,0],[0,0,2,3,3,0],[2,0,0,2,0,0],[3,2,0,0,3,2],[0,0,0,3,3,1],[0,0,3,0,0,3],[0,0,0,0,0,4]],"min_steps":11},{"id":"5027","map":[[0,0,3,0,0,1],[0,0,0,0,0,3],[2,0,2,0,2,3],[0,0,3,3,0,3],[0,0,0,2,3,0],[0,0,0,2,0,3],[2,0,3,0,4,0]],"min_steps":11}],[{"id":"6028","map":[[0,0,3,0,0,2],[1,3,2,2,0,3],[0,0,3,0,0,2],[0,0,0,0,0,0],[0,0,2,0,3,3],[3,3,3,0,0,0],[4,0,0,0,0,2]],"min_steps":8},{"id":"6029","map":[[0,0,2,0,0,1],[3,2,3,0,0,3],[2,0,3,0,3,0],[3,3,0,0,0,0],[0,0,0,3,3,2],[0,0,0,0,0,2],[0,0,0,4,2,0]],"min_steps":8},{"id":"6030","map":[[0,3,3,0,1,0],[2,3,0,0,3,0],[0,0,0,3,0,2],[0,0,3,0,2,0],[0,0,2,3,3,3],[0,0,0,0,0,0],[4,0,0,2,0,2]],"min_steps":8},{"id":"6001","map":[[0,0,3,3,4,2],[0,0,0,2,0,0],[2,3,3,2,0,0],[0,3,0,0,0,2],[0,0,0,3,2,2],[2,0,0,3,0,2],[1,3,2,0,0,0],[0,0,0,3,0,0]],"min_steps":9},{"id":"6012","map":[[3,0,0,0,2,0],[0,3,0,3,0,0],[0,3,0,0,0,3],[2,0,0,3,2,0],[3,2,2,2,0,0],[3,0,2,0,3,0],[1,2,3,0,2,0],[2,3,0,0,3,4]],"min_steps":9},{"id":"6016","map":[[0,0,1,0,2,3],[0,3,2,0,2,0],[3,3,3,3,0,0],[3,0,0,0,0,0],[2,2,3,0,3,3],[0,0,2,0,2,0],[0,2,0,2,0,3],[3,0,2,0,0,4]],"min_steps":9},{"id":"6008","map":[[0,0,2,0,3,4],[3,3,2,3,0,0],[0,0,0,0,0,3],[0,0,2,3,2,0],[0,0,2,0,3,2],[3,3,0,0,0,2],[0,3,0,0,0,0],[2,1,0,0,0,0]],"min_steps":10},{"id":"6013","map":[[3,0,0,2,2,0],[0,2,0,3,0,2],[0,0,3,2,3,0],[0,3,0,0,3,0],[2,2,3,2,0,0],[0,0,3,3,0,0],[0,2,0,3,2,0],[4,3,3,0,1,0]],"min_steps":10},{"id":"6017","map":[[4,0,0,0,0,3],[0,3,3,0,0,0],[3,0,2,2,0,0],[3,0,2,3,3,2],[3,2,0,2,3,3],[2,0,2,0,0,0],[0,0,0,0,0,3],[2,3,0,2,0,1]],"min_steps":10},{"id":"6022","map":[[0,0,3,4,3,0],[0,3,0,2,2,0],[2,0,2,0,0,3],[0,0,0,0,0,0],[2,3,0,3,2,0],[0,3,0,0,0,0],[0,1,3,0,0,3]],"min_steps":10},{"id":"6023","map":[[0,0,3,1,0,2],[0,0,2,3,0,0],[4,0,3,0,0,0],[2,0,3,0,0,3],[2,0,3,0,3,0],[0,0,0,0,0,0],[2,3,0,2,3,0]],"min_steps":10},{"id":"6024","map":[[0,3,0,2,0,4],[3,0,0,3,3,3],[0,0,2,0,0,0],[2,3,3,0,0,0],[2,0,0,0,0,3],[2,0,3,0,0,1],[0,0,0,0,0,2]],"min_steps":10},{"id":"6025","map":[[4,0,2,0,0,0],[0,0,3,3,0,2],[3,3,0,0,0,3],[0,2,0,2,0,0],[0,0,0,0,3,0],[1,3,0,0,2,2],[0,3,0,0,0,3]],"min_steps":10},{"id":"6002","map":[[0,0,3,3,4,2],[0,0,0,2,0,0],[2,3,3,2,0,0],[0,3,0,0,0,2],[0,0,0,3,2,2],[2,0,0,3,0,2],[1,3,2,0,0,0],[0,0,0,3,0,0]],"min_steps":11},{"id":"6006","map":[[1,0,2,0,0,3],[0,0,0,0,3,0],[3,0,0,3,2,0],[2,3,0,0,0,3],[0,0,3,2,0,3],[0,2,0,3,0,0],[2,3,0,2,0,0],[0,4,0,2,0,0]],"min_steps":11},{"id":"6009","map":[[4,3,0,0,3,0],[0,0,0,0,0,0],[3,3,0,2,0,2],[3,0,0,2,2,0],[2,3,2,0,0,0],[1,3,3,0,0,0],[2,0,0,0,0,0],[3,3,0,0,0,2]],"min_steps":11},{"id":"6018","map":[[2,3,0,0,2,3],[2,0,0,3,0,4],[2,0,0,0,0,0],[0,3,2,0,2,3],[0,0,0,0,0,3],[2,0,3,3,2,3],[0,0,0,3,2,0],[2,3,1,3,0,0]],"min_steps":11},{"id":"6026","map":[[0,1,0,3,0,4],[0,0,3,0,3,0],[2,2,3,2,0,0],[0,0,3,0,3,3],[2,0,0,0,0,2],[0,3,0,0,0,2],[0,0,0,0,0,3]],"min_steps":11},{"id":"6027","map":[[2,1,3,0,0,0],[0,0,0,0,3,0],[3,3,0,0,0,0],[2,2,3,3,3,0],[0,2,0,0,0,0],[3,2,0,0,0,0],[0,4,0,2,3,0]],"min_steps":11},{"id":"6031","map":[[0,1,0,3,0,4],[0,0,3,0,3,0],[2,2,3,2,0,0],[0,0,3,0,3,3],[2,0,0,0,0,2],[0,3,0,0,0,2],[0,0,0,0,0,3]],"min_steps":11},{"id":"6003","map":[[0,2,2,0,0,4],[0,3,3,0,0,0],[3,2,0,0,0,0],[0,3,0,0,3,3],[0,2,0,3,0,0],[2,3,0,0,0,0],[0,2,3,0,0,0],[1,2,3,0,2,0]],"min_steps":12},{"id":"6011","map":[[3,0,2,2,3,2],[1,0,0,0,0,3],[0,0,3,2,3,0],[3,0,3,0,0,0],[4,3,2,3,0,2],[0,0,2,0,2,3],[2,0,0,0,0,3],[0,0,0,2,0,3]],"min_steps":12},{"id":"6014","map":[[4,3,0,0,0,0],[0,2,2,2,3,0],[0,3,0,0,0,0],[2,3,2,3,0,0],[3,3,0,0,0,3],[0,0,0,2,3,0],[0,3,2,0,2,2],[2,3,3,0,0,1]],"min_steps":12},{"id":"6020","map":[[3,2,0,0,0,0],[4,0,2,0,2,0],[3,3,0,0,2,2],[0,0,3,0,2,0],[0,0,0,0,2,3],[0,2,3,3,0,0],[2,3,0,0,3,3],[1,3,3,2,0,0]],"min_steps":12},{"id":"6021","map":[[4,3,0,0,0,0],[0,2,2,2,3,0],[0,3,0,0,0,0],[2,3,2,3,0,0],[3,3,0,0,0,3],[0,0,0,2,3,0],[0,3,2,0,2,2],[2,3,3,0,0,1]],"min_steps":12},{"id":"6004","map":[[0,3,0,2,2,0],[0,0,0,0,0,2],[3,0,0,0,0,0],[0,3,0,0,0,0],[0,3,3,0,3,0],[2,0,0,0,3,2],[2,0,0,0,3,1],[4,3,0,2,3,2]],"min_steps":13},{"id":"6005","map":[[2,2,4,2,3,0],[0,3,3,2,0,0],[3,0,0,3,0,2],[3,0,2,3,3,0],[0,0,0,0,0,0],[0,0,0,0,2,3],[3,2,0,0,0,1],[0,0,0,0,0,0]],"min_steps":13},{"id":"6007","map":[[3,2,0,0,3,4],[0,2,0,0,3,0],[0,0,2,0,2,0],[2,0,0,3,0,3],[0,0,2,0,3,2],[0,2,3,3,0,1],[0,0,0,0,0,3],[0,0,0,3,0,0]],"min_steps":13},{"id":"6010","map":[[0,3,1,0,0,0],[0,2,3,3,0,0],[2,0,0,3,0,0],[0,2,0,0,3,2],[3,0,0,0,0,2],[3,2,0,0,0,0],[4,0,0,3,2,0],[0,3,0,3,2,0]],"min_steps":13},{"id":"6015","map":[[4,0,0,0,2,3],[0,0,3,0,0,3],[2,2,3,2,0,0],[3,0,0,0,3,2],[2,3,0,3,0,2],[0,0,3,0,2,3],[0,0,0,0,0,3],[1,2,2,3,0,0]],"min_steps":14},{"id":"6019","map":[[4,0,0,0,2,3],[0,0,3,0,0,3],[2,2,3,2,0,0],[3,0,0,0,3,2],[2,3,0,3,0,2],[0,0,3,0,2,3],[0,0,0,0,0,3],[1,2,2,3,0,0]],"min_steps":14}],[{"id":"7001","map":[[0,2,0,0,2,0],[3,3,0,2,0,4],[0,0,0,0,0,3],[0,0,0,0,3,2],[0,0,0,0,0,2],[3,3,0,0,0,2],[0,3,3,2,2,0],[0,3,2,2,0,3],[1,2,0,0,2,0]],"min_steps":9},{"id":"7023","map":[[3,2,0,2,0,1],[0,3,3,2,3,3],[0,3,3,0,3,0],[0,2,2,2,0,3],[0,3,2,0,0,3],[0,0,0,0,2,0],[2,2,2,3,0,0],[2,0,3,0,3,0],[0,0,3,0,0,4]],"min_steps":9},{"id":"7003","map":[[1,3,2,0,0,0],[0,0,0,2,0,0],[0,3,0,2,0,0],[3,3,3,2,0,3],[2,3,3,0,3,0],[0,0,0,0,0,2],[3,0,2,2,3,2],[4,2,0,0,2,0],[0,0,2,0,0,2]],"min_steps":10},{"id":"7002","map":[[1,0,3,2,0,2],[0,3,0,0,0,2],[0,2,0,3,2,2],[0,3,0,0,0,0],[0,2,0,3,3,0],[3,2,2,0,0,3],[0,3,2,3,0,2],[0,0,0,0,0,0],[2,0,0,2,3,4]],"min_steps":11},{"id":"7005","map":[[0,0,0,0,0,0],[0,0,0,3,2,4],[0,3,0,0,3,3],[3,3,0,2,0,3],[0,2,2,0,3,2],[0,0,3,0,2,0],[0,2,0,2,0,0],[3,0,0,2,2,0],[0,0,2,2,0,1]],"min_steps":11},{"id":"7006","map":[[0,0,0,0,2,3],[3,2,0,0,0,0],[0,2,0,3,3,4],[0,0,0,2,2,3],[2,0,0,0,0,0],[0,0,0,0,3,0],[3,0,3,3,0,2],[3,0,2,2,0,2],[0,0,2,2,0,1]],"min_steps":11},{"id":"7007","map":[[2,0,2,0,2,0],[0,0,2,0,3,2],[0,0,0,3,3,0],[0,2,0,0,3,2],[3,0,0,2,0,0],[3,3,0,0,0,2],[0,2,0,3,2,0],[0,2,3,0,0,0],[4,3,0,0,1,0]],"min_steps":11},{"id":"7026","map":[[2,4,2,0,0,0],[0,3,3,0,3,0],[3,3,3,0,0,3],[2,0,3,0,0,2],[0,2,2,3,0,3],[1,0,2,0,2,0],[3,3,0,0,0,0],[2,0,0,0,3,2],[2,0,3,2,3,0]],"min_steps":11},{"id":"7027","map":[[2,0,0,0,0,2],[0,0,3,3,2,3],[0,0,3,0,0,1],[0,3,0,3,3,3],[0,0,0,0,0,2],[3,3,2,0,0,2],[3,3,0,2,0,3],[0,3,2,2,2,0],[0,3,4,2,2,0]],"min_steps":11},{"id":"7029","map":[[0,0,1,0,0,0],[3,3,0,0,3,2],[3,0,0,0,2,0],[0,2,0,2,2,0],[2,3,3,3,0,3],[3,2,2,3,0,0],[2,0,3,0,0,3],[3,2,0,0,0,3],[4,2,0,0,3,2]],"min_steps":11},{"id":"7008","map":[[1,0,0,0,2,0],[3,3,2,0,3,0],[3,0,3,0,0,0],[0,0,3,0,0,3],[2,2,0,3,0,3],[2,0,2,0,0,0],[2,0,2,0,0,2],[2,0,0,2,0,0],[4,3,0,0,0,2]],"min_steps":12},{"id":"7010","map":[[4,3,0,3,1,0],[0,0,3,3,0,0],[0,3,0,0,2,2],[2,0,3,0,0,2],[3,2,0,2,3,0],[0,0,0,0,0,0],[0,2,0,2,2,0],[0,2,0,3,0,2],[0,2,0,0,0,3]],"min_steps":12},{"id":"7016","map":[[2,3,4,0,0,3],[0,3,2,2,3,1],[0,2,2,3,0,0],[3,0,3,0,2,0],[3,0,0,0,2,2],[0,0,3,3,0,0],[0,3,0,3,2,0],[0,0,3,0,3,2],[0,2,2,3,0,0]],"min_steps":12},{"id":"7020","map":[[2,3,0,4,3,3],[3,3,0,0,3,0],[0,2,0,3,2,0],[0,3,0,0,0,2],[3,2,0,0,0,0],[0,0,3,2,0,3],[0,3,0,3,2,0],[3,2,2,0,0,2],[0,0,2,1,3,2]],"min_steps":12},{"id":"7024","map":[[1,3,2,0,0,3],[2,3,2,0,0,0],[0,2,3,0,3,3],[3,0,0,2,0,3],[2,3,0,0,0,3],[3,3,0,0,0,0],[2,0,3,0,0,2],[0,0,2,0,2,2],[4,2,3,0,3,0]],"min_steps":12},{"id":"7032","map":[[0,0,0,0,3,4],[0,0,3,3,3,2],[2,2,3,3,0,0],[0,0,3,2,0,0],[0,2,0,2,3,2],[0,2,3,0,0,3],[2,3,3,0,0,2],[1,0,3,0,3,2],[0,0,3,0,0,2]],"min_steps":12},{"id":"7033","map":[[1,0,0,3,0,3],[3,3,2,0,2,0],[0,3,3,2,0,2],[3,2,0,3,0,0],[4,2,2,2,0,0],[0,3,0,0,0,0],[3,3,3,0,0,2],[3,0,3,2,0,3],[2,0,0,0,0,2]],"min_steps":12},{"id":"7035","map":[[3,0,0,2,0,4],[3,0,2,3,3,3],[0,0,2,3,0,2],[3,0,3,3,3,0],[2,2,0,0,0,0],[2,2,3,0,0,0],[0,0,2,3,0,0],[0,2,0,3,2,3],[0,0,3,1,2,0]],"min_steps":12},{"id":"7036","map":[[2,3,1,0,0,2],[0,3,0,0,0,0],[2,0,2,0,0,3],[0,0,3,3,0,3],[0,2,2,0,0,3],[0,3,2,3,3,0],[0,3,2,0,0,2],[0,3,2,0,2,3],[2,0,3,3,4,0]],"min_steps":12},{"id":"7037","map":[[2,0,0,0,0,3],[0,2,3,0,2,2],[0,0,3,0,2,0],[0,2,2,0,0,0],[3,2,3,0,0,3],[0,0,3,3,0,3],[3,2,3,0,0,3],[0,0,3,3,2,0],[4,3,1,2,0,2]],"min_steps":12},{"id":"7039","map":[[2,0,3,3,2,0],[0,0,0,0,2,3],[1,3,0,0,0,2],[0,2,3,2,2,2],[0,0,3,0,0,0],[0,3,0,0,3,0],[3,0,0,2,3,2],[2,0,3,0,2,3],[0,4,3,0,3,3]],"min_steps":12},{"id":"7040","map":[[0,2,3,3,4,0],[0,2,0,0,3,2],[0,0,3,0,2,0],[3,0,2,0,0,3],[2,0,0,3,0,3],[3,3,0,2,2,0],[2,2,3,0,2,0],[1,3,0,0,2,3],[0,0,0,3,0,3]],"min_steps":12},{"id":"7041","map":[[3,3,0,2,3,1],[0,3,3,2,0,2],[0,2,0,0,0,0],[0,0,0,0,0,0],[3,3,3,2,3,0],[0,3,3,2,3,2],[4,0,3,0,2,0],[2,2,2,0,0,0],[0,3,2,0,3,0]],"min_steps":12},{"id":"7004","map":[[2,0,0,2,0,0],[0,3,0,0,0,1],[0,2,0,0,0,0],[0,0,0,0,2,0],[0,0,3,3,3,2],[0,0,0,3,2,3],[0,0,2,0,0,3],[0,2,3,2,2,4],[3,2,2,0,3,0]],"min_steps":13},{"id":"7009","map":[[4,0,3,1,0,2],[0,2,3,3,3,0],[0,2,3,2,2,0],[3,0,3,0,0,2],[0,0,0,0,0,0],[3,2,0,0,2,0],[3,2,0,0,2,0],[0,0,2,2,2,0],[0,0,0,0,3,0]],"min_steps":13},{"id":"7014","map":[[3,4,2,3,0,0],[2,3,0,3,0,0],[0,2,2,0,0,0],[0,3,3,0,3,3],[0,0,0,0,0,0],[3,2,0,0,2,2],[2,2,2,2,0,3],[0,0,3,3,0,3],[1,2,0,3,3,0]],"min_steps":13},{"id":"7015","map":[[2,3,4,0,3,0],[1,2,3,2,3,0],[0,0,3,0,2,0],[2,0,0,3,0,0],[2,2,0,2,0,3],[0,0,2,0,0,0],[3,0,0,3,3,0],[0,0,3,0,2,3],[3,0,3,2,3,2]],"min_steps":13},{"id":"7025","map":[[2,3,1,0,3,3],[0,0,2,3,2,0],[0,2,0,0,0,3],[0,3,0,0,0,3],[2,0,0,3,2,0],[0,0,2,3,0,2],[2,0,3,2,0,3],[3,3,0,0,3,3],[2,4,0,2,0,0]],"min_steps":13},{"id":"7030","map":[[2,0,1,2,0,0],[0,2,3,3,0,2],[2,3,3,3,0,2],[3,0,0,2,2,0],[0,3,0,3,2,0],[0,0,2,0,2,3],[3,3,0,3,3,2],[4,3,0,0,0,0],[0,0,0,0,0,3]],"min_steps":13},{"id":"7031","map":[[0,2,2,3,4,2],[3,3,0,0,2,2],[0,0,0,3,2,0],[0,3,0,0,3,3],[0,2,0,2,3,0],[2,3,0,0,0,0],[3,3,0,3,0,2],[0,0,2,3,3,3],[1,0,2,0,0,0]],"min_steps":13},{"id":"7038","map":[[4,2,3,3,2,3],[0,3,0,2,3,0],[0,0,0,2,0,2],[3,3,2,3,0,0],[0,3,0,3,2,3],[0,2,2,2,0,0],[1,3,0,0,3,0],[2,0,0,0,3,2],[0,0,3,0,0,0]],"min_steps":13},{"id":"7011","map":[[0,1,0,0,2,0],[3,0,3,3,2,3],[0,3,3,2,0,0],[0,0,2,0,3,3],[2,3,2,0,0,0],[3,2,2,3,3,0],[2,0,2,2,0,4],[0,2,0,3,0,0],[0,0,0,3,0,3]],"min_steps":14},{"id":"7017","map":[[2,0,0,3,0,3],[4,3,0,2,0,3],[3,0,0,0,3,0],[2,0,0,2,0,0],[3,0,0,3,0,0],[2,3,0,2,2,2],[1,3,3,0,2,2],[0,3,0,0,3,0],[0,2,0,3,3,2]],"min_steps":14},{"id":"7019","map":[[0,3,0,2,3,1],[0,3,0,2,0,2],[0,2,2,0,3,3],[0,0,3,2,0,3],[0,0,3,2,2,0],[2,2,3,0,2,2],[0,3,0,0,3,0],[3,0,0,3,3,0],[0,0,0,3,0,4]],"min_steps":14},{"id":"7021","map":[[0,0,0,0,2,4],[3,0,2,0,0,0],[3,0,2,3,3,3],[2,0,3,3,3,0],[2,0,0,0,2,3],[3,3,0,0,0,2],[1,0,3,0,2,2],[2,2,0,2,0,0],[0,0,3,3,0,3]],"min_steps":14},{"id":"7022","map":[[4,0,0,0,0,0],[0,0,0,0,3,2],[3,3,2,3,3,2],[2,0,0,0,0,2],[0,0,3,0,3,3],[2,0,2,3,2,1],[3,2,3,0,0,3],[2,0,0,3,2,2],[3,3,0,0,0,0]],"min_steps":15},{"id":"7028","map":[[0,2,1,3,0,2],[0,3,3,3,0,2],[0,0,0,3,0,2],[3,0,0,3,2,4],[2,0,0,3,2,2],[2,2,3,0,0,3],[0,2,0,0,0,0],[0,3,3,3,2,0],[0,3,0,3,0,0]],"min_steps":16},{"id":"7034","map":[[1,0,0,3,2,0],[0,2,2,3,3,0],[3,0,0,2,0,3],[2,3,2,2,0,3],[0,0,3,0,0,3],[3,0,0,0,3,0],[2,3,0,3,2,4],[0,3,0,0,0,3],[0,2,0,0,2,2]],"min_steps":16},{"id":"7012","map":[[1,3,3,3,0,0],[0,3,0,2,0,0],[0,0,0,3,0,2],[3,0,0,3,2,3],[0,0,2,0,0,3],[0,0,2,3,2,0],[2,2,3,2,3,2],[0,3,0,2,0,2],[0,3,4,3,0,0]],"min_steps":17},{"id":"7013","map":[[0,1,0,0,3,3],[0,2,0,3,0,0],[2,3,0,0,0,0],[0,0,0,3,0,3],[0,3,0,2,3,2],[2,0,3,3,2,0],[0,2,2,3,0,2],[2,3,2,0,3,0],[0,3,3,0,2,4]],"min_steps":17},{"id":"7018","map":[[0,0,0,0,0,2],[1,0,3,3,0,2],[3,3,0,3,2,3],[0,3,0,2,0,0],[0,3,0,0,2,2],[3,0,0,2,3,0],[0,3,3,3,0,0],[2,0,3,0,0,2],[2,4,2,0,3,2]],"min_steps":17},{"id":"7042","map":[[1,2,0,0,3,0],[3,3,2,3,0,0],[0,0,2,0,2,2],[3,3,0,0,0,0],[3,0,3,3,0,3],[3,2,2,0,0,0],[4,2,3,0,2,2],[2,0,3,0,2,2],[2,0,3,0,3,2]],"min_steps":17},{"id":"7043","map":[[0,0,3,0,1,0],[2,0,0,2,0,0],[3,0,3,0,2,2],[0,0,0,3,2,3],[2,3,2,3,2,3],[0,3,3,0,3,4],[0,3,3,2,3,0],[0,2,2,0,2,0],[2,2,0,0,3,2]],"min_steps":17},{"id":"7044","map":[[0,0,1,3,0,4],[3,0,3,0,2,3],[2,2,3,2,3,0],[2,3,2,2,0,3],[0,3,0,0,3,0],[2,0,3,2,3,3],[0,3,2,2,3,0],[0,0,0,0,2,0],[2,0,2,2,0,0]],"min_steps":17},{"id":"7045","map":[[2,3,2,0,0,3],[0,0,0,3,2,2],[3,0,0,3,0,0],[0,0,3,2,3,2],[2,3,2,3,3,1],[0,0,0,3,0,3],[3,2,0,0,2,0],[3,2,2,0,0,2],[0,4,0,3,2,2]],"min_steps":17},{"id":"7046","map":[[0,3,0,2,0,0],[0,2,2,0,0,1],[0,0,3,3,3,2],[2,2,3,3,2,2],[3,3,3,0,2,3],[4,2,2,3,0,2],[0,0,3,2,0,2],[0,3,0,0,2,3],[0,0,0,3,0,0]],"min_steps":17},{"id":"7047","map":[[3,2,4,3,2,0],[2,0,3,2,0,0],[2,3,3,2,3,0],[2,0,0,2,0,0],[2,3,0,0,0,0],[3,0,2,0,3,0],[2,2,3,0,2,0],[0,3,3,0,3,0],[1,2,3,2,0,3]],"min_steps":17},{"id":"7048","map":[[2,0,3,4,2,2],[0,0,3,0,3,0],[2,0,0,2,3,3],[2,0,3,3,2,3],[0,0,0,0,0,0],[2,2,2,0,0,3],[3,3,3,3,2,2],[0,0,3,0,0,2],[3,1,2,0,2,0]],"min_steps":17}]] this.LEVEL_INFO.unshift([{"id":"0001","map":[[3, 2, 2, 0, 2],[0, 0, 3, 3, 0],[1, 3, 0, 3, 2],[3, 0, 2, 3, 4],[3, 2, 3, 3, 2]],"min_steps":4}]); diff --git a/assets/Script/module/Tool/GameTool.ts b/assets/Script/module/Tool/GameTool.ts index 99b1a09..5d56609 100644 --- a/assets/Script/module/Tool/GameTool.ts +++ b/assets/Script/module/Tool/GameTool.ts @@ -9,8 +9,11 @@ var GameTool = { let name = "user_" + cc.fx.GameConfig.GM_INFO.gameId; var data = JSON.parse(localStorage.getItem(name)); if(data == "undifend" || data==null || data == ""){ - let url = "https://api.sparkus.cn/api/user/auth/login?domain=hui32579WdYPsgYq&callback="+location.href; - window.location.href = url; + var urlNow = window.location.href; + if(!this.containsTrain(urlNow)){ + let url = "https://api.sparkus.cn/api/user/auth/login?domain=hui32579WdYPsgYq&callback="+location.href; + window.location.href = url; + } } else{ cc.fx.StorageMessage.setStorage(name,data); @@ -18,6 +21,10 @@ var GameTool = { } }, + containsTrain(str) { + return /from=train/i.test(str); + }, + //埋点上传 setGameData(){ //GAME_DATA 初始化 每次清零 @@ -33,7 +40,7 @@ var GameTool = { "data": data }; - console.log("上传数据:",data); + // console.log("上传数据:",data); cc.fx.HttpUtil.uploadUserLogData(postData,function(){}) }, //上传排行榜 type为1 diff --git a/assets/prefab/Block.prefab b/assets/prefab/Block.prefab index 4862000..7a05869 100644 --- a/assets/prefab/Block.prefab +++ b/assets/prefab/Block.prefab @@ -42,13 +42,13 @@ "__id__": 23 }, { - "__id__": 26 + "__id__": 38 }, { - "__id__": 41 + "__id__": 47 }, { - "__id__": 50 + "__id__": 62 }, { "__id__": 65 @@ -559,7 +559,7 @@ }, { "__type__": "cc.Node", - "_name": "Xi_Soil", + "_name": "vertical2", "_objFlags": 0, "_parent": { "__id__": 1 @@ -574,18 +574,18 @@ "_prefab": { "__id__": 16 }, - "_opacity": 0, + "_opacity": 255, "_color": { "__type__": "cc.Color", "r": 255, "g": 255, - "b": 0, + "b": 255, "a": 255 }, "_contentSize": { "__type__": "cc.Size", - "width": 100, - "height": 100 + "width": 96, + "height": 96 }, "_anchorPoint": { "__type__": "cc.Vec2", @@ -636,10 +636,12 @@ ], "_srcBlendFactor": 770, "_dstBlendFactor": 771, - "_spriteFrame": null, - "_type": 0, - "_sizeMode": 0, - "_fillType": 0, + "_spriteFrame": { + "__uuid__": "b76603e2-c166-4ce9-af37-417cdedde12e" + }, + "_type": 3, + "_sizeMode": 1, + "_fillType": 1, "_fillCenter": { "__type__": "cc.Vec2", "x": 0, @@ -648,7 +650,9 @@ "_fillStart": 0, "_fillRange": 0, "_isTrimmedMode": true, - "_atlas": null, + "_atlas": { + "__uuid__": "9830637c-e4e3-4df5-8d51-fc49b7d715b4" + }, "_id": "" }, { @@ -659,12 +663,12 @@ "asset": { "__id__": 0 }, - "fileId": "c1rnBrwplFLLvmPviKv2Ng", + "fileId": "59m0Fk9O9EjJ2NMsw4izxI", "sync": false }, { "__type__": "cc.Node", - "_name": "vertical2", + "_name": "turn2", "_objFlags": 0, "_parent": { "__id__": 1 @@ -742,18 +746,18 @@ "_srcBlendFactor": 770, "_dstBlendFactor": 771, "_spriteFrame": { - "__uuid__": "b76603e2-c166-4ce9-af37-417cdedde12e" + "__uuid__": "c01c7783-54ca-426a-b44e-173f4dba8a8a" }, "_type": 3, "_sizeMode": 1, - "_fillType": 1, + "_fillType": 2, "_fillCenter": { "__type__": "cc.Vec2", "x": 0, "y": 0 }, "_fillStart": 0, - "_fillRange": 1, + "_fillRange": 0, "_isTrimmedMode": true, "_atlas": { "__uuid__": "9830637c-e4e3-4df5-8d51-fc49b7d715b4" @@ -768,12 +772,12 @@ "asset": { "__id__": 0 }, - "fileId": "59m0Fk9O9EjJ2NMsw4izxI", + "fileId": "d5D4goRj5NHYJ9Ls2YiLkA", "sync": false }, { "__type__": "cc.Node", - "_name": "turn2", + "_name": "horizontal2", "_objFlags": 0, "_parent": { "__id__": 1 @@ -850,115 +854,6 @@ ], "_srcBlendFactor": 770, "_dstBlendFactor": 771, - "_spriteFrame": { - "__uuid__": "c01c7783-54ca-426a-b44e-173f4dba8a8a" - }, - "_type": 3, - "_sizeMode": 1, - "_fillType": 2, - "_fillCenter": { - "__type__": "cc.Vec2", - "x": 0, - "y": 0 - }, - "_fillStart": 0, - "_fillRange": 0.25, - "_isTrimmedMode": true, - "_atlas": { - "__uuid__": "9830637c-e4e3-4df5-8d51-fc49b7d715b4" - }, - "_id": "" - }, - { - "__type__": "cc.PrefabInfo", - "root": { - "__id__": 1 - }, - "asset": { - "__id__": 0 - }, - "fileId": "d5D4goRj5NHYJ9Ls2YiLkA", - "sync": false - }, - { - "__type__": "cc.Node", - "_name": "horizontal2", - "_objFlags": 0, - "_parent": { - "__id__": 1 - }, - "_children": [], - "_active": false, - "_components": [ - { - "__id__": 24 - } - ], - "_prefab": { - "__id__": 25 - }, - "_opacity": 255, - "_color": { - "__type__": "cc.Color", - "r": 255, - "g": 255, - "b": 255, - "a": 255 - }, - "_contentSize": { - "__type__": "cc.Size", - "width": 96, - "height": 96 - }, - "_anchorPoint": { - "__type__": "cc.Vec2", - "x": 0.5, - "y": 0.5 - }, - "_trs": { - "__type__": "TypedArray", - "ctor": "Float64Array", - "array": [ - 0, - 0, - 0, - 0, - 0, - 0, - 1, - 1, - 1, - 1 - ] - }, - "_eulerAngles": { - "__type__": "cc.Vec3", - "x": 0, - "y": 0, - "z": 0 - }, - "_skewX": 0, - "_skewY": 0, - "_is3DNode": false, - "_groupIndex": 0, - "groupIndex": 0, - "_id": "" - }, - { - "__type__": "cc.Sprite", - "_name": "", - "_objFlags": 0, - "node": { - "__id__": 23 - }, - "_enabled": true, - "_materials": [ - { - "__uuid__": "eca5d2f2-8ef6-41c2-bbe6-f9c79d09c432" - } - ], - "_srcBlendFactor": 770, - "_dstBlendFactor": 771, "_spriteFrame": { "__uuid__": "b76603e2-c166-4ce9-af37-417cdedde12e" }, @@ -998,17 +893,17 @@ }, "_children": [ { - "__id__": 27 + "__id__": 24 } ], "_active": false, "_components": [ { - "__id__": 39 + "__id__": 36 } ], "_prefab": { - "__id__": 40 + "__id__": 37 }, "_opacity": 255, "_color": { @@ -1062,27 +957,27 @@ "_name": "wave", "_objFlags": 0, "_parent": { - "__id__": 26 + "__id__": 23 }, "_children": [ + { + "__id__": 25 + }, { "__id__": 28 }, { "__id__": 31 - }, - { - "__id__": 34 } ], "_active": true, "_components": [ { - "__id__": 37 + "__id__": 34 } ], "_prefab": { - "__id__": 38 + "__id__": 35 }, "_opacity": 255, "_color": { @@ -1136,17 +1031,17 @@ "_name": "water1", "_objFlags": 0, "_parent": { - "__id__": 27 + "__id__": 24 }, "_children": [], "_active": true, "_components": [ { - "__id__": 29 + "__id__": 26 } ], "_prefab": { - "__id__": 30 + "__id__": 27 }, "_opacity": 255, "_color": { @@ -1200,7 +1095,7 @@ "_name": "", "_objFlags": 0, "node": { - "__id__": 28 + "__id__": 25 }, "_enabled": true, "_materials": [ @@ -1245,17 +1140,17 @@ "_name": "water2", "_objFlags": 0, "_parent": { - "__id__": 27 + "__id__": 24 }, "_children": [], "_active": true, "_components": [ { - "__id__": 32 + "__id__": 29 } ], "_prefab": { - "__id__": 33 + "__id__": 30 }, "_opacity": 255, "_color": { @@ -1309,7 +1204,7 @@ "_name": "", "_objFlags": 0, "node": { - "__id__": 31 + "__id__": 28 }, "_enabled": true, "_materials": [ @@ -1354,17 +1249,17 @@ "_name": "water3", "_objFlags": 0, "_parent": { - "__id__": 27 + "__id__": 24 }, "_children": [], "_active": true, "_components": [ { - "__id__": 35 + "__id__": 32 } ], "_prefab": { - "__id__": 36 + "__id__": 33 }, "_opacity": 255, "_color": { @@ -1418,7 +1313,7 @@ "_name": "", "_objFlags": 0, "node": { - "__id__": 34 + "__id__": 31 }, "_enabled": true, "_materials": [ @@ -1463,7 +1358,7 @@ "_name": "", "_objFlags": 0, "node": { - "__id__": 27 + "__id__": 24 }, "_enabled": true, "_materials": [ @@ -1494,7 +1389,7 @@ "_name": "", "_objFlags": 0, "node": { - "__id__": 26 + "__id__": 23 }, "_enabled": true, "_materials": [ @@ -1516,7 +1411,7 @@ "y": 0 }, "_fillStart": 0, - "_fillRange": 0, + "_fillRange": 1, "_isTrimmedMode": true, "_atlas": { "__uuid__": "9830637c-e4e3-4df5-8d51-fc49b7d715b4" @@ -1543,17 +1438,17 @@ }, "_children": [ { - "__id__": 42 + "__id__": 39 } ], "_active": false, "_components": [ { - "__id__": 48 + "__id__": 45 } ], "_prefab": { - "__id__": 49 + "__id__": 46 }, "_opacity": 255, "_color": { @@ -1607,21 +1502,21 @@ "_name": "wave", "_objFlags": 0, "_parent": { - "__id__": 41 + "__id__": 38 }, "_children": [ { - "__id__": 43 + "__id__": 40 } ], "_active": true, "_components": [ { - "__id__": 46 + "__id__": 43 } ], "_prefab": { - "__id__": 47 + "__id__": 44 }, "_opacity": 255, "_color": { @@ -1675,17 +1570,17 @@ "_name": "water", "_objFlags": 0, "_parent": { - "__id__": 42 + "__id__": 39 }, "_children": [], "_active": true, "_components": [ { - "__id__": 44 + "__id__": 41 } ], "_prefab": { - "__id__": 45 + "__id__": 42 }, "_opacity": 255, "_color": { @@ -1739,7 +1634,7 @@ "_name": "", "_objFlags": 0, "node": { - "__id__": 43 + "__id__": 40 }, "_enabled": true, "_materials": [ @@ -1784,7 +1679,7 @@ "_name": "", "_objFlags": 0, "node": { - "__id__": 42 + "__id__": 39 }, "_enabled": true, "_materials": [ @@ -1815,7 +1710,7 @@ "_name": "", "_objFlags": 0, "node": { - "__id__": 41 + "__id__": 38 }, "_enabled": true, "_materials": [ @@ -1864,17 +1759,17 @@ }, "_children": [ { - "__id__": 51 + "__id__": 48 } ], "_active": false, "_components": [ { - "__id__": 63 + "__id__": 60 } ], "_prefab": { - "__id__": 64 + "__id__": 61 }, "_opacity": 255, "_color": { @@ -1903,8 +1798,8 @@ 0, 0, 0, - 0.7071067811865475, - 0.7071067811865476, + 0, + 1, 1, 1, 1 @@ -1914,7 +1809,7 @@ "__type__": "cc.Vec3", "x": 0, "y": 0, - "z": 90 + "z": 0 }, "_skewX": 0, "_skewY": 0, @@ -1928,27 +1823,27 @@ "_name": "wave", "_objFlags": 0, "_parent": { - "__id__": 50 + "__id__": 47 }, "_children": [ + { + "__id__": 49 + }, { "__id__": 52 }, { "__id__": 55 - }, - { - "__id__": 58 } ], "_active": true, "_components": [ { - "__id__": 61 + "__id__": 58 } ], "_prefab": { - "__id__": 62 + "__id__": 59 }, "_opacity": 255, "_color": { @@ -2002,17 +1897,17 @@ "_name": "water1", "_objFlags": 0, "_parent": { - "__id__": 51 + "__id__": 48 }, "_children": [], "_active": true, "_components": [ { - "__id__": 53 + "__id__": 50 } ], "_prefab": { - "__id__": 54 + "__id__": 51 }, "_opacity": 255, "_color": { @@ -2066,7 +1961,7 @@ "_name": "", "_objFlags": 0, "node": { - "__id__": 52 + "__id__": 49 }, "_enabled": true, "_materials": [ @@ -2111,17 +2006,17 @@ "_name": "water2", "_objFlags": 0, "_parent": { - "__id__": 51 + "__id__": 48 }, "_children": [], "_active": true, "_components": [ { - "__id__": 56 + "__id__": 53 } ], "_prefab": { - "__id__": 57 + "__id__": 54 }, "_opacity": 255, "_color": { @@ -2175,7 +2070,7 @@ "_name": "", "_objFlags": 0, "node": { - "__id__": 55 + "__id__": 52 }, "_enabled": true, "_materials": [ @@ -2220,17 +2115,17 @@ "_name": "water3", "_objFlags": 0, "_parent": { - "__id__": 51 + "__id__": 48 }, "_children": [], "_active": true, "_components": [ { - "__id__": 59 + "__id__": 56 } ], "_prefab": { - "__id__": 60 + "__id__": 57 }, "_opacity": 255, "_color": { @@ -2284,7 +2179,7 @@ "_name": "", "_objFlags": 0, "node": { - "__id__": 58 + "__id__": 55 }, "_enabled": true, "_materials": [ @@ -2329,7 +2224,7 @@ "_name": "", "_objFlags": 0, "node": { - "__id__": 51 + "__id__": 48 }, "_enabled": true, "_materials": [ @@ -2360,7 +2255,7 @@ "_name": "", "_objFlags": 0, "node": { - "__id__": 50 + "__id__": 47 }, "_enabled": true, "_materials": [ @@ -2382,7 +2277,7 @@ "y": 0 }, "_fillStart": 0, - "_fillRange": 0, + "_fillRange": 1, "_isTrimmedMode": true, "_atlas": { "__uuid__": "9830637c-e4e3-4df5-8d51-fc49b7d715b4" @@ -2411,11 +2306,11 @@ "_active": false, "_components": [ { - "__id__": 66 + "__id__": 63 } ], "_prefab": { - "__id__": 67 + "__id__": 64 }, "_opacity": 255, "_color": { @@ -2469,7 +2364,7 @@ "_name": "", "_objFlags": 0, "node": { - "__id__": 65 + "__id__": 62 }, "_enabled": true, "_materials": [ @@ -2507,6 +2402,113 @@ "fileId": "b2Xfw7RPZMhrj9rvQnCwPq", "sync": false }, + { + "__type__": "cc.Node", + "_name": "Xi_Soil", + "_objFlags": 0, + "_parent": { + "__id__": 1 + }, + "_children": [], + "_active": false, + "_components": [ + { + "__id__": 66 + } + ], + "_prefab": { + "__id__": 67 + }, + "_opacity": 0, + "_color": { + "__type__": "cc.Color", + "r": 255, + "g": 255, + "b": 0, + "a": 255 + }, + "_contentSize": { + "__type__": "cc.Size", + "width": 100, + "height": 100 + }, + "_anchorPoint": { + "__type__": "cc.Vec2", + "x": 0.5, + "y": 0.5 + }, + "_trs": { + "__type__": "TypedArray", + "ctor": "Float64Array", + "array": [ + 0, + 0, + 0, + 0, + 0, + 0, + 1, + 1, + 1, + 1 + ] + }, + "_eulerAngles": { + "__type__": "cc.Vec3", + "x": 0, + "y": 0, + "z": 0 + }, + "_skewX": 0, + "_skewY": 0, + "_is3DNode": false, + "_groupIndex": 0, + "groupIndex": 0, + "_id": "" + }, + { + "__type__": "cc.Sprite", + "_name": "", + "_objFlags": 0, + "node": { + "__id__": 65 + }, + "_enabled": true, + "_materials": [ + { + "__uuid__": "eca5d2f2-8ef6-41c2-bbe6-f9c79d09c432" + } + ], + "_srcBlendFactor": 770, + "_dstBlendFactor": 771, + "_spriteFrame": { + "__uuid__": "a23235d1-15db-4b95-8439-a2e005bfff91" + }, + "_type": 0, + "_sizeMode": 0, + "_fillType": 0, + "_fillCenter": { + "__type__": "cc.Vec2", + "x": 0, + "y": 0 + }, + "_fillStart": 0, + "_fillRange": 0, + "_isTrimmedMode": true, + "_atlas": null, + "_id": "" + }, + { + "__type__": "cc.PrefabInfo", + "root": { + "__id__": 1 + }, + "asset": { + "__id__": 0 + }, + "fileId": "c1rnBrwplFLLvmPviKv2Ng", + "sync": false + }, { "__type__": "cc.Node", "_name": "sp", @@ -2621,7 +2623,7 @@ "ctor": "Float64Array", "array": [ 0, - -72, + -24.891, 0, 0, 0, @@ -2730,7 +2732,7 @@ "ctor": "Float64Array", "array": [ 0, - -72, + 20, 0, 0, 0, diff --git a/assets/res/btn.png b/assets/res/btn.png new file mode 100644 index 0000000000000000000000000000000000000000..321db3aaa5b75af04b27f0314e8f88f3bee738ec GIT binary patch literal 20794 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 0&&arr.length>0) { - let arr2=[]; - arr.map(item=>{ - arr2.push(item.split("=")[1]) - }) - window.userId = arr2[0] + ""; - return arr2[0] - } else { - return null + var name = "userId"; + var reg = new RegExp('(^|&)' + name + '=([^&]*)(&|$)', 'i'); + var r = window.location.search.substr(1).match(reg); + if (r != null) { + return unescape(r[2]); } + return null; } + function containsTrain(str) { + return /from=train/i.test(str); + } loadScript(debug ? 'cocos2d-js.js' : 'cocos2d-js-min.js', function () { if (CC_PHYSICS_BUILTIN || CC_PHYSICS_CANNON) { diff --git a/build/WaterControl.zip b/build/WaterControl.zip index c9ccb81df6dec093b2050125b3d534995f5f5f00..2e1021d7142b1bef0322b50d5406f5a14b7cd51c 100644 GIT binary patch delta 112080 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 CMYFR2 delta 86700 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 oihyYx@vvb=0;s--)(o=t[s])&&(a=(r<3?o(a):r>3?o(e,i,a):o(e,i))||a);return r>3&&a&&Object.defineProperty(e,i,a),a};Object.defineProperty(i,"__esModule",{value:!0});var a=cc._decorator,s=a.ccclass,c=a.property,h=function(t){function e(){var e=null!==t&&t.apply(this,arguments)||this;return e.audioGameBgm0=null,e.chehui=null,e.jineng=null,e.qingkong=null,e.fangxiang=null,e.build=null,e.win=null,e.lose=null,e}var i;return o(e,t),i=e,e.prototype.onLoad=function(){null==i._instance&&(i._instance=this,cc.game.addPersistRootNode(this.node),this.reward=!1,this.finish=!1,this.rewardCount=0,this.ctor(),this.preload())},e.prototype.ctor=function(){this.mAudioMap={},this.bgMusicVolume=.1,this.effectMusicVolume=1,this.mMusicSwitch=1,this.mEffectSwitch=1},e.prototype.play=function(t,e,i,n){n?this.bgMusicVolume:this.effectMusicVolume,cc.audioEngine.setEffectsVolume(1),cc.audioEngine.setMusicVolume(1),"lose"==t.name?cc.audioEngine.setEffectsVolume(.5):cc.audioEngine.setEffectsVolume(1);var o=cc.audioEngine.playEffect(t,e);return i&&cc.audioEngine.setFinishCallback(o,function(){i.call(this)}.bind(this)),this.mAudioMap[t]=o,t},e.prototype.save=function(){},e.prototype.preload=function(){cc.sys.platform===cc.sys.WECHAT_GAME&&[this.audioGameBgm0].forEach(function(){})},e.prototype.getAudioMusicSwitch=function(){return this.mMusicSwitch},e.prototype.getAudioEffectSwitch=function(){return this.mEffectSwitch},e.prototype.trunAudioSound=function(t){this.switchMusic(t),this.switchEffect(t)},e.prototype.switchMusic=function(t){this.mMusicSwitch!=(t?1:0)&&(this.mMusicSwitch=1-this.mMusicSwitch),t?this.playMusicGame():this.stopMusic()},e.prototype.switchEffect=function(t){this.mEffectSwitch!=(t?1:0)&&(this.mEffectSwitch=1-this.mEffectSwitch)},e.prototype.onHide=function(){cc.audioEngine.pauseAll()},e.prototype.onShow=function(){cc.audioEngine.resumeAll()},e.prototype.playEffect=function(t,e){if(this[t])return this.play(this[t],!1,e,this.mEffectSwitch)},e.prototype.playMusic=function(t,e,i){i=!(void 0!==i&&!i),this.stopMusic(),this.mMusicKey=this.play(t,i,e,!0)},e.prototype.playMusicGame=function(){this.playMusic(this.audioGameBgm0,{},!0)},e.prototype.stopMusic=function(){var t=this.mAudioMap[this.mMusicKey];void 0!==t&&(cc.sys.isBrowser?cc.audioEngine.stop(t):t.stop(),cc.audioEngine.stop(t))},e.prototype.playGameStart=function(){},e.prototype.playGameOver=function(){},e.prototype.playGameResultFailed=function(){},e.prototype.playGameResultSuccess=function(){},e.prototype.playAudioButton=function(){},r([c(cc.AudioClip)],e.prototype,"audioGameBgm0",void 0),r([c(cc.AudioClip)],e.prototype,"chehui",void 0),r([c(cc.AudioClip)],e.prototype,"jineng",void 0),r([c(cc.AudioClip)],e.prototype,"qingkong",void 0),r([c(cc.AudioClip)],e.prototype,"fangxiang",void 0),r([c(cc.AudioClip)],e.prototype,"build",void 0),r([c(cc.AudioClip)],e.prototype,"win",void 0),r([c(cc.AudioClip)],e.prototype,"lose",void 0),i=r([s],e)}(cc.Component);i.default=h,cc._RF.pop()},{}],Block:[function(t,e,i){"use strict";cc._RF.push(e,"c58deN2u1NGZL8nJwvnu1PR","Block");var n,o=this&&this.__extends||(n=function(t,e){return(n=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(t,e){t.__proto__=e}||function(t,e){for(var i in e)Object.prototype.hasOwnProperty.call(e,i)&&(t[i]=e[i])})(t,e)},function(t,e){function i(){this.constructor=t}n(t,e),t.prototype=null===e?Object.create(e):(i.prototype=e.prototype,new i)}),r=this&&this.__decorate||function(t,e,i,n){var o,r=arguments.length,a=r<3?e:null===n?n=Object.getOwnPropertyDescriptor(e,i):n;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)a=Reflect.decorate(t,e,i,n);else for(var s=t.length-1;s>=0;s--)(o=t[s])&&(a=(r<3?o(a):r>3?o(e,i,a):o(e,i))||a);return r>3&&a&&Object.defineProperty(e,i,a),a};Object.defineProperty(i,"__esModule",{value:!0}),i.PathType=i.BlockType=void 0;var a,s,c=cc._decorator,h=c.ccclass,p=c.property;(function(t){t[t.Nomal=0]="Nomal",t[t.Start=1]="Start",t[t.Nunja=2]="Nunja",t[t.Peak=3]="Peak",t[t.End=4]="End",t[t.Xi_Soil=5]="Xi_Soil",t[t.Reinforce=6]="Reinforce"})(a=i.BlockType||(i.BlockType={})),function(t){t.err="err",t.up="up",t.down="down",t.left="left",t.right="right",t.up_left="up_left",t.up_right="up_right",t.down_left="down_left",t.down_right="down_right",t.left_up="left_up",t.left_down="left_down",t.right_up="right_up",t.right_down="right_down"}(s=i.PathType||(i.PathType={}));var l=function(t){function e(){var e=null!==t&&t.apply(this,arguments)||this;return e.UI=null,e}return o(e,t),e.prototype.onLoad=function(){this.finishi=!1,this.pos_Shifting=0,this.pos=cc.v2(0,0)},e.prototype.start=function(){},e.prototype.initData=function(t,e,i){if(this.block_Type=t,this.pos=cc.v2(e.x,e.y),t==cc.Enum(a).Start)(n=this.node.getChildByName("sp")).getComponent(cc.Sprite).spriteFrame=this.UI._spriteFrames.start,cc.fx.GameConfig.GM_INFO.level>3&&(n.getChildByName("start").y=20,n.getChildByName("end").y=20),this.rotateTarget(n,"start",e,i);else if(t==cc.Enum(a).End){var n;(n=this.node.getChildByName("sp")).getComponent(cc.Sprite).spriteFrame=this.UI._spriteFrames.end,cc.fx.GameConfig.GM_INFO.level>3&&(n.getChildByName("start").y=20,n.getChildByName("end").y=20),this.rotateTarget(n,"end",e,i)}else if(t==cc.Enum(a).Nunja){var o=[0,90,180,270][Math.floor(4*Math.random())];this.node.getChildByName("bg").getComponent(cc.Sprite).spriteFrame=this.UI._spriteFrames.e5,this.node.getChildByName("bg").angle=-o,this.node.getComponent(cc.Sprite).spriteFrame=null}else if(t==cc.Enum(a).Peak){var r="shan"+Math.floor(4*Math.random()+1);this.node.getChildByName("bg").getComponent(cc.Sprite).spriteFrame=this.UI._spriteFrames[r],this.node.getComponent(cc.Sprite).spriteFrame=null}1==cc.fx.GameConfig.GM_INFO.level?(this.node.getChildByName("tipWin").opacity=220,this.node.getChildByName("tipLose").opacity=220):2==cc.fx.GameConfig.GM_INFO.level?(this.node.getChildByName("tipWin").opacity=100,this.node.getChildByName("tipLose").opacity=100):3==cc.fx.GameConfig.GM_INFO.level?(this.node.getChildByName("tipWin").opacity=50,this.node.getChildByName("tipLose").opacity=50):cc.fx.GameConfig.GM_INFO.level>3&&(this.node.getChildByName("tipWin").opacity=0,this.node.getChildByName("tipLose").opacity=0)},e.prototype.rotateTarget=function(t,e,i,n){var o=t.getChildByName(e);return i.y==n.y-1?(t.angle=0,"end"==e&&(o.getComponent(cc.Sprite).spriteFrame=this.UI._spriteFrames.end_x),o.active=!0,void(o.angle=0)):0==i.y?(t.angle=-180,"end"==e&&(o.getComponent(cc.Sprite).spriteFrame=this.UI._spriteFrames.end_x),o.active=!0,void(o.angle=-180)):void(i.x==n.x-1?(t.angle=90,o.getComponent(cc.Sprite).spriteFrame="start"==e?this.UI._spriteFrames.start_y:this.UI._spriteFrames.end_y,o.active=!0,o.angle=-90):0==i.x&&(t.angle=-90,o.getComponent(cc.Sprite).spriteFrame="start"==e?this.UI._spriteFrames.start_y:this.UI._spriteFrames.end_y,o.active=!0,o.angle=90))},e.prototype.setPath=function(t){this.path_Type=t},e.prototype.set_Xi_Soil=function(t,e){var i=this.node.getChildByName("sp"),n=this.node.getChildByName("turnStart"),o=this.node.getChildByName("waterStart");if("left"==t||"right"==t)0==i.angle?(n.active=!0,o.active=!0,o.opacity=0,e?(n.angle="left"==t?90:0,o.angle="left"==t?90:0):(n.angle="left"==t?0:90,o.angle="left"==t?0:90)):-180==i.angle?(n.active=!0,o.active=!0,o.opacity=0,e?(n.angle="left"==t?-180:-90,o.angle="left"==t?-180:-90):(n.angle="left"==t?270:-180,o.angle="left"==t?270:-180)):-90==i.angle?(n.active=!0,n.getComponent(cc.Sprite).spriteFrame=this.UI._spriteFrames.a1,n.angle=90,e&&(o.active=!0,o.angle=90,o.getComponent(cc.Sprite).spriteFrame=this.UI._spriteFrames.block1,o.opacity=0)):90==i.angle&&(n.active=!0,n.getComponent(cc.Sprite).spriteFrame=this.UI._spriteFrames.a1,n.angle=90,e&&(o.active=!0,o.angle=90,o.getComponent(cc.Sprite).spriteFrame=this.UI._spriteFrames.block1,o.opacity=0));else if("up"==t||"down"==t){var r=this.node.getChildByName("sp");-90==r.angle?(n.active=!0,o.active=!0,o.opacity=0,e?(n.angle="up"==t?0:-90,o.angle="up"==t?0:-90):(n.angle="up"==t?-90:0,o.angle="up"==t?-90:0)):90==r.angle?(n.active=!0,o.active=!0,o.opacity=0,e?(n.angle="up"==t?90:180,o.angle="up"==t?90:180):(n.angle="up"==t?180:90,o.angle="up"==t?180:90)):0==r.angle?(n.active=!0,n.getComponent(cc.Sprite).spriteFrame=this.UI._spriteFrames.a1,n.angle=0,e&&(o.active=!0,o.getComponent(cc.Sprite).spriteFrame=this.UI._spriteFrames.block1,o.opacity=0)):-180==r.angle&&(n.active=!0,n.getComponent(cc.Sprite).spriteFrame=this.UI._spriteFrames.a1,n.angle=0,e&&(o.active=!0,o.getComponent(cc.Sprite).spriteFrame=this.UI._spriteFrames.block1,o.opacity=0))}},e.prototype.set_Xi_SoilType=function(t,e,i){var n=this,o=this.repeatRoad(!0,t);if(console.log("\u606f\u58e4\u91cd\u590d\u5224\u65ad\u7ed3\u679c",o),1!=o)if(this.block_Type!=cc.Enum(a).Start){this.block_Type==cc.Enum(a).Nunja&&(this.block_Type=cc.Enum(a).Nomal,this.node.getChildByName("bg").getComponent(cc.Sprite).spriteFrame=null,this.node.getComponent(cc.Sprite).spriteFrame=this.UI._spriteFrames.block_Bg),null!=e&&(this.block_Type==cc.Enum(a).End&&(this.finishi=!0,setTimeout(function(){n.set_Xi_Soil(t,!0)},500)),setTimeout(function(){"water"==i?cc.fx.Notifications.emit(cc.fx.Message.nextWater,e+1):cc.fx.Notifications.emit(cc.fx.Message.next,e+1)},400)),this.block_Type!=cc.Enum(a).End&&this.block_Type!=cc.Enum(a).Start&&(this.block_Type=cc.Enum(a).Xi_Soil);var r=this.node.getChildByName("Xi_Soil");this.path_Type=t,r.active=!0,r.opacity=0,cc.tween(r).to(.1,{opacity:255}).to(.1,{opacity:0}).call(function(){if(null!=t&&null==e){var o={order:0,time:cc.fx.GameConfig.TIME_INFO.waterSpeed[0],type:0,circulate:!1};"water"==i?n.runWater(o):n.runRoad(o)}}).start()}else this.set_Xi_Soil(t,!1)},e.prototype.repeatRoad=function(t,e){var i=!1;return 1==this.node.getChildByName("vertical2").active&&1==this.node.getChildByName("horizontal2").active?(i=!0,t&&(cc.fx.Notifications.emit(cc.fx.Message.showResult,"lose"),cc.fx.Notifications.emit(cc.fx.Message.setData,!1))):1==this.node.getChildByName("turn2").active&&this.block_Type!=cc.Enum(a).Xi_Soil&&(i=!0,t&&(cc.fx.Notifications.emit(cc.fx.Message.showResult,"lose"),cc.fx.Notifications.emit(cc.fx.Message.setData,!1))),e&&((1!=this.node.getChildByName("vertical2").active||this.block_Type!=cc.Enum(a).Xi_Soil||"up"!=e&&"down"!=e)&&(1!=this.node.getChildByName("horizontal2").active||this.block_Type!=cc.Enum(a).Xi_Soil||"right"!=e&&"left"!=e)||(i=!0,t&&(cc.fx.Notifications.emit(cc.fx.Message.showResult,"lose"),cc.fx.Notifications.emit(cc.fx.Message.setData,!1)))),i},e.prototype.runRoad=function(t){if("err"!=this.path_Type){if(1!=this.repeatRoad(!0,null)){var e=null,i=1,n=t.time,o=t.order+1,r=Math.floor(4*Math.random()+1);if("vertical"==(e=this.node.getChildByName("vertical2")).name){var c=e.getChildByName("wave").getChildByName("water1"),h=e.getChildByName("wave").getChildByName("water2"),p=e.getChildByName("wave").getChildByName("water3");c.runAction(cc.sequence(cc.moveTo(.6,cc.v2(c.x,120)),cc.delayTime(.15),cc.callFunc(function(){c.y=-120})).repeatForever()),h.runAction(cc.sequence(cc.moveTo(.6,cc.v2(h.x,120)),cc.delayTime(.15),cc.callFunc(function(){h.y=-120})).repeatForever()),p.runAction(cc.sequence(cc.moveTo(.6,cc.v2(p.x,120)),cc.delayTime(.15),cc.callFunc(function(){p.y=-120})).repeatForever())}var l="a"+r;if(this.block_Type!=cc.Enum(a).Reinforce&&(e.getComponent(cc.Sprite).spriteFrame=this.UI._spriteFrames[l]),1==e.active&&(e=this.node.getChildByName("horizontal2"),l="b"+r,this.block_Type!=cc.Enum(a).Reinforce&&(e.getComponent(cc.Sprite).spriteFrame=this.UI._spriteFrames[l])),this.path_Type==cc.Enum(s).up);else if(this.path_Type==cc.Enum(s).down)e.angle=180;else if(this.path_Type==cc.Enum(s).left)e.angle=90,l="b"+r,this.block_Type!=cc.Enum(a).Reinforce&&(e.getComponent(cc.Sprite).spriteFrame=this.UI._spriteFrames[l]);else if(this.path_Type==cc.Enum(s).right)e.angle=270,l="b"+r,this.block_Type!=cc.Enum(a).Reinforce&&(e.getComponent(cc.Sprite).spriteFrame=this.UI._spriteFrames[l]);else{if("turn"==(e=this.node.getChildByName("turn2")).name){var f=e.getChildByName("wave").getChildByName("water");f.opacity=0,f.runAction(cc.sequence(cc.rotateTo(7.2,-1080),cc.delayTime(0)).repeatForever()),setTimeout(function(){f.opacity=255},200)}l="c"+r,this.block_Type!=cc.Enum(a).Reinforce&&(e.getComponent(cc.Sprite).spriteFrame=this.UI._spriteFrames[l]),i=.25,this.path_Type==cc.Enum(s).up_left?e.setPosition(-this.pos_Shifting,-this.pos_Shifting):this.path_Type==cc.Enum(s).up_right?(e.scaleX=-1,e.setPosition(this.pos_Shifting,-this.pos_Shifting)):this.path_Type==cc.Enum(s).down_left?(e.angle=180,e.scaleX=-1,e.setPosition(-this.pos_Shifting,this.pos_Shifting)):this.path_Type==cc.Enum(s).down_right?(e.angle=180,e.setPosition(this.pos_Shifting,this.pos_Shifting)):this.path_Type==cc.Enum(s).left_up?(e.angle=-90,e.scaleY=-1,e.setPosition(this.pos_Shifting,this.pos_Shifting)):this.path_Type==cc.Enum(s).left_down?(e.angle=90,e.setPosition(-this.pos_Shifting,-this.pos_Shifting)):this.path_Type==cc.Enum(s).right_up?(e.angle=-90,e.setPosition(-this.pos_Shifting,this.pos_Shifting)):this.path_Type==cc.Enum(s).right_down&&(e.angle=-90,e.scaleX=-1,e.setPosition(-this.pos_Shifting,-this.pos_Shifting))}if("Reinforce"==this.path_Type){if(e=this.node.getChildByName("Reinforce"),this.block_Type==cc.Enum(a).Peak)return cc.fx.Notifications.emit(cc.fx.Message.showResult,"lose"),void cc.fx.Notifications.emit(cc.fx.Message.setData,!1);this.block_Type!=cc.Enum(a).End&&(this.block_Type=cc.Enum(a).Reinforce),this.node.getChildByName("vertical2").getComponent(cc.Sprite).spriteFrame=this.UI._spriteFrames.e1,this.node.getChildByName("turn2").getComponent(cc.Sprite).spriteFrame=this.UI._spriteFrames.e3,this.node.getChildByName("horizontal2").getComponent(cc.Sprite).spriteFrame=this.UI._spriteFrames.e2,e.active=!0,e.opacity=0,i=1,cc.tween(e).to(cc.fx.GameConfig.TIME_INFO.ReinforceSpeed,{opacity:255}).call(function(){t.circulate&&cc.fx.Notifications.emit(cc.fx.Message.changeMap,o),cc.fx.Notifications.emit(cc.fx.Message.next,o)}).start()}else if("Xi_Soil"==this.path_Type)e.active=!1,this.block_Type!=cc.Enum(a).End&&this.block_Type!=cc.Enum(a).Start&&(this.block_Type=cc.Enum(a).Xi_Soil),(e=this.node.getChildByName("Xi_Soil")).active=!0,e.opacity=0,cc.tween(e).to(.01,{opacity:1}).to(.01,{opacity:0}).call(function(){t.circulate&&cc.fx.Notifications.emit(cc.fx.Message.next,o)}).start();else if("End"==this.path_Type){e.active=!1,this.block_Type!=cc.Enum(a).End&&this.block_Type!=cc.Enum(a).Start&&(this.block_Type=cc.Enum(a).Xi_Soil);var u=t.last,d="up";this.pos.x-u.x>=1?d="right":this.pos.x-u.x<=-1?d="left":this.pos.y-u.y>=1&&(d="down"),console.log("\u7ed3\u675f\u65b9\u5411:",d),this.finishi||(this.finishi=!0,this.set_Xi_Soil(d,!0))}else e.active=!0,this.block_Type!=cc.Enum(a).Xi_Soil?(e.getComponent(cc.Sprite).fillRange=0,cc.tween(e.getComponent(cc.Sprite)).to(n,{fillRange:i}).call(function(){t.circulate&&cc.fx.Notifications.emit(cc.fx.Message.next,o)}).start()):(e.opacity=0,e.getComponent(cc.Sprite).fillRange=1,cc.tween(e).to(n,{opacity:255}).call(function(){t.circulate&&cc.fx.Notifications.emit(cc.fx.Message.next,o)}).start())}}else setTimeout(function(){t.circulate&&cc.fx.Notifications.emit(cc.fx.Message.next,o)},t.time)},e.prototype.runWater=function(t){if(1==this.node.getChildByName("waterStart").active&&this.block_Type==cc.Enum(a).Start&&cc.tween(this.node.getChildByName("waterStart")).to(.2,{opacity:255}).start(),"err"!=this.path_Type){if(1==this.node.getChildByName("vertical").active&&1==this.node.getChildByName("horizontal").active)return cc.fx.Notifications.emit(cc.fx.Message.showResult,"lose"),void cc.fx.Notifications.emit(cc.fx.Message.setData,!1);if(1==this.node.getChildByName("turn").active&&this.block_Type!=cc.Enum(a).Xi_Soil)return cc.fx.Notifications.emit(cc.fx.Message.showResult,"lose"),void cc.fx.Notifications.emit(cc.fx.Message.setData,!1);var e=null,i=1,n=t.time,o=t.order+1;Math.floor(4*Math.random()+1);if("vertical"==(e=this.node.getChildByName("vertical")).name){var r=e.getChildByName("wave").getChildByName("water1"),c=e.getChildByName("wave").getChildByName("water2"),h=e.getChildByName("wave").getChildByName("water3"),p=.15;r.runAction(cc.sequence(cc.moveTo(.6,cc.v2(r.x,120)),cc.delayTime(p),cc.callFunc(function(){r.y=-120})).repeatForever()),c.runAction(cc.sequence(cc.moveTo(.6,cc.v2(c.x,120)),cc.delayTime(p),cc.callFunc(function(){c.y=-120})).repeatForever()),h.runAction(cc.sequence(cc.moveTo(.6,cc.v2(h.x,120)),cc.delayTime(p),cc.callFunc(function(){h.y=-120})).repeatForever())}if(1==e.active){var l=(e=this.node.getChildByName("horizontal")).getChildByName("wave").getChildByName("water1"),f=e.getChildByName("wave").getChildByName("water2"),u=e.getChildByName("wave").getChildByName("water3");p=.15,l.runAction(cc.sequence(cc.moveTo(.6,cc.v2(l.x,120)),cc.delayTime(p),cc.callFunc(function(){l.y=-120})).repeatForever()),f.runAction(cc.sequence(cc.moveTo(.6,cc.v2(f.x,120)),cc.delayTime(p),cc.callFunc(function(){f.y=-120})).repeatForever()),u.runAction(cc.sequence(cc.moveTo(.6,cc.v2(u.x,120)),cc.delayTime(p),cc.callFunc(function(){u.y=-120})).repeatForever())}if(this.path_Type==cc.Enum(s).up);else if(this.path_Type==cc.Enum(s).down)e.angle=180;else if(this.path_Type==cc.Enum(s).left)e.angle=90;else if(this.path_Type==cc.Enum(s).right)e.angle=270;else{if("turn"==(e=this.node.getChildByName("turn")).name){var d=e.getChildByName("wave").getChildByName("water");d.opacity=0,d.runAction(cc.sequence(cc.rotateTo(7.2,-1080),cc.delayTime(0)).repeatForever()),setTimeout(function(){d.opacity=255},200)}i=.25,this.path_Type==cc.Enum(s).up_left?e.setPosition(-this.pos_Shifting,-this.pos_Shifting):this.path_Type==cc.Enum(s).up_right?(e.scaleX=-1,e.setPosition(this.pos_Shifting,-this.pos_Shifting)):this.path_Type==cc.Enum(s).down_left?(e.angle=180,e.scaleX=-1,e.setPosition(-this.pos_Shifting,this.pos_Shifting)):this.path_Type==cc.Enum(s).down_right?(e.angle=180,e.setPosition(this.pos_Shifting,this.pos_Shifting)):this.path_Type==cc.Enum(s).left_up?(e.angle=-90,e.scaleY=-1,e.setPosition(this.pos_Shifting,this.pos_Shifting)):this.path_Type==cc.Enum(s).left_down?(e.angle=90,e.setPosition(-this.pos_Shifting,-this.pos_Shifting)):this.path_Type==cc.Enum(s).right_up?(e.angle=-90,e.setPosition(-this.pos_Shifting,this.pos_Shifting)):this.path_Type==cc.Enum(s).right_down&&(e.angle=-90,e.scaleX=-1,e.setPosition(-this.pos_Shifting,-this.pos_Shifting))}if("End"==this.path_Type)if(e.active=!1,this.block_Type==cc.Enum(a).End)1==this.node.getChildByName("waterStart").active&&this.block_Type==cc.Enum(a).End&&cc.tween(this.node.getChildByName("waterStart")).to(.2,{opacity:255}).call(function(){cc.fx.Notifications.emit(cc.fx.Message.showResult,"win"),cc.fx.Notifications.emit(cc.fx.Message.setData,!0),cc.fx.GameConfig.GM_INFO.level<7&&(cc.fx.GameConfig.GM_INFO.level+=1),setTimeout(function(){},500)}).start();else{(e=this.node.getChildByName("End")).active=!0,e.opacity=0;var m=t.last;this.pos.x-m.x>=1?e.angle=-90:this.pos.x-m.x<=-1?e.angle=90:this.pos.y-m.y>=1&&(e.angle=180),cc.tween(e).to(.5,{opacity:255}).call(function(){cc.fx.Notifications.emit(cc.fx.Message.showResult,"lose"),cc.fx.Notifications.emit(cc.fx.Message.setData,!1)}).start()}else e.active=!0,e.getComponent(cc.Sprite).fillRange=0,cc.tween(e.getComponent(cc.Sprite)).to(n,{fillRange:i}).call(function(){t.circulate&&cc.fx.Notifications.emit(cc.fx.Message.nextWater,o)}).start()}else setTimeout(function(){t.circulate&&cc.fx.Notifications.emit(cc.fx.Message.nextWater,o)},t.time)},r([p(cc.SpriteAtlas)],e.prototype,"UI",void 0),r([h],e)}(cc.Component);i.default=l,cc._RF.pop()},{}],ControlManager:[function(t,e,i){"use strict";cc._RF.push(e,"e35abcX5VRAoItO6mgFcYyX","ControlManager");var n,o=this&&this.__extends||(n=function(t,e){return(n=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(t,e){t.__proto__=e}||function(t,e){for(var i in e)Object.prototype.hasOwnProperty.call(e,i)&&(t[i]=e[i])})(t,e)},function(t,e){function i(){this.constructor=t}n(t,e),t.prototype=null===e?Object.create(e):(i.prototype=e.prototype,new i)}),r=this&&this.__decorate||function(t,e,i,n){var o,r=arguments.length,a=r<3?e:null===n?n=Object.getOwnPropertyDescriptor(e,i):n;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)a=Reflect.decorate(t,e,i,n);else for(var s=t.length-1;s>=0;s--)(o=t[s])&&(a=(r<3?o(a):r>3?o(e,i,a):o(e,i))||a);return r>3&&a&&Object.defineProperty(e,i,a),a};Object.defineProperty(i,"__esModule",{value:!0});var a=cc._decorator,s=a.ccclass,c=a.property,h=function(t){function e(){var e=null!==t&&t.apply(this,arguments)||this;return e.Map=null,e.tip=null,e.reinforce=null,e.soil=null,e}return o(e,t),e.prototype.start=function(){this.tipArray=[],this.controlArray=[],this.canTouch=!0,this.Reinforce=!1,this.Soil=!1},e.prototype.setPosition=function(t){if(t.setPosition(30,-35),this.tipArray.length>0){var e=this.tipArray.length+1,i=Math.ceil(e/8)-1,n=e-8*Math.floor(i)-1;t.setPosition(30+48*n,-35-48*i)}},e.prototype.removeAllTip=function(){if(this.canTouch&&this.tipArray.length>0){cc.fx.AudioManager._instance.playEffect("qingkong",null);for(var t=0;t0){cc.fx.AudioManager._instance.playEffect("chehui",null);var t=this.tipArray[this.tipArray.length-1];t.active=!1,t.removeFromParent(this.Map),t=null,this.tipArray.pop(),this.controlArray.pop();var e=cc.fx.GameConfig.CLICK_DATA.drawingBack+1;cc.fx.GameConfig.CLICK_SET("drawingBack",e),cc.fx.Notifications.emit(cc.fx.Message.removeTip,"back")}},e.prototype.btn_Click=function(t,e){var i=this.node.parent.getComponent("GameManager");if(1==i.btnClick&&(i.btnClick=!1,cc.fx.Notifications.emit(cc.fx.Message.guideNext)),cc.fx.Notifications.emit(cc.fx.Message.control,e),this.canTouch){var n=this.tip;if("reinforce"==e||"soil"==e){if(n=this[e],"reinforce"==e){if(this.Reinforce)return this.Reinforce=!1,void this.back_Click();cc.fx.AudioManager._instance.playEffect("jineng",null),this.Reinforce=!0,this.Soil=!1}else if("soil"==e){if(this.Soil)return this.Soil=!1,void this.back_Click();cc.fx.AudioManager._instance.playEffect("jineng",null),this.Soil=!0,this.Reinforce=!1}}else cc.fx.AudioManager._instance.playEffect("fangxiang",null),this.Reinforce=!1,this.Soil=!1;var o=cc.instantiate(n);"up"==e&&(o.angle=180),"left"==e&&(o.angle=-90),"right"==e&&(o.angle=90),o.parent=this.Map,"reinforce"!=this.controlArray[this.controlArray.length-1]&&"soil"!=this.controlArray[this.controlArray.length-1]||"reinforce"!=e&&"soil"!=e||(this.tipArray[this.tipArray.length-1].removeFromParent(),this.tipArray[this.tipArray.length-1]=null,this.tipArray.pop(),this.controlArray.pop()),this.setPosition(o),this.tipArray.push(o),this.controlArray.push(e)}},e.prototype.start_Click=function(){this.canTouch&&(this.canTouch=!1,cc.fx.AudioManager._instance.playEffect("build",null),cc.fx.Notifications.emit(cc.fx.Message.startGame,this.controlArray))},r([c(cc.Node)],e.prototype,"Map",void 0),r([c(cc.Prefab)],e.prototype,"tip",void 0),r([c(cc.Prefab)],e.prototype,"reinforce",void 0),r([c(cc.Prefab)],e.prototype,"soil",void 0),r([s],e)}(cc.Component);i.default=h,cc._RF.pop()},{}],DynamicAtlasManager:[function(t,e){"use strict";cc._RF.push(e,"5c9b8FZiaNLMrMDs9T3rByf","DynamicAtlasManager"),cc.Class({extends:cc.Component,properties:{},onLoad:function(){cc.dynamicAtlasManager.enabled=!1}}),cc._RF.pop()},{}],GameAppStart:[function(t,e,i){"use strict";cc._RF.push(e,"61d4ccY2ztLMYIh8WvqPPAw","GameAppStart"),Object.defineProperty(i,"__esModule",{value:!0});var n=t("../Config/GameConfig"),o=t("../Crypto/HttpUtil"),r=t("../Music/AudioManager"),a=t("../Notification/Notification"),s=t("../Storage/Storage"),c=t("../Tool/GameTool");window.initMgr=function(){cc.fx||(cc.fx={},console.log("1\u521d\u59cb\u5316"),cc.fx.StateInfo={debugMode:!0,networkConnected:!0,networkType:"none",isOnForeground:!0},cc.fx.GameConfig=n.GameConfig,cc.fx.HttpUtil=o.default,cc.fx.GameTool=c.GameTool,cc.fx.AudioManager=r.default,cc.fx.Notifications=a.Notifications,cc.fx.StorageMessage=s.StorageMessage,cc.fx.ShareInfo={queryId:-1},cc.fx.Message={control:"10001",startGame:"10002",next:"10003",changePath:"10004",changeMap:"10005",nextWater:"10006",addEnd:"10007",setData:"10008",guideNext:"10009",showResult:"10010",removeTip:"10011"},cc.fx.BurialShareType={Default:"default",Invite:"invite",DailyInviteRoomJoin:"invite_join_room",DailyInviteFriend:"invite_friend",DailyInviteGroup:"invate_group",DailyInviteGroupAlive:"invate_alive",DailyInviteGroupReward:"invate_rewared",DailyInviteGroupBox:"invate_box",DailyInviteGroupBall:"invate_ball",MatchResult:"matchResult",MatchFix5:"MatchFix5",MatchFix20:"MatchFix20",MatchFix100:"MatchFix100",MatchFix500:"MatchFix500",NewerRedEnvelope:"newerRedEnvelope",CoinRoomResult:"coinRoomResult",HighRate:"highRate",CoinRoomWinStreak:"coinRoomWinStreak",CoinRoomBankruptcy1:"coinRoomBankruptcy1",CoinRoomBankruptcy2:"coinRoomBankruptcy2",CoinRoomBankruptcy3:"coinRoomBankruptcy3"},cc.fx.ShareWhereReward={Group:"group",Friend:"friend",All:"all"},cc.fx.storageType=cc.Enum({storageTypeCustom:1000101}),cc.fx.tipType=cc.Enum({tipOne:"\u795e\u519c\u6c0f\u56de\u5230\u5bb6\u4e2d\uff0c\u5f00\u59cb\u6574\u7406\u4eca\u5929\u6536\u96c6\u6765\u7684\u7269\u54c1\u3002\u5f53\u4ed6\u7b2c\u4e00\u6b21\u62ff\u51fa\u6216\u8bf4\u51fa\u4e00\u79cd\u690d\u7269\u65f6\uff0c\u8bf7\u544a\u8bc9\u4ed6\u8fd9\u662f\u65b0\u690d\u7269\u3002",tipTwo:"\u5982\u679c\u4ed6\u62ff\u51fa\u6216\u8bf4\u51fa\u7684\u690d\u7269\u4f60\u4eca\u5929\u770b\u5230\u8fc7\uff0c\u8bf7\u544a\u8bc9\u4ed6\u4e0a\u6b21\u662f\u770b\u5230\u7684\uff1b\u5982\u679c\u4f60\u542c\u4ed6\u8bf4\u8fc7\uff0c\u5219\u8bf7\u544a\u8bc9\u4ed6\u4e0a\u6b21\u662f\u542c\u5230\u7684\u3002",tipErrNew:"\u8fd9\u662f\u8fd9\u5c40\u6e38\u620f\u7b2c\u4e00\u6b21\u51fa\u73b0{\u690d\u7269}",tipErrOld:"{\u690d\u7269}\u521a\u624d\u51fa\u73b0\u8fc7\u5462",tipErrHear:"\u4e0a\u6b21\u9047\u5230{\u690d\u7269}\u65f6\uff0c\u4f3c\u4e4e\u4e0d\u662f\u542c\u5230\u7684\u5427",tipErrSee:"\u4e0a\u6b21\u9047\u5230{\u690d\u7269}\u65f6\uff0c\u4f3c\u4e4e\u4e0d\u662f\u770b\u5230\u7684\u5427",tipErrLast:"\u4e4b\u524d\u786e\u5b9e\u770b\u5230\u8fc7{\u690d\u7269}\uff0c\u4f46\u6700\u8fd1\u4e00\u6b21\u4f3c\u4e4e\u4e0d\u662f\u770b\u5230\u7684\u5462"}))},cc._RF.pop()},{"../Config/GameConfig":"GameConfig","../Crypto/HttpUtil":"HttpUtil","../Music/AudioManager":"AudioManager","../Notification/Notification":"Notification","../Storage/Storage":"Storage","../Tool/GameTool":"GameTool"}],GameConfig:[function(t,e,i){"use strict";cc._RF.push(e,"c5692vnhwNF5J9nI7VNKQNW","GameConfig");var n=this&&this.__decorate||function(t,e,i,n){var o,r=arguments.length,a=r<3?e:null===n?n=Object.getOwnPropertyDescriptor(e,i):n;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)a=Reflect.decorate(t,e,i,n);else for(var s=t.length-1;s>=0;s--)(o=t[s])&&(a=(r<3?o(a):r>3?o(e,i,a):o(e,i))||a);return r>3&&a&&Object.defineProperty(e,i,a),a};Object.defineProperty(i,"__esModule",{value:!0}),i.GameConfig=void 0;var o=t("../Share/share"),r=cc._decorator,a=r.ccclass,s=(r.property,function(){function t(){}var e;return e=t,Object.defineProperty(t,"Instance",{get:function(){return null==this._instance&&(this._instance=new e),this._instance},enumerable:!1,configurable:!0}),t.init=function(t){this.CLICK_init(),this.LEVEL_INFO_init(),this.GM_INFO_init(),this.GAME_DATA=[],this.CUSTOM_INFO=[{moveSpeed:0,waitTime:20,fastPath:5},{moveSpeed:0,waitTime:20,fastPath:5},{moveSpeed:0,waitTime:20,fastPath:5},{moveSpeed:0,waitTime:20,fastPath:5},{moveSpeed:0,waitTime:20,fastPath:5},{moveSpeed:0,waitTime:20,fastPath:5},{moveSpeed:0,waitTime:20,fastPath:5},{moveSpeed:0,waitTime:20,fastPath:5},{moveSpeed:0,waitTime:20,fastPath:5},{moveSpeed:0,waitTime:20,fastPath:5}],o.WeChat.setShare(location.href),t||this.Authentication()},t.GM_INFO_init=function(){this.GM_INFO={mean_Time:0,total:0,currSeed:2e5,gameId:"100012",userId:0,guide:!1,url:"https://api.sparkus.cn",success:!1,matchId:null,custom:0,round:0,level:0,stepTimeList:0,successList:[],fen:0,score:0,igniteCount:0,min_Steps:0,min_Time:0}},t.GM_INFO_SET=function(t,e){this.GM_INFO[t]=e},t.CLICK_init=function(){this.CLICK_DATA={type:1,success:!1,round:0,getScore:0,cumulativeScore:0,mapId:"",difficulty:0,optimizedSteps:0,usedSteps:0,stepList:[],startTime:-1,submitTime:-1,duration:0,drawingBack:0,drawingReset:0,timer:0}},t.CLICK_SET=function(t,e){this.CLICK_DATA[t]=e},t.LEVEL_INFO_init=function(){this.TIME_INFO={waterSpeed:[.3,.25,.2,.18,.16,.14,.12,.1],totalTime:120,waterTime:[10,12,14,16,18,20,20,20],roadSpeed:.2,ReinforceSpeed:.2,Xi_SoilSpeed:.2},this.LEVEL_INFO=[[{id:"1001",map:[[0,4,0,0],[0,0,0,0],[0,0,0,0],[0,0,1,0]],min_steps:3},{id:"1002",map:[[1,0,0,0],[0,0,0,4],[0,0,0,0],[0,0,0,0]],min_steps:3},{id:"1004",map:[[1,0,0,0],[0,0,0,0],[0,0,0,0],[0,4,0,0]],min_steps:3},{id:"1006",map:[[4,0,0,0],[0,0,0,0],[0,0,0,0],[0,1,0,0]],min_steps:3},{id:"1003",map:[[1,0,0,0],[0,0,0,0],[0,0,0,0],[0,0,0,4]],min_steps:4},{id:"1005",map:[[1,0,0,0],[0,0,0,0],[0,0,0,4],[0,0,0,0]],min_steps:4},{id:"1007",map:[[0,4,0,0],[0,0,0,0],[0,0,0,0],[0,0,0,1]],min_steps:4},{id:"1008",map:[[0,0,0,4],[0,0,0,0],[0,0,0,0],[1,0,0,0]],min_steps:4}],[{id:"2001",map:[[0,0,0,0,1],[0,0,0,0,0],[0,0,3,0,3],[0,0,0,0,0],[4,0,0,0,3]],min_steps:4},{id:"2002",map:[[0,1,0,0,0],[0,0,0,0,0],[3,3,0,0,4],[0,0,0,0,0],[3,0,0,0,0]],min_steps:4},{id:"2009",map:[[0,3,0,0,4],[3,0,0,0,0],[0,0,0,0,0],[1,0,0,0,0],[0,3,0,0,0]],min_steps:4},{id:"2010",map:[[0,0,0,0,1],[0,0,0,0,0],[0,0,0,0,0],[0,3,0,3,0],[4,0,3,0,0]],min_steps:4},{id:"2011",map:[[4,3,1,0,0],[0,0,0,0,3],[0,0,0,3,0],[0,0,0,0,0],[0,0,0,0,0]],min_steps:4},{id:"2021",map:[[0,0,0,1,0],[0,0,3,0,0],[0,0,0,3,3],[0,0,0,0,0],[0,4,0,0,0]],min_steps:4},{id:"2004",map:[[1,0,0,0,0],[0,0,0,0,3],[3,0,0,0,0],[0,0,0,0,0],[0,0,0,0,4]],min_steps:5},{id:"2012",map:[[0,3,0,4,0],[0,0,0,3,0],[1,0,3,0,0],[0,0,0,0,0],[0,0,0,0,0]],min_steps:5},{id:"2013",map:[[0,0,0,0,0],[1,0,0,0,0],[0,0,0,3,3],[3,0,0,0,0],[0,0,0,4,0]],min_steps:5},{id:"2014",map:[[3,0,1,0,0],[0,3,0,0,0],[0,0,0,0,0],[4,0,0,3,0],[0,0,0,0,0]],min_steps:5},{id:"2015",map:[[3,0,0,0,1],[3,0,0,0,0],[0,0,0,0,0],[4,3,0,0,0],[3,0,0,0,0]],min_steps:5},{id:"2016",map:[[0,0,0,0,0],[1,0,3,0,0],[3,0,0,0,3],[0,0,0,0,0],[0,0,0,0,4]],min_steps:5},{id:"2017",map:[[0,3,0,0,0],[4,0,0,0,0],[0,0,0,0,0],[3,0,3,0,0],[3,0,0,0,1]],min_steps:5},{id:"2018",map:[[0,3,4,3,3],[0,0,0,0,0],[0,0,0,0,0],[0,0,0,0,0],[0,0,3,0,1]],min_steps:5},{id:"2019",map:[[3,0,0,4,0],[0,0,0,3,0],[0,0,0,0,0],[0,0,0,0,0],[1,0,3,0,0]],min_steps:5},{id:"2020",map:[[4,0,3,0,1],[0,0,0,0,3],[0,0,0,0,0],[0,0,0,0,0],[0,0,3,0,0]],min_steps:5},{id:"2003",map:[[1,0,0,3,0],[0,0,3,0,0],[0,0,0,0,0],[0,0,0,0,0],[0,3,0,4,0]],min_steps:6},{id:"2005",map:[[0,3,0,0,0],[1,0,0,0,0],[0,0,0,3,0],[0,0,0,0,0],[0,3,0,4,0]],min_steps:6},{id:"2006",map:[[0,1,0,0,0],[0,0,0,0,3],[0,0,0,0,3],[0,0,0,0,0],[0,0,0,3,4]],min_steps:6},{id:"2007",map:[[3,0,0,0,1],[0,0,0,0,3],[0,0,0,0,0],[0,0,0,0,0],[4,3,0,0,0]],min_steps:6},{id:"2008",map:[[3,4,0,0,0],[0,0,0,0,3],[0,0,0,3,1],[0,0,0,0,0],[0,0,0,0,0]],min_steps:6},{id:"2022",map:[[0,0,0,0,0],[1,3,0,0,3],[0,0,0,0,0],[0,0,0,0,0],[0,0,3,4,0]],min_steps:6}],[{id:"3001",map:[[3,0,2,3,4],[0,0,0,2,2],[2,3,3,3,3],[0,0,2,0,2],[1,0,2,3,0]],min_steps:5},{id:"3002",map:[[3,0,3,2,0],[1,2,0,3,2],[2,3,0,0,4],[2,0,2,2,0],[3,3,0,3,0]],min_steps:5},{id:"3003",map:[[0,2,3,3,4],[2,2,0,0,0],[1,3,3,3,2],[2,2,3,2,3],[0,0,0,0,0]],min_steps:5},{id:"3004",map:[[3,2,2,1,0],[0,0,3,2,2],[3,0,2,3,0],[3,0,0,3,3],[0,2,4,0,2]],min_steps:5},{id:"3005",map:[[3,0,3,0,0],[2,3,0,0,1],[0,2,2,2,3],[4,2,0,0,2],[3,3,0,3,2]],min_steps:5},{id:"3008",map:[[3,3,3,0,1],[0,0,0,0,3],[2,2,3,2,2],[0,2,3,0,3],[4,2,2,0,0]],min_steps:5},{id:"3009",map:[[1,0,3,3,2],[3,0,2,0,0],[0,3,3,2,4],[0,0,3,0,2],[2,2,2,0,3]],min_steps:5},{id:"3010",map:[[3,0,2,0,4],[1,2,3,0,3],[2,0,3,2,0],[0,3,0,0,3],[2,0,2,3,2]],min_steps:5},{id:"3006",map:[[2,0,2,2,0],[1,2,3,0,0],[3,3,0,3,2],[3,0,0,3,2],[2,0,3,0,4]],min_steps:6},{id:"3007",map:[[1,2,0,3,3],[2,2,0,2,0],[2,3,2,0,3],[0,3,2,0,4],[0,0,3,0,3]],min_steps:6},{id:"3011",map:[[2,3,0,1,0],[0,0,0,0,0],[3,0,0,0,3],[0,2,0,3,2],[4,3,3,2,2]],min_steps:6},{id:"3012",map:[[0,2,1,0,3],[0,3,0,0,3],[3,2,3,2,0],[0,2,0,3,0],[2,0,0,0,4]],min_steps:6},{id:"3013",map:[[0,2,1,0,3],[0,3,0,0,3],[3,2,3,2,0],[0,2,0,3,0],[2,0,0,0,4]],min_steps:6},{id:"3014",map:[[1,0,3,3,4],[2,3,0,3,0],[0,2,2,0,0],[3,3,0,0,2],[2,0,0,0,0]],min_steps:6},{id:"3015",map:[[2,3,0,0,0],[0,0,2,3,0],[4,0,3,0,3],[2,0,2,2,3],[0,3,0,0,1]],min_steps:6},{id:"3016",map:[[3,0,2,0,2],[2,0,0,0,3],[0,2,3,0,1],[4,0,0,3,0],[3,3,0,0,2]],min_steps:6},{id:"3017",map:[[0,3,0,0,2],[3,0,2,0,4],[1,3,3,0,0],[2,0,0,2,0],[3,2,3,0,0]],min_steps:6},{id:"3018",map:[[4,2,0,0,0],[0,0,0,3,2],[0,3,0,0,3],[3,2,3,2,0],[3,0,2,1,0]],min_steps:7},{id:"3019",map:[[0,4,0,3,2],[0,2,0,0,0],[3,0,3,0,2],[3,3,2,3,1],[2,0,0,0,0]],min_steps:7},{id:"3020",map:[[0,2,0,1,0],[0,0,0,3,2],[3,0,3,3,3],[3,0,0,0,2],[0,2,2,4,0]],min_steps:7},{id:"3021",map:[[3,2,0,2,1],[3,2,0,3,2],[3,0,0,2,3],[0,0,0,0,4],[0,0,3,0,0]],min_steps:7},{id:"3022",map:[[2,0,2,2,2],[0,0,3,0,0],[3,0,3,0,0],[1,0,3,2,4],[0,0,3,3,0]],min_steps:7},{id:"3023",map:[[1,2,0,2,0],[3,3,3,0,0],[0,2,3,2,0],[4,0,0,0,3],[0,0,2,0,3]],min_steps:7},{id:"3024",map:[[1,0,3,0,3],[2,2,0,0,0],[0,3,0,3,0],[2,0,3,2,0],[2,3,0,4,0]],min_steps:7}],[{id:"4001",map:[[1,3,0,0,2,0],[0,3,0,0,2,0],[0,0,2,0,3,4],[0,0,0,2,0,0],[3,3,0,0,2,0,3],[0,0,2,2,2,0]],min_steps:5},{id:"4002",map:[[0,2,2,2,2,0],[1,0,0,0,2,0],[0,0,0,0,0,3],[0,0,0,0,2,0],[0,3,3,0,2,0],[3,0,0,4,2,0]],min_steps:5},{id:"4003",map:[[0,0,0,0,0,0],[2,0,0,0,0,2],[0,3,3,3,2,4],[0,3,0,3,2,0],[0,0,0,0,0,3],[0,0,2,3,0,1]],min_steps:6},{id:"4004",map:[[2,0,3,0,0,4],[0,2,3,3,0,0],[0,3,0,0,0,0],[3,0,0,0,2,2],[3,0,0,2,0,0],[1,0,0,3,0,0]],min_steps:6},{id:"4006",map:[[4,3,0,3,0,0],[0,2,0,3,0,0],[3,0,0,0,3,2],[0,3,0,0,2,1],[0,0,2,0,0,0],[0,0,0,0,2,3]],min_steps:7},{id:"4007",map:[[4,2,2,0,2,0],[0,3,0,2,0,0],[0,2,3,0,3,0],[0,0,3,0,0,3],[0,0,3,0,0,0],[0,0,0,3,0,1]],min_steps:7},{id:"4014",map:[[0,0,3,0,2,2],[0,2,3,0,0,1],[0,3,3,0,0,3],[0,2,0,0,0,0],[0,0,0,3,3,0],[2,0,4,0,0,0]],min_steps:7},{id:"4015",map:[[2,0,0,0,0,0],[0,0,0,0,3,1],[3,0,2,0,0,3],[2,0,0,2,3,0],[3,0,3,0,0,0],[2,0,0,3,4,0]],min_steps:7},{id:"4005",map:[[1,0,0,0,0,2],[0,0,0,2,0,0],[3,2,0,0,0,0],[0,3,0,0,2,3],[0,0,3,3,0,0],[3,0,0,2,3,4]],min_steps:8},{id:"4008",map:[[0,0,2,3,0,0],[0,3,0,2,3,2],[3,0,0,0,0,0],[0,3,0,0,3,4],[0,0,0,0,0,3],[0,2,0,2,0,1]],min_steps:8},{id:"4009",map:[[0,3,3,0,0,4],[2,0,0,3,0,0],[2,0,0,3,0,0],[1,0,0,0,3,0],[0,0,2,3,0,2],[2,3,0,0,0,0]],min_steps:8},{id:"4010",map:[[0,0,1,3,2,0],[3,0,0,0,3,2],[3,0,0,0,0,3],[2,0,0,0,0,0],[0,2,0,0,3,0],[0,2,0,3,4,0]],min_steps:8},{id:"4011",map:[[1,0,0,0,0,0],[3,3,0,0,0,2],[0,0,0,3,0,2],[2,0,3,0,3,0],[2,0,3,0,0,3],[4,0,0,0,0,2]],min_steps:8},{id:"4016",map:[[0,0,3,0,0,1],[2,3,0,0,3,0],[2,0,0,0,0,2],[0,3,0,0,0,0],[0,3,0,0,2,0],[0,4,3,0,2,3]],min_steps:8},{id:"4017",map:[[1,2,3,0,3,2],[3,0,0,0,0,0],[0,0,0,0,0,3],[3,3,0,3,2,0],[0,2,0,0,0,0],[4,0,0,2,0,0]],min_steps:8},{id:"4018",map:[[0,0,1,0,2,0],[0,0,0,0,0,0],[0,0,3,2,3,0],[3,0,0,3,0,0],[2,3,0,2,0,0],[4,2,0,3,3,0]],min_steps:8},{id:"4012",map:[[2,2,3,0,2,0],[0,3,0,0,0,0],[0,0,0,0,3,4],[0,2,0,3,0,3],[0,0,0,0,0,0],[0,0,2,3,3,1]],min_steps:9},{id:"4013",map:[[0,0,0,0,3,0],[4,2,0,3,0,0],[3,2,0,0,0,0],[1,3,0,3,0,0],[2,0,0,2,0,0],[3,0,0,3,2,0]],min_steps:9},{id:"4019",map:[[3,4,0,0,0,2],[3,2,0,0,2,0],[0,3,0,3,0,2],[0,0,3,0,0,0],[0,0,0,0,3,0],[1,3,0,0,0,2]],min_steps:9},{id:"4020",map:[[0,2,0,1,0,0],[2,3,0,0,2,0],[3,0,0,0,0,0],[0,3,3,0,0,3],[2,0,0,3,0,0],[4,3,0,0,0,2]],min_steps:9}],[{id:"5001",map:[[1,0,0,0,0,0],[0,2,2,3,0,2],[3,2,0,0,3,3],[0,0,0,0,0,4],[0,0,0,2,2,0],[3,0,2,2,0,0]],min_steps:7},{id:"5002",map:[[0,0,0,0,4,3],[3,2,3,0,0,0],[0,2,0,2,3,0],[2,2,0,0,0,0],[3,2,0,0,0,0],[3,0,0,2,0,3],[2,0,0,3,0,1]],min_steps:7},{id:"5015",map:[[1,2,3,2,2,0],[3,0,0,0,0,3],[0,0,0,0,0,0],[0,0,0,0,0,2],[0,3,0,3,2,0],[0,0,0,0,0,0],[0,2,0,4,0,3]],min_steps:7},{id:"5016",map:[[3,0,1,0,0,0],[0,2,0,2,0,0],[0,2,0,2,0,3],[0,0,0,0,0,0],[0,2,0,0,3,3],[0,0,0,0,2,3],[0,0,0,3,0,4]],min_steps:7},{id:"5004",map:[[0,3,3,2,3,0],[2,0,2,0,3,0],[1,0,3,2,0,0],[3,3,0,0,0,2],[0,0,0,0,0,0],[0,2,0,0,0,0],[0,0,0,3,4,0]],min_steps:8},{id:"5005",map:[[0,0,0,0,0,1],[0,0,2,0,2,0],[3,2,2,0,0,0],[3,0,0,3,0,0],[3,3,0,0,0,3],[4,3,0,0,0,0],[2,0,0,2,3,0]],min_steps:8},{id:"5008",map:[[3,0,3,2,0,4],[0,3,0,2,0,2],[0,0,3,0,0,0],[2,0,0,2,0,0],[0,0,3,0,0,0],[0,0,0,3,0,0],[3,2,1,3,0,0]],min_steps:8},{id:"5012",map:[[2,3,0,2,0,1],[2,0,0,0,0,0],[2,0,0,3,0,2],[3,0,3,0,0,3],[0,0,0,0,3,3],[3,0,0,0,2,0],[0,0,0,0,0,4]],min_steps:8},{id:"5013",map:[[0,0,2,1,2,0],[0,3,0,0,0,0],[2,0,0,0,0,0],[0,0,0,3,0,0],[3,0,0,2,3,0],[3,3,3,2,0,2],[0,0,4,0,0,3]],min_steps:8},{id:"5018",map:[[0,2,0,1,0,0],[2,0,0,3,0,0],[0,0,0,0,0,0],[3,0,0,0,0,0],[2,3,0,2,3,3],[2,0,0,0,0,2],[4,3,0,0,0,0]],min_steps:8},{id:"5019",map:[[1,3,0,2,3,0],[0,0,0,0,0,2],[0,0,0,0,0,0],[0,0,2,0,0,2],[3,3,0,3,0,2],[4,0,2,0,0,0],[0,0,0,3,0,0]],min_steps:8},{id:"5029",map:[[4,3,0,0,0,0],[2,0,0,3,0,2],[3,2,0,3,3,0],[2,0,0,3,0,0],[0,2,0,0,0,0],[2,0,0,0,0,0],[3,0,3,3,0,1]],min_steps:8},{id:"5030",map:[[0,0,0,0,0,0],[0,0,2,3,2,0],[0,3,0,0,0,0],[2,2,0,3,0,0],[0,3,3,0,3,4],[0,0,2,0,0,3],[3,1,0,3,0,2]],min_steps:8},{id:"5006",map:[[0,3,0,0,0,0],[1,0,0,0,3,0],[0,0,3,2,0,0],[3,0,0,2,2,0],[0,3,0,3,3,0],[0,2,0,0,0,0],[4,0,3,0,2,2]],min_steps:9},{id:"5007",map:[[0,2,0,3,0,0],[1,2,0,2,0,0],[0,3,0,3,0,0],[3,0,0,0,0,3],[0,0,3,2,0,2],[4,0,0,3,0,3],[0,2,0,0,0,0]],min_steps:9},{id:"5010",map:[[0,3,1,0,0,0],[0,2,3,3,0,0],[0,2,0,3,0,0],[0,2,0,2,0,3],[0,2,0,0,3,0],[0,3,0,0,0,0],[0,2,4,0,0,3]],min_steps:9},{id:"5011",map:[[1,0,3,0,3,0],[0,2,0,0,0,0],[2,0,2,0,3,0],[0,3,2,0,0,0],[3,0,0,0,0,2],[4,0,3,0,0,0],[3,2,0,0,0,3]],min_steps:9},{id:"5014",map:[[0,1,0,0,0,0],[2,0,2,0,0,2],[2,3,0,3,0,0],[0,3,0,0,0,3],[0,0,0,2,0,3],[0,0,3,0,3,0],[2,0,3,0,0,4]],min_steps:9},{id:"5017",map:[[0,0,0,0,0,0],[1,2,3,0,0,2],[0,0,2,0,0,2],[3,0,2,3,0,0],[0,3,3,0,2,0],[0,0,0,0,0,0],[4,0,3,0,0,0]],min_steps:9},{id:"5028",map:[[0,0,1,0,0,3],[3,0,0,0,3,4],[0,2,0,2,3,2],[0,3,2,3,3,0],[0,0,0,3,0,0],[0,0,3,0,0,2],[0,0,2,0,0,0]],min_steps:9},{id:"5003",map:[[0,0,1,3,0,2],[0,3,3,0,0,0],[0,0,3,2,0,0],[0,0,3,0,0,0],[3,0,0,0,2,2],[0,0,2,3,0,0],[0,2,0,3,0,4]],min_steps:10},{id:"5009",map:[[0,2,0,0,0,3],[0,0,3,3,3,4],[0,3,0,0,0,0],[0,3,2,0,0,0],[1,2,3,2,0,3],[2,0,0,0,0,0],[0,0,0,0,2,0]],min_steps:10},{id:"5021",map:[[0,0,0,0,0,0],[0,0,0,0,3,0],[3,0,0,0,2,0],[2,0,0,2,3,0],[0,3,0,0,0,2],[0,2,3,0,0,0],[4,3,1,2,0,0]],min_steps:10},{id:"5022",map:[[4,0,3,0,0,2],[0,0,0,0,2,0],[0,3,0,2,3,2],[3,0,3,0,3,0],[0,2,0,0,0,0],[0,3,0,3,0,3],[0,2,1,0,0,0]],min_steps:10},{id:"5023",map:[[3,0,0,3,3,0],[0,0,3,0,0,3],[2,3,0,0,0,0],[2,2,0,0,2,0],[0,3,0,0,0,0],[2,0,3,0,0,4],[0,1,3,0,2,0]],min_steps:10},{id:"5024",map:[[3,0,2,3,0,0],[4,2,0,0,0,3],[2,2,0,0,0,0],[0,0,3,0,0,2],[0,0,0,3,0,3],[0,3,3,0,2,0],[3,0,1,0,0,0]],min_steps:10},{id:"5020",map:[[0,0,0,2,0,0],[0,3,0,0,0,3],[0,2,0,0,3,0],[2,0,0,2,3,4],[0,2,3,0,0,0],[0,0,0,3,0,0],[3,2,0,1,3,0]],min_steps:11},{id:"5025",map:[[1,0,0,0,3,0],[0,0,0,3,3,2],[3,3,2,0,0,2],[0,0,0,0,0,3],[0,0,2,0,2,0],[0,0,0,0,3,4],[0,3,2,3,0,0]],min_steps:11},{id:"5026",map:[[0,3,2,0,0,0],[0,0,2,3,3,0],[2,0,0,2,0,0],[3,2,0,0,3,2],[0,0,0,3,3,1],[0,0,3,0,0,3],[0,0,0,0,0,4]],min_steps:11},{id:"5027",map:[[0,0,3,0,0,1],[0,0,0,0,0,3],[2,0,2,0,2,3],[0,0,3,3,0,3],[0,0,0,2,3,0],[0,0,0,2,0,3],[2,0,3,0,4,0]],min_steps:11}],[{id:"6028",map:[[0,0,3,0,0,2],[1,3,2,2,0,3],[0,0,3,0,0,2],[0,0,0,0,0,0],[0,0,2,0,3,3],[3,3,3,0,0,0],[4,0,0,0,0,2]],min_steps:8},{id:"6029",map:[[0,0,2,0,0,1],[3,2,3,0,0,3],[2,0,3,0,3,0],[3,3,0,0,0,0],[0,0,0,3,3,2],[0,0,0,0,0,2],[0,0,0,4,2,0]],min_steps:8},{id:"6030",map:[[0,3,3,0,1,0],[2,3,0,0,3,0],[0,0,0,3,0,2],[0,0,3,0,2,0],[0,0,2,3,3,3],[0,0,0,0,0,0],[4,0,0,2,0,2]],min_steps:8},{id:"6001",map:[[0,0,3,3,4,2],[0,0,0,2,0,0],[2,3,3,2,0,0],[0,3,0,0,0,2],[0,0,0,3,2,2],[2,0,0,3,0,2],[1,3,2,0,0,0],[0,0,0,3,0,0]],min_steps:9},{id:"6012",map:[[3,0,0,0,2,0],[0,3,0,3,0,0],[0,3,0,0,0,3],[2,0,0,3,2,0],[3,2,2,2,0,0],[3,0,2,0,3,0],[1,2,3,0,2,0],[2,3,0,0,3,4]],min_steps:9},{id:"6016",map:[[0,0,1,0,2,3],[0,3,2,0,2,0],[3,3,3,3,0,0],[3,0,0,0,0,0],[2,2,3,0,3,3],[0,0,2,0,2,0],[0,2,0,2,0,3],[3,0,2,0,0,4]],min_steps:9},{id:"6008",map:[[0,0,2,0,3,4],[3,3,2,3,0,0],[0,0,0,0,0,3],[0,0,2,3,2,0],[0,0,2,0,3,2],[3,3,0,0,0,2],[0,3,0,0,0,0],[2,1,0,0,0,0]],min_steps:10},{id:"6013",map:[[3,0,0,2,2,0],[0,2,0,3,0,2],[0,0,3,2,3,0],[0,3,0,0,3,0],[2,2,3,2,0,0],[0,0,3,3,0,0],[0,2,0,3,2,0],[4,3,3,0,1,0]],min_steps:10},{id:"6017",map:[[4,0,0,0,0,3],[0,3,3,0,0,0],[3,0,2,2,0,0],[3,0,2,3,3,2],[3,2,0,2,3,3],[2,0,2,0,0,0],[0,0,0,0,0,3],[2,3,0,2,0,1]],min_steps:10},{id:"6022",map:[[0,0,3,4,3,0],[0,3,0,2,2,0],[2,0,2,0,0,3],[0,0,0,0,0,0],[2,3,0,3,2,0],[0,3,0,0,0,0],[0,1,3,0,0,3]],min_steps:10},{id:"6023",map:[[0,0,3,1,0,2],[0,0,2,3,0,0],[4,0,3,0,0,0],[2,0,3,0,0,3],[2,0,3,0,3,0],[0,0,0,0,0,0],[2,3,0,2,3,0]],min_steps:10},{id:"6024",map:[[0,3,0,2,0,4],[3,0,0,3,3,3],[0,0,2,0,0,0],[2,3,3,0,0,0],[2,0,0,0,0,3],[2,0,3,0,0,1],[0,0,0,0,0,2]],min_steps:10},{id:"6025",map:[[4,0,2,0,0,0],[0,0,3,3,0,2],[3,3,0,0,0,3],[0,2,0,2,0,0],[0,0,0,0,3,0],[1,3,0,0,2,2],[0,3,0,0,0,3]],min_steps:10},{id:"6002",map:[[0,0,3,3,4,2],[0,0,0,2,0,0],[2,3,3,2,0,0],[0,3,0,0,0,2],[0,0,0,3,2,2],[2,0,0,3,0,2],[1,3,2,0,0,0],[0,0,0,3,0,0]],min_steps:11},{id:"6006",map:[[1,0,2,0,0,3],[0,0,0,0,3,0],[3,0,0,3,2,0],[2,3,0,0,0,3],[0,0,3,2,0,3],[0,2,0,3,0,0],[2,3,0,2,0,0],[0,4,0,2,0,0]],min_steps:11},{id:"6009",map:[[4,3,0,0,3,0],[0,0,0,0,0,0],[3,3,0,2,0,2],[3,0,0,2,2,0],[2,3,2,0,0,0],[1,3,3,0,0,0],[2,0,0,0,0,0],[3,3,0,0,0,2]],min_steps:11},{id:"6018",map:[[2,3,0,0,2,3],[2,0,0,3,0,4],[2,0,0,0,0,0],[0,3,2,0,2,3],[0,0,0,0,0,3],[2,0,3,3,2,3],[0,0,0,3,2,0],[2,3,1,3,0,0]],min_steps:11},{id:"6026",map:[[0,1,0,3,0,4],[0,0,3,0,3,0],[2,2,3,2,0,0],[0,0,3,0,3,3],[2,0,0,0,0,2],[0,3,0,0,0,2],[0,0,0,0,0,3]],min_steps:11},{id:"6027",map:[[2,1,3,0,0,0],[0,0,0,0,3,0],[3,3,0,0,0,0],[2,2,3,3,3,0],[0,2,0,0,0,0],[3,2,0,0,0,0],[0,4,0,2,3,0]],min_steps:11},{id:"6031",map:[[0,1,0,3,0,4],[0,0,3,0,3,0],[2,2,3,2,0,0],[0,0,3,0,3,3],[2,0,0,0,0,2],[0,3,0,0,0,2],[0,0,0,0,0,3]],min_steps:11},{id:"6003",map:[[0,2,2,0,0,4],[0,3,3,0,0,0],[3,2,0,0,0,0],[0,3,0,0,3,3],[0,2,0,3,0,0],[2,3,0,0,0,0],[0,2,3,0,0,0],[1,2,3,0,2,0]],min_steps:12},{id:"6011",map:[[3,0,2,2,3,2],[1,0,0,0,0,3],[0,0,3,2,3,0],[3,0,3,0,0,0],[4,3,2,3,0,2],[0,0,2,0,2,3],[2,0,0,0,0,3],[0,0,0,2,0,3]],min_steps:12},{id:"6014",map:[[4,3,0,0,0,0],[0,2,2,2,3,0],[0,3,0,0,0,0],[2,3,2,3,0,0],[3,3,0,0,0,3],[0,0,0,2,3,0],[0,3,2,0,2,2],[2,3,3,0,0,1]],min_steps:12},{id:"6020",map:[[3,2,0,0,0,0],[4,0,2,0,2,0],[3,3,0,0,2,2],[0,0,3,0,2,0],[0,0,0,0,2,3],[0,2,3,3,0,0],[2,3,0,0,3,3],[1,3,3,2,0,0]],min_steps:12},{id:"6021",map:[[4,3,0,0,0,0],[0,2,2,2,3,0],[0,3,0,0,0,0],[2,3,2,3,0,0],[3,3,0,0,0,3],[0,0,0,2,3,0],[0,3,2,0,2,2],[2,3,3,0,0,1]],min_steps:12},{id:"6004",map:[[0,3,0,2,2,0],[0,0,0,0,0,2],[3,0,0,0,0,0],[0,3,0,0,0,0],[0,3,3,0,3,0],[2,0,0,0,3,2],[2,0,0,0,3,1],[4,3,0,2,3,2]],min_steps:13},{id:"6005",map:[[2,2,4,2,3,0],[0,3,3,2,0,0],[3,0,0,3,0,2],[3,0,2,3,3,0],[0,0,0,0,0,0],[0,0,0,0,2,3],[3,2,0,0,0,1],[0,0,0,0,0,0]],min_steps:13},{id:"6007",map:[[3,2,0,0,3,4],[0,2,0,0,3,0],[0,0,2,0,2,0],[2,0,0,3,0,3],[0,0,2,0,3,2],[0,2,3,3,0,1],[0,0,0,0,0,3],[0,0,0,3,0,0]],min_steps:13},{id:"6010",map:[[0,3,1,0,0,0],[0,2,3,3,0,0],[2,0,0,3,0,0],[0,2,0,0,3,2],[3,0,0,0,0,2],[3,2,0,0,0,0],[4,0,0,3,2,0],[0,3,0,3,2,0]],min_steps:13},{id:"6015",map:[[4,0,0,0,2,3],[0,0,3,0,0,3],[2,2,3,2,0,0],[3,0,0,0,3,2],[2,3,0,3,0,2],[0,0,3,0,2,3],[0,0,0,0,0,3],[1,2,2,3,0,0]],min_steps:14},{id:"6019",map:[[4,0,0,0,2,3],[0,0,3,0,0,3],[2,2,3,2,0,0],[3,0,0,0,3,2],[2,3,0,3,0,2],[0,0,3,0,2,3],[0,0,0,0,0,3],[1,2,2,3,0,0]],min_steps:14}],[{id:"7001",map:[[0,2,0,0,2,0],[3,3,0,2,0,4],[0,0,0,0,0,3],[0,0,0,0,3,2],[0,0,0,0,0,2],[3,3,0,0,0,2],[0,3,3,2,2,0],[0,3,2,2,0,3],[1,2,0,0,2,0]],min_steps:9},{id:"7023",map:[[3,2,0,2,0,1],[0,3,3,2,3,3],[0,3,3,0,3,0],[0,2,2,2,0,3],[0,3,2,0,0,3],[0,0,0,0,2,0],[2,2,2,3,0,0],[2,0,3,0,3,0],[0,0,3,0,0,4]],min_steps:9},{id:"7003",map:[[1,3,2,0,0,0],[0,0,0,2,0,0],[0,3,0,2,0,0],[3,3,3,2,0,3],[2,3,3,0,3,0],[0,0,0,0,0,2],[3,0,2,2,3,2],[4,2,0,0,2,0],[0,0,2,0,0,2]],min_steps:10},{id:"7002",map:[[1,0,3,2,0,2],[0,3,0,0,0,2],[0,2,0,3,2,2],[0,3,0,0,0,0],[0,2,0,3,3,0],[3,2,2,0,0,3],[0,3,2,3,0,2],[0,0,0,0,0,0],[2,0,0,2,3,4]],min_steps:11},{id:"7005",map:[[0,0,0,0,0,0],[0,0,0,3,2,4],[0,3,0,0,3,3],[3,3,0,2,0,3],[0,2,2,0,3,2],[0,0,3,0,2,0],[0,2,0,2,0,0],[3,0,0,2,2,0],[0,0,2,2,0,1]],min_steps:11},{id:"7006",map:[[0,0,0,0,2,3],[3,2,0,0,0,0],[0,2,0,3,3,4],[0,0,0,2,2,3],[2,0,0,0,0,0],[0,0,0,0,3,0],[3,0,3,3,0,2],[3,0,2,2,0,2],[0,0,2,2,0,1]],min_steps:11},{id:"7007",map:[[2,0,2,0,2,0],[0,0,2,0,3,2],[0,0,0,3,3,0],[0,2,0,0,3,2],[3,0,0,2,0,0],[3,3,0,0,0,2],[0,2,0,3,2,0],[0,2,3,0,0,0],[4,3,0,0,1,0]],min_steps:11},{id:"7026",map:[[2,4,2,0,0,0],[0,3,3,0,3,0],[3,3,3,0,0,3],[2,0,3,0,0,2],[0,2,2,3,0,3],[1,0,2,0,2,0],[3,3,0,0,0,0],[2,0,0,0,3,2],[2,0,3,2,3,0]],min_steps:11},{id:"7027",map:[[2,0,0,0,0,2],[0,0,3,3,2,3],[0,0,3,0,0,1],[0,3,0,3,3,3],[0,0,0,0,0,2],[3,3,2,0,0,2],[3,3,0,2,0,3],[0,3,2,2,2,0],[0,3,4,2,2,0]],min_steps:11},{id:"7029",map:[[0,0,1,0,0,0],[3,3,0,0,3,2],[3,0,0,0,2,0],[0,2,0,2,2,0],[2,3,3,3,0,3],[3,2,2,3,0,0],[2,0,3,0,0,3],[3,2,0,0,0,3],[4,2,0,0,3,2]],min_steps:11},{id:"7008",map:[[1,0,0,0,2,0],[3,3,2,0,3,0],[3,0,3,0,0,0],[0,0,3,0,0,3],[2,2,0,3,0,3],[2,0,2,0,0,0],[2,0,2,0,0,2],[2,0,0,2,0,0],[4,3,0,0,0,2]],min_steps:12},{id:"7010",map:[[4,3,0,3,1,0],[0,0,3,3,0,0],[0,3,0,0,2,2],[2,0,3,0,0,2],[3,2,0,2,3,0],[0,0,0,0,0,0],[0,2,0,2,2,0],[0,2,0,3,0,2],[0,2,0,0,0,3]],min_steps:12},{id:"7016",map:[[2,3,4,0,0,3],[0,3,2,2,3,1],[0,2,2,3,0,0],[3,0,3,0,2,0],[3,0,0,0,2,2],[0,0,3,3,0,0],[0,3,0,3,2,0],[0,0,3,0,3,2],[0,2,2,3,0,0]],min_steps:12},{id:"7020",map:[[2,3,0,4,3,3],[3,3,0,0,3,0],[0,2,0,3,2,0],[0,3,0,0,0,2],[3,2,0,0,0,0],[0,0,3,2,0,3],[0,3,0,3,2,0],[3,2,2,0,0,2],[0,0,2,1,3,2]],min_steps:12},{id:"7024",map:[[1,3,2,0,0,3],[2,3,2,0,0,0],[0,2,3,0,3,3],[3,0,0,2,0,3],[2,3,0,0,0,3],[3,3,0,0,0,0],[2,0,3,0,0,2],[0,0,2,0,2,2],[4,2,3,0,3,0]],min_steps:12},{id:"7032",map:[[0,0,0,0,3,4],[0,0,3,3,3,2],[2,2,3,3,0,0],[0,0,3,2,0,0],[0,2,0,2,3,2],[0,2,3,0,0,3],[2,3,3,0,0,2],[1,0,3,0,3,2],[0,0,3,0,0,2]],min_steps:12},{id:"7033",map:[[1,0,0,3,0,3],[3,3,2,0,2,0],[0,3,3,2,0,2],[3,2,0,3,0,0],[4,2,2,2,0,0],[0,3,0,0,0,0],[3,3,3,0,0,2],[3,0,3,2,0,3],[2,0,0,0,0,2]],min_steps:12},{id:"7035",map:[[3,0,0,2,0,4],[3,0,2,3,3,3],[0,0,2,3,0,2],[3,0,3,3,3,0],[2,2,0,0,0,0],[2,2,3,0,0,0],[0,0,2,3,0,0],[0,2,0,3,2,3],[0,0,3,1,2,0]],min_steps:12},{id:"7036",map:[[2,3,1,0,0,2],[0,3,0,0,0,0],[2,0,2,0,0,3],[0,0,3,3,0,3],[0,2,2,0,0,3],[0,3,2,3,3,0],[0,3,2,0,0,2],[0,3,2,0,2,3],[2,0,3,3,4,0]],min_steps:12},{id:"7037",map:[[2,0,0,0,0,3],[0,2,3,0,2,2],[0,0,3,0,2,0],[0,2,2,0,0,0],[3,2,3,0,0,3],[0,0,3,3,0,3],[3,2,3,0,0,3],[0,0,3,3,2,0],[4,3,1,2,0,2]],min_steps:12},{id:"7039",map:[[2,0,3,3,2,0],[0,0,0,0,2,3],[1,3,0,0,0,2],[0,2,3,2,2,2],[0,0,3,0,0,0],[0,3,0,0,3,0],[3,0,0,2,3,2],[2,0,3,0,2,3],[0,4,3,0,3,3]],min_steps:12},{id:"7040",map:[[0,2,3,3,4,0],[0,2,0,0,3,2],[0,0,3,0,2,0],[3,0,2,0,0,3],[2,0,0,3,0,3],[3,3,0,2,2,0],[2,2,3,0,2,0],[1,3,0,0,2,3],[0,0,0,3,0,3]],min_steps:12},{id:"7041",map:[[3,3,0,2,3,1],[0,3,3,2,0,2],[0,2,0,0,0,0],[0,0,0,0,0,0],[3,3,3,2,3,0],[0,3,3,2,3,2],[4,0,3,0,2,0],[2,2,2,0,0,0],[0,3,2,0,3,0]],min_steps:12},{id:"7004",map:[[2,0,0,2,0,0],[0,3,0,0,0,1],[0,2,0,0,0,0],[0,0,0,0,2,0],[0,0,3,3,3,2],[0,0,0,3,2,3],[0,0,2,0,0,3],[0,2,3,2,2,4],[3,2,2,0,3,0]],min_steps:13},{id:"7009",map:[[4,0,3,1,0,2],[0,2,3,3,3,0],[0,2,3,2,2,0],[3,0,3,0,0,2],[0,0,0,0,0,0],[3,2,0,0,2,0],[3,2,0,0,2,0],[0,0,2,2,2,0],[0,0,0,0,3,0]],min_steps:13},{id:"7014",map:[[3,4,2,3,0,0],[2,3,0,3,0,0],[0,2,2,0,0,0],[0,3,3,0,3,3],[0,0,0,0,0,0],[3,2,0,0,2,2],[2,2,2,2,0,3],[0,0,3,3,0,3],[1,2,0,3,3,0]],min_steps:13},{id:"7015",map:[[2,3,4,0,3,0],[1,2,3,2,3,0],[0,0,3,0,2,0],[2,0,0,3,0,0],[2,2,0,2,0,3],[0,0,2,0,0,0],[3,0,0,3,3,0],[0,0,3,0,2,3],[3,0,3,2,3,2]],min_steps:13},{id:"7025",map:[[2,3,1,0,3,3],[0,0,2,3,2,0],[0,2,0,0,0,3],[0,3,0,0,0,3],[2,0,0,3,2,0],[0,0,2,3,0,2],[2,0,3,2,0,3],[3,3,0,0,3,3],[2,4,0,2,0,0]],min_steps:13},{id:"7030",map:[[2,0,1,2,0,0],[0,2,3,3,0,2],[2,3,3,3,0,2],[3,0,0,2,2,0],[0,3,0,3,2,0],[0,0,2,0,2,3],[3,3,0,3,3,2],[4,3,0,0,0,0],[0,0,0,0,0,3]],min_steps:13},{id:"7031",map:[[0,2,2,3,4,2],[3,3,0,0,2,2],[0,0,0,3,2,0],[0,3,0,0,3,3],[0,2,0,2,3,0],[2,3,0,0,0,0],[3,3,0,3,0,2],[0,0,2,3,3,3],[1,0,2,0,0,0]],min_steps:13},{id:"7038",map:[[4,2,3,3,2,3],[0,3,0,2,3,0],[0,0,0,2,0,2],[3,3,2,3,0,0],[0,3,0,3,2,3],[0,2,2,2,0,0],[1,3,0,0,3,0],[2,0,0,0,3,2],[0,0,3,0,0,0]],min_steps:13},{id:"7011",map:[[0,1,0,0,2,0],[3,0,3,3,2,3],[0,3,3,2,0,0],[0,0,2,0,3,3],[2,3,2,0,0,0],[3,2,2,3,3,0],[2,0,2,2,0,4],[0,2,0,3,0,0],[0,0,0,3,0,3]],min_steps:14},{id:"7017",map:[[2,0,0,3,0,3],[4,3,0,2,0,3],[3,0,0,0,3,0],[2,0,0,2,0,0],[3,0,0,3,0,0],[2,3,0,2,2,2],[1,3,3,0,2,2],[0,3,0,0,3,0],[0,2,0,3,3,2]],min_steps:14},{id:"7019",map:[[0,3,0,2,3,1],[0,3,0,2,0,2],[0,2,2,0,3,3],[0,0,3,2,0,3],[0,0,3,2,2,0],[2,2,3,0,2,2],[0,3,0,0,3,0],[3,0,0,3,3,0],[0,0,0,3,0,4]],min_steps:14},{id:"7021",map:[[0,0,0,0,2,4],[3,0,2,0,0,0],[3,0,2,3,3,3],[2,0,3,3,3,0],[2,0,0,0,2,3],[3,3,0,0,0,2],[1,0,3,0,2,2],[2,2,0,2,0,0],[0,0,3,3,0,3]],min_steps:14},{id:"7022",map:[[4,0,0,0,0,0],[0,0,0,0,3,2],[3,3,2,3,3,2],[2,0,0,0,0,2],[0,0,3,0,3,3],[2,0,2,3,2,1],[3,2,3,0,0,3],[2,0,0,3,2,2],[3,3,0,0,0,0]],min_steps:15},{id:"7028",map:[[0,2,1,3,0,2],[0,3,3,3,0,2],[0,0,0,3,0,2],[3,0,0,3,2,4],[2,0,0,3,2,2],[2,2,3,0,0,3],[0,2,0,0,0,0],[0,3,3,3,2,0],[0,3,0,3,0,0]],min_steps:16},{id:"7034",map:[[1,0,0,3,2,0],[0,2,2,3,3,0],[3,0,0,2,0,3],[2,3,2,2,0,3],[0,0,3,0,0,3],[3,0,0,0,3,0],[2,3,0,3,2,4],[0,3,0,0,0,3],[0,2,0,0,2,2]],min_steps:16},{id:"7012",map:[[1,3,3,3,0,0],[0,3,0,2,0,0],[0,0,0,3,0,2],[3,0,0,3,2,3],[0,0,2,0,0,3],[0,0,2,3,2,0],[2,2,3,2,3,2],[0,3,0,2,0,2],[0,3,4,3,0,0]],min_steps:17},{id:"7013",map:[[0,1,0,0,3,3],[0,2,0,3,0,0],[2,3,0,0,0,0],[0,0,0,3,0,3],[0,3,0,2,3,2],[2,0,3,3,2,0],[0,2,2,3,0,2],[2,3,2,0,3,0],[0,3,3,0,2,4]],min_steps:17},{id:"7018",map:[[0,0,0,0,0,2],[1,0,3,3,0,2],[3,3,0,3,2,3],[0,3,0,2,0,0],[0,3,0,0,2,2],[3,0,0,2,3,0],[0,3,3,3,0,0],[2,0,3,0,0,2],[2,4,2,0,3,2]],min_steps:17}]],this.LEVEL_INFO.unshift([{id:"0001",map:[[3,2,2,0,2],[0,0,3,3,0],[1,3,0,3,2],[3,0,2,3,4],[3,2,3,3,2]],min_steps:4}])},t.Authentication=function(){cc.fx.GameTool.Authentication()},t._instance=null,e=n([a("GameConfig")],t)}());i.GameConfig=s,cc._RF.pop()},{"../Share/share":"share"}],GameManager:[function(t,e,i){"use strict";cc._RF.push(e,"b0432BA295DjIOcuitdGKO1","GameManager");var n,o=this&&this.__extends||(n=function(t,e){return(n=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(t,e){t.__proto__=e}||function(t,e){for(var i in e)Object.prototype.hasOwnProperty.call(e,i)&&(t[i]=e[i])})(t,e)},function(t,e){function i(){this.constructor=t}n(t,e),t.prototype=null===e?Object.create(e):(i.prototype=e.prototype,new i)}),r=this&&this.__decorate||function(t,e,i,n){var o,r=arguments.length,a=r<3?e:null===n?n=Object.getOwnPropertyDescriptor(e,i):n;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)a=Reflect.decorate(t,e,i,n);else for(var s=t.length-1;s>=0;s--)(o=t[s])&&(a=(r<3?o(a):r>3?o(e,i,a):o(e,i))||a);return r>3&&a&&Object.defineProperty(e,i,a),a};Object.defineProperty(i,"__esModule",{value:!0});var a=t("./Block"),s=cc._decorator,c=s.ccclass,h=s.property,p=function(t){function e(){var e=null!==t&&t.apply(this,arguments)||this;return e.Map=null,e.Block=null,e.Time=null,e.Countdown=null,e.Guide=null,e}return o(e,t),e.prototype.onLoad=function(){},e.prototype.start=function(){cc.fx.GameConfig.CLICK_init(),this.fit(),this.init()},e.prototype.getMap=function(){var t=0,e=[];if(1==cc.fx.GameConfig.GM_INFO.level)t=Math.floor(Math.random()*cc.fx.GameConfig.LEVEL_INFO[cc.fx.GameConfig.GM_INFO.level].length);else{var i=cc.fx.GameConfig.LEVEL_INFO[cc.fx.GameConfig.GM_INFO.level];t=(e=-1==cc.fx.GameConfig.GM_INFO.min_Time?this.getMapArray(i,cc.fx.GameConfig.GM_INFO.min_Steps-1,!1):cc.fx.GameConfig.GM_INFO.min_Time>=5?this.getMapArray(i,cc.fx.GameConfig.GM_INFO.min_Steps+2,!0):this.getMapArray(i,cc.fx.GameConfig.GM_INFO.min_Steps+1,!0))[Math.floor(Math.random()*e.length)]}return cc.fx.GameConfig.GM_INFO.min_Steps=cc.fx.GameConfig.LEVEL_INFO[cc.fx.GameConfig.GM_INFO.level][t].min_steps,cc.fx.GameConfig.GM_INFO.min_Time=0,t},e.prototype.getMapArray=function(t,e,i){for(var n=[],o=0;o0&&(0==this.path_Array[t-1].z?(this.changeWater(cc.v3(this.path_Array[t-1].x,this.path_Array[t-1].y,0)),t==this.path_Array.length-1&&this.changeWater(cc.v3(this.path_Array[t].x,this.path_Array[t].y,0))):this.changeWater(cc.v3(this.path_Array[t].x,this.path_Array[t].y,0))),t<=this.path_Array.length-1){var i=this.path_Array[t].x*this.map_Array[0].length+this.path_Array[t].y,n="",o=!0;t==this.path_Array.length-1?(o=!1,n="End",this.path_Array.length>1?setTimeout(function(){if(!e.plan_over){e.plan_over=!0,e.unschedule(e.updateWaterTime);var t=e.node.getChildByName("Top").getChildByName("head"),i=e.node.getChildByName("Top").getChildByName("progress").getComponent(cc.Sprite);t.stopAllActions(),t.setPosition(310,t.y),e.waterTween&&e.waterTween.stop(),i.fillRange=1,cc.fx.GameConfig.GM_INFO.min_Time=e.waterTime,e.runWater(0)}},500):(n="err",console.log("\u8fdb\u5165\u7ed3\u675ferr"))):6==this.path_Array[t].z&&t+10&&t0&&(s=cc.v2(this.path_Array[t-1].x,this.path_Array[t-1].y));var c={order:t,time:cc.fx.GameConfig.TIME_INFO.waterSpeed[cc.fx.GameConfig.GM_INFO.level],type:this.path_Array[t].z,circulate:o,last:s};a.runRoad(c)}},e.prototype.getBoundary=function(t,e,i,n,o){var r=!0;if(e<0||e>=this.map_Width||i<0||i>=this.map_Hight)r=!1,cc.fx.Notifications.emit(cc.fx.Message.showResult,"lose"),cc.fx.Notifications.emit(cc.fx.Message.setData,!1);else{var a=o[t].x*this.map_Array[0].length+o[t].y,s=this.block_Array[a].getComponent("Block");3==s.block_Type?(r=!1,cc.fx.Notifications.emit(cc.fx.Message.showResult,"lose"),cc.fx.Notifications.emit(cc.fx.Message.setData,!1)):2==s.block_Type&&"Reinforce"!=n&&(r=!1,cc.fx.Notifications.emit(cc.fx.Message.showResult,"lose"),cc.fx.Notifications.emit(cc.fx.Message.setData,!1))}return r},e.prototype.runWater=function(t){if((t=parseInt(t))<=this.water_Array.length-1){var e=this.water_Array[t].x*this.map_Array[0].length+this.water_Array[t].y,i="",n=!0;t==this.water_Array.length-1?(n=!1,i="End"):6==this.water_Array[t].z&&t+10&&t0&&0==this.water_Array[t-1].z&&(a=cc.v2(this.water_Array[t-1].x,this.water_Array[t-1].y));var s={order:t,time:cc.fx.GameConfig.TIME_INFO.waterSpeed[cc.fx.GameConfig.GM_INFO.level],type:this.water_Array[t].z,circulate:n,last:a};r.runWater(s)}},e.prototype.getXi_Soil=function(t,e){var i=null;return t+1=o;r--)if(a=r*this.map_Array[0].length+e[t].y,3==(s=this.block_Array[a].getComponent("Block")).block_Type||4==s.block_Type){o=r+1,4==s.block_Type&&(o-=1),r=-1;break}}else if("up"==n){for(o=0,r=e[t].y;r>=o;r--)if(a=e[t].x*this.map_Array[0].length+r,3==(s=this.block_Array[a].getComponent("Block")).block_Type||4==s.block_Type){o=r+1,4==s.block_Type&&(o-=1),r=-1;break}}else if("down"==n)for(o=this.map_Hight-1,r=e[t].y;r<=o;r++){var s;if(a=e[t].x*this.map_Array[0].length+r,3==(s=this.block_Array[a].getComponent("Block")).block_Type||4==s.block_Type){o=r-1,4==s.block_Type&&(o+=1),r=1e4;break}}this.soil_Find(n,t,o,e,i)},e.prototype.soil_Find=function(t,e,i,n,o){var r=n[e].x;if("right"==t)for(var a=r;a<=i;a++){var s=a*this.map_Array[0].length+n[e].y,c=this.block_Array[s].getComponent("Block");if(a==r){a==r&&a==i?c.set_Xi_SoilType(this.getDirection(e,n),e,o):c.set_Xi_SoilType(this.getDirection(e,n),null,o);var h=cc.v3(this.path_Array[e].x,this.path_Array[e].y,0);this.water_Array[this.water_Array.length-1]!=h&&this.changeWater(h)}else{var p=null;if(a==i){var l=a-r-1;this.changePath(e,l,!1,n),p=e}c.set_Xi_SoilType(t,p,o)}}else if("left"==t)for(a=r;a>=i;a--)s=a*this.map_Array[0].length+n[e].y,c=this.block_Array[s].getComponent("Block"),a==r?(a==r&&a==i?c.set_Xi_SoilType(this.getDirection(e,n),e,o):c.set_Xi_SoilType(this.getDirection(e,n),null,o),h=cc.v3(this.path_Array[e].x,this.path_Array[e].y,0),this.water_Array[this.water_Array.length-1]!=h&&this.changeWater(h)):(p=null,a==i&&(l=a-r+1,this.changePath(e,l,!1,n),p=e),c.set_Xi_SoilType(t,p,o));else if("up"==t)for(a=r=n[e].y;a>=i;a--)s=n[e].x*this.map_Array[0].length+a,c=this.block_Array[s].getComponent("Block"),a==r?(a==r&&a==i?c.set_Xi_SoilType(this.getDirection(e,n),e,o):c.set_Xi_SoilType(this.getDirection(e,n),null,o),h=cc.v3(this.path_Array[e].x,this.path_Array[e].y,0),this.water_Array[this.water_Array.length-1]!=h&&this.changeWater(h)):(p=null,a==i&&(l=a-r+1,this.changePath(e,l,!0,n),p=e),c.set_Xi_SoilType(t,p,o));else if("down"==t)for(a=r=n[e].y;a<=i;a++)s=n[e].x*this.map_Array[0].length+a,c=this.block_Array[s].getComponent("Block"),a==r?(a==r&&a==i?c.set_Xi_SoilType(this.getDirection(e,n),e,o):c.set_Xi_SoilType(this.getDirection(e,n),null,o),h=cc.v3(this.path_Array[e].x,this.path_Array[e].y,0),this.water_Array[this.water_Array.length-1]!=h&&this.changeWater(h)):(p=null,a==i&&(l=a-r-1,this.changePath(e,l,!0,n),p=e),c.set_Xi_SoilType(t,p,o))},e.prototype.changeWater=function(t){var e=!0;this.water_Array.length>0&&this.water_Array[this.water_Array.length-1].x==t.x&&this.water_Array[this.water_Array.length-1].y==t.y&&(e=!1),e&&this.water_Array.push(t)},e.prototype.changePath=function(t,e,i,n){for(var o=t+1;o0;r--)this.changeWater(cc.v3(this.path_Array[t+1].x,this.path_Array[t+1].y+r,0));else for(r=e;r>0;r--)this.changeWater(cc.v3(this.path_Array[t+1].x,this.path_Array[t+1].y-r,0));else if(e<0)for(var a=-e;a>0;a--)this.changeWater(cc.v3(this.path_Array[t+1].x+a,this.path_Array[t+1].y,0));else for(a=e;a>0;a--)this.changeWater(cc.v3(this.path_Array[t+1].x-a,this.path_Array[t+1].y,0))},e.prototype.getDirection=function(t,e){var i="";if(0==t){var n=e[t+1].x-e[t].x,o=e[t].y-e[t+1].y;e[t].y==this.map_Array[0].length-1?0==n?1==o?i="up":-1==o&&(i="err"):1==n?i="up_right":-1==n&&(i="up_left"):0==e[t].y?0==n?1==o?i="err":-1==o&&(i="down"):1==n?i="down_right":-1==n&&(i="down_left"):0==e[t].x?0==n?1==o?i="right_up":-1==o&&(i="right_down"):1==n?i="right":-1==n&&(i="err"):e[t].x==this.map_Array.length-1&&(0==n?1==o?i="left_up":-1==o&&(i="left_down"):1==n?i="err":-1==n&&(i="left"))}else if(t>0){var r=1;t+21?(a=e[t].x-e[t-2].x,s=e[t-2].y-e[t].y):t+1=1?0==n?1==o?i="up":-1==o&&(i="err"):1==n?i="up_right":-1==n&&(i="up_left"):0==a&&s<=-1?0==n?1==o?i="err":-1==o&&(i="down"):1==n?i="down_right":-1==n&&(i="down_left"):a>=1&&0==s?0==n?1==o?i="right_up":-1==o&&(i="right_down"):1==n?i="right":-1==n&&(i="err"):a<=-1&&0==s&&(0==n?1==o?i="left_up":-1==o&&(i="left_down"):1==n?i="err":-1==n&&(i="left"))}return i},e.prototype.fit=function(){var t=this.setFit();this.Map.scale=t?1:1.2},e.prototype.getSetScreenResolutionFlag=function(){var t=cc.winSize,e=t.width;return!(t.height/e>16.2/9)},e.prototype.setFit=function(){return this.getSetScreenResolutionFlag()},e.prototype.backScene=function(){cc.director.loadScene("LoadScene")},e.prototype.startGame=function(t){for(var e=0;e0)for(var i=0;i0&&(this.waterTime-=1,this.Countdown.string=cc.fx.GameTool.getTimeMargin(this.waterTime),this.waterTime<=0&&(this.unschedule(this.updateWaterTime),this.plan_over||(this.waterTime=0,this.plan_over=!0,setTimeout(function(){0==t.water_Array.length?(cc.fx.Notifications.emit(cc.fx.Message.showResult,"lose"),cc.fx.Notifications.emit(cc.fx.Message.setData,!1)):(cc.fx.GameConfig.GM_INFO.min_Time=t.waterTime,t.runWater(0))},500))))},e.prototype.updateCountDownTime=function(){if(this.countTime>0){if(this.countTime-=1,cc.fx.GameConfig.TIME_INFO.totalTime=this.countTime,this.Time.string=cc.fx.GameTool.getTimeMargin(this.countTime),this.countTime<5){var t=this.node.getChildByName("Over");cc.tween(t).to(.2,{opacity:255}).delay(.1).to(.2,{opacity:0}).start()}this.countTime<=0&&(this.countTime=0,this.setData(!1),this.unschedule(this.updateCountDownTime),this.gameOver())}},e.prototype.setData=function(t){cc.fx.GameConfig.CLICK_SET("mapId",cc.fx.GameConfig.LEVEL_INFO[cc.fx.GameConfig.GM_INFO.level][this.custom].id),cc.fx.GameConfig.CLICK_SET("difficulty",cc.fx.GameConfig.GM_INFO.level),cc.fx.GameConfig.CLICK_SET("optimizedSteps",cc.fx.GameConfig.LEVEL_INFO[cc.fx.GameConfig.GM_INFO.level][this.custom].min_steps),cc.fx.GameConfig.CLICK_SET("round",cc.fx.GameConfig.GM_INFO.round),cc.fx.GameConfig.CLICK_SET("timer",cc.fx.GameConfig.TIME_INFO.totalTime),cc.fx.GameConfig.CLICK_SET("cumulativeScore",cc.fx.GameConfig.GM_INFO.score),null!=t&&(cc.fx.GameConfig.CLICK_SET("success",t),cc.fx.GameConfig.GM_INFO.fen=this.getScore(),t||(cc.fx.GameConfig.GM_INFO.fen=0),cc.fx.GameConfig.CLICK_SET("getScore",cc.fx.GameConfig.GM_INFO.fen),cc.fx.GameConfig.GM_INFO.score+=cc.fx.GameConfig.GM_INFO.fen,cc.fx.GameConfig.CLICK_SET("cumulativeScore",cc.fx.GameConfig.GM_INFO.score),0!=this.countTime&&cc.fx.GameConfig.GM_INFO.successList.push(t)),cc.fx.GameTool.setGameData()},e.prototype.getScore=function(){var t=cc.fx.GameConfig.LEVEL_INFO[cc.fx.GameConfig.GM_INFO.level][this.custom].min_steps,e=this.path_Array.length-1;e<=0&&(e=0);var i=(2.5*t-e)/t,n=Math.pow(Math.pow(t,i),.5);return n=n*(this.scoreTime+10)*100,Math.floor(n)},e.prototype.gameOver=function(){var t=0,e=cc.fx.GameConfig.GM_INFO.successList;if(e.length>0){for(var i=0,n=0;n3)){var i=this.path_Array[0];if(0!=this.tip_Array.length){if(null==this.tip_Array[this.tip_Array.length-1])return void this.tip_Array.push(null);if(!(i=this.tip_Array[this.tip_Array.length-1][this.tip_Array[this.tip_Array.length-1].length-1]))return;var n=i.x*this.map_Array[0].length+i.y;if(1==this.block_Array[n].getChildByName("tipLose").active)return void this.tip_Array.push(null)}"up"==t?(n=cc.v2(i.x,i.y-1),this.tipCan(n,t)):"down"==t?(n=cc.v2(i.x,i.y+1),this.tipCan(n,t)):"left"==t?(n=cc.v2(i.x-1,i.y),this.tipCan(n,t)):"right"==t?(n=cc.v2(i.x+1,i.y),this.tipCan(n,t)):"reinforce"==t?(n=cc.v3(i.x,i.y,2),this.tip_Array.push([n])):"soil"==t&&(n=cc.v3(i.x,i.y,3),this.tip_Array.push([n]))}},e.prototype.tipCan=function(t,e){if(t.x<0||t.x>this.map_Array.length-1||t.y<0||t.y>this.map_Array[0].length-1)this.tip_Array.push(null);else{var i=t.x*this.map_Array[0].length+t.y,n=this.block_Array[i].getComponent("Block");if(n.node.getChildByName("tipWin").active=!0,1==n.repeatRoad(!1,null)||3==n.block_Type?(n.node.getChildByName("tipLose").active=!0,n.node.getChildByName("tipWin").active=!1):2==n.block_Type&&this.tip_Array.length>1&&0==this.tip_Array[this.tip_Array.length-1][0].z&&(n.node.getChildByName("tipLose").active=!0,n.node.getChildByName("tipWin").active=!1),this.tip_Array.length>0)if(3==this.tip_Array[this.tip_Array.length-1][0].z){if("up"==e){for(var o=[],r=t.y;r>=0;r--)3==(a=this.block_Array[t.x*this.map_Array[0].length+r].getComponent("Block")).block_Type?r=-1e4:(a.node.getChildByName("tipWin").active=!0,o.push(cc.v3(t.x,r,0)),4==a.block_Type&&(r=-1e4));this.tip_Array.push(o)}else if("down"==e){for(o=[],r=t.y;r=0;r--){var a;3==(a=this.block_Array[r*this.map_Array[0].length+t.y].getComponent("Block")).block_Type?r=-1e4:(a.node.getChildByName("tipWin").active=!0,o.push(cc.v3(r,t.y,0)),4==a.block_Type&&(r=-1e4))}this.tip_Array.push(o)}}else{var s=cc.v3(t.x,t.y,0);"reinforce"==e&&(t.z=2),"soil"==e&&(t.z=3),this.tip_Array.push([s])}else{var c=cc.v3(t.x,t.y,0);"reinforce"==e&&(t.z=2),"soil"==e&&(t.z=3),this.tip_Array.push([c])}}},e.prototype.removeTip=function(t){if(!(cc.fx.GameConfig.GM_INFO.level>3)&&this.tip_Array.length>0)if("back"==t)if(null==(o=this.tip_Array[this.tip_Array.length-1]))this.tip_Array.pop();else{this.tip_Array.pop();for(var e=0;e0&&(this.Guide.children[this.step-1].active=!1),this.step+=1;var e=this.getGuideName(),i=this.Guide.getChildByName(e);i.active=!0;var n=cc.winSize;if(n.height>1334){var o=(n.height-1334)/2;i.getChildByName("sp").height+=o}},e.prototype.onEnable=function(){cc.fx.Notifications.on(cc.fx.Message.control,this.clickSun,this),cc.fx.Notifications.on(cc.fx.Message.next,this.runRoad,this),cc.fx.Notifications.on(cc.fx.Message.nextWater,this.runWater,this),cc.fx.Notifications.on(cc.fx.Message.startGame,this.startGame,this),cc.fx.Notifications.on(cc.fx.Message.changePath,this.changePath,this),cc.fx.Notifications.on(cc.fx.Message.setData,this.setData,this),cc.fx.Notifications.on(cc.fx.Message.guideNext,this.guideNext,this),cc.fx.Notifications.on(cc.fx.Message.showResult,this.showResult,this),cc.fx.Notifications.on(cc.fx.Message.removeTip,this.removeTip,this)},e.prototype.onDisable=function(){cc.fx.Notifications.off(cc.fx.Message.control,this.clickSun),cc.fx.Notifications.off(cc.fx.Message.next,this.runRoad),cc.fx.Notifications.off(cc.fx.Message.nextWater,this.runWater),cc.fx.Notifications.off(cc.fx.Message.startGame,this.startGame),cc.fx.Notifications.off(cc.fx.Message.changePath,this.changePath),cc.fx.Notifications.off(cc.fx.Message.setData,this.setData),cc.fx.Notifications.off(cc.fx.Message.guideNext,this.guideNext),cc.fx.Notifications.off(cc.fx.Message.showResult,this.showResult),cc.fx.Notifications.off(cc.fx.Message.removeTip,this.removeTip)},e.prototype.update=function(){},r([h(cc.Node)],e.prototype,"Map",void 0),r([h(cc.Prefab)],e.prototype,"Block",void 0),r([h(cc.Label)],e.prototype,"Time",void 0),r([h(cc.Label)],e.prototype,"Countdown",void 0),r([h(cc.Node)],e.prototype,"Guide",void 0),r([c],e)}(cc.Component);i.default=p,cc._RF.pop()},{"./Block":"Block"}],GameOver:[function(t,e,i){"use strict";cc._RF.push(e,"805c6nf399HWZeuWnNB9CTH","GameOver");var n,o=this&&this.__extends||(n=function(t,e){return(n=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(t,e){t.__proto__=e}||function(t,e){for(var i in e)Object.prototype.hasOwnProperty.call(e,i)&&(t[i]=e[i])})(t,e)},function(t,e){function i(){this.constructor=t}n(t,e),t.prototype=null===e?Object.create(e):(i.prototype=e.prototype,new i)}),r=this&&this.__decorate||function(t,e,i,n){var o,r=arguments.length,a=r<3?e:null===n?n=Object.getOwnPropertyDescriptor(e,i):n;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)a=Reflect.decorate(t,e,i,n);else for(var s=t.length-1;s>=0;s--)(o=t[s])&&(a=(r<3?o(a):r>3?o(e,i,a):o(e,i))||a);return r>3&&a&&Object.defineProperty(e,i,a),a};Object.defineProperty(i,"__esModule",{value:!0});var a=cc._decorator,s=a.ccclass,c=a.property,h=function(t){function e(){var e=null!==t&&t.apply(this,arguments)||this;return e.count=null,e.time=null,e.selfNode=null,e.one=null,e.two=null,e.three=null,e.four=null,e.five=null,e}return o(e,t),e.prototype.start=function(){this.count.string=cc.fx.GameConfig.GM_INFO.score+"";var t=0,e=cc.fx.GameConfig.GM_INFO.successList;if(e.length>0){for(var i=0,n=0;n4&&(e=4);for(var i=0;i<=e;i++)this.setRank(i,this.listData[i])}},e.prototype.setRank=function(t,e){var i=null;0==t?i=this.one:1==t?i=this.two:2==t?i=this.three:3==t?i=this.four:4==t&&(i=this.five),i&&(i.active=!0,e.nickName.length>=4&&cc.fx.GameTool.subName(e.nickName,4),i.getChildByName("name").getComponent(cc.Label).string=e.nickName,i.getChildByName("total").getComponent(cc.Label).string=e.score,cc.fx.GameTool.setPic(i.getChildByName("pic").getChildByName("icon"),e.pic))},r([c(cc.Label)],e.prototype,"count",void 0),r([c(cc.Label)],e.prototype,"time",void 0),r([c(cc.Node)],e.prototype,"selfNode",void 0),r([c(cc.Node)],e.prototype,"one",void 0),r([c(cc.Node)],e.prototype,"two",void 0),r([c(cc.Node)],e.prototype,"three",void 0),r([c(cc.Node)],e.prototype,"four",void 0),r([c(cc.Node)],e.prototype,"five",void 0),r([s],e)}(cc.Component);i.default=h,cc._RF.pop()},{}],GameScene:[function(t,e){"use strict";cc._RF.push(e,"e8b235WjRBErajwLmN8xFUz","GameScene"),cc._RF.pop()},{}],GameTool:[function(t,e,i){"use strict";cc._RF.push(e,"43bfcJ6/25Fs4fHUE0PeBOX","GameTool"),Object.defineProperty(i,"__esModule",{value:!0}),i.GameTool=void 0;var n={_startTime:0,_endTime:0,_totalTime:0,Authentication:function(){var t="user_"+cc.fx.GameConfig.GM_INFO.gameId,e=JSON.parse(localStorage.getItem(t));if("undifend"==e||null==e||""==e){var i="https://api.sparkus.cn/api/user/auth/login?domain=hui32579WdYPsgYq&callback="+location.href;window.location.href=i}else cc.fx.StorageMessage.setStorage(t,e),cc.fx.GameConfig.GM_INFO.userId=parseInt(e.userId)},setGameData:function(){cc.fx.GameConfig.GAME_DATA=[],cc.fx.GameConfig.GAME_DATA.push(cc.fx.GameConfig.CLICK_DATA),cc.fx.GameConfig.CLICK_init();var t=cc.fx.GameConfig.GAME_DATA,e=this.getMatchId(),i={gameId:cc.fx.GameConfig.GM_INFO.gameId,userId:cc.fx.GameConfig.GM_INFO.userId,matchId:e,data:t};console.log("\u4e0a\u4f20\u6570\u636e:",t),cc.fx.HttpUtil.uploadUserLogData(i,function(){})},setRank:function(t){var e={gameId:cc.fx.GameConfig.GM_INFO.gameId,userId:cc.fx.GameConfig.GM_INFO.userId,type:1,score:t.score,accuracy:t.date,success:cc.fx.GameConfig.GM_INFO.success};cc.fx.HttpUtil.rankData(1,function(){},e)},getRank:function(t,e){var i=t.length,n={gameId:cc.fx.GameConfig.GM_INFO.gameId,userId:cc.fx.GameConfig.GM_INFO.userId,page:1,pageSize:i};cc.fx.HttpUtil.rankData(2,function(t){e(t)},n)},getMatchId:function(){var t=cc.sys.localStorage.getItem("matchId"),e=t;if("undifend"==t||null==t)t=this.setMatchId();else if(1==this.containsNanana(t))t=this.setMatchId();else{var i=parseInt(e.substring(10,e.length));1==cc.fx.GameConfig.GM_INFO.level&&(i+=1,t=e.slice(0,10)+i+"",this.containsNanana(t)&&(t=this.setMatchId()),cc.fx.GameConfig.GM_INFO.matchId=t,cc.sys.localStorage.setItem("matchId",t))}return 1==this.containsNanana(t)&&(t=this.setMatchId()),t},containsNanana:function(t){return/na/i.test(t)},setMatchId:function(){for(var t="abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789",e=[],i=0;i<10;i++){var n=Math.floor(Math.random()*t.length),o=t.charAt(n);e.push(o)}var r=e.join("")+1+"";return cc.sys.localStorage.setItem("matchNumber",1),cc.sys.localStorage.setItem("matchId",r),cc.fx.GameConfig.GM_INFO.matchId=r,r},subName:function(t,e){return t.length>e&&(t=t.substring(0,e)+"..."),t},setPic:function(t,e){t.active=!1;var i=e;setTimeout(function(){fetch(i).then(function(t){return t.headers.get("Content-Length")}).then(function(e){"5093"==e&&(t.active=!0)}).catch(function(){})},100),cc.assetManager.loadRemote(i,{ext:".png"},function(e,i){i?(t.active=!0,t.getComponent(cc.Sprite).spriteFrame=new cc.SpriteFrame(i)):console.log(e,i)})},getRankData:function(t,e,i){e.listData=t.data.list,e.selfData=t.data.info;var n=[],o=!1;cc.fx.GameTool.setPic(e.selfNode.getChildByName("pic").getChildByName("icon"),e.selfData.pic);for(var r=0;r<=e.listData.length-1;r++)n.push({rank:r+1,name:e.listData[r].nickName,total:e.listData[r].score,time:null,pic:e.listData[r].pic}),cc.fx.GameConfig.GM_INFO.userId==e.listData[r].userId&&(o=!0,e.rankNumber=r,e.selfNode.getChildByName("rankLab").getComponent(cc.Label).string=r+1+""),r==e.listData.length-1&&0==o&&(e.rankNumber=r,e.selfNode.getChildByName("rankLab").getComponent(cc.Label).string="99+");switch(cc.fx.GameTool.subName(e.selfData.nickName,i),e.selfNode.getChildByName("nameLab").getComponent(cc.Label).string=e.selfData.nickName,e.selfNode.getChildByName("totalLab").getComponent(cc.Label).string=e.selfData.score,cc.fx.GameTool.getTimeShenNong(e.selfData.totleTimes),e.selfNode.getChildByName("rankLab").getComponent(cc.Label).string){case"1":e.selfNode.getChildByName("rank").getChildByName("one").active=!0;break;case"2":e.selfNode.getChildByName("rank").getChildByName("two").active=!0;break;case"3":e.selfNode.getChildByName("rank").getChildByName("three").active=!0}6==i&&(e.rankList.setData(n),e.selfNode.opacity=255,0==e.selfData.totalSunCount&&(e.selfNode.opacity=0))},getSeedRandom:function(t,e){console.log("\u968f\u673a\u6570:",cc.fx.GameConfig.GM_INFO.currSeed),e=e||1,t=t||0,cc.fx.GameConfig.GM_INFO.currSeed=(9301*cc.fx.GameConfig.GM_INFO.currSeed+49297)%233280;var i=cc.fx.GameConfig.GM_INFO.currSeed/233280;return parseInt(t+i*(e-t))},getCustom:function(t){var e=cc.fx.StorageMessage.getStorage(cc.fx.storageType.storageTypeCustom);"undifend"==e||null==e||""==e?this.setCustom():(cc.fx.GameConfig.GM_INFO_SET("custom",e[0]),0==e[0]&&1!=t||(e.shift(),0==e.length?this.setCustom():cc.fx.StorageMessage.setStorage(cc.fx.storageType.storageTypeCustom,e)))},setCustom:function(){for(var t=cc.fx.GameConfig.LEVEL_INFO.length,e=[],i=1;i16.2/9)},setFit:function(){return cc.fx.GameTool.getSetScreenResolutionFlag()},getGameInfo:function(){return!1},setGameInfo:function(){},typingAni:function(t,e,i,n){var o=n,r="",a=e.split(""),s=a.length,c=0;o.func=function(){r+=a[c],t.string=r,++c==s&&(o.unschedule(o.func),i&&i())},o.schedule(o.func,.1,cc.macro.REPEAT_FOREVER,0)},getTimeMargin:function(t){var e,i;e=t,i=parseInt(e/3600+"");var n=parseInt((e-3600*i)/60+""),o=""+n;n<10&&(o="0"+n);var r=e-3600*i-60*n,a=r+"";return r<10&&(a="0"+r),o+":"+a},getTimeShenNong:function(t){var e,i=0;return(e=t=parseInt(t/1e3+""))>60&&(i=parseInt(e/60+"")),i+"'"+(e-60*i)+"''"},getTime:function(){return(new Date).getTime()},pushLister:function(){},removeAllLister:function(){}};i.GameTool=n,cc._RF.pop()},{}],HttpUtil:[function(t,e,i){"use strict";cc._RF.push(e,"771a32aQBNGVKd3+66gyTKA","HttpUtil");var n,o=this&&this.__extends||(n=function(t,e){return(n=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(t,e){t.__proto__=e}||function(t,e){for(var i in e)Object.prototype.hasOwnProperty.call(e,i)&&(t[i]=e[i])})(t,e)},function(t,e){function i(){this.constructor=t}n(t,e),t.prototype=null===e?Object.create(e):(i.prototype=e.prototype,new i)}),r=this&&this.__decorate||function(t,e,i,n){var o,r=arguments.length,a=r<3?e:null===n?n=Object.getOwnPropertyDescriptor(e,i):n;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)a=Reflect.decorate(t,e,i,n);else for(var s=t.length-1;s>=0;s--)(o=t[s])&&(a=(r<3?o(a):r>3?o(e,i,a):o(e,i))||a);return r>3&&a&&Object.defineProperty(e,i,a),a},a=this&&this.__awaiter||function(t,e,i,n){return new(i||(i=Promise))(function(o,r){function a(t){try{c(n.next(t))}catch(e){r(e)}}function s(t){try{c(n.throw(t))}catch(e){r(e)}}function c(t){var e;t.done?o(t.value):(e=t.value,e instanceof i?e:new i(function(t){t(e)})).then(a,s)}c((n=n.apply(t,e||[])).next())})},s=this&&this.__generator||function(t,e){var i,n,o,r,a={label:0,sent:function(){if(1&o[0])throw o[1];return o[1]},trys:[],ops:[]};return r={next:s(0),throw:s(1),return:s(2)},"function"==typeof Symbol&&(r[Symbol.iterator]=function(){return this}),r;function s(t){return function(e){return c([t,e])}}function c(r){if(i)throw new TypeError("Generator is already executing.");for(;a;)try{if(i=1,n&&(o=2&r[0]?n.return:r[0]?n.throw||((o=n.return)&&o.call(n),0):n.next)&&!(o=o.call(n,r[1])).done)return o;switch(n=0,o&&(r=[2&r[0],o.value]),r[0]){case 0:case 1:o=r;break;case 4:return a.label++,{value:r[1],done:!1};case 5:a.label++,n=r[1],r=[0];continue;case 7:r=a.ops.pop(),a.trys.pop();continue;default:if(!(o=(o=a.trys).length>0&&o[o.length-1])&&(6===r[0]||2===r[0])){a=0;continue}if(3===r[0]&&(!o||r[1]>o[0]&&r[1]=0;s--)(o=t[s])&&(a=(r<3?o(a):r>3?o(e,i,a):o(e,i))||a);return r>3&&a&&Object.defineProperty(e,i,a),a};Object.defineProperty(i,"__esModule",{value:!0});var a=cc._decorator,s=a.ccclass,c=(a.property,function(t){function e(){var e=null!==t&&t.apply(this,arguments)||this;return e.data=null,e.itemIndex=0,e}return o(e,t),e.prototype.dataChanged=function(){cc.fx.GameTool.subName(this.data.name,6),this.node.getChildByName("rankLab").getComponent(cc.Label).string=this.data.rank+"",this.node.getChildByName("nameLab").getComponent(cc.Label).string=this.data.name+"",this.node.getChildByName("totalLab").getComponent(cc.Label).string=this.data.total,cc.fx.GameTool.getTimeShenNong(this.data.time),this.node.getChildByName("rank").getChildByName("one").active=!1,this.node.getChildByName("rank").getChildByName("two").active=!1,this.node.getChildByName("rank").getChildByName("three").active=!1,1==this.data.rank?(this.node.getChildByName("rank").getChildByName("one").active=!0,this.node.getChildByName("rankLab").active=!1):2==this.data.rank?(this.node.getChildByName("rank").getChildByName("two").active=!0,this.node.getChildByName("rankLab").active=!1):3==this.data.rank?(this.node.getChildByName("rank").getChildByName("three").active=!0,this.node.getChildByName("rankLab").active=!1):this.node.getChildByName("rankLab").active=!0,this.setPic()},e.prototype.setPic=function(){var t=this;this.node.getChildByName("pic").getChildByName("icon").active=!1,this.node.getChildByName("pic").getChildByName("pic").active=!1;var e=this.data.pic;fetch(e).then(function(t){return t.headers.get("Content-Length")}).then(function(e){"5093"==e&&(t.node.getChildByName("pic").getChildByName("icon").active=!0)}).catch(function(){}),cc.assetManager.loadRemote(e,{ext:".png"},function(e,i){i?(t.node.getChildByName("pic").getChildByName("pic").active=!0,t.node.getChildByName("pic").getChildByName("pic").getComponent(cc.Sprite).spriteFrame=new cc.SpriteFrame(i)):console.log(e,i)})},r([s],e)}(cc.Component));i.default=c,cc._RF.pop()},{}],List:[function(t,e,i){"use strict";cc._RF.push(e,"d5421HgLShFKIjj5f18m1mi","List");var n,o=this&&this.__extends||(n=function(t,e){return(n=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(t,e){t.__proto__=e}||function(t,e){for(var i in e)Object.prototype.hasOwnProperty.call(e,i)&&(t[i]=e[i])})(t,e)},function(t,e){function i(){this.constructor=t}n(t,e),t.prototype=null===e?Object.create(e):(i.prototype=e.prototype,new i)}),r=this&&this.__decorate||function(t,e,i,n){var o,r=arguments.length,a=r<3?e:null===n?n=Object.getOwnPropertyDescriptor(e,i):n;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)a=Reflect.decorate(t,e,i,n);else for(var s=t.length-1;s>=0;s--)(o=t[s])&&(a=(r<3?o(a):r>3?o(e,i,a):o(e,i))||a);return r>3&&a&&Object.defineProperty(e,i,a),a};Object.defineProperty(i,"__esModule",{value:!0}),i.StartAxisType=i.ListType=void 0;var a,s,c=t("./ItemRender"),h=cc._decorator,p=h.ccclass,l=h.property;(function(t){t[t.Horizontal=1]="Horizontal",t[t.Vertical=2]="Vertical",t[t.Grid=3]="Grid"})(a=i.ListType||(i.ListType={})),function(t){t[t.Horizontal=1]="Horizontal",t[t.Vertical=2]="Vertical"}(s=i.StartAxisType||(i.StartAxisType={}));var f=function(t){function e(){var e=null!==t&&t.apply(this,arguments)||this;return e.itemRender=null,e.type=a.Vertical,e.startAxis=s.Horizontal,e.spaceX=0,e.spaceY=0,e.padding_top=0,e.padding_buttom=0,e.padding_left=0,e._padding=0,e.padding_right=0,e.scrollView=null,e.content=null,e.itemDataList=[],e.spawnCount=0,e.itemList=[],e.itemHeight=0,e.itemWidth=0,e.itemPool=[],e.halfScrollView=0,e.lastContentPosX=0,e.lastContentPosY=0,e.gridRow=0,e.gridCol=0,e.updateTimer=0,e.updateInterval=.1,e.bScrolling=!1,e.updateFun=function(){},e}return o(e,t),e.prototype.onLoad=function(){this.itemHeight=this.itemRender.height,this.itemWidth=this.itemRender.width,this.scrollView=this.node.getComponent(cc.ScrollView),this.content=this.scrollView.content,this.content.anchorX=0,this.content.anchorY=1,this.content.removeAllChildren(),this.scrollView.node.on("scrolling",this.onScrolling,this)},e.prototype.setData=function(t){this.itemDataList=t.slice(),this.updateContent()},e.prototype.countListParam=function(){var t=this.itemDataList.length;this.type==a.Vertical?(this.scrollView.horizontal=!1,this.scrollView.vertical=!0,this.content.width=this.content.parent.width,this.content.height=t*this.itemHeight+(t-1)*this.spaceY+this.padding_top+this.padding_buttom,this.spawnCount=Math.round(this.scrollView.node.height/(this.itemHeight+this.spaceY))+2,this.halfScrollView=this.scrollView.node.height/2+this.itemHeight/2+this.spaceY,this.updateFun=this.updateV):this.type==a.Horizontal?(this.scrollView.horizontal=!0,this.scrollView.vertical=!1,this.content.width=t*this.itemWidth+(t-1)*this.spaceX+this.padding_left+this.padding_right,this.content.height=this.content.parent.height,this.spawnCount=Math.round(this.scrollView.node.width/(this.itemWidth+this.spaceX))+2,this.halfScrollView=this.scrollView.node.width/2+this.itemWidth/2+this.spaceX,this.updateFun=this.udpateH):this.type==a.Grid&&(this.startAxis==s.Vertical?(this.scrollView.horizontal=!1,this.scrollView.vertical=!0,this.content.width=this.content.parent.width,this.padding_left+this.padding_right+this.itemWidth+this.spaceX>this.content.width&&(this.padding_left=0,this.padding_right=0,console.error("padding_left\u6216padding_right\u8fc7\u5927")),this.gridCol=Math.floor((this.content.width-this.padding_left-this.padding_right)/(this.itemWidth+this.spaceX)),this.gridRow=Math.ceil(t/this.gridCol),this.content.height=this.gridRow*this.itemHeight+(this.gridRow-1)*this.spaceY+this.padding_top+this.padding_buttom,this.spawnCount=Math.round(this.scrollView.node.height/(this.itemHeight+this.spaceY))*this.gridCol+2*this.gridCol,this.halfScrollView=this.scrollView.node.height/2+this.itemHeight/2+this.spaceY,this.updateFun=this.updateGrid_V):this.startAxis==s.Horizontal&&(this.scrollView.horizontal=!0,this.scrollView.vertical=!1,this.content.height=this.content.parent.height,this.padding_top+this.padding_buttom+this.itemHeight+this.spaceY>this.content.height&&(this.padding_top=0,this.padding_buttom=0,console.error("padding_top\u6216padding_buttom\u8fc7\u5927")),this.gridRow=Math.floor((this.content.height-this.padding_top-this.padding_buttom)/(this.itemHeight+this.spaceY)),this.gridCol=Math.ceil(t/this.gridRow),this.content.width=this.gridCol*this.itemWidth+(this.gridCol-1)*this.spaceX+this.padding_left+this.padding_right,this.spawnCount=Math.round(this.scrollView.node.width/(this.itemWidth+this.spaceX))*this.gridRow+2*this.gridRow,this.halfScrollView=this.scrollView.node.width/2+this.itemWidth/2+this.spaceX,this.updateFun=this.updateGrid_H))},e.prototype.createList=function(t,e){this.itemDataList.length>this.spawnCount&&t+this.spawnCount-1>=this.itemDataList.length?(t=this.itemDataList.length-this.spawnCount,e=this.scrollView.getMaxScrollOffset()):this.itemDataList.length<=this.spawnCount&&(t=0);for(var i=0;ithis.itemDataList.length-t&&((n=this.itemList.pop()).removeFromParent(),this.itemPool.push(n))}this.scrollView.scrollToOffset(e)},e.prototype.getItem=function(){return 0==this.itemPool.length?cc.instantiate(this.itemRender):this.itemPool.pop()},e.prototype.update=function(t){0!=this.bScrolling&&(this.updateTimer+=t,this.updateTimerthis.lastContentPosY,o=(this.itemHeight+this.spaceY)*e.length,r=0;ri&&t.y-o-this.padding_buttom>-this.content.height){var s=(h=t.getComponent(c.default)).itemIndex+e.length;h.itemIndex=s,h.data=this.itemDataList[s],h.dataChanged(),t.y=t.y-o}}else if(a.y<-i&&t.y+o+this.padding_top<0){var h;s=(h=t.getComponent(c.default)).itemIndex-e.length,h.itemIndex=s,h.data=this.itemDataList[s],h.dataChanged(),t.y=t.y+o}}this.lastContentPosY=this.scrollView.content.y},e.prototype.udpateH=function(){for(var t,e=this.itemList,i=this.halfScrollView,n=this.scrollView.content.x>this.lastContentPosX,o=(this.itemWidth+this.spaceX)*e.length,r=0;ri&&t.x-o-this.padding_left>0){var s=(h=t.getComponent(c.default)).itemIndex-e.length;h.itemIndex=s,h.data=this.itemDataList[s],h.dataChanged(),t.x=t.x-o}}else if(a.x<-i&&t.x+o+this.padding_rightthis.lastContentPosY,o=(this.itemHeight+this.spaceY)*(this.spawnCount/this.gridCol),r=0;ri&&t.y-o-this.padding_buttom>-this.content.height){var s=(h=t.getComponent(c.default)).itemIndex+this.spawnCount/this.gridCol*this.gridCol;null!=this.itemDataList[s]?(t.y=t.y-o,h.itemIndex=s,h.data=this.itemDataList[s],h.dataChanged(),t.opacity=255):(t.y=t.y-o,h.itemIndex=s,t.opacity=0)}}else if(a.y<-i&&t.y+o+this.padding_top<0){var h;s=(h=t.getComponent(c.default)).itemIndex-this.spawnCount/this.gridCol*this.gridCol,null!=this.itemDataList[s]?(t.y=t.y+o,h.itemIndex=s,h.data=this.itemDataList[s],h.dataChanged(),t.opacity=255):(t.y=t.y+o,h.itemIndex=s,t.opacity=0)}}this.lastContentPosY=this.scrollView.content.y},e.prototype.updateGrid_H=function(){for(var t,e=this.itemList,i=this.halfScrollView,n=this.scrollView.content.x>this.lastContentPosX,o=(this.itemWidth+this.spaceX)*(this.spawnCount/this.gridRow),r=0;ri&&t.x-o-this.padding_left>0){var s=(h=t.getComponent(c.default)).itemIndex-this.spawnCount/this.gridRow*this.gridRow;null!=this.itemDataList[s]?(t.x=t.x-o,h.itemIndex=s,h.data=this.itemDataList[s],h.dataChanged(),t.opacity=255):(t.x=t.x-o,h.itemIndex=s,t.opacity=0)}}else if(a.x<-i&&t.x+o+this.padding_right=0;s--)(o=t[s])&&(a=(r<3?o(a):r>3?o(e,i,a):o(e,i))||a);return r>3&&a&&Object.defineProperty(e,i,a),a};Object.defineProperty(i,"__esModule",{value:!0});var a=cc._decorator,s=a.ccclass,c=a.property,h=(a.requireComponent,function(t){function e(){var e=null!==t&&t.apply(this,arguments)||this;return e.localTest=!1,e.clientTestVersion="1.0.0",e.testVersion=null,e}return o(e,t),e.prototype.start=function(){cc.debug.setDisplayStats(!1),window.initMgr(),cc.fx.GameConfig.init(this.localTest),this.testVersion.string=this.clientTestVersion},e.prototype.startGame=function(){cc.director.loadScene("GameScene")},e.prototype.clickBtn=function(t,e){cc.fx.GameConfig.GM_INFO.custom=parseInt(e),cc.director.loadScene("GameScene")},e.prototype.openRank=function(){cc.director.loadScene("RankScene")},e.prototype.update=function(){},r([c(!1)],e.prototype,"localTest",void 0),r([c("")],e.prototype,"clientTestVersion",void 0),r([c(cc.Label)],e.prototype,"testVersion",void 0),r([s],e)}(cc.Component));i.default=h,cc._RF.pop()},{}],Map:[function(t,e,i){"use strict";cc._RF.push(e,"2234assp7RIvpDgrnqljp2R","Map");var n,o=this&&this.__extends||(n=function(t,e){return(n=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(t,e){t.__proto__=e}||function(t,e){for(var i in e)Object.prototype.hasOwnProperty.call(e,i)&&(t[i]=e[i])})(t,e)},function(t,e){function i(){this.constructor=t}n(t,e),t.prototype=null===e?Object.create(e):(i.prototype=e.prototype,new i)}),r=this&&this.__decorate||function(t,e,i,n){var o,r=arguments.length,a=r<3?e:null===n?n=Object.getOwnPropertyDescriptor(e,i):n;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)a=Reflect.decorate(t,e,i,n);else for(var s=t.length-1;s>=0;s--)(o=t[s])&&(a=(r<3?o(a):r>3?o(e,i,a):o(e,i))||a);return r>3&&a&&Object.defineProperty(e,i,a),a};Object.defineProperty(i,"__esModule",{value:!0});var a=cc._decorator,s=a.ccclass,c=(a.property,function(t){function e(){return null!==t&&t.apply(this,arguments)||this}return o(e,t),e.prototype.onLoad=function(){},e.prototype.start=function(){this.initMap()},e.prototype.initMap=function(){this.setMapInfo()},e.prototype.setMapInfo=function(){switch(cc.fx.GameConfig.custom){case 0:this.vertical=4,this.horizontal=4,this.passTime=.3;break;case 1:this.vertical=5,this.horizontal=5,this.passTime=.25;break;case 2:this.vertical=5,this.horizontal=5,this.passTime=.2;break;case 3:this.vertical=5,this.horizontal=5,this.passTime=.18;break;case 4:this.vertical=6,this.horizontal=6,this.passTime=.16;break;case 5:this.vertical=6,this.horizontal=7,this.passTime=.14;break;case 6:this.vertical=6,this.horizontal=8,this.passTime=.12;break;case 7:this.vertical=6,this.horizontal=9,this.passTime=.1}},r([s],e)}(cc.Component));i.default=c,cc._RF.pop()},{}],Mask:[function(t,e,i){"use strict";cc._RF.push(e,"81171JxkddO6ZzuXLu/FZen","Mask");var n,o=this&&this.__extends||(n=function(t,e){return(n=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(t,e){t.__proto__=e}||function(t,e){for(var i in e)Object.prototype.hasOwnProperty.call(e,i)&&(t[i]=e[i])})(t,e)},function(t,e){function i(){this.constructor=t}n(t,e),t.prototype=null===e?Object.create(e):(i.prototype=e.prototype,new i)}),r=this&&this.__decorate||function(t,e,i,n){var o,r=arguments.length,a=r<3?e:null===n?n=Object.getOwnPropertyDescriptor(e,i):n;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)a=Reflect.decorate(t,e,i,n);else for(var s=t.length-1;s>=0;s--)(o=t[s])&&(a=(r<3?o(a):r>3?o(e,i,a):o(e,i))||a);return r>3&&a&&Object.defineProperty(e,i,a),a};Object.defineProperty(i,"__esModule",{value:!0});var a=cc._decorator,s=a.ccclass,c=(a.property,function(t){function e(){return null!==t&&t.apply(this,arguments)||this}return o(e,t),e.prototype.start=function(){var t=this.node.parent.parent.parent.getComponent("GameManager");1==t.bgClick&&(t.bgClick=!1,this.node.on(cc.Node.EventType.TOUCH_START,this.onClick,this))},e.prototype.onClick=function(){cc.fx.Notifications.emit(cc.fx.Message.guideNext)},r([s],e)}(cc.Component));i.default=c,cc._RF.pop()},{}],Notification:[function(t,e,i){"use strict";cc._RF.push(e,"55403VjGlpPL564gsdiZBg3","Notification"),Object.defineProperty(i,"__esModule",{value:!0}),i.Notifications=void 0;i.Notifications={_eventMap:[],on:function(t,e,i){void 0===this._eventMap[t]&&(this._eventMap[t]=[]),this._eventMap[t].push({callback:e,target:i})},emit:function(t,e){var i=this._eventMap[t];if(void 0!==i)for(var n=0;n=0;s--)(o=t[s])&&(a=(r<3?o(a):r>3?o(e,i,a):o(e,i))||a);return r>3&&a&&Object.defineProperty(e,i,a),a};Object.defineProperty(i,"__esModule",{value:!0});var a=t("./module/RankList/List"),s=cc._decorator,c=s.ccclass,h=s.property,p=function(t){function e(){var e=null!==t&&t.apply(this,arguments)||this;return e.Player=null,e.selfNode=null,e.phone=null,e}return o(e,t),e.prototype.onLoad=function(){this.init()},e.prototype.init=function(){this.rankList=cc.find("ScrollView",this.node).getComponent(a.default),this.Player.getChildByName("rank").active=!1,this.listData=[],this.selfData=null,this.rankNumber=100,this.rankTotal=100,this.selfNode.opacity=0},e.prototype.start=function(){this.Player.active=!1,this.getRank()},e.prototype.getRank=function(){var t=this;cc.fx.GameTool.getRank({length:100},function(e){return t.getRankData(e)})},e.prototype.getRankData=function(t){t&&(cc.fx.GameTool.getRankData(t,this,6),this.setPic(this.selfData.pic))},e.prototype.backClick=function(){cc.director.loadScene("LoadScene")},e.prototype.playerAction=function(){var t=this;this.Player.getChildByName("rank").active=!1;var e=1;if(this.tween=cc.tween(this.Player).to(2,{position:cc.v3(215,525,0)}).call(function(){t.Player.getChildByName("rank").active=!0,t.Player.getChildByName("rank").getChildByName("number").getComponent(cc.Label).string=parseInt(100*e+"")+"%"}).start(),e=(this.listData.length-this.rankNumber)/this.listData.length,this.listData.length>=99&&this.rankNumber>=99){e=(49*Math.random()+1)/100;var i=cc.sys.localStorage.getItem("matchNumber");null!=i&&null!=i||(e=0)}setTimeout(function(){t.tween&&t.tween.stop(),t.Player.getChildByName("rank").active=!0,t.Player.getChildByName("rank").getChildByName("number").getComponent(cc.Label).string=parseInt(100*e+"")+"%"},2e3*e)},e.prototype.setPic=function(t){var e=this;this.phone.node.parent.getChildByName("icon").active=!1,this.phone.node.active=!1,this.Player.active=!0,this.Player.opacity=0,this.Player.getChildByName("mask").getChildByName("icon").active=!1,this.Player.getChildByName("mask").getChildByName("phone").active=!1,fetch(t).then(function(t){return t.headers.get("Content-Length")}).then(function(t){"5093"==t&&(e.phone.node.parent.getChildByName("icon").active=!0,e.Player.getChildByName("mask").getChildByName("icon").active=!0)}).catch(function(){});var i=this;cc.assetManager.loadRemote(t,{ext:".png"},function(t,e){i.Player.opacity=255,e?(i.phone.node.active=!0,i.phone.spriteFrame=new cc.SpriteFrame(e),i.Player.getChildByName("mask").getChildByName("icon").active=!1,i.Player.getChildByName("mask").getChildByName("phone").active=!0,i.Player.getChildByName("mask").getChildByName("phone").getComponent(cc.Sprite).spriteFrame=new cc.SpriteFrame(e),setTimeout(function(){i.playerAction()},500)):(i.Player.getChildByName("mask").getChildByName("icon").active=!0,setTimeout(function(){i.playerAction()},500))})},r([h(cc.Node)],e.prototype,"Player",void 0),r([h(cc.Node)],e.prototype,"selfNode",void 0),r([h(cc.Sprite)],e.prototype,"phone",void 0),r([c],e)}(cc.Component);i.default=p,cc._RF.pop()},{"./module/RankList/List":"List"}],Storage:[function(t,e,i){"use strict";cc._RF.push(e,"1002938VFRJd70RiAno9Iys","Storage"),Object.defineProperty(i,"__esModule",{value:!0}),i.StorageMessage=void 0;var n={getStorage:function(t){var e=null;return cc.sys.localStorage.getItem(t)&&(e=cc.sys.localStorage.getItem(t)),e&&(e=JSON.parse(e)),e},setStorage:function(t,e){var i=JSON.stringify(e);cc.sys.localStorage.setItem(t,i)},removeStorage:function(t){cc.sys.localStorage.getItem(t)&&cc.sys.localStorage.removeItem(t)}};i.StorageMessage=n,cc._RF.pop()},{}],TmoAssembler:[function(t,e,i){"use strict";function n(t,e){for(var i=0;i>2,c=r._vData;n.length+s>c.length?c.set(n.subarray(0,c.length-s),s):c.set(n,s);for(var h=r._iData,p=a.indiceOffset,l=a.vertexOffset,f=0,u=o.length;f>>0];if(!E)continue;var P=E.tileset,D="img"+A.id;x[D]=!0;var L=this.node.getChildByName(D),j=A.width||E.width,z=A.height||E.height,H=P.tileOffset.x,V=P.tileOffset.y;L instanceof cc.PrivateNode&&(L.removeFromParent(),L.destroy(),L=null),L||(L=new cc.Node),s.ISO==e.orientation?(L.anchorX=.5+H/j,L.anchorY=V/z):(L.anchorX=H/j,L.anchorY=V/z),L.active=A.visible,L.angle=-A.rotation,L.x=A.x-y,L.y=A.y-v,L.name=D,L.parent=this.node,L.opacity=this._opacity,L.setSiblingIndex(T),L._tiledMap=o;var W=L.getComponent(n);W||(W=L.addComponent(n));var X=W.spriteFrame;X||(X=new cc.SpriteFrame),(R&l)>>>0?X.setFlipX(!0):X.setFlipX(!1),(R&f)>>>0?X.setFlipY(!0):X.setFlipY(!1);var U=E.tileset.sourceImage;X.setTexture(U,cc.rect(E)),W.spriteFrame=X,W.setVertsDirty(),L.width=j,L.height=z,w.has(U)||(w.set(U,S.length),S.push(U));var K=w.get(U);W.setTextureIdx(K+1)}}this._objects=C;for(var Y=this.node.children,q=/^(?:img|text)\d+$/,Z=0,J=Y.length;Z>>0];if(c){var h=c.texId;if(void 0===n[h]&&(n[h]=i.length,i.push(h),r))break}else cc.error("CCTiledLayer:_traverseAllGrid grid is null, gid is:",s)}}}});i.default=a,e.exports=i.default,cc._RF.pop()},{}],TmoTiledMap:[function(t,e){"use strict";cc._RF.push(e,"0b9eetmSUdJRZCQS91TYCw/","TmoTiledMap");var i=t("./TmoTiledLayer"),n=t("./TmoObjectGroup");cc.Class({extends:cc.TiledMap,properties:{objectMaterial:cc.Material,noColor:!0,singleTexture:!0,_objectTextures:[]},_applyFile:function(){this.objectMaterial?this._super():cc.error("TiledmapOptimize: \u672a\u8bbe\u7f6eobjectMaterial!")},_buildLayerAndGroup:function(){var t=this._tilesets,e=this._texGrids,o=this._animations;e.length=0;for(var r=0,a=t.length;r0)for(var b=0,A=C.length;b=0;s--)(o=t[s])&&(a=(r<3?o(a):r>3?o(e,i,a):o(e,i))||a);return r>3&&a&&Object.defineProperty(e,i,a),a};Object.defineProperty(i,"__esModule",{value:!0});var a=cc._decorator,s=a.ccclass,c=(a.property,function(t){function e(){return null!==t&&t.apply(this,arguments)||this}return o(e,t),e.prototype.start=function(){},e.prototype.init=function(t){var e=this;this.node.getChildByName("win").active=!1,this.node.getChildByName("lose").active=!1,this.node.getChildByName("finishi").active=!1,this.node.getChildByName(t).active=!0;var i=this.node.getChildByName(t);i.opacity=0,i.scale=2,cc.tween(i).delay(.2).to(.4,{opacity:255,scale:1}).delay(1.3).call(function(){cc.tween(e.node).to(.3,{opacity:0}).call(function(){e.node.active=!1,cc.director.loadScene("GameScene")}).start()}).start()},r([s],e)}(cc.Component));i.default=c,cc._RF.pop()},{}],"crypto-js.min":[function(t,e,i){"use strict";cc._RF.push(e,"e64e1qXyT9CV6s0gDQdj/ed","crypto-js.min"),function(t,n){"object"==typeof i?e.exports=i=n():"function"==typeof define&&define.amd?define([],n):(void 0).CryptoJS=n()}(0,function(){var t,e,i,n,o,r,a,s=s||function(t){var e=Object.create||function(){function t(){}return function(e){var i;return t.prototype=e,i=new t,t.prototype=null,i}}(),i={},n=i.lib={},o=n.Base={extend:function(t){var i=e(this);return t&&i.mixIn(t),i.hasOwnProperty("init")&&this.init!==i.init||(i.init=function(){i.$super.init.apply(this,arguments)}),i.init.prototype=i,i.$super=this,i},create:function(){var t=this.extend();return t.init.apply(t,arguments),t},init:function(){},mixIn:function(t){for(var e in t)t.hasOwnProperty(e)&&(this[e]=t[e]);t.hasOwnProperty("toString")&&(this.toString=t.toString)},clone:function(){return this.init.prototype.extend(this)}},r=n.WordArray=o.extend({init:function(t,e){t=this.words=t||[],this.sigBytes=null!=e?e:4*t.length},toString:function(t){return(t||s).stringify(this)},concat:function(t){var e=this.words,i=t.words,n=this.sigBytes,o=t.sigBytes;if(this.clamp(),n%4)for(var r=0;r>>2]>>>24-r%4*8&255;e[n+r>>>2]|=a<<24-(n+r)%4*8}else for(r=0;r>>2]=i[r>>>2];return this.sigBytes+=o,this},clamp:function(){var e=this.words,i=this.sigBytes;e[i>>>2]&=4294967295<<32-i%4*8,e.length=t.ceil(i/4)},clone:function(){var t=o.clone.call(this);return t.words=this.words.slice(0),t},random:function(e){for(var i,n=[],o=function(e){e=e;var i=987654321,n=4294967295;return function(){var o=((i=36969*(65535&i)+(i>>16)&n)<<16)+(e=18e3*(65535&e)+(e>>16)&n)&n;return o/=4294967296,(o+=.5)*(t.random()>.5?1:-1)}},a=0;a>>2]>>>24-o%4*8&255;n.push((r>>>4).toString(16)),n.push((15&r).toString(16))}return n.join("")},parse:function(t){for(var e=t.length,i=[],n=0;n>>3]|=parseInt(t.substr(n,2),16)<<24-n%8*4;return new r.init(i,e/2)}},c=a.Latin1={stringify:function(t){for(var e=t.words,i=t.sigBytes,n=[],o=0;o>>2]>>>24-o%4*8&255;n.push(String.fromCharCode(r))}return n.join("")},parse:function(t){for(var e=t.length,i=[],n=0;n>>2]|=(255&t.charCodeAt(n))<<24-n%4*8;return new r.init(i,e)}},h=a.Utf8={stringify:function(t){try{return decodeURIComponent(escape(c.stringify(t)))}catch(t){throw new Error("Malformed UTF-8 data")}},parse:function(t){return c.parse(unescape(encodeURIComponent(t)))}},p=n.BufferedBlockAlgorithm=o.extend({reset:function(){this._data=new r.init,this._nDataBytes=0},_append:function(t){"string"==typeof t&&(t=h.parse(t)),this._data.concat(t),this._nDataBytes+=t.sigBytes},_process:function(e){var i=this._data,n=i.words,o=i.sigBytes,a=this.blockSize,s=o/(4*a),c=(s=e?t.ceil(s):t.max((0|s)-this._minBufferSize,0))*a,h=t.min(4*c,o);if(c){for(var p=0;p>>6-a%4*2;o[r>>>2]|=(s|c)<<24-r%4*8,r++}return i.create(o,r)}var e=s,i=e.lib.WordArray;e.enc.Base64={stringify:function(t){var e=t.words,i=t.sigBytes,n=this._map;t.clamp();for(var o=[],r=0;r>>2]>>>24-r%4*8&255)<<16|(e[r+1>>>2]>>>24-(r+1)%4*8&255)<<8|e[r+2>>>2]>>>24-(r+2)%4*8&255,s=0;s<4&&r+.75*s>>6*(3-s)&63));var c=n.charAt(64);if(c)for(;o.length%4;)o.push(c);return o.join("")},parse:function(e){var i=e.length,n=this._map,o=this._reverseMap;if(!o){o=this._reverseMap=[];for(var r=0;r>>32-r)+e}function i(t,e,i,n,o,r,a){var s=t+(e&n|i&~n)+o+a;return(s<>>32-r)+e}function n(t,e,i,n,o,r,a){var s=t+(e^i^n)+o+a;return(s<>>32-r)+e}function o(t,e,i,n,o,r,a){var s=t+(i^(e|~n))+o+a;return(s<>>32-r)+e}var r=s,a=r.lib,c=a.WordArray,h=a.Hasher,p=r.algo,l=[];!function(){for(var e=0;e<64;e++)l[e]=4294967296*t.abs(t.sin(e+1))|0}();var f=p.MD5=h.extend({_doReset:function(){this._hash=new c.init([1732584193,4023233417,2562383102,271733878])},_doProcessBlock:function(t,r){for(var a=0;a<16;a++){var s=r+a,c=t[s];t[s]=16711935&(c<<8|c>>>24)|4278255360&(c<<24|c>>>8)}var h=this._hash.words,p=t[r+0],f=t[r+1],u=t[r+2],d=t[r+3],m=t[r+4],g=t[r+5],_=t[r+6],y=t[r+7],v=t[r+8],C=t[r+9],x=t[r+10],w=t[r+11],S=t[r+12],T=t[r+13],b=t[r+14],A=t[r+15],k=h[0],N=h[1],M=h[2],B=h[3];k=e(k,N,M,B,p,7,l[0]),B=e(B,k,N,M,f,12,l[1]),M=e(M,B,k,N,u,17,l[2]),N=e(N,M,B,k,d,22,l[3]),k=e(k,N,M,B,m,7,l[4]),B=e(B,k,N,M,g,12,l[5]),M=e(M,B,k,N,_,17,l[6]),N=e(N,M,B,k,y,22,l[7]),k=e(k,N,M,B,v,7,l[8]),B=e(B,k,N,M,C,12,l[9]),M=e(M,B,k,N,x,17,l[10]),N=e(N,M,B,k,w,22,l[11]),k=e(k,N,M,B,S,7,l[12]),B=e(B,k,N,M,T,12,l[13]),M=e(M,B,k,N,b,17,l[14]),k=i(k,N=e(N,M,B,k,A,22,l[15]),M,B,f,5,l[16]),B=i(B,k,N,M,_,9,l[17]),M=i(M,B,k,N,w,14,l[18]),N=i(N,M,B,k,p,20,l[19]),k=i(k,N,M,B,g,5,l[20]),B=i(B,k,N,M,x,9,l[21]),M=i(M,B,k,N,A,14,l[22]),N=i(N,M,B,k,m,20,l[23]),k=i(k,N,M,B,C,5,l[24]),B=i(B,k,N,M,b,9,l[25]),M=i(M,B,k,N,d,14,l[26]),N=i(N,M,B,k,v,20,l[27]),k=i(k,N,M,B,T,5,l[28]),B=i(B,k,N,M,u,9,l[29]),M=i(M,B,k,N,y,14,l[30]),k=n(k,N=i(N,M,B,k,S,20,l[31]),M,B,g,4,l[32]),B=n(B,k,N,M,v,11,l[33]),M=n(M,B,k,N,w,16,l[34]),N=n(N,M,B,k,b,23,l[35]),k=n(k,N,M,B,f,4,l[36]),B=n(B,k,N,M,m,11,l[37]),M=n(M,B,k,N,y,16,l[38]),N=n(N,M,B,k,x,23,l[39]),k=n(k,N,M,B,T,4,l[40]),B=n(B,k,N,M,p,11,l[41]),M=n(M,B,k,N,d,16,l[42]),N=n(N,M,B,k,_,23,l[43]),k=n(k,N,M,B,C,4,l[44]),B=n(B,k,N,M,S,11,l[45]),M=n(M,B,k,N,A,16,l[46]),k=o(k,N=n(N,M,B,k,u,23,l[47]),M,B,p,6,l[48]),B=o(B,k,N,M,y,10,l[49]),M=o(M,B,k,N,b,15,l[50]),N=o(N,M,B,k,g,21,l[51]),k=o(k,N,M,B,S,6,l[52]),B=o(B,k,N,M,d,10,l[53]),M=o(M,B,k,N,x,15,l[54]),N=o(N,M,B,k,f,21,l[55]),k=o(k,N,M,B,v,6,l[56]),B=o(B,k,N,M,A,10,l[57]),M=o(M,B,k,N,_,15,l[58]),N=o(N,M,B,k,T,21,l[59]),k=o(k,N,M,B,m,6,l[60]),B=o(B,k,N,M,w,10,l[61]),M=o(M,B,k,N,u,15,l[62]),N=o(N,M,B,k,C,21,l[63]),h[0]=h[0]+k|0,h[1]=h[1]+N|0,h[2]=h[2]+M|0,h[3]=h[3]+B|0},_doFinalize:function(){var e=this._data,i=e.words,n=8*this._nDataBytes,o=8*e.sigBytes;i[o>>>5]|=128<<24-o%32;var r=t.floor(n/4294967296),a=n;i[15+(o+64>>>9<<4)]=16711935&(r<<8|r>>>24)|4278255360&(r<<24|r>>>8),i[14+(o+64>>>9<<4)]=16711935&(a<<8|a>>>24)|4278255360&(a<<24|a>>>8),e.sigBytes=4*(i.length+1),this._process();for(var s=this._hash,c=s.words,h=0;h<4;h++){var p=c[h];c[h]=16711935&(p<<8|p>>>24)|4278255360&(p<<24|p>>>8)}return s},clone:function(){var t=h.clone.call(this);return t._hash=this._hash.clone(),t}});r.MD5=h._createHelper(f),r.HmacMD5=h._createHmacHelper(f)}(Math),e=(t=s).lib,i=e.WordArray,n=e.Hasher,o=t.algo,r=[],a=o.SHA1=n.extend({_doReset:function(){this._hash=new i.init([1732584193,4023233417,2562383102,271733878,3285377520])},_doProcessBlock:function(t,e){for(var i=this._hash.words,n=i[0],o=i[1],a=i[2],s=i[3],c=i[4],h=0;h<80;h++){if(h<16)r[h]=0|t[e+h];else{var p=r[h-3]^r[h-8]^r[h-14]^r[h-16];r[h]=p<<1|p>>>31}var l=(n<<5|n>>>27)+c+r[h];l+=h<20?1518500249+(o&a|~o&s):h<40?1859775393+(o^a^s):h<60?(o&a|o&s|a&s)-1894007588:(o^a^s)-899497514,c=s,s=a,a=o<<30|o>>>2,o=n,n=l}i[0]=i[0]+n|0,i[1]=i[1]+o|0,i[2]=i[2]+a|0,i[3]=i[3]+s|0,i[4]=i[4]+c|0},_doFinalize:function(){var t=this._data,e=t.words,i=8*this._nDataBytes,n=8*t.sigBytes;return e[n>>>5]|=128<<24-n%32,e[14+(n+64>>>9<<4)]=Math.floor(i/4294967296),e[15+(n+64>>>9<<4)]=i,t.sigBytes=4*e.length,this._process(),this._hash},clone:function(){var t=n.clone.call(this);return t._hash=this._hash.clone(),t}}),t.SHA1=n._createHelper(a),t.HmacSHA1=n._createHmacHelper(a),function(t){var e=s,i=e.lib,n=i.WordArray,o=i.Hasher,r=e.algo,a=[],c=[];!function(){function e(e){for(var i=t.sqrt(e),n=2;n<=i;n++)if(!(e%n))return!1;return!0}function i(t){return 4294967296*(t-(0|t))|0}for(var n=2,o=0;o<64;)e(n)&&(o<8&&(a[o]=i(t.pow(n,.5))),c[o]=i(t.pow(n,1/3)),o++),n++}();var h=[],p=r.SHA256=o.extend({_doReset:function(){this._hash=new n.init(a.slice(0))},_doProcessBlock:function(t,e){for(var i=this._hash.words,n=i[0],o=i[1],r=i[2],a=i[3],s=i[4],p=i[5],l=i[6],f=i[7],u=0;u<64;u++){if(u<16)h[u]=0|t[e+u];else{var d=h[u-15],m=(d<<25|d>>>7)^(d<<14|d>>>18)^d>>>3,g=h[u-2],_=(g<<15|g>>>17)^(g<<13|g>>>19)^g>>>10;h[u]=m+h[u-7]+_+h[u-16]}var y=n&o^n&r^o&r,v=(n<<30|n>>>2)^(n<<19|n>>>13)^(n<<10|n>>>22),C=f+((s<<26|s>>>6)^(s<<21|s>>>11)^(s<<7|s>>>25))+(s&p^~s&l)+c[u]+h[u];f=l,l=p,p=s,s=a+C|0,a=r,r=o,o=n,n=C+(v+y)|0}i[0]=i[0]+n|0,i[1]=i[1]+o|0,i[2]=i[2]+r|0,i[3]=i[3]+a|0,i[4]=i[4]+s|0,i[5]=i[5]+p|0,i[6]=i[6]+l|0,i[7]=i[7]+f|0},_doFinalize:function(){var e=this._data,i=e.words,n=8*this._nDataBytes,o=8*e.sigBytes;return i[o>>>5]|=128<<24-o%32,i[14+(o+64>>>9<<4)]=t.floor(n/4294967296),i[15+(o+64>>>9<<4)]=n,e.sigBytes=4*i.length,this._process(),this._hash},clone:function(){var t=o.clone.call(this);return t._hash=this._hash.clone(),t}});e.SHA256=o._createHelper(p),e.HmacSHA256=o._createHmacHelper(p)}(Math),function(){function t(t){return t<<8&4278255360|t>>>8&16711935}var e=s,i=e.lib.WordArray,n=e.enc;n.Utf16=n.Utf16BE={stringify:function(t){for(var e=t.words,i=t.sigBytes,n=[],o=0;o>>2]>>>16-o%4*8&65535;n.push(String.fromCharCode(r))}return n.join("")},parse:function(t){for(var e=t.length,n=[],o=0;o>>1]|=t.charCodeAt(o)<<16-o%2*16;return i.create(n,2*e)}},n.Utf16LE={stringify:function(e){for(var i=e.words,n=e.sigBytes,o=[],r=0;r>>2]>>>16-r%4*8&65535);o.push(String.fromCharCode(a))}return o.join("")},parse:function(e){for(var n=e.length,o=[],r=0;r>>1]|=t(e.charCodeAt(r)<<16-r%2*16);return i.create(o,2*n)}}}(),function(){if("function"==typeof ArrayBuffer){var t=s.lib.WordArray,e=t.init;(t.init=function(t){if(t instanceof ArrayBuffer&&(t=new Uint8Array(t)),(t instanceof Int8Array||"undefined"!=typeof Uint8ClampedArray&&t instanceof Uint8ClampedArray||t instanceof Int16Array||t instanceof Uint16Array||t instanceof Int32Array||t instanceof Uint32Array||t instanceof Float32Array||t instanceof Float64Array)&&(t=new Uint8Array(t.buffer,t.byteOffset,t.byteLength)),t instanceof Uint8Array){for(var i=t.byteLength,n=[],o=0;o>>2]|=t[o]<<24-o%4*8;e.call(this,n,i)}else e.apply(this,arguments)}).prototype=t}}(),function(){function t(t,e,i){return t^e^i}function e(t,e,i){return t&e|~t&i}function i(t,e,i){return(t|~e)^i}function n(t,e,i){return t&i|e&~i}function o(t,e,i){return t^(e|~i)}function r(t,e){return t<>>32-e}var a=s,c=a.lib,h=c.WordArray,p=c.Hasher,l=a.algo,f=h.create([0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,7,4,13,1,10,6,15,3,12,0,9,5,2,14,11,8,3,10,14,4,9,15,8,1,2,7,0,6,13,11,5,12,1,9,11,10,0,8,12,4,13,3,7,15,14,5,6,2,4,0,5,9,7,12,2,10,14,1,3,8,11,6,15,13]),u=h.create([5,14,7,0,9,2,11,4,13,6,15,8,1,10,3,12,6,11,3,7,0,13,5,10,14,15,8,12,4,9,1,2,15,5,1,3,7,14,6,9,11,8,12,2,10,0,4,13,8,6,4,1,3,11,15,0,5,12,2,13,9,7,10,14,12,15,10,4,1,5,8,7,6,2,13,14,0,3,9,11]),d=h.create([11,14,15,12,5,8,7,9,11,13,14,15,6,7,9,8,7,6,8,13,11,9,7,15,7,12,15,9,11,7,13,12,11,13,6,7,14,9,13,15,14,8,13,6,5,12,7,5,11,12,14,15,14,15,9,8,9,14,5,6,8,6,5,12,9,15,5,11,6,8,13,12,5,12,13,14,11,8,5,6]),m=h.create([8,9,9,11,13,15,15,5,7,7,8,11,14,14,12,6,9,13,15,7,12,8,9,11,7,7,12,7,6,15,13,11,9,7,15,11,8,6,6,14,12,13,5,14,13,13,7,5,15,5,8,11,14,14,6,14,6,9,12,9,12,5,15,8,8,5,12,9,12,5,14,6,8,13,6,5,15,13,11,11]),g=h.create([0,1518500249,1859775393,2400959708,2840853838]),_=h.create([1352829926,1548603684,1836072691,2053994217,0]),y=l.RIPEMD160=p.extend({_doReset:function(){this._hash=h.create([1732584193,4023233417,2562383102,271733878,3285377520])},_doProcessBlock:function(a,s){for(var c=0;c<16;c++){var h=s+c,p=a[h];a[h]=16711935&(p<<8|p>>>24)|4278255360&(p<<24|p>>>8)}var l,y,v,C,x,w,S,T,b,A,k,N=this._hash.words,M=g.words,B=_.words,I=f.words,G=u.words,F=d.words,O=m.words;for(w=l=N[0],S=y=N[1],T=v=N[2],b=C=N[3],A=x=N[4],c=0;c<80;c+=1)k=l+a[s+I[c]]|0,k+=c<16?t(y,v,C)+M[0]:c<32?e(y,v,C)+M[1]:c<48?i(y,v,C)+M[2]:c<64?n(y,v,C)+M[3]:o(y,v,C)+M[4],k=(k=r(k|=0,F[c]))+x|0,l=x,x=C,C=r(v,10),v=y,y=k,k=w+a[s+G[c]]|0,k+=c<16?o(S,T,b)+B[0]:c<32?n(S,T,b)+B[1]:c<48?i(S,T,b)+B[2]:c<64?e(S,T,b)+B[3]:t(S,T,b)+B[4],k=(k=r(k|=0,O[c]))+A|0,w=A,A=b,b=r(T,10),T=S,S=k;k=N[1]+v+b|0,N[1]=N[2]+C+A|0,N[2]=N[3]+x+w|0,N[3]=N[4]+l+S|0,N[4]=N[0]+y+T|0,N[0]=k},_doFinalize:function(){var t=this._data,e=t.words,i=8*this._nDataBytes,n=8*t.sigBytes;e[n>>>5]|=128<<24-n%32,e[14+(n+64>>>9<<4)]=16711935&(i<<8|i>>>24)|4278255360&(i<<24|i>>>8),t.sigBytes=4*(e.length+1),this._process();for(var o=this._hash,r=o.words,a=0;a<5;a++){var s=r[a];r[a]=16711935&(s<<8|s>>>24)|4278255360&(s<<24|s>>>8)}return o},clone:function(){var t=p.clone.call(this);return t._hash=this._hash.clone(),t}});a.RIPEMD160=p._createHelper(y),a.HmacRIPEMD160=p._createHmacHelper(y)}(Math),function(){var t=s,e=t.lib.Base,i=t.enc.Utf8;t.algo.HMAC=e.extend({init:function(t,e){t=this._hasher=new t.init,"string"==typeof e&&(e=i.parse(e));var n=t.blockSize,o=4*n;e.sigBytes>o&&(e=t.finalize(e)),e.clamp();for(var r=this._oKey=e.clone(),a=this._iKey=e.clone(),s=r.words,c=a.words,h=0;h>>24)|4278255360&(r<<24|r>>>8),a=16711935&(a<<8|a>>>24)|4278255360&(a<<24|a>>>8),(N=i[o]).high^=a,N.low^=r}for(var s=0;s<24;s++){for(var f=0;f<5;f++){for(var u=0,d=0,m=0;m<5;m++)u^=(N=i[f+5*m]).high,d^=N.low;var g=l[f];g.high=u,g.low=d}for(f=0;f<5;f++){var _=l[(f+4)%5],y=l[(f+1)%5],v=y.high,C=y.low;for(u=_.high^(v<<1|C>>>31),d=_.low^(C<<1|v>>>31),m=0;m<5;m++)(N=i[f+5*m]).high^=u,N.low^=d}for(var x=1;x<25;x++){var w=(N=i[x]).high,S=N.low,T=c[x];T<32?(u=w<>>32-T,d=S<>>32-T):(u=S<>>64-T,d=w<>>64-T);var b=l[h[x]];b.high=u,b.low=d}var A=l[0],k=i[0];for(A.high=k.high,A.low=k.low,f=0;f<5;f++)for(m=0;m<5;m++){var N=i[x=f+5*m],M=l[x],B=l[(f+1)%5+5*m],I=l[(f+2)%5+5*m];N.high=M.high^~B.high&I.high,N.low=M.low^~B.low&I.low}N=i[0];var G=p[s];N.high^=G.high,N.low^=G.low}},_doFinalize:function(){var e=this._data,i=e.words,o=(this._nDataBytes,8*e.sigBytes),r=32*this.blockSize;i[o>>>5]|=1<<24-o%32,i[(t.ceil((o+1)/r)*r>>>5)-1]|=128,e.sigBytes=4*i.length,this._process();for(var a=this._state,s=this.cfg.outputLength/8,c=s/8,h=[],p=0;p>>24)|4278255360&(f<<24|f>>>8),u=16711935&(u<<8|u>>>24)|4278255360&(u<<24|u>>>8),h.push(u),h.push(f)}return new n.init(h,s)},clone:function(){for(var t=o.clone.call(this),e=t._state=this._state.slice(0),i=0;i<25;i++)e[i]=e[i].clone();return t}});e.SHA3=o._createHelper(f),e.HmacSHA3=o._createHmacHelper(f)}(Math),function(){function t(){return o.create.apply(o,arguments)}var e=s,i=e.lib.Hasher,n=e.x64,o=n.Word,r=n.WordArray,a=e.algo,c=[t(1116352408,3609767458),t(1899447441,602891725),t(3049323471,3964484399),t(3921009573,2173295548),t(961987163,4081628472),t(1508970993,3053834265),t(2453635748,2937671579),t(2870763221,3664609560),t(3624381080,2734883394),t(310598401,1164996542),t(607225278,1323610764),t(1426881987,3590304994),t(1925078388,4068182383),t(2162078206,991336113),t(2614888103,633803317),t(3248222580,3479774868),t(3835390401,2666613458),t(4022224774,944711139),t(264347078,2341262773),t(604807628,2007800933),t(770255983,1495990901),t(1249150122,1856431235),t(1555081692,3175218132),t(1996064986,2198950837),t(2554220882,3999719339),t(2821834349,766784016),t(2952996808,2566594879),t(3210313671,3203337956),t(3336571891,1034457026),t(3584528711,2466948901),t(113926993,3758326383),t(338241895,168717936),t(666307205,1188179964),t(773529912,1546045734),t(1294757372,1522805485),t(1396182291,2643833823),t(1695183700,2343527390),t(1986661051,1014477480),t(2177026350,1206759142),t(2456956037,344077627),t(2730485921,1290863460),t(2820302411,3158454273),t(3259730800,3505952657),t(3345764771,106217008),t(3516065817,3606008344),t(3600352804,1432725776),t(4094571909,1467031594),t(275423344,851169720),t(430227734,3100823752),t(506948616,1363258195),t(659060556,3750685593),t(883997877,3785050280),t(958139571,3318307427),t(1322822218,3812723403),t(1537002063,2003034995),t(1747873779,3602036899),t(1955562222,1575990012),t(2024104815,1125592928),t(2227730452,2716904306),t(2361852424,442776044),t(2428436474,593698344),t(2756734187,3733110249),t(3204031479,2999351573),t(3329325298,3815920427),t(3391569614,3928383900),t(3515267271,566280711),t(3940187606,3454069534),t(4118630271,4000239992),t(116418474,1914138554),t(174292421,2731055270),t(289380356,3203993006),t(460393269,320620315),t(685471733,587496836),t(852142971,1086792851),t(1017036298,365543100),t(1126000580,2618297676),t(1288033470,3409855158),t(1501505948,4234509866),t(1607167915,987167468),t(1816402316,1246189591)],h=[];!function(){for(var e=0;e<80;e++)h[e]=t()}();var p=a.SHA512=i.extend({_doReset:function(){this._hash=new r.init([new o.init(1779033703,4089235720),new o.init(3144134277,2227873595),new o.init(1013904242,4271175723),new o.init(2773480762,1595750129),new o.init(1359893119,2917565137),new o.init(2600822924,725511199),new o.init(528734635,4215389547),new o.init(1541459225,327033209)])},_doProcessBlock:function(t,e){for(var i=this._hash.words,n=i[0],o=i[1],r=i[2],a=i[3],s=i[4],p=i[5],l=i[6],f=i[7],u=n.high,d=n.low,m=o.high,g=o.low,_=r.high,y=r.low,v=a.high,C=a.low,x=s.high,w=s.low,S=p.high,T=p.low,b=l.high,A=l.low,k=f.high,N=f.low,M=u,B=d,I=m,G=g,F=_,O=y,R=v,E=C,P=x,D=w,L=S,j=T,z=b,H=A,V=k,W=N,X=0;X<80;X++){var U=h[X];if(X<16)var K=U.high=0|t[e+2*X],Y=U.low=0|t[e+2*X+1];else{var q=h[X-15],Z=q.high,J=q.low,Q=(Z>>>1|J<<31)^(Z>>>8|J<<24)^Z>>>7,$=(J>>>1|Z<<31)^(J>>>8|Z<<24)^(J>>>7|Z<<25),tt=h[X-2],et=tt.high,it=tt.low,nt=(et>>>19|it<<13)^(et<<3|it>>>29)^et>>>6,ot=(it>>>19|et<<13)^(it<<3|et>>>29)^(it>>>6|et<<26),rt=h[X-7],at=rt.high,st=rt.low,ct=h[X-16],ht=ct.high,pt=ct.low;K=(K=(K=Q+at+((Y=$+st)>>>0<$>>>0?1:0))+nt+((Y+=ot)>>>0>>0?1:0))+ht+((Y+=pt)>>>0>>0?1:0),U.high=K,U.low=Y}var lt,ft=P&L^~P&z,ut=D&j^~D&H,dt=M&I^M&F^I&F,mt=B&G^B&O^G&O,gt=(M>>>28|B<<4)^(M<<30|B>>>2)^(M<<25|B>>>7),_t=(B>>>28|M<<4)^(B<<30|M>>>2)^(B<<25|M>>>7),yt=(P>>>14|D<<18)^(P>>>18|D<<14)^(P<<23|D>>>9),vt=(D>>>14|P<<18)^(D>>>18|P<<14)^(D<<23|P>>>9),Ct=c[X],xt=Ct.high,wt=Ct.low,St=V+yt+((lt=W+vt)>>>0>>0?1:0),Tt=_t+mt;V=z,W=H,z=L,H=j,L=P,j=D,P=R+(St=(St=(St=St+ft+((lt+=ut)>>>0>>0?1:0))+xt+((lt+=wt)>>>0>>0?1:0))+K+((lt+=Y)>>>0>>0?1:0))+((D=E+lt|0)>>>0>>0?1:0)|0,R=F,E=O,F=I,O=G,I=M,G=B,M=St+(gt+dt+(Tt>>>0<_t>>>0?1:0))+((B=lt+Tt|0)>>>0>>0?1:0)|0}d=n.low=d+B,n.high=u+M+(d>>>0>>0?1:0),g=o.low=g+G,o.high=m+I+(g>>>0>>0?1:0),y=r.low=y+O,r.high=_+F+(y>>>0>>0?1:0),C=a.low=C+E,a.high=v+R+(C>>>0>>0?1:0),w=s.low=w+D,s.high=x+P+(w>>>0>>0?1:0),T=p.low=T+j,p.high=S+L+(T>>>0>>0?1:0),A=l.low=A+H,l.high=b+z+(A>>>0>>0?1:0),N=f.low=N+W,f.high=k+V+(N>>>0>>0?1:0)},_doFinalize:function(){var t=this._data,e=t.words,i=8*this._nDataBytes,n=8*t.sigBytes;return e[n>>>5]|=128<<24-n%32,e[30+(n+128>>>10<<5)]=Math.floor(i/4294967296),e[31+(n+128>>>10<<5)]=i,t.sigBytes=4*e.length,this._process(),this._hash.toX32()},clone:function(){var t=i.clone.call(this);return t._hash=this._hash.clone(),t},blockSize:32});e.SHA512=i._createHelper(p),e.HmacSHA512=i._createHmacHelper(p)}(),function(){var t=s,e=t.x64,i=e.Word,n=e.WordArray,o=t.algo,r=o.SHA512,a=o.SHA384=r.extend({_doReset:function(){this._hash=new n.init([new i.init(3418070365,3238371032),new i.init(1654270250,914150663),new i.init(2438529370,812702999),new i.init(355462360,4144912697),new i.init(1731405415,4290775857),new i.init(2394180231,1750603025),new i.init(3675008525,1694076839),new i.init(1203062813,3204075428)])},_doFinalize:function(){var t=r._doFinalize.call(this);return t.sigBytes-=16,t}});t.SHA384=r._createHelper(a),t.HmacSHA384=r._createHmacHelper(a)}(),s.lib.Cipher||function(t){var e=s,i=e.lib,n=i.Base,o=i.WordArray,r=i.BufferedBlockAlgorithm,a=e.enc,c=(a.Utf8,a.Base64),h=e.algo.EvpKDF,p=i.Cipher=r.extend({cfg:n.extend(),createEncryptor:function(t,e){return this.create(this._ENC_XFORM_MODE,t,e)},createDecryptor:function(t,e){return this.create(this._DEC_XFORM_MODE,t,e)},init:function(t,e,i){this.cfg=this.cfg.extend(i),this._xformMode=t,this._key=e,this.reset()},reset:function(){r.reset.call(this),this._doReset()},process:function(t){return this._append(t),this._process()},finalize:function(t){return t&&this._append(t),this._doFinalize()},keySize:4,ivSize:4,_ENC_XFORM_MODE:1,_DEC_XFORM_MODE:2,_createHelper:function(){function t(t){return"string"==typeof t?v:_}return function(e){return{encrypt:function(i,n,o){return t(n).encrypt(e,i,n,o)},decrypt:function(i,n,o){return t(n).decrypt(e,i,n,o)}}}}()}),l=(i.StreamCipher=p.extend({_doFinalize:function(){return this._process(!0)},blockSize:1}),e.mode={}),f=i.BlockCipherMode=n.extend({createEncryptor:function(t,e){return this.Encryptor.create(t,e)},createDecryptor:function(t,e){return this.Decryptor.create(t,e)},init:function(t,e){this._cipher=t,this._iv=e}}),u=l.CBC=function(){function e(e,i,n){var o=this._iv;if(o){var r=o;this._iv=t}else r=this._prevBlock;for(var a=0;a>>2];t.sigBytes-=e}},m=(i.BlockCipher=p.extend({cfg:p.cfg.extend({mode:u,padding:d}),reset:function(){p.reset.call(this);var t=this.cfg,e=t.iv,i=t.mode;if(this._xformMode==this._ENC_XFORM_MODE)var n=i.createEncryptor;else n=i.createDecryptor,this._minBufferSize=1;this._mode&&this._mode.__creator==n?this._mode.init(this,e&&e.words):(this._mode=n.call(i,this,e&&e.words),this._mode.__creator=n)},_doProcessBlock:function(t,e){this._mode.processBlock(t,e)},_doFinalize:function(){var t=this.cfg.padding;if(this._xformMode==this._ENC_XFORM_MODE){t.pad(this._data,this.blockSize);var e=this._process(!0)}else e=this._process(!0),t.unpad(e);return e},blockSize:4}),i.CipherParams=n.extend({init:function(t){this.mixIn(t)},toString:function(t){return(t||this.formatter).stringify(this)}})),g=(e.format={}).OpenSSL={stringify:function(t){var e=t.ciphertext,i=t.salt;if(i)var n=o.create([1398893684,1701076831]).concat(i).concat(e);else n=e;return n.toString(c)},parse:function(t){var e=c.parse(t),i=e.words;if(1398893684==i[0]&&1701076831==i[1]){var n=o.create(i.slice(2,4));i.splice(0,4),e.sigBytes-=16}return m.create({ciphertext:e,salt:n})}},_=i.SerializableCipher=n.extend({cfg:n.extend({format:g}),encrypt:function(t,e,i,n){n=this.cfg.extend(n);var o=t.createEncryptor(i,n),r=o.finalize(e),a=o.cfg;return m.create({ciphertext:r,key:i,iv:a.iv,algorithm:t,mode:a.mode,padding:a.padding,blockSize:t.blockSize,formatter:n.format})},decrypt:function(t,e,i,n){return n=this.cfg.extend(n),e=this._parse(e,n.format),t.createDecryptor(i,n).finalize(e.ciphertext)},_parse:function(t,e){return"string"==typeof t?e.parse(t,this):t}}),y=(e.kdf={}).OpenSSL={execute:function(t,e,i,n){n||(n=o.random(8));var r=h.create({keySize:e+i}).compute(t,n),a=o.create(r.words.slice(e),4*i);return r.sigBytes=4*e,m.create({key:r,iv:a,salt:n})}},v=i.PasswordBasedCipher=_.extend({cfg:_.cfg.extend({kdf:y}),encrypt:function(t,e,i,n){var o=(n=this.cfg.extend(n)).kdf.execute(i,t.keySize,t.ivSize);n.iv=o.iv;var r=_.encrypt.call(this,t,e,o.key,n);return r.mixIn(o),r},decrypt:function(t,e,i,n){n=this.cfg.extend(n),e=this._parse(e,n.format);var o=n.kdf.execute(i,t.keySize,t.ivSize,e.salt);return n.iv=o.iv,_.decrypt.call(this,t,e,o.key,n)}})}(),s.mode.CFB=function(){function t(t,e,i,n){var o=this._iv;if(o){var r=o.slice(0);this._iv=void 0}else r=this._prevBlock;n.encryptBlock(r,0);for(var a=0;a>>2]|=o<<24-r%4*8,t.sigBytes+=o},unpad:function(t){var e=255&t.words[t.sigBytes-1>>>2];t.sigBytes-=e}},s.pad.Iso10126={pad:function(t,e){var i=4*e,n=i-t.sigBytes%i;t.concat(s.lib.WordArray.random(n-1)).concat(s.lib.WordArray.create([n<<24],1))},unpad:function(t){var e=255&t.words[t.sigBytes-1>>>2];t.sigBytes-=e}},s.pad.Iso97971={pad:function(t,e){t.concat(s.lib.WordArray.create([2147483648],1)),s.pad.ZeroPadding.pad(t,e)},unpad:function(t){s.pad.ZeroPadding.unpad(t),t.sigBytes--}},s.mode.OFB=function(){var t=s.lib.BlockCipherMode.extend(),e=t.Encryptor=t.extend({processBlock:function(t,e){var i=this._cipher,n=i.blockSize,o=this._iv,r=this._keystream;o&&(r=this._keystream=o.slice(0),this._iv=void 0),i.encryptBlock(r,0);for(var a=0;a>>8^255&d^99,n[i]=d,o[d]=i;var m=t[i],g=t[m],_=t[g],y=257*t[d]^16843008*d;r[i]=y<<24|y>>>8,a[i]=y<<16|y>>>16,c[i]=y<<8|y>>>24,h[i]=y,y=16843009*_^65537*g^257*m^16843008*i,p[d]=y<<24|y>>>8,l[d]=y<<16|y>>>16,f[d]=y<<8|y>>>24,u[d]=y,i?(i=m^t[t[t[_^m]]],s^=t[t[s]]):i=s=1}}();var d=[0,1,2,4,8,16,32,64,128,27,54],m=i.AES=e.extend({_doReset:function(){if(!this._nRounds||this._keyPriorReset!==this._key){for(var t=this._keyPriorReset=this._key,e=t.words,i=t.sigBytes/4,o=4*((this._nRounds=i+6)+1),r=this._keySchedule=[],a=0;a6&&a%i==4&&(s=n[s>>>24]<<24|n[s>>>16&255]<<16|n[s>>>8&255]<<8|n[255&s]):(s=n[(s=s<<8|s>>>24)>>>24]<<24|n[s>>>16&255]<<16|n[s>>>8&255]<<8|n[255&s],s^=d[a/i|0]<<24),r[a]=r[a-i]^s}for(var c=this._invKeySchedule=[],h=0;h>>24]]^l[n[s>>>16&255]]^f[n[s>>>8&255]]^u[n[255&s]]}},encryptBlock:function(t,e){this._doCryptBlock(t,e,this._keySchedule,r,a,c,h,n)},decryptBlock:function(t,e){var i=t[e+1];t[e+1]=t[e+3],t[e+3]=i,this._doCryptBlock(t,e,this._invKeySchedule,p,l,f,u,o),i=t[e+1],t[e+1]=t[e+3],t[e+3]=i},_doCryptBlock:function(t,e,i,n,o,r,a,s){for(var c=this._nRounds,h=t[e]^i[0],p=t[e+1]^i[1],l=t[e+2]^i[2],f=t[e+3]^i[3],u=4,d=1;d>>24]^o[p>>>16&255]^r[l>>>8&255]^a[255&f]^i[u++],g=n[p>>>24]^o[l>>>16&255]^r[f>>>8&255]^a[255&h]^i[u++],_=n[l>>>24]^o[f>>>16&255]^r[h>>>8&255]^a[255&p]^i[u++],y=n[f>>>24]^o[h>>>16&255]^r[p>>>8&255]^a[255&l]^i[u++];h=m,p=g,l=_,f=y}m=(s[h>>>24]<<24|s[p>>>16&255]<<16|s[l>>>8&255]<<8|s[255&f])^i[u++],g=(s[p>>>24]<<24|s[l>>>16&255]<<16|s[f>>>8&255]<<8|s[255&h])^i[u++],_=(s[l>>>24]<<24|s[f>>>16&255]<<16|s[h>>>8&255]<<8|s[255&p])^i[u++],y=(s[f>>>24]<<24|s[h>>>16&255]<<16|s[p>>>8&255]<<8|s[255&l])^i[u++],t[e]=m,t[e+1]=g,t[e+2]=_,t[e+3]=y},keySize:8});t.AES=e._createHelper(m)}(),function(){function t(t,e){var i=(this._lBlock>>>t^this._rBlock)&e;this._rBlock^=i,this._lBlock^=i<>>t^this._lBlock)&e;this._lBlock^=i,this._rBlock^=i<>>5]>>>31-n%32&1}for(var o=this._subKeys=[],r=0;r<16;r++){var a=o[r]=[],s=p[r];for(i=0;i<24;i++)a[i/6|0]|=e[(h[i]-1+s)%28]<<31-i%6,a[4+(i/6|0)]|=e[28+(h[i+24]-1+s)%28]<<31-i%6;for(a[0]=a[0]<<1|a[0]>>>31,i=1;i<7;i++)a[i]=a[i]>>>4*(i-1)+3;a[7]=a[7]<<5|a[7]>>>27}var l=this._invSubKeys=[];for(i=0;i<16;i++)l[i]=o[15-i]},encryptBlock:function(t,e){this._doCryptBlock(t,e,this._subKeys)},decryptBlock:function(t,e){this._doCryptBlock(t,e,this._invSubKeys)},_doCryptBlock:function(i,n,o){this._lBlock=i[n],this._rBlock=i[n+1],t.call(this,4,252645135),t.call(this,16,65535),e.call(this,2,858993459),e.call(this,8,16711935),t.call(this,1,1431655765);for(var r=0;r<16;r++){for(var a=o[r],s=this._lBlock,c=this._rBlock,h=0,p=0;p<8;p++)h|=l[p][((c^a[p])&f[p])>>>0];this._lBlock=c,this._rBlock=s^h}var u=this._lBlock;this._lBlock=this._rBlock,this._rBlock=u,t.call(this,1,1431655765),e.call(this,8,16711935),e.call(this,2,858993459),t.call(this,16,65535),t.call(this,4,252645135),i[n]=this._lBlock,i[n+1]=this._rBlock},keySize:2,ivSize:2,blockSize:2});i.DES=r._createHelper(u);var d=a.TripleDES=r.extend({_doReset:function(){var t=this._key.words;this._des1=u.createEncryptor(o.create(t.slice(0,2))),this._des2=u.createEncryptor(o.create(t.slice(2,4))),this._des3=u.createEncryptor(o.create(t.slice(4,6)))},encryptBlock:function(t,e){this._des1.encryptBlock(t,e),this._des2.decryptBlock(t,e),this._des3.encryptBlock(t,e)},decryptBlock:function(t,e){this._des3.decryptBlock(t,e),this._des2.encryptBlock(t,e),this._des1.decryptBlock(t,e)},keySize:6,ivSize:2,blockSize:2});i.TripleDES=r._createHelper(d)}(),function(){function t(){for(var t=this._S,e=this._i,i=this._j,n=0,o=0;o<4;o++){i=(i+t[e=(e+1)%256])%256;var r=t[e];t[e]=t[i],t[i]=r,n|=t[(t[e]+t[i])%256]<<24-8*o}return this._i=e,this._j=i,n}var e=s,i=e.lib.StreamCipher,n=e.algo,o=n.RC4=i.extend({_doReset:function(){for(var t=this._key,e=t.words,i=t.sigBytes,n=this._S=[],o=0;o<256;o++)n[o]=o;o=0;for(var r=0;o<256;o++){var a=o%i,s=e[a>>>2]>>>24-a%4*8&255;r=(r+n[o]+s)%256;var c=n[o];n[o]=n[r],n[r]=c}this._i=this._j=0},_doProcessBlock:function(e,i){e[i]^=t.call(this)},keySize:8,ivSize:0});e.RC4=i._createHelper(o);var r=n.RC4Drop=o.extend({cfg:o.cfg.extend({drop:192}),_doReset:function(){o._doReset.call(this);for(var e=this.cfg.drop;e>0;e--)t.call(this)}});e.RC4Drop=i._createHelper(r)}(),s.mode.CTRGladman=function(){function t(t){if(255==(t>>24&255)){var e=t>>16&255,i=t>>8&255,n=255&t;255===e?(e=0,255===i?(i=0,255===n?n=0:++n):++i):++e,t=0,t+=e<<16,t+=i<<8,t+=n}else t+=1<<24;return t}function e(e){return 0===(e[0]=t(e[0]))&&(e[1]=t(e[1])),e}var i=s.lib.BlockCipherMode.extend(),n=i.Encryptor=i.extend({processBlock:function(t,i){var n=this._cipher,o=n.blockSize,r=this._iv,a=this._counter;r&&(a=this._counter=r.slice(0),this._iv=void 0),e(a);var s=a.slice(0);n.encryptBlock(s,0);for(var c=0;c>>0>>0?1:0)|0,e[2]=e[2]+886263092+(e[1]>>>0>>0?1:0)|0,e[3]=e[3]+1295307597+(e[2]>>>0>>0?1:0)|0,e[4]=e[4]+3545052371+(e[3]>>>0>>0?1:0)|0,e[5]=e[5]+886263092+(e[4]>>>0>>0?1:0)|0,e[6]=e[6]+1295307597+(e[5]>>>0>>0?1:0)|0,e[7]=e[7]+3545052371+(e[6]>>>0>>0?1:0)|0,this._b=e[7]>>>0>>0?1:0,i=0;i<8;i++){var n=t[i]+e[i],o=65535&n,s=n>>>16,c=((o*o>>>17)+o*s>>>15)+s*s,h=((4294901760&n)*n|0)+((65535&n)*n|0);a[i]=c^h}t[0]=a[0]+(a[7]<<16|a[7]>>>16)+(a[6]<<16|a[6]>>>16)|0,t[1]=a[1]+(a[0]<<8|a[0]>>>24)+a[7]|0,t[2]=a[2]+(a[1]<<16|a[1]>>>16)+(a[0]<<16|a[0]>>>16)|0,t[3]=a[3]+(a[2]<<8|a[2]>>>24)+a[1]|0,t[4]=a[4]+(a[3]<<16|a[3]>>>16)+(a[2]<<16|a[2]>>>16)|0,t[5]=a[5]+(a[4]<<8|a[4]>>>24)+a[3]|0,t[6]=a[6]+(a[5]<<16|a[5]>>>16)+(a[4]<<16|a[4]>>>16)|0,t[7]=a[7]+(a[6]<<8|a[6]>>>24)+a[5]|0}var e=s,i=e.lib.StreamCipher,n=e.algo,o=[],r=[],a=[],c=n.Rabbit=i.extend({_doReset:function(){for(var e=this._key.words,i=this.cfg.iv,n=0;n<4;n++)e[n]=16711935&(e[n]<<8|e[n]>>>24)|4278255360&(e[n]<<24|e[n]>>>8);var o=this._X=[e[0],e[3]<<16|e[2]>>>16,e[1],e[0]<<16|e[3]>>>16,e[2],e[1]<<16|e[0]>>>16,e[3],e[2]<<16|e[1]>>>16],r=this._C=[e[2]<<16|e[2]>>>16,4294901760&e[0]|65535&e[1],e[3]<<16|e[3]>>>16,4294901760&e[1]|65535&e[2],e[0]<<16|e[0]>>>16,4294901760&e[2]|65535&e[3],e[1]<<16|e[1]>>>16,4294901760&e[3]|65535&e[0]];for(this._b=0,n=0;n<4;n++)t.call(this);for(n=0;n<8;n++)r[n]^=o[n+4&7];if(i){var a=i.words,s=a[0],c=a[1],h=16711935&(s<<8|s>>>24)|4278255360&(s<<24|s>>>8),p=16711935&(c<<8|c>>>24)|4278255360&(c<<24|c>>>8),l=h>>>16|4294901760&p,f=p<<16|65535&h;for(r[0]^=h,r[1]^=l,r[2]^=p,r[3]^=f,r[4]^=h,r[5]^=l,r[6]^=p,r[7]^=f,n=0;n<4;n++)t.call(this)}},_doProcessBlock:function(e,i){var n=this._X;t.call(this),o[0]=n[0]^n[5]>>>16^n[3]<<16,o[1]=n[2]^n[7]>>>16^n[5]<<16,o[2]=n[4]^n[1]>>>16^n[7]<<16,o[3]=n[6]^n[3]>>>16^n[1]<<16;for(var r=0;r<4;r++)o[r]=16711935&(o[r]<<8|o[r]>>>24)|4278255360&(o[r]<<24|o[r]>>>8),e[i+r]^=o[r]},blockSize:4,ivSize:2});e.Rabbit=i._createHelper(c)}(),s.mode.CTR=function(){var t=s.lib.BlockCipherMode.extend(),e=t.Encryptor=t.extend({processBlock:function(t,e){var i=this._cipher,n=i.blockSize,o=this._iv,r=this._counter;o&&(r=this._counter=o.slice(0),this._iv=void 0);var a=r.slice(0);i.encryptBlock(a,0),r[n-1]=r[n-1]+1|0;for(var s=0;s>>0>>0?1:0)|0,e[2]=e[2]+886263092+(e[1]>>>0>>0?1:0)|0,e[3]=e[3]+1295307597+(e[2]>>>0>>0?1:0)|0,e[4]=e[4]+3545052371+(e[3]>>>0>>0?1:0)|0,e[5]=e[5]+886263092+(e[4]>>>0>>0?1:0)|0,e[6]=e[6]+1295307597+(e[5]>>>0>>0?1:0)|0,e[7]=e[7]+3545052371+(e[6]>>>0>>0?1:0)|0,this._b=e[7]>>>0>>0?1:0,i=0;i<8;i++){var n=t[i]+e[i],o=65535&n,s=n>>>16,c=((o*o>>>17)+o*s>>>15)+s*s,h=((4294901760&n)*n|0)+((65535&n)*n|0);a[i]=c^h}t[0]=a[0]+(a[7]<<16|a[7]>>>16)+(a[6]<<16|a[6]>>>16)|0,t[1]=a[1]+(a[0]<<8|a[0]>>>24)+a[7]|0,t[2]=a[2]+(a[1]<<16|a[1]>>>16)+(a[0]<<16|a[0]>>>16)|0,t[3]=a[3]+(a[2]<<8|a[2]>>>24)+a[1]|0,t[4]=a[4]+(a[3]<<16|a[3]>>>16)+(a[2]<<16|a[2]>>>16)|0,t[5]=a[5]+(a[4]<<8|a[4]>>>24)+a[3]|0,t[6]=a[6]+(a[5]<<16|a[5]>>>16)+(a[4]<<16|a[4]>>>16)|0,t[7]=a[7]+(a[6]<<8|a[6]>>>24)+a[5]|0}var e=s,i=e.lib.StreamCipher,n=e.algo,o=[],r=[],a=[],c=n.RabbitLegacy=i.extend({_doReset:function(){var e=this._key.words,i=this.cfg.iv,n=this._X=[e[0],e[3]<<16|e[2]>>>16,e[1],e[0]<<16|e[3]>>>16,e[2],e[1]<<16|e[0]>>>16,e[3],e[2]<<16|e[1]>>>16],o=this._C=[e[2]<<16|e[2]>>>16,4294901760&e[0]|65535&e[1],e[3]<<16|e[3]>>>16,4294901760&e[1]|65535&e[2],e[0]<<16|e[0]>>>16,4294901760&e[2]|65535&e[3],e[1]<<16|e[1]>>>16,4294901760&e[3]|65535&e[0]];this._b=0;for(var r=0;r<4;r++)t.call(this);for(r=0;r<8;r++)o[r]^=n[r+4&7];if(i){var a=i.words,s=a[0],c=a[1],h=16711935&(s<<8|s>>>24)|4278255360&(s<<24|s>>>8),p=16711935&(c<<8|c>>>24)|4278255360&(c<<24|c>>>8),l=h>>>16|4294901760&p,f=p<<16|65535&h;for(o[0]^=h,o[1]^=l,o[2]^=p,o[3]^=f,o[4]^=h,o[5]^=l,o[6]^=p,o[7]^=f,r=0;r<4;r++)t.call(this)}},_doProcessBlock:function(e,i){var n=this._X;t.call(this),o[0]=n[0]^n[5]>>>16^n[3]<<16,o[1]=n[2]^n[7]>>>16^n[5]<<16,o[2]=n[4]^n[1]>>>16^n[7]<<16,o[3]=n[6]^n[3]>>>16^n[1]<<16;for(var r=0;r<4;r++)o[r]=16711935&(o[r]<<8|o[r]>>>24)|4278255360&(o[r]<<24|o[r]>>>8),e[i+r]^=o[r]},blockSize:4,ivSize:2});e.RabbitLegacy=i._createHelper(c)}(),s.pad.ZeroPadding={pad:function(t,e){var i=4*e;t.clamp(),t.sigBytes+=i-(t.sigBytes%i||i)},unpad:function(t){for(var e=t.words,i=t.sigBytes-1;!(e[i>>>2]>>>24-i%4*8&255);)i--;t.sigBytes=i+1}},s}),cc._RF.pop()},{}],share:[function(t,e,i){"use strict";cc._RF.push(e,"7290caA39xMWZc2phTMKovP","share");var n=this&&this.__awaiter||function(t,e,i,n){return new(i||(i=Promise))(function(o,r){function a(t){try{c(n.next(t))}catch(e){r(e)}}function s(t){try{c(n.throw(t))}catch(e){r(e)}}function c(t){var e;t.done?o(t.value):(e=t.value,e instanceof i?e:new i(function(t){t(e)})).then(a,s)}c((n=n.apply(t,e||[])).next())})},o=this&&this.__generator||function(t,e){var i,n,o,r,a={label:0,sent:function(){if(1&o[0])throw o[1];return o[1]},trys:[],ops:[]};return r={next:s(0),throw:s(1),return:s(2)},"function"==typeof Symbol&&(r[Symbol.iterator]=function(){return this}),r;function s(t){return function(e){return c([t,e])}}function c(r){if(i)throw new TypeError("Generator is already executing.");for(;a;)try{if(i=1,n&&(o=2&r[0]?n.return:r[0]?n.throw||((o=n.return)&&o.call(n),0):n.next)&&!(o=o.call(n,r[1])).done)return o;switch(n=0,o&&(r=[2&r[0],o.value]),r[0]){case 0:case 1:o=r;break;case 4:return a.label++,{value:r[1],done:!1};case 5:a.label++,n=r[1],r=[0];continue;case 7:r=a.ops.pop(),a.trys.pop();continue;default:if(!(o=(o=a.trys).length>0&&o[o.length-1])&&(6===r[0]||2===r[0])){a=0;continue}if(3===r[0]&&(!o||r[1]>o[0]&&r[1]=0;s--)(o=t[s])&&(a=(r<3?o(a):r>3?o(e,i,a):o(e,i))||a);return r>3&&a&&Object.defineProperty(e,i,a),a};Object.defineProperty(i,"__esModule",{value:!0});var a=cc._decorator,s=a.ccclass,c=a.property,h=function(t){function e(){var e=null!==t&&t.apply(this,arguments)||this;return e.audioGameBgm0=null,e.chehui=null,e.jineng=null,e.qingkong=null,e.fangxiang=null,e.build=null,e.win=null,e.lose=null,e}var i;return o(e,t),i=e,e.prototype.onLoad=function(){null==i._instance&&(i._instance=this,cc.game.addPersistRootNode(this.node),this.reward=!1,this.finish=!1,this.rewardCount=0,this.ctor(),this.preload())},e.prototype.ctor=function(){this.mAudioMap={},this.bgMusicVolume=.1,this.effectMusicVolume=1,this.mMusicSwitch=1,this.mEffectSwitch=1},e.prototype.play=function(t,e,i,n){n?this.bgMusicVolume:this.effectMusicVolume,cc.audioEngine.setEffectsVolume(1),cc.audioEngine.setMusicVolume(1),"lose"==t.name?cc.audioEngine.setEffectsVolume(.5):cc.audioEngine.setEffectsVolume(1);var o=cc.audioEngine.playEffect(t,e);return i&&cc.audioEngine.setFinishCallback(o,function(){i.call(this)}.bind(this)),this.mAudioMap[t]=o,t},e.prototype.save=function(){},e.prototype.preload=function(){cc.sys.platform===cc.sys.WECHAT_GAME&&[this.audioGameBgm0].forEach(function(){})},e.prototype.getAudioMusicSwitch=function(){return this.mMusicSwitch},e.prototype.getAudioEffectSwitch=function(){return this.mEffectSwitch},e.prototype.trunAudioSound=function(t){this.switchMusic(t),this.switchEffect(t)},e.prototype.switchMusic=function(t){this.mMusicSwitch!=(t?1:0)&&(this.mMusicSwitch=1-this.mMusicSwitch),t?this.playMusicGame():this.stopMusic()},e.prototype.switchEffect=function(t){this.mEffectSwitch!=(t?1:0)&&(this.mEffectSwitch=1-this.mEffectSwitch)},e.prototype.onHide=function(){cc.audioEngine.pauseAll()},e.prototype.onShow=function(){cc.audioEngine.resumeAll()},e.prototype.playEffect=function(t,e){if(this[t])return this.play(this[t],!1,e,this.mEffectSwitch)},e.prototype.playMusic=function(t,e,i){i=!(void 0!==i&&!i),this.stopMusic(),this.mMusicKey=this.play(t,i,e,!0)},e.prototype.playMusicGame=function(){this.playMusic(this.audioGameBgm0,{},!0)},e.prototype.stopMusic=function(){var t=this.mAudioMap[this.mMusicKey];void 0!==t&&(cc.sys.isBrowser?cc.audioEngine.stop(t):t.stop(),cc.audioEngine.stop(t))},e.prototype.playGameStart=function(){},e.prototype.playGameOver=function(){},e.prototype.playGameResultFailed=function(){},e.prototype.playGameResultSuccess=function(){},e.prototype.playAudioButton=function(){},r([c(cc.AudioClip)],e.prototype,"audioGameBgm0",void 0),r([c(cc.AudioClip)],e.prototype,"chehui",void 0),r([c(cc.AudioClip)],e.prototype,"jineng",void 0),r([c(cc.AudioClip)],e.prototype,"qingkong",void 0),r([c(cc.AudioClip)],e.prototype,"fangxiang",void 0),r([c(cc.AudioClip)],e.prototype,"build",void 0),r([c(cc.AudioClip)],e.prototype,"win",void 0),r([c(cc.AudioClip)],e.prototype,"lose",void 0),i=r([s],e)}(cc.Component);i.default=h,cc._RF.pop()},{}],Block:[function(t,e,i){"use strict";cc._RF.push(e,"c58deN2u1NGZL8nJwvnu1PR","Block");var n,o=this&&this.__extends||(n=function(t,e){return(n=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(t,e){t.__proto__=e}||function(t,e){for(var i in e)Object.prototype.hasOwnProperty.call(e,i)&&(t[i]=e[i])})(t,e)},function(t,e){function i(){this.constructor=t}n(t,e),t.prototype=null===e?Object.create(e):(i.prototype=e.prototype,new i)}),r=this&&this.__decorate||function(t,e,i,n){var o,r=arguments.length,a=r<3?e:null===n?n=Object.getOwnPropertyDescriptor(e,i):n;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)a=Reflect.decorate(t,e,i,n);else for(var s=t.length-1;s>=0;s--)(o=t[s])&&(a=(r<3?o(a):r>3?o(e,i,a):o(e,i))||a);return r>3&&a&&Object.defineProperty(e,i,a),a};Object.defineProperty(i,"__esModule",{value:!0}),i.PathType=i.BlockType=void 0;var a,s,c=cc._decorator,h=c.ccclass,l=c.property;(function(t){t[t.Nomal=0]="Nomal",t[t.Start=1]="Start",t[t.Nunja=2]="Nunja",t[t.Peak=3]="Peak",t[t.End=4]="End",t[t.Xi_Soil=5]="Xi_Soil",t[t.Reinforce=6]="Reinforce"})(a=i.BlockType||(i.BlockType={})),function(t){t.err="err",t.up="up",t.down="down",t.left="left",t.right="right",t.up_left="up_left",t.up_right="up_right",t.down_left="down_left",t.down_right="down_right",t.left_up="left_up",t.left_down="left_down",t.right_up="right_up",t.right_down="right_down"}(s=i.PathType||(i.PathType={}));var p=function(t){function e(){var e=null!==t&&t.apply(this,arguments)||this;return e.UI=null,e}return o(e,t),e.prototype.onLoad=function(){this.finishi=!1,this.pos_Shifting=0,this.pos=cc.v2(0,0)},e.prototype.start=function(){},e.prototype.initData=function(t,e,i){if(this.block_Type=t,this.pos=cc.v2(e.x,e.y),t==cc.Enum(a).Start){var n=this.node.getChildByName("sp");cc.fx.GameConfig.GM_INFO.level>3&&(n.getChildByName("end").y=20),this.rotateTarget(n,"start",e,i)}else if(t==cc.Enum(a).End)(n=this.node.getChildByName("sp")).getComponent(cc.Sprite).spriteFrame=this.UI._spriteFrames.end,cc.fx.GameConfig.GM_INFO.level>3&&(n.getChildByName("end").y=20),this.rotateTarget(n,"end",e,i);else if(t==cc.Enum(a).Nunja){var o=[0,90,180,270][Math.floor(4*Math.random())];this.node.getChildByName("bg").getComponent(cc.Sprite).spriteFrame=this.UI._spriteFrames.e5,this.node.getChildByName("bg").angle=-o,this.node.getComponent(cc.Sprite).spriteFrame=null}else if(t==cc.Enum(a).Peak){var r="shan"+Math.floor(4*Math.random()+1);this.node.getChildByName("bg").getComponent(cc.Sprite).spriteFrame=this.UI._spriteFrames[r],this.node.getComponent(cc.Sprite).spriteFrame=null}1==cc.fx.GameConfig.GM_INFO.level?(this.node.getChildByName("tipWin").opacity=220,this.node.getChildByName("tipLose").opacity=220):2==cc.fx.GameConfig.GM_INFO.level?(this.node.getChildByName("tipWin").opacity=100,this.node.getChildByName("tipLose").opacity=100):3==cc.fx.GameConfig.GM_INFO.level?(this.node.getChildByName("tipWin").opacity=50,this.node.getChildByName("tipLose").opacity=50):cc.fx.GameConfig.GM_INFO.level>3&&(this.node.getChildByName("tipWin").opacity=0,this.node.getChildByName("tipLose").opacity=0)},e.prototype.rotateTarget=function(t,e,i,n){var o=t.getChildByName(e);return i.y==n.y-1?(t.angle=0,"end"==e&&(o.getComponent(cc.Sprite).spriteFrame=this.UI._spriteFrames.end_x),o.active=!0,void(o.angle=0)):0==i.y?(t.angle=-180,"end"==e&&(o.getComponent(cc.Sprite).spriteFrame=this.UI._spriteFrames.end_x),o.active=!0,void(o.angle=-180)):void(i.x==n.x-1?(t.angle=90,o.getComponent(cc.Sprite).spriteFrame="start"==e?this.UI._spriteFrames.start_y:this.UI._spriteFrames.end_y,o.active=!0,o.angle=-90):0==i.x&&(t.angle=-90,o.getComponent(cc.Sprite).spriteFrame="start"==e?this.UI._spriteFrames.start_y:this.UI._spriteFrames.end_y,o.active=!0,o.angle=90))},e.prototype.setPath=function(t){this.path_Type=t},e.prototype.set_Xi_Soil=function(t,e){var i=this.node.getChildByName("sp"),n=this.node.getChildByName("turnStart"),o=this.node.getChildByName("waterStart");if("left"==t||"right"==t)0==i.angle?(n.active=!0,o.active=!0,o.opacity=0,e?(n.angle="left"==t?90:0,o.angle="left"==t?90:0):(n.angle="left"==t?0:90,o.angle="left"==t?0:90)):-180==i.angle?(n.active=!0,o.active=!0,o.opacity=0,e?(n.angle="left"==t?-180:-90,o.angle="left"==t?-180:-90):(n.angle="left"==t?270:-180,o.angle="left"==t?270:-180)):-90==i.angle?(n.active=!0,n.getComponent(cc.Sprite).spriteFrame=this.UI._spriteFrames.a1,n.angle=90,e&&(o.active=!0,o.angle=90,o.getComponent(cc.Sprite).spriteFrame=this.UI._spriteFrames.block1,o.opacity=0)):90==i.angle&&(n.active=!0,n.getComponent(cc.Sprite).spriteFrame=this.UI._spriteFrames.a1,n.angle=90,e&&(o.active=!0,o.angle=90,o.getComponent(cc.Sprite).spriteFrame=this.UI._spriteFrames.block1,o.opacity=0));else if("up"==t||"down"==t){var r=this.node.getChildByName("sp");-90==r.angle?(n.active=!0,o.active=!0,o.opacity=0,e?(n.angle="up"==t?0:-90,o.angle="up"==t?0:-90):(n.angle="up"==t?-90:0,o.angle="up"==t?-90:0)):90==r.angle?(n.active=!0,o.active=!0,o.opacity=0,e?(n.angle="up"==t?90:180,o.angle="up"==t?90:180):(n.angle="up"==t?180:90,o.angle="up"==t?180:90)):0==r.angle?(n.active=!0,n.getComponent(cc.Sprite).spriteFrame=this.UI._spriteFrames.a1,n.angle=0,e&&(o.active=!0,o.getComponent(cc.Sprite).spriteFrame=this.UI._spriteFrames.block1,o.opacity=0)):-180==r.angle&&(n.active=!0,n.getComponent(cc.Sprite).spriteFrame=this.UI._spriteFrames.a1,n.angle=0,e&&(o.active=!0,o.getComponent(cc.Sprite).spriteFrame=this.UI._spriteFrames.block1,o.opacity=0))}},e.prototype.set_Xi_SoilType=function(t,e,i){var n=this,o=this.repeatRoad(!0,t);if(console.log("\u606f\u58e4\u91cd\u590d\u5224\u65ad\u7ed3\u679c",o),1!=o)if(this.block_Type!=cc.Enum(a).Start){this.block_Type==cc.Enum(a).Nunja&&(this.block_Type=cc.Enum(a).Nomal,this.node.getChildByName("bg").getComponent(cc.Sprite).spriteFrame=null,this.node.getComponent(cc.Sprite).spriteFrame=this.UI._spriteFrames.block_Bg),null!=e&&(this.block_Type==cc.Enum(a).End&&(this.finishi=!0,setTimeout(function(){n.set_Xi_Soil(t,!0)},500)),setTimeout(function(){"water"==i?cc.fx.Notifications.emit(cc.fx.Message.nextWater,e+1):cc.fx.Notifications.emit(cc.fx.Message.next,e+1)},400)),this.block_Type!=cc.Enum(a).End&&this.block_Type!=cc.Enum(a).Start&&(this.block_Type=cc.Enum(a).Xi_Soil);var r=this.node.getChildByName("Xi_Soil");this.path_Type=t,r.active=!0,r.opacity=0,cc.tween(r).to(.1,{opacity:255}).to(.1,{opacity:0}).call(function(){if(null!=t&&null==e){var o={order:0,time:cc.fx.GameConfig.TIME_INFO.waterSpeed[0],type:0,circulate:!1};"water"==i?n.runWater(o):n.runRoad(o)}}).start()}else this.set_Xi_Soil(t,!1);else cc.fx.Notifications.emit(cc.fx.Message.showResult,"lose")},e.prototype.repeatRoad=function(t,e){var i=!1;return 1==this.node.getChildByName("vertical2").active&&1==this.node.getChildByName("horizontal2").active?(i=!0,t&&cc.fx.Notifications.emit(cc.fx.Message.showResult,"lose")):1==this.node.getChildByName("turn2").active&&this.block_Type!=cc.Enum(a).Xi_Soil&&(i=!0,t&&cc.fx.Notifications.emit(cc.fx.Message.showResult,"lose")),e&&(1!=this.node.getChildByName("vertical2").active||this.block_Type!=cc.Enum(a).Xi_Soil||"up"!=e&&"down"!=e?1!=this.node.getChildByName("vertical2").active||this.block_Type!=cc.Enum(a).Xi_Soil||"right"!=e&&"left"!=e||90!=this.node.getChildByName("vertical2").angle&&270!=this.node.getChildByName("vertical2").angle||(i=!0,t&&cc.fx.Notifications.emit(cc.fx.Message.showResult,"lose")):0!=this.node.getChildByName("vertical2").angle&&180!=this.node.getChildByName("vertical2").angle||(i=!0,t&&cc.fx.Notifications.emit(cc.fx.Message.showResult,"lose"))),i},e.prototype.runRoad=function(t){if("err"!=this.path_Type){if(1!=this.repeatRoad(!0,null)){var e=null,i=1,n=t.time,o=t.order+1,r=Math.floor(4*Math.random()+1);if("vertical"==(e=this.node.getChildByName("vertical2")).name){var c=e.getChildByName("wave").getChildByName("water1"),h=e.getChildByName("wave").getChildByName("water2"),l=e.getChildByName("wave").getChildByName("water3");c.runAction(cc.sequence(cc.moveTo(.6,cc.v2(c.x,120)),cc.delayTime(.15),cc.callFunc(function(){c.y=-120})).repeatForever()),h.runAction(cc.sequence(cc.moveTo(.6,cc.v2(h.x,120)),cc.delayTime(.15),cc.callFunc(function(){h.y=-120})).repeatForever()),l.runAction(cc.sequence(cc.moveTo(.6,cc.v2(l.x,120)),cc.delayTime(.15),cc.callFunc(function(){l.y=-120})).repeatForever())}var p="a"+r;if(this.block_Type!=cc.Enum(a).Reinforce&&(e.getComponent(cc.Sprite).spriteFrame=this.UI._spriteFrames[p]),1==e.active&&(e=this.node.getChildByName("horizontal2"),p="b"+r,this.block_Type!=cc.Enum(a).Reinforce&&(e.getComponent(cc.Sprite).spriteFrame=this.UI._spriteFrames[p])),this.path_Type==cc.Enum(s).up);else if(this.path_Type==cc.Enum(s).down)e.angle=180;else if(this.path_Type==cc.Enum(s).left)e.angle=90,p="b"+r,this.block_Type!=cc.Enum(a).Reinforce&&(e.getComponent(cc.Sprite).spriteFrame=this.UI._spriteFrames[p]);else if(this.path_Type==cc.Enum(s).right)e.angle=270,p="b"+r,this.block_Type!=cc.Enum(a).Reinforce&&(e.getComponent(cc.Sprite).spriteFrame=this.UI._spriteFrames[p]);else{if("turn"==(e=this.node.getChildByName("turn2")).name){var f=e.getChildByName("wave").getChildByName("water");f.opacity=0,f.runAction(cc.sequence(cc.rotateTo(7.2,-1080),cc.delayTime(0)).repeatForever()),setTimeout(function(){f.opacity=255},200)}p="c"+r,this.block_Type!=cc.Enum(a).Reinforce&&(e.getComponent(cc.Sprite).spriteFrame=this.UI._spriteFrames[p]),i=.25,this.path_Type==cc.Enum(s).up_left?e.setPosition(-this.pos_Shifting,-this.pos_Shifting):this.path_Type==cc.Enum(s).up_right?(e.scaleX=-1,e.setPosition(this.pos_Shifting,-this.pos_Shifting)):this.path_Type==cc.Enum(s).down_left?(e.angle=180,e.scaleX=-1,e.setPosition(-this.pos_Shifting,this.pos_Shifting)):this.path_Type==cc.Enum(s).down_right?(e.angle=180,e.setPosition(this.pos_Shifting,this.pos_Shifting)):this.path_Type==cc.Enum(s).left_up?(e.angle=-90,e.scaleY=-1,e.setPosition(this.pos_Shifting,this.pos_Shifting)):this.path_Type==cc.Enum(s).left_down?(e.angle=90,e.setPosition(-this.pos_Shifting,-this.pos_Shifting)):this.path_Type==cc.Enum(s).right_up?(e.angle=-90,e.setPosition(-this.pos_Shifting,this.pos_Shifting)):this.path_Type==cc.Enum(s).right_down&&(e.angle=-90,e.scaleX=-1,e.setPosition(-this.pos_Shifting,-this.pos_Shifting))}if("Reinforce"==this.path_Type){if(e=this.node.getChildByName("Reinforce"),this.block_Type==cc.Enum(a).Peak)return void cc.fx.Notifications.emit(cc.fx.Message.showResult,"lose");this.block_Type!=cc.Enum(a).End&&(this.block_Type=cc.Enum(a).Reinforce),this.node.getChildByName("vertical2").getComponent(cc.Sprite).spriteFrame=this.UI._spriteFrames.e1,this.node.getChildByName("turn2").getComponent(cc.Sprite).spriteFrame=this.UI._spriteFrames.e3,this.node.getChildByName("horizontal2").getComponent(cc.Sprite).spriteFrame=this.UI._spriteFrames.e2,e.active=!0,e.opacity=0,i=1,cc.tween(e).to(cc.fx.GameConfig.TIME_INFO.ReinforceSpeed,{opacity:255}).call(function(){t.circulate&&cc.fx.Notifications.emit(cc.fx.Message.changeMap,o),cc.fx.Notifications.emit(cc.fx.Message.next,o)}).start()}else if("Xi_Soil"==this.path_Type)e.active=!1,this.block_Type!=cc.Enum(a).End&&this.block_Type!=cc.Enum(a).Start&&(this.block_Type=cc.Enum(a).Xi_Soil),(e=this.node.getChildByName("Xi_Soil")).active=!0,e.opacity=0,cc.tween(e).to(.01,{opacity:1}).to(.01,{opacity:0}).call(function(){t.circulate&&cc.fx.Notifications.emit(cc.fx.Message.next,o)}).start();else if("End"==this.path_Type){e.active=!1,this.block_Type!=cc.Enum(a).End&&this.block_Type!=cc.Enum(a).Start&&(this.block_Type=cc.Enum(a).Xi_Soil);var u=t.last,d="up";this.pos.x-u.x>=1?d="right":this.pos.x-u.x<=-1?d="left":this.pos.y-u.y>=1&&(d="down"),this.finishi||(this.finishi=!0,this.set_Xi_Soil(d,!0))}else e.active=!0,this.block_Type!=cc.Enum(a).Xi_Soil?(e.getComponent(cc.Sprite).fillRange=0,cc.tween(e.getComponent(cc.Sprite)).to(n,{fillRange:i}).call(function(){t.circulate&&cc.fx.Notifications.emit(cc.fx.Message.next,o)}).start()):(e.opacity=0,e.getComponent(cc.Sprite).fillRange=1,cc.tween(e).to(n,{opacity:255}).call(function(){t.circulate&&cc.fx.Notifications.emit(cc.fx.Message.next,o)}).start())}}else setTimeout(function(){t.circulate&&cc.fx.Notifications.emit(cc.fx.Message.next,o)},t.time)},e.prototype.runWater=function(t){if(1==this.node.getChildByName("waterStart").active&&this.block_Type==cc.Enum(a).Start&&cc.tween(this.node.getChildByName("waterStart")).to(.2,{opacity:255}).start(),"err"!=this.path_Type)if(1!=this.node.getChildByName("vertical").active||1!=this.node.getChildByName("horizontal").active)if(1!=this.node.getChildByName("turn").active||this.block_Type==cc.Enum(a).Xi_Soil){var e=null,i=1,n=t.time,o=t.order+1;Math.floor(4*Math.random()+1);if("vertical"==(e=this.node.getChildByName("vertical")).name){var r=e.getChildByName("wave").getChildByName("water1"),c=e.getChildByName("wave").getChildByName("water2"),h=e.getChildByName("wave").getChildByName("water3"),l=.15;r.runAction(cc.sequence(cc.moveTo(.6,cc.v2(r.x,120)),cc.delayTime(l),cc.callFunc(function(){r.y=-120})).repeatForever()),c.runAction(cc.sequence(cc.moveTo(.6,cc.v2(c.x,120)),cc.delayTime(l),cc.callFunc(function(){c.y=-120})).repeatForever()),h.runAction(cc.sequence(cc.moveTo(.6,cc.v2(h.x,120)),cc.delayTime(l),cc.callFunc(function(){h.y=-120})).repeatForever())}if(1==e.active){var p=(e=this.node.getChildByName("horizontal")).getChildByName("wave").getChildByName("water1"),f=e.getChildByName("wave").getChildByName("water2"),u=e.getChildByName("wave").getChildByName("water3");l=.15,p.runAction(cc.sequence(cc.moveTo(.6,cc.v2(p.x,120)),cc.delayTime(l),cc.callFunc(function(){p.y=-120})).repeatForever()),f.runAction(cc.sequence(cc.moveTo(.6,cc.v2(f.x,120)),cc.delayTime(l),cc.callFunc(function(){f.y=-120})).repeatForever()),u.runAction(cc.sequence(cc.moveTo(.6,cc.v2(u.x,120)),cc.delayTime(l),cc.callFunc(function(){u.y=-120})).repeatForever())}if(this.path_Type==cc.Enum(s).up);else if(this.path_Type==cc.Enum(s).down)e.angle=180;else if(this.path_Type==cc.Enum(s).left)e.angle=90;else if(this.path_Type==cc.Enum(s).right)e.angle=270;else{if("turn"==(e=this.node.getChildByName("turn")).name){var d=e.getChildByName("wave").getChildByName("water");d.opacity=0,d.runAction(cc.sequence(cc.rotateTo(7.2,-1080),cc.delayTime(0)).repeatForever()),setTimeout(function(){d.opacity=255},200)}i=.25,this.path_Type==cc.Enum(s).up_left?e.setPosition(-this.pos_Shifting,-this.pos_Shifting):this.path_Type==cc.Enum(s).up_right?(e.scaleX=-1,e.setPosition(this.pos_Shifting,-this.pos_Shifting)):this.path_Type==cc.Enum(s).down_left?(e.angle=180,e.scaleX=-1,e.setPosition(-this.pos_Shifting,this.pos_Shifting)):this.path_Type==cc.Enum(s).down_right?(e.angle=180,e.setPosition(this.pos_Shifting,this.pos_Shifting)):this.path_Type==cc.Enum(s).left_up?(e.angle=-90,e.scaleY=-1,e.setPosition(this.pos_Shifting,this.pos_Shifting)):this.path_Type==cc.Enum(s).left_down?(e.angle=90,e.setPosition(-this.pos_Shifting,-this.pos_Shifting)):this.path_Type==cc.Enum(s).right_up?(e.angle=-90,e.setPosition(-this.pos_Shifting,this.pos_Shifting)):this.path_Type==cc.Enum(s).right_down&&(e.angle=-90,e.scaleX=-1,e.setPosition(-this.pos_Shifting,-this.pos_Shifting))}if("End"==this.path_Type)if(e.active=!1,this.block_Type==cc.Enum(a).End)1==this.node.getChildByName("waterStart").active&&this.block_Type==cc.Enum(a).End&&cc.tween(this.node.getChildByName("waterStart")).to(.2,{opacity:255}).call(function(){cc.fx.Notifications.emit(cc.fx.Message.showResult,"win"),cc.fx.GameConfig.GM_INFO.level<7&&(cc.fx.GameConfig.GM_INFO.level+=1),setTimeout(function(){},500)}).start();else{(e=this.node.getChildByName("End")).active=!0,e.opacity=0;var m=t.last;this.pos.x-m.x>=1?e.angle=-90:this.pos.x-m.x<=-1?e.angle=90:this.pos.y-m.y>=1&&(e.angle=180),cc.tween(e).to(.5,{opacity:255}).call(function(){cc.fx.Notifications.emit(cc.fx.Message.showResult,"lose")}).start()}else e.active=!0,e.getComponent(cc.Sprite).fillRange=0,cc.tween(e.getComponent(cc.Sprite)).to(n,{fillRange:i}).call(function(){t.circulate&&cc.fx.Notifications.emit(cc.fx.Message.nextWater,o)}).start()}else cc.fx.Notifications.emit(cc.fx.Message.showResult,"lose");else cc.fx.Notifications.emit(cc.fx.Message.showResult,"lose");else setTimeout(function(){t.circulate&&cc.fx.Notifications.emit(cc.fx.Message.nextWater,o)},t.time)},r([l(cc.SpriteAtlas)],e.prototype,"UI",void 0),r([h],e)}(cc.Component);i.default=p,cc._RF.pop()},{}],ControlManager:[function(t,e,i){"use strict";cc._RF.push(e,"e35abcX5VRAoItO6mgFcYyX","ControlManager");var n,o=this&&this.__extends||(n=function(t,e){return(n=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(t,e){t.__proto__=e}||function(t,e){for(var i in e)Object.prototype.hasOwnProperty.call(e,i)&&(t[i]=e[i])})(t,e)},function(t,e){function i(){this.constructor=t}n(t,e),t.prototype=null===e?Object.create(e):(i.prototype=e.prototype,new i)}),r=this&&this.__decorate||function(t,e,i,n){var o,r=arguments.length,a=r<3?e:null===n?n=Object.getOwnPropertyDescriptor(e,i):n;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)a=Reflect.decorate(t,e,i,n);else for(var s=t.length-1;s>=0;s--)(o=t[s])&&(a=(r<3?o(a):r>3?o(e,i,a):o(e,i))||a);return r>3&&a&&Object.defineProperty(e,i,a),a};Object.defineProperty(i,"__esModule",{value:!0});var a=cc._decorator,s=a.ccclass,c=a.property,h=function(t){function e(){var e=null!==t&&t.apply(this,arguments)||this;return e.Map=null,e.tip=null,e.reinforce=null,e.soil=null,e}return o(e,t),e.prototype.start=function(){this.tipArray=[],this.controlArray=[],this.canTouch=!0,this.Reinforce=!1,this.Soil=!1,this.mapHeight=0},e.prototype.setPosition=function(t){if(t.setPosition(30,-25),this.tipArray.length>0){var e=this.tipArray.length+1,i=Math.ceil(e/8)-1,n=e-8*Math.floor(i)-1;t.setPosition(30+48*n,-25-48*i+this.mapHeight)}},e.prototype.removeAllTip=function(){if(this.canTouch&&this.tipArray.length>0){cc.fx.AudioManager._instance.playEffect("qingkong",null);for(var t=0;t0){cc.fx.AudioManager._instance.playEffect("chehui",null);var t=this.tipArray[this.tipArray.length-1];t.active=!1,t.removeFromParent(this.Map),t=null,this.tipArray.pop(),this.controlArray.pop();var e=cc.fx.GameConfig.CLICK_DATA.drawingBack+1;cc.fx.GameConfig.CLICK_SET("drawingBack",e),cc.fx.Notifications.emit(cc.fx.Message.removeTip,"back"),this.tipArray.length>=24&&this.tipArray.length%8==0&&this.mapMove(!1)}},e.prototype.btn_Click=function(t,e){var i=this.node.parent.getComponent("GameManager");if(1==i.btnClick&&(i.btnClick=!1,cc.fx.Notifications.emit(cc.fx.Message.guideNext)),cc.fx.Notifications.emit(cc.fx.Message.control,e),this.canTouch){var n=this.tip;if("reinforce"==e||"soil"==e){if(n=this[e],"reinforce"==e){if(this.Reinforce)return this.Reinforce=!1,void this.back_Click();cc.fx.AudioManager._instance.playEffect("jineng",null),this.Reinforce=!0,this.Soil=!1}else if("soil"==e){if(this.Soil)return this.Soil=!1,void this.back_Click();cc.fx.AudioManager._instance.playEffect("jineng",null),this.Soil=!0,this.Reinforce=!1}}else cc.fx.AudioManager._instance.playEffect("fangxiang",null),this.Reinforce=!1,this.Soil=!1;var o=cc.instantiate(n);"up"==e&&(o.angle=180),"left"==e&&(o.angle=-90),"right"==e&&(o.angle=90),o.parent=this.Map,"reinforce"!=this.controlArray[this.controlArray.length-1]&&"soil"!=this.controlArray[this.controlArray.length-1]||"reinforce"!=e&&"soil"!=e||(this.tipArray[this.tipArray.length-1].removeFromParent(),this.tipArray[this.tipArray.length-1]=null,this.tipArray.pop(),this.controlArray.pop()),this.setPosition(o),this.tipArray.push(o),this.controlArray.push(e),this.tipArray.length>=25&&(this.tipArray.length-1)%8==0&&this.mapMove(!0)}},e.prototype.mapMove=function(t){t?this.mapHeight+=48:this.mapHeight-=48;for(var e=0;e=0;s--)(o=t[s])&&(a=(r<3?o(a):r>3?o(e,i,a):o(e,i))||a);return r>3&&a&&Object.defineProperty(e,i,a),a};Object.defineProperty(i,"__esModule",{value:!0}),i.GameConfig=void 0;var o=t("../Share/share"),r=cc._decorator,a=r.ccclass,s=(r.property,function(){function t(){}var e;return e=t,Object.defineProperty(t,"Instance",{get:function(){return null==this._instance&&(this._instance=new e),this._instance},enumerable:!1,configurable:!0}),t.init=function(t){this.CLICK_init(),this.LEVEL_INFO_init(),this.GM_INFO_init(),this.GAME_DATA=[],this.CUSTOM_INFO=[{moveSpeed:0,waitTime:20,fastPath:5},{moveSpeed:0,waitTime:20,fastPath:5},{moveSpeed:0,waitTime:20,fastPath:5},{moveSpeed:0,waitTime:20,fastPath:5},{moveSpeed:0,waitTime:20,fastPath:5},{moveSpeed:0,waitTime:20,fastPath:5},{moveSpeed:0,waitTime:20,fastPath:5},{moveSpeed:0,waitTime:20,fastPath:5},{moveSpeed:0,waitTime:20,fastPath:5},{moveSpeed:0,waitTime:20,fastPath:5}],o.WeChat.setShare(location.href),t||this.Authentication()},t.GM_INFO_init=function(){this.GM_INFO={mean_Time:0,total:0,currSeed:2e5,gameId:"100012",userId:0,guide:!1,url:"https://api.sparkus.cn",success:!1,matchId:null,custom:0,round:0,level:0,stepTimeList:0,successList:[],fen:0,score:0,igniteCount:0,min_Steps:0,min_Time:0}},t.GM_INFO_SET=function(t,e){this.GM_INFO[t]=e},t.CLICK_init=function(){this.CLICK_DATA={type:1,success:!1,round:0,getScore:0,cumulativeScore:0,mapId:"",difficulty:0,optimizedSteps:0,usedSteps:0,stepList:[],startTime:-1,submitTime:-1,duration:0,drawingBack:0,drawingReset:0,timer:0}},t.CLICK_SET=function(t,e){this.CLICK_DATA[t]=e},t.LEVEL_INFO_init=function(){this.TIME_INFO={waterSpeed:[.3,.25,.2,.18,.16,.14,.12,.1],totalTime:120,waterTime:[10,12,14,16,18,20,20,20],roadSpeed:.2,ReinforceSpeed:.2,Xi_SoilSpeed:.2},this.LEVEL_INFO=[[{id:"1001",map:[[0,4,0,0],[0,0,0,0],[0,0,0,0],[0,0,1,0]],min_steps:3},{id:"1002",map:[[1,0,0,0],[0,0,0,4],[0,0,0,0],[0,0,0,0]],min_steps:3},{id:"1004",map:[[1,0,0,0],[0,0,0,0],[0,0,0,0],[0,4,0,0]],min_steps:3},{id:"1006",map:[[4,0,0,0],[0,0,0,0],[0,0,0,0],[0,1,0,0]],min_steps:3},{id:"1003",map:[[1,0,0,0],[0,0,0,0],[0,0,0,0],[0,0,0,4]],min_steps:4},{id:"1005",map:[[1,0,0,0],[0,0,0,0],[0,0,0,4],[0,0,0,0]],min_steps:4},{id:"1007",map:[[0,4,0,0],[0,0,0,0],[0,0,0,0],[0,0,0,1]],min_steps:4},{id:"1008",map:[[0,0,0,4],[0,0,0,0],[0,0,0,0],[1,0,0,0]],min_steps:4}],[{id:"2001",map:[[0,0,0,0,1],[0,0,0,0,0],[0,0,3,0,3],[0,0,0,0,0],[4,0,0,0,3]],min_steps:4},{id:"2002",map:[[0,1,0,0,0],[0,0,0,0,0],[3,3,0,0,4],[0,0,0,0,0],[3,0,0,0,0]],min_steps:4},{id:"2009",map:[[0,3,0,0,4],[3,0,0,0,0],[0,0,0,0,0],[1,0,0,0,0],[0,3,0,0,0]],min_steps:4},{id:"2010",map:[[0,0,0,0,1],[0,0,0,0,0],[0,0,0,0,0],[0,3,0,3,0],[4,0,3,0,0]],min_steps:4},{id:"2011",map:[[4,3,1,0,0],[0,0,0,0,3],[0,0,0,3,0],[0,0,0,0,0],[0,0,0,0,0]],min_steps:4},{id:"2021",map:[[0,0,0,1,0],[0,0,3,0,0],[0,0,0,3,3],[0,0,0,0,0],[0,4,0,0,0]],min_steps:4},{id:"2004",map:[[1,0,0,0,0],[0,0,0,0,3],[3,0,0,0,0],[0,0,0,0,0],[0,0,0,0,4]],min_steps:5},{id:"2012",map:[[0,3,0,4,0],[0,0,0,3,0],[1,0,3,0,0],[0,0,0,0,0],[0,0,0,0,0]],min_steps:5},{id:"2013",map:[[0,0,0,0,0],[1,0,0,0,0],[0,0,0,3,3],[3,0,0,0,0],[0,0,0,4,0]],min_steps:5},{id:"2014",map:[[3,0,1,0,0],[0,3,0,0,0],[0,0,0,0,0],[4,0,0,3,0],[0,0,0,0,0]],min_steps:5},{id:"2015",map:[[3,0,0,0,1],[3,0,0,0,0],[0,0,0,0,0],[4,3,0,0,0],[3,0,0,0,0]],min_steps:5},{id:"2016",map:[[0,0,0,0,0],[1,0,3,0,0],[3,0,0,0,3],[0,0,0,0,0],[0,0,0,0,4]],min_steps:5},{id:"2017",map:[[0,3,0,0,0],[4,0,0,0,0],[0,0,0,0,0],[3,0,3,0,0],[3,0,0,0,1]],min_steps:5},{id:"2018",map:[[0,3,4,3,3],[0,0,0,0,0],[0,0,0,0,0],[0,0,0,0,0],[0,0,3,0,1]],min_steps:5},{id:"2019",map:[[3,0,0,4,0],[0,0,0,3,0],[0,0,0,0,0],[0,0,0,0,0],[1,0,3,0,0]],min_steps:5},{id:"2020",map:[[4,0,3,0,1],[0,0,0,0,3],[0,0,0,0,0],[0,0,0,0,0],[0,0,3,0,0]],min_steps:5},{id:"2003",map:[[1,0,0,3,0],[0,0,3,0,0],[0,0,0,0,0],[0,0,0,0,0],[0,3,0,4,0]],min_steps:6},{id:"2005",map:[[0,3,0,0,0],[1,0,0,0,0],[0,0,0,3,0],[0,0,0,0,0],[0,3,0,4,0]],min_steps:6},{id:"2006",map:[[0,1,0,0,0],[0,0,0,0,3],[0,0,0,0,3],[0,0,0,0,0],[0,0,0,3,4]],min_steps:6},{id:"2007",map:[[3,0,0,0,1],[0,0,0,0,3],[0,0,0,0,0],[0,0,0,0,0],[4,3,0,0,0]],min_steps:6},{id:"2008",map:[[3,4,0,0,0],[0,0,0,0,3],[0,0,0,3,1],[0,0,0,0,0],[0,0,0,0,0]],min_steps:6},{id:"2022",map:[[0,0,0,0,0],[1,3,0,0,3],[0,0,0,0,0],[0,0,0,0,0],[0,0,3,4,0]],min_steps:6}],[{id:"3001",map:[[3,0,2,3,4],[0,0,0,2,2],[2,3,3,3,3],[0,0,2,0,2],[1,0,2,3,0]],min_steps:5},{id:"3002",map:[[3,0,3,2,0],[1,2,0,3,2],[2,3,0,0,4],[2,0,2,2,0],[3,3,0,3,0]],min_steps:5},{id:"3003",map:[[0,2,3,3,4],[2,2,0,0,0],[1,3,3,3,2],[2,2,3,2,3],[0,0,0,0,0]],min_steps:5},{id:"3004",map:[[3,2,2,1,0],[0,0,3,2,2],[3,0,2,3,0],[3,0,0,3,3],[0,2,4,0,2]],min_steps:5},{id:"3005",map:[[3,0,3,0,0],[2,3,0,0,1],[0,2,2,2,3],[4,2,0,0,2],[3,3,0,3,2]],min_steps:5},{id:"3008",map:[[3,3,3,0,1],[0,0,0,0,3],[2,2,3,2,2],[0,2,3,0,3],[4,2,2,0,0]],min_steps:5},{id:"3009",map:[[1,0,3,3,2],[3,0,2,0,0],[0,3,3,2,4],[0,0,3,0,2],[2,2,2,0,3]],min_steps:5},{id:"3010",map:[[3,0,2,0,4],[1,2,3,0,3],[2,0,3,2,0],[0,3,0,0,3],[2,0,2,3,2]],min_steps:5},{id:"3006",map:[[2,0,2,2,0],[1,2,3,0,0],[3,3,0,3,2],[3,0,0,3,2],[2,0,3,0,4]],min_steps:6},{id:"3007",map:[[1,2,0,3,3],[2,2,0,2,0],[2,3,2,0,3],[0,3,2,0,4],[0,0,3,0,3]],min_steps:6},{id:"3011",map:[[2,3,0,1,0],[0,0,0,0,0],[3,0,0,0,3],[0,2,0,3,2],[4,3,3,2,2]],min_steps:6},{id:"3012",map:[[0,2,1,0,3],[0,3,0,0,3],[3,2,3,2,0],[0,2,0,3,0],[2,0,0,0,4]],min_steps:6},{id:"3013",map:[[0,2,1,0,3],[0,3,0,0,3],[3,2,3,2,0],[0,2,0,3,0],[2,0,0,0,4]],min_steps:6},{id:"3014",map:[[1,0,3,3,4],[2,3,0,3,0],[0,2,2,0,0],[3,3,0,0,2],[2,0,0,0,0]],min_steps:6},{id:"3015",map:[[2,3,0,0,0],[0,0,2,3,0],[4,0,3,0,3],[2,0,2,2,3],[0,3,0,0,1]],min_steps:6},{id:"3016",map:[[3,0,2,0,2],[2,0,0,0,3],[0,2,3,0,1],[4,0,0,3,0],[3,3,0,0,2]],min_steps:6},{id:"3017",map:[[0,3,0,0,2],[3,0,2,0,4],[1,3,3,0,0],[2,0,0,2,0],[3,2,3,0,0]],min_steps:6},{id:"3018",map:[[4,2,0,0,0],[0,0,0,3,2],[0,3,0,0,3],[3,2,3,2,0],[3,0,2,1,0]],min_steps:7},{id:"3019",map:[[0,4,0,3,2],[0,2,0,0,0],[3,0,3,0,2],[3,3,2,3,1],[2,0,0,0,0]],min_steps:7},{id:"3020",map:[[0,2,0,1,0],[0,0,0,3,2],[3,0,3,3,3],[3,0,0,0,2],[0,2,2,4,0]],min_steps:7},{id:"3021",map:[[3,2,0,2,1],[3,2,0,3,2],[3,0,0,2,3],[0,0,0,0,4],[0,0,3,0,0]],min_steps:7},{id:"3022",map:[[2,0,2,2,2],[0,0,3,0,0],[3,0,3,0,0],[1,0,3,2,4],[0,0,3,3,0]],min_steps:7},{id:"3023",map:[[1,2,0,2,0],[3,3,3,0,0],[0,2,3,2,0],[4,0,0,0,3],[0,0,2,0,3]],min_steps:7},{id:"3024",map:[[1,0,3,0,3],[2,2,0,0,0],[0,3,0,3,0],[2,0,3,2,0],[2,3,0,4,0]],min_steps:7}],[{id:"4001",map:[[1,3,0,0,2,0],[0,3,0,0,2,0],[0,0,2,0,3,4],[0,0,0,2,0,0],[3,3,0,0,2,0,3],[0,0,2,2,2,0]],min_steps:5},{id:"4002",map:[[0,2,2,2,2,0],[1,0,0,0,2,0],[0,0,0,0,0,3],[0,0,0,0,2,0],[0,3,3,0,2,0],[3,0,0,4,2,0]],min_steps:5},{id:"4003",map:[[0,0,0,0,0,0],[2,0,0,0,0,2],[0,3,3,3,2,4],[0,3,0,3,2,0],[0,0,0,0,0,3],[0,0,2,3,0,1]],min_steps:6},{id:"4004",map:[[2,0,3,0,0,4],[0,2,3,3,0,0],[0,3,0,0,0,0],[3,0,0,0,2,2],[3,0,0,2,0,0],[1,0,0,3,0,0]],min_steps:6},{id:"4006",map:[[4,3,0,3,0,0],[0,2,0,3,0,0],[3,0,0,0,3,2],[0,3,0,0,2,1],[0,0,2,0,0,0],[0,0,0,0,2,3]],min_steps:7},{id:"4007",map:[[4,2,2,0,2,0],[0,3,0,2,0,0],[0,2,3,0,3,0],[0,0,3,0,0,3],[0,0,3,0,0,0],[0,0,0,3,0,1]],min_steps:7},{id:"4014",map:[[0,0,3,0,2,2],[0,2,3,0,0,1],[0,3,3,0,0,3],[0,2,0,0,0,0],[0,0,0,3,3,0],[2,0,4,0,0,0]],min_steps:7},{id:"4015",map:[[2,0,0,0,0,0],[0,0,0,0,3,1],[3,0,2,0,0,3],[2,0,0,2,3,0],[3,0,3,0,0,0],[2,0,0,3,4,0]],min_steps:7},{id:"4005",map:[[1,0,0,0,0,2],[0,0,0,2,0,0],[3,2,0,0,0,0],[0,3,0,0,2,3],[0,0,3,3,0,0],[3,0,0,2,3,4]],min_steps:8},{id:"4008",map:[[0,0,2,3,0,0],[0,3,0,2,3,2],[3,0,0,0,0,0],[0,3,0,0,3,4],[0,0,0,0,0,3],[0,2,0,2,0,1]],min_steps:8},{id:"4009",map:[[0,3,3,0,0,4],[2,0,0,3,0,0],[2,0,0,3,0,0],[1,0,0,0,3,0],[0,0,2,3,0,2],[2,3,0,0,0,0]],min_steps:8},{id:"4010",map:[[0,0,1,3,2,0],[3,0,0,0,3,2],[3,0,0,0,0,3],[2,0,0,0,0,0],[0,2,0,0,3,0],[0,2,0,3,4,0]],min_steps:8},{id:"4011",map:[[1,0,0,0,0,0],[3,3,0,0,0,2],[0,0,0,3,0,2],[2,0,3,0,3,0],[2,0,3,0,0,3],[4,0,0,0,0,2]],min_steps:8},{id:"4016",map:[[0,0,3,0,0,1],[2,3,0,0,3,0],[2,0,0,0,0,2],[0,3,0,0,0,0],[0,3,0,0,2,0],[0,4,3,0,2,3]],min_steps:8},{id:"4017",map:[[1,2,3,0,3,2],[3,0,0,0,0,0],[0,0,0,0,0,3],[3,3,0,3,2,0],[0,2,0,0,0,0],[4,0,0,2,0,0]],min_steps:8},{id:"4018",map:[[0,0,1,0,2,0],[0,0,0,0,0,0],[0,0,3,2,3,0],[3,0,0,3,0,0],[2,3,0,2,0,0],[4,2,0,3,3,0]],min_steps:8},{id:"4012",map:[[2,2,3,0,2,0],[0,3,0,0,0,0],[0,0,0,0,3,4],[0,2,0,3,0,3],[0,0,0,0,0,0],[0,0,2,3,3,1]],min_steps:9},{id:"4013",map:[[0,0,0,0,3,0],[4,2,0,3,0,0],[3,2,0,0,0,0],[1,3,0,3,0,0],[2,0,0,2,0,0],[3,0,0,3,2,0]],min_steps:9},{id:"4019",map:[[3,4,0,0,0,2],[3,2,0,0,2,0],[0,3,0,3,0,2],[0,0,3,0,0,0],[0,0,0,0,3,0],[1,3,0,0,0,2]],min_steps:9},{id:"4020",map:[[0,2,0,1,0,0],[2,3,0,0,2,0],[3,0,0,0,0,0],[0,3,3,0,0,3],[2,0,0,3,0,0],[4,3,0,0,0,2]],min_steps:9}],[{id:"5001",map:[[1,0,0,0,0,0],[0,2,2,3,0,2],[3,2,0,0,3,3],[0,0,0,0,0,4],[0,0,0,2,2,0],[3,0,2,2,0,0]],min_steps:7},{id:"5002",map:[[0,0,0,0,4,3],[3,2,3,0,0,0],[0,2,0,2,3,0],[2,2,0,0,0,0],[3,2,0,0,0,0],[3,0,0,2,0,3],[2,0,0,3,0,1]],min_steps:7},{id:"5015",map:[[1,2,3,2,2,0],[3,0,0,0,0,3],[0,0,0,0,0,0],[0,0,0,0,0,2],[0,3,0,3,2,0],[0,0,0,0,0,0],[0,2,0,4,0,3]],min_steps:7},{id:"5016",map:[[3,0,1,0,0,0],[0,2,0,2,0,0],[0,2,0,2,0,3],[0,0,0,0,0,0],[0,2,0,0,3,3],[0,0,0,0,2,3],[0,0,0,3,0,4]],min_steps:7},{id:"5004",map:[[0,3,3,2,3,0],[2,0,2,0,3,0],[1,0,3,2,0,0],[3,3,0,0,0,2],[0,0,0,0,0,0],[0,2,0,0,0,0],[0,0,0,3,4,0]],min_steps:8},{id:"5005",map:[[0,0,0,0,0,1],[0,0,2,0,2,0],[3,2,2,0,0,0],[3,0,0,3,0,0],[3,3,0,0,0,3],[4,3,0,0,0,0],[2,0,0,2,3,0]],min_steps:8},{id:"5008",map:[[3,0,3,2,0,4],[0,3,0,2,0,2],[0,0,3,0,0,0],[2,0,0,2,0,0],[0,0,3,0,0,0],[0,0,0,3,0,0],[3,2,1,3,0,0]],min_steps:8},{id:"5012",map:[[2,3,0,2,0,1],[2,0,0,0,0,0],[2,0,0,3,0,2],[3,0,3,0,0,3],[0,0,0,0,3,3],[3,0,0,0,2,0],[0,0,0,0,0,4]],min_steps:8},{id:"5013",map:[[0,0,2,1,2,0],[0,3,0,0,0,0],[2,0,0,0,0,0],[0,0,0,3,0,0],[3,0,0,2,3,0],[3,3,3,2,0,2],[0,0,4,0,0,3]],min_steps:8},{id:"5018",map:[[0,2,0,1,0,0],[2,0,0,3,0,0],[0,0,0,0,0,0],[3,0,0,0,0,0],[2,3,0,2,3,3],[2,0,0,0,0,2],[4,3,0,0,0,0]],min_steps:8},{id:"5019",map:[[1,3,0,2,3,0],[0,0,0,0,0,2],[0,0,0,0,0,0],[0,0,2,0,0,2],[3,3,0,3,0,2],[4,0,2,0,0,0],[0,0,0,3,0,0]],min_steps:8},{id:"5029",map:[[4,3,0,0,0,0],[2,0,0,3,0,2],[3,2,0,3,3,0],[2,0,0,3,0,0],[0,2,0,0,0,0],[2,0,0,0,0,0],[3,0,3,3,0,1]],min_steps:8},{id:"5030",map:[[0,0,0,0,0,0],[0,0,2,3,2,0],[0,3,0,0,0,0],[2,2,0,3,0,0],[0,3,3,0,3,4],[0,0,2,0,0,3],[3,1,0,3,0,2]],min_steps:8},{id:"5006",map:[[0,3,0,0,0,0],[1,0,0,0,3,0],[0,0,3,2,0,0],[3,0,0,2,2,0],[0,3,0,3,3,0],[0,2,0,0,0,0],[4,0,3,0,2,2]],min_steps:9},{id:"5007",map:[[0,2,0,3,0,0],[1,2,0,2,0,0],[0,3,0,3,0,0],[3,0,0,0,0,3],[0,0,3,2,0,2],[4,0,0,3,0,3],[0,2,0,0,0,0]],min_steps:9},{id:"5010",map:[[0,3,1,0,0,0],[0,2,3,3,0,0],[0,2,0,3,0,0],[0,2,0,2,0,3],[0,2,0,0,3,0],[0,3,0,0,0,0],[0,2,4,0,0,3]],min_steps:9},{id:"5011",map:[[1,0,3,0,3,0],[0,2,0,0,0,0],[2,0,2,0,3,0],[0,3,2,0,0,0],[3,0,0,0,0,2],[4,0,3,0,0,0],[3,2,0,0,0,3]],min_steps:9},{id:"5014",map:[[0,1,0,0,0,0],[2,0,2,0,0,2],[2,3,0,3,0,0],[0,3,0,0,0,3],[0,0,0,2,0,3],[0,0,3,0,3,0],[2,0,3,0,0,4]],min_steps:9},{id:"5017",map:[[0,0,0,0,0,0],[1,2,3,0,0,2],[0,0,2,0,0,2],[3,0,2,3,0,0],[0,3,3,0,2,0],[0,0,0,0,0,0],[4,0,3,0,0,0]],min_steps:9},{id:"5028",map:[[0,0,1,0,0,3],[3,0,0,0,3,4],[0,2,0,2,3,2],[0,3,2,3,3,0],[0,0,0,3,0,0],[0,0,3,0,0,2],[0,0,2,0,0,0]],min_steps:9},{id:"5003",map:[[0,0,1,3,0,2],[0,3,3,0,0,0],[0,0,3,2,0,0],[0,0,3,0,0,0],[3,0,0,0,2,2],[0,0,2,3,0,0],[0,2,0,3,0,4]],min_steps:10},{id:"5009",map:[[0,2,0,0,0,3],[0,0,3,3,3,4],[0,3,0,0,0,0],[0,3,2,0,0,0],[1,2,3,2,0,3],[2,0,0,0,0,0],[0,0,0,0,2,0]],min_steps:10},{id:"5021",map:[[0,0,0,0,0,0],[0,0,0,0,3,0],[3,0,0,0,2,0],[2,0,0,2,3,0],[0,3,0,0,0,2],[0,2,3,0,0,0],[4,3,1,2,0,0]],min_steps:10},{id:"5022",map:[[4,0,3,0,0,2],[0,0,0,0,2,0],[0,3,0,2,3,2],[3,0,3,0,3,0],[0,2,0,0,0,0],[0,3,0,3,0,3],[0,2,1,0,0,0]],min_steps:10},{id:"5023",map:[[3,0,0,3,3,0],[0,0,3,0,0,3],[2,3,0,0,0,0],[2,2,0,0,2,0],[0,3,0,0,0,0],[2,0,3,0,0,4],[0,1,3,0,2,0]],min_steps:10},{id:"5024",map:[[3,0,2,3,0,0],[4,2,0,0,0,3],[2,2,0,0,0,0],[0,0,3,0,0,2],[0,0,0,3,0,3],[0,3,3,0,2,0],[3,0,1,0,0,0]],min_steps:10},{id:"5020",map:[[0,0,0,2,0,0],[0,3,0,0,0,3],[0,2,0,0,3,0],[2,0,0,2,3,4],[0,2,3,0,0,0],[0,0,0,3,0,0],[3,2,0,1,3,0]],min_steps:11},{id:"5025",map:[[1,0,0,0,3,0],[0,0,0,3,3,2],[3,3,2,0,0,2],[0,0,0,0,0,3],[0,0,2,0,2,0],[0,0,0,0,3,4],[0,3,2,3,0,0]],min_steps:11},{id:"5026",map:[[0,3,2,0,0,0],[0,0,2,3,3,0],[2,0,0,2,0,0],[3,2,0,0,3,2],[0,0,0,3,3,1],[0,0,3,0,0,3],[0,0,0,0,0,4]],min_steps:11},{id:"5027",map:[[0,0,3,0,0,1],[0,0,0,0,0,3],[2,0,2,0,2,3],[0,0,3,3,0,3],[0,0,0,2,3,0],[0,0,0,2,0,3],[2,0,3,0,4,0]],min_steps:11}],[{id:"6028",map:[[0,0,3,0,0,2],[1,3,2,2,0,3],[0,0,3,0,0,2],[0,0,0,0,0,0],[0,0,2,0,3,3],[3,3,3,0,0,0],[4,0,0,0,0,2]],min_steps:8},{id:"6029",map:[[0,0,2,0,0,1],[3,2,3,0,0,3],[2,0,3,0,3,0],[3,3,0,0,0,0],[0,0,0,3,3,2],[0,0,0,0,0,2],[0,0,0,4,2,0]],min_steps:8},{id:"6030",map:[[0,3,3,0,1,0],[2,3,0,0,3,0],[0,0,0,3,0,2],[0,0,3,0,2,0],[0,0,2,3,3,3],[0,0,0,0,0,0],[4,0,0,2,0,2]],min_steps:8},{id:"6001",map:[[0,0,3,3,4,2],[0,0,0,2,0,0],[2,3,3,2,0,0],[0,3,0,0,0,2],[0,0,0,3,2,2],[2,0,0,3,0,2],[1,3,2,0,0,0],[0,0,0,3,0,0]],min_steps:9},{id:"6012",map:[[3,0,0,0,2,0],[0,3,0,3,0,0],[0,3,0,0,0,3],[2,0,0,3,2,0],[3,2,2,2,0,0],[3,0,2,0,3,0],[1,2,3,0,2,0],[2,3,0,0,3,4]],min_steps:9},{id:"6016",map:[[0,0,1,0,2,3],[0,3,2,0,2,0],[3,3,3,3,0,0],[3,0,0,0,0,0],[2,2,3,0,3,3],[0,0,2,0,2,0],[0,2,0,2,0,3],[3,0,2,0,0,4]],min_steps:9},{id:"6008",map:[[0,0,2,0,3,4],[3,3,2,3,0,0],[0,0,0,0,0,3],[0,0,2,3,2,0],[0,0,2,0,3,2],[3,3,0,0,0,2],[0,3,0,0,0,0],[2,1,0,0,0,0]],min_steps:10},{id:"6013",map:[[3,0,0,2,2,0],[0,2,0,3,0,2],[0,0,3,2,3,0],[0,3,0,0,3,0],[2,2,3,2,0,0],[0,0,3,3,0,0],[0,2,0,3,2,0],[4,3,3,0,1,0]],min_steps:10},{id:"6017",map:[[4,0,0,0,0,3],[0,3,3,0,0,0],[3,0,2,2,0,0],[3,0,2,3,3,2],[3,2,0,2,3,3],[2,0,2,0,0,0],[0,0,0,0,0,3],[2,3,0,2,0,1]],min_steps:10},{id:"6022",map:[[0,0,3,4,3,0],[0,3,0,2,2,0],[2,0,2,0,0,3],[0,0,0,0,0,0],[2,3,0,3,2,0],[0,3,0,0,0,0],[0,1,3,0,0,3]],min_steps:10},{id:"6023",map:[[0,0,3,1,0,2],[0,0,2,3,0,0],[4,0,3,0,0,0],[2,0,3,0,0,3],[2,0,3,0,3,0],[0,0,0,0,0,0],[2,3,0,2,3,0]],min_steps:10},{id:"6024",map:[[0,3,0,2,0,4],[3,0,0,3,3,3],[0,0,2,0,0,0],[2,3,3,0,0,0],[2,0,0,0,0,3],[2,0,3,0,0,1],[0,0,0,0,0,2]],min_steps:10},{id:"6025",map:[[4,0,2,0,0,0],[0,0,3,3,0,2],[3,3,0,0,0,3],[0,2,0,2,0,0],[0,0,0,0,3,0],[1,3,0,0,2,2],[0,3,0,0,0,3]],min_steps:10},{id:"6002",map:[[0,0,3,3,4,2],[0,0,0,2,0,0],[2,3,3,2,0,0],[0,3,0,0,0,2],[0,0,0,3,2,2],[2,0,0,3,0,2],[1,3,2,0,0,0],[0,0,0,3,0,0]],min_steps:11},{id:"6006",map:[[1,0,2,0,0,3],[0,0,0,0,3,0],[3,0,0,3,2,0],[2,3,0,0,0,3],[0,0,3,2,0,3],[0,2,0,3,0,0],[2,3,0,2,0,0],[0,4,0,2,0,0]],min_steps:11},{id:"6009",map:[[4,3,0,0,3,0],[0,0,0,0,0,0],[3,3,0,2,0,2],[3,0,0,2,2,0],[2,3,2,0,0,0],[1,3,3,0,0,0],[2,0,0,0,0,0],[3,3,0,0,0,2]],min_steps:11},{id:"6018",map:[[2,3,0,0,2,3],[2,0,0,3,0,4],[2,0,0,0,0,0],[0,3,2,0,2,3],[0,0,0,0,0,3],[2,0,3,3,2,3],[0,0,0,3,2,0],[2,3,1,3,0,0]],min_steps:11},{id:"6026",map:[[0,1,0,3,0,4],[0,0,3,0,3,0],[2,2,3,2,0,0],[0,0,3,0,3,3],[2,0,0,0,0,2],[0,3,0,0,0,2],[0,0,0,0,0,3]],min_steps:11},{id:"6027",map:[[2,1,3,0,0,0],[0,0,0,0,3,0],[3,3,0,0,0,0],[2,2,3,3,3,0],[0,2,0,0,0,0],[3,2,0,0,0,0],[0,4,0,2,3,0]],min_steps:11},{id:"6031",map:[[0,1,0,3,0,4],[0,0,3,0,3,0],[2,2,3,2,0,0],[0,0,3,0,3,3],[2,0,0,0,0,2],[0,3,0,0,0,2],[0,0,0,0,0,3]],min_steps:11},{id:"6003",map:[[0,2,2,0,0,4],[0,3,3,0,0,0],[3,2,0,0,0,0],[0,3,0,0,3,3],[0,2,0,3,0,0],[2,3,0,0,0,0],[0,2,3,0,0,0],[1,2,3,0,2,0]],min_steps:12},{id:"6011",map:[[3,0,2,2,3,2],[1,0,0,0,0,3],[0,0,3,2,3,0],[3,0,3,0,0,0],[4,3,2,3,0,2],[0,0,2,0,2,3],[2,0,0,0,0,3],[0,0,0,2,0,3]],min_steps:12},{id:"6014",map:[[4,3,0,0,0,0],[0,2,2,2,3,0],[0,3,0,0,0,0],[2,3,2,3,0,0],[3,3,0,0,0,3],[0,0,0,2,3,0],[0,3,2,0,2,2],[2,3,3,0,0,1]],min_steps:12},{id:"6020",map:[[3,2,0,0,0,0],[4,0,2,0,2,0],[3,3,0,0,2,2],[0,0,3,0,2,0],[0,0,0,0,2,3],[0,2,3,3,0,0],[2,3,0,0,3,3],[1,3,3,2,0,0]],min_steps:12},{id:"6021",map:[[4,3,0,0,0,0],[0,2,2,2,3,0],[0,3,0,0,0,0],[2,3,2,3,0,0],[3,3,0,0,0,3],[0,0,0,2,3,0],[0,3,2,0,2,2],[2,3,3,0,0,1]],min_steps:12},{id:"6004",map:[[0,3,0,2,2,0],[0,0,0,0,0,2],[3,0,0,0,0,0],[0,3,0,0,0,0],[0,3,3,0,3,0],[2,0,0,0,3,2],[2,0,0,0,3,1],[4,3,0,2,3,2]],min_steps:13},{id:"6005",map:[[2,2,4,2,3,0],[0,3,3,2,0,0],[3,0,0,3,0,2],[3,0,2,3,3,0],[0,0,0,0,0,0],[0,0,0,0,2,3],[3,2,0,0,0,1],[0,0,0,0,0,0]],min_steps:13},{id:"6007",map:[[3,2,0,0,3,4],[0,2,0,0,3,0],[0,0,2,0,2,0],[2,0,0,3,0,3],[0,0,2,0,3,2],[0,2,3,3,0,1],[0,0,0,0,0,3],[0,0,0,3,0,0]],min_steps:13},{id:"6010",map:[[0,3,1,0,0,0],[0,2,3,3,0,0],[2,0,0,3,0,0],[0,2,0,0,3,2],[3,0,0,0,0,2],[3,2,0,0,0,0],[4,0,0,3,2,0],[0,3,0,3,2,0]],min_steps:13},{id:"6015",map:[[4,0,0,0,2,3],[0,0,3,0,0,3],[2,2,3,2,0,0],[3,0,0,0,3,2],[2,3,0,3,0,2],[0,0,3,0,2,3],[0,0,0,0,0,3],[1,2,2,3,0,0]],min_steps:14},{id:"6019",map:[[4,0,0,0,2,3],[0,0,3,0,0,3],[2,2,3,2,0,0],[3,0,0,0,3,2],[2,3,0,3,0,2],[0,0,3,0,2,3],[0,0,0,0,0,3],[1,2,2,3,0,0]],min_steps:14}],[{id:"7001",map:[[0,2,0,0,2,0],[3,3,0,2,0,4],[0,0,0,0,0,3],[0,0,0,0,3,2],[0,0,0,0,0,2],[3,3,0,0,0,2],[0,3,3,2,2,0],[0,3,2,2,0,3],[1,2,0,0,2,0]],min_steps:9},{id:"7023",map:[[3,2,0,2,0,1],[0,3,3,2,3,3],[0,3,3,0,3,0],[0,2,2,2,0,3],[0,3,2,0,0,3],[0,0,0,0,2,0],[2,2,2,3,0,0],[2,0,3,0,3,0],[0,0,3,0,0,4]],min_steps:9},{id:"7003",map:[[1,3,2,0,0,0],[0,0,0,2,0,0],[0,3,0,2,0,0],[3,3,3,2,0,3],[2,3,3,0,3,0],[0,0,0,0,0,2],[3,0,2,2,3,2],[4,2,0,0,2,0],[0,0,2,0,0,2]],min_steps:10},{id:"7002",map:[[1,0,3,2,0,2],[0,3,0,0,0,2],[0,2,0,3,2,2],[0,3,0,0,0,0],[0,2,0,3,3,0],[3,2,2,0,0,3],[0,3,2,3,0,2],[0,0,0,0,0,0],[2,0,0,2,3,4]],min_steps:11},{id:"7005",map:[[0,0,0,0,0,0],[0,0,0,3,2,4],[0,3,0,0,3,3],[3,3,0,2,0,3],[0,2,2,0,3,2],[0,0,3,0,2,0],[0,2,0,2,0,0],[3,0,0,2,2,0],[0,0,2,2,0,1]],min_steps:11},{id:"7006",map:[[0,0,0,0,2,3],[3,2,0,0,0,0],[0,2,0,3,3,4],[0,0,0,2,2,3],[2,0,0,0,0,0],[0,0,0,0,3,0],[3,0,3,3,0,2],[3,0,2,2,0,2],[0,0,2,2,0,1]],min_steps:11},{id:"7007",map:[[2,0,2,0,2,0],[0,0,2,0,3,2],[0,0,0,3,3,0],[0,2,0,0,3,2],[3,0,0,2,0,0],[3,3,0,0,0,2],[0,2,0,3,2,0],[0,2,3,0,0,0],[4,3,0,0,1,0]],min_steps:11},{id:"7026",map:[[2,4,2,0,0,0],[0,3,3,0,3,0],[3,3,3,0,0,3],[2,0,3,0,0,2],[0,2,2,3,0,3],[1,0,2,0,2,0],[3,3,0,0,0,0],[2,0,0,0,3,2],[2,0,3,2,3,0]],min_steps:11},{id:"7027",map:[[2,0,0,0,0,2],[0,0,3,3,2,3],[0,0,3,0,0,1],[0,3,0,3,3,3],[0,0,0,0,0,2],[3,3,2,0,0,2],[3,3,0,2,0,3],[0,3,2,2,2,0],[0,3,4,2,2,0]],min_steps:11},{id:"7029",map:[[0,0,1,0,0,0],[3,3,0,0,3,2],[3,0,0,0,2,0],[0,2,0,2,2,0],[2,3,3,3,0,3],[3,2,2,3,0,0],[2,0,3,0,0,3],[3,2,0,0,0,3],[4,2,0,0,3,2]],min_steps:11},{id:"7008",map:[[1,0,0,0,2,0],[3,3,2,0,3,0],[3,0,3,0,0,0],[0,0,3,0,0,3],[2,2,0,3,0,3],[2,0,2,0,0,0],[2,0,2,0,0,2],[2,0,0,2,0,0],[4,3,0,0,0,2]],min_steps:12},{id:"7010",map:[[4,3,0,3,1,0],[0,0,3,3,0,0],[0,3,0,0,2,2],[2,0,3,0,0,2],[3,2,0,2,3,0],[0,0,0,0,0,0],[0,2,0,2,2,0],[0,2,0,3,0,2],[0,2,0,0,0,3]],min_steps:12},{id:"7016",map:[[2,3,4,0,0,3],[0,3,2,2,3,1],[0,2,2,3,0,0],[3,0,3,0,2,0],[3,0,0,0,2,2],[0,0,3,3,0,0],[0,3,0,3,2,0],[0,0,3,0,3,2],[0,2,2,3,0,0]],min_steps:12},{id:"7020",map:[[2,3,0,4,3,3],[3,3,0,0,3,0],[0,2,0,3,2,0],[0,3,0,0,0,2],[3,2,0,0,0,0],[0,0,3,2,0,3],[0,3,0,3,2,0],[3,2,2,0,0,2],[0,0,2,1,3,2]],min_steps:12},{id:"7024",map:[[1,3,2,0,0,3],[2,3,2,0,0,0],[0,2,3,0,3,3],[3,0,0,2,0,3],[2,3,0,0,0,3],[3,3,0,0,0,0],[2,0,3,0,0,2],[0,0,2,0,2,2],[4,2,3,0,3,0]],min_steps:12},{id:"7032",map:[[0,0,0,0,3,4],[0,0,3,3,3,2],[2,2,3,3,0,0],[0,0,3,2,0,0],[0,2,0,2,3,2],[0,2,3,0,0,3],[2,3,3,0,0,2],[1,0,3,0,3,2],[0,0,3,0,0,2]],min_steps:12},{id:"7033",map:[[1,0,0,3,0,3],[3,3,2,0,2,0],[0,3,3,2,0,2],[3,2,0,3,0,0],[4,2,2,2,0,0],[0,3,0,0,0,0],[3,3,3,0,0,2],[3,0,3,2,0,3],[2,0,0,0,0,2]],min_steps:12},{id:"7035",map:[[3,0,0,2,0,4],[3,0,2,3,3,3],[0,0,2,3,0,2],[3,0,3,3,3,0],[2,2,0,0,0,0],[2,2,3,0,0,0],[0,0,2,3,0,0],[0,2,0,3,2,3],[0,0,3,1,2,0]],min_steps:12},{id:"7036",map:[[2,3,1,0,0,2],[0,3,0,0,0,0],[2,0,2,0,0,3],[0,0,3,3,0,3],[0,2,2,0,0,3],[0,3,2,3,3,0],[0,3,2,0,0,2],[0,3,2,0,2,3],[2,0,3,3,4,0]],min_steps:12},{id:"7037",map:[[2,0,0,0,0,3],[0,2,3,0,2,2],[0,0,3,0,2,0],[0,2,2,0,0,0],[3,2,3,0,0,3],[0,0,3,3,0,3],[3,2,3,0,0,3],[0,0,3,3,2,0],[4,3,1,2,0,2]],min_steps:12},{id:"7039",map:[[2,0,3,3,2,0],[0,0,0,0,2,3],[1,3,0,0,0,2],[0,2,3,2,2,2],[0,0,3,0,0,0],[0,3,0,0,3,0],[3,0,0,2,3,2],[2,0,3,0,2,3],[0,4,3,0,3,3]],min_steps:12},{id:"7040",map:[[0,2,3,3,4,0],[0,2,0,0,3,2],[0,0,3,0,2,0],[3,0,2,0,0,3],[2,0,0,3,0,3],[3,3,0,2,2,0],[2,2,3,0,2,0],[1,3,0,0,2,3],[0,0,0,3,0,3]],min_steps:12},{id:"7041",map:[[3,3,0,2,3,1],[0,3,3,2,0,2],[0,2,0,0,0,0],[0,0,0,0,0,0],[3,3,3,2,3,0],[0,3,3,2,3,2],[4,0,3,0,2,0],[2,2,2,0,0,0],[0,3,2,0,3,0]],min_steps:12},{id:"7004",map:[[2,0,0,2,0,0],[0,3,0,0,0,1],[0,2,0,0,0,0],[0,0,0,0,2,0],[0,0,3,3,3,2],[0,0,0,3,2,3],[0,0,2,0,0,3],[0,2,3,2,2,4],[3,2,2,0,3,0]],min_steps:13},{id:"7009",map:[[4,0,3,1,0,2],[0,2,3,3,3,0],[0,2,3,2,2,0],[3,0,3,0,0,2],[0,0,0,0,0,0],[3,2,0,0,2,0],[3,2,0,0,2,0],[0,0,2,2,2,0],[0,0,0,0,3,0]],min_steps:13},{id:"7014",map:[[3,4,2,3,0,0],[2,3,0,3,0,0],[0,2,2,0,0,0],[0,3,3,0,3,3],[0,0,0,0,0,0],[3,2,0,0,2,2],[2,2,2,2,0,3],[0,0,3,3,0,3],[1,2,0,3,3,0]],min_steps:13},{id:"7015",map:[[2,3,4,0,3,0],[1,2,3,2,3,0],[0,0,3,0,2,0],[2,0,0,3,0,0],[2,2,0,2,0,3],[0,0,2,0,0,0],[3,0,0,3,3,0],[0,0,3,0,2,3],[3,0,3,2,3,2]],min_steps:13},{id:"7025",map:[[2,3,1,0,3,3],[0,0,2,3,2,0],[0,2,0,0,0,3],[0,3,0,0,0,3],[2,0,0,3,2,0],[0,0,2,3,0,2],[2,0,3,2,0,3],[3,3,0,0,3,3],[2,4,0,2,0,0]],min_steps:13},{id:"7030",map:[[2,0,1,2,0,0],[0,2,3,3,0,2],[2,3,3,3,0,2],[3,0,0,2,2,0],[0,3,0,3,2,0],[0,0,2,0,2,3],[3,3,0,3,3,2],[4,3,0,0,0,0],[0,0,0,0,0,3]],min_steps:13},{id:"7031",map:[[0,2,2,3,4,2],[3,3,0,0,2,2],[0,0,0,3,2,0],[0,3,0,0,3,3],[0,2,0,2,3,0],[2,3,0,0,0,0],[3,3,0,3,0,2],[0,0,2,3,3,3],[1,0,2,0,0,0]],min_steps:13},{id:"7038",map:[[4,2,3,3,2,3],[0,3,0,2,3,0],[0,0,0,2,0,2],[3,3,2,3,0,0],[0,3,0,3,2,3],[0,2,2,2,0,0],[1,3,0,0,3,0],[2,0,0,0,3,2],[0,0,3,0,0,0]],min_steps:13},{id:"7011",map:[[0,1,0,0,2,0],[3,0,3,3,2,3],[0,3,3,2,0,0],[0,0,2,0,3,3],[2,3,2,0,0,0],[3,2,2,3,3,0],[2,0,2,2,0,4],[0,2,0,3,0,0],[0,0,0,3,0,3]],min_steps:14},{id:"7017",map:[[2,0,0,3,0,3],[4,3,0,2,0,3],[3,0,0,0,3,0],[2,0,0,2,0,0],[3,0,0,3,0,0],[2,3,0,2,2,2],[1,3,3,0,2,2],[0,3,0,0,3,0],[0,2,0,3,3,2]],min_steps:14},{id:"7019",map:[[0,3,0,2,3,1],[0,3,0,2,0,2],[0,2,2,0,3,3],[0,0,3,2,0,3],[0,0,3,2,2,0],[2,2,3,0,2,2],[0,3,0,0,3,0],[3,0,0,3,3,0],[0,0,0,3,0,4]],min_steps:14},{id:"7021",map:[[0,0,0,0,2,4],[3,0,2,0,0,0],[3,0,2,3,3,3],[2,0,3,3,3,0],[2,0,0,0,2,3],[3,3,0,0,0,2],[1,0,3,0,2,2],[2,2,0,2,0,0],[0,0,3,3,0,3]],min_steps:14},{id:"7022",map:[[4,0,0,0,0,0],[0,0,0,0,3,2],[3,3,2,3,3,2],[2,0,0,0,0,2],[0,0,3,0,3,3],[2,0,2,3,2,1],[3,2,3,0,0,3],[2,0,0,3,2,2],[3,3,0,0,0,0]],min_steps:15},{id:"7028",map:[[0,2,1,3,0,2],[0,3,3,3,0,2],[0,0,0,3,0,2],[3,0,0,3,2,4],[2,0,0,3,2,2],[2,2,3,0,0,3],[0,2,0,0,0,0],[0,3,3,3,2,0],[0,3,0,3,0,0]],min_steps:16},{id:"7034",map:[[1,0,0,3,2,0],[0,2,2,3,3,0],[3,0,0,2,0,3],[2,3,2,2,0,3],[0,0,3,0,0,3],[3,0,0,0,3,0],[2,3,0,3,2,4],[0,3,0,0,0,3],[0,2,0,0,2,2]],min_steps:16},{id:"7012",map:[[1,3,3,3,0,0],[0,3,0,2,0,0],[0,0,0,3,0,2],[3,0,0,3,2,3],[0,0,2,0,0,3],[0,0,2,3,2,0],[2,2,3,2,3,2],[0,3,0,2,0,2],[0,3,4,3,0,0]],min_steps:17},{id:"7013",map:[[0,1,0,0,3,3],[0,2,0,3,0,0],[2,3,0,0,0,0],[0,0,0,3,0,3],[0,3,0,2,3,2],[2,0,3,3,2,0],[0,2,2,3,0,2],[2,3,2,0,3,0],[0,3,3,0,2,4]],min_steps:17},{id:"7018",map:[[0,0,0,0,0,2],[1,0,3,3,0,2],[3,3,0,3,2,3],[0,3,0,2,0,0],[0,3,0,0,2,2],[3,0,0,2,3,0],[0,3,3,3,0,0],[2,0,3,0,0,2],[2,4,2,0,3,2]],min_steps:17},{id:"7042",map:[[1,2,0,0,3,0],[3,3,2,3,0,0],[0,0,2,0,2,2],[3,3,0,0,0,0],[3,0,3,3,0,3],[3,2,2,0,0,0],[4,2,3,0,2,2],[2,0,3,0,2,2],[2,0,3,0,3,2]],min_steps:17},{id:"7043",map:[[0,0,3,0,1,0],[2,0,0,2,0,0],[3,0,3,0,2,2],[0,0,0,3,2,3],[2,3,2,3,2,3],[0,3,3,0,3,4],[0,3,3,2,3,0],[0,2,2,0,2,0],[2,2,0,0,3,2]],min_steps:17},{id:"7044",map:[[0,0,1,3,0,4],[3,0,3,0,2,3],[2,2,3,2,3,0],[2,3,2,2,0,3],[0,3,0,0,3,0],[2,0,3,2,3,3],[0,3,2,2,3,0],[0,0,0,0,2,0],[2,0,2,2,0,0]],min_steps:17},{id:"7045",map:[[2,3,2,0,0,3],[0,0,0,3,2,2],[3,0,0,3,0,0],[0,0,3,2,3,2],[2,3,2,3,3,1],[0,0,0,3,0,3],[3,2,0,0,2,0],[3,2,2,0,0,2],[0,4,0,3,2,2]],min_steps:17},{id:"7046",map:[[0,3,0,2,0,0],[0,2,2,0,0,1],[0,0,3,3,3,2],[2,2,3,3,2,2],[3,3,3,0,2,3],[4,2,2,3,0,2],[0,0,3,2,0,2],[0,3,0,0,2,3],[0,0,0,3,0,0]],min_steps:17},{id:"7047",map:[[3,2,4,3,2,0],[2,0,3,2,0,0],[2,3,3,2,3,0],[2,0,0,2,0,0],[2,3,0,0,0,0],[3,0,2,0,3,0],[2,2,3,0,2,0],[0,3,3,0,3,0],[1,2,3,2,0,3]],min_steps:17},{id:"7048",map:[[2,0,3,4,2,2],[0,0,3,0,3,0],[2,0,0,2,3,3],[2,0,3,3,2,3],[0,0,0,0,0,0],[2,2,2,0,0,3],[3,3,3,3,2,2],[0,0,3,0,0,2],[3,1,2,0,2,0]],min_steps:17}]],this.LEVEL_INFO.unshift([{id:"0001",map:[[3,2,2,0,2],[0,0,3,3,0],[1,3,0,3,2],[3,0,2,3,4],[3,2,3,3,2]],min_steps:4}])},t.Authentication=function(){cc.fx.GameTool.Authentication()},t._instance=null,e=n([a("GameConfig")],t)}());i.GameConfig=s,cc._RF.pop()},{"../Share/share":"share"}],GameManager:[function(t,e,i){"use strict";cc._RF.push(e,"b0432BA295DjIOcuitdGKO1","GameManager");var n,o=this&&this.__extends||(n=function(t,e){return(n=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(t,e){t.__proto__=e}||function(t,e){for(var i in e)Object.prototype.hasOwnProperty.call(e,i)&&(t[i]=e[i])})(t,e)},function(t,e){function i(){this.constructor=t}n(t,e),t.prototype=null===e?Object.create(e):(i.prototype=e.prototype,new i)}),r=this&&this.__decorate||function(t,e,i,n){var o,r=arguments.length,a=r<3?e:null===n?n=Object.getOwnPropertyDescriptor(e,i):n;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)a=Reflect.decorate(t,e,i,n);else for(var s=t.length-1;s>=0;s--)(o=t[s])&&(a=(r<3?o(a):r>3?o(e,i,a):o(e,i))||a);return r>3&&a&&Object.defineProperty(e,i,a),a};Object.defineProperty(i,"__esModule",{value:!0});var a=t("./Block"),s=cc._decorator,c=s.ccclass,h=s.property,l=function(t){function e(){var e=null!==t&&t.apply(this,arguments)||this;return e.Map=null,e.Block=null,e.Time=null,e.Countdown=null,e.Guide=null,e}return o(e,t),e.prototype.onLoad=function(){},e.prototype.start=function(){cc.fx.GameConfig.CLICK_init(),this.fit(),this.init()},e.prototype.getMap=function(){var t=0,e=[];if(1==cc.fx.GameConfig.GM_INFO.level)t=Math.floor(Math.random()*cc.fx.GameConfig.LEVEL_INFO[cc.fx.GameConfig.GM_INFO.level].length);else{var i=cc.fx.GameConfig.LEVEL_INFO[cc.fx.GameConfig.GM_INFO.level];t=(e=-1==cc.fx.GameConfig.GM_INFO.min_Time?this.getMapArray(i,cc.fx.GameConfig.GM_INFO.min_Steps-1,!1):cc.fx.GameConfig.GM_INFO.min_Time>=5?this.getMapArray(i,cc.fx.GameConfig.GM_INFO.min_Steps+2,!0):this.getMapArray(i,cc.fx.GameConfig.GM_INFO.min_Steps+1,!0))[Math.floor(Math.random()*e.length)]}return cc.fx.GameConfig.GM_INFO.min_Steps=cc.fx.GameConfig.LEVEL_INFO[cc.fx.GameConfig.GM_INFO.level][t].min_steps,cc.fx.GameConfig.GM_INFO.min_Time=0,t},e.prototype.getMapArray=function(t,e,i){for(var n=[],o=0;o0&&(0==this.path_Array[t-1].z?(this.changeWater(cc.v3(this.path_Array[t-1].x,this.path_Array[t-1].y,0)),t==this.path_Array.length-1&&this.changeWater(cc.v3(this.path_Array[t].x,this.path_Array[t].y,0))):this.changeWater(cc.v3(this.path_Array[t].x,this.path_Array[t].y,0))),t<=this.path_Array.length-1){var i=this.path_Array[t].x*this.map_Array[0].length+this.path_Array[t].y,n="",o=!0;t==this.path_Array.length-1?(o=!1,n="End",this.path_Array.length>1?setTimeout(function(){if(!e.plan_over){e.plan_over=!0;var t=e.node.getChildByName("Top").getChildByName("head"),i=e.node.getChildByName("Top").getChildByName("progress").getComponent(cc.Sprite);t.stopAllActions(),t.setPosition(310,t.y),e.waterTween&&e.waterTween.stop(),i.fillRange=1,cc.fx.GameConfig.GM_INFO.min_Time=e.waterTime,e.runWater(0)}},500):n="err"):6==this.path_Array[t].z&&t+1this.block_Array.length-1)return void cc.fx.Notifications.emit(cc.fx.Message.showResult,"lose");var a=this.block_Array[i].getComponent("Block");if(a.setPath(n),t>0&&t0&&(s=cc.v2(this.path_Array[t-1].x,this.path_Array[t-1].y));var c={order:t,time:cc.fx.GameConfig.TIME_INFO.waterSpeed[cc.fx.GameConfig.GM_INFO.level],type:this.path_Array[t].z,circulate:o,last:s};a.runRoad(c)}},e.prototype.getBoundary=function(t,e,i,n,o){var r=!0;if(e<0||e>=this.map_Width||i<0||i>=this.map_Hight)r=!1,cc.fx.Notifications.emit(cc.fx.Message.showResult,"lose");else{var a=o[t].x*this.map_Array[0].length+o[t].y,s=this.block_Array[a].getComponent("Block");3==s.block_Type?(r=!1,cc.fx.Notifications.emit(cc.fx.Message.showResult,"lose")):2==s.block_Type&&"Reinforce"!=n&&(r=!1,cc.fx.Notifications.emit(cc.fx.Message.showResult,"lose"))}return r},e.prototype.runWater=function(t){if((t=parseInt(t))<=this.water_Array.length-1){var e=this.water_Array[t].x*this.map_Array[0].length+this.water_Array[t].y,i="",n=!0;t==this.water_Array.length-1?(n=!1,i="End"):6==this.water_Array[t].z&&t+10&&t0&&0==this.water_Array[t-1].z&&(a=cc.v2(this.water_Array[t-1].x,this.water_Array[t-1].y));var s={order:t,time:cc.fx.GameConfig.TIME_INFO.waterSpeed[cc.fx.GameConfig.GM_INFO.level],type:this.water_Array[t].z,circulate:n,last:a};r.runWater(s)}},e.prototype.getXi_Soil=function(t,e){var i=null;return t+1=o;r--)if(a=r*this.map_Array[0].length+e[t].y,3==(s=this.block_Array[a].getComponent("Block")).block_Type||4==s.block_Type){o=r+1,4==s.block_Type&&(o-=1),r=-1;break}}else if("up"==n){for(o=0,r=e[t].y;r>=o;r--)if(a=e[t].x*this.map_Array[0].length+r,3==(s=this.block_Array[a].getComponent("Block")).block_Type||4==s.block_Type){o=r+1,4==s.block_Type&&(o-=1),r=-1;break}}else if("down"==n)for(o=this.map_Hight-1,r=e[t].y;r<=o;r++){var s;if(a=e[t].x*this.map_Array[0].length+r,3==(s=this.block_Array[a].getComponent("Block")).block_Type||4==s.block_Type){o=r-1,4==s.block_Type&&(o+=1),r=1e4;break}}this.soil_Find(n,t,o,e,i)},e.prototype.soil_Find=function(t,e,i,n,o){var r=n[e].x;if("right"==t)for(var a=r;a<=i;a++){var s=a*this.map_Array[0].length+n[e].y,c=this.block_Array[s].getComponent("Block");if(a==r){a==r&&a==i?(cc.fx.Notifications.emit(cc.fx.Message.showResult,"lose"),c.set_Xi_SoilType(this.getDirection(e,n),e,o)):c.set_Xi_SoilType(this.getDirection(e,n),null,o);var h=cc.v3(this.path_Array[e].x,this.path_Array[e].y,0);this.water_Array[this.water_Array.length-1]!=h&&this.changeWater(h)}else{var l=null;if(a==i){var p=a-r-1;this.changePath(e,p,!1,n),l=e}c.set_Xi_SoilType(t,l,o)}}else if("left"==t)for(a=r;a>=i;a--)s=a*this.map_Array[0].length+n[e].y,c=this.block_Array[s].getComponent("Block"),a==r?(a==r&&a==i?(cc.fx.Notifications.emit(cc.fx.Message.showResult,"lose"),c.set_Xi_SoilType(this.getDirection(e,n),e,o)):c.set_Xi_SoilType(this.getDirection(e,n),null,o),h=cc.v3(this.path_Array[e].x,this.path_Array[e].y,0),this.water_Array[this.water_Array.length-1]!=h&&this.changeWater(h)):(l=null,a==i&&(p=a-r+1,this.changePath(e,p,!1,n),l=e),c.set_Xi_SoilType(t,l,o));else if("up"==t)for(a=r=n[e].y;a>=i;a--)s=n[e].x*this.map_Array[0].length+a,c=this.block_Array[s].getComponent("Block"),a==r?(a==r&&a==i?(cc.fx.Notifications.emit(cc.fx.Message.showResult,"lose"),c.set_Xi_SoilType(this.getDirection(e,n),e,o)):c.set_Xi_SoilType(this.getDirection(e,n),null,o),h=cc.v3(this.path_Array[e].x,this.path_Array[e].y,0),this.water_Array[this.water_Array.length-1]!=h&&this.changeWater(h)):(l=null,a==i&&(p=a-r+1,this.changePath(e,p,!0,n),l=e),c.set_Xi_SoilType(t,l,o));else if("down"==t)for(a=r=n[e].y;a<=i;a++)s=n[e].x*this.map_Array[0].length+a,c=this.block_Array[s].getComponent("Block"),a==r?(a==r&&a==i?(cc.fx.Notifications.emit(cc.fx.Message.showResult,"lose"),c.set_Xi_SoilType(this.getDirection(e,n),e,o)):c.set_Xi_SoilType(this.getDirection(e,n),null,o),h=cc.v3(this.path_Array[e].x,this.path_Array[e].y,0),this.water_Array[this.water_Array.length-1]!=h&&this.changeWater(h)):(l=null,a==i&&(p=a-r-1,this.changePath(e,p,!0,n),l=e),c.set_Xi_SoilType(t,l,o))},e.prototype.changeWater=function(t){var e=!0;this.water_Array.length>0&&this.water_Array[this.water_Array.length-1].x==t.x&&this.water_Array[this.water_Array.length-1].y==t.y&&(e=!1),e&&this.water_Array.push(t)},e.prototype.changePath=function(t,e,i,n){for(var o=t+1;o0;r--)this.changeWater(cc.v3(this.path_Array[t+1].x,this.path_Array[t+1].y+r,0));else for(r=e;r>0;r--)this.changeWater(cc.v3(this.path_Array[t+1].x,this.path_Array[t+1].y-r,0));else if(e<0)for(var a=-e;a>0;a--)this.changeWater(cc.v3(this.path_Array[t+1].x+a,this.path_Array[t+1].y,0));else for(a=e;a>0;a--)this.changeWater(cc.v3(this.path_Array[t+1].x-a,this.path_Array[t+1].y,0))},e.prototype.getDirection=function(t,e){var i="";if(0==t){6==this.path_Array[t+1].z&&e==this.path_Array&&(t+=1);var n=e[t+1].x-e[t].x,o=e[t].y-e[t+1].y;e[t].y==this.map_Array[0].length-1?0==n?1==o?i="up":-1==o&&(i="err"):1==n?i="up_right":-1==n&&(i="up_left"):0==e[t].y?0==n?1==o?i="err":-1==o&&(i="down"):1==n?i="down_right":-1==n&&(i="down_left"):0==e[t].x?0==n?1==o?i="right_up":-1==o&&(i="right_down"):1==n?i="right":-1==n&&(i="err"):e[t].x==this.map_Array.length-1&&(0==n?1==o?i="left_up":-1==o&&(i="left_down"):1==n?i="err":-1==n&&(i="left"))}else if(t>0){var r=1;t+21?(a=e[t].x-e[t-2].x,s=e[t-2].y-e[t].y):t+1=1?0==n?1==o?i="up":-1==o&&(i="err"):1==n?i="up_right":-1==n&&(i="up_left"):0==a&&s<=-1?0==n?1==o?i="err":-1==o&&(i="down"):1==n?i="down_right":-1==n&&(i="down_left"):a>=1&&0==s?0==n?1==o?i="right_up":-1==o&&(i="right_down"):1==n?i="right":-1==n&&(i="err"):a<=-1&&0==s&&(0==n?1==o?i="left_up":-1==o&&(i="left_down"):1==n?i="err":-1==n&&(i="left"))}return i},e.prototype.fit=function(){var t=this.setFit();this.Map.scale=t?1:1.2},e.prototype.getSetScreenResolutionFlag=function(){var t=cc.winSize,e=t.width;return!(t.height/e>16.2/9)},e.prototype.setFit=function(){return this.getSetScreenResolutionFlag()},e.prototype.backScene=function(){cc.director.loadScene("LoadScene")},e.prototype.startGame=function(t){this.unschedule(this.updateWaterTime);for(var e=0;e0)for(var i=0;i0&&(this.waterTime-=1,this.Countdown.string=cc.fx.GameTool.getTimeMargin(this.waterTime),this.waterTime<=0&&(this.unschedule(this.updateWaterTime),this.plan_over||(this.waterTime=0,this.plan_over=!0,setTimeout(function(){0==t.water_Array.length?cc.fx.Notifications.emit(cc.fx.Message.showResult,"lose"):(cc.fx.GameConfig.GM_INFO.min_Time=t.waterTime,t.runWater(0))},500))))},e.prototype.updateCountDownTime=function(){if(this.countTime>0){if(this.countTime-=1,cc.fx.GameConfig.TIME_INFO.totalTime=this.countTime,this.Time.string=cc.fx.GameTool.getTimeMargin(this.countTime),this.countTime<5){var t=this.node.getChildByName("Over");cc.tween(t).to(.2,{opacity:255}).delay(.1).to(.2,{opacity:0}).start()}this.countTime<=0&&(this.countTime=0,this.setData("lose"),this.unschedule(this.updateCountDownTime),this.gameOver())}},e.prototype.setData=function(t){cc.fx.GameConfig.CLICK_SET("mapId",cc.fx.GameConfig.LEVEL_INFO[cc.fx.GameConfig.GM_INFO.level][this.custom].id),cc.fx.GameConfig.CLICK_SET("difficulty",cc.fx.GameConfig.GM_INFO.level),cc.fx.GameConfig.CLICK_SET("optimizedSteps",cc.fx.GameConfig.LEVEL_INFO[cc.fx.GameConfig.GM_INFO.level][this.custom].min_steps),cc.fx.GameConfig.CLICK_SET("round",cc.fx.GameConfig.GM_INFO.round),cc.fx.GameConfig.CLICK_SET("timer",cc.fx.GameConfig.TIME_INFO.totalTime),cc.fx.GameConfig.CLICK_SET("cumulativeScore",cc.fx.GameConfig.GM_INFO.score),null!=(t="lose"!=t)&&(cc.fx.GameConfig.CLICK_SET("success",t),cc.fx.GameConfig.GM_INFO.fen=this.getScore(),t||(cc.fx.GameConfig.GM_INFO.fen=0),cc.fx.GameConfig.CLICK_SET("getScore",cc.fx.GameConfig.GM_INFO.fen),cc.fx.GameConfig.GM_INFO.score+=cc.fx.GameConfig.GM_INFO.fen,this.node.getChildByName("Top").getChildByName("id").getComponent(cc.Label).string=cc.fx.GameConfig.GM_INFO.score,cc.fx.GameConfig.CLICK_SET("cumulativeScore",cc.fx.GameConfig.GM_INFO.score),0!=this.countTime&&cc.fx.GameConfig.GM_INFO.successList.push(t)),cc.fx.GameTool.setGameData()},e.prototype.getScore=function(){var t=cc.fx.GameConfig.LEVEL_INFO[cc.fx.GameConfig.GM_INFO.level][this.custom].min_steps,e=this.path_Array.length-1;e<=0&&(e=0);var i=(2.5*t-e)/t,n=Math.pow(Math.pow(t,i),.5);return n=n*(this.scoreTime+10)*100,Math.floor(n)},e.prototype.gameOver=function(){var t=0,e=cc.fx.GameConfig.GM_INFO.successList;if(e.length>0){for(var i=0,n=0;n3)){var i=this.path_Array[0];if(0!=this.tip_Array.length){if(null==this.tip_Array[this.tip_Array.length-1])return void this.tip_Array.push(null);if(!(i=this.tip_Array[this.tip_Array.length-1][this.tip_Array[this.tip_Array.length-1].length-1]))return;var n=i.x*this.map_Array[0].length+i.y;if(1==this.block_Array[n].getChildByName("tipLose").active)return void this.tip_Array.push(null)}"up"==t?(n=cc.v2(i.x,i.y-1),this.tipCan(n,t)):"down"==t?(n=cc.v2(i.x,i.y+1),this.tipCan(n,t)):"left"==t?(n=cc.v2(i.x-1,i.y),this.tipCan(n,t)):"right"==t?(n=cc.v2(i.x+1,i.y),this.tipCan(n,t)):"reinforce"==t?(n=cc.v3(i.x,i.y,2),this.tip_Array.push([n])):"soil"==t&&(n=cc.v3(i.x,i.y,3),this.tip_Array.push([n]))}},e.prototype.tipCan=function(t,e){if(t.x<0||t.x>this.map_Array.length-1||t.y<0||t.y>this.map_Array[0].length-1)this.tip_Array.push(null);else{var i=t.x*this.map_Array[0].length+t.y,n=this.block_Array[i].getComponent("Block");if(n.node.getChildByName("tipWin").active=!0,1==n.repeatRoad(!1,null)||3==n.block_Type?(this.tip_Array.push([cc.v3(t.x,t.y,0)]),n.node.getChildByName("tipLose").active=!0,n.node.getChildByName("tipWin").active=!1):2==n.block_Type&&(this.tip_Array.length>0?0==this.tip_Array[this.tip_Array.length-1][0].z?(n.node.getChildByName("tipLose").active=!0,n.node.getChildByName("tipWin").active=!1):2==this.tip_Array[this.tip_Array.length-1][0].z&&(n.node.getChildByName("tipLose").active=!1,n.node.getChildByName("tipWin").active=!0):(n.node.getChildByName("tipLose").active=!0,n.node.getChildByName("tipWin").active=!1)),this.tip_Array.length>0)if(3==this.tip_Array[this.tip_Array.length-1][0].z){if("up"==e){for(var o=[],r=t.y;r>=0;r--)3==(a=this.block_Array[t.x*this.map_Array[0].length+r].getComponent("Block")).block_Type?r=-1e4:(a.node.getChildByName("tipWin").active=!0,o.push(cc.v3(t.x,r,0)),4==a.block_Type&&(r=-1e4));this.tip_Array.push(o)}else if("down"==e){for(o=[],r=t.y;r=0;r--){var a;3==(a=this.block_Array[r*this.map_Array[0].length+t.y].getComponent("Block")).block_Type?r=-1e4:(a.node.getChildByName("tipWin").active=!0,o.push(cc.v3(r,t.y,0)),4==a.block_Type&&(r=-1e4))}this.tip_Array.push(o)}}else{var s=cc.v3(t.x,t.y,0);"reinforce"==e&&(t.z=2),"soil"==e&&(t.z=3),this.tip_Array.push([s])}else{var c=cc.v3(t.x,t.y,0);"reinforce"==e&&(t.z=2),"soil"==e&&(t.z=3),this.tip_Array.push([c])}}},e.prototype.removeTip=function(t){if(!(cc.fx.GameConfig.GM_INFO.level>3)&&this.tip_Array.length>0)if("back"==t)if(null==(o=this.tip_Array[this.tip_Array.length-1]))this.tip_Array.pop();else{this.tip_Array.pop();for(var e=0;e0&&(this.Guide.children[this.step-1].active=!1),this.step+=1;var e=this.getGuideName(),i=this.Guide.getChildByName(e);i.active=!0;var n=cc.winSize;if(n.height>1334){var o=(n.height-1334)/2;i.getChildByName("sp").height+=o}},e.prototype.onEnable=function(){cc.fx.Notifications.on(cc.fx.Message.control,this.clickSun,this),cc.fx.Notifications.on(cc.fx.Message.next,this.runRoad,this),cc.fx.Notifications.on(cc.fx.Message.nextWater,this.runWater,this),cc.fx.Notifications.on(cc.fx.Message.startGame,this.startGame,this),cc.fx.Notifications.on(cc.fx.Message.changePath,this.changePath,this),cc.fx.Notifications.on(cc.fx.Message.setData,this.setData,this),cc.fx.Notifications.on(cc.fx.Message.guideNext,this.guideNext,this),cc.fx.Notifications.on(cc.fx.Message.showResult,this.showResult,this),cc.fx.Notifications.on(cc.fx.Message.removeTip,this.removeTip,this)},e.prototype.onDisable=function(){cc.fx.Notifications.off(cc.fx.Message.control,this.clickSun),cc.fx.Notifications.off(cc.fx.Message.next,this.runRoad),cc.fx.Notifications.off(cc.fx.Message.nextWater,this.runWater),cc.fx.Notifications.off(cc.fx.Message.startGame,this.startGame),cc.fx.Notifications.off(cc.fx.Message.changePath,this.changePath),cc.fx.Notifications.off(cc.fx.Message.setData,this.setData),cc.fx.Notifications.off(cc.fx.Message.guideNext,this.guideNext),cc.fx.Notifications.off(cc.fx.Message.showResult,this.showResult),cc.fx.Notifications.off(cc.fx.Message.removeTip,this.removeTip)},e.prototype.update=function(){},r([h(cc.Node)],e.prototype,"Map",void 0),r([h(cc.Prefab)],e.prototype,"Block",void 0),r([h(cc.Label)],e.prototype,"Time",void 0),r([h(cc.Label)],e.prototype,"Countdown",void 0),r([h(cc.Node)],e.prototype,"Guide",void 0),r([c],e)}(cc.Component);i.default=l,cc._RF.pop()},{"./Block":"Block"}],GameOver:[function(t,e,i){"use strict";cc._RF.push(e,"805c6nf399HWZeuWnNB9CTH","GameOver");var n,o=this&&this.__extends||(n=function(t,e){return(n=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(t,e){t.__proto__=e}||function(t,e){for(var i in e)Object.prototype.hasOwnProperty.call(e,i)&&(t[i]=e[i])})(t,e)},function(t,e){function i(){this.constructor=t}n(t,e),t.prototype=null===e?Object.create(e):(i.prototype=e.prototype,new i)}),r=this&&this.__decorate||function(t,e,i,n){var o,r=arguments.length,a=r<3?e:null===n?n=Object.getOwnPropertyDescriptor(e,i):n;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)a=Reflect.decorate(t,e,i,n);else for(var s=t.length-1;s>=0;s--)(o=t[s])&&(a=(r<3?o(a):r>3?o(e,i,a):o(e,i))||a);return r>3&&a&&Object.defineProperty(e,i,a),a};Object.defineProperty(i,"__esModule",{value:!0});var a=cc._decorator,s=a.ccclass,c=a.property,h=function(t){function e(){var e=null!==t&&t.apply(this,arguments)||this;return e.count=null,e.time=null,e.selfNode=null,e.one=null,e.two=null,e.three=null,e.four=null,e.five=null,e}return o(e,t),e.prototype.start=function(){this.count.string=cc.fx.GameConfig.GM_INFO.score+"";var t=0,e=cc.fx.GameConfig.GM_INFO.successList;if(e.length>0){for(var i=0,n=0;n4&&(e=4);for(var i=0;i<=e;i++)this.setRank(i,this.listData[i])}},e.prototype.setRank=function(t,e){var i=null;0==t?i=this.one:1==t?i=this.two:2==t?i=this.three:3==t?i=this.four:4==t&&(i=this.five),i&&(i.active=!0,e.nickName.length>=4&&cc.fx.GameTool.subName(e.nickName,4),i.getChildByName("name").getComponent(cc.Label).string=e.nickName,i.getChildByName("total").getComponent(cc.Label).string=e.score,cc.fx.GameTool.setPic(i.getChildByName("pic").getChildByName("icon"),e.pic))},r([c(cc.Label)],e.prototype,"count",void 0),r([c(cc.Label)],e.prototype,"time",void 0),r([c(cc.Node)],e.prototype,"selfNode",void 0),r([c(cc.Node)],e.prototype,"one",void 0),r([c(cc.Node)],e.prototype,"two",void 0),r([c(cc.Node)],e.prototype,"three",void 0),r([c(cc.Node)],e.prototype,"four",void 0),r([c(cc.Node)],e.prototype,"five",void 0),r([s],e)}(cc.Component);i.default=h,cc._RF.pop()},{}],GameScene:[function(t,e){"use strict";cc._RF.push(e,"e8b235WjRBErajwLmN8xFUz","GameScene"),cc._RF.pop()},{}],GameTool:[function(t,e,i){"use strict";cc._RF.push(e,"43bfcJ6/25Fs4fHUE0PeBOX","GameTool"),Object.defineProperty(i,"__esModule",{value:!0}),i.GameTool=void 0;var n={_startTime:0,_endTime:0,_totalTime:0,Authentication:function(){var t="user_"+cc.fx.GameConfig.GM_INFO.gameId,e=JSON.parse(localStorage.getItem(t));if("undifend"==e||null==e||""==e){var i=window.location.href;if(!this.containsTrain(i)){var n="https://api.sparkus.cn/api/user/auth/login?domain=hui32579WdYPsgYq&callback="+location.href;window.location.href=n}}else cc.fx.StorageMessage.setStorage(t,e),cc.fx.GameConfig.GM_INFO.userId=parseInt(e.userId)},containsTrain:function(t){return/from=train/i.test(t)},setGameData:function(){cc.fx.GameConfig.GAME_DATA=[],cc.fx.GameConfig.GAME_DATA.push(cc.fx.GameConfig.CLICK_DATA),cc.fx.GameConfig.CLICK_init();var t=cc.fx.GameConfig.GAME_DATA,e=this.getMatchId(),i={gameId:cc.fx.GameConfig.GM_INFO.gameId,userId:cc.fx.GameConfig.GM_INFO.userId,matchId:e,data:t};cc.fx.HttpUtil.uploadUserLogData(i,function(){})},setRank:function(t){var e={gameId:cc.fx.GameConfig.GM_INFO.gameId,userId:cc.fx.GameConfig.GM_INFO.userId,type:1,score:t.score,accuracy:t.date,success:cc.fx.GameConfig.GM_INFO.success};cc.fx.HttpUtil.rankData(1,function(){},e)},getRank:function(t,e){var i=t.length,n={gameId:cc.fx.GameConfig.GM_INFO.gameId,userId:cc.fx.GameConfig.GM_INFO.userId,page:1,pageSize:i};cc.fx.HttpUtil.rankData(2,function(t){e(t)},n)},getMatchId:function(){var t=cc.sys.localStorage.getItem("matchId"),e=t;if("undifend"==t||null==t)t=this.setMatchId();else if(1==this.containsNanana(t))t=this.setMatchId();else{var i=parseInt(e.substring(10,e.length));1==cc.fx.GameConfig.GM_INFO.level&&(i+=1,t=e.slice(0,10)+i+"",this.containsNanana(t)&&(t=this.setMatchId()),cc.fx.GameConfig.GM_INFO.matchId=t,cc.sys.localStorage.setItem("matchId",t))}return 1==this.containsNanana(t)&&(t=this.setMatchId()),t},containsNanana:function(t){return/na/i.test(t)},setMatchId:function(){for(var t="abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789",e=[],i=0;i<10;i++){var n=Math.floor(Math.random()*t.length),o=t.charAt(n);e.push(o)}var r=e.join("")+1+"";return cc.sys.localStorage.setItem("matchNumber",1),cc.sys.localStorage.setItem("matchId",r),cc.fx.GameConfig.GM_INFO.matchId=r,r},subName:function(t,e){return t.length>e&&(t=t.substring(0,e)+"..."),t},setPic:function(t,e){t.active=!1;var i=e;setTimeout(function(){fetch(i).then(function(t){return t.headers.get("Content-Length")}).then(function(e){"5093"==e&&(t.active=!0)}).catch(function(){})},100),cc.assetManager.loadRemote(i,{ext:".png"},function(e,i){i?(t.active=!0,t.getComponent(cc.Sprite).spriteFrame=new cc.SpriteFrame(i)):console.log(e,i)})},getRankData:function(t,e,i){e.listData=t.data.list,e.selfData=t.data.info;var n=[],o=!1;cc.fx.GameTool.setPic(e.selfNode.getChildByName("pic").getChildByName("icon"),e.selfData.pic);for(var r=0;r<=e.listData.length-1;r++)n.push({rank:r+1,name:e.listData[r].nickName,total:e.listData[r].score,time:null,pic:e.listData[r].pic}),cc.fx.GameConfig.GM_INFO.userId==e.listData[r].userId&&(o=!0,e.rankNumber=r,e.selfNode.getChildByName("rankLab").getComponent(cc.Label).string=r+1+""),r==e.listData.length-1&&0==o&&(e.rankNumber=r,e.selfNode.getChildByName("rankLab").getComponent(cc.Label).string="99+");switch(cc.fx.GameTool.subName(e.selfData.nickName,i),e.selfNode.getChildByName("nameLab").getComponent(cc.Label).string=e.selfData.nickName,e.selfNode.getChildByName("totalLab").getComponent(cc.Label).string=e.selfData.score,cc.fx.GameTool.getTimeShenNong(e.selfData.totleTimes),e.selfNode.getChildByName("rankLab").getComponent(cc.Label).string){case"1":e.selfNode.getChildByName("rank").getChildByName("one").active=!0;break;case"2":e.selfNode.getChildByName("rank").getChildByName("two").active=!0;break;case"3":e.selfNode.getChildByName("rank").getChildByName("three").active=!0}6==i&&(e.rankList.setData(n),e.selfNode.opacity=255,0==e.selfData.totalSunCount&&(e.selfNode.opacity=0))},getSeedRandom:function(t,e){console.log("\u968f\u673a\u6570:",cc.fx.GameConfig.GM_INFO.currSeed),e=e||1,t=t||0,cc.fx.GameConfig.GM_INFO.currSeed=(9301*cc.fx.GameConfig.GM_INFO.currSeed+49297)%233280;var i=cc.fx.GameConfig.GM_INFO.currSeed/233280;return parseInt(t+i*(e-t))},getCustom:function(t){var e=cc.fx.StorageMessage.getStorage(cc.fx.storageType.storageTypeCustom);"undifend"==e||null==e||""==e?this.setCustom():(cc.fx.GameConfig.GM_INFO_SET("custom",e[0]),0==e[0]&&1!=t||(e.shift(),0==e.length?this.setCustom():cc.fx.StorageMessage.setStorage(cc.fx.storageType.storageTypeCustom,e)))},setCustom:function(){for(var t=cc.fx.GameConfig.LEVEL_INFO.length,e=[],i=1;i16.2/9)},setFit:function(){return cc.fx.GameTool.getSetScreenResolutionFlag()},getGameInfo:function(){return!1},setGameInfo:function(){},typingAni:function(t,e,i,n){var o=n,r="",a=e.split(""),s=a.length,c=0;o.func=function(){r+=a[c],t.string=r,++c==s&&(o.unschedule(o.func),i&&i())},o.schedule(o.func,.1,cc.macro.REPEAT_FOREVER,0)},getTimeMargin:function(t){var e,i;e=t,i=parseInt(e/3600+"");var n=parseInt((e-3600*i)/60+""),o=""+n;n<10&&(o="0"+n);var r=e-3600*i-60*n,a=r+"";return r<10&&(a="0"+r),o+":"+a},getTimeShenNong:function(t){var e,i=0;return(e=t=parseInt(t/1e3+""))>60&&(i=parseInt(e/60+"")),i+"'"+(e-60*i)+"''"},getTime:function(){return(new Date).getTime()},pushLister:function(){},removeAllLister:function(){}};i.GameTool=n,cc._RF.pop()},{}],HttpUtil:[function(t,e,i){"use strict";cc._RF.push(e,"771a32aQBNGVKd3+66gyTKA","HttpUtil");var n,o=this&&this.__extends||(n=function(t,e){return(n=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(t,e){t.__proto__=e}||function(t,e){for(var i in e)Object.prototype.hasOwnProperty.call(e,i)&&(t[i]=e[i])})(t,e)},function(t,e){function i(){this.constructor=t}n(t,e),t.prototype=null===e?Object.create(e):(i.prototype=e.prototype,new i)}),r=this&&this.__decorate||function(t,e,i,n){var o,r=arguments.length,a=r<3?e:null===n?n=Object.getOwnPropertyDescriptor(e,i):n;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)a=Reflect.decorate(t,e,i,n);else for(var s=t.length-1;s>=0;s--)(o=t[s])&&(a=(r<3?o(a):r>3?o(e,i,a):o(e,i))||a);return r>3&&a&&Object.defineProperty(e,i,a),a},a=this&&this.__awaiter||function(t,e,i,n){return new(i||(i=Promise))(function(o,r){function a(t){try{c(n.next(t))}catch(e){r(e)}}function s(t){try{c(n.throw(t))}catch(e){r(e)}}function c(t){var e;t.done?o(t.value):(e=t.value,e instanceof i?e:new i(function(t){t(e)})).then(a,s)}c((n=n.apply(t,e||[])).next())})},s=this&&this.__generator||function(t,e){var i,n,o,r,a={label:0,sent:function(){if(1&o[0])throw o[1];return o[1]},trys:[],ops:[]};return r={next:s(0),throw:s(1),return:s(2)},"function"==typeof Symbol&&(r[Symbol.iterator]=function(){return this}),r;function s(t){return function(e){return c([t,e])}}function c(r){if(i)throw new TypeError("Generator is already executing.");for(;a;)try{if(i=1,n&&(o=2&r[0]?n.return:r[0]?n.throw||((o=n.return)&&o.call(n),0):n.next)&&!(o=o.call(n,r[1])).done)return o;switch(n=0,o&&(r=[2&r[0],o.value]),r[0]){case 0:case 1:o=r;break;case 4:return a.label++,{value:r[1],done:!1};case 5:a.label++,n=r[1],r=[0];continue;case 7:r=a.ops.pop(),a.trys.pop();continue;default:if(!(o=(o=a.trys).length>0&&o[o.length-1])&&(6===r[0]||2===r[0])){a=0;continue}if(3===r[0]&&(!o||r[1]>o[0]&&r[1]=0;s--)(o=t[s])&&(a=(r<3?o(a):r>3?o(e,i,a):o(e,i))||a);return r>3&&a&&Object.defineProperty(e,i,a),a};Object.defineProperty(i,"__esModule",{value:!0});var a=cc._decorator,s=a.ccclass,c=(a.property,function(t){function e(){var e=null!==t&&t.apply(this,arguments)||this;return e.data=null,e.itemIndex=0,e}return o(e,t),e.prototype.dataChanged=function(){cc.fx.GameTool.subName(this.data.name,6),this.node.getChildByName("rankLab").getComponent(cc.Label).string=this.data.rank+"",this.node.getChildByName("nameLab").getComponent(cc.Label).string=this.data.name+"",this.node.getChildByName("totalLab").getComponent(cc.Label).string=this.data.total,cc.fx.GameTool.getTimeShenNong(this.data.time),this.node.getChildByName("rank").getChildByName("one").active=!1,this.node.getChildByName("rank").getChildByName("two").active=!1,this.node.getChildByName("rank").getChildByName("three").active=!1,1==this.data.rank?(this.node.getChildByName("rank").getChildByName("one").active=!0,this.node.getChildByName("rankLab").active=!1):2==this.data.rank?(this.node.getChildByName("rank").getChildByName("two").active=!0,this.node.getChildByName("rankLab").active=!1):3==this.data.rank?(this.node.getChildByName("rank").getChildByName("three").active=!0,this.node.getChildByName("rankLab").active=!1):this.node.getChildByName("rankLab").active=!0,this.setPic()},e.prototype.setPic=function(){var t=this;this.node.getChildByName("pic").getChildByName("icon").active=!1,this.node.getChildByName("pic").getChildByName("pic").active=!1;var e=this.data.pic;fetch(e).then(function(t){return t.headers.get("Content-Length")}).then(function(e){"5093"==e&&(t.node.getChildByName("pic").getChildByName("icon").active=!0)}).catch(function(){}),cc.assetManager.loadRemote(e,{ext:".png"},function(e,i){i?(t.node.getChildByName("pic").getChildByName("pic").active=!0,t.node.getChildByName("pic").getChildByName("pic").getComponent(cc.Sprite).spriteFrame=new cc.SpriteFrame(i)):console.log(e,i)})},r([s],e)}(cc.Component));i.default=c,cc._RF.pop()},{}],List:[function(t,e,i){"use strict";cc._RF.push(e,"d5421HgLShFKIjj5f18m1mi","List");var n,o=this&&this.__extends||(n=function(t,e){return(n=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(t,e){t.__proto__=e}||function(t,e){for(var i in e)Object.prototype.hasOwnProperty.call(e,i)&&(t[i]=e[i])})(t,e)},function(t,e){function i(){this.constructor=t}n(t,e),t.prototype=null===e?Object.create(e):(i.prototype=e.prototype,new i)}),r=this&&this.__decorate||function(t,e,i,n){var o,r=arguments.length,a=r<3?e:null===n?n=Object.getOwnPropertyDescriptor(e,i):n;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)a=Reflect.decorate(t,e,i,n);else for(var s=t.length-1;s>=0;s--)(o=t[s])&&(a=(r<3?o(a):r>3?o(e,i,a):o(e,i))||a);return r>3&&a&&Object.defineProperty(e,i,a),a};Object.defineProperty(i,"__esModule",{value:!0}),i.StartAxisType=i.ListType=void 0;var a,s,c=t("./ItemRender"),h=cc._decorator,l=h.ccclass,p=h.property;(function(t){t[t.Horizontal=1]="Horizontal",t[t.Vertical=2]="Vertical",t[t.Grid=3]="Grid"})(a=i.ListType||(i.ListType={})),function(t){t[t.Horizontal=1]="Horizontal",t[t.Vertical=2]="Vertical"}(s=i.StartAxisType||(i.StartAxisType={}));var f=function(t){function e(){var e=null!==t&&t.apply(this,arguments)||this;return e.itemRender=null,e.type=a.Vertical,e.startAxis=s.Horizontal,e.spaceX=0,e.spaceY=0,e.padding_top=0,e.padding_buttom=0,e.padding_left=0,e._padding=0,e.padding_right=0,e.scrollView=null,e.content=null,e.itemDataList=[],e.spawnCount=0,e.itemList=[],e.itemHeight=0,e.itemWidth=0,e.itemPool=[],e.halfScrollView=0,e.lastContentPosX=0,e.lastContentPosY=0,e.gridRow=0,e.gridCol=0,e.updateTimer=0,e.updateInterval=.1,e.bScrolling=!1,e.updateFun=function(){},e}return o(e,t),e.prototype.onLoad=function(){this.itemHeight=this.itemRender.height,this.itemWidth=this.itemRender.width,this.scrollView=this.node.getComponent(cc.ScrollView),this.content=this.scrollView.content,this.content.anchorX=0,this.content.anchorY=1,this.content.removeAllChildren(),this.scrollView.node.on("scrolling",this.onScrolling,this)},e.prototype.setData=function(t){this.itemDataList=t.slice(),this.updateContent()},e.prototype.countListParam=function(){var t=this.itemDataList.length;this.type==a.Vertical?(this.scrollView.horizontal=!1,this.scrollView.vertical=!0,this.content.width=this.content.parent.width,this.content.height=t*this.itemHeight+(t-1)*this.spaceY+this.padding_top+this.padding_buttom,this.spawnCount=Math.round(this.scrollView.node.height/(this.itemHeight+this.spaceY))+2,this.halfScrollView=this.scrollView.node.height/2+this.itemHeight/2+this.spaceY,this.updateFun=this.updateV):this.type==a.Horizontal?(this.scrollView.horizontal=!0,this.scrollView.vertical=!1,this.content.width=t*this.itemWidth+(t-1)*this.spaceX+this.padding_left+this.padding_right,this.content.height=this.content.parent.height,this.spawnCount=Math.round(this.scrollView.node.width/(this.itemWidth+this.spaceX))+2,this.halfScrollView=this.scrollView.node.width/2+this.itemWidth/2+this.spaceX,this.updateFun=this.udpateH):this.type==a.Grid&&(this.startAxis==s.Vertical?(this.scrollView.horizontal=!1,this.scrollView.vertical=!0,this.content.width=this.content.parent.width,this.padding_left+this.padding_right+this.itemWidth+this.spaceX>this.content.width&&(this.padding_left=0,this.padding_right=0,console.error("padding_left\u6216padding_right\u8fc7\u5927")),this.gridCol=Math.floor((this.content.width-this.padding_left-this.padding_right)/(this.itemWidth+this.spaceX)),this.gridRow=Math.ceil(t/this.gridCol),this.content.height=this.gridRow*this.itemHeight+(this.gridRow-1)*this.spaceY+this.padding_top+this.padding_buttom,this.spawnCount=Math.round(this.scrollView.node.height/(this.itemHeight+this.spaceY))*this.gridCol+2*this.gridCol,this.halfScrollView=this.scrollView.node.height/2+this.itemHeight/2+this.spaceY,this.updateFun=this.updateGrid_V):this.startAxis==s.Horizontal&&(this.scrollView.horizontal=!0,this.scrollView.vertical=!1,this.content.height=this.content.parent.height,this.padding_top+this.padding_buttom+this.itemHeight+this.spaceY>this.content.height&&(this.padding_top=0,this.padding_buttom=0,console.error("padding_top\u6216padding_buttom\u8fc7\u5927")),this.gridRow=Math.floor((this.content.height-this.padding_top-this.padding_buttom)/(this.itemHeight+this.spaceY)),this.gridCol=Math.ceil(t/this.gridRow),this.content.width=this.gridCol*this.itemWidth+(this.gridCol-1)*this.spaceX+this.padding_left+this.padding_right,this.spawnCount=Math.round(this.scrollView.node.width/(this.itemWidth+this.spaceX))*this.gridRow+2*this.gridRow,this.halfScrollView=this.scrollView.node.width/2+this.itemWidth/2+this.spaceX,this.updateFun=this.updateGrid_H))},e.prototype.createList=function(t,e){this.itemDataList.length>this.spawnCount&&t+this.spawnCount-1>=this.itemDataList.length?(t=this.itemDataList.length-this.spawnCount,e=this.scrollView.getMaxScrollOffset()):this.itemDataList.length<=this.spawnCount&&(t=0);for(var i=0;ithis.itemDataList.length-t&&((n=this.itemList.pop()).removeFromParent(),this.itemPool.push(n))}this.scrollView.scrollToOffset(e)},e.prototype.getItem=function(){return 0==this.itemPool.length?cc.instantiate(this.itemRender):this.itemPool.pop()},e.prototype.update=function(t){0!=this.bScrolling&&(this.updateTimer+=t,this.updateTimerthis.lastContentPosY,o=(this.itemHeight+this.spaceY)*e.length,r=0;ri&&t.y-o-this.padding_buttom>-this.content.height){var s=(h=t.getComponent(c.default)).itemIndex+e.length;h.itemIndex=s,h.data=this.itemDataList[s],h.dataChanged(),t.y=t.y-o}}else if(a.y<-i&&t.y+o+this.padding_top<0){var h;s=(h=t.getComponent(c.default)).itemIndex-e.length,h.itemIndex=s,h.data=this.itemDataList[s],h.dataChanged(),t.y=t.y+o}}this.lastContentPosY=this.scrollView.content.y},e.prototype.udpateH=function(){for(var t,e=this.itemList,i=this.halfScrollView,n=this.scrollView.content.x>this.lastContentPosX,o=(this.itemWidth+this.spaceX)*e.length,r=0;ri&&t.x-o-this.padding_left>0){var s=(h=t.getComponent(c.default)).itemIndex-e.length;h.itemIndex=s,h.data=this.itemDataList[s],h.dataChanged(),t.x=t.x-o}}else if(a.x<-i&&t.x+o+this.padding_rightthis.lastContentPosY,o=(this.itemHeight+this.spaceY)*(this.spawnCount/this.gridCol),r=0;ri&&t.y-o-this.padding_buttom>-this.content.height){var s=(h=t.getComponent(c.default)).itemIndex+this.spawnCount/this.gridCol*this.gridCol;null!=this.itemDataList[s]?(t.y=t.y-o,h.itemIndex=s,h.data=this.itemDataList[s],h.dataChanged(),t.opacity=255):(t.y=t.y-o,h.itemIndex=s,t.opacity=0)}}else if(a.y<-i&&t.y+o+this.padding_top<0){var h;s=(h=t.getComponent(c.default)).itemIndex-this.spawnCount/this.gridCol*this.gridCol,null!=this.itemDataList[s]?(t.y=t.y+o,h.itemIndex=s,h.data=this.itemDataList[s],h.dataChanged(),t.opacity=255):(t.y=t.y+o,h.itemIndex=s,t.opacity=0)}}this.lastContentPosY=this.scrollView.content.y},e.prototype.updateGrid_H=function(){for(var t,e=this.itemList,i=this.halfScrollView,n=this.scrollView.content.x>this.lastContentPosX,o=(this.itemWidth+this.spaceX)*(this.spawnCount/this.gridRow),r=0;ri&&t.x-o-this.padding_left>0){var s=(h=t.getComponent(c.default)).itemIndex-this.spawnCount/this.gridRow*this.gridRow;null!=this.itemDataList[s]?(t.x=t.x-o,h.itemIndex=s,h.data=this.itemDataList[s],h.dataChanged(),t.opacity=255):(t.x=t.x-o,h.itemIndex=s,t.opacity=0)}}else if(a.x<-i&&t.x+o+this.padding_right=0;s--)(o=t[s])&&(a=(r<3?o(a):r>3?o(e,i,a):o(e,i))||a);return r>3&&a&&Object.defineProperty(e,i,a),a};Object.defineProperty(i,"__esModule",{value:!0});var a=cc._decorator,s=a.ccclass,c=a.property,h=(a.requireComponent,function(t){function e(){var e=null!==t&&t.apply(this,arguments)||this;return e.localTest=!1,e.clientTestVersion="1.0.0",e.testVersion=null,e}return o(e,t),e.prototype.start=function(){cc.debug.setDisplayStats(!1),window.initMgr(),cc.fx.GameConfig.init(this.localTest),this.testVersion.string=this.clientTestVersion;var t=window.location.href;this.containsTrain(t)?(console.log("\u65e0\u6392\u884c\u7248\u672c"),this.node.getChildByName("Rank").active=!1):console.log("\u6709\u6392\u884c\u7248\u672c")},e.prototype.containsTrain=function(t){return/from=train/i.test(t)},e.prototype.startGame=function(){cc.director.loadScene("GameScene")},e.prototype.clickBtn=function(t,e){cc.fx.GameConfig.GM_INFO.custom=parseInt(e),cc.director.loadScene("GameScene")},e.prototype.openRank=function(){cc.director.loadScene("RankScene")},e.prototype.update=function(){},r([c(!1)],e.prototype,"localTest",void 0),r([c("")],e.prototype,"clientTestVersion",void 0),r([c(cc.Label)],e.prototype,"testVersion",void 0),r([s],e)}(cc.Component));i.default=h,cc._RF.pop()},{}],Map:[function(t,e,i){"use strict";cc._RF.push(e,"2234assp7RIvpDgrnqljp2R","Map");var n,o=this&&this.__extends||(n=function(t,e){return(n=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(t,e){t.__proto__=e}||function(t,e){for(var i in e)Object.prototype.hasOwnProperty.call(e,i)&&(t[i]=e[i])})(t,e)},function(t,e){function i(){this.constructor=t}n(t,e),t.prototype=null===e?Object.create(e):(i.prototype=e.prototype,new i)}),r=this&&this.__decorate||function(t,e,i,n){var o,r=arguments.length,a=r<3?e:null===n?n=Object.getOwnPropertyDescriptor(e,i):n;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)a=Reflect.decorate(t,e,i,n);else for(var s=t.length-1;s>=0;s--)(o=t[s])&&(a=(r<3?o(a):r>3?o(e,i,a):o(e,i))||a);return r>3&&a&&Object.defineProperty(e,i,a),a};Object.defineProperty(i,"__esModule",{value:!0});var a=cc._decorator,s=a.ccclass,c=(a.property,function(t){function e(){return null!==t&&t.apply(this,arguments)||this}return o(e,t),e.prototype.onLoad=function(){},e.prototype.start=function(){this.initMap()},e.prototype.initMap=function(){this.setMapInfo()},e.prototype.setMapInfo=function(){switch(cc.fx.GameConfig.custom){case 0:this.vertical=4,this.horizontal=4,this.passTime=.3;break;case 1:this.vertical=5,this.horizontal=5,this.passTime=.25;break;case 2:this.vertical=5,this.horizontal=5,this.passTime=.2;break;case 3:this.vertical=5,this.horizontal=5,this.passTime=.18;break;case 4:this.vertical=6,this.horizontal=6,this.passTime=.16;break;case 5:this.vertical=6,this.horizontal=7,this.passTime=.14;break;case 6:this.vertical=6,this.horizontal=8,this.passTime=.12;break;case 7:this.vertical=6,this.horizontal=9,this.passTime=.1}},r([s],e)}(cc.Component));i.default=c,cc._RF.pop()},{}],Mask:[function(t,e,i){"use strict";cc._RF.push(e,"81171JxkddO6ZzuXLu/FZen","Mask");var n,o=this&&this.__extends||(n=function(t,e){return(n=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(t,e){t.__proto__=e}||function(t,e){for(var i in e)Object.prototype.hasOwnProperty.call(e,i)&&(t[i]=e[i])})(t,e)},function(t,e){function i(){this.constructor=t}n(t,e),t.prototype=null===e?Object.create(e):(i.prototype=e.prototype,new i)}),r=this&&this.__decorate||function(t,e,i,n){var o,r=arguments.length,a=r<3?e:null===n?n=Object.getOwnPropertyDescriptor(e,i):n;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)a=Reflect.decorate(t,e,i,n);else for(var s=t.length-1;s>=0;s--)(o=t[s])&&(a=(r<3?o(a):r>3?o(e,i,a):o(e,i))||a);return r>3&&a&&Object.defineProperty(e,i,a),a};Object.defineProperty(i,"__esModule",{value:!0});var a=cc._decorator,s=a.ccclass,c=(a.property,function(t){function e(){return null!==t&&t.apply(this,arguments)||this}return o(e,t),e.prototype.start=function(){var t=this.node.parent.parent.parent.getComponent("GameManager");1==t.bgClick&&(t.bgClick=!1,this.node.on(cc.Node.EventType.TOUCH_START,this.onClick,this))},e.prototype.onClick=function(){cc.fx.Notifications.emit(cc.fx.Message.guideNext)},r([s],e)}(cc.Component));i.default=c,cc._RF.pop()},{}],MiniGameSdk:[function(t,e,i){"use strict";cc._RF.push(e,"c1af9nd7gNA95YJ04h9DdNX","MiniGameSdk"),Object.defineProperty(i,"__esModule",{value:!0}),i.MiniGameSdk=void 0,function(t){function e(){return null!==window.wx&&void 0!==window.wx}function i(){return null!==window.tt&&void 0!==window.tt}function n(){var t;e()?t=wx.getSystemInfoSync():i()&&(t=tt.getSystemInfoSync());var n={width:0,height:0};return t&&(n.width=t.windowWidth,n.height=t.windowHeight),n}t.isWechat=e,t.isBytedance=i;var o,r=function(){function t(t){this._adUid=t}return Object.defineProperty(t.prototype,"aduid",{get:function(){return this._adUid},enumerable:!1,configurable:!0}),t.prototype.show=function(){var t,n,o=this;return e()&&!wx.createInterstitialAd?(console.warn("wechat unsupport interstitial AD!"),void(this._interstitial=null)):i()&&!tt.createInterstitialAd?(console.warn("bytedance unsupport interstitial AD!"),void(this._interstitial=null)):void(this._interstitial?this._interstitial.load():(e()?this._interstitial=wx.createInterstitialAd({adUnitId:this._adUid}):i()?this._interstitial=tt.createInterstitialAd({adUnitId:this._adUid}):this._interstitial=null,null===(t=this._interstitial)||void 0===t||t.onLoad(function(){console.log("load interstitial ad success"),o._interstitial.show().catch(function(t){console.log("catch interstitial ad error:",t)})}),null===(n=this._interstitial)||void 0===n||n.onError(function(t){console.log("interstitial ad on error:",t)})))},t.prototype.destory=function(){var t;null===(t=this._interstitial)||void 0===t||t.destroy()},t}(),a=function(){function t(t,e,i,n){void 0===i&&(i=300),void 0===n&&(n=!1),this._adUid=t,this.create(n,i,e)}return Object.defineProperty(t.prototype,"aduid",{get:function(){return this._adUid},enumerable:!1,configurable:!0}),t.prototype.create=function(t,o,r){var a,s,c=this;if(e()||i()){this.destroy();var h=n(),l=.4*o,p=0,f=0;"boolean"==typeof r?(f=(h.width-o)/2,p=r?5:h.height-l):(f=r.left,p=r.top);var u={adUnitId:this._adUid,adIntervals:30,style:{left:f,top:p,width:o}};e()?this._banner=wx.createBannerAd(u):i()?this._banner=tt.createBannerAd(u):this._banner=null,null===(a=this._banner)||void 0===a||a.onError(function(t){console.log("ad banner error:",t)}),null===(s=this._banner)||void 0===s||s.onLoad(function(){t&&c._banner.show()})}else this._banner=null},t.prototype.show=function(){var t;null===(t=this._banner)||void 0===t||t.show()},t.prototype.hide=function(){var t;null===(t=this._banner)||void 0===t||t.hide()},t.prototype.destroy=function(){var t;null===(t=this._banner)||void 0===t||t.destroy()},t}(),s=function(){function t(t,e,i,n){void 0===e&&(e=0),void 0===i&&(i=0),void 0===n&&(n=1),this._adUid=t,this.createCustomAd(e,i,n)}return Object.defineProperty(t.prototype,"aduid",{get:function(){return this._adUid},enumerable:!1,configurable:!0}),t.prototype.createCustomAd=function(t,i){var n;if(!e())return this._adCustom=null,void console.log("Only wechat support Custom Ad");this.destroy(),this._adCustom=wx.createCustomAd({adUnitId:this._adUid,style:{left:i,top:t,fixed:!0}}),null===(n=this._adCustom)||void 0===n||n.onError(function(t){console.log("ad custom error:",t)})},t.prototype.show=function(){var t;null===(t=this._adCustom)||void 0===t||t.show()},t.prototype.hide=function(){var t;null===(t=this._adCustom)||void 0===t||t.hide()},t.prototype.destroy=function(){var t;null===(t=this._adCustom)||void 0===t||t.destroy()},t}();(function(t){t[t.ACCEPT=0]="ACCEPT",t[t.REJECT=1]="REJECT",t[t.ERROR=2]="ERROR"})(o=t.EAdVideoResult||(t.EAdVideoResult={}));var c,h=function(){function t(t){this._adVideo=null,this._adUid=t}return Object.defineProperty(t.prototype,"aduid",{get:function(){return this._adUid},enumerable:!1,configurable:!0}),t.prototype.show=function(t,n,r){var a,s,c,h,l,p=this;void 0===r&&(r=3);var f=function(e,i){null==t||t.call(n,e,i)};if(!e()&&!i())return f(o.ACCEPT,1),void(this._adVideo=null);var u=function(t){var n;if(null===(n=p._adVideo)||void 0===n||n.offClose(u),e())t&&t.isEnded||void 0===t?f(o.ACCEPT,1):f(o.REJECT,0);else if(i()){var r=t;r&&r.count>0?f(o.ACCEPT,r.count):f(o.REJECT,0)}};null===(a=this._adVideo)||void 0===a||a.offClose(u),e()?this._adVideo=wx.createRewardedVideoAd({adUnitId:this._adUid}):i()?this._adVideo=tt.createRewardedVideoAd({adUnitId:this._adUid,multiton:!0,multitonRewardMsg:["\u591a1\u6b21\u5956\u52b1","\u518d\u591a\u4e00\u6b21\u5956\u52b1","\u518d\u591a\u4e00\u6b21\u5956\u52b1"],multitonRewardTimes:r}):this._adVideo=null,null===(s=this._adVideo)||void 0===s||s.onLoad(function(){console.log("Ad load success")}),null===(c=this._adVideo)||void 0===c||c.onError(function(t){console.log("Ad video error:",t),f(o.ERROR,0)}),null===(h=this._adVideo)||void 0===h||h.onClose(u),null===(l=this._adVideo)||void 0===l||l.show().catch(function(){var t;null===(t=p._adVideo)||void 0===t||t.load().then(function(){var t;return null===(t=p._adVideo)||void 0===t?void 0:t.show()}).catch(function(t){console.log("Catch video ad error:",t),f(o.ERROR,0)})})},t.prototype.destory=function(){var t;null===(t=this._adVideo)||void 0===t||t.destory()},t}();(function(t){t[t.TOP=0]="TOP",t[t.BOTTOM=1]="BOTTOM"})(c=t.EAdBannerLocation||(t.EAdBannerLocation={}));var l,p=function(){function t(){this._customs={}}return Object.defineProperty(t,"instance",{get:function(){return t._instance||(t._instance=new t),t._instance},enumerable:!1,configurable:!0}),t.prototype.loadBanner=function(t,e,i){var o;void 0===e&&(e=c.TOP),void 0===i&&(i=1),null===(o=this._banner)||void 0===o||o.destroy();var r=n(),s=r.width*i;s=(s=s<300?300:s)>r.width?r.width:s,this._banner=new a(t,"number"==typeof e?e===c.TOP:e,s,!1)},t.prototype.showBanner=function(){this._banner?this._banner.show():console.warn("MiniGameSDK: banner is null, you must call loadBanner(...) first!")},t.prototype.hideBanner=function(){var t;null===(t=this._banner)||void 0===t||t.hide()},t.prototype.showInterstitial=function(t){var e;this._interstitial&&this._interstitial.aduid===t?this._interstitial.show():(null===(e=this._interstitial)||void 0===e||e.destory(),this._interstitial=new r(t),this._interstitial.show())},t.prototype.loadCustom=function(t,e,i){void 0===e&&(e={top:0,left:0}),void 0===i&&(i=1),this._customs[t]?console.log(t+" has been loaded."):this._customs[t]=new s(t,e.top,e.left,i)},t.prototype.showCustom=function(t){this._customs[t]?this._customs[t].show():console.warn("You have not load "+t+" of Custom AD, can not show!")},t.prototype.hideCustom=function(t){this._customs[t]?this._customs[t].hide():console.warn("You have not load "+t+" of Custom AD, can not hide!")},t.prototype.showVideo=function(t,e,i,n){var o;void 0===n&&(n=3),this._video&&this._video.aduid===t?this._video.show(e,i,n):(null===(o=this._video)||void 0===o||o.destory(),this._video=new h(t),this._video.show(e,i,n))},t.prototype.destroyAll=function(){var t,e,i,n;if(null===(t=this._banner)||void 0===t||t.destroy(),this._banner=null,null===(e=this._interstitial)||void 0===e||e.destory(),this._interstitial=null,null===(i=this._video)||void 0===i||i.destory(),this._video=null,this._customs){for(var o in this._customs)null===(n=this._customs[o])||void 0===n||n.destroy();this._customs={}}},t}();t.AdvertManager=p,function(t){t.GREEN="green",t.WHITE="white",t.DARK="dark",t.LIGHT="light"}(l=t.EGameClubIcon||(t.EGameClubIcon={}));var f,u=function(){function t(){}return Object.defineProperty(t,"instance",{get:function(){return this._instance||(this._instance=new t),this._instance},enumerable:!1,configurable:!0}),t.prototype.create=function(t,i,n,o){void 0===t&&(t=l.GREEN),void 0===i&&(i={top:0,left:0}),void 0===n&&(n={width:40,height:40}),e()&&(this._club=wx.createGameClubButton({icon:t,style:{left:i.left,top:i.top,width:n.width,height:n.height},openlink:o}))},t.prototype.show=function(){var t;null===(t=this._club)||void 0===t||t.show()},t.prototype.hide=function(){var t;null===(t=this._club)||void 0===t||t.hide()},t.prototype.destory=function(){var t;null===(t=this._club)||void 0===t||t.destroy()},t}();t.GameClub=u,function(t){t[t.SHORT=0]="SHORT",t[t.LONG=1]="LONG"}(f=t.EVirbrateType||(t.EVirbrateType={}));var d=function(){function t(){}return t.shareAppToFriends=function(t,n,o,r,a){if(void 0===n&&(n=""),e())try{wx.shareAppMessage({title:t,imageUrl:o,query:r})}catch(s){console.log("share faild: "+s)}i()&&tt.shareAppMessage({title:t,desc:n,imageUrl:null!=o?o:"",query:null!=r?r:"",success:function(t){console.log("share success:",t),null==a||a()},fail:function(t){console.log("share fail:",t)}})},t.showToast=function(t,n){void 0===n&&(n=2),e()&&wx.showToast({title:t,icon:"success",duration:1e3*n}),i()&&tt.showToast({title:t,duration:1e3*n,success:function(t){console.log(""+t)},fail:function(){console.log("showToast\u8c03\u7528\u5931\u8d25")}})},t.vibrate=function(t){if(void 0===t&&(t=f.SHORT),e())switch(t){case f.SHORT:wx.vibrateShort({success:function(t){console.log("vibrate success:",t)},fail:function(t){console.log("vibrateShort failed",t)}});break;case f.LONG:wx.vibrateLong({success:function(t){console.log("vibrate success",t)},fail:function(t){console.log("vibrateLong failed",t)}})}if(i())switch(t){case f.SHORT:tt.vibrateShort({success:function(t){console.log("vibrate success:",t)},fail:function(t){console.log("vibrateShort failed",t)}});break;case f.LONG:tt.vibrateLong({success:function(t){console.log("vibrate success",t)},fail:function(t){console.log("vibrateLong failed",t)}})}},t.reboot=function(){if(e()&&wx.restartMiniProgram({success:function(){console.log("restart success")},fail:function(){console.log("restart failed")}}),i())try{tt.restartMiniProgramSync()}catch(t){console.log("restartMiniProgramSync",t)}},t.exit=function(){e()&&wx.exitMiniProgram({success:function(){console.log("exit success")},fail:function(){console.log("exit failed")}}),i()&&tt.exitMiniProgram({success:function(t){console.log("exit success:",null==t?void 0:t.data)},fail:function(t){console.log("exit fail:",null==t?void 0:t.errMsg)}})},t.showShareMenu=function(){e()&&wx.showShareMenu({withShareTicket:!0,menus:["shareAppMessage","shareTimeline"],success:function(){},fail:function(){},complete:function(){}}),i()&&tt.showShareMenu({success:function(){console.log("show menu is showing")},fail:function(t){console.log("showShareMenu:",t.errMsg)},complete:function(){console.log("showShareMenu complete")}})},t.navigateTo=function(t,n){e()&&wx.navigateToMiniProgram({appId:t,extraData:{foo:"bar"},envVersion:"develop",success:function(){null==n||n()}}),i()&&tt.navigateToVideoView({videoId:t,success:function(){null==n||n()},fail:function(t){console.log("bytedance navigateToVideoView fail",t)}})},t.login=function(n){var o=function(){e()?wx.login({success:function(e){e.code?(t._loginCode=e.code,t._loginAnonymousCode=null,null==n||n(t._loginCode,t._loginAnonymousCode)):console.log("login error:",e.errMsg)},fail:function(){t._loginCode=null,t._loginAnonymousCode=null,null==n||n(t._loginCode,t._loginAnonymousCode),console.log("login fail")}}):i()?tt.login({force:!0,success:function(e){var i,o;console.log("login "+e.code+" "+e.anonymousCode),e.code?(t._loginCode=null===(i=e.code)||void 0===i?void 0:i.toString(),t._loginAnonymousCode=null===(o=e.anonymousCode)||void 0===o?void 0:o.toString(),null==n||n(t._loginCode,t._loginAnonymousCode)):console.log("login error:",e.errMsg)},fail:function(e){t._loginCode=null,t._loginAnonymousCode=null,null==n||n(t._loginCode,t._loginAnonymousCode),console.log("login fail",e)}}):(t._loginCode=null,t._loginAnonymousCode=null,null==n||n(t._loginCode,t._loginAnonymousCode),console.log("not mini game platform, login codes are all null"))};t._loginCode?e()?wx.checkSession({success:function(){console.log("session is valid, use current code:",t._loginCode),null==n||n(t._loginCode,t._loginAnonymousCode)},fail:function(){console.log("session expired"),o()}}):i()?tt.checkSession({success:function(){console.log("session is valid, user current code: "+t._loginCode+", "+t._loginAnonymousCode),null==n||n(t._loginCode,t._loginAnonymousCode)},fail:function(){console.log("session expired"),o()}}):(console.log("not mini game platform, login null"),null==n||n(null,null)):o()},t.callWechatCloudFunction=function(i,n,o){e()?this.login(function(){t._hasInitWechatCloudFunction||(wx.cloud.init(),t._hasInitWechatCloudFunction=!0),wx.cloud.callFunction({name:n,data:o,success:function(t){return null==i?void 0:i(t)},fail:function(t){console.log("wechat cloud function error:",t),null==i||i(null)}})}):console.log("Not wechat platform, not support callWechatCloudFunction")},t.setUserCloudStorage=function(t,n){e()&&wx.setUserCloudStorage({KVDataList:[{key:t,value:n}],success:function(){return console.log("set cloud storage success:"+t+", value:"+n)},fail:function(t){return console.log("set cloud storage error:",t)}}),i()&&tt.setUserCloudStorage({KVDataList:[{key:t,value:n}],success:function(){return console.log("set cloud storage success:"+t+", value:"+n)},fail:function(t){return console.log("set cloud storage error:",t)}})},t._loginCode=null,t._loginAnonymousCode=null,t._hasInitWechatCloudFunction=!1,t}();t.API=d;var m=function(){function t(){}return t.listenFromSidebar=function(t,e){if(i()){tt.onShow(function(i){console.log("onShow launch res:",i),"021036"===i.scene?(null==t||t.call(e,!0),console.log("launch from sidebar")):(null==t||t.call(e,!1),console.log("NOT launch from douyin sidebar!"))});var n=tt.getLaunchOptionsSync();n&&"021036"===n.scene&&(null==t||t.call(e,!0))}else null==t||t.call(e,!1)},t.checkSideBar=function(t,e){i()?tt.checkScene({scene:"sidebar",success:function(i){console.log("check scene success: ",i.isExist),null==t||t.call(e,i.isExist)},fail:function(i){console.log("check scene fail:",i),null==t||t.call(e,!1)}}):null==t||t.call(e,!1)},t.navigateToSidebar=function(t,e){if(!i())return console.log("not douyin platform!"),void(null==t||t.call(e,!1));tt.navigateToScene({scene:"sidebar",success:function(){console.log("navigate success"),null==t||t.call(e,!0)},fail:function(i){console.log("navigate failed reason:",i),null==t||t.call(e,!1)}})},t}();t.BytedanceSidebar=m}(i.MiniGameSdk||(i.MiniGameSdk={})),cc._RF.pop()},{}],Notification:[function(t,e,i){"use strict";cc._RF.push(e,"55403VjGlpPL564gsdiZBg3","Notification"),Object.defineProperty(i,"__esModule",{value:!0}),i.Notifications=void 0;i.Notifications={_eventMap:[],on:function(t,e,i){void 0===this._eventMap[t]&&(this._eventMap[t]=[]),this._eventMap[t].push({callback:e,target:i})},emit:function(t,e){var i=this._eventMap[t];if(void 0!==i)for(var n=0;n=0;s--)(o=t[s])&&(a=(r<3?o(a):r>3?o(e,i,a):o(e,i))||a);return r>3&&a&&Object.defineProperty(e,i,a),a};Object.defineProperty(i,"__esModule",{value:!0});var a=t("./module/RankList/List"),s=cc._decorator,c=s.ccclass,h=s.property,l=function(t){function e(){var e=null!==t&&t.apply(this,arguments)||this;return e.Player=null,e.selfNode=null,e.phone=null,e}return o(e,t),e.prototype.onLoad=function(){this.init()},e.prototype.init=function(){this.rankList=cc.find("ScrollView",this.node).getComponent(a.default),this.Player.getChildByName("rank").active=!1,this.listData=[],this.selfData=null,this.rankNumber=100,this.rankTotal=100,this.selfNode.opacity=0},e.prototype.start=function(){this.Player.active=!1,this.getRank()},e.prototype.getRank=function(){var t=this;cc.fx.GameTool.getRank({length:100},function(e){return t.getRankData(e)})},e.prototype.getRankData=function(t){t&&(cc.fx.GameTool.getRankData(t,this,6),this.setPic(this.selfData.pic))},e.prototype.backClick=function(){cc.director.loadScene("LoadScene")},e.prototype.playerAction=function(){var t=this;this.Player.getChildByName("rank").active=!1;var e=1;if(this.tween=cc.tween(this.Player).to(2,{position:cc.v3(215,525,0)}).call(function(){t.Player.getChildByName("rank").active=!0,t.Player.getChildByName("rank").getChildByName("number").getComponent(cc.Label).string=parseInt(100*e+"")+"%"}).start(),e=(this.listData.length-this.rankNumber)/this.listData.length,this.listData.length>=99&&this.rankNumber>=99){e=(49*Math.random()+1)/100;var i=cc.sys.localStorage.getItem("matchNumber");null!=i&&null!=i||(e=0)}setTimeout(function(){t.tween&&t.tween.stop(),t.Player.getChildByName("rank").active=!0,t.Player.getChildByName("rank").getChildByName("number").getComponent(cc.Label).string=parseInt(100*e+"")+"%"},2e3*e)},e.prototype.setPic=function(t){var e=this;this.phone.node.parent.getChildByName("icon").active=!1,this.phone.node.active=!1,this.Player.active=!0,this.Player.opacity=0,this.Player.getChildByName("mask").getChildByName("icon").active=!1,this.Player.getChildByName("mask").getChildByName("phone").active=!1,fetch(t).then(function(t){return t.headers.get("Content-Length")}).then(function(t){"5093"==t&&(e.phone.node.parent.getChildByName("icon").active=!0,e.Player.getChildByName("mask").getChildByName("icon").active=!0)}).catch(function(){});var i=this;cc.assetManager.loadRemote(t,{ext:".png"},function(t,e){i.Player.opacity=255,e?(i.phone.node.active=!0,i.phone.spriteFrame=new cc.SpriteFrame(e),i.Player.getChildByName("mask").getChildByName("icon").active=!1,i.Player.getChildByName("mask").getChildByName("phone").active=!0,i.Player.getChildByName("mask").getChildByName("phone").getComponent(cc.Sprite).spriteFrame=new cc.SpriteFrame(e),setTimeout(function(){i.playerAction()},500)):(i.Player.getChildByName("mask").getChildByName("icon").active=!0,setTimeout(function(){i.playerAction()},500))})},r([h(cc.Node)],e.prototype,"Player",void 0),r([h(cc.Node)],e.prototype,"selfNode",void 0),r([h(cc.Sprite)],e.prototype,"phone",void 0),r([c],e)}(cc.Component);i.default=l,cc._RF.pop()},{"./module/RankList/List":"List"}],Storage:[function(t,e,i){"use strict";cc._RF.push(e,"1002938VFRJd70RiAno9Iys","Storage"),Object.defineProperty(i,"__esModule",{value:!0}),i.StorageMessage=void 0;var n={getStorage:function(t){var e=null;return cc.sys.localStorage.getItem(t)&&(e=cc.sys.localStorage.getItem(t)),e&&(e=JSON.parse(e)),e},setStorage:function(t,e){var i=JSON.stringify(e);cc.sys.localStorage.setItem(t,i)},removeStorage:function(t){cc.sys.localStorage.getItem(t)&&cc.sys.localStorage.removeItem(t)}};i.StorageMessage=n,cc._RF.pop()},{}],TmoAssembler:[function(t,e,i){"use strict";function n(t,e){for(var i=0;i>2,c=r._vData;n.length+s>c.length?c.set(n.subarray(0,c.length-s),s):c.set(n,s);for(var h=r._iData,l=a.indiceOffset,p=a.vertexOffset,f=0,u=o.length;f>>0];if(!E)continue;var P=E.tileset,L="img"+A.id;x[L]=!0;var D=this.node.getChildByName(L),j=A.width||E.width,H=A.height||E.height,z=P.tileOffset.x,V=P.tileOffset.y;D instanceof cc.PrivateNode&&(D.removeFromParent(),D.destroy(),D=null),D||(D=new cc.Node),s.ISO==e.orientation?(D.anchorX=.5+z/j,D.anchorY=V/H):(D.anchorX=z/j,D.anchorY=V/H),D.active=A.visible,D.angle=-A.rotation,D.x=A.x-y,D.y=A.y-v,D.name=L,D.parent=this.node,D.opacity=this._opacity,D.setSiblingIndex(T),D._tiledMap=o;var W=D.getComponent(n);W||(W=D.addComponent(n));var U=W.spriteFrame;U||(U=new cc.SpriteFrame),(F&p)>>>0?U.setFlipX(!0):U.setFlipX(!1),(F&f)>>>0?U.setFlipY(!0):U.setFlipY(!1);var X=E.tileset.sourceImage;U.setTexture(X,cc.rect(E)),W.spriteFrame=U,W.setVertsDirty(),D.width=j,D.height=H,w.has(X)||(w.set(X,b.length),b.push(X));var K=w.get(X);W.setTextureIdx(K+1)}}this._objects=C;for(var Y=this.node.children,q=/^(?:img|text)\d+$/,J=0,Z=Y.length;J>>0];if(c){var h=c.texId;if(void 0===n[h]&&(n[h]=i.length,i.push(h),r))break}else cc.error("CCTiledLayer:_traverseAllGrid grid is null, gid is:",s)}}}});i.default=a,e.exports=i.default,cc._RF.pop()},{}],TmoTiledMap:[function(t,e){"use strict";cc._RF.push(e,"0b9eetmSUdJRZCQS91TYCw/","TmoTiledMap");var i=t("./TmoTiledLayer"),n=t("./TmoObjectGroup");cc.Class({extends:cc.TiledMap,properties:{objectMaterial:cc.Material,noColor:!0,singleTexture:!0,_objectTextures:[]},_applyFile:function(){this.objectMaterial?this._super():cc.error("TiledmapOptimize: \u672a\u8bbe\u7f6eobjectMaterial!")},_buildLayerAndGroup:function(){var t=this._tilesets,e=this._texGrids,o=this._animations;e.length=0;for(var r=0,a=t.length;r0)for(var S=0,A=C.length;S=0;s--)(o=t[s])&&(a=(r<3?o(a):r>3?o(e,i,a):o(e,i))||a);return r>3&&a&&Object.defineProperty(e,i,a),a};Object.defineProperty(i,"__esModule",{value:!0});var a=cc._decorator,s=a.ccclass,c=(a.property,function(t){function e(){return null!==t&&t.apply(this,arguments)||this}return o(e,t),e.prototype.start=function(){},e.prototype.init=function(t){var e=this;this.node.getChildByName("win").active=!1,this.node.getChildByName("lose").active=!1,this.node.getChildByName("finishi").active=!1,this.node.getChildByName(t).active=!0;var i=this.node.getChildByName(t);i.opacity=0,i.scale=2,cc.tween(i).delay(.2).to(.4,{opacity:255,scale:1}).delay(1.3).call(function(){cc.tween(e.node).to(.3,{opacity:0}).call(function(){e.node.active=!1,cc.director.loadScene("GameScene")}).start()}).start()},r([s],e)}(cc.Component));i.default=c,cc._RF.pop()},{}],"crypto-js.min":[function(t,e,i){"use strict";cc._RF.push(e,"e64e1qXyT9CV6s0gDQdj/ed","crypto-js.min"),function(t,n){"object"==typeof i?e.exports=i=n():"function"==typeof define&&define.amd?define([],n):(void 0).CryptoJS=n()}(0,function(){var t,e,i,n,o,r,a,s=s||function(t){var e=Object.create||function(){function t(){}return function(e){var i;return t.prototype=e,i=new t,t.prototype=null,i}}(),i={},n=i.lib={},o=n.Base={extend:function(t){var i=e(this);return t&&i.mixIn(t),i.hasOwnProperty("init")&&this.init!==i.init||(i.init=function(){i.$super.init.apply(this,arguments)}),i.init.prototype=i,i.$super=this,i},create:function(){var t=this.extend();return t.init.apply(t,arguments),t},init:function(){},mixIn:function(t){for(var e in t)t.hasOwnProperty(e)&&(this[e]=t[e]);t.hasOwnProperty("toString")&&(this.toString=t.toString)},clone:function(){return this.init.prototype.extend(this)}},r=n.WordArray=o.extend({init:function(t,e){t=this.words=t||[],this.sigBytes=null!=e?e:4*t.length},toString:function(t){return(t||s).stringify(this)},concat:function(t){var e=this.words,i=t.words,n=this.sigBytes,o=t.sigBytes;if(this.clamp(),n%4)for(var r=0;r>>2]>>>24-r%4*8&255;e[n+r>>>2]|=a<<24-(n+r)%4*8}else for(r=0;r>>2]=i[r>>>2];return this.sigBytes+=o,this},clamp:function(){var e=this.words,i=this.sigBytes;e[i>>>2]&=4294967295<<32-i%4*8,e.length=t.ceil(i/4)},clone:function(){var t=o.clone.call(this);return t.words=this.words.slice(0),t},random:function(e){for(var i,n=[],o=function(e){e=e;var i=987654321,n=4294967295;return function(){var o=((i=36969*(65535&i)+(i>>16)&n)<<16)+(e=18e3*(65535&e)+(e>>16)&n)&n;return o/=4294967296,(o+=.5)*(t.random()>.5?1:-1)}},a=0;a>>2]>>>24-o%4*8&255;n.push((r>>>4).toString(16)),n.push((15&r).toString(16))}return n.join("")},parse:function(t){for(var e=t.length,i=[],n=0;n>>3]|=parseInt(t.substr(n,2),16)<<24-n%8*4;return new r.init(i,e/2)}},c=a.Latin1={stringify:function(t){for(var e=t.words,i=t.sigBytes,n=[],o=0;o>>2]>>>24-o%4*8&255;n.push(String.fromCharCode(r))}return n.join("")},parse:function(t){for(var e=t.length,i=[],n=0;n>>2]|=(255&t.charCodeAt(n))<<24-n%4*8;return new r.init(i,e)}},h=a.Utf8={stringify:function(t){try{return decodeURIComponent(escape(c.stringify(t)))}catch(t){throw new Error("Malformed UTF-8 data")}},parse:function(t){return c.parse(unescape(encodeURIComponent(t)))}},l=n.BufferedBlockAlgorithm=o.extend({reset:function(){this._data=new r.init,this._nDataBytes=0},_append:function(t){"string"==typeof t&&(t=h.parse(t)),this._data.concat(t),this._nDataBytes+=t.sigBytes},_process:function(e){var i=this._data,n=i.words,o=i.sigBytes,a=this.blockSize,s=o/(4*a),c=(s=e?t.ceil(s):t.max((0|s)-this._minBufferSize,0))*a,h=t.min(4*c,o);if(c){for(var l=0;l>>6-a%4*2;o[r>>>2]|=(s|c)<<24-r%4*8,r++}return i.create(o,r)}var e=s,i=e.lib.WordArray;e.enc.Base64={stringify:function(t){var e=t.words,i=t.sigBytes,n=this._map;t.clamp();for(var o=[],r=0;r>>2]>>>24-r%4*8&255)<<16|(e[r+1>>>2]>>>24-(r+1)%4*8&255)<<8|e[r+2>>>2]>>>24-(r+2)%4*8&255,s=0;s<4&&r+.75*s>>6*(3-s)&63));var c=n.charAt(64);if(c)for(;o.length%4;)o.push(c);return o.join("")},parse:function(e){var i=e.length,n=this._map,o=this._reverseMap;if(!o){o=this._reverseMap=[];for(var r=0;r>>32-r)+e}function i(t,e,i,n,o,r,a){var s=t+(e&n|i&~n)+o+a;return(s<>>32-r)+e}function n(t,e,i,n,o,r,a){var s=t+(e^i^n)+o+a;return(s<>>32-r)+e}function o(t,e,i,n,o,r,a){var s=t+(i^(e|~n))+o+a;return(s<>>32-r)+e}var r=s,a=r.lib,c=a.WordArray,h=a.Hasher,l=r.algo,p=[];!function(){for(var e=0;e<64;e++)p[e]=4294967296*t.abs(t.sin(e+1))|0}();var f=l.MD5=h.extend({_doReset:function(){this._hash=new c.init([1732584193,4023233417,2562383102,271733878])},_doProcessBlock:function(t,r){for(var a=0;a<16;a++){var s=r+a,c=t[s];t[s]=16711935&(c<<8|c>>>24)|4278255360&(c<<24|c>>>8)}var h=this._hash.words,l=t[r+0],f=t[r+1],u=t[r+2],d=t[r+3],m=t[r+4],g=t[r+5],_=t[r+6],y=t[r+7],v=t[r+8],C=t[r+9],x=t[r+10],w=t[r+11],b=t[r+12],T=t[r+13],S=t[r+14],A=t[r+15],k=h[0],N=h[1],M=h[2],B=h[3];k=e(k,N,M,B,l,7,p[0]),B=e(B,k,N,M,f,12,p[1]),M=e(M,B,k,N,u,17,p[2]),N=e(N,M,B,k,d,22,p[3]),k=e(k,N,M,B,m,7,p[4]),B=e(B,k,N,M,g,12,p[5]),M=e(M,B,k,N,_,17,p[6]),N=e(N,M,B,k,y,22,p[7]),k=e(k,N,M,B,v,7,p[8]),B=e(B,k,N,M,C,12,p[9]),M=e(M,B,k,N,x,17,p[10]),N=e(N,M,B,k,w,22,p[11]),k=e(k,N,M,B,b,7,p[12]),B=e(B,k,N,M,T,12,p[13]),M=e(M,B,k,N,S,17,p[14]),k=i(k,N=e(N,M,B,k,A,22,p[15]),M,B,f,5,p[16]),B=i(B,k,N,M,_,9,p[17]),M=i(M,B,k,N,w,14,p[18]),N=i(N,M,B,k,l,20,p[19]),k=i(k,N,M,B,g,5,p[20]),B=i(B,k,N,M,x,9,p[21]),M=i(M,B,k,N,A,14,p[22]),N=i(N,M,B,k,m,20,p[23]),k=i(k,N,M,B,C,5,p[24]),B=i(B,k,N,M,S,9,p[25]),M=i(M,B,k,N,d,14,p[26]),N=i(N,M,B,k,v,20,p[27]),k=i(k,N,M,B,T,5,p[28]),B=i(B,k,N,M,u,9,p[29]),M=i(M,B,k,N,y,14,p[30]),k=n(k,N=i(N,M,B,k,b,20,p[31]),M,B,g,4,p[32]),B=n(B,k,N,M,v,11,p[33]),M=n(M,B,k,N,w,16,p[34]),N=n(N,M,B,k,S,23,p[35]),k=n(k,N,M,B,f,4,p[36]),B=n(B,k,N,M,m,11,p[37]),M=n(M,B,k,N,y,16,p[38]),N=n(N,M,B,k,x,23,p[39]),k=n(k,N,M,B,T,4,p[40]),B=n(B,k,N,M,l,11,p[41]),M=n(M,B,k,N,d,16,p[42]),N=n(N,M,B,k,_,23,p[43]),k=n(k,N,M,B,C,4,p[44]),B=n(B,k,N,M,b,11,p[45]),M=n(M,B,k,N,A,16,p[46]),k=o(k,N=n(N,M,B,k,u,23,p[47]),M,B,l,6,p[48]),B=o(B,k,N,M,y,10,p[49]),M=o(M,B,k,N,S,15,p[50]),N=o(N,M,B,k,g,21,p[51]),k=o(k,N,M,B,b,6,p[52]),B=o(B,k,N,M,d,10,p[53]),M=o(M,B,k,N,x,15,p[54]),N=o(N,M,B,k,f,21,p[55]),k=o(k,N,M,B,v,6,p[56]),B=o(B,k,N,M,A,10,p[57]),M=o(M,B,k,N,_,15,p[58]),N=o(N,M,B,k,T,21,p[59]),k=o(k,N,M,B,m,6,p[60]),B=o(B,k,N,M,w,10,p[61]),M=o(M,B,k,N,u,15,p[62]),N=o(N,M,B,k,C,21,p[63]),h[0]=h[0]+k|0,h[1]=h[1]+N|0,h[2]=h[2]+M|0,h[3]=h[3]+B|0},_doFinalize:function(){var e=this._data,i=e.words,n=8*this._nDataBytes,o=8*e.sigBytes;i[o>>>5]|=128<<24-o%32;var r=t.floor(n/4294967296),a=n;i[15+(o+64>>>9<<4)]=16711935&(r<<8|r>>>24)|4278255360&(r<<24|r>>>8),i[14+(o+64>>>9<<4)]=16711935&(a<<8|a>>>24)|4278255360&(a<<24|a>>>8),e.sigBytes=4*(i.length+1),this._process();for(var s=this._hash,c=s.words,h=0;h<4;h++){var l=c[h];c[h]=16711935&(l<<8|l>>>24)|4278255360&(l<<24|l>>>8)}return s},clone:function(){var t=h.clone.call(this);return t._hash=this._hash.clone(),t}});r.MD5=h._createHelper(f),r.HmacMD5=h._createHmacHelper(f)}(Math),e=(t=s).lib,i=e.WordArray,n=e.Hasher,o=t.algo,r=[],a=o.SHA1=n.extend({_doReset:function(){this._hash=new i.init([1732584193,4023233417,2562383102,271733878,3285377520])},_doProcessBlock:function(t,e){for(var i=this._hash.words,n=i[0],o=i[1],a=i[2],s=i[3],c=i[4],h=0;h<80;h++){if(h<16)r[h]=0|t[e+h];else{var l=r[h-3]^r[h-8]^r[h-14]^r[h-16];r[h]=l<<1|l>>>31}var p=(n<<5|n>>>27)+c+r[h];p+=h<20?1518500249+(o&a|~o&s):h<40?1859775393+(o^a^s):h<60?(o&a|o&s|a&s)-1894007588:(o^a^s)-899497514,c=s,s=a,a=o<<30|o>>>2,o=n,n=p}i[0]=i[0]+n|0,i[1]=i[1]+o|0,i[2]=i[2]+a|0,i[3]=i[3]+s|0,i[4]=i[4]+c|0},_doFinalize:function(){var t=this._data,e=t.words,i=8*this._nDataBytes,n=8*t.sigBytes;return e[n>>>5]|=128<<24-n%32,e[14+(n+64>>>9<<4)]=Math.floor(i/4294967296),e[15+(n+64>>>9<<4)]=i,t.sigBytes=4*e.length,this._process(),this._hash},clone:function(){var t=n.clone.call(this);return t._hash=this._hash.clone(),t}}),t.SHA1=n._createHelper(a),t.HmacSHA1=n._createHmacHelper(a),function(t){var e=s,i=e.lib,n=i.WordArray,o=i.Hasher,r=e.algo,a=[],c=[];!function(){function e(e){for(var i=t.sqrt(e),n=2;n<=i;n++)if(!(e%n))return!1;return!0}function i(t){return 4294967296*(t-(0|t))|0}for(var n=2,o=0;o<64;)e(n)&&(o<8&&(a[o]=i(t.pow(n,.5))),c[o]=i(t.pow(n,1/3)),o++),n++}();var h=[],l=r.SHA256=o.extend({_doReset:function(){this._hash=new n.init(a.slice(0))},_doProcessBlock:function(t,e){for(var i=this._hash.words,n=i[0],o=i[1],r=i[2],a=i[3],s=i[4],l=i[5],p=i[6],f=i[7],u=0;u<64;u++){if(u<16)h[u]=0|t[e+u];else{var d=h[u-15],m=(d<<25|d>>>7)^(d<<14|d>>>18)^d>>>3,g=h[u-2],_=(g<<15|g>>>17)^(g<<13|g>>>19)^g>>>10;h[u]=m+h[u-7]+_+h[u-16]}var y=n&o^n&r^o&r,v=(n<<30|n>>>2)^(n<<19|n>>>13)^(n<<10|n>>>22),C=f+((s<<26|s>>>6)^(s<<21|s>>>11)^(s<<7|s>>>25))+(s&l^~s&p)+c[u]+h[u];f=p,p=l,l=s,s=a+C|0,a=r,r=o,o=n,n=C+(v+y)|0}i[0]=i[0]+n|0,i[1]=i[1]+o|0,i[2]=i[2]+r|0,i[3]=i[3]+a|0,i[4]=i[4]+s|0,i[5]=i[5]+l|0,i[6]=i[6]+p|0,i[7]=i[7]+f|0},_doFinalize:function(){var e=this._data,i=e.words,n=8*this._nDataBytes,o=8*e.sigBytes;return i[o>>>5]|=128<<24-o%32,i[14+(o+64>>>9<<4)]=t.floor(n/4294967296),i[15+(o+64>>>9<<4)]=n,e.sigBytes=4*i.length,this._process(),this._hash},clone:function(){var t=o.clone.call(this);return t._hash=this._hash.clone(),t}});e.SHA256=o._createHelper(l),e.HmacSHA256=o._createHmacHelper(l)}(Math),function(){function t(t){return t<<8&4278255360|t>>>8&16711935}var e=s,i=e.lib.WordArray,n=e.enc;n.Utf16=n.Utf16BE={stringify:function(t){for(var e=t.words,i=t.sigBytes,n=[],o=0;o>>2]>>>16-o%4*8&65535;n.push(String.fromCharCode(r))}return n.join("")},parse:function(t){for(var e=t.length,n=[],o=0;o>>1]|=t.charCodeAt(o)<<16-o%2*16;return i.create(n,2*e)}},n.Utf16LE={stringify:function(e){for(var i=e.words,n=e.sigBytes,o=[],r=0;r>>2]>>>16-r%4*8&65535);o.push(String.fromCharCode(a))}return o.join("")},parse:function(e){for(var n=e.length,o=[],r=0;r>>1]|=t(e.charCodeAt(r)<<16-r%2*16);return i.create(o,2*n)}}}(),function(){if("function"==typeof ArrayBuffer){var t=s.lib.WordArray,e=t.init;(t.init=function(t){if(t instanceof ArrayBuffer&&(t=new Uint8Array(t)),(t instanceof Int8Array||"undefined"!=typeof Uint8ClampedArray&&t instanceof Uint8ClampedArray||t instanceof Int16Array||t instanceof Uint16Array||t instanceof Int32Array||t instanceof Uint32Array||t instanceof Float32Array||t instanceof Float64Array)&&(t=new Uint8Array(t.buffer,t.byteOffset,t.byteLength)),t instanceof Uint8Array){for(var i=t.byteLength,n=[],o=0;o>>2]|=t[o]<<24-o%4*8;e.call(this,n,i)}else e.apply(this,arguments)}).prototype=t}}(),function(){function t(t,e,i){return t^e^i}function e(t,e,i){return t&e|~t&i}function i(t,e,i){return(t|~e)^i}function n(t,e,i){return t&i|e&~i}function o(t,e,i){return t^(e|~i)}function r(t,e){return t<>>32-e}var a=s,c=a.lib,h=c.WordArray,l=c.Hasher,p=a.algo,f=h.create([0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,7,4,13,1,10,6,15,3,12,0,9,5,2,14,11,8,3,10,14,4,9,15,8,1,2,7,0,6,13,11,5,12,1,9,11,10,0,8,12,4,13,3,7,15,14,5,6,2,4,0,5,9,7,12,2,10,14,1,3,8,11,6,15,13]),u=h.create([5,14,7,0,9,2,11,4,13,6,15,8,1,10,3,12,6,11,3,7,0,13,5,10,14,15,8,12,4,9,1,2,15,5,1,3,7,14,6,9,11,8,12,2,10,0,4,13,8,6,4,1,3,11,15,0,5,12,2,13,9,7,10,14,12,15,10,4,1,5,8,7,6,2,13,14,0,3,9,11]),d=h.create([11,14,15,12,5,8,7,9,11,13,14,15,6,7,9,8,7,6,8,13,11,9,7,15,7,12,15,9,11,7,13,12,11,13,6,7,14,9,13,15,14,8,13,6,5,12,7,5,11,12,14,15,14,15,9,8,9,14,5,6,8,6,5,12,9,15,5,11,6,8,13,12,5,12,13,14,11,8,5,6]),m=h.create([8,9,9,11,13,15,15,5,7,7,8,11,14,14,12,6,9,13,15,7,12,8,9,11,7,7,12,7,6,15,13,11,9,7,15,11,8,6,6,14,12,13,5,14,13,13,7,5,15,5,8,11,14,14,6,14,6,9,12,9,12,5,15,8,8,5,12,9,12,5,14,6,8,13,6,5,15,13,11,11]),g=h.create([0,1518500249,1859775393,2400959708,2840853838]),_=h.create([1352829926,1548603684,1836072691,2053994217,0]),y=p.RIPEMD160=l.extend({_doReset:function(){this._hash=h.create([1732584193,4023233417,2562383102,271733878,3285377520])},_doProcessBlock:function(a,s){for(var c=0;c<16;c++){var h=s+c,l=a[h];a[h]=16711935&(l<<8|l>>>24)|4278255360&(l<<24|l>>>8)}var p,y,v,C,x,w,b,T,S,A,k,N=this._hash.words,M=g.words,B=_.words,I=f.words,G=u.words,O=d.words,R=m.words;for(w=p=N[0],b=y=N[1],T=v=N[2],S=C=N[3],A=x=N[4],c=0;c<80;c+=1)k=p+a[s+I[c]]|0,k+=c<16?t(y,v,C)+M[0]:c<32?e(y,v,C)+M[1]:c<48?i(y,v,C)+M[2]:c<64?n(y,v,C)+M[3]:o(y,v,C)+M[4],k=(k=r(k|=0,O[c]))+x|0,p=x,x=C,C=r(v,10),v=y,y=k,k=w+a[s+G[c]]|0,k+=c<16?o(b,T,S)+B[0]:c<32?n(b,T,S)+B[1]:c<48?i(b,T,S)+B[2]:c<64?e(b,T,S)+B[3]:t(b,T,S)+B[4],k=(k=r(k|=0,R[c]))+A|0,w=A,A=S,S=r(T,10),T=b,b=k;k=N[1]+v+S|0,N[1]=N[2]+C+A|0,N[2]=N[3]+x+w|0,N[3]=N[4]+p+b|0,N[4]=N[0]+y+T|0,N[0]=k},_doFinalize:function(){var t=this._data,e=t.words,i=8*this._nDataBytes,n=8*t.sigBytes;e[n>>>5]|=128<<24-n%32,e[14+(n+64>>>9<<4)]=16711935&(i<<8|i>>>24)|4278255360&(i<<24|i>>>8),t.sigBytes=4*(e.length+1),this._process();for(var o=this._hash,r=o.words,a=0;a<5;a++){var s=r[a];r[a]=16711935&(s<<8|s>>>24)|4278255360&(s<<24|s>>>8)}return o},clone:function(){var t=l.clone.call(this);return t._hash=this._hash.clone(),t}});a.RIPEMD160=l._createHelper(y),a.HmacRIPEMD160=l._createHmacHelper(y)}(Math),function(){var t=s,e=t.lib.Base,i=t.enc.Utf8;t.algo.HMAC=e.extend({init:function(t,e){t=this._hasher=new t.init,"string"==typeof e&&(e=i.parse(e));var n=t.blockSize,o=4*n;e.sigBytes>o&&(e=t.finalize(e)),e.clamp();for(var r=this._oKey=e.clone(),a=this._iKey=e.clone(),s=r.words,c=a.words,h=0;h>>24)|4278255360&(r<<24|r>>>8),a=16711935&(a<<8|a>>>24)|4278255360&(a<<24|a>>>8),(N=i[o]).high^=a,N.low^=r}for(var s=0;s<24;s++){for(var f=0;f<5;f++){for(var u=0,d=0,m=0;m<5;m++)u^=(N=i[f+5*m]).high,d^=N.low;var g=p[f];g.high=u,g.low=d}for(f=0;f<5;f++){var _=p[(f+4)%5],y=p[(f+1)%5],v=y.high,C=y.low;for(u=_.high^(v<<1|C>>>31),d=_.low^(C<<1|v>>>31),m=0;m<5;m++)(N=i[f+5*m]).high^=u,N.low^=d}for(var x=1;x<25;x++){var w=(N=i[x]).high,b=N.low,T=c[x];T<32?(u=w<>>32-T,d=b<>>32-T):(u=b<>>64-T,d=w<>>64-T);var S=p[h[x]];S.high=u,S.low=d}var A=p[0],k=i[0];for(A.high=k.high,A.low=k.low,f=0;f<5;f++)for(m=0;m<5;m++){var N=i[x=f+5*m],M=p[x],B=p[(f+1)%5+5*m],I=p[(f+2)%5+5*m];N.high=M.high^~B.high&I.high,N.low=M.low^~B.low&I.low}N=i[0];var G=l[s];N.high^=G.high,N.low^=G.low}},_doFinalize:function(){var e=this._data,i=e.words,o=(this._nDataBytes,8*e.sigBytes),r=32*this.blockSize;i[o>>>5]|=1<<24-o%32,i[(t.ceil((o+1)/r)*r>>>5)-1]|=128,e.sigBytes=4*i.length,this._process();for(var a=this._state,s=this.cfg.outputLength/8,c=s/8,h=[],l=0;l>>24)|4278255360&(f<<24|f>>>8),u=16711935&(u<<8|u>>>24)|4278255360&(u<<24|u>>>8),h.push(u),h.push(f)}return new n.init(h,s)},clone:function(){for(var t=o.clone.call(this),e=t._state=this._state.slice(0),i=0;i<25;i++)e[i]=e[i].clone();return t}});e.SHA3=o._createHelper(f),e.HmacSHA3=o._createHmacHelper(f)}(Math),function(){function t(){return o.create.apply(o,arguments)}var e=s,i=e.lib.Hasher,n=e.x64,o=n.Word,r=n.WordArray,a=e.algo,c=[t(1116352408,3609767458),t(1899447441,602891725),t(3049323471,3964484399),t(3921009573,2173295548),t(961987163,4081628472),t(1508970993,3053834265),t(2453635748,2937671579),t(2870763221,3664609560),t(3624381080,2734883394),t(310598401,1164996542),t(607225278,1323610764),t(1426881987,3590304994),t(1925078388,4068182383),t(2162078206,991336113),t(2614888103,633803317),t(3248222580,3479774868),t(3835390401,2666613458),t(4022224774,944711139),t(264347078,2341262773),t(604807628,2007800933),t(770255983,1495990901),t(1249150122,1856431235),t(1555081692,3175218132),t(1996064986,2198950837),t(2554220882,3999719339),t(2821834349,766784016),t(2952996808,2566594879),t(3210313671,3203337956),t(3336571891,1034457026),t(3584528711,2466948901),t(113926993,3758326383),t(338241895,168717936),t(666307205,1188179964),t(773529912,1546045734),t(1294757372,1522805485),t(1396182291,2643833823),t(1695183700,2343527390),t(1986661051,1014477480),t(2177026350,1206759142),t(2456956037,344077627),t(2730485921,1290863460),t(2820302411,3158454273),t(3259730800,3505952657),t(3345764771,106217008),t(3516065817,3606008344),t(3600352804,1432725776),t(4094571909,1467031594),t(275423344,851169720),t(430227734,3100823752),t(506948616,1363258195),t(659060556,3750685593),t(883997877,3785050280),t(958139571,3318307427),t(1322822218,3812723403),t(1537002063,2003034995),t(1747873779,3602036899),t(1955562222,1575990012),t(2024104815,1125592928),t(2227730452,2716904306),t(2361852424,442776044),t(2428436474,593698344),t(2756734187,3733110249),t(3204031479,2999351573),t(3329325298,3815920427),t(3391569614,3928383900),t(3515267271,566280711),t(3940187606,3454069534),t(4118630271,4000239992),t(116418474,1914138554),t(174292421,2731055270),t(289380356,3203993006),t(460393269,320620315),t(685471733,587496836),t(852142971,1086792851),t(1017036298,365543100),t(1126000580,2618297676),t(1288033470,3409855158),t(1501505948,4234509866),t(1607167915,987167468),t(1816402316,1246189591)],h=[];!function(){for(var e=0;e<80;e++)h[e]=t()}();var l=a.SHA512=i.extend({_doReset:function(){this._hash=new r.init([new o.init(1779033703,4089235720),new o.init(3144134277,2227873595),new o.init(1013904242,4271175723),new o.init(2773480762,1595750129),new o.init(1359893119,2917565137),new o.init(2600822924,725511199),new o.init(528734635,4215389547),new o.init(1541459225,327033209)])},_doProcessBlock:function(t,e){for(var i=this._hash.words,n=i[0],o=i[1],r=i[2],a=i[3],s=i[4],l=i[5],p=i[6],f=i[7],u=n.high,d=n.low,m=o.high,g=o.low,_=r.high,y=r.low,v=a.high,C=a.low,x=s.high,w=s.low,b=l.high,T=l.low,S=p.high,A=p.low,k=f.high,N=f.low,M=u,B=d,I=m,G=g,O=_,R=y,F=v,E=C,P=x,L=w,D=b,j=T,H=S,z=A,V=k,W=N,U=0;U<80;U++){var X=h[U];if(U<16)var K=X.high=0|t[e+2*U],Y=X.low=0|t[e+2*U+1];else{var q=h[U-15],J=q.high,Z=q.low,Q=(J>>>1|Z<<31)^(J>>>8|Z<<24)^J>>>7,$=(Z>>>1|J<<31)^(Z>>>8|J<<24)^(Z>>>7|J<<25),tt=h[U-2],et=tt.high,it=tt.low,nt=(et>>>19|it<<13)^(et<<3|it>>>29)^et>>>6,ot=(it>>>19|et<<13)^(it<<3|et>>>29)^(it>>>6|et<<26),rt=h[U-7],at=rt.high,st=rt.low,ct=h[U-16],ht=ct.high,lt=ct.low;K=(K=(K=Q+at+((Y=$+st)>>>0<$>>>0?1:0))+nt+((Y+=ot)>>>0>>0?1:0))+ht+((Y+=lt)>>>0>>0?1:0),X.high=K,X.low=Y}var pt,ft=P&D^~P&H,ut=L&j^~L&z,dt=M&I^M&O^I&O,mt=B&G^B&R^G&R,gt=(M>>>28|B<<4)^(M<<30|B>>>2)^(M<<25|B>>>7),_t=(B>>>28|M<<4)^(B<<30|M>>>2)^(B<<25|M>>>7),yt=(P>>>14|L<<18)^(P>>>18|L<<14)^(P<<23|L>>>9),vt=(L>>>14|P<<18)^(L>>>18|P<<14)^(L<<23|P>>>9),Ct=c[U],xt=Ct.high,wt=Ct.low,bt=V+yt+((pt=W+vt)>>>0>>0?1:0),Tt=_t+mt;V=H,W=z,H=D,z=j,D=P,j=L,P=F+(bt=(bt=(bt=bt+ft+((pt+=ut)>>>0>>0?1:0))+xt+((pt+=wt)>>>0>>0?1:0))+K+((pt+=Y)>>>0>>0?1:0))+((L=E+pt|0)>>>0>>0?1:0)|0,F=O,E=R,O=I,R=G,I=M,G=B,M=bt+(gt+dt+(Tt>>>0<_t>>>0?1:0))+((B=pt+Tt|0)>>>0>>0?1:0)|0}d=n.low=d+B,n.high=u+M+(d>>>0>>0?1:0),g=o.low=g+G,o.high=m+I+(g>>>0>>0?1:0),y=r.low=y+R,r.high=_+O+(y>>>0>>0?1:0),C=a.low=C+E,a.high=v+F+(C>>>0>>0?1:0),w=s.low=w+L,s.high=x+P+(w>>>0>>0?1:0),T=l.low=T+j,l.high=b+D+(T>>>0>>0?1:0),A=p.low=A+z,p.high=S+H+(A>>>0>>0?1:0),N=f.low=N+W,f.high=k+V+(N>>>0>>0?1:0)},_doFinalize:function(){var t=this._data,e=t.words,i=8*this._nDataBytes,n=8*t.sigBytes;return e[n>>>5]|=128<<24-n%32,e[30+(n+128>>>10<<5)]=Math.floor(i/4294967296),e[31+(n+128>>>10<<5)]=i,t.sigBytes=4*e.length,this._process(),this._hash.toX32()},clone:function(){var t=i.clone.call(this);return t._hash=this._hash.clone(),t},blockSize:32});e.SHA512=i._createHelper(l),e.HmacSHA512=i._createHmacHelper(l)}(),function(){var t=s,e=t.x64,i=e.Word,n=e.WordArray,o=t.algo,r=o.SHA512,a=o.SHA384=r.extend({_doReset:function(){this._hash=new n.init([new i.init(3418070365,3238371032),new i.init(1654270250,914150663),new i.init(2438529370,812702999),new i.init(355462360,4144912697),new i.init(1731405415,4290775857),new i.init(2394180231,1750603025),new i.init(3675008525,1694076839),new i.init(1203062813,3204075428)])},_doFinalize:function(){var t=r._doFinalize.call(this);return t.sigBytes-=16,t}});t.SHA384=r._createHelper(a),t.HmacSHA384=r._createHmacHelper(a)}(),s.lib.Cipher||function(t){var e=s,i=e.lib,n=i.Base,o=i.WordArray,r=i.BufferedBlockAlgorithm,a=e.enc,c=(a.Utf8,a.Base64),h=e.algo.EvpKDF,l=i.Cipher=r.extend({cfg:n.extend(),createEncryptor:function(t,e){return this.create(this._ENC_XFORM_MODE,t,e)},createDecryptor:function(t,e){return this.create(this._DEC_XFORM_MODE,t,e)},init:function(t,e,i){this.cfg=this.cfg.extend(i),this._xformMode=t,this._key=e,this.reset()},reset:function(){r.reset.call(this),this._doReset()},process:function(t){return this._append(t),this._process()},finalize:function(t){return t&&this._append(t),this._doFinalize()},keySize:4,ivSize:4,_ENC_XFORM_MODE:1,_DEC_XFORM_MODE:2,_createHelper:function(){function t(t){return"string"==typeof t?v:_}return function(e){return{encrypt:function(i,n,o){return t(n).encrypt(e,i,n,o)},decrypt:function(i,n,o){return t(n).decrypt(e,i,n,o)}}}}()}),p=(i.StreamCipher=l.extend({_doFinalize:function(){return this._process(!0)},blockSize:1}),e.mode={}),f=i.BlockCipherMode=n.extend({createEncryptor:function(t,e){return this.Encryptor.create(t,e)},createDecryptor:function(t,e){return this.Decryptor.create(t,e)},init:function(t,e){this._cipher=t,this._iv=e}}),u=p.CBC=function(){function e(e,i,n){var o=this._iv;if(o){var r=o;this._iv=t}else r=this._prevBlock;for(var a=0;a>>2];t.sigBytes-=e}},m=(i.BlockCipher=l.extend({cfg:l.cfg.extend({mode:u,padding:d}),reset:function(){l.reset.call(this);var t=this.cfg,e=t.iv,i=t.mode;if(this._xformMode==this._ENC_XFORM_MODE)var n=i.createEncryptor;else n=i.createDecryptor,this._minBufferSize=1;this._mode&&this._mode.__creator==n?this._mode.init(this,e&&e.words):(this._mode=n.call(i,this,e&&e.words),this._mode.__creator=n)},_doProcessBlock:function(t,e){this._mode.processBlock(t,e)},_doFinalize:function(){var t=this.cfg.padding;if(this._xformMode==this._ENC_XFORM_MODE){t.pad(this._data,this.blockSize);var e=this._process(!0)}else e=this._process(!0),t.unpad(e);return e},blockSize:4}),i.CipherParams=n.extend({init:function(t){this.mixIn(t)},toString:function(t){return(t||this.formatter).stringify(this)}})),g=(e.format={}).OpenSSL={stringify:function(t){var e=t.ciphertext,i=t.salt;if(i)var n=o.create([1398893684,1701076831]).concat(i).concat(e);else n=e;return n.toString(c)},parse:function(t){var e=c.parse(t),i=e.words;if(1398893684==i[0]&&1701076831==i[1]){var n=o.create(i.slice(2,4));i.splice(0,4),e.sigBytes-=16}return m.create({ciphertext:e,salt:n})}},_=i.SerializableCipher=n.extend({cfg:n.extend({format:g}),encrypt:function(t,e,i,n){n=this.cfg.extend(n);var o=t.createEncryptor(i,n),r=o.finalize(e),a=o.cfg;return m.create({ciphertext:r,key:i,iv:a.iv,algorithm:t,mode:a.mode,padding:a.padding,blockSize:t.blockSize,formatter:n.format})},decrypt:function(t,e,i,n){return n=this.cfg.extend(n),e=this._parse(e,n.format),t.createDecryptor(i,n).finalize(e.ciphertext)},_parse:function(t,e){return"string"==typeof t?e.parse(t,this):t}}),y=(e.kdf={}).OpenSSL={execute:function(t,e,i,n){n||(n=o.random(8));var r=h.create({keySize:e+i}).compute(t,n),a=o.create(r.words.slice(e),4*i);return r.sigBytes=4*e,m.create({key:r,iv:a,salt:n})}},v=i.PasswordBasedCipher=_.extend({cfg:_.cfg.extend({kdf:y}),encrypt:function(t,e,i,n){var o=(n=this.cfg.extend(n)).kdf.execute(i,t.keySize,t.ivSize);n.iv=o.iv;var r=_.encrypt.call(this,t,e,o.key,n);return r.mixIn(o),r},decrypt:function(t,e,i,n){n=this.cfg.extend(n),e=this._parse(e,n.format);var o=n.kdf.execute(i,t.keySize,t.ivSize,e.salt);return n.iv=o.iv,_.decrypt.call(this,t,e,o.key,n)}})}(),s.mode.CFB=function(){function t(t,e,i,n){var o=this._iv;if(o){var r=o.slice(0);this._iv=void 0}else r=this._prevBlock;n.encryptBlock(r,0);for(var a=0;a>>2]|=o<<24-r%4*8,t.sigBytes+=o},unpad:function(t){var e=255&t.words[t.sigBytes-1>>>2];t.sigBytes-=e}},s.pad.Iso10126={pad:function(t,e){var i=4*e,n=i-t.sigBytes%i;t.concat(s.lib.WordArray.random(n-1)).concat(s.lib.WordArray.create([n<<24],1))},unpad:function(t){var e=255&t.words[t.sigBytes-1>>>2];t.sigBytes-=e}},s.pad.Iso97971={pad:function(t,e){t.concat(s.lib.WordArray.create([2147483648],1)),s.pad.ZeroPadding.pad(t,e)},unpad:function(t){s.pad.ZeroPadding.unpad(t),t.sigBytes--}},s.mode.OFB=function(){var t=s.lib.BlockCipherMode.extend(),e=t.Encryptor=t.extend({processBlock:function(t,e){var i=this._cipher,n=i.blockSize,o=this._iv,r=this._keystream;o&&(r=this._keystream=o.slice(0),this._iv=void 0),i.encryptBlock(r,0);for(var a=0;a>>8^255&d^99,n[i]=d,o[d]=i;var m=t[i],g=t[m],_=t[g],y=257*t[d]^16843008*d;r[i]=y<<24|y>>>8,a[i]=y<<16|y>>>16,c[i]=y<<8|y>>>24,h[i]=y,y=16843009*_^65537*g^257*m^16843008*i,l[d]=y<<24|y>>>8,p[d]=y<<16|y>>>16,f[d]=y<<8|y>>>24,u[d]=y,i?(i=m^t[t[t[_^m]]],s^=t[t[s]]):i=s=1}}();var d=[0,1,2,4,8,16,32,64,128,27,54],m=i.AES=e.extend({_doReset:function(){if(!this._nRounds||this._keyPriorReset!==this._key){for(var t=this._keyPriorReset=this._key,e=t.words,i=t.sigBytes/4,o=4*((this._nRounds=i+6)+1),r=this._keySchedule=[],a=0;a6&&a%i==4&&(s=n[s>>>24]<<24|n[s>>>16&255]<<16|n[s>>>8&255]<<8|n[255&s]):(s=n[(s=s<<8|s>>>24)>>>24]<<24|n[s>>>16&255]<<16|n[s>>>8&255]<<8|n[255&s],s^=d[a/i|0]<<24),r[a]=r[a-i]^s}for(var c=this._invKeySchedule=[],h=0;h>>24]]^p[n[s>>>16&255]]^f[n[s>>>8&255]]^u[n[255&s]]}},encryptBlock:function(t,e){this._doCryptBlock(t,e,this._keySchedule,r,a,c,h,n)},decryptBlock:function(t,e){var i=t[e+1];t[e+1]=t[e+3],t[e+3]=i,this._doCryptBlock(t,e,this._invKeySchedule,l,p,f,u,o),i=t[e+1],t[e+1]=t[e+3],t[e+3]=i},_doCryptBlock:function(t,e,i,n,o,r,a,s){for(var c=this._nRounds,h=t[e]^i[0],l=t[e+1]^i[1],p=t[e+2]^i[2],f=t[e+3]^i[3],u=4,d=1;d>>24]^o[l>>>16&255]^r[p>>>8&255]^a[255&f]^i[u++],g=n[l>>>24]^o[p>>>16&255]^r[f>>>8&255]^a[255&h]^i[u++],_=n[p>>>24]^o[f>>>16&255]^r[h>>>8&255]^a[255&l]^i[u++],y=n[f>>>24]^o[h>>>16&255]^r[l>>>8&255]^a[255&p]^i[u++];h=m,l=g,p=_,f=y}m=(s[h>>>24]<<24|s[l>>>16&255]<<16|s[p>>>8&255]<<8|s[255&f])^i[u++],g=(s[l>>>24]<<24|s[p>>>16&255]<<16|s[f>>>8&255]<<8|s[255&h])^i[u++],_=(s[p>>>24]<<24|s[f>>>16&255]<<16|s[h>>>8&255]<<8|s[255&l])^i[u++],y=(s[f>>>24]<<24|s[h>>>16&255]<<16|s[l>>>8&255]<<8|s[255&p])^i[u++],t[e]=m,t[e+1]=g,t[e+2]=_,t[e+3]=y},keySize:8});t.AES=e._createHelper(m)}(),function(){function t(t,e){var i=(this._lBlock>>>t^this._rBlock)&e;this._rBlock^=i,this._lBlock^=i<>>t^this._lBlock)&e;this._lBlock^=i,this._rBlock^=i<>>5]>>>31-n%32&1}for(var o=this._subKeys=[],r=0;r<16;r++){var a=o[r]=[],s=l[r];for(i=0;i<24;i++)a[i/6|0]|=e[(h[i]-1+s)%28]<<31-i%6,a[4+(i/6|0)]|=e[28+(h[i+24]-1+s)%28]<<31-i%6;for(a[0]=a[0]<<1|a[0]>>>31,i=1;i<7;i++)a[i]=a[i]>>>4*(i-1)+3;a[7]=a[7]<<5|a[7]>>>27}var p=this._invSubKeys=[];for(i=0;i<16;i++)p[i]=o[15-i]},encryptBlock:function(t,e){this._doCryptBlock(t,e,this._subKeys)},decryptBlock:function(t,e){this._doCryptBlock(t,e,this._invSubKeys)},_doCryptBlock:function(i,n,o){this._lBlock=i[n],this._rBlock=i[n+1],t.call(this,4,252645135),t.call(this,16,65535),e.call(this,2,858993459),e.call(this,8,16711935),t.call(this,1,1431655765);for(var r=0;r<16;r++){for(var a=o[r],s=this._lBlock,c=this._rBlock,h=0,l=0;l<8;l++)h|=p[l][((c^a[l])&f[l])>>>0];this._lBlock=c,this._rBlock=s^h}var u=this._lBlock;this._lBlock=this._rBlock,this._rBlock=u,t.call(this,1,1431655765),e.call(this,8,16711935),e.call(this,2,858993459),t.call(this,16,65535),t.call(this,4,252645135),i[n]=this._lBlock,i[n+1]=this._rBlock},keySize:2,ivSize:2,blockSize:2});i.DES=r._createHelper(u);var d=a.TripleDES=r.extend({_doReset:function(){var t=this._key.words;this._des1=u.createEncryptor(o.create(t.slice(0,2))),this._des2=u.createEncryptor(o.create(t.slice(2,4))),this._des3=u.createEncryptor(o.create(t.slice(4,6)))},encryptBlock:function(t,e){this._des1.encryptBlock(t,e),this._des2.decryptBlock(t,e),this._des3.encryptBlock(t,e)},decryptBlock:function(t,e){this._des3.decryptBlock(t,e),this._des2.encryptBlock(t,e),this._des1.decryptBlock(t,e)},keySize:6,ivSize:2,blockSize:2});i.TripleDES=r._createHelper(d)}(),function(){function t(){for(var t=this._S,e=this._i,i=this._j,n=0,o=0;o<4;o++){i=(i+t[e=(e+1)%256])%256;var r=t[e];t[e]=t[i],t[i]=r,n|=t[(t[e]+t[i])%256]<<24-8*o}return this._i=e,this._j=i,n}var e=s,i=e.lib.StreamCipher,n=e.algo,o=n.RC4=i.extend({_doReset:function(){for(var t=this._key,e=t.words,i=t.sigBytes,n=this._S=[],o=0;o<256;o++)n[o]=o;o=0;for(var r=0;o<256;o++){var a=o%i,s=e[a>>>2]>>>24-a%4*8&255;r=(r+n[o]+s)%256;var c=n[o];n[o]=n[r],n[r]=c}this._i=this._j=0},_doProcessBlock:function(e,i){e[i]^=t.call(this)},keySize:8,ivSize:0});e.RC4=i._createHelper(o);var r=n.RC4Drop=o.extend({cfg:o.cfg.extend({drop:192}),_doReset:function(){o._doReset.call(this);for(var e=this.cfg.drop;e>0;e--)t.call(this)}});e.RC4Drop=i._createHelper(r)}(),s.mode.CTRGladman=function(){function t(t){if(255==(t>>24&255)){var e=t>>16&255,i=t>>8&255,n=255&t;255===e?(e=0,255===i?(i=0,255===n?n=0:++n):++i):++e,t=0,t+=e<<16,t+=i<<8,t+=n}else t+=1<<24;return t}function e(e){return 0===(e[0]=t(e[0]))&&(e[1]=t(e[1])),e}var i=s.lib.BlockCipherMode.extend(),n=i.Encryptor=i.extend({processBlock:function(t,i){var n=this._cipher,o=n.blockSize,r=this._iv,a=this._counter;r&&(a=this._counter=r.slice(0),this._iv=void 0),e(a);var s=a.slice(0);n.encryptBlock(s,0);for(var c=0;c>>0>>0?1:0)|0,e[2]=e[2]+886263092+(e[1]>>>0>>0?1:0)|0,e[3]=e[3]+1295307597+(e[2]>>>0>>0?1:0)|0,e[4]=e[4]+3545052371+(e[3]>>>0>>0?1:0)|0,e[5]=e[5]+886263092+(e[4]>>>0>>0?1:0)|0,e[6]=e[6]+1295307597+(e[5]>>>0>>0?1:0)|0,e[7]=e[7]+3545052371+(e[6]>>>0>>0?1:0)|0,this._b=e[7]>>>0>>0?1:0,i=0;i<8;i++){var n=t[i]+e[i],o=65535&n,s=n>>>16,c=((o*o>>>17)+o*s>>>15)+s*s,h=((4294901760&n)*n|0)+((65535&n)*n|0);a[i]=c^h}t[0]=a[0]+(a[7]<<16|a[7]>>>16)+(a[6]<<16|a[6]>>>16)|0,t[1]=a[1]+(a[0]<<8|a[0]>>>24)+a[7]|0,t[2]=a[2]+(a[1]<<16|a[1]>>>16)+(a[0]<<16|a[0]>>>16)|0,t[3]=a[3]+(a[2]<<8|a[2]>>>24)+a[1]|0,t[4]=a[4]+(a[3]<<16|a[3]>>>16)+(a[2]<<16|a[2]>>>16)|0,t[5]=a[5]+(a[4]<<8|a[4]>>>24)+a[3]|0,t[6]=a[6]+(a[5]<<16|a[5]>>>16)+(a[4]<<16|a[4]>>>16)|0,t[7]=a[7]+(a[6]<<8|a[6]>>>24)+a[5]|0}var e=s,i=e.lib.StreamCipher,n=e.algo,o=[],r=[],a=[],c=n.Rabbit=i.extend({_doReset:function(){for(var e=this._key.words,i=this.cfg.iv,n=0;n<4;n++)e[n]=16711935&(e[n]<<8|e[n]>>>24)|4278255360&(e[n]<<24|e[n]>>>8);var o=this._X=[e[0],e[3]<<16|e[2]>>>16,e[1],e[0]<<16|e[3]>>>16,e[2],e[1]<<16|e[0]>>>16,e[3],e[2]<<16|e[1]>>>16],r=this._C=[e[2]<<16|e[2]>>>16,4294901760&e[0]|65535&e[1],e[3]<<16|e[3]>>>16,4294901760&e[1]|65535&e[2],e[0]<<16|e[0]>>>16,4294901760&e[2]|65535&e[3],e[1]<<16|e[1]>>>16,4294901760&e[3]|65535&e[0]];for(this._b=0,n=0;n<4;n++)t.call(this);for(n=0;n<8;n++)r[n]^=o[n+4&7];if(i){var a=i.words,s=a[0],c=a[1],h=16711935&(s<<8|s>>>24)|4278255360&(s<<24|s>>>8),l=16711935&(c<<8|c>>>24)|4278255360&(c<<24|c>>>8),p=h>>>16|4294901760&l,f=l<<16|65535&h;for(r[0]^=h,r[1]^=p,r[2]^=l,r[3]^=f,r[4]^=h,r[5]^=p,r[6]^=l,r[7]^=f,n=0;n<4;n++)t.call(this)}},_doProcessBlock:function(e,i){var n=this._X;t.call(this),o[0]=n[0]^n[5]>>>16^n[3]<<16,o[1]=n[2]^n[7]>>>16^n[5]<<16,o[2]=n[4]^n[1]>>>16^n[7]<<16,o[3]=n[6]^n[3]>>>16^n[1]<<16;for(var r=0;r<4;r++)o[r]=16711935&(o[r]<<8|o[r]>>>24)|4278255360&(o[r]<<24|o[r]>>>8),e[i+r]^=o[r]},blockSize:4,ivSize:2});e.Rabbit=i._createHelper(c)}(),s.mode.CTR=function(){var t=s.lib.BlockCipherMode.extend(),e=t.Encryptor=t.extend({processBlock:function(t,e){var i=this._cipher,n=i.blockSize,o=this._iv,r=this._counter;o&&(r=this._counter=o.slice(0),this._iv=void 0);var a=r.slice(0);i.encryptBlock(a,0),r[n-1]=r[n-1]+1|0;for(var s=0;s>>0>>0?1:0)|0,e[2]=e[2]+886263092+(e[1]>>>0>>0?1:0)|0,e[3]=e[3]+1295307597+(e[2]>>>0>>0?1:0)|0,e[4]=e[4]+3545052371+(e[3]>>>0>>0?1:0)|0,e[5]=e[5]+886263092+(e[4]>>>0>>0?1:0)|0,e[6]=e[6]+1295307597+(e[5]>>>0>>0?1:0)|0,e[7]=e[7]+3545052371+(e[6]>>>0>>0?1:0)|0,this._b=e[7]>>>0>>0?1:0,i=0;i<8;i++){var n=t[i]+e[i],o=65535&n,s=n>>>16,c=((o*o>>>17)+o*s>>>15)+s*s,h=((4294901760&n)*n|0)+((65535&n)*n|0);a[i]=c^h}t[0]=a[0]+(a[7]<<16|a[7]>>>16)+(a[6]<<16|a[6]>>>16)|0,t[1]=a[1]+(a[0]<<8|a[0]>>>24)+a[7]|0,t[2]=a[2]+(a[1]<<16|a[1]>>>16)+(a[0]<<16|a[0]>>>16)|0,t[3]=a[3]+(a[2]<<8|a[2]>>>24)+a[1]|0,t[4]=a[4]+(a[3]<<16|a[3]>>>16)+(a[2]<<16|a[2]>>>16)|0,t[5]=a[5]+(a[4]<<8|a[4]>>>24)+a[3]|0,t[6]=a[6]+(a[5]<<16|a[5]>>>16)+(a[4]<<16|a[4]>>>16)|0,t[7]=a[7]+(a[6]<<8|a[6]>>>24)+a[5]|0}var e=s,i=e.lib.StreamCipher,n=e.algo,o=[],r=[],a=[],c=n.RabbitLegacy=i.extend({_doReset:function(){var e=this._key.words,i=this.cfg.iv,n=this._X=[e[0],e[3]<<16|e[2]>>>16,e[1],e[0]<<16|e[3]>>>16,e[2],e[1]<<16|e[0]>>>16,e[3],e[2]<<16|e[1]>>>16],o=this._C=[e[2]<<16|e[2]>>>16,4294901760&e[0]|65535&e[1],e[3]<<16|e[3]>>>16,4294901760&e[1]|65535&e[2],e[0]<<16|e[0]>>>16,4294901760&e[2]|65535&e[3],e[1]<<16|e[1]>>>16,4294901760&e[3]|65535&e[0]];this._b=0;for(var r=0;r<4;r++)t.call(this);for(r=0;r<8;r++)o[r]^=n[r+4&7];if(i){var a=i.words,s=a[0],c=a[1],h=16711935&(s<<8|s>>>24)|4278255360&(s<<24|s>>>8),l=16711935&(c<<8|c>>>24)|4278255360&(c<<24|c>>>8),p=h>>>16|4294901760&l,f=l<<16|65535&h;for(o[0]^=h,o[1]^=p,o[2]^=l,o[3]^=f,o[4]^=h,o[5]^=p,o[6]^=l,o[7]^=f,r=0;r<4;r++)t.call(this)}},_doProcessBlock:function(e,i){var n=this._X;t.call(this),o[0]=n[0]^n[5]>>>16^n[3]<<16,o[1]=n[2]^n[7]>>>16^n[5]<<16,o[2]=n[4]^n[1]>>>16^n[7]<<16,o[3]=n[6]^n[3]>>>16^n[1]<<16;for(var r=0;r<4;r++)o[r]=16711935&(o[r]<<8|o[r]>>>24)|4278255360&(o[r]<<24|o[r]>>>8),e[i+r]^=o[r]},blockSize:4,ivSize:2});e.RabbitLegacy=i._createHelper(c)}(),s.pad.ZeroPadding={pad:function(t,e){var i=4*e;t.clamp(),t.sigBytes+=i-(t.sigBytes%i||i)},unpad:function(t){for(var e=t.words,i=t.sigBytes-1;!(e[i>>>2]>>>24-i%4*8&255);)i--;t.sigBytes=i+1}},s}),cc._RF.pop()},{}],share:[function(t,e,i){"use strict";cc._RF.push(e,"7290caA39xMWZc2phTMKovP","share");var n=this&&this.__awaiter||function(t,e,i,n){return new(i||(i=Promise))(function(o,r){function a(t){try{c(n.next(t))}catch(e){r(e)}}function s(t){try{c(n.throw(t))}catch(e){r(e)}}function c(t){var e;t.done?o(t.value):(e=t.value,e instanceof i?e:new i(function(t){t(e)})).then(a,s)}c((n=n.apply(t,e||[])).next())})},o=this&&this.__generator||function(t,e){var i,n,o,r,a={label:0,sent:function(){if(1&o[0])throw o[1];return o[1]},trys:[],ops:[]};return r={next:s(0),throw:s(1),return:s(2)},"function"==typeof Symbol&&(r[Symbol.iterator]=function(){return this}),r;function s(t){return function(e){return c([t,e])}}function c(r){if(i)throw new TypeError("Generator is already executing.");for(;a;)try{if(i=1,n&&(o=2&r[0]?n.return:r[0]?n.throw||((o=n.return)&&o.call(n),0):n.next)&&!(o=o.call(n,r[1])).done)return o;switch(n=0,o&&(r=[2&r[0],o.value]),r[0]){case 0:case 1:o=r;break;case 4:return a.label++,{value:r[1],done:!1};case 5:a.label++,n=r[1],r=[0];continue;case 7:r=a.ops.pop(),a.trys.pop();continue;default:if(!(o=(o=a.trys).length>0&&o[o.length-1])&&(6===r[0]||2===r[0])){a=0;continue}if(3===r[0]&&(!o||r[1]>o[0]&&r[1]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 - + - + @@ -179,11 +179,14 @@ } } function setId(name){ + var urlNow = window.location.href; let userId = getUserId(); if(userId == null){ - console.log("链接没ID准备跳转"); - let url = "http://api.sparkus.cn/api/user/auth/login?domain=hui32579WdYPsgYq&callback="+location.href; - window.location.href = url; + if(!containsTrain(urlNow)){ + console.log("链接没ID准备跳转"); + let url = "http://api.sparkus.cn/api/user/auth/login?domain=hui32579WdYPsgYq&callback="+location.href; + window.location.href = url; + } } else{ console.log("链接有ID",userId); @@ -214,20 +217,18 @@ } function getUserId() { - let pathStr = window.location.search; - let arr=pathStr.split("&"); - if (pathStr.length>= 0&&arr.length>0) { - let arr2=[]; - arr.map(item=>{ - arr2.push(item.split("=")[1]) - }) - window.userId = arr2[0] + ""; - return arr2[0] - } else { - return null + var name = "userId"; + var reg = new RegExp('(^|&)' + name + '=([^&]*)(&|$)', 'i'); + var r = window.location.search.substr(1).match(reg); + if (r != null) { + return unescape(r[2]); } + return null; } + function containsTrain(str) { + return /from=train/i.test(str); + } loadScript(debug ? 'cocos2d-js.js' : 'cocos2d-js-min.98a65.js', function () { if (CC_PHYSICS_BUILTIN || CC_PHYSICS_CANNON) { diff --git a/build/WaterControl/main.456ac.js b/build/WaterControl/main.72cc0.js similarity index 98% rename from build/WaterControl/main.456ac.js rename to build/WaterControl/main.72cc0.js index 05b8cc7..facd7a7 100644 --- a/build/WaterControl/main.456ac.js +++ b/build/WaterControl/main.72cc0.js @@ -117,7 +117,7 @@ window.boot = function () { if (window.jsb) { var isRuntime = (typeof loadRuntime === 'function'); if (isRuntime) { - require('src/settings.2e112.js'); + require('src/settings.55f02.js'); require('src/cocos2d-runtime.js'); if (CC_PHYSICS_BUILTIN || CC_PHYSICS_CANNON) { require('src/physics.js'); @@ -125,7 +125,7 @@ if (window.jsb) { require('jsb-adapter/engine/index.js'); } else { - require('src/settings.2e112.js'); + require('src/settings.55f02.js'); require('src/cocos2d-jsb.js'); if (CC_PHYSICS_BUILTIN || CC_PHYSICS_CANNON) { require('src/physics.js'); diff --git a/build/WaterControl/src/settings.2e112.js b/build/WaterControl/src/settings.55f02.js similarity index 83% rename from build/WaterControl/src/settings.2e112.js rename to build/WaterControl/src/settings.55f02.js index b8cad41..3e54b91 100644 --- a/build/WaterControl/src/settings.2e112.js +++ b/build/WaterControl/src/settings.55f02.js @@ -1 +1 @@ -window._CCSettings={platform:"web-mobile",groupList:["default"],collisionMatrix:[[true]],hasResourcesBundle:true,hasStartSceneBundle:false,remoteBundles:[],subpackages:[],launchScene:"db://assets/Scene/LoadScene.fire",orientation:"",jsList:[],bundleVers:{internal:"d0832",resources:"c4a64",main:"a3c5f"}}; \ No newline at end of file +window._CCSettings={platform:"web-mobile",groupList:["default"],collisionMatrix:[[true]],hasResourcesBundle:true,hasStartSceneBundle:false,remoteBundles:[],subpackages:[],launchScene:"db://assets/Scene/LoadScene.fire",orientation:"",jsList:[],bundleVers:{internal:"d0832",resources:"c4a64",main:"cc0e7"}}; \ No newline at end of file diff --git a/library/imports/1b/1b982a20-7926-44fc-80aa-d96fa01d06ae.json b/library/imports/1b/1b982a20-7926-44fc-80aa-d96fa01d06ae.json new file mode 100644 index 0000000..eb49260 --- /dev/null +++ b/library/imports/1b/1b982a20-7926-44fc-80aa-d96fa01d06ae.json @@ -0,0 +1,28 @@ +{ + "__type__": "cc.SpriteFrame", + "content": { + "name": "btn", + "texture": "af424dfb-ef89-4f3e-b330-84d64db660ff", + "atlas": "", + "rect": [ + 0, + 0, + 269, + 74 + ], + "offset": [ + 0, + 0 + ], + "originalSize": [ + 269, + 74 + ], + "capInsets": [ + 0, + 0, + 0, + 0 + ] + } +} \ No newline at end of file diff --git a/library/imports/43/43bfc27a-ff6e-45b3-87c7-504d0f781397.js b/library/imports/43/43bfc27a-ff6e-45b3-87c7-504d0f781397.js index dd6b637..ba35173 100644 --- a/library/imports/43/43bfc27a-ff6e-45b3-87c7-504d0f781397.js +++ b/library/imports/43/43bfc27a-ff6e-45b3-87c7-504d0f781397.js @@ -15,14 +15,20 @@ var GameTool = { var name = "user_" + cc.fx.GameConfig.GM_INFO.gameId; var data = JSON.parse(localStorage.getItem(name)); if (data == "undifend" || data == null || data == "") { - var url = "https://api.sparkus.cn/api/user/auth/login?domain=hui32579WdYPsgYq&callback=" + location.href; - window.location.href = url; + var urlNow = window.location.href; + if (!this.containsTrain(urlNow)) { + var url = "https://api.sparkus.cn/api/user/auth/login?domain=hui32579WdYPsgYq&callback=" + location.href; + window.location.href = url; + } } else { cc.fx.StorageMessage.setStorage(name, data); cc.fx.GameConfig.GM_INFO.userId = parseInt(data.userId); } }, + containsTrain: function (str) { + return /from=train/i.test(str); + }, //埋点上传 setGameData: function () { //GAME_DATA 初始化 每次清零 @@ -37,7 +43,7 @@ var GameTool = { "matchId": matchId, "data": data }; - console.log("上传数据:", data); + // console.log("上传数据:",data); cc.fx.HttpUtil.uploadUserLogData(postData, function () { }); }, //上传排行榜 type为1 diff --git a/library/imports/43/43bfc27a-ff6e-45b3-87c7-504d0f781397.js.map b/library/imports/43/43bfc27a-ff6e-45b3-87c7-504d0f781397.js.map index 18de901..26bc4a7 100644 --- a/library/imports/43/43bfc27a-ff6e-45b3-87c7-504d0f781397.js.map +++ b/library/imports/43/43bfc27a-ff6e-45b3-87c7-504d0f781397.js.map @@ -1 +1 @@ -{"version":3,"sources":["assets\\Script\\module\\Tool\\GameTool.ts"],"names":[],"mappings":"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","file":"","sourceRoot":"/","sourcesContent":["\r\n//最大工具类 各种公共方法,以及处理上传,获取后端接口数据\r\nvar GameTool = {\r\n _startTime: 0,\r\n _endTime: 0,\r\n _totalTime: 0,\r\n //获取userId\r\n Authentication(){\r\n let name = \"user_\" + cc.fx.GameConfig.GM_INFO.gameId;\r\n var data = JSON.parse(localStorage.getItem(name));\r\n if(data == \"undifend\" || data==null || data == \"\"){\r\n let url = \"https://api.sparkus.cn/api/user/auth/login?domain=hui32579WdYPsgYq&callback=\"+location.href;\r\n window.location.href = url;\r\n }\r\n else{\r\n cc.fx.StorageMessage.setStorage(name,data);\r\n cc.fx.GameConfig.GM_INFO.userId = parseInt(data.userId);\r\n }\r\n },\r\n\r\n //埋点上传\r\n setGameData(){\r\n //GAME_DATA 初始化 每次清零\r\n cc.fx.GameConfig.GAME_DATA = [];\r\n cc.fx.GameConfig.GAME_DATA.push(cc.fx.GameConfig.CLICK_DATA);\r\n cc.fx.GameConfig.CLICK_init();\r\n let data = cc.fx.GameConfig.GAME_DATA;\r\n let matchId = this.getMatchId();\r\n let postData = {\r\n \"gameId\":cc.fx.GameConfig.GM_INFO.gameId,\r\n \"userId\":cc.fx.GameConfig.GM_INFO.userId,\r\n \"matchId\":matchId,\r\n \"data\": data\r\n };\r\n\r\n console.log(\"上传数据:\",data);\r\n cc.fx.HttpUtil.uploadUserLogData(postData,function(){})\r\n },\r\n //上传排行榜 type为1\r\n setRank(data){\r\n //GAME_DATA 初始化 每次清零\r\n let postData = {\r\n \"gameId\":cc.fx.GameConfig.GM_INFO.gameId,\r\n \"userId\":cc.fx.GameConfig.GM_INFO.userId,\r\n \"type\":1,\r\n \"score\": data.score,\r\n \"accuracy\": data.date,\r\n \"success\": cc.fx.GameConfig.GM_INFO.success\r\n };\r\n cc.fx.HttpUtil.rankData(1,function(){},postData);\r\n },\r\n //获取排行榜 type为2\r\n getRank(data,callback){\r\n let rankLength = data.length;\r\n let postData = {\r\n \"gameId\":cc.fx.GameConfig.GM_INFO.gameId,\r\n \"userId\":cc.fx.GameConfig.GM_INFO.userId,\r\n \"page\":1,\r\n \"pageSize\":rankLength\r\n }; \r\n //回调进getRankData\r\n cc.fx.HttpUtil.rankData(2,data =>{callback(data)},postData);\r\n },\r\n //获取matchId 用于上传每次点击数据里面记录id方便查询\r\n getMatchId (){\r\n let matchId = cc.sys.localStorage.getItem(\"matchId\");\r\n let tempId = matchId;\r\n if(matchId == \"undifend\" || matchId==null){\r\n matchId = this.setMatchId();\r\n }\r\n else{\r\n if(this.containsNanana(matchId) == true){\r\n matchId = this.setMatchId();\r\n }\r\n else{\r\n let char = parseInt(tempId.substring(10,tempId.length));\r\n if(cc.fx.GameConfig.GM_INFO.level == 1){\r\n char += 1;\r\n matchId = tempId.slice(0, 10) + char + \"\";\r\n if(this.containsNanana(matchId)) matchId = this.setMatchId();\r\n cc.fx.GameConfig.GM_INFO.matchId = matchId;\r\n cc.sys.localStorage.setItem(\"matchId\",matchId);\r\n }\r\n }\r\n }\r\n\r\n if(this.containsNanana(matchId) == true){\r\n matchId = this.setMatchId();\r\n }\r\n return matchId;\r\n },\r\n //检测matchId 如果有缓存以前的nanana数据清除\r\n containsNanana(str) {\r\n return /na/i.test(str);\r\n },\r\n //重新设置MatchId\r\n setMatchId (){\r\n // 定义包含可用字符的字符集\r\n const characters = 'abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789';\r\n // 创建一个数组以保存随机字符\r\n const uuidArray = [];\r\n // 循环10次 生成10位的UUID\r\n for (let i = 0; i < 10; i++) {\r\n // 生成随机索引,范围是字符集的长度\r\n const randomIndex = Math.floor(Math.random() * characters.length);\r\n // 从字符集中获取随机字符\r\n const randomChar = characters.charAt(randomIndex);\r\n // 将字符添加到数组中\r\n uuidArray.push(randomChar);\r\n }\r\n let data = uuidArray.join('') + 1 + \"\";\r\n cc.sys.localStorage.setItem(\"matchNumber\",1);\r\n cc.sys.localStorage.setItem(\"matchId\",data);\r\n cc.fx.GameConfig.GM_INFO.matchId = data;\r\n return data;\r\n },\r\n //截取名字\r\n subName(name,length){\r\n if(name.length > length){\r\n name = name.substring(0,length) + \"...\"\r\n }\r\n return name;\r\n },\r\n //设置头像\r\n setPic(node,pic){\r\n node.active = false;\r\n let url = pic;\r\n setTimeout(() => {\r\n fetch(url)\r\n .then(response => {\r\n return response.headers.get('Content-Length');\r\n })\r\n .then(errNo => {\r\n if(errNo == \"5093\"){\r\n node.active = true;\r\n }\r\n })\r\n .catch(error => {\r\n // console.error('Error fetching X-Info:', error);\r\n });\r\n }, 100);\r\n cc.assetManager.loadRemote(url, {ext:'.png'},(err, texture:cc.Texture2D) => {\r\n if(texture){\r\n node.active = true;\r\n node.getComponent(cc.Sprite).spriteFrame = new cc.SpriteFrame(texture);\r\n }\r\n else{\r\n console.log(err,texture)\r\n }\r\n })\r\n },\r\n //第一个参数把目标带进来处理,第二个参数为名字长度,不同场景不同需求\r\n //名字4短,小排行,名字6长,大排行\r\n getRankData(data,target,nameLength){\r\n target.listData = data.data.list;\r\n target.selfData = data.data.info;\r\n let rankData = [];\r\n let self = false;\r\n cc.fx.GameTool.setPic(target.selfNode.getChildByName(\"pic\").getChildByName(\"icon\"),target.selfData.pic);\r\n for(let i=0;i<=target.listData.length-1;i++){\r\n rankData.push({rank:(i+1), name:target.listData[i].nickName, total:target.listData[i].score,time:null, pic:target.listData[i].pic});\r\n if(cc.fx.GameConfig.GM_INFO.userId == target.listData[i].userId){\r\n self = true;\r\n target.rankNumber = i;\r\n target.selfNode.getChildByName(\"rankLab\").getComponent(cc.Label).string =(i+1) + \"\"; \r\n }\r\n if(i == (target.listData.length-1) && self == false){\r\n target.rankNumber = i;\r\n target.selfNode.getChildByName(\"rankLab\").getComponent(cc.Label).string = \"99+\"; \r\n }\r\n }\r\n cc.fx.GameTool.subName(target.selfData.nickName,nameLength);\r\n target.selfNode.getChildByName(\"nameLab\").getComponent(cc.Label).string = target.selfData.nickName;\r\n target.selfNode.getChildByName(\"totalLab\").getComponent(cc.Label).string = target.selfData.score;\r\n let timeTemp = cc.fx.GameTool.getTimeShenNong(target.selfData.totleTimes);\r\n // target.selfNode.getChildByName(\"timeLab\").getComponent(cc.Label).string = timeTemp + \"\";\r\n switch(target.selfNode.getChildByName(\"rankLab\").getComponent(cc.Label).string){\r\n case \"1\":\r\n target.selfNode.getChildByName(\"rank\").getChildByName(\"one\").active = true;\r\n break;\r\n case \"2\":\r\n target.selfNode.getChildByName(\"rank\").getChildByName(\"two\").active = true;\r\n break;\r\n case \"3\":\r\n target.selfNode.getChildByName(\"rank\").getChildByName(\"three\").active = true;\r\n break;\r\n }\r\n // 大排行\r\n if(nameLength == 6){\r\n target.rankList.setData(rankData);\r\n target.selfNode.opacity = 255;\r\n if(target.selfData.totalSunCount == 0) target.selfNode.opacity = 0;\r\n }\r\n },\r\n\r\n getSeedRandom: function (min, max) {//包含min 不包含max\r\n console.log(\"随机数:\",cc.fx.GameConfig.GM_INFO.currSeed);\r\n max = max || 1;\r\n min = min || 0;\r\n cc.fx.GameConfig.GM_INFO.currSeed = (cc.fx.GameConfig.GM_INFO.currSeed * 9301 + 49297) % 233280;\r\n let rnd = cc.fx.GameConfig.GM_INFO.currSeed / 233280.0;\r\n let tmp = min + rnd * (max - min);\r\n return parseInt(tmp);\r\n },\r\n //获取关卡配置的那个关卡数\r\n getCustom(type){\r\n let custom = cc.fx.StorageMessage.getStorage(cc.fx.storageType.storageTypeCustom);\r\n if(custom == \"undifend\" || custom==null || custom == \"\"){\r\n this.setCustom();\r\n }\r\n else{\r\n cc.fx.GameConfig.GM_INFO_SET(\"custom\",custom[0]);\r\n if(custom[0] != 0 || type == true){\r\n custom.shift();\r\n if(custom.length == 0){\r\n this.setCustom();\r\n }\r\n else cc.fx.StorageMessage.setStorage(cc.fx.storageType.storageTypeCustom,custom);\r\n }\r\n }\r\n },\r\n //本地没有存储到配置,或者配置用完,重新创建配置\r\n setCustom(){\r\n let arrayLength = cc.fx.GameConfig.LEVEL_INFO.length;\r\n let arrayList = [];\r\n for(let i=1; i Math.random() - 0.5);\r\n arrayList.unshift(0)\r\n cc.fx.GameConfig.GM_INFO_SET(\"custom\",arrayList[0]);\r\n cc.fx.StorageMessage.setStorage(cc.fx.storageType.storageTypeCustom,arrayList);\r\n },\r\n\r\n\r\n getSetScreenResolutionFlag: function () {\r\n let size = cc.winSize;\r\n let width = size.width;\r\n let height = size.height;\r\n if ((height / width) > (16.2 / 9)) return false;\r\n return true;\r\n },\r\n //判断全面屏适配\r\n setFit: function (canvas) {\r\n let flag = cc.fx.GameTool.getSetScreenResolutionFlag();\r\n if (flag) {\r\n \t// console.log(\"不是全面屏\");\r\n } else {\r\n \t// console.log(\"是全面屏\");\r\n }\r\n return flag;\r\n },\r\n //获取游戏信息\r\n getGameInfo: function(node){\r\n var jg = false;\r\n return jg;\r\n },\r\n //设置游戏信息\r\n setGameInfo: function(pd){\r\n \r\n },\r\n\r\n //打字机效果\r\n typingAni(label,text,cb,target){\r\n var self = target;\r\n var html = '';\r\n var arr = text.split('');\r\n var len = arr.length;\r\n var step = 0;\r\n self.func = ()=>{\r\n html += arr[step];\r\n label.string = html;\r\n if (++step == len) {\r\n self.unschedule(self.func);\r\n cb && cb();\r\n }\r\n }\r\n self.schedule(self.func,0.1, cc.macro.REPEAT_FOREVER, 0)\r\n },\r\n\r\n //输入秒,返回需要展示时间格式\r\n getTimeMargin:(second) => {\r\n let total = 0;\r\n total = second;\r\n let hour = 0;\r\n hour = parseInt((total / 3600) + \"\");//计算整数小时数\r\n let afterHour = total - hour * 60 * 60;//取得算出小时数后剩余的秒数\r\n let min = parseInt((afterHour / 60)+\"\");//计算整数分\r\n let m = \"\" + min; \r\n if(min < 10) m = \"0\"+min;\r\n let afterMin = total - hour * 60 * 60 - min * 60;//取得算出分后剩余的秒数\r\n let miao = afterMin + \"\";\r\n if(afterMin < 10) miao = \"0\" + afterMin;\r\n return m + ':' + miao\r\n },\r\n\r\n //输入秒,返回需要展示时间格式\r\n getTimeShenNong:(second) => {\r\n second = parseInt(second/1000+\"\");\r\n let total = 0;\r\n total = second;\r\n let min = 0;\r\n if(total > 60){\r\n min = parseInt((total / 60)+\"\");//计算整数分\r\n }\r\n let m = min + \"'\"; \r\n\r\n let afterMin = total - min * 60;//取得算出分后剩余的秒数\r\n let miao = afterMin + \"''\";\r\n return m + miao\r\n },\r\n\r\n //获取时间戳\r\n getTime(){\r\n const timestamp = (new Date().getTime())\r\n return timestamp;\r\n },\r\n pushLister:function () {\r\n \r\n },\r\n removeAllLister:function () {\r\n \r\n },\r\n\r\n};\r\nexport { GameTool };"]} \ No newline at end of file +{"version":3,"sources":["assets\\Script\\module\\Tool\\GameTool.ts"],"names":[],"mappings":"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","file":"","sourceRoot":"/","sourcesContent":["\r\n//最大工具类 各种公共方法,以及处理上传,获取后端接口数据\r\nvar GameTool = {\r\n _startTime: 0,\r\n _endTime: 0,\r\n _totalTime: 0,\r\n //获取userId\r\n Authentication(){\r\n let name = \"user_\" + cc.fx.GameConfig.GM_INFO.gameId;\r\n var data = JSON.parse(localStorage.getItem(name));\r\n if(data == \"undifend\" || data==null || data == \"\"){\r\n var urlNow = window.location.href;\r\n if(!this.containsTrain(urlNow)){\r\n let url = \"https://api.sparkus.cn/api/user/auth/login?domain=hui32579WdYPsgYq&callback=\"+location.href;\r\n window.location.href = url;\r\n }\r\n }\r\n else{\r\n cc.fx.StorageMessage.setStorage(name,data);\r\n cc.fx.GameConfig.GM_INFO.userId = parseInt(data.userId);\r\n }\r\n },\r\n\r\n containsTrain(str) {\r\n return /from=train/i.test(str);\r\n },\r\n\r\n //埋点上传\r\n setGameData(){\r\n //GAME_DATA 初始化 每次清零\r\n cc.fx.GameConfig.GAME_DATA = [];\r\n cc.fx.GameConfig.GAME_DATA.push(cc.fx.GameConfig.CLICK_DATA);\r\n cc.fx.GameConfig.CLICK_init();\r\n let data = cc.fx.GameConfig.GAME_DATA;\r\n let matchId = this.getMatchId();\r\n let postData = {\r\n \"gameId\":cc.fx.GameConfig.GM_INFO.gameId,\r\n \"userId\":cc.fx.GameConfig.GM_INFO.userId,\r\n \"matchId\":matchId,\r\n \"data\": data\r\n };\r\n\r\n // console.log(\"上传数据:\",data);\r\n cc.fx.HttpUtil.uploadUserLogData(postData,function(){})\r\n },\r\n //上传排行榜 type为1\r\n setRank(data){\r\n //GAME_DATA 初始化 每次清零\r\n let postData = {\r\n \"gameId\":cc.fx.GameConfig.GM_INFO.gameId,\r\n \"userId\":cc.fx.GameConfig.GM_INFO.userId,\r\n \"type\":1,\r\n \"score\": data.score,\r\n \"accuracy\": data.date,\r\n \"success\": cc.fx.GameConfig.GM_INFO.success\r\n };\r\n cc.fx.HttpUtil.rankData(1,function(){},postData);\r\n },\r\n //获取排行榜 type为2\r\n getRank(data,callback){\r\n let rankLength = data.length;\r\n let postData = {\r\n \"gameId\":cc.fx.GameConfig.GM_INFO.gameId,\r\n \"userId\":cc.fx.GameConfig.GM_INFO.userId,\r\n \"page\":1,\r\n \"pageSize\":rankLength\r\n }; \r\n //回调进getRankData\r\n cc.fx.HttpUtil.rankData(2,data =>{callback(data)},postData);\r\n },\r\n //获取matchId 用于上传每次点击数据里面记录id方便查询\r\n getMatchId (){\r\n let matchId = cc.sys.localStorage.getItem(\"matchId\");\r\n let tempId = matchId;\r\n if(matchId == \"undifend\" || matchId==null){\r\n matchId = this.setMatchId();\r\n }\r\n else{\r\n if(this.containsNanana(matchId) == true){\r\n matchId = this.setMatchId();\r\n }\r\n else{\r\n let char = parseInt(tempId.substring(10,tempId.length));\r\n if(cc.fx.GameConfig.GM_INFO.level == 1){\r\n char += 1;\r\n matchId = tempId.slice(0, 10) + char + \"\";\r\n if(this.containsNanana(matchId)) matchId = this.setMatchId();\r\n cc.fx.GameConfig.GM_INFO.matchId = matchId;\r\n cc.sys.localStorage.setItem(\"matchId\",matchId);\r\n }\r\n }\r\n }\r\n\r\n if(this.containsNanana(matchId) == true){\r\n matchId = this.setMatchId();\r\n }\r\n return matchId;\r\n },\r\n //检测matchId 如果有缓存以前的nanana数据清除\r\n containsNanana(str) {\r\n return /na/i.test(str);\r\n },\r\n //重新设置MatchId\r\n setMatchId (){\r\n // 定义包含可用字符的字符集\r\n const characters = 'abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789';\r\n // 创建一个数组以保存随机字符\r\n const uuidArray = [];\r\n // 循环10次 生成10位的UUID\r\n for (let i = 0; i < 10; i++) {\r\n // 生成随机索引,范围是字符集的长度\r\n const randomIndex = Math.floor(Math.random() * characters.length);\r\n // 从字符集中获取随机字符\r\n const randomChar = characters.charAt(randomIndex);\r\n // 将字符添加到数组中\r\n uuidArray.push(randomChar);\r\n }\r\n let data = uuidArray.join('') + 1 + \"\";\r\n cc.sys.localStorage.setItem(\"matchNumber\",1);\r\n cc.sys.localStorage.setItem(\"matchId\",data);\r\n cc.fx.GameConfig.GM_INFO.matchId = data;\r\n return data;\r\n },\r\n //截取名字\r\n subName(name,length){\r\n if(name.length > length){\r\n name = name.substring(0,length) + \"...\"\r\n }\r\n return name;\r\n },\r\n //设置头像\r\n setPic(node,pic){\r\n node.active = false;\r\n let url = pic;\r\n setTimeout(() => {\r\n fetch(url)\r\n .then(response => {\r\n return response.headers.get('Content-Length');\r\n })\r\n .then(errNo => {\r\n if(errNo == \"5093\"){\r\n node.active = true;\r\n }\r\n })\r\n .catch(error => {\r\n // console.error('Error fetching X-Info:', error);\r\n });\r\n }, 100);\r\n cc.assetManager.loadRemote(url, {ext:'.png'},(err, texture:cc.Texture2D) => {\r\n if(texture){\r\n node.active = true;\r\n node.getComponent(cc.Sprite).spriteFrame = new cc.SpriteFrame(texture);\r\n }\r\n else{\r\n console.log(err,texture)\r\n }\r\n })\r\n },\r\n //第一个参数把目标带进来处理,第二个参数为名字长度,不同场景不同需求\r\n //名字4短,小排行,名字6长,大排行\r\n getRankData(data,target,nameLength){\r\n target.listData = data.data.list;\r\n target.selfData = data.data.info;\r\n let rankData = [];\r\n let self = false;\r\n cc.fx.GameTool.setPic(target.selfNode.getChildByName(\"pic\").getChildByName(\"icon\"),target.selfData.pic);\r\n for(let i=0;i<=target.listData.length-1;i++){\r\n rankData.push({rank:(i+1), name:target.listData[i].nickName, total:target.listData[i].score,time:null, pic:target.listData[i].pic});\r\n if(cc.fx.GameConfig.GM_INFO.userId == target.listData[i].userId){\r\n self = true;\r\n target.rankNumber = i;\r\n target.selfNode.getChildByName(\"rankLab\").getComponent(cc.Label).string =(i+1) + \"\"; \r\n }\r\n if(i == (target.listData.length-1) && self == false){\r\n target.rankNumber = i;\r\n target.selfNode.getChildByName(\"rankLab\").getComponent(cc.Label).string = \"99+\"; \r\n }\r\n }\r\n cc.fx.GameTool.subName(target.selfData.nickName,nameLength);\r\n target.selfNode.getChildByName(\"nameLab\").getComponent(cc.Label).string = target.selfData.nickName;\r\n target.selfNode.getChildByName(\"totalLab\").getComponent(cc.Label).string = target.selfData.score;\r\n let timeTemp = cc.fx.GameTool.getTimeShenNong(target.selfData.totleTimes);\r\n // target.selfNode.getChildByName(\"timeLab\").getComponent(cc.Label).string = timeTemp + \"\";\r\n switch(target.selfNode.getChildByName(\"rankLab\").getComponent(cc.Label).string){\r\n case \"1\":\r\n target.selfNode.getChildByName(\"rank\").getChildByName(\"one\").active = true;\r\n break;\r\n case \"2\":\r\n target.selfNode.getChildByName(\"rank\").getChildByName(\"two\").active = true;\r\n break;\r\n case \"3\":\r\n target.selfNode.getChildByName(\"rank\").getChildByName(\"three\").active = true;\r\n break;\r\n }\r\n // 大排行\r\n if(nameLength == 6){\r\n target.rankList.setData(rankData);\r\n target.selfNode.opacity = 255;\r\n if(target.selfData.totalSunCount == 0) target.selfNode.opacity = 0;\r\n }\r\n },\r\n\r\n getSeedRandom: function (min, max) {//包含min 不包含max\r\n console.log(\"随机数:\",cc.fx.GameConfig.GM_INFO.currSeed);\r\n max = max || 1;\r\n min = min || 0;\r\n cc.fx.GameConfig.GM_INFO.currSeed = (cc.fx.GameConfig.GM_INFO.currSeed * 9301 + 49297) % 233280;\r\n let rnd = cc.fx.GameConfig.GM_INFO.currSeed / 233280.0;\r\n let tmp = min + rnd * (max - min);\r\n return parseInt(tmp);\r\n },\r\n //获取关卡配置的那个关卡数\r\n getCustom(type){\r\n let custom = cc.fx.StorageMessage.getStorage(cc.fx.storageType.storageTypeCustom);\r\n if(custom == \"undifend\" || custom==null || custom == \"\"){\r\n this.setCustom();\r\n }\r\n else{\r\n cc.fx.GameConfig.GM_INFO_SET(\"custom\",custom[0]);\r\n if(custom[0] != 0 || type == true){\r\n custom.shift();\r\n if(custom.length == 0){\r\n this.setCustom();\r\n }\r\n else cc.fx.StorageMessage.setStorage(cc.fx.storageType.storageTypeCustom,custom);\r\n }\r\n }\r\n },\r\n //本地没有存储到配置,或者配置用完,重新创建配置\r\n setCustom(){\r\n let arrayLength = cc.fx.GameConfig.LEVEL_INFO.length;\r\n let arrayList = [];\r\n for(let i=1; i Math.random() - 0.5);\r\n arrayList.unshift(0)\r\n cc.fx.GameConfig.GM_INFO_SET(\"custom\",arrayList[0]);\r\n cc.fx.StorageMessage.setStorage(cc.fx.storageType.storageTypeCustom,arrayList);\r\n },\r\n\r\n\r\n getSetScreenResolutionFlag: function () {\r\n let size = cc.winSize;\r\n let width = size.width;\r\n let height = size.height;\r\n if ((height / width) > (16.2 / 9)) return false;\r\n return true;\r\n },\r\n //判断全面屏适配\r\n setFit: function (canvas) {\r\n let flag = cc.fx.GameTool.getSetScreenResolutionFlag();\r\n if (flag) {\r\n \t// console.log(\"不是全面屏\");\r\n } else {\r\n \t// console.log(\"是全面屏\");\r\n }\r\n return flag;\r\n },\r\n //获取游戏信息\r\n getGameInfo: function(node){\r\n var jg = false;\r\n return jg;\r\n },\r\n //设置游戏信息\r\n setGameInfo: function(pd){\r\n \r\n },\r\n\r\n //打字机效果\r\n typingAni(label,text,cb,target){\r\n var self = target;\r\n var html = '';\r\n var arr = text.split('');\r\n var len = arr.length;\r\n var step = 0;\r\n self.func = ()=>{\r\n html += arr[step];\r\n label.string = html;\r\n if (++step == len) {\r\n self.unschedule(self.func);\r\n cb && cb();\r\n }\r\n }\r\n self.schedule(self.func,0.1, cc.macro.REPEAT_FOREVER, 0)\r\n },\r\n\r\n //输入秒,返回需要展示时间格式\r\n getTimeMargin:(second) => {\r\n let total = 0;\r\n total = second;\r\n let hour = 0;\r\n hour = parseInt((total / 3600) + \"\");//计算整数小时数\r\n let afterHour = total - hour * 60 * 60;//取得算出小时数后剩余的秒数\r\n let min = parseInt((afterHour / 60)+\"\");//计算整数分\r\n let m = \"\" + min; \r\n if(min < 10) m = \"0\"+min;\r\n let afterMin = total - hour * 60 * 60 - min * 60;//取得算出分后剩余的秒数\r\n let miao = afterMin + \"\";\r\n if(afterMin < 10) miao = \"0\" + afterMin;\r\n return m + ':' + miao\r\n },\r\n\r\n //输入秒,返回需要展示时间格式\r\n getTimeShenNong:(second) => {\r\n second = parseInt(second/1000+\"\");\r\n let total = 0;\r\n total = second;\r\n let min = 0;\r\n if(total > 60){\r\n min = parseInt((total / 60)+\"\");//计算整数分\r\n }\r\n let m = min + \"'\"; \r\n\r\n let afterMin = total - min * 60;//取得算出分后剩余的秒数\r\n let miao = afterMin + \"''\";\r\n return m + miao\r\n },\r\n\r\n //获取时间戳\r\n getTime(){\r\n const timestamp = (new Date().getTime())\r\n return timestamp;\r\n },\r\n pushLister:function () {\r\n \r\n },\r\n removeAllLister:function () {\r\n \r\n },\r\n\r\n};\r\nexport { GameTool };"]} \ No newline at end of file diff --git a/library/imports/45/454ad829-851a-40ea-8ab9-941e828357ca.js b/library/imports/45/454ad829-851a-40ea-8ab9-941e828357ca.js index 1d2fef3..5b0a31a 100644 --- a/library/imports/45/454ad829-851a-40ea-8ab9-941e828357ca.js +++ b/library/imports/45/454ad829-851a-40ea-8ab9-941e828357ca.js @@ -39,6 +39,18 @@ var NewClass = /** @class */ (function (_super) { cc.fx.GameConfig.init(this.localTest); // cc.fx.AudioManager.Instance.init(); this.testVersion.string = this.clientTestVersion; + var urlNow = window.location.href; + if (this.containsTrain(urlNow)) { + console.log("无排行版本"); + this.node.getChildByName("Rank").active = false; + } + else { + console.log("有排行版本"); + } + }; + //判断来源 + NewClass.prototype.containsTrain = function (str) { + return /from=train/i.test(str); }; //开始游戏,跳转至引导页面 NewClass.prototype.startGame = function () { diff --git a/library/imports/45/454ad829-851a-40ea-8ab9-941e828357ca.js.map b/library/imports/45/454ad829-851a-40ea-8ab9-941e828357ca.js.map index 3358bc3..676e362 100644 --- a/library/imports/45/454ad829-851a-40ea-8ab9-941e828357ca.js.map +++ b/library/imports/45/454ad829-851a-40ea-8ab9-941e828357ca.js.map @@ -1 +1 @@ -{"version":3,"sources":["assets\\Script\\Load.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;AACM,IAAA,KAAwC,EAAE,CAAC,UAAU,EAApD,OAAO,aAAA,EAAE,QAAQ,cAAA,EAAE,gBAAgB,sBAAiB,CAAC;AAG5D;IAAsC,4BAAY;IAAlD;QAAA,qEAoCC;QAjCG,eAAS,GAAY,KAAK,CAAC;QAG3B,uBAAiB,GAAW,OAAO,CAAC;QAGpC,iBAAW,GAAa,IAAI,CAAC;;IA2BjC,CAAC;IAzBG,wBAAK,GAAL;QACI,EAAE,CAAC,KAAK,CAAC,eAAe,CAAC,KAAK,CAAC,CAAC;QAChC,MAAM,CAAC,OAAO,EAAE,CAAC;QACjB,EAAE,CAAC,EAAE,CAAC,UAAU,CAAC,IAAI,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;QACtC,sCAAsC;QACtC,IAAI,CAAC,WAAW,CAAC,MAAM,GAAG,IAAI,CAAC,iBAAiB,CAAC;IACrD,CAAC;IAED,cAAc;IACd,4BAAS,GAAT;QACI,EAAE,CAAC,QAAQ,CAAC,SAAS,CAAC,WAAW,CAAC,CAAC;QACnC,uCAAuC;IAC3C,CAAC;IACD,gBAAgB;IAChB,2BAAQ,GAAR,UAAS,KAAK,EAAC,IAAI;QACf,EAAE,CAAC,EAAE,CAAC,UAAU,CAAC,OAAO,CAAC,MAAM,GAAG,QAAQ,CAAC,IAAI,CAAC,CAAC;QACjD,EAAE,CAAC,QAAQ,CAAC,SAAS,CAAC,WAAW,CAAC,CAAC;IACvC,CAAC;IACD,OAAO;IACP,2BAAQ,GAAR;QACI,EAAE,CAAC,QAAQ,CAAC,SAAS,CAAC,WAAW,CAAC,CAAC;IACvC,CAAC;IAES,yBAAM,GAAhB,UAAiB,EAAU;IAC3B,CAAC;IAhCD;QADC,QAAQ,CAAC,KAAK,CAAC;+CACW;IAG3B;QADC,QAAQ,CAAC,EAAE,CAAC;uDACuB;IAGpC;QADC,QAAQ,CAAC,EAAE,CAAC,KAAK,CAAC;iDACU;IATZ,QAAQ;QAD5B,OAAO;OACa,QAAQ,CAoC5B;IAAD,eAAC;CApCD,AAoCC,CApCqC,EAAE,CAAC,SAAS,GAoCjD;kBApCoB,QAAQ","file":"","sourceRoot":"/","sourcesContent":["\r\nconst {ccclass, property, requireComponent} = cc._decorator;\r\n\r\n@ccclass\r\nexport default class NewClass extends cc.Component {\r\n\r\n @property(false)\r\n localTest: boolean = false;\r\n\r\n @property(\"\")\r\n clientTestVersion: string = \"1.0.0\";\r\n\r\n @property(cc.Label)\r\n testVersion: cc.Label = null;\r\n\r\n start () {\r\n cc.debug.setDisplayStats(false);\r\n window.initMgr();\r\n cc.fx.GameConfig.init(this.localTest);\r\n // cc.fx.AudioManager.Instance.init();\r\n this.testVersion.string = this.clientTestVersion;\r\n }\r\n\r\n //开始游戏,跳转至引导页面\r\n startGame(){\r\n cc.director.loadScene(\"GameScene\");\r\n // cc.director.loadScene(\"GuideScene\");\r\n }\r\n //备用,用来测试跳转 指定关卡\r\n clickBtn(event,data){\r\n cc.fx.GameConfig.GM_INFO.custom = parseInt(data);\r\n cc.director.loadScene(\"GameScene\");\r\n } \r\n //打开排行榜\r\n openRank(){\r\n cc.director.loadScene(\"RankScene\");\r\n }\r\n \r\n protected update(dt: number): void {\r\n }\r\n}\r\n"]} \ No newline at end of file +{"version":3,"sources":["assets\\Script\\Load.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;AACM,IAAA,KAAwC,EAAE,CAAC,UAAU,EAApD,OAAO,aAAA,EAAE,QAAQ,cAAA,EAAE,gBAAgB,sBAAiB,CAAC;AAG5D;IAAsC,4BAAY;IAAlD;QAAA,qEAiDC;QA9CG,eAAS,GAAY,KAAK,CAAC;QAG3B,uBAAiB,GAAW,OAAO,CAAC;QAGpC,iBAAW,GAAa,IAAI,CAAC;;IAwCjC,CAAC;IAtCG,wBAAK,GAAL;QACI,EAAE,CAAC,KAAK,CAAC,eAAe,CAAC,KAAK,CAAC,CAAC;QAChC,MAAM,CAAC,OAAO,EAAE,CAAC;QACjB,EAAE,CAAC,EAAE,CAAC,UAAU,CAAC,IAAI,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;QACtC,sCAAsC;QACtC,IAAI,CAAC,WAAW,CAAC,MAAM,GAAG,IAAI,CAAC,iBAAiB,CAAC;QACjD,IAAI,MAAM,GAAG,MAAM,CAAC,QAAQ,CAAC,IAAI,CAAC;QAClC,IAAG,IAAI,CAAC,aAAa,CAAC,MAAM,CAAC,EAAC;YAC1B,OAAO,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC;YACrB,IAAI,CAAC,IAAI,CAAC,cAAc,CAAC,MAAM,CAAC,CAAC,MAAM,GAAG,KAAK,CAAC;SACnD;aACG;YACA,OAAO,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC;SACxB;IACL,CAAC;IAED,MAAM;IACN,gCAAa,GAAb,UAAc,GAAG;QACb,OAAO,aAAa,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;IACnC,CAAC;IAED,cAAc;IACd,4BAAS,GAAT;QACI,EAAE,CAAC,QAAQ,CAAC,SAAS,CAAC,WAAW,CAAC,CAAC;QACnC,uCAAuC;IAC3C,CAAC;IACD,gBAAgB;IAChB,2BAAQ,GAAR,UAAS,KAAK,EAAC,IAAI;QACf,EAAE,CAAC,EAAE,CAAC,UAAU,CAAC,OAAO,CAAC,MAAM,GAAG,QAAQ,CAAC,IAAI,CAAC,CAAC;QACjD,EAAE,CAAC,QAAQ,CAAC,SAAS,CAAC,WAAW,CAAC,CAAC;IACvC,CAAC;IACD,OAAO;IACP,2BAAQ,GAAR;QACI,EAAE,CAAC,QAAQ,CAAC,SAAS,CAAC,WAAW,CAAC,CAAC;IACvC,CAAC;IAES,yBAAM,GAAhB,UAAiB,EAAU;IAC3B,CAAC;IA7CD;QADC,QAAQ,CAAC,KAAK,CAAC;+CACW;IAG3B;QADC,QAAQ,CAAC,EAAE,CAAC;uDACuB;IAGpC;QADC,QAAQ,CAAC,EAAE,CAAC,KAAK,CAAC;iDACU;IATZ,QAAQ;QAD5B,OAAO;OACa,QAAQ,CAiD5B;IAAD,eAAC;CAjDD,AAiDC,CAjDqC,EAAE,CAAC,SAAS,GAiDjD;kBAjDoB,QAAQ","file":"","sourceRoot":"/","sourcesContent":["\r\nconst {ccclass, property, requireComponent} = cc._decorator;\r\n\r\n@ccclass\r\nexport default class NewClass extends cc.Component {\r\n\r\n @property(false)\r\n localTest: boolean = false;\r\n\r\n @property(\"\")\r\n clientTestVersion: string = \"1.0.0\";\r\n\r\n @property(cc.Label)\r\n testVersion: cc.Label = null;\r\n\r\n start () {\r\n cc.debug.setDisplayStats(false);\r\n window.initMgr();\r\n cc.fx.GameConfig.init(this.localTest);\r\n // cc.fx.AudioManager.Instance.init();\r\n this.testVersion.string = this.clientTestVersion;\r\n var urlNow = window.location.href;\r\n if(this.containsTrain(urlNow)){\r\n console.log(\"无排行版本\");\r\n this.node.getChildByName(\"Rank\").active = false;\r\n }\r\n else{\r\n console.log(\"有排行版本\");\r\n }\r\n }\r\n\r\n //判断来源\r\n containsTrain(str) {\r\n return /from=train/i.test(str);\r\n }\r\n\r\n //开始游戏,跳转至引导页面\r\n startGame(){\r\n cc.director.loadScene(\"GameScene\");\r\n // cc.director.loadScene(\"GuideScene\");\r\n }\r\n //备用,用来测试跳转 指定关卡\r\n clickBtn(event,data){\r\n cc.fx.GameConfig.GM_INFO.custom = parseInt(data);\r\n cc.director.loadScene(\"GameScene\");\r\n } \r\n //打开排行榜\r\n openRank(){\r\n cc.director.loadScene(\"RankScene\");\r\n }\r\n \r\n protected update(dt: number): void {\r\n }\r\n}\r\n"]} \ No newline at end of file diff --git a/library/imports/4b/4b9c5a7e-c645-48a4-9aca-5df381ce4ef5.json b/library/imports/4b/4b9c5a7e-c645-48a4-9aca-5df381ce4ef5.json index f141595..f2c7279 100644 --- a/library/imports/4b/4b9c5a7e-c645-48a4-9aca-5df381ce4ef5.json +++ b/library/imports/4b/4b9c5a7e-c645-48a4-9aca-5df381ce4ef5.json @@ -90,9 +90,6 @@ { "__id__": 28 }, - { - "__id__": 30 - }, { "__id__": 32 }, @@ -100,31 +97,37 @@ "__id__": 34 }, { - "__id__": 54 + "__id__": 36 }, { - "__id__": 65 + "__id__": 38 }, { - "__id__": 76 + "__id__": 58 }, { - "__id__": 87 + "__id__": 69 }, { - "__id__": 100 + "__id__": 80 + }, + { + "__id__": 91 + }, + { + "__id__": 104 } ], "_active": true, "_components": [ { - "__id__": 113 + "__id__": 117 }, { - "__id__": 114 + "__id__": 118 }, { - "__id__": 115 + "__id__": 119 } ], "_prefab": null, @@ -1351,6 +1354,187 @@ "handler": "openRank", "customEventData": "" }, + { + "__type__": "cc.Node", + "_name": "finishi", + "_objFlags": 0, + "_parent": { + "__id__": 2 + }, + "_children": [], + "_active": false, + "_components": [ + { + "__id__": 29 + }, + { + "__id__": 30 + } + ], + "_prefab": null, + "_opacity": 255, + "_color": { + "__type__": "cc.Color", + "r": 255, + "g": 255, + "b": 255, + "a": 255 + }, + "_contentSize": { + "__type__": "cc.Size", + "width": 269, + "height": 74 + }, + "_anchorPoint": { + "__type__": "cc.Vec2", + "x": 0.5, + "y": 0.5 + }, + "_trs": { + "__type__": "TypedArray", + "ctor": "Float64Array", + "array": [ + 0, + -402.162, + 0, + 0, + 0, + 0, + 1, + 1, + 1, + 0 + ] + }, + "_eulerAngles": { + "__type__": "cc.Vec3", + "x": 0, + "y": 0, + "z": 0 + }, + "_skewX": 0, + "_skewY": 0, + "_is3DNode": false, + "_groupIndex": 0, + "groupIndex": 0, + "_id": "dbl8LticVJJbe6BSyGvvTq" + }, + { + "__type__": "cc.Sprite", + "_name": "", + "_objFlags": 0, + "node": { + "__id__": 28 + }, + "_enabled": true, + "_materials": [ + { + "__uuid__": "eca5d2f2-8ef6-41c2-bbe6-f9c79d09c432" + } + ], + "_srcBlendFactor": 770, + "_dstBlendFactor": 771, + "_spriteFrame": { + "__uuid__": "1b982a20-7926-44fc-80aa-d96fa01d06ae" + }, + "_type": 0, + "_sizeMode": 1, + "_fillType": 0, + "_fillCenter": { + "__type__": "cc.Vec2", + "x": 0, + "y": 0 + }, + "_fillStart": 0, + "_fillRange": 0, + "_isTrimmedMode": true, + "_atlas": null, + "_id": "96siHyJz1BYYtdjvhhErCL" + }, + { + "__type__": "cc.Button", + "_name": "", + "_objFlags": 0, + "node": { + "__id__": 28 + }, + "_enabled": true, + "_normalMaterial": null, + "_grayMaterial": null, + "duration": 0.1, + "zoomScale": 1.1, + "clickEvents": [ + { + "__id__": 31 + } + ], + "_N$interactable": true, + "_N$enableAutoGrayEffect": false, + "_N$transition": 3, + "transition": 3, + "_N$normalColor": { + "__type__": "cc.Color", + "r": 255, + "g": 255, + "b": 255, + "a": 255 + }, + "_N$pressedColor": { + "__type__": "cc.Color", + "r": 211, + "g": 211, + "b": 211, + "a": 255 + }, + "pressedColor": { + "__type__": "cc.Color", + "r": 211, + "g": 211, + "b": 211, + "a": 255 + }, + "_N$hoverColor": { + "__type__": "cc.Color", + "r": 255, + "g": 255, + "b": 255, + "a": 255 + }, + "hoverColor": { + "__type__": "cc.Color", + "r": 255, + "g": 255, + "b": 255, + "a": 255 + }, + "_N$disabledColor": { + "__type__": "cc.Color", + "r": 124, + "g": 124, + "b": 124, + "a": 255 + }, + "_N$normalSprite": null, + "_N$pressedSprite": null, + "pressedSprite": null, + "_N$hoverSprite": null, + "hoverSprite": null, + "_N$disabledSprite": null, + "_N$target": { + "__id__": 28 + }, + "_id": "3eXpav43tCS4Lr0W8BQTu1" + }, + { + "__type__": "cc.ClickEvent", + "target": { + "__id__": 2 + }, + "component": "", + "_componentId": "805c6nf399HWZeuWnNB9CTH", + "handler": "jumpFinishi", + "customEventData": "" + }, { "__type__": "cc.Node", "_name": "count", @@ -1362,7 +1546,7 @@ "_active": true, "_components": [ { - "__id__": 29 + "__id__": 33 } ], "_prefab": null, @@ -1418,7 +1602,7 @@ "_name": "", "_objFlags": 0, "node": { - "__id__": 28 + "__id__": 32 }, "_enabled": true, "_materials": [ @@ -1459,7 +1643,7 @@ "_active": true, "_components": [ { - "__id__": 31 + "__id__": 35 } ], "_prefab": null, @@ -1515,7 +1699,7 @@ "_name": "", "_objFlags": 0, "node": { - "__id__": 30 + "__id__": 34 }, "_enabled": true, "_materials": [ @@ -1556,7 +1740,7 @@ "_active": true, "_components": [ { - "__id__": 33 + "__id__": 37 } ], "_prefab": null, @@ -1612,7 +1796,7 @@ "_name": "", "_objFlags": 0, "node": { - "__id__": 32 + "__id__": 36 }, "_enabled": true, "_materials": [ @@ -1649,15 +1833,9 @@ "__id__": 2 }, "_children": [ - { - "__id__": 35 - }, { "__id__": 39 }, - { - "__id__": 41 - }, { "__id__": 43 }, @@ -1666,6 +1844,12 @@ }, { "__id__": 47 + }, + { + "__id__": 49 + }, + { + "__id__": 51 } ], "_active": true, @@ -1723,17 +1907,17 @@ "_name": "pic", "_objFlags": 0, "_parent": { - "__id__": 34 + "__id__": 38 }, "_children": [ { - "__id__": 36 + "__id__": 40 } ], "_active": true, "_components": [ { - "__id__": 38 + "__id__": 42 } ], "_prefab": null, @@ -1789,13 +1973,13 @@ "_name": "icon", "_objFlags": 0, "_parent": { - "__id__": 35 + "__id__": 39 }, "_children": [], "_active": true, "_components": [ { - "__id__": 37 + "__id__": 41 } ], "_prefab": null, @@ -1851,7 +2035,7 @@ "_name": "", "_objFlags": 0, "node": { - "__id__": 36 + "__id__": 40 }, "_enabled": true, "_materials": [ @@ -1881,7 +2065,7 @@ "_name": "", "_objFlags": 0, "node": { - "__id__": 35 + "__id__": 39 }, "_enabled": true, "_materials": [ @@ -1901,13 +2085,13 @@ "_name": "rankBg", "_objFlags": 0, "_parent": { - "__id__": 34 + "__id__": 38 }, "_children": [], "_active": true, "_components": [ { - "__id__": 40 + "__id__": 44 } ], "_prefab": null, @@ -1963,7 +2147,7 @@ "_name": "", "_objFlags": 0, "node": { - "__id__": 39 + "__id__": 43 }, "_enabled": true, "_materials": [ @@ -1993,13 +2177,13 @@ "_name": "totalLab", "_objFlags": 0, "_parent": { - "__id__": 34 + "__id__": 38 }, "_children": [], "_active": true, "_components": [ { - "__id__": 42 + "__id__": 46 } ], "_prefab": null, @@ -2055,7 +2239,7 @@ "_name": "", "_objFlags": 0, "node": { - "__id__": 41 + "__id__": 45 }, "_enabled": true, "_materials": [ @@ -2088,13 +2272,13 @@ "_name": "nameLab", "_objFlags": 0, "_parent": { - "__id__": 34 + "__id__": 38 }, "_children": [], "_active": true, "_components": [ { - "__id__": 44 + "__id__": 48 } ], "_prefab": null, @@ -2150,7 +2334,7 @@ "_name": "", "_objFlags": 0, "node": { - "__id__": 43 + "__id__": 47 }, "_enabled": true, "_materials": [ @@ -2183,13 +2367,13 @@ "_name": "rankLab", "_objFlags": 0, "_parent": { - "__id__": 34 + "__id__": 38 }, "_children": [], "_active": true, "_components": [ { - "__id__": 46 + "__id__": 50 } ], "_prefab": null, @@ -2245,7 +2429,7 @@ "_name": "", "_objFlags": 0, "node": { - "__id__": 45 + "__id__": 49 }, "_enabled": true, "_materials": [ @@ -2278,17 +2462,17 @@ "_name": "rank", "_objFlags": 0, "_parent": { - "__id__": 34 + "__id__": 38 }, "_children": [ - { - "__id__": 48 - }, - { - "__id__": 50 - }, { "__id__": 52 + }, + { + "__id__": 54 + }, + { + "__id__": 56 } ], "_active": true, @@ -2346,13 +2530,13 @@ "_name": "one", "_objFlags": 0, "_parent": { - "__id__": 47 + "__id__": 51 }, "_children": [], "_active": false, "_components": [ { - "__id__": 49 + "__id__": 53 } ], "_prefab": null, @@ -2408,7 +2592,7 @@ "_name": "", "_objFlags": 0, "node": { - "__id__": 48 + "__id__": 52 }, "_enabled": true, "_materials": [ @@ -2438,13 +2622,13 @@ "_name": "two", "_objFlags": 0, "_parent": { - "__id__": 47 + "__id__": 51 }, "_children": [], "_active": false, "_components": [ { - "__id__": 51 + "__id__": 55 } ], "_prefab": null, @@ -2500,7 +2684,7 @@ "_name": "", "_objFlags": 0, "node": { - "__id__": 50 + "__id__": 54 }, "_enabled": true, "_materials": [ @@ -2530,13 +2714,13 @@ "_name": "three", "_objFlags": 0, "_parent": { - "__id__": 47 + "__id__": 51 }, "_children": [], "_active": false, "_components": [ { - "__id__": 53 + "__id__": 57 } ], "_prefab": null, @@ -2592,7 +2776,7 @@ "_name": "", "_objFlags": 0, "node": { - "__id__": 52 + "__id__": 56 }, "_enabled": true, "_materials": [ @@ -2625,17 +2809,17 @@ "__id__": 2 }, "_children": [ - { - "__id__": 55 - }, { "__id__": 59 }, { - "__id__": 61 + "__id__": 63 }, { - "__id__": 63 + "__id__": 65 + }, + { + "__id__": 67 } ], "_active": true, @@ -2693,17 +2877,17 @@ "_name": "pic", "_objFlags": 0, "_parent": { - "__id__": 54 + "__id__": 58 }, "_children": [ { - "__id__": 56 + "__id__": 60 } ], "_active": true, "_components": [ { - "__id__": 58 + "__id__": 62 } ], "_prefab": null, @@ -2759,13 +2943,13 @@ "_name": "icon", "_objFlags": 0, "_parent": { - "__id__": 55 + "__id__": 59 }, "_children": [], "_active": true, "_components": [ { - "__id__": 57 + "__id__": 61 } ], "_prefab": null, @@ -2821,7 +3005,7 @@ "_name": "", "_objFlags": 0, "node": { - "__id__": 56 + "__id__": 60 }, "_enabled": true, "_materials": [ @@ -2851,7 +3035,7 @@ "_name": "", "_objFlags": 0, "node": { - "__id__": 55 + "__id__": 59 }, "_enabled": true, "_materials": [ @@ -2871,13 +3055,13 @@ "_name": "rankBg", "_objFlags": 0, "_parent": { - "__id__": 54 + "__id__": 58 }, "_children": [], "_active": true, "_components": [ { - "__id__": 60 + "__id__": 64 } ], "_prefab": null, @@ -2933,7 +3117,7 @@ "_name": "", "_objFlags": 0, "node": { - "__id__": 59 + "__id__": 63 }, "_enabled": true, "_materials": [ @@ -2967,13 +3151,13 @@ "_name": "total", "_objFlags": 0, "_parent": { - "__id__": 54 + "__id__": 58 }, "_children": [], "_active": true, "_components": [ { - "__id__": 62 + "__id__": 66 } ], "_prefab": null, @@ -3029,7 +3213,7 @@ "_name": "", "_objFlags": 0, "node": { - "__id__": 61 + "__id__": 65 }, "_enabled": true, "_materials": [ @@ -3062,13 +3246,13 @@ "_name": "name", "_objFlags": 0, "_parent": { - "__id__": 54 + "__id__": 58 }, "_children": [], "_active": true, "_components": [ { - "__id__": 64 + "__id__": 68 } ], "_prefab": null, @@ -3124,7 +3308,7 @@ "_name": "", "_objFlags": 0, "node": { - "__id__": 63 + "__id__": 67 }, "_enabled": true, "_materials": [ @@ -3160,17 +3344,17 @@ "__id__": 2 }, "_children": [ - { - "__id__": 66 - }, { "__id__": 70 }, { - "__id__": 72 + "__id__": 74 }, { - "__id__": 74 + "__id__": 76 + }, + { + "__id__": 78 } ], "_active": true, @@ -3228,17 +3412,17 @@ "_name": "pic", "_objFlags": 0, "_parent": { - "__id__": 65 + "__id__": 69 }, "_children": [ { - "__id__": 67 + "__id__": 71 } ], "_active": true, "_components": [ { - "__id__": 69 + "__id__": 73 } ], "_prefab": null, @@ -3294,13 +3478,13 @@ "_name": "icon", "_objFlags": 0, "_parent": { - "__id__": 66 + "__id__": 70 }, "_children": [], "_active": true, "_components": [ { - "__id__": 68 + "__id__": 72 } ], "_prefab": null, @@ -3356,7 +3540,7 @@ "_name": "", "_objFlags": 0, "node": { - "__id__": 67 + "__id__": 71 }, "_enabled": true, "_materials": [ @@ -3386,7 +3570,7 @@ "_name": "", "_objFlags": 0, "node": { - "__id__": 66 + "__id__": 70 }, "_enabled": true, "_materials": [ @@ -3406,13 +3590,13 @@ "_name": "rankBg", "_objFlags": 0, "_parent": { - "__id__": 65 + "__id__": 69 }, "_children": [], "_active": true, "_components": [ { - "__id__": 71 + "__id__": 75 } ], "_prefab": null, @@ -3468,7 +3652,7 @@ "_name": "", "_objFlags": 0, "node": { - "__id__": 70 + "__id__": 74 }, "_enabled": true, "_materials": [ @@ -3502,13 +3686,13 @@ "_name": "total", "_objFlags": 0, "_parent": { - "__id__": 65 + "__id__": 69 }, "_children": [], "_active": true, "_components": [ { - "__id__": 73 + "__id__": 77 } ], "_prefab": null, @@ -3564,7 +3748,7 @@ "_name": "", "_objFlags": 0, "node": { - "__id__": 72 + "__id__": 76 }, "_enabled": true, "_materials": [ @@ -3597,13 +3781,13 @@ "_name": "name", "_objFlags": 0, "_parent": { - "__id__": 65 + "__id__": 69 }, "_children": [], "_active": true, "_components": [ { - "__id__": 75 + "__id__": 79 } ], "_prefab": null, @@ -3659,7 +3843,7 @@ "_name": "", "_objFlags": 0, "node": { - "__id__": 74 + "__id__": 78 }, "_enabled": true, "_materials": [ @@ -3695,17 +3879,17 @@ "__id__": 2 }, "_children": [ - { - "__id__": 77 - }, { "__id__": 81 }, { - "__id__": 83 + "__id__": 85 }, { - "__id__": 85 + "__id__": 87 + }, + { + "__id__": 89 } ], "_active": true, @@ -3763,17 +3947,17 @@ "_name": "pic", "_objFlags": 0, "_parent": { - "__id__": 76 + "__id__": 80 }, "_children": [ { - "__id__": 78 + "__id__": 82 } ], "_active": true, "_components": [ { - "__id__": 80 + "__id__": 84 } ], "_prefab": null, @@ -3829,13 +4013,13 @@ "_name": "icon", "_objFlags": 0, "_parent": { - "__id__": 77 + "__id__": 81 }, "_children": [], "_active": true, "_components": [ { - "__id__": 79 + "__id__": 83 } ], "_prefab": null, @@ -3891,7 +4075,7 @@ "_name": "", "_objFlags": 0, "node": { - "__id__": 78 + "__id__": 82 }, "_enabled": true, "_materials": [ @@ -3921,7 +4105,7 @@ "_name": "", "_objFlags": 0, "node": { - "__id__": 77 + "__id__": 81 }, "_enabled": true, "_materials": [ @@ -3941,13 +4125,13 @@ "_name": "rankBg", "_objFlags": 0, "_parent": { - "__id__": 76 + "__id__": 80 }, "_children": [], "_active": true, "_components": [ { - "__id__": 82 + "__id__": 86 } ], "_prefab": null, @@ -4003,7 +4187,7 @@ "_name": "", "_objFlags": 0, "node": { - "__id__": 81 + "__id__": 85 }, "_enabled": true, "_materials": [ @@ -4037,13 +4221,13 @@ "_name": "total", "_objFlags": 0, "_parent": { - "__id__": 76 + "__id__": 80 }, "_children": [], "_active": true, "_components": [ { - "__id__": 84 + "__id__": 88 } ], "_prefab": null, @@ -4099,7 +4283,7 @@ "_name": "", "_objFlags": 0, "node": { - "__id__": 83 + "__id__": 87 }, "_enabled": true, "_materials": [ @@ -4132,13 +4316,13 @@ "_name": "name", "_objFlags": 0, "_parent": { - "__id__": 76 + "__id__": 80 }, "_children": [], "_active": true, "_components": [ { - "__id__": 86 + "__id__": 90 } ], "_prefab": null, @@ -4194,7 +4378,7 @@ "_name": "", "_objFlags": 0, "node": { - "__id__": 85 + "__id__": 89 }, "_enabled": true, "_materials": [ @@ -4230,20 +4414,20 @@ "__id__": 2 }, "_children": [ - { - "__id__": 88 - }, { "__id__": 92 }, - { - "__id__": 94 - }, { "__id__": 96 }, { "__id__": 98 + }, + { + "__id__": 100 + }, + { + "__id__": 102 } ], "_active": true, @@ -4301,17 +4485,17 @@ "_name": "pic", "_objFlags": 0, "_parent": { - "__id__": 87 + "__id__": 91 }, "_children": [ { - "__id__": 89 + "__id__": 93 } ], "_active": true, "_components": [ { - "__id__": 91 + "__id__": 95 } ], "_prefab": null, @@ -4367,13 +4551,13 @@ "_name": "icon", "_objFlags": 0, "_parent": { - "__id__": 88 + "__id__": 92 }, "_children": [], "_active": true, "_components": [ { - "__id__": 90 + "__id__": 94 } ], "_prefab": null, @@ -4429,7 +4613,7 @@ "_name": "", "_objFlags": 0, "node": { - "__id__": 89 + "__id__": 93 }, "_enabled": true, "_materials": [ @@ -4459,7 +4643,7 @@ "_name": "", "_objFlags": 0, "node": { - "__id__": 88 + "__id__": 92 }, "_enabled": true, "_materials": [ @@ -4479,13 +4663,13 @@ "_name": "rankBg", "_objFlags": 0, "_parent": { - "__id__": 87 + "__id__": 91 }, "_children": [], "_active": true, "_components": [ { - "__id__": 93 + "__id__": 97 } ], "_prefab": null, @@ -4541,7 +4725,7 @@ "_name": "", "_objFlags": 0, "node": { - "__id__": 92 + "__id__": 96 }, "_enabled": true, "_materials": [ @@ -4571,13 +4755,13 @@ "_name": "total", "_objFlags": 0, "_parent": { - "__id__": 87 + "__id__": 91 }, "_children": [], "_active": true, "_components": [ { - "__id__": 95 + "__id__": 99 } ], "_prefab": null, @@ -4633,7 +4817,7 @@ "_name": "", "_objFlags": 0, "node": { - "__id__": 94 + "__id__": 98 }, "_enabled": true, "_materials": [ @@ -4666,13 +4850,13 @@ "_name": "name", "_objFlags": 0, "_parent": { - "__id__": 87 + "__id__": 91 }, "_children": [], "_active": true, "_components": [ { - "__id__": 97 + "__id__": 101 } ], "_prefab": null, @@ -4728,7 +4912,7 @@ "_name": "", "_objFlags": 0, "node": { - "__id__": 96 + "__id__": 100 }, "_enabled": true, "_materials": [ @@ -4761,13 +4945,13 @@ "_name": "rank", "_objFlags": 0, "_parent": { - "__id__": 87 + "__id__": 91 }, "_children": [], "_active": true, "_components": [ { - "__id__": 99 + "__id__": 103 } ], "_prefab": null, @@ -4823,7 +5007,7 @@ "_name": "", "_objFlags": 0, "node": { - "__id__": 98 + "__id__": 102 }, "_enabled": true, "_materials": [ @@ -4859,20 +5043,20 @@ "__id__": 2 }, "_children": [ - { - "__id__": 101 - }, { "__id__": 105 }, - { - "__id__": 107 - }, { "__id__": 109 }, { "__id__": 111 + }, + { + "__id__": 113 + }, + { + "__id__": 115 } ], "_active": true, @@ -4930,17 +5114,17 @@ "_name": "pic", "_objFlags": 0, "_parent": { - "__id__": 100 + "__id__": 104 }, "_children": [ { - "__id__": 102 + "__id__": 106 } ], "_active": true, "_components": [ { - "__id__": 104 + "__id__": 108 } ], "_prefab": null, @@ -4996,13 +5180,13 @@ "_name": "icon", "_objFlags": 0, "_parent": { - "__id__": 101 + "__id__": 105 }, "_children": [], "_active": true, "_components": [ { - "__id__": 103 + "__id__": 107 } ], "_prefab": null, @@ -5058,7 +5242,7 @@ "_name": "", "_objFlags": 0, "node": { - "__id__": 102 + "__id__": 106 }, "_enabled": true, "_materials": [ @@ -5088,7 +5272,7 @@ "_name": "", "_objFlags": 0, "node": { - "__id__": 101 + "__id__": 105 }, "_enabled": true, "_materials": [ @@ -5108,13 +5292,13 @@ "_name": "rankBg", "_objFlags": 0, "_parent": { - "__id__": 100 + "__id__": 104 }, "_children": [], "_active": true, "_components": [ { - "__id__": 106 + "__id__": 110 } ], "_prefab": null, @@ -5170,7 +5354,7 @@ "_name": "", "_objFlags": 0, "node": { - "__id__": 105 + "__id__": 109 }, "_enabled": true, "_materials": [ @@ -5200,13 +5384,13 @@ "_name": "total", "_objFlags": 0, "_parent": { - "__id__": 100 + "__id__": 104 }, "_children": [], "_active": true, "_components": [ { - "__id__": 108 + "__id__": 112 } ], "_prefab": null, @@ -5262,7 +5446,7 @@ "_name": "", "_objFlags": 0, "node": { - "__id__": 107 + "__id__": 111 }, "_enabled": true, "_materials": [ @@ -5295,13 +5479,13 @@ "_name": "name", "_objFlags": 0, "_parent": { - "__id__": 100 + "__id__": 104 }, "_children": [], "_active": true, "_components": [ { - "__id__": 110 + "__id__": 114 } ], "_prefab": null, @@ -5357,7 +5541,7 @@ "_name": "", "_objFlags": 0, "node": { - "__id__": 109 + "__id__": 113 }, "_enabled": true, "_materials": [ @@ -5390,13 +5574,13 @@ "_name": "rank", "_objFlags": 0, "_parent": { - "__id__": 100 + "__id__": 104 }, "_children": [], "_active": true, "_components": [ { - "__id__": 112 + "__id__": 116 } ], "_prefab": null, @@ -5452,7 +5636,7 @@ "_name": "", "_objFlags": 0, "node": { - "__id__": 111 + "__id__": 115 }, "_enabled": true, "_materials": [ @@ -5533,28 +5717,28 @@ }, "_enabled": true, "count": { - "__id__": 29 + "__id__": 33 }, "time": { - "__id__": 31 + "__id__": 35 }, "selfNode": { - "__id__": 34 + "__id__": 38 }, "one": { - "__id__": 54 + "__id__": 58 }, "two": { - "__id__": 65 + "__id__": 69 }, "three": { - "__id__": 76 + "__id__": 80 }, "four": { - "__id__": 87 + "__id__": 91 }, "five": { - "__id__": 100 + "__id__": 104 }, "_id": "f9bq3mWw5JoYQRI0zhq8ue" } diff --git a/library/imports/4e/4eaf518b-35ec-4262-928d-4d497c3f2830.json b/library/imports/4e/4eaf518b-35ec-4262-928d-4d497c3f2830.json index 31bc1d1..abd5655 100644 --- a/library/imports/4e/4eaf518b-35ec-4262-928d-4d497c3f2830.json +++ b/library/imports/4e/4eaf518b-35ec-4262-928d-4d497c3f2830.json @@ -79,10 +79,10 @@ "_active": true, "_components": [ { - "__id__": 722 + "__id__": 740 }, { - "__id__": 723 + "__id__": 741 } ], "_prefab": null, @@ -264,16 +264,16 @@ "__id__": 108 }, { - "__id__": 707 + "__id__": 725 } ], "_active": true, "_components": [ { - "__id__": 720 + "__id__": 738 }, { - "__id__": 721 + "__id__": 739 } ], "_prefab": null, @@ -1723,36 +1723,24 @@ "_id": "a26Us7Z+BKSbruLISM/Y0C" }, { - "__type__": "cc.Sprite", + "__type__": "cc.Mask", "_name": "", "_objFlags": 0, "node": { "__id__": 34 }, - "_enabled": false, + "_enabled": true, "_materials": [ { "__uuid__": "eca5d2f2-8ef6-41c2-bbe6-f9c79d09c432" } ], - "_srcBlendFactor": 770, - "_dstBlendFactor": 771, - "_spriteFrame": { - "__uuid__": "a23235d1-15db-4b95-8439-a2e005bfff91" - }, + "_spriteFrame": null, "_type": 0, - "_sizeMode": 0, - "_fillType": 0, - "_fillCenter": { - "__type__": "cc.Vec2", - "x": 0, - "y": 0 - }, - "_fillStart": 0, - "_fillRange": 0, - "_isTrimmedMode": true, - "_atlas": null, - "_id": "8fVrlovlxCXqQDxQ+6+8Rz" + "_segments": 64, + "_N$alphaThreshold": 0.1, + "_N$inverted": false, + "_id": "4c5tf4oLBHyK79E0UBN1lY" }, { "__type__": "cc.Node", @@ -5258,46 +5246,46 @@ "__id__": 219 }, { - "__id__": 262 + "__id__": 264 }, { - "__id__": 305 + "__id__": 309 }, { - "__id__": 336 + "__id__": 340 }, { - "__id__": 371 + "__id__": 375 }, { - "__id__": 406 + "__id__": 410 }, { - "__id__": 444 + "__id__": 450 }, { - "__id__": 488 + "__id__": 494 }, { - "__id__": 531 + "__id__": 539 }, { - "__id__": 569 + "__id__": 579 }, { - "__id__": 612 + "__id__": 624 }, { - "__id__": 645 + "__id__": 659 }, { - "__id__": 683 + "__id__": 699 } ], "_active": true, "_components": [ { - "__id__": 706 + "__id__": 724 } ], "_prefab": null, @@ -9812,7 +9800,7 @@ "_active": false, "_components": [ { - "__id__": 261 + "__id__": 263 } ], "_prefab": null, @@ -10926,12 +10914,15 @@ }, { "__id__": 258 + }, + { + "__id__": 260 } ], "_active": true, "_components": [ { - "__id__": 260 + "__id__": 262 } ], "_prefab": null, @@ -11096,15 +11087,15 @@ "_opacity": 255, "_color": { "__type__": "cc.Color", - "r": 0, - "g": 0, - "b": 0, + "r": 74, + "g": 59, + "b": 59, "a": 255 }, "_contentSize": { "__type__": "cc.Size", - "width": 360, - "height": 135.6 + "width": 365.7, + "height": 195.6 }, "_anchorPoint": { "__type__": "cc.Vec2", @@ -11155,8 +11146,8 @@ ], "_srcBlendFactor": 770, "_dstBlendFactor": 771, - "_string": "修建到山峰上会导致\n直接失败,避开它吧", - "_N$string": "修建到山峰上会导致\n直接失败,避开它吧", + "_string": "修建到山峰上会导致\n直接失败, \n避开它吧", + "_N$string": "修建到山峰上会导致\n直接失败, \n避开它吧", "_fontSize": 40, "_lineHeight": 60, "_enableWrapText": true, @@ -11175,6 +11166,103 @@ "_N$cacheMode": 0, "_id": "89QB/v+ftCf4OQYXVxOh1R" }, + { + "__type__": "cc.Node", + "_name": "content", + "_objFlags": 0, + "_parent": { + "__id__": 255 + }, + "_children": [], + "_active": true, + "_components": [ + { + "__id__": 261 + } + ], + "_prefab": null, + "_opacity": 255, + "_color": { + "__type__": "cc.Color", + "r": 211, + "g": 70, + "b": 70, + "a": 255 + }, + "_contentSize": { + "__type__": "cc.Size", + "width": 401.21, + "height": 195.6 + }, + "_anchorPoint": { + "__type__": "cc.Vec2", + "x": 0.5, + "y": 0.5 + }, + "_trs": { + "__type__": "TypedArray", + "ctor": "Float64Array", + "array": [ + 6.279, + 0, + 0, + 0, + 0, + 0, + 1, + 1, + 1, + 1 + ] + }, + "_eulerAngles": { + "__type__": "cc.Vec3", + "x": 0, + "y": 0, + "z": 0 + }, + "_skewX": 0, + "_skewY": 0, + "_is3DNode": false, + "_groupIndex": 0, + "groupIndex": 0, + "_id": "d5X+nqNjJGlYJ/cJt7YUzR" + }, + { + "__type__": "cc.Label", + "_name": "", + "_objFlags": 0, + "node": { + "__id__": 260 + }, + "_enabled": true, + "_materials": [ + { + "__uuid__": "eca5d2f2-8ef6-41c2-bbe6-f9c79d09c432" + } + ], + "_srcBlendFactor": 770, + "_dstBlendFactor": 771, + "_string": "\n 点击“上”\n", + "_N$string": "\n 点击“上”\n", + "_fontSize": 40, + "_lineHeight": 60, + "_enableWrapText": true, + "_N$file": { + "__uuid__": "95d22fe7-7d01-4c03-bd3a-334278db3d92" + }, + "_isSystemFontUsed": false, + "_spacingX": 0, + "_batchAsBitmap": false, + "_styleFlags": 0, + "_underlineHeight": 0, + "_N$horizontalAlign": 1, + "_N$verticalAlign": 1, + "_N$fontFamily": "Arial", + "_N$overflow": 0, + "_N$cacheMode": 0, + "_id": "d2qNx0dchBqYf/R5B7oeOP" + }, { "__type__": "cc.Sprite", "_name": "", @@ -11245,34 +11333,34 @@ }, "_children": [ { - "__id__": 263 + "__id__": 265 }, { - "__id__": 268 + "__id__": 270 }, { - "__id__": 273 + "__id__": 275 }, { - "__id__": 278 + "__id__": 280 }, { - "__id__": 283 + "__id__": 285 }, { - "__id__": 288 + "__id__": 290 }, { - "__id__": 293 + "__id__": 295 }, { - "__id__": 298 + "__id__": 300 } ], "_active": false, "_components": [ { - "__id__": 304 + "__id__": 308 } ], "_prefab": null, @@ -11328,22 +11416,22 @@ "_name": "New Sprite(Splash)", "_objFlags": 0, "_parent": { - "__id__": 262 + "__id__": 264 }, "_children": [], "_active": true, "_components": [ - { - "__id__": 264 - }, - { - "__id__": 265 - }, { "__id__": 266 }, { "__id__": 267 + }, + { + "__id__": 268 + }, + { + "__id__": 269 } ], "_prefab": null, @@ -11399,7 +11487,7 @@ "_name": "", "_objFlags": 0, "node": { - "__id__": 263 + "__id__": 265 }, "_enabled": true, "_materials": [ @@ -11431,7 +11519,7 @@ "_name": "", "_objFlags": 0, "node": { - "__id__": 263 + "__id__": 265 }, "_enabled": true, "alignMode": 1, @@ -11458,7 +11546,7 @@ "_name": "", "_objFlags": 0, "node": { - "__id__": 263 + "__id__": 265 }, "_enabled": true, "_id": "b9RxXVJFpBxakOydFnH8Dy" @@ -11468,7 +11556,7 @@ "_name": "", "_objFlags": 0, "node": { - "__id__": 263 + "__id__": 265 }, "_enabled": true, "_id": "bcDda5dZVHkLLB+fZHGIzK" @@ -11478,22 +11566,22 @@ "_name": "sp", "_objFlags": 0, "_parent": { - "__id__": 262 + "__id__": 264 }, "_children": [], "_active": true, "_components": [ - { - "__id__": 269 - }, - { - "__id__": 270 - }, { "__id__": 271 }, { "__id__": 272 + }, + { + "__id__": 273 + }, + { + "__id__": 274 } ], "_prefab": null, @@ -11549,7 +11637,7 @@ "_name": "", "_objFlags": 0, "node": { - "__id__": 268 + "__id__": 270 }, "_enabled": true, "_materials": [ @@ -11581,7 +11669,7 @@ "_name": "", "_objFlags": 0, "node": { - "__id__": 268 + "__id__": 270 }, "_enabled": true, "alignMode": 1, @@ -11608,7 +11696,7 @@ "_name": "", "_objFlags": 0, "node": { - "__id__": 268 + "__id__": 270 }, "_enabled": true, "_id": "7dHKdC79ZFq4Th3R+0o/UM" @@ -11618,7 +11706,7 @@ "_name": "", "_objFlags": 0, "node": { - "__id__": 268 + "__id__": 270 }, "_enabled": true, "_id": "8dMvWVKu5BQr0gOHNqJ18P" @@ -11628,22 +11716,22 @@ "_name": "New Sprite(Splash)", "_objFlags": 0, "_parent": { - "__id__": 262 + "__id__": 264 }, "_children": [], "_active": true, "_components": [ - { - "__id__": 274 - }, - { - "__id__": 275 - }, { "__id__": 276 }, { "__id__": 277 + }, + { + "__id__": 278 + }, + { + "__id__": 279 } ], "_prefab": null, @@ -11699,7 +11787,7 @@ "_name": "", "_objFlags": 0, "node": { - "__id__": 273 + "__id__": 275 }, "_enabled": true, "_materials": [ @@ -11731,7 +11819,7 @@ "_name": "", "_objFlags": 0, "node": { - "__id__": 273 + "__id__": 275 }, "_enabled": true, "alignMode": 1, @@ -11758,7 +11846,7 @@ "_name": "", "_objFlags": 0, "node": { - "__id__": 273 + "__id__": 275 }, "_enabled": true, "_id": "abbJinTjJJVZLQVvYuzzR9" @@ -11768,7 +11856,7 @@ "_name": "", "_objFlags": 0, "node": { - "__id__": 273 + "__id__": 275 }, "_enabled": true, "_id": "b4EXxKzf5Ego1gKuTQd/4i" @@ -11778,22 +11866,22 @@ "_name": "New Sprite(Splash)", "_objFlags": 0, "_parent": { - "__id__": 262 + "__id__": 264 }, "_children": [], "_active": true, "_components": [ - { - "__id__": 279 - }, - { - "__id__": 280 - }, { "__id__": 281 }, { "__id__": 282 + }, + { + "__id__": 283 + }, + { + "__id__": 284 } ], "_prefab": null, @@ -11849,7 +11937,7 @@ "_name": "", "_objFlags": 0, "node": { - "__id__": 278 + "__id__": 280 }, "_enabled": true, "_materials": [ @@ -11881,7 +11969,7 @@ "_name": "", "_objFlags": 0, "node": { - "__id__": 278 + "__id__": 280 }, "_enabled": true, "alignMode": 1, @@ -11908,7 +11996,7 @@ "_name": "", "_objFlags": 0, "node": { - "__id__": 278 + "__id__": 280 }, "_enabled": true, "_id": "09SzrjPpxPZKhY668E2CYw" @@ -11918,7 +12006,7 @@ "_name": "", "_objFlags": 0, "node": { - "__id__": 278 + "__id__": 280 }, "_enabled": true, "_id": "2d8dgxHkVPNb/RmKvn74wy" @@ -11928,22 +12016,22 @@ "_name": "New Sprite(Splash)", "_objFlags": 0, "_parent": { - "__id__": 262 + "__id__": 264 }, "_children": [], "_active": true, "_components": [ - { - "__id__": 284 - }, - { - "__id__": 285 - }, { "__id__": 286 }, { "__id__": 287 + }, + { + "__id__": 288 + }, + { + "__id__": 289 } ], "_prefab": null, @@ -11999,7 +12087,7 @@ "_name": "", "_objFlags": 0, "node": { - "__id__": 283 + "__id__": 285 }, "_enabled": true, "_materials": [ @@ -12031,7 +12119,7 @@ "_name": "", "_objFlags": 0, "node": { - "__id__": 283 + "__id__": 285 }, "_enabled": true, "alignMode": 1, @@ -12058,7 +12146,7 @@ "_name": "", "_objFlags": 0, "node": { - "__id__": 283 + "__id__": 285 }, "_enabled": true, "_id": "aeZvkkGNxDUaLuZp/Jnkca" @@ -12068,7 +12156,7 @@ "_name": "", "_objFlags": 0, "node": { - "__id__": 283 + "__id__": 285 }, "_enabled": true, "_id": "9e2mMoUrRPgoKfZQGwId+G" @@ -12078,22 +12166,22 @@ "_name": "New Sprite(Splash)", "_objFlags": 0, "_parent": { - "__id__": 262 + "__id__": 264 }, "_children": [], "_active": true, "_components": [ - { - "__id__": 289 - }, - { - "__id__": 290 - }, { "__id__": 291 }, { "__id__": 292 + }, + { + "__id__": 293 + }, + { + "__id__": 294 } ], "_prefab": null, @@ -12149,7 +12237,7 @@ "_name": "", "_objFlags": 0, "node": { - "__id__": 288 + "__id__": 290 }, "_enabled": true, "_materials": [ @@ -12181,7 +12269,7 @@ "_name": "", "_objFlags": 0, "node": { - "__id__": 288 + "__id__": 290 }, "_enabled": true, "alignMode": 1, @@ -12208,7 +12296,7 @@ "_name": "", "_objFlags": 0, "node": { - "__id__": 288 + "__id__": 290 }, "_enabled": true, "_id": "70gRTlBJ5EA7ao4wGBu2IJ" @@ -12218,7 +12306,7 @@ "_name": "", "_objFlags": 0, "node": { - "__id__": 288 + "__id__": 290 }, "_enabled": true, "_id": "d5un3Zvj5DrbZmSckj5oRv" @@ -12228,22 +12316,22 @@ "_name": "New Sprite(Splash)", "_objFlags": 0, "_parent": { - "__id__": 262 + "__id__": 264 }, "_children": [], "_active": true, "_components": [ - { - "__id__": 294 - }, - { - "__id__": 295 - }, { "__id__": 296 }, { "__id__": 297 + }, + { + "__id__": 298 + }, + { + "__id__": 299 } ], "_prefab": null, @@ -12299,7 +12387,7 @@ "_name": "", "_objFlags": 0, "node": { - "__id__": 293 + "__id__": 295 }, "_enabled": true, "_materials": [ @@ -12331,7 +12419,7 @@ "_name": "", "_objFlags": 0, "node": { - "__id__": 293 + "__id__": 295 }, "_enabled": true, "alignMode": 1, @@ -12358,7 +12446,7 @@ "_name": "", "_objFlags": 0, "node": { - "__id__": 293 + "__id__": 295 }, "_enabled": true, "_id": "75qE1p2e9A+rCI9i+2WIgN" @@ -12368,7 +12456,7 @@ "_name": "", "_objFlags": 0, "node": { - "__id__": 293 + "__id__": 295 }, "_enabled": true, "_id": "36W2heWAZIEqCh1YhY0EmM" @@ -12378,20 +12466,23 @@ "_name": "bg", "_objFlags": 0, "_parent": { - "__id__": 262 + "__id__": 264 }, "_children": [ { - "__id__": 299 + "__id__": 301 }, { - "__id__": 301 + "__id__": 303 + }, + { + "__id__": 305 } ], "_active": true, "_components": [ { - "__id__": 303 + "__id__": 307 } ], "_prefab": null, @@ -12405,7 +12496,7 @@ }, "_contentSize": { "__type__": "cc.Size", - "width": 600, + "width": 650, "height": 140 }, "_anchorPoint": { @@ -12447,13 +12538,13 @@ "_name": "point", "_objFlags": 0, "_parent": { - "__id__": 298 + "__id__": 300 }, "_children": [], "_active": true, "_components": [ { - "__id__": 300 + "__id__": 302 } ], "_prefab": null, @@ -12509,7 +12600,7 @@ "_name": "", "_objFlags": 0, "node": { - "__id__": 299 + "__id__": 301 }, "_enabled": true, "_materials": [ @@ -12543,13 +12634,13 @@ "_name": "content", "_objFlags": 0, "_parent": { - "__id__": 298 + "__id__": 300 }, "_children": [], "_active": true, "_components": [ { - "__id__": 302 + "__id__": 304 } ], "_prefab": null, @@ -12563,7 +12654,7 @@ }, "_contentSize": { "__type__": "cc.Size", - "width": 440, + "width": 558.72, "height": 75.6 }, "_anchorPoint": { @@ -12605,7 +12696,7 @@ "_name": "", "_objFlags": 0, "node": { - "__id__": 301 + "__id__": 303 }, "_enabled": true, "_materials": [ @@ -12615,8 +12706,8 @@ ], "_srcBlendFactor": 770, "_dstBlendFactor": 771, - "_string": "再向右避开上面的山峰吧", - "_N$string": "再向右避开上面的山峰吧", + "_string": "再点击\"右\"右避开上面的山峰吧", + "_N$string": "再点击\"右\"右避开上面的山峰吧", "_fontSize": 40, "_lineHeight": 60, "_enableWrapText": true, @@ -12635,12 +12726,109 @@ "_N$cacheMode": 0, "_id": "37veCoxaNONIvVycaopifJ" }, + { + "__type__": "cc.Node", + "_name": "content", + "_objFlags": 0, + "_parent": { + "__id__": 300 + }, + "_children": [], + "_active": true, + "_components": [ + { + "__id__": 306 + } + ], + "_prefab": null, + "_opacity": 255, + "_color": { + "__type__": "cc.Color", + "r": 211, + "g": 70, + "b": 70, + "a": 255 + }, + "_contentSize": { + "__type__": "cc.Size", + "width": 158.72, + "height": 75.6 + }, + "_anchorPoint": { + "__type__": "cc.Vec2", + "x": 0.5, + "y": 0.5 + }, + "_trs": { + "__type__": "TypedArray", + "ctor": "Float64Array", + "array": [ + -159.814, + 0, + 0, + 0, + 0, + 0, + 1, + 1, + 1, + 1 + ] + }, + "_eulerAngles": { + "__type__": "cc.Vec3", + "x": 0, + "y": 0, + "z": 0 + }, + "_skewX": 0, + "_skewY": 0, + "_is3DNode": false, + "_groupIndex": 0, + "groupIndex": 0, + "_id": "1fK2NGXgBNYLJTC37jlSQh" + }, + { + "__type__": "cc.Label", + "_name": "", + "_objFlags": 0, + "node": { + "__id__": 305 + }, + "_enabled": true, + "_materials": [ + { + "__uuid__": "eca5d2f2-8ef6-41c2-bbe6-f9c79d09c432" + } + ], + "_srcBlendFactor": 770, + "_dstBlendFactor": 771, + "_string": "点击\"右\"", + "_N$string": "点击\"右\"", + "_fontSize": 40, + "_lineHeight": 60, + "_enableWrapText": true, + "_N$file": { + "__uuid__": "95d22fe7-7d01-4c03-bd3a-334278db3d92" + }, + "_isSystemFontUsed": false, + "_spacingX": 0, + "_batchAsBitmap": false, + "_styleFlags": 0, + "_underlineHeight": 0, + "_N$horizontalAlign": 1, + "_N$verticalAlign": 1, + "_N$fontFamily": "Arial", + "_N$overflow": 0, + "_N$cacheMode": 0, + "_id": "92YSBWlVRErbuQRne08QQG" + }, { "__type__": "cc.Sprite", "_name": "", "_objFlags": 0, "node": { - "__id__": 298 + "__id__": 300 }, "_enabled": true, "_materials": [ @@ -12674,7 +12862,7 @@ "_name": "", "_objFlags": 0, "node": { - "__id__": 262 + "__id__": 264 }, "_enabled": true, "alignMode": 1, @@ -12704,9 +12892,6 @@ "__id__": 108 }, "_children": [ - { - "__id__": 306 - }, { "__id__": 310 }, @@ -12720,16 +12905,19 @@ "__id__": 322 }, { - "__id__": 328 + "__id__": 326 }, { - "__id__": 333 + "__id__": 332 + }, + { + "__id__": 337 } ], "_active": false, "_components": [ { - "__id__": 335 + "__id__": 339 } ], "_prefab": null, @@ -12785,19 +12973,19 @@ "_name": "New Sprite(Splash)", "_objFlags": 0, "_parent": { - "__id__": 305 + "__id__": 309 }, "_children": [], "_active": true, "_components": [ { - "__id__": 307 + "__id__": 311 }, { - "__id__": 308 + "__id__": 312 }, { - "__id__": 309 + "__id__": 313 } ], "_prefab": null, @@ -12853,7 +13041,7 @@ "_name": "", "_objFlags": 0, "node": { - "__id__": 306 + "__id__": 310 }, "_enabled": true, "_materials": [ @@ -12885,7 +13073,7 @@ "_name": "", "_objFlags": 0, "node": { - "__id__": 306 + "__id__": 310 }, "_enabled": true, "alignMode": 1, @@ -12912,7 +13100,7 @@ "_name": "", "_objFlags": 0, "node": { - "__id__": 306 + "__id__": 310 }, "_enabled": true, "_id": "eayu4/ACRDbKT49vyQeaDz" @@ -12922,19 +13110,19 @@ "_name": "New Sprite(Splash)", "_objFlags": 0, "_parent": { - "__id__": 305 + "__id__": 309 }, "_children": [], "_active": true, "_components": [ { - "__id__": 311 + "__id__": 315 }, { - "__id__": 312 + "__id__": 316 }, { - "__id__": 313 + "__id__": 317 } ], "_prefab": null, @@ -12990,7 +13178,7 @@ "_name": "", "_objFlags": 0, "node": { - "__id__": 310 + "__id__": 314 }, "_enabled": true, "_materials": [ @@ -13022,7 +13210,7 @@ "_name": "", "_objFlags": 0, "node": { - "__id__": 310 + "__id__": 314 }, "_enabled": true, "alignMode": 1, @@ -13049,7 +13237,7 @@ "_name": "", "_objFlags": 0, "node": { - "__id__": 310 + "__id__": 314 }, "_enabled": true, "_id": "837p4WiLBNmL15iIkDXaDK" @@ -13059,19 +13247,19 @@ "_name": "New Sprite(Splash)", "_objFlags": 0, "_parent": { - "__id__": 305 + "__id__": 309 }, "_children": [], "_active": true, "_components": [ { - "__id__": 315 + "__id__": 319 }, { - "__id__": 316 + "__id__": 320 }, { - "__id__": 317 + "__id__": 321 } ], "_prefab": null, @@ -13127,7 +13315,7 @@ "_name": "", "_objFlags": 0, "node": { - "__id__": 314 + "__id__": 318 }, "_enabled": true, "_materials": [ @@ -13159,7 +13347,7 @@ "_name": "", "_objFlags": 0, "node": { - "__id__": 314 + "__id__": 318 }, "_enabled": true, "alignMode": 1, @@ -13186,7 +13374,7 @@ "_name": "", "_objFlags": 0, "node": { - "__id__": 314 + "__id__": 318 }, "_enabled": true, "_id": "59/zvXuH9P9LmB4FVIpoNa" @@ -13196,19 +13384,19 @@ "_name": "sp", "_objFlags": 0, "_parent": { - "__id__": 305 + "__id__": 309 }, "_children": [], "_active": false, "_components": [ { - "__id__": 319 + "__id__": 323 }, { - "__id__": 320 + "__id__": 324 }, { - "__id__": 321 + "__id__": 325 } ], "_prefab": null, @@ -13264,7 +13452,7 @@ "_name": "", "_objFlags": 0, "node": { - "__id__": 318 + "__id__": 322 }, "_enabled": true, "_materials": [ @@ -13296,7 +13484,7 @@ "_name": "", "_objFlags": 0, "node": { - "__id__": 318 + "__id__": 322 }, "_enabled": true, "alignMode": 1, @@ -13323,7 +13511,7 @@ "_name": "", "_objFlags": 0, "node": { - "__id__": 318 + "__id__": 322 }, "_enabled": true, "_id": "40nuHoVXtN+qC2my/f1te/" @@ -13333,20 +13521,20 @@ "_name": "bg", "_objFlags": 0, "_parent": { - "__id__": 305 + "__id__": 309 }, "_children": [ { - "__id__": 323 + "__id__": 327 }, { - "__id__": 325 + "__id__": 329 } ], "_active": true, "_components": [ { - "__id__": 327 + "__id__": 331 } ], "_prefab": null, @@ -13402,13 +13590,13 @@ "_name": "point", "_objFlags": 0, "_parent": { - "__id__": 322 + "__id__": 326 }, "_children": [], "_active": true, "_components": [ { - "__id__": 324 + "__id__": 328 } ], "_prefab": null, @@ -13464,7 +13652,7 @@ "_name": "", "_objFlags": 0, "node": { - "__id__": 323 + "__id__": 327 }, "_enabled": true, "_materials": [ @@ -13498,13 +13686,13 @@ "_name": "content", "_objFlags": 0, "_parent": { - "__id__": 322 + "__id__": 326 }, "_children": [], "_active": true, "_components": [ { - "__id__": 326 + "__id__": 330 } ], "_prefab": null, @@ -13560,7 +13748,7 @@ "_name": "", "_objFlags": 0, "node": { - "__id__": 325 + "__id__": 329 }, "_enabled": true, "_materials": [ @@ -13595,7 +13783,7 @@ "_name": "", "_objFlags": 0, "node": { - "__id__": 322 + "__id__": 326 }, "_enabled": true, "_materials": [ @@ -13629,22 +13817,22 @@ "_name": "touch", "_objFlags": 0, "_parent": { - "__id__": 305 + "__id__": 309 }, "_children": [], "_active": true, "_components": [ { - "__id__": 329 + "__id__": 333 }, { - "__id__": 330 + "__id__": 334 }, { - "__id__": 331 + "__id__": 335 }, { - "__id__": 332 + "__id__": 336 } ], "_prefab": null, @@ -13700,7 +13888,7 @@ "_name": "", "_objFlags": 0, "node": { - "__id__": 328 + "__id__": 332 }, "_enabled": true, "_materials": [ @@ -13732,7 +13920,7 @@ "_name": "", "_objFlags": 0, "node": { - "__id__": 328 + "__id__": 332 }, "_enabled": true, "alignMode": 1, @@ -13759,7 +13947,7 @@ "_name": "", "_objFlags": 0, "node": { - "__id__": 328 + "__id__": 332 }, "_enabled": true, "_id": "317U/f8zdKKaTJIeRIqYGi" @@ -13769,7 +13957,7 @@ "_name": "", "_objFlags": 0, "node": { - "__id__": 328 + "__id__": 332 }, "_enabled": true, "_id": "d12ZCnvhNCB6dxS4wGoDR8" @@ -13779,13 +13967,13 @@ "_name": "ping", "_objFlags": 0, "_parent": { - "__id__": 305 + "__id__": 309 }, "_children": [], "_active": true, "_components": [ { - "__id__": 334 + "__id__": 338 } ], "_prefab": null, @@ -13841,7 +14029,7 @@ "_name": "", "_objFlags": 0, "node": { - "__id__": 333 + "__id__": 337 }, "_enabled": true, "_materials": [ @@ -13874,7 +14062,7 @@ "_name": "", "_objFlags": 0, "node": { - "__id__": 305 + "__id__": 309 }, "_enabled": true, "alignMode": 1, @@ -13904,9 +14092,6 @@ "__id__": 108 }, "_children": [ - { - "__id__": 337 - }, { "__id__": 341 }, @@ -13923,16 +14108,19 @@ "__id__": 357 }, { - "__id__": 363 + "__id__": 361 }, { - "__id__": 368 + "__id__": 367 + }, + { + "__id__": 372 } ], "_active": false, "_components": [ { - "__id__": 370 + "__id__": 374 } ], "_prefab": null, @@ -13988,19 +14176,19 @@ "_name": "New Sprite(Splash)", "_objFlags": 0, "_parent": { - "__id__": 336 + "__id__": 340 }, "_children": [], "_active": true, "_components": [ { - "__id__": 338 + "__id__": 342 }, { - "__id__": 339 + "__id__": 343 }, { - "__id__": 340 + "__id__": 344 } ], "_prefab": null, @@ -14056,7 +14244,7 @@ "_name": "", "_objFlags": 0, "node": { - "__id__": 337 + "__id__": 341 }, "_enabled": true, "_materials": [ @@ -14088,7 +14276,7 @@ "_name": "", "_objFlags": 0, "node": { - "__id__": 337 + "__id__": 341 }, "_enabled": true, "alignMode": 1, @@ -14115,7 +14303,7 @@ "_name": "", "_objFlags": 0, "node": { - "__id__": 337 + "__id__": 341 }, "_enabled": true, "_id": "ecpyNgmWdF6bWMCgdXmSQN" @@ -14125,19 +14313,19 @@ "_name": "New Sprite(Splash)", "_objFlags": 0, "_parent": { - "__id__": 336 + "__id__": 340 }, "_children": [], "_active": true, "_components": [ { - "__id__": 342 + "__id__": 346 }, { - "__id__": 343 + "__id__": 347 }, { - "__id__": 344 + "__id__": 348 } ], "_prefab": null, @@ -14193,7 +14381,7 @@ "_name": "", "_objFlags": 0, "node": { - "__id__": 341 + "__id__": 345 }, "_enabled": true, "_materials": [ @@ -14225,7 +14413,7 @@ "_name": "", "_objFlags": 0, "node": { - "__id__": 341 + "__id__": 345 }, "_enabled": true, "alignMode": 1, @@ -14252,7 +14440,7 @@ "_name": "", "_objFlags": 0, "node": { - "__id__": 341 + "__id__": 345 }, "_enabled": true, "_id": "97fx9phgZE66G82xHjLTUu" @@ -14262,19 +14450,19 @@ "_name": "New Sprite(Splash)", "_objFlags": 0, "_parent": { - "__id__": 336 + "__id__": 340 }, "_children": [], "_active": true, "_components": [ { - "__id__": 346 + "__id__": 350 }, { - "__id__": 347 + "__id__": 351 }, { - "__id__": 348 + "__id__": 352 } ], "_prefab": null, @@ -14330,7 +14518,7 @@ "_name": "", "_objFlags": 0, "node": { - "__id__": 345 + "__id__": 349 }, "_enabled": true, "_materials": [ @@ -14362,7 +14550,7 @@ "_name": "", "_objFlags": 0, "node": { - "__id__": 345 + "__id__": 349 }, "_enabled": true, "alignMode": 1, @@ -14389,7 +14577,7 @@ "_name": "", "_objFlags": 0, "node": { - "__id__": 345 + "__id__": 349 }, "_enabled": true, "_id": "c4bX0LpBVPmaXqqCWUV/p/" @@ -14399,19 +14587,19 @@ "_name": "New Sprite(Splash)", "_objFlags": 0, "_parent": { - "__id__": 336 + "__id__": 340 }, "_children": [], "_active": true, "_components": [ { - "__id__": 350 + "__id__": 354 }, { - "__id__": 351 + "__id__": 355 }, { - "__id__": 352 + "__id__": 356 } ], "_prefab": null, @@ -14467,7 +14655,7 @@ "_name": "", "_objFlags": 0, "node": { - "__id__": 349 + "__id__": 353 }, "_enabled": true, "_materials": [ @@ -14499,7 +14687,7 @@ "_name": "", "_objFlags": 0, "node": { - "__id__": 349 + "__id__": 353 }, "_enabled": true, "alignMode": 1, @@ -14526,7 +14714,7 @@ "_name": "", "_objFlags": 0, "node": { - "__id__": 349 + "__id__": 353 }, "_enabled": true, "_id": "60c7T4aNdE84pqG3H06Mk4" @@ -14536,19 +14724,19 @@ "_name": "sp", "_objFlags": 0, "_parent": { - "__id__": 336 + "__id__": 340 }, "_children": [], "_active": false, "_components": [ { - "__id__": 354 + "__id__": 358 }, { - "__id__": 355 + "__id__": 359 }, { - "__id__": 356 + "__id__": 360 } ], "_prefab": null, @@ -14604,7 +14792,7 @@ "_name": "", "_objFlags": 0, "node": { - "__id__": 353 + "__id__": 357 }, "_enabled": true, "_materials": [ @@ -14636,7 +14824,7 @@ "_name": "", "_objFlags": 0, "node": { - "__id__": 353 + "__id__": 357 }, "_enabled": true, "alignMode": 1, @@ -14663,7 +14851,7 @@ "_name": "", "_objFlags": 0, "node": { - "__id__": 353 + "__id__": 357 }, "_enabled": true, "_id": "0fpqw4FsNCYZviY3yc3w0D" @@ -14673,20 +14861,20 @@ "_name": "bg", "_objFlags": 0, "_parent": { - "__id__": 336 + "__id__": 340 }, "_children": [ { - "__id__": 358 + "__id__": 362 }, { - "__id__": 360 + "__id__": 364 } ], "_active": true, "_components": [ { - "__id__": 362 + "__id__": 366 } ], "_prefab": null, @@ -14742,13 +14930,13 @@ "_name": "point", "_objFlags": 0, "_parent": { - "__id__": 357 + "__id__": 361 }, "_children": [], "_active": true, "_components": [ { - "__id__": 359 + "__id__": 363 } ], "_prefab": null, @@ -14804,7 +14992,7 @@ "_name": "", "_objFlags": 0, "node": { - "__id__": 358 + "__id__": 362 }, "_enabled": true, "_materials": [ @@ -14838,13 +15026,13 @@ "_name": "content", "_objFlags": 0, "_parent": { - "__id__": 357 + "__id__": 361 }, "_children": [], "_active": true, "_components": [ { - "__id__": 361 + "__id__": 365 } ], "_prefab": null, @@ -14900,7 +15088,7 @@ "_name": "", "_objFlags": 0, "node": { - "__id__": 360 + "__id__": 364 }, "_enabled": true, "_materials": [ @@ -14935,7 +15123,7 @@ "_name": "", "_objFlags": 0, "node": { - "__id__": 357 + "__id__": 361 }, "_enabled": true, "_materials": [ @@ -14969,22 +15157,22 @@ "_name": "touch", "_objFlags": 0, "_parent": { - "__id__": 336 + "__id__": 340 }, "_children": [], "_active": true, "_components": [ { - "__id__": 364 + "__id__": 368 }, { - "__id__": 365 + "__id__": 369 }, { - "__id__": 366 + "__id__": 370 }, { - "__id__": 367 + "__id__": 371 } ], "_prefab": null, @@ -15040,7 +15228,7 @@ "_name": "", "_objFlags": 0, "node": { - "__id__": 363 + "__id__": 367 }, "_enabled": true, "_materials": [ @@ -15072,7 +15260,7 @@ "_name": "", "_objFlags": 0, "node": { - "__id__": 363 + "__id__": 367 }, "_enabled": true, "alignMode": 1, @@ -15099,7 +15287,7 @@ "_name": "", "_objFlags": 0, "node": { - "__id__": 363 + "__id__": 367 }, "_enabled": true, "_id": "52h326OGZAi7S5icB0aX/M" @@ -15109,7 +15297,7 @@ "_name": "", "_objFlags": 0, "node": { - "__id__": 363 + "__id__": 367 }, "_enabled": true, "_id": "7dSRH3LStDQJoPi4k8gJME" @@ -15119,13 +15307,13 @@ "_name": "ping", "_objFlags": 0, "_parent": { - "__id__": 336 + "__id__": 340 }, "_children": [], "_active": true, "_components": [ { - "__id__": 369 + "__id__": 373 } ], "_prefab": null, @@ -15181,7 +15369,7 @@ "_name": "", "_objFlags": 0, "node": { - "__id__": 368 + "__id__": 372 }, "_enabled": true, "_materials": [ @@ -15214,7 +15402,7 @@ "_name": "", "_objFlags": 0, "node": { - "__id__": 336 + "__id__": 340 }, "_enabled": true, "alignMode": 1, @@ -15244,9 +15432,6 @@ "__id__": 108 }, "_children": [ - { - "__id__": 372 - }, { "__id__": 376 }, @@ -15263,16 +15448,19 @@ "__id__": 392 }, { - "__id__": 398 + "__id__": 396 }, { - "__id__": 403 + "__id__": 402 + }, + { + "__id__": 407 } ], "_active": false, "_components": [ { - "__id__": 405 + "__id__": 409 } ], "_prefab": null, @@ -15328,19 +15516,19 @@ "_name": "New Sprite(Splash)", "_objFlags": 0, "_parent": { - "__id__": 371 + "__id__": 375 }, "_children": [], "_active": true, "_components": [ { - "__id__": 373 + "__id__": 377 }, { - "__id__": 374 + "__id__": 378 }, { - "__id__": 375 + "__id__": 379 } ], "_prefab": null, @@ -15396,7 +15584,7 @@ "_name": "", "_objFlags": 0, "node": { - "__id__": 372 + "__id__": 376 }, "_enabled": true, "_materials": [ @@ -15428,7 +15616,7 @@ "_name": "", "_objFlags": 0, "node": { - "__id__": 372 + "__id__": 376 }, "_enabled": true, "alignMode": 1, @@ -15455,7 +15643,7 @@ "_name": "", "_objFlags": 0, "node": { - "__id__": 372 + "__id__": 376 }, "_enabled": true, "_id": "f7sX0LeshL06UwMQcC6jIZ" @@ -15465,19 +15653,19 @@ "_name": "sp", "_objFlags": 0, "_parent": { - "__id__": 371 + "__id__": 375 }, "_children": [], "_active": true, "_components": [ { - "__id__": 377 + "__id__": 381 }, { - "__id__": 378 + "__id__": 382 }, { - "__id__": 379 + "__id__": 383 } ], "_prefab": null, @@ -15533,7 +15721,7 @@ "_name": "", "_objFlags": 0, "node": { - "__id__": 376 + "__id__": 380 }, "_enabled": true, "_materials": [ @@ -15565,7 +15753,7 @@ "_name": "", "_objFlags": 0, "node": { - "__id__": 376 + "__id__": 380 }, "_enabled": true, "alignMode": 1, @@ -15592,7 +15780,7 @@ "_name": "", "_objFlags": 0, "node": { - "__id__": 376 + "__id__": 380 }, "_enabled": true, "_id": "09kZXTjqVGhpkH3hDP682H" @@ -15602,19 +15790,19 @@ "_name": "New Sprite(Splash)", "_objFlags": 0, "_parent": { - "__id__": 371 + "__id__": 375 }, "_children": [], "_active": true, "_components": [ { - "__id__": 381 + "__id__": 385 }, { - "__id__": 382 + "__id__": 386 }, { - "__id__": 383 + "__id__": 387 } ], "_prefab": null, @@ -15670,7 +15858,7 @@ "_name": "", "_objFlags": 0, "node": { - "__id__": 380 + "__id__": 384 }, "_enabled": true, "_materials": [ @@ -15702,7 +15890,7 @@ "_name": "", "_objFlags": 0, "node": { - "__id__": 380 + "__id__": 384 }, "_enabled": true, "alignMode": 1, @@ -15729,7 +15917,7 @@ "_name": "", "_objFlags": 0, "node": { - "__id__": 380 + "__id__": 384 }, "_enabled": true, "_id": "afTJCW5CVBdaE9IQ0wfE7P" @@ -15739,19 +15927,19 @@ "_name": "New Sprite(Splash)", "_objFlags": 0, "_parent": { - "__id__": 371 + "__id__": 375 }, "_children": [], "_active": true, "_components": [ { - "__id__": 385 + "__id__": 389 }, { - "__id__": 386 + "__id__": 390 }, { - "__id__": 387 + "__id__": 391 } ], "_prefab": null, @@ -15807,7 +15995,7 @@ "_name": "", "_objFlags": 0, "node": { - "__id__": 384 + "__id__": 388 }, "_enabled": true, "_materials": [ @@ -15839,7 +16027,7 @@ "_name": "", "_objFlags": 0, "node": { - "__id__": 384 + "__id__": 388 }, "_enabled": true, "alignMode": 1, @@ -15866,7 +16054,7 @@ "_name": "", "_objFlags": 0, "node": { - "__id__": 384 + "__id__": 388 }, "_enabled": true, "_id": "3fG4nGHI1PuIHfnnO1f0Md" @@ -15876,19 +16064,19 @@ "_name": "New Sprite(Splash)", "_objFlags": 0, "_parent": { - "__id__": 371 + "__id__": 375 }, "_children": [], "_active": true, "_components": [ { - "__id__": 389 + "__id__": 393 }, { - "__id__": 390 + "__id__": 394 }, { - "__id__": 391 + "__id__": 395 } ], "_prefab": null, @@ -15944,7 +16132,7 @@ "_name": "", "_objFlags": 0, "node": { - "__id__": 388 + "__id__": 392 }, "_enabled": true, "_materials": [ @@ -15976,7 +16164,7 @@ "_name": "", "_objFlags": 0, "node": { - "__id__": 388 + "__id__": 392 }, "_enabled": true, "alignMode": 1, @@ -16003,7 +16191,7 @@ "_name": "", "_objFlags": 0, "node": { - "__id__": 388 + "__id__": 392 }, "_enabled": true, "_id": "12KHfvUXhF3JB3TYr4uz+o" @@ -16013,20 +16201,20 @@ "_name": "bg", "_objFlags": 0, "_parent": { - "__id__": 371 + "__id__": 375 }, "_children": [ { - "__id__": 393 + "__id__": 397 }, { - "__id__": 395 + "__id__": 399 } ], "_active": true, "_components": [ { - "__id__": 397 + "__id__": 401 } ], "_prefab": null, @@ -16082,13 +16270,13 @@ "_name": "point", "_objFlags": 0, "_parent": { - "__id__": 392 + "__id__": 396 }, "_children": [], "_active": true, "_components": [ { - "__id__": 394 + "__id__": 398 } ], "_prefab": null, @@ -16144,7 +16332,7 @@ "_name": "", "_objFlags": 0, "node": { - "__id__": 393 + "__id__": 397 }, "_enabled": true, "_materials": [ @@ -16178,13 +16366,13 @@ "_name": "content", "_objFlags": 0, "_parent": { - "__id__": 392 + "__id__": 396 }, "_children": [], "_active": true, "_components": [ { - "__id__": 396 + "__id__": 400 } ], "_prefab": null, @@ -16240,7 +16428,7 @@ "_name": "", "_objFlags": 0, "node": { - "__id__": 395 + "__id__": 399 }, "_enabled": true, "_materials": [ @@ -16275,7 +16463,7 @@ "_name": "", "_objFlags": 0, "node": { - "__id__": 392 + "__id__": 396 }, "_enabled": true, "_materials": [ @@ -16309,22 +16497,22 @@ "_name": "touch", "_objFlags": 0, "_parent": { - "__id__": 371 + "__id__": 375 }, "_children": [], "_active": true, "_components": [ { - "__id__": 399 + "__id__": 403 }, { - "__id__": 400 + "__id__": 404 }, { - "__id__": 401 + "__id__": 405 }, { - "__id__": 402 + "__id__": 406 } ], "_prefab": null, @@ -16380,7 +16568,7 @@ "_name": "", "_objFlags": 0, "node": { - "__id__": 398 + "__id__": 402 }, "_enabled": true, "_materials": [ @@ -16412,7 +16600,7 @@ "_name": "", "_objFlags": 0, "node": { - "__id__": 398 + "__id__": 402 }, "_enabled": true, "alignMode": 1, @@ -16439,7 +16627,7 @@ "_name": "", "_objFlags": 0, "node": { - "__id__": 398 + "__id__": 402 }, "_enabled": true, "_id": "88DqUMk5FAJaZmYIPXPe5o" @@ -16449,7 +16637,7 @@ "_name": "", "_objFlags": 0, "node": { - "__id__": 398 + "__id__": 402 }, "_enabled": true, "_id": "92AEzMpMBBArQtZIC5Ex0n" @@ -16459,13 +16647,13 @@ "_name": "ping", "_objFlags": 0, "_parent": { - "__id__": 371 + "__id__": 375 }, "_children": [], "_active": true, "_components": [ { - "__id__": 404 + "__id__": 408 } ], "_prefab": null, @@ -16521,7 +16709,7 @@ "_name": "", "_objFlags": 0, "node": { - "__id__": 403 + "__id__": 407 }, "_enabled": true, "_materials": [ @@ -16554,7 +16742,7 @@ "_name": "", "_objFlags": 0, "node": { - "__id__": 371 + "__id__": 375 }, "_enabled": true, "alignMode": 1, @@ -16585,31 +16773,31 @@ }, "_children": [ { - "__id__": 407 + "__id__": 411 }, { - "__id__": 412 + "__id__": 416 }, { - "__id__": 417 + "__id__": 421 }, { - "__id__": 422 + "__id__": 426 }, { - "__id__": 427 + "__id__": 431 }, { - "__id__": 432 + "__id__": 436 }, { - "__id__": 437 + "__id__": 441 } ], "_active": false, "_components": [ { - "__id__": 443 + "__id__": 449 } ], "_prefab": null, @@ -16665,22 +16853,22 @@ "_name": "New Sprite(Splash)", "_objFlags": 0, "_parent": { - "__id__": 406 + "__id__": 410 }, "_children": [], "_active": true, "_components": [ { - "__id__": 408 + "__id__": 412 }, { - "__id__": 409 + "__id__": 413 }, { - "__id__": 410 + "__id__": 414 }, { - "__id__": 411 + "__id__": 415 } ], "_prefab": null, @@ -16736,7 +16924,7 @@ "_name": "", "_objFlags": 0, "node": { - "__id__": 407 + "__id__": 411 }, "_enabled": true, "_materials": [ @@ -16768,7 +16956,7 @@ "_name": "", "_objFlags": 0, "node": { - "__id__": 407 + "__id__": 411 }, "_enabled": true, "alignMode": 1, @@ -16795,7 +16983,7 @@ "_name": "", "_objFlags": 0, "node": { - "__id__": 407 + "__id__": 411 }, "_enabled": true, "_id": "a2G13wYuJPG6b7i5YSVnQb" @@ -16805,7 +16993,7 @@ "_name": "", "_objFlags": 0, "node": { - "__id__": 407 + "__id__": 411 }, "_enabled": true, "_id": "e4GtSC6p9NbJTvHcX0Jpzj" @@ -16815,22 +17003,22 @@ "_name": "sp", "_objFlags": 0, "_parent": { - "__id__": 406 + "__id__": 410 }, "_children": [], "_active": true, "_components": [ { - "__id__": 413 + "__id__": 417 }, { - "__id__": 414 + "__id__": 418 }, { - "__id__": 415 + "__id__": 419 }, { - "__id__": 416 + "__id__": 420 } ], "_prefab": null, @@ -16886,7 +17074,7 @@ "_name": "", "_objFlags": 0, "node": { - "__id__": 412 + "__id__": 416 }, "_enabled": true, "_materials": [ @@ -16918,7 +17106,7 @@ "_name": "", "_objFlags": 0, "node": { - "__id__": 412 + "__id__": 416 }, "_enabled": true, "alignMode": 1, @@ -16945,7 +17133,7 @@ "_name": "", "_objFlags": 0, "node": { - "__id__": 412 + "__id__": 416 }, "_enabled": true, "_id": "a6ipuGTvpHZLeivSBQx5DL" @@ -16955,7 +17143,7 @@ "_name": "", "_objFlags": 0, "node": { - "__id__": 412 + "__id__": 416 }, "_enabled": true, "_id": "cebdbSENhPWLDIaYYrgL2K" @@ -16965,22 +17153,22 @@ "_name": "New Sprite(Splash)", "_objFlags": 0, "_parent": { - "__id__": 406 + "__id__": 410 }, "_children": [], "_active": true, "_components": [ { - "__id__": 418 + "__id__": 422 }, { - "__id__": 419 + "__id__": 423 }, { - "__id__": 420 + "__id__": 424 }, { - "__id__": 421 + "__id__": 425 } ], "_prefab": null, @@ -17036,7 +17224,7 @@ "_name": "", "_objFlags": 0, "node": { - "__id__": 417 + "__id__": 421 }, "_enabled": true, "_materials": [ @@ -17068,7 +17256,7 @@ "_name": "", "_objFlags": 0, "node": { - "__id__": 417 + "__id__": 421 }, "_enabled": true, "alignMode": 1, @@ -17095,7 +17283,7 @@ "_name": "", "_objFlags": 0, "node": { - "__id__": 417 + "__id__": 421 }, "_enabled": true, "_id": "e1vmygND1GcKVGst7I5Jml" @@ -17105,7 +17293,7 @@ "_name": "", "_objFlags": 0, "node": { - "__id__": 417 + "__id__": 421 }, "_enabled": true, "_id": "aeKVmQHZ9PoL033+pjkoHd" @@ -17115,22 +17303,22 @@ "_name": "New Sprite(Splash)", "_objFlags": 0, "_parent": { - "__id__": 406 + "__id__": 410 }, "_children": [], "_active": true, "_components": [ { - "__id__": 423 + "__id__": 427 }, { - "__id__": 424 + "__id__": 428 }, { - "__id__": 425 + "__id__": 429 }, { - "__id__": 426 + "__id__": 430 } ], "_prefab": null, @@ -17186,7 +17374,7 @@ "_name": "", "_objFlags": 0, "node": { - "__id__": 422 + "__id__": 426 }, "_enabled": true, "_materials": [ @@ -17218,7 +17406,7 @@ "_name": "", "_objFlags": 0, "node": { - "__id__": 422 + "__id__": 426 }, "_enabled": true, "alignMode": 1, @@ -17245,7 +17433,7 @@ "_name": "", "_objFlags": 0, "node": { - "__id__": 422 + "__id__": 426 }, "_enabled": true, "_id": "a45/qG1hhEWYwiSGcZn+c8" @@ -17255,7 +17443,7 @@ "_name": "", "_objFlags": 0, "node": { - "__id__": 422 + "__id__": 426 }, "_enabled": true, "_id": "6eIDFiYxZHebk47oDEARdC" @@ -17265,22 +17453,22 @@ "_name": "New Sprite(Splash)", "_objFlags": 0, "_parent": { - "__id__": 406 + "__id__": 410 }, "_children": [], "_active": true, "_components": [ { - "__id__": 428 + "__id__": 432 }, { - "__id__": 429 + "__id__": 433 }, { - "__id__": 430 + "__id__": 434 }, { - "__id__": 431 + "__id__": 435 } ], "_prefab": null, @@ -17336,7 +17524,7 @@ "_name": "", "_objFlags": 0, "node": { - "__id__": 427 + "__id__": 431 }, "_enabled": true, "_materials": [ @@ -17368,7 +17556,7 @@ "_name": "", "_objFlags": 0, "node": { - "__id__": 427 + "__id__": 431 }, "_enabled": true, "alignMode": 1, @@ -17395,7 +17583,7 @@ "_name": "", "_objFlags": 0, "node": { - "__id__": 427 + "__id__": 431 }, "_enabled": true, "_id": "9fF8I9uPhPC6HBLebokpbb" @@ -17405,7 +17593,7 @@ "_name": "", "_objFlags": 0, "node": { - "__id__": 427 + "__id__": 431 }, "_enabled": true, "_id": "fdvQLyvUFByK48Pbyt4gCE" @@ -17415,22 +17603,22 @@ "_name": "New Sprite(Splash)", "_objFlags": 0, "_parent": { - "__id__": 406 + "__id__": 410 }, "_children": [], "_active": true, "_components": [ { - "__id__": 433 + "__id__": 437 }, { - "__id__": 434 + "__id__": 438 }, { - "__id__": 435 + "__id__": 439 }, { - "__id__": 436 + "__id__": 440 } ], "_prefab": null, @@ -17486,7 +17674,7 @@ "_name": "", "_objFlags": 0, "node": { - "__id__": 432 + "__id__": 436 }, "_enabled": true, "_materials": [ @@ -17518,7 +17706,7 @@ "_name": "", "_objFlags": 0, "node": { - "__id__": 432 + "__id__": 436 }, "_enabled": true, "alignMode": 1, @@ -17545,7 +17733,7 @@ "_name": "", "_objFlags": 0, "node": { - "__id__": 432 + "__id__": 436 }, "_enabled": true, "_id": "e1ajVS5slK2IrOvdOHKPrT" @@ -17555,7 +17743,7 @@ "_name": "", "_objFlags": 0, "node": { - "__id__": 432 + "__id__": 436 }, "_enabled": true, "_id": "7bRpGIbBZC5L4PB1cCEAjt" @@ -17565,20 +17753,23 @@ "_name": "bg", "_objFlags": 0, "_parent": { - "__id__": 406 + "__id__": 410 }, "_children": [ { - "__id__": 438 + "__id__": 442 }, { - "__id__": 440 + "__id__": 444 + }, + { + "__id__": 446 } ], "_active": true, "_components": [ { - "__id__": 442 + "__id__": 448 } ], "_prefab": null, @@ -17592,7 +17783,7 @@ }, "_contentSize": { "__type__": "cc.Size", - "width": 450, + "width": 500, "height": 140 }, "_anchorPoint": { @@ -17634,13 +17825,13 @@ "_name": "point", "_objFlags": 0, "_parent": { - "__id__": 437 + "__id__": 441 }, "_children": [], "_active": true, "_components": [ { - "__id__": 439 + "__id__": 443 } ], "_prefab": null, @@ -17696,7 +17887,7 @@ "_name": "", "_objFlags": 0, "node": { - "__id__": 438 + "__id__": 442 }, "_enabled": true, "_materials": [ @@ -17730,13 +17921,13 @@ "_name": "content", "_objFlags": 0, "_parent": { - "__id__": 437 + "__id__": 441 }, "_children": [], "_active": true, "_components": [ { - "__id__": 441 + "__id__": 445 } ], "_prefab": null, @@ -17750,7 +17941,7 @@ }, "_contentSize": { "__type__": "cc.Size", - "width": 320, + "width": 400, "height": 75.6 }, "_anchorPoint": { @@ -17792,7 +17983,7 @@ "_name": "", "_objFlags": 0, "node": { - "__id__": 440 + "__id__": 444 }, "_enabled": true, "_materials": [ @@ -17802,8 +17993,8 @@ ], "_srcBlendFactor": 770, "_dstBlendFactor": 771, - "_string": "点击这里进行加固", - "_N$string": "点击这里进行加固", + "_string": "点击“加固”进行加固", + "_N$string": "点击“加固”进行加固", "_fontSize": 40, "_lineHeight": 60, "_enableWrapText": true, @@ -17822,12 +18013,109 @@ "_N$cacheMode": 0, "_id": "8f7yZS/LFCuLwlfg1stKbt" }, + { + "__type__": "cc.Node", + "_name": "content", + "_objFlags": 0, + "_parent": { + "__id__": 441 + }, + "_children": [], + "_active": true, + "_components": [ + { + "__id__": 447 + } + ], + "_prefab": null, + "_opacity": 255, + "_color": { + "__type__": "cc.Color", + "r": 211, + "g": 70, + "b": 70, + "a": 255 + }, + "_contentSize": { + "__type__": "cc.Size", + "width": 240, + "height": 75.6 + }, + "_anchorPoint": { + "__type__": "cc.Vec2", + "x": 0.5, + "y": 0.5 + }, + "_trs": { + "__type__": "TypedArray", + "ctor": "Float64Array", + "array": [ + -79.936, + 0, + 0, + 0, + 0, + 0, + 1, + 1, + 1, + 1 + ] + }, + "_eulerAngles": { + "__type__": "cc.Vec3", + "x": 0, + "y": 0, + "z": 0 + }, + "_skewX": 0, + "_skewY": 0, + "_is3DNode": false, + "_groupIndex": 0, + "groupIndex": 0, + "_id": "95JeymOulK3L10NKdaD53m" + }, + { + "__type__": "cc.Label", + "_name": "", + "_objFlags": 0, + "node": { + "__id__": 446 + }, + "_enabled": true, + "_materials": [ + { + "__uuid__": "eca5d2f2-8ef6-41c2-bbe6-f9c79d09c432" + } + ], + "_srcBlendFactor": 770, + "_dstBlendFactor": 771, + "_string": "点击“加固”", + "_N$string": "点击“加固”", + "_fontSize": 40, + "_lineHeight": 60, + "_enableWrapText": true, + "_N$file": { + "__uuid__": "95d22fe7-7d01-4c03-bd3a-334278db3d92" + }, + "_isSystemFontUsed": false, + "_spacingX": 0, + "_batchAsBitmap": false, + "_styleFlags": 0, + "_underlineHeight": 0, + "_N$horizontalAlign": 1, + "_N$verticalAlign": 1, + "_N$fontFamily": "Arial", + "_N$overflow": 0, + "_N$cacheMode": 0, + "_id": "b8lb12gS9HoYpaZoZ9VTWe" + }, { "__type__": "cc.Sprite", "_name": "", "_objFlags": 0, "node": { - "__id__": 437 + "__id__": 441 }, "_enabled": true, "_materials": [ @@ -17861,7 +18149,7 @@ "_name": "", "_objFlags": 0, "node": { - "__id__": 406 + "__id__": 410 }, "_enabled": true, "alignMode": 1, @@ -17892,40 +18180,40 @@ }, "_children": [ { - "__id__": 445 + "__id__": 451 }, { - "__id__": 449 + "__id__": 455 }, { - "__id__": 453 + "__id__": 459 }, { - "__id__": 457 + "__id__": 463 }, { - "__id__": 461 + "__id__": 467 }, { - "__id__": 465 + "__id__": 471 }, { - "__id__": 469 + "__id__": 475 }, { - "__id__": 473 + "__id__": 479 }, { - "__id__": 480 + "__id__": 486 }, { - "__id__": 485 + "__id__": 491 } ], "_active": false, "_components": [ { - "__id__": 487 + "__id__": 493 } ], "_prefab": null, @@ -17981,19 +18269,19 @@ "_name": "New Sprite(Splash)", "_objFlags": 0, "_parent": { - "__id__": 444 + "__id__": 450 }, "_children": [], "_active": true, "_components": [ { - "__id__": 446 + "__id__": 452 }, { - "__id__": 447 + "__id__": 453 }, { - "__id__": 448 + "__id__": 454 } ], "_prefab": null, @@ -18049,7 +18337,7 @@ "_name": "", "_objFlags": 0, "node": { - "__id__": 445 + "__id__": 451 }, "_enabled": true, "_materials": [ @@ -18081,7 +18369,7 @@ "_name": "", "_objFlags": 0, "node": { - "__id__": 445 + "__id__": 451 }, "_enabled": true, "alignMode": 1, @@ -18108,7 +18396,7 @@ "_name": "", "_objFlags": 0, "node": { - "__id__": 445 + "__id__": 451 }, "_enabled": true, "_id": "99cHlm4ehMyrcRIBzKYtR0" @@ -18118,19 +18406,19 @@ "_name": "sp", "_objFlags": 0, "_parent": { - "__id__": 444 + "__id__": 450 }, "_children": [], "_active": true, "_components": [ { - "__id__": 450 + "__id__": 456 }, { - "__id__": 451 + "__id__": 457 }, { - "__id__": 452 + "__id__": 458 } ], "_prefab": null, @@ -18186,7 +18474,7 @@ "_name": "", "_objFlags": 0, "node": { - "__id__": 449 + "__id__": 455 }, "_enabled": true, "_materials": [ @@ -18218,7 +18506,7 @@ "_name": "", "_objFlags": 0, "node": { - "__id__": 449 + "__id__": 455 }, "_enabled": true, "alignMode": 1, @@ -18245,7 +18533,7 @@ "_name": "", "_objFlags": 0, "node": { - "__id__": 449 + "__id__": 455 }, "_enabled": true, "_id": "81MZWD9ilJlqXm9FnpoLoc" @@ -18255,19 +18543,19 @@ "_name": "New Sprite(Splash)", "_objFlags": 0, "_parent": { - "__id__": 444 + "__id__": 450 }, "_children": [], "_active": true, "_components": [ { - "__id__": 454 + "__id__": 460 }, { - "__id__": 455 + "__id__": 461 }, { - "__id__": 456 + "__id__": 462 } ], "_prefab": null, @@ -18323,7 +18611,7 @@ "_name": "", "_objFlags": 0, "node": { - "__id__": 453 + "__id__": 459 }, "_enabled": true, "_materials": [ @@ -18355,7 +18643,7 @@ "_name": "", "_objFlags": 0, "node": { - "__id__": 453 + "__id__": 459 }, "_enabled": true, "alignMode": 1, @@ -18382,7 +18670,7 @@ "_name": "", "_objFlags": 0, "node": { - "__id__": 453 + "__id__": 459 }, "_enabled": true, "_id": "b6o8sVSfpPEJ6o5LjXI/CC" @@ -18392,19 +18680,19 @@ "_name": "New Sprite(Splash)", "_objFlags": 0, "_parent": { - "__id__": 444 + "__id__": 450 }, "_children": [], "_active": true, "_components": [ { - "__id__": 458 + "__id__": 464 }, { - "__id__": 459 + "__id__": 465 }, { - "__id__": 460 + "__id__": 466 } ], "_prefab": null, @@ -18460,7 +18748,7 @@ "_name": "", "_objFlags": 0, "node": { - "__id__": 457 + "__id__": 463 }, "_enabled": true, "_materials": [ @@ -18492,7 +18780,7 @@ "_name": "", "_objFlags": 0, "node": { - "__id__": 457 + "__id__": 463 }, "_enabled": true, "alignMode": 1, @@ -18519,7 +18807,7 @@ "_name": "", "_objFlags": 0, "node": { - "__id__": 457 + "__id__": 463 }, "_enabled": true, "_id": "fbPUlj0axOLKcWnThCCcjL" @@ -18529,19 +18817,19 @@ "_name": "New Sprite(Splash)", "_objFlags": 0, "_parent": { - "__id__": 444 + "__id__": 450 }, "_children": [], "_active": true, "_components": [ { - "__id__": 462 + "__id__": 468 }, { - "__id__": 463 + "__id__": 469 }, { - "__id__": 464 + "__id__": 470 } ], "_prefab": null, @@ -18597,7 +18885,7 @@ "_name": "", "_objFlags": 0, "node": { - "__id__": 461 + "__id__": 467 }, "_enabled": true, "_materials": [ @@ -18629,7 +18917,7 @@ "_name": "", "_objFlags": 0, "node": { - "__id__": 461 + "__id__": 467 }, "_enabled": true, "alignMode": 1, @@ -18656,7 +18944,7 @@ "_name": "", "_objFlags": 0, "node": { - "__id__": 461 + "__id__": 467 }, "_enabled": true, "_id": "7cC9ut73hAZ5LqI17yWhZM" @@ -18666,19 +18954,19 @@ "_name": "New Sprite(Splash)", "_objFlags": 0, "_parent": { - "__id__": 444 + "__id__": 450 }, "_children": [], "_active": true, "_components": [ { - "__id__": 466 + "__id__": 472 }, { - "__id__": 467 + "__id__": 473 }, { - "__id__": 468 + "__id__": 474 } ], "_prefab": null, @@ -18734,7 +19022,7 @@ "_name": "", "_objFlags": 0, "node": { - "__id__": 465 + "__id__": 471 }, "_enabled": true, "_materials": [ @@ -18766,7 +19054,7 @@ "_name": "", "_objFlags": 0, "node": { - "__id__": 465 + "__id__": 471 }, "_enabled": true, "alignMode": 1, @@ -18793,7 +19081,7 @@ "_name": "", "_objFlags": 0, "node": { - "__id__": 465 + "__id__": 471 }, "_enabled": true, "_id": "22jL9t+v9DpJtY3WDhd7xh" @@ -18803,19 +19091,19 @@ "_name": "New Sprite(Splash)", "_objFlags": 0, "_parent": { - "__id__": 444 + "__id__": 450 }, "_children": [], "_active": true, "_components": [ { - "__id__": 470 + "__id__": 476 }, { - "__id__": 471 + "__id__": 477 }, { - "__id__": 472 + "__id__": 478 } ], "_prefab": null, @@ -18871,7 +19159,7 @@ "_name": "", "_objFlags": 0, "node": { - "__id__": 469 + "__id__": 475 }, "_enabled": true, "_materials": [ @@ -18903,7 +19191,7 @@ "_name": "", "_objFlags": 0, "node": { - "__id__": 469 + "__id__": 475 }, "_enabled": true, "alignMode": 1, @@ -18930,7 +19218,7 @@ "_name": "", "_objFlags": 0, "node": { - "__id__": 469 + "__id__": 475 }, "_enabled": true, "_id": "0c5C5NYCFHKJSOFVwhkRsC" @@ -18940,23 +19228,23 @@ "_name": "bg", "_objFlags": 0, "_parent": { - "__id__": 444 + "__id__": 450 }, "_children": [ { - "__id__": 474 + "__id__": 480 }, { - "__id__": 476 + "__id__": 482 } ], "_active": true, "_components": [ { - "__id__": 478 + "__id__": 484 }, { - "__id__": 479 + "__id__": 485 } ], "_prefab": null, @@ -19012,13 +19300,13 @@ "_name": "point", "_objFlags": 0, "_parent": { - "__id__": 473 + "__id__": 479 }, "_children": [], "_active": true, "_components": [ { - "__id__": 475 + "__id__": 481 } ], "_prefab": null, @@ -19074,7 +19362,7 @@ "_name": "", "_objFlags": 0, "node": { - "__id__": 474 + "__id__": 480 }, "_enabled": true, "_materials": [ @@ -19108,13 +19396,13 @@ "_name": "content", "_objFlags": 0, "_parent": { - "__id__": 473 + "__id__": 479 }, "_children": [], "_active": true, "_components": [ { - "__id__": 477 + "__id__": 483 } ], "_prefab": null, @@ -19170,7 +19458,7 @@ "_name": "", "_objFlags": 0, "node": { - "__id__": 476 + "__id__": 482 }, "_enabled": true, "_materials": [ @@ -19205,7 +19493,7 @@ "_name": "", "_objFlags": 0, "node": { - "__id__": 473 + "__id__": 479 }, "_enabled": true, "_materials": [ @@ -19239,7 +19527,7 @@ "_name": "", "_objFlags": 0, "node": { - "__id__": 473 + "__id__": 479 }, "_enabled": true, "alignMode": 1, @@ -19266,22 +19554,22 @@ "_name": "touch", "_objFlags": 0, "_parent": { - "__id__": 444 + "__id__": 450 }, "_children": [], "_active": true, "_components": [ { - "__id__": 481 + "__id__": 487 }, { - "__id__": 482 + "__id__": 488 }, { - "__id__": 483 + "__id__": 489 }, { - "__id__": 484 + "__id__": 490 } ], "_prefab": null, @@ -19337,7 +19625,7 @@ "_name": "", "_objFlags": 0, "node": { - "__id__": 480 + "__id__": 486 }, "_enabled": true, "_materials": [ @@ -19369,7 +19657,7 @@ "_name": "", "_objFlags": 0, "node": { - "__id__": 480 + "__id__": 486 }, "_enabled": true, "alignMode": 1, @@ -19396,7 +19684,7 @@ "_name": "", "_objFlags": 0, "node": { - "__id__": 480 + "__id__": 486 }, "_enabled": true, "_id": "78cdYZPrxA55BSOd8GUm92" @@ -19406,7 +19694,7 @@ "_name": "", "_objFlags": 0, "node": { - "__id__": 480 + "__id__": 486 }, "_enabled": true, "_id": "f7hoXaxyxE0bUKahJjizoI" @@ -19416,13 +19704,13 @@ "_name": "ping", "_objFlags": 0, "_parent": { - "__id__": 444 + "__id__": 450 }, "_children": [], "_active": true, "_components": [ { - "__id__": 486 + "__id__": 492 } ], "_prefab": null, @@ -19478,7 +19766,7 @@ "_name": "", "_objFlags": 0, "node": { - "__id__": 485 + "__id__": 491 }, "_enabled": true, "_materials": [ @@ -19511,7 +19799,7 @@ "_name": "", "_objFlags": 0, "node": { - "__id__": 444 + "__id__": 450 }, "_enabled": true, "alignMode": 1, @@ -19542,34 +19830,34 @@ }, "_children": [ { - "__id__": 489 + "__id__": 495 }, { - "__id__": 494 + "__id__": 500 }, { - "__id__": 499 + "__id__": 505 }, { - "__id__": 504 + "__id__": 510 }, { - "__id__": 509 + "__id__": 515 }, { - "__id__": 514 + "__id__": 520 }, { - "__id__": 519 + "__id__": 525 }, { - "__id__": 524 + "__id__": 530 } ], "_active": false, "_components": [ { - "__id__": 530 + "__id__": 538 } ], "_prefab": null, @@ -19625,22 +19913,22 @@ "_name": "New Sprite(Splash)", "_objFlags": 0, "_parent": { - "__id__": 488 + "__id__": 494 }, "_children": [], "_active": true, "_components": [ { - "__id__": 490 + "__id__": 496 }, { - "__id__": 491 + "__id__": 497 }, { - "__id__": 492 + "__id__": 498 }, { - "__id__": 493 + "__id__": 499 } ], "_prefab": null, @@ -19696,7 +19984,7 @@ "_name": "", "_objFlags": 0, "node": { - "__id__": 489 + "__id__": 495 }, "_enabled": true, "_materials": [ @@ -19728,7 +20016,7 @@ "_name": "", "_objFlags": 0, "node": { - "__id__": 489 + "__id__": 495 }, "_enabled": true, "alignMode": 1, @@ -19755,7 +20043,7 @@ "_name": "", "_objFlags": 0, "node": { - "__id__": 489 + "__id__": 495 }, "_enabled": true, "_id": "76uIObCAJIpY3+bjQzlXLH" @@ -19765,7 +20053,7 @@ "_name": "", "_objFlags": 0, "node": { - "__id__": 489 + "__id__": 495 }, "_enabled": true, "_id": "d4c+/bQbRFapRZHFrNtSj/" @@ -19775,22 +20063,22 @@ "_name": "sp", "_objFlags": 0, "_parent": { - "__id__": 488 + "__id__": 494 }, "_children": [], "_active": true, "_components": [ { - "__id__": 495 + "__id__": 501 }, { - "__id__": 496 + "__id__": 502 }, { - "__id__": 497 + "__id__": 503 }, { - "__id__": 498 + "__id__": 504 } ], "_prefab": null, @@ -19846,7 +20134,7 @@ "_name": "", "_objFlags": 0, "node": { - "__id__": 494 + "__id__": 500 }, "_enabled": true, "_materials": [ @@ -19878,7 +20166,7 @@ "_name": "", "_objFlags": 0, "node": { - "__id__": 494 + "__id__": 500 }, "_enabled": true, "alignMode": 1, @@ -19905,7 +20193,7 @@ "_name": "", "_objFlags": 0, "node": { - "__id__": 494 + "__id__": 500 }, "_enabled": true, "_id": "78zGFxyrNLo4ZWDoqiQwEn" @@ -19915,7 +20203,7 @@ "_name": "", "_objFlags": 0, "node": { - "__id__": 494 + "__id__": 500 }, "_enabled": true, "_id": "52LOYzgFVKSbhPnTEDvtKG" @@ -19925,22 +20213,22 @@ "_name": "New Sprite(Splash)", "_objFlags": 0, "_parent": { - "__id__": 488 + "__id__": 494 }, "_children": [], "_active": true, "_components": [ { - "__id__": 500 + "__id__": 506 }, { - "__id__": 501 + "__id__": 507 }, { - "__id__": 502 + "__id__": 508 }, { - "__id__": 503 + "__id__": 509 } ], "_prefab": null, @@ -19996,7 +20284,7 @@ "_name": "", "_objFlags": 0, "node": { - "__id__": 499 + "__id__": 505 }, "_enabled": true, "_materials": [ @@ -20028,7 +20316,7 @@ "_name": "", "_objFlags": 0, "node": { - "__id__": 499 + "__id__": 505 }, "_enabled": true, "alignMode": 1, @@ -20055,7 +20343,7 @@ "_name": "", "_objFlags": 0, "node": { - "__id__": 499 + "__id__": 505 }, "_enabled": true, "_id": "98G+ut5UFLGIahBN7U20MC" @@ -20065,7 +20353,7 @@ "_name": "", "_objFlags": 0, "node": { - "__id__": 499 + "__id__": 505 }, "_enabled": true, "_id": "c5A+qr2wdPNpyX+XoZTAeb" @@ -20075,22 +20363,22 @@ "_name": "New Sprite(Splash)", "_objFlags": 0, "_parent": { - "__id__": 488 + "__id__": 494 }, "_children": [], "_active": true, "_components": [ { - "__id__": 505 + "__id__": 511 }, { - "__id__": 506 + "__id__": 512 }, { - "__id__": 507 + "__id__": 513 }, { - "__id__": 508 + "__id__": 514 } ], "_prefab": null, @@ -20146,7 +20434,7 @@ "_name": "", "_objFlags": 0, "node": { - "__id__": 504 + "__id__": 510 }, "_enabled": true, "_materials": [ @@ -20178,7 +20466,7 @@ "_name": "", "_objFlags": 0, "node": { - "__id__": 504 + "__id__": 510 }, "_enabled": true, "alignMode": 1, @@ -20205,7 +20493,7 @@ "_name": "", "_objFlags": 0, "node": { - "__id__": 504 + "__id__": 510 }, "_enabled": true, "_id": "987sOL4r9BqYC6KoDUSY22" @@ -20215,7 +20503,7 @@ "_name": "", "_objFlags": 0, "node": { - "__id__": 504 + "__id__": 510 }, "_enabled": true, "_id": "a5oXXKuapB94jLx+9ASaZ3" @@ -20225,22 +20513,22 @@ "_name": "New Sprite(Splash)", "_objFlags": 0, "_parent": { - "__id__": 488 + "__id__": 494 }, "_children": [], "_active": true, "_components": [ { - "__id__": 510 + "__id__": 516 }, { - "__id__": 511 + "__id__": 517 }, { - "__id__": 512 + "__id__": 518 }, { - "__id__": 513 + "__id__": 519 } ], "_prefab": null, @@ -20296,7 +20584,7 @@ "_name": "", "_objFlags": 0, "node": { - "__id__": 509 + "__id__": 515 }, "_enabled": true, "_materials": [ @@ -20328,7 +20616,7 @@ "_name": "", "_objFlags": 0, "node": { - "__id__": 509 + "__id__": 515 }, "_enabled": true, "alignMode": 1, @@ -20355,7 +20643,7 @@ "_name": "", "_objFlags": 0, "node": { - "__id__": 509 + "__id__": 515 }, "_enabled": true, "_id": "63DJbLtVxLY6fdpHD4X76J" @@ -20365,7 +20653,7 @@ "_name": "", "_objFlags": 0, "node": { - "__id__": 509 + "__id__": 515 }, "_enabled": true, "_id": "23kcqbJRJG+aHxsX74scEG" @@ -20375,22 +20663,22 @@ "_name": "New Sprite(Splash)", "_objFlags": 0, "_parent": { - "__id__": 488 + "__id__": 494 }, "_children": [], "_active": true, "_components": [ { - "__id__": 515 + "__id__": 521 }, { - "__id__": 516 + "__id__": 522 }, { - "__id__": 517 + "__id__": 523 }, { - "__id__": 518 + "__id__": 524 } ], "_prefab": null, @@ -20446,7 +20734,7 @@ "_name": "", "_objFlags": 0, "node": { - "__id__": 514 + "__id__": 520 }, "_enabled": true, "_materials": [ @@ -20478,7 +20766,7 @@ "_name": "", "_objFlags": 0, "node": { - "__id__": 514 + "__id__": 520 }, "_enabled": true, "alignMode": 1, @@ -20505,7 +20793,7 @@ "_name": "", "_objFlags": 0, "node": { - "__id__": 514 + "__id__": 520 }, "_enabled": true, "_id": "14P/P3GW9HYYZG5689dd+v" @@ -20515,7 +20803,7 @@ "_name": "", "_objFlags": 0, "node": { - "__id__": 514 + "__id__": 520 }, "_enabled": true, "_id": "3a2kcOm1xKo56wHuMvImeN" @@ -20525,22 +20813,22 @@ "_name": "New Sprite(Splash)", "_objFlags": 0, "_parent": { - "__id__": 488 + "__id__": 494 }, "_children": [], "_active": true, "_components": [ { - "__id__": 520 + "__id__": 526 }, { - "__id__": 521 + "__id__": 527 }, { - "__id__": 522 + "__id__": 528 }, { - "__id__": 523 + "__id__": 529 } ], "_prefab": null, @@ -20596,7 +20884,7 @@ "_name": "", "_objFlags": 0, "node": { - "__id__": 519 + "__id__": 525 }, "_enabled": true, "_materials": [ @@ -20628,7 +20916,7 @@ "_name": "", "_objFlags": 0, "node": { - "__id__": 519 + "__id__": 525 }, "_enabled": true, "alignMode": 1, @@ -20655,7 +20943,7 @@ "_name": "", "_objFlags": 0, "node": { - "__id__": 519 + "__id__": 525 }, "_enabled": true, "_id": "eaKaKP5kZMlaoiK3pGFGQA" @@ -20665,7 +20953,7 @@ "_name": "", "_objFlags": 0, "node": { - "__id__": 519 + "__id__": 525 }, "_enabled": true, "_id": "ddDJLI/TZJaLd6nuMbYRzQ" @@ -20675,20 +20963,23 @@ "_name": "bg", "_objFlags": 0, "_parent": { - "__id__": 488 + "__id__": 494 }, "_children": [ { - "__id__": 525 + "__id__": 531 }, { - "__id__": 527 + "__id__": 533 + }, + { + "__id__": 535 } ], "_active": true, "_components": [ { - "__id__": 529 + "__id__": 537 } ], "_prefab": null, @@ -20744,13 +21035,13 @@ "_name": "point", "_objFlags": 0, "_parent": { - "__id__": 524 + "__id__": 530 }, "_children": [], "_active": true, "_components": [ { - "__id__": 526 + "__id__": 532 } ], "_prefab": null, @@ -20806,7 +21097,7 @@ "_name": "", "_objFlags": 0, "node": { - "__id__": 525 + "__id__": 531 }, "_enabled": true, "_materials": [ @@ -20840,13 +21131,13 @@ "_name": "content", "_objFlags": 0, "_parent": { - "__id__": 524 + "__id__": 530 }, "_children": [], "_active": true, "_components": [ { - "__id__": 528 + "__id__": 534 } ], "_prefab": null, @@ -20902,7 +21193,7 @@ "_name": "", "_objFlags": 0, "node": { - "__id__": 527 + "__id__": 533 }, "_enabled": true, "_materials": [ @@ -20912,8 +21203,8 @@ ], "_srcBlendFactor": 770, "_dstBlendFactor": 771, - "_string": "加固后就可以正常\n通过了", - "_N$string": "加固后就可以正常\n通过了", + "_string": "加固后就可以正常\n通过了, 点击\"上\"", + "_N$string": "加固后就可以正常\n通过了, 点击\"上\"", "_fontSize": 40, "_lineHeight": 60, "_enableWrapText": true, @@ -20932,12 +21223,109 @@ "_N$cacheMode": 0, "_id": "c1rGK0DLBPFLmkXRIyHzQS" }, + { + "__type__": "cc.Node", + "_name": "content", + "_objFlags": 0, + "_parent": { + "__id__": 530 + }, + "_children": [], + "_active": true, + "_components": [ + { + "__id__": 536 + } + ], + "_prefab": null, + "_opacity": 255, + "_color": { + "__type__": "cc.Color", + "r": 211, + "g": 70, + "b": 70, + "a": 255 + }, + "_contentSize": { + "__type__": "cc.Size", + "width": 170.56, + "height": 135.6 + }, + "_anchorPoint": { + "__type__": "cc.Vec2", + "x": 0.5, + "y": 0.5 + }, + "_trs": { + "__type__": "TypedArray", + "ctor": "Float64Array", + "array": [ + 67.817, + 0, + 0, + 0, + 0, + 0, + 1, + 1, + 1, + 1 + ] + }, + "_eulerAngles": { + "__type__": "cc.Vec3", + "x": 0, + "y": 0, + "z": 0 + }, + "_skewX": 0, + "_skewY": 0, + "_is3DNode": false, + "_groupIndex": 0, + "groupIndex": 0, + "_id": "26QDMBxZBLt5s3kZFLGcRB" + }, + { + "__type__": "cc.Label", + "_name": "", + "_objFlags": 0, + "node": { + "__id__": 535 + }, + "_enabled": true, + "_materials": [ + { + "__uuid__": "eca5d2f2-8ef6-41c2-bbe6-f9c79d09c432" + } + ], + "_srcBlendFactor": 770, + "_dstBlendFactor": 771, + "_string": "\n 点击\"上\"", + "_N$string": "\n 点击\"上\"", + "_fontSize": 40, + "_lineHeight": 60, + "_enableWrapText": true, + "_N$file": { + "__uuid__": "95d22fe7-7d01-4c03-bd3a-334278db3d92" + }, + "_isSystemFontUsed": false, + "_spacingX": 0, + "_batchAsBitmap": false, + "_styleFlags": 0, + "_underlineHeight": 0, + "_N$horizontalAlign": 1, + "_N$verticalAlign": 1, + "_N$fontFamily": "Arial", + "_N$overflow": 0, + "_N$cacheMode": 0, + "_id": "26e/a4jihK2J53GA1vydDo" + }, { "__type__": "cc.Sprite", "_name": "", "_objFlags": 0, "node": { - "__id__": 524 + "__id__": 530 }, "_enabled": true, "_materials": [ @@ -20971,7 +21359,7 @@ "_name": "", "_objFlags": 0, "node": { - "__id__": 488 + "__id__": 494 }, "_enabled": true, "alignMode": 1, @@ -21002,31 +21390,31 @@ }, "_children": [ { - "__id__": 532 + "__id__": 540 }, { - "__id__": 537 + "__id__": 545 }, { - "__id__": 542 + "__id__": 550 }, { - "__id__": 547 + "__id__": 555 }, { - "__id__": 552 + "__id__": 560 }, { - "__id__": 557 + "__id__": 565 }, { - "__id__": 562 + "__id__": 570 } ], "_active": false, "_components": [ { - "__id__": 568 + "__id__": 578 } ], "_prefab": null, @@ -21082,22 +21470,22 @@ "_name": "New Sprite(Splash)", "_objFlags": 0, "_parent": { - "__id__": 531 + "__id__": 539 }, "_children": [], "_active": true, "_components": [ { - "__id__": 533 + "__id__": 541 }, { - "__id__": 534 + "__id__": 542 }, { - "__id__": 535 + "__id__": 543 }, { - "__id__": 536 + "__id__": 544 } ], "_prefab": null, @@ -21153,7 +21541,7 @@ "_name": "", "_objFlags": 0, "node": { - "__id__": 532 + "__id__": 540 }, "_enabled": true, "_materials": [ @@ -21185,7 +21573,7 @@ "_name": "", "_objFlags": 0, "node": { - "__id__": 532 + "__id__": 540 }, "_enabled": true, "alignMode": 1, @@ -21212,7 +21600,7 @@ "_name": "", "_objFlags": 0, "node": { - "__id__": 532 + "__id__": 540 }, "_enabled": true, "_id": "79WU40bhNAkYtD2VA+dUP6" @@ -21222,7 +21610,7 @@ "_name": "", "_objFlags": 0, "node": { - "__id__": 532 + "__id__": 540 }, "_enabled": true, "_id": "d2L0Z71WJEKabqltCiZ1tb" @@ -21232,22 +21620,22 @@ "_name": "sp", "_objFlags": 0, "_parent": { - "__id__": 531 + "__id__": 539 }, "_children": [], "_active": true, "_components": [ { - "__id__": 538 + "__id__": 546 }, { - "__id__": 539 + "__id__": 547 }, { - "__id__": 540 + "__id__": 548 }, { - "__id__": 541 + "__id__": 549 } ], "_prefab": null, @@ -21303,7 +21691,7 @@ "_name": "", "_objFlags": 0, "node": { - "__id__": 537 + "__id__": 545 }, "_enabled": true, "_materials": [ @@ -21335,7 +21723,7 @@ "_name": "", "_objFlags": 0, "node": { - "__id__": 537 + "__id__": 545 }, "_enabled": true, "alignMode": 1, @@ -21362,7 +21750,7 @@ "_name": "", "_objFlags": 0, "node": { - "__id__": 537 + "__id__": 545 }, "_enabled": true, "_id": "044rHZf/5Hgq8XOQVY9ZFu" @@ -21372,7 +21760,7 @@ "_name": "", "_objFlags": 0, "node": { - "__id__": 537 + "__id__": 545 }, "_enabled": true, "_id": "f6jgcJTWFLL75S1FrYEscB" @@ -21382,22 +21770,22 @@ "_name": "New Sprite(Splash)", "_objFlags": 0, "_parent": { - "__id__": 531 + "__id__": 539 }, "_children": [], "_active": true, "_components": [ { - "__id__": 543 + "__id__": 551 }, { - "__id__": 544 + "__id__": 552 }, { - "__id__": 545 + "__id__": 553 }, { - "__id__": 546 + "__id__": 554 } ], "_prefab": null, @@ -21453,7 +21841,7 @@ "_name": "", "_objFlags": 0, "node": { - "__id__": 542 + "__id__": 550 }, "_enabled": true, "_materials": [ @@ -21485,7 +21873,7 @@ "_name": "", "_objFlags": 0, "node": { - "__id__": 542 + "__id__": 550 }, "_enabled": true, "alignMode": 1, @@ -21512,7 +21900,7 @@ "_name": "", "_objFlags": 0, "node": { - "__id__": 542 + "__id__": 550 }, "_enabled": true, "_id": "a71hbfguVMZIHcyyoDiPGf" @@ -21522,7 +21910,7 @@ "_name": "", "_objFlags": 0, "node": { - "__id__": 542 + "__id__": 550 }, "_enabled": true, "_id": "9b99GgHCxABIepN4gssoen" @@ -21532,22 +21920,22 @@ "_name": "New Sprite(Splash)", "_objFlags": 0, "_parent": { - "__id__": 531 + "__id__": 539 }, "_children": [], "_active": true, "_components": [ { - "__id__": 548 + "__id__": 556 }, { - "__id__": 549 + "__id__": 557 }, { - "__id__": 550 + "__id__": 558 }, { - "__id__": 551 + "__id__": 559 } ], "_prefab": null, @@ -21603,7 +21991,7 @@ "_name": "", "_objFlags": 0, "node": { - "__id__": 547 + "__id__": 555 }, "_enabled": true, "_materials": [ @@ -21635,7 +22023,7 @@ "_name": "", "_objFlags": 0, "node": { - "__id__": 547 + "__id__": 555 }, "_enabled": true, "alignMode": 1, @@ -21662,7 +22050,7 @@ "_name": "", "_objFlags": 0, "node": { - "__id__": 547 + "__id__": 555 }, "_enabled": true, "_id": "e7odRMuT5MFqBcZ18Z1euQ" @@ -21672,7 +22060,7 @@ "_name": "", "_objFlags": 0, "node": { - "__id__": 547 + "__id__": 555 }, "_enabled": true, "_id": "81+xovJJtIyqKXx1kAu0iY" @@ -21682,22 +22070,22 @@ "_name": "New Sprite(Splash)", "_objFlags": 0, "_parent": { - "__id__": 531 + "__id__": 539 }, "_children": [], "_active": true, "_components": [ { - "__id__": 553 + "__id__": 561 }, { - "__id__": 554 + "__id__": 562 }, { - "__id__": 555 + "__id__": 563 }, { - "__id__": 556 + "__id__": 564 } ], "_prefab": null, @@ -21753,7 +22141,7 @@ "_name": "", "_objFlags": 0, "node": { - "__id__": 552 + "__id__": 560 }, "_enabled": true, "_materials": [ @@ -21785,7 +22173,7 @@ "_name": "", "_objFlags": 0, "node": { - "__id__": 552 + "__id__": 560 }, "_enabled": true, "alignMode": 1, @@ -21812,7 +22200,7 @@ "_name": "", "_objFlags": 0, "node": { - "__id__": 552 + "__id__": 560 }, "_enabled": true, "_id": "d4nvplKjNIdbgkRDBMXGJl" @@ -21822,7 +22210,7 @@ "_name": "", "_objFlags": 0, "node": { - "__id__": 552 + "__id__": 560 }, "_enabled": true, "_id": "2er3Lp825K+Ym+WWvLNzHP" @@ -21832,22 +22220,22 @@ "_name": "New Sprite(Splash)", "_objFlags": 0, "_parent": { - "__id__": 531 + "__id__": 539 }, "_children": [], "_active": true, "_components": [ { - "__id__": 558 + "__id__": 566 }, { - "__id__": 559 + "__id__": 567 }, { - "__id__": 560 + "__id__": 568 }, { - "__id__": 561 + "__id__": 569 } ], "_prefab": null, @@ -21903,7 +22291,7 @@ "_name": "", "_objFlags": 0, "node": { - "__id__": 557 + "__id__": 565 }, "_enabled": true, "_materials": [ @@ -21935,7 +22323,7 @@ "_name": "", "_objFlags": 0, "node": { - "__id__": 557 + "__id__": 565 }, "_enabled": true, "alignMode": 1, @@ -21962,7 +22350,7 @@ "_name": "", "_objFlags": 0, "node": { - "__id__": 557 + "__id__": 565 }, "_enabled": true, "_id": "a11bA92ZxMfYpBNNXthHDY" @@ -21972,7 +22360,7 @@ "_name": "", "_objFlags": 0, "node": { - "__id__": 557 + "__id__": 565 }, "_enabled": true, "_id": "ae81z3NmNDaLn3hXBGA+zM" @@ -21982,20 +22370,23 @@ "_name": "bg", "_objFlags": 0, "_parent": { - "__id__": 531 + "__id__": 539 }, "_children": [ { - "__id__": 563 + "__id__": 571 }, { - "__id__": 565 + "__id__": 573 + }, + { + "__id__": 575 } ], "_active": true, "_components": [ { - "__id__": 567 + "__id__": 577 } ], "_prefab": null, @@ -22010,7 +22401,7 @@ "_contentSize": { "__type__": "cc.Size", "width": 700, - "height": 300 + "height": 350 }, "_anchorPoint": { "__type__": "cc.Vec2", @@ -22022,7 +22413,7 @@ "ctor": "Float64Array", "array": [ 2.071, - -336.475, + -305.447, 0, 0, 0, @@ -22051,13 +22442,13 @@ "_name": "point", "_objFlags": 0, "_parent": { - "__id__": 562 + "__id__": 570 }, "_children": [], "_active": true, "_components": [ { - "__id__": 564 + "__id__": 572 } ], "_prefab": null, @@ -22084,7 +22475,7 @@ "ctor": "Float64Array", "array": [ -86.079, - -178.677, + -195.914, 0, 0, 0, @@ -22113,7 +22504,7 @@ "_name": "", "_objFlags": 0, "node": { - "__id__": 563 + "__id__": 571 }, "_enabled": true, "_materials": [ @@ -22147,13 +22538,13 @@ "_name": "content", "_objFlags": 0, "_parent": { - "__id__": 562 + "__id__": 570 }, "_children": [], "_active": true, "_components": [ { - "__id__": 566 + "__id__": 574 } ], "_prefab": null, @@ -22168,7 +22559,7 @@ "_contentSize": { "__type__": "cc.Size", "width": 600, - "height": 315.6 + "height": 375.6 }, "_anchorPoint": { "__type__": "cc.Vec2", @@ -22209,7 +22600,7 @@ "_name": "", "_objFlags": 0, "node": { - "__id__": 565 + "__id__": 573 }, "_enabled": true, "_materials": [ @@ -22219,8 +22610,8 @@ ], "_srcBlendFactor": 770, "_dstBlendFactor": 771, - "_string": "使用大禹的宝物\"息壤\",堤坝便会\n自动向选的的方向自动生长,除非\n下一个是山峰或边界,息壤还会把\n经过的湿地变成平原,无需加固\n", - "_N$string": "使用大禹的宝物\"息壤\",堤坝便会\n自动向选的的方向自动生长,除非\n下一个是山峰或边界,息壤还会把\n经过的湿地变成平原,无需加固\n", + "_string": "使用大禹的宝物\"息壤\",堤坝便会\n自动向选的的方向自动生长,除非\n下一个是山峰或边界,息壤还会把\n经过的湿地变成平原,无需加固\n点击\"息壤\"\n", + "_N$string": "使用大禹的宝物\"息壤\",堤坝便会\n自动向选的的方向自动生长,除非\n下一个是山峰或边界,息壤还会把\n经过的湿地变成平原,无需加固\n点击\"息壤\"\n", "_fontSize": 40, "_lineHeight": 60, "_enableWrapText": true, @@ -22239,12 +22630,109 @@ "_N$cacheMode": 0, "_id": "a0/ZzX+FRM3YtIrWLUVpHa" }, + { + "__type__": "cc.Node", + "_name": "content", + "_objFlags": 0, + "_parent": { + "__id__": 570 + }, + "_children": [], + "_active": true, + "_components": [ + { + "__id__": 576 + } + ], + "_prefab": null, + "_opacity": 255, + "_color": { + "__type__": "cc.Color", + "r": 211, + "g": 70, + "b": 70, + "a": 255 + }, + "_contentSize": { + "__type__": "cc.Size", + "width": 198.72, + "height": 195.6 + }, + "_anchorPoint": { + "__type__": "cc.Vec2", + "x": 0.5, + "y": 0.5 + }, + "_trs": { + "__type__": "TypedArray", + "ctor": "Float64Array", + "array": [ + 0, + -118.247, + 0, + 0, + 0, + 0, + 1, + 1, + 1, + 1 + ] + }, + "_eulerAngles": { + "__type__": "cc.Vec3", + "x": 0, + "y": 0, + "z": 0 + }, + "_skewX": 0, + "_skewY": 0, + "_is3DNode": false, + "_groupIndex": 0, + "groupIndex": 0, + "_id": "ea57aObXREyZqsp0NW5M+z" + }, + { + "__type__": "cc.Label", + "_name": "", + "_objFlags": 0, + "node": { + "__id__": 575 + }, + "_enabled": true, + "_materials": [ + { + "__uuid__": "eca5d2f2-8ef6-41c2-bbe6-f9c79d09c432" + } + ], + "_srcBlendFactor": 770, + "_dstBlendFactor": 771, + "_string": "\n点击\"息壤\"\n", + "_N$string": "\n点击\"息壤\"\n", + "_fontSize": 40, + "_lineHeight": 60, + "_enableWrapText": true, + "_N$file": { + "__uuid__": "95d22fe7-7d01-4c03-bd3a-334278db3d92" + }, + "_isSystemFontUsed": false, + "_spacingX": 0, + "_batchAsBitmap": false, + "_styleFlags": 0, + "_underlineHeight": 0, + "_N$horizontalAlign": 1, + "_N$verticalAlign": 1, + "_N$fontFamily": "Arial", + "_N$overflow": 0, + "_N$cacheMode": 0, + "_id": "9fiKCMsGhNh552/0nvOqMx" + }, { "__type__": "cc.Sprite", "_name": "", "_objFlags": 0, "node": { - "__id__": 562 + "__id__": 570 }, "_enabled": true, "_materials": [ @@ -22278,7 +22766,7 @@ "_name": "", "_objFlags": 0, "node": { - "__id__": 531 + "__id__": 539 }, "_enabled": true, "alignMode": 1, @@ -22308,12 +22796,6 @@ "__id__": 108 }, "_children": [ - { - "__id__": 570 - }, - { - "__id__": 575 - }, { "__id__": 580 }, @@ -22331,12 +22813,18 @@ }, { "__id__": 605 + }, + { + "__id__": 610 + }, + { + "__id__": 615 } ], "_active": false, "_components": [ { - "__id__": 611 + "__id__": 623 } ], "_prefab": null, @@ -22392,22 +22880,22 @@ "_name": "New Sprite(Splash)", "_objFlags": 0, "_parent": { - "__id__": 569 + "__id__": 579 }, "_children": [], "_active": true, "_components": [ { - "__id__": 571 + "__id__": 581 }, { - "__id__": 572 + "__id__": 582 }, { - "__id__": 573 + "__id__": 583 }, { - "__id__": 574 + "__id__": 584 } ], "_prefab": null, @@ -22463,7 +22951,7 @@ "_name": "", "_objFlags": 0, "node": { - "__id__": 570 + "__id__": 580 }, "_enabled": true, "_materials": [ @@ -22495,7 +22983,7 @@ "_name": "", "_objFlags": 0, "node": { - "__id__": 570 + "__id__": 580 }, "_enabled": true, "alignMode": 1, @@ -22522,7 +23010,7 @@ "_name": "", "_objFlags": 0, "node": { - "__id__": 570 + "__id__": 580 }, "_enabled": true, "_id": "339v/9veBGZZx6e8fXEbjK" @@ -22532,7 +23020,7 @@ "_name": "", "_objFlags": 0, "node": { - "__id__": 570 + "__id__": 580 }, "_enabled": true, "_id": "4ajBte8chFn6EpTrlVEP1N" @@ -22542,22 +23030,22 @@ "_name": "sp", "_objFlags": 0, "_parent": { - "__id__": 569 + "__id__": 579 }, "_children": [], "_active": true, "_components": [ { - "__id__": 576 + "__id__": 586 }, { - "__id__": 577 + "__id__": 587 }, { - "__id__": 578 + "__id__": 588 }, { - "__id__": 579 + "__id__": 589 } ], "_prefab": null, @@ -22613,7 +23101,7 @@ "_name": "", "_objFlags": 0, "node": { - "__id__": 575 + "__id__": 585 }, "_enabled": true, "_materials": [ @@ -22645,7 +23133,7 @@ "_name": "", "_objFlags": 0, "node": { - "__id__": 575 + "__id__": 585 }, "_enabled": true, "alignMode": 1, @@ -22672,7 +23160,7 @@ "_name": "", "_objFlags": 0, "node": { - "__id__": 575 + "__id__": 585 }, "_enabled": true, "_id": "25JqeLjtNFKptH8GjH9z+o" @@ -22682,7 +23170,7 @@ "_name": "", "_objFlags": 0, "node": { - "__id__": 575 + "__id__": 585 }, "_enabled": true, "_id": "44SFJCdC1PYaxSiJa0DSQ0" @@ -22692,22 +23180,22 @@ "_name": "New Sprite(Splash)", "_objFlags": 0, "_parent": { - "__id__": 569 + "__id__": 579 }, "_children": [], "_active": true, "_components": [ { - "__id__": 581 + "__id__": 591 }, { - "__id__": 582 + "__id__": 592 }, { - "__id__": 583 + "__id__": 593 }, { - "__id__": 584 + "__id__": 594 } ], "_prefab": null, @@ -22763,7 +23251,7 @@ "_name": "", "_objFlags": 0, "node": { - "__id__": 580 + "__id__": 590 }, "_enabled": true, "_materials": [ @@ -22795,7 +23283,7 @@ "_name": "", "_objFlags": 0, "node": { - "__id__": 580 + "__id__": 590 }, "_enabled": true, "alignMode": 1, @@ -22822,7 +23310,7 @@ "_name": "", "_objFlags": 0, "node": { - "__id__": 580 + "__id__": 590 }, "_enabled": true, "_id": "1cAowo+0lMHpzGLnU3F3KD" @@ -22832,7 +23320,7 @@ "_name": "", "_objFlags": 0, "node": { - "__id__": 580 + "__id__": 590 }, "_enabled": true, "_id": "55QBkx+pxB/6WWAdc/sGSi" @@ -22842,22 +23330,22 @@ "_name": "New Sprite(Splash)", "_objFlags": 0, "_parent": { - "__id__": 569 + "__id__": 579 }, "_children": [], "_active": true, "_components": [ { - "__id__": 586 + "__id__": 596 }, { - "__id__": 587 + "__id__": 597 }, { - "__id__": 588 + "__id__": 598 }, { - "__id__": 589 + "__id__": 599 } ], "_prefab": null, @@ -22913,7 +23401,7 @@ "_name": "", "_objFlags": 0, "node": { - "__id__": 585 + "__id__": 595 }, "_enabled": true, "_materials": [ @@ -22945,7 +23433,7 @@ "_name": "", "_objFlags": 0, "node": { - "__id__": 585 + "__id__": 595 }, "_enabled": true, "alignMode": 1, @@ -22972,7 +23460,7 @@ "_name": "", "_objFlags": 0, "node": { - "__id__": 585 + "__id__": 595 }, "_enabled": true, "_id": "cbuMeAJVtCULECzeUeuMqP" @@ -22982,7 +23470,7 @@ "_name": "", "_objFlags": 0, "node": { - "__id__": 585 + "__id__": 595 }, "_enabled": true, "_id": "b2AluDfaNGO5IbFNH3J7fW" @@ -22992,22 +23480,22 @@ "_name": "New Sprite(Splash)", "_objFlags": 0, "_parent": { - "__id__": 569 + "__id__": 579 }, "_children": [], "_active": true, "_components": [ { - "__id__": 591 + "__id__": 601 }, { - "__id__": 592 + "__id__": 602 }, { - "__id__": 593 + "__id__": 603 }, { - "__id__": 594 + "__id__": 604 } ], "_prefab": null, @@ -23063,7 +23551,7 @@ "_name": "", "_objFlags": 0, "node": { - "__id__": 590 + "__id__": 600 }, "_enabled": true, "_materials": [ @@ -23095,7 +23583,7 @@ "_name": "", "_objFlags": 0, "node": { - "__id__": 590 + "__id__": 600 }, "_enabled": true, "alignMode": 1, @@ -23122,7 +23610,7 @@ "_name": "", "_objFlags": 0, "node": { - "__id__": 590 + "__id__": 600 }, "_enabled": true, "_id": "28M2/UyLxH1qV7h98quy2q" @@ -23132,7 +23620,7 @@ "_name": "", "_objFlags": 0, "node": { - "__id__": 590 + "__id__": 600 }, "_enabled": true, "_id": "eaWGJSRClARZCADqb24DFf" @@ -23142,22 +23630,22 @@ "_name": "New Sprite(Splash)", "_objFlags": 0, "_parent": { - "__id__": 569 + "__id__": 579 }, "_children": [], "_active": true, "_components": [ { - "__id__": 596 + "__id__": 606 }, { - "__id__": 597 + "__id__": 607 }, { - "__id__": 598 + "__id__": 608 }, { - "__id__": 599 + "__id__": 609 } ], "_prefab": null, @@ -23213,7 +23701,7 @@ "_name": "", "_objFlags": 0, "node": { - "__id__": 595 + "__id__": 605 }, "_enabled": true, "_materials": [ @@ -23245,7 +23733,7 @@ "_name": "", "_objFlags": 0, "node": { - "__id__": 595 + "__id__": 605 }, "_enabled": true, "alignMode": 1, @@ -23272,7 +23760,7 @@ "_name": "", "_objFlags": 0, "node": { - "__id__": 595 + "__id__": 605 }, "_enabled": true, "_id": "ab0mD8GaNCTY+1BZ4clPZZ" @@ -23282,7 +23770,7 @@ "_name": "", "_objFlags": 0, "node": { - "__id__": 595 + "__id__": 605 }, "_enabled": true, "_id": "2fQn0TraFN762pa0A863/i" @@ -23292,22 +23780,22 @@ "_name": "New Sprite(Splash)", "_objFlags": 0, "_parent": { - "__id__": 569 + "__id__": 579 }, "_children": [], "_active": true, "_components": [ { - "__id__": 601 + "__id__": 611 }, { - "__id__": 602 + "__id__": 612 }, { - "__id__": 603 + "__id__": 613 }, { - "__id__": 604 + "__id__": 614 } ], "_prefab": null, @@ -23363,7 +23851,7 @@ "_name": "", "_objFlags": 0, "node": { - "__id__": 600 + "__id__": 610 }, "_enabled": true, "_materials": [ @@ -23395,7 +23883,7 @@ "_name": "", "_objFlags": 0, "node": { - "__id__": 600 + "__id__": 610 }, "_enabled": true, "alignMode": 1, @@ -23422,7 +23910,7 @@ "_name": "", "_objFlags": 0, "node": { - "__id__": 600 + "__id__": 610 }, "_enabled": true, "_id": "2a1aLE7fxI4pCNIg44aqzN" @@ -23432,7 +23920,7 @@ "_name": "", "_objFlags": 0, "node": { - "__id__": 600 + "__id__": 610 }, "_enabled": true, "_id": "4ad+mlGWZPD4ix6kg3utHT" @@ -23442,20 +23930,23 @@ "_name": "bg", "_objFlags": 0, "_parent": { - "__id__": 569 + "__id__": 579 }, "_children": [ { - "__id__": 606 + "__id__": 616 }, { - "__id__": 608 + "__id__": 618 + }, + { + "__id__": 620 } ], "_active": true, "_components": [ { - "__id__": 610 + "__id__": 622 } ], "_prefab": null, @@ -23469,8 +23960,8 @@ }, "_contentSize": { "__type__": "cc.Size", - "width": 500, - "height": 200 + "width": 550, + "height": 180 }, "_anchorPoint": { "__type__": "cc.Vec2", @@ -23511,13 +24002,13 @@ "_name": "point", "_objFlags": 0, "_parent": { - "__id__": 605 + "__id__": 615 }, "_children": [], "_active": true, "_components": [ { - "__id__": 607 + "__id__": 617 } ], "_prefab": null, @@ -23544,7 +24035,7 @@ "ctor": "Float64Array", "array": [ -87.48, - -122.62, + -117.248, 0, 0, 0, @@ -23573,7 +24064,7 @@ "_name": "", "_objFlags": 0, "node": { - "__id__": 606 + "__id__": 616 }, "_enabled": true, "_materials": [ @@ -23607,13 +24098,13 @@ "_name": "content", "_objFlags": 0, "_parent": { - "__id__": 605 + "__id__": 615 }, "_children": [], "_active": true, "_components": [ { - "__id__": 609 + "__id__": 619 } ], "_prefab": null, @@ -23627,7 +24118,7 @@ }, "_contentSize": { "__type__": "cc.Size", - "width": 400, + "width": 425.44, "height": 135.6 }, "_anchorPoint": { @@ -23669,7 +24160,7 @@ "_name": "", "_objFlags": 0, "node": { - "__id__": 608 + "__id__": 618 }, "_enabled": true, "_materials": [ @@ -23679,8 +24170,8 @@ ], "_srcBlendFactor": 770, "_dstBlendFactor": 771, - "_string": "使用息壤后,选中方向\n息壤即可生效", - "_N$string": "使用息壤后,选中方向\n息壤即可生效", + "_string": "使用息壤后,点击\"右\"\n选中方向, 息壤即可生效", + "_N$string": "使用息壤后,点击\"右\"\n选中方向, 息壤即可生效", "_fontSize": 40, "_lineHeight": 60, "_enableWrapText": true, @@ -23699,12 +24190,109 @@ "_N$cacheMode": 0, "_id": "a6A++MrFREhpMkBEy6c8/7" }, + { + "__type__": "cc.Node", + "_name": "content", + "_objFlags": 0, + "_parent": { + "__id__": 615 + }, + "_children": [], + "_active": true, + "_components": [ + { + "__id__": 621 + } + ], + "_prefab": null, + "_opacity": 255, + "_color": { + "__type__": "cc.Color", + "r": 211, + "g": 70, + "b": 70, + "a": 255 + }, + "_contentSize": { + "__type__": "cc.Size", + "width": 158.72, + "height": 135.6 + }, + "_anchorPoint": { + "__type__": "cc.Vec2", + "x": 0.5, + "y": 0.5 + }, + "_trs": { + "__type__": "TypedArray", + "ctor": "Float64Array", + "array": [ + 120.074, + -2.625, + 0, + 0, + 0, + 0, + 1, + 1, + 1, + 1 + ] + }, + "_eulerAngles": { + "__type__": "cc.Vec3", + "x": 0, + "y": 0, + "z": 0 + }, + "_skewX": 0, + "_skewY": 0, + "_is3DNode": false, + "_groupIndex": 0, + "groupIndex": 0, + "_id": "dcqVcSlwJNnYFl6Sn0cbqr" + }, + { + "__type__": "cc.Label", + "_name": "", + "_objFlags": 0, + "node": { + "__id__": 620 + }, + "_enabled": true, + "_materials": [ + { + "__uuid__": "eca5d2f2-8ef6-41c2-bbe6-f9c79d09c432" + } + ], + "_srcBlendFactor": 770, + "_dstBlendFactor": 771, + "_string": "点击\"右\"\n", + "_N$string": "点击\"右\"\n", + "_fontSize": 40, + "_lineHeight": 60, + "_enableWrapText": true, + "_N$file": { + "__uuid__": "95d22fe7-7d01-4c03-bd3a-334278db3d92" + }, + "_isSystemFontUsed": false, + "_spacingX": 0, + "_batchAsBitmap": false, + "_styleFlags": 0, + "_underlineHeight": 0, + "_N$horizontalAlign": 1, + "_N$verticalAlign": 1, + "_N$fontFamily": "Arial", + "_N$overflow": 0, + "_N$cacheMode": 0, + "_id": "59yEAxfQlEiIjiGI78y2FW" + }, { "__type__": "cc.Sprite", "_name": "", "_objFlags": 0, "node": { - "__id__": 605 + "__id__": 615 }, "_enabled": true, "_materials": [ @@ -23738,7 +24326,7 @@ "_name": "", "_objFlags": 0, "node": { - "__id__": 569 + "__id__": 579 }, "_enabled": true, "alignMode": 1, @@ -23769,28 +24357,28 @@ }, "_children": [ { - "__id__": 613 + "__id__": 625 }, { - "__id__": 618 + "__id__": 630 }, { - "__id__": 623 + "__id__": 635 }, { - "__id__": 628 + "__id__": 640 }, { - "__id__": 633 + "__id__": 645 }, { - "__id__": 638 + "__id__": 650 } ], "_active": false, "_components": [ { - "__id__": 644 + "__id__": 658 } ], "_prefab": null, @@ -23846,22 +24434,22 @@ "_name": "New Sprite(Splash)", "_objFlags": 0, "_parent": { - "__id__": 612 + "__id__": 624 }, "_children": [], "_active": true, "_components": [ { - "__id__": 614 + "__id__": 626 }, { - "__id__": 615 + "__id__": 627 }, { - "__id__": 616 + "__id__": 628 }, { - "__id__": 617 + "__id__": 629 } ], "_prefab": null, @@ -23917,7 +24505,7 @@ "_name": "", "_objFlags": 0, "node": { - "__id__": 613 + "__id__": 625 }, "_enabled": true, "_materials": [ @@ -23949,7 +24537,7 @@ "_name": "", "_objFlags": 0, "node": { - "__id__": 613 + "__id__": 625 }, "_enabled": true, "alignMode": 1, @@ -23976,7 +24564,7 @@ "_name": "", "_objFlags": 0, "node": { - "__id__": 613 + "__id__": 625 }, "_enabled": true, "_id": "63PTADk/NM5Yre+yx17HeQ" @@ -23986,7 +24574,7 @@ "_name": "", "_objFlags": 0, "node": { - "__id__": 613 + "__id__": 625 }, "_enabled": true, "_id": "d1eQkPRU1D8afz5Fj2XrkX" @@ -23996,22 +24584,22 @@ "_name": "sp", "_objFlags": 0, "_parent": { - "__id__": 612 + "__id__": 624 }, "_children": [], "_active": true, "_components": [ { - "__id__": 619 + "__id__": 631 }, { - "__id__": 620 + "__id__": 632 }, { - "__id__": 621 + "__id__": 633 }, { - "__id__": 622 + "__id__": 634 } ], "_prefab": null, @@ -24067,7 +24655,7 @@ "_name": "", "_objFlags": 0, "node": { - "__id__": 618 + "__id__": 630 }, "_enabled": true, "_materials": [ @@ -24099,7 +24687,7 @@ "_name": "", "_objFlags": 0, "node": { - "__id__": 618 + "__id__": 630 }, "_enabled": true, "alignMode": 1, @@ -24126,7 +24714,7 @@ "_name": "", "_objFlags": 0, "node": { - "__id__": 618 + "__id__": 630 }, "_enabled": true, "_id": "6aLIg9mopKMo8s21VKxMRH" @@ -24136,7 +24724,7 @@ "_name": "", "_objFlags": 0, "node": { - "__id__": 618 + "__id__": 630 }, "_enabled": true, "_id": "0ckFN4itxF0KCeR5R3+mWH" @@ -24146,22 +24734,22 @@ "_name": "New Sprite(Splash)", "_objFlags": 0, "_parent": { - "__id__": 612 + "__id__": 624 }, "_children": [], "_active": true, "_components": [ { - "__id__": 624 + "__id__": 636 }, { - "__id__": 625 + "__id__": 637 }, { - "__id__": 626 + "__id__": 638 }, { - "__id__": 627 + "__id__": 639 } ], "_prefab": null, @@ -24217,7 +24805,7 @@ "_name": "", "_objFlags": 0, "node": { - "__id__": 623 + "__id__": 635 }, "_enabled": true, "_materials": [ @@ -24249,7 +24837,7 @@ "_name": "", "_objFlags": 0, "node": { - "__id__": 623 + "__id__": 635 }, "_enabled": true, "alignMode": 1, @@ -24276,7 +24864,7 @@ "_name": "", "_objFlags": 0, "node": { - "__id__": 623 + "__id__": 635 }, "_enabled": true, "_id": "51vC4wCwlBPr//5QM+YTxP" @@ -24286,7 +24874,7 @@ "_name": "", "_objFlags": 0, "node": { - "__id__": 623 + "__id__": 635 }, "_enabled": true, "_id": "79d1ziGOtKopzKegQUWr66" @@ -24296,22 +24884,22 @@ "_name": "New Sprite(Splash)", "_objFlags": 0, "_parent": { - "__id__": 612 + "__id__": 624 }, "_children": [], "_active": true, "_components": [ { - "__id__": 629 + "__id__": 641 }, { - "__id__": 630 + "__id__": 642 }, { - "__id__": 631 + "__id__": 643 }, { - "__id__": 632 + "__id__": 644 } ], "_prefab": null, @@ -24367,7 +24955,7 @@ "_name": "", "_objFlags": 0, "node": { - "__id__": 628 + "__id__": 640 }, "_enabled": true, "_materials": [ @@ -24399,7 +24987,7 @@ "_name": "", "_objFlags": 0, "node": { - "__id__": 628 + "__id__": 640 }, "_enabled": true, "alignMode": 1, @@ -24426,7 +25014,7 @@ "_name": "", "_objFlags": 0, "node": { - "__id__": 628 + "__id__": 640 }, "_enabled": true, "_id": "6eHmuRMPpKaqRl2QS3Xt+Y" @@ -24436,7 +25024,7 @@ "_name": "", "_objFlags": 0, "node": { - "__id__": 628 + "__id__": 640 }, "_enabled": true, "_id": "18IBh9JztE+brPHgftqK3V" @@ -24446,22 +25034,22 @@ "_name": "New Sprite(Splash)", "_objFlags": 0, "_parent": { - "__id__": 612 + "__id__": 624 }, "_children": [], "_active": true, "_components": [ { - "__id__": 634 + "__id__": 646 }, { - "__id__": 635 + "__id__": 647 }, { - "__id__": 636 + "__id__": 648 }, { - "__id__": 637 + "__id__": 649 } ], "_prefab": null, @@ -24517,7 +25105,7 @@ "_name": "", "_objFlags": 0, "node": { - "__id__": 633 + "__id__": 645 }, "_enabled": true, "_materials": [ @@ -24549,7 +25137,7 @@ "_name": "", "_objFlags": 0, "node": { - "__id__": 633 + "__id__": 645 }, "_enabled": true, "alignMode": 1, @@ -24576,7 +25164,7 @@ "_name": "", "_objFlags": 0, "node": { - "__id__": 633 + "__id__": 645 }, "_enabled": true, "_id": "cfJOoqcpJPXZFzlJ8cIvc5" @@ -24586,7 +25174,7 @@ "_name": "", "_objFlags": 0, "node": { - "__id__": 633 + "__id__": 645 }, "_enabled": true, "_id": "b4JBhEpwVABb8B9DQt5i/d" @@ -24596,20 +25184,23 @@ "_name": "bg", "_objFlags": 0, "_parent": { - "__id__": 612 + "__id__": 624 }, "_children": [ { - "__id__": 639 + "__id__": 651 }, { - "__id__": 641 + "__id__": 653 + }, + { + "__id__": 655 } ], "_active": true, "_components": [ { - "__id__": 643 + "__id__": 657 } ], "_prefab": null, @@ -24665,13 +25256,13 @@ "_name": "point", "_objFlags": 0, "_parent": { - "__id__": 638 + "__id__": 650 }, "_children": [], "_active": true, "_components": [ { - "__id__": 640 + "__id__": 652 } ], "_prefab": null, @@ -24727,7 +25318,7 @@ "_name": "", "_objFlags": 0, "node": { - "__id__": 639 + "__id__": 651 }, "_enabled": true, "_materials": [ @@ -24761,13 +25352,13 @@ "_name": "content", "_objFlags": 0, "_parent": { - "__id__": 638 + "__id__": 650 }, "_children": [], "_active": true, "_components": [ { - "__id__": 642 + "__id__": 654 } ], "_prefab": null, @@ -24823,7 +25414,7 @@ "_name": "", "_objFlags": 0, "node": { - "__id__": 641 + "__id__": 653 }, "_enabled": true, "_materials": [ @@ -24833,8 +25424,8 @@ ], "_srcBlendFactor": 770, "_dstBlendFactor": 771, - "_string": "息壤遇到入海口时也会自动停下\n快试试吧", - "_N$string": "息壤遇到入海口时也会自动停下\n快试试吧", + "_string": "息壤遇到入海口时也会自动停下\n点击\"息壤\", 快试试吧", + "_N$string": "息壤遇到入海口时也会自动停下\n点击\"息壤\", 快试试吧", "_fontSize": 40, "_lineHeight": 60, "_enableWrapText": true, @@ -24853,12 +25444,109 @@ "_N$cacheMode": 0, "_id": "65a73o6F9DXKG0mO77H1cg" }, + { + "__type__": "cc.Node", + "_name": "content", + "_objFlags": 0, + "_parent": { + "__id__": 650 + }, + "_children": [], + "_active": true, + "_components": [ + { + "__id__": 656 + } + ], + "_prefab": null, + "_opacity": 255, + "_color": { + "__type__": "cc.Color", + "r": 211, + "g": 70, + "b": 70, + "a": 255 + }, + "_contentSize": { + "__type__": "cc.Size", + "width": 224.16, + "height": 135.6 + }, + "_anchorPoint": { + "__type__": "cc.Vec2", + "x": 0.5, + "y": 0.5 + }, + "_trs": { + "__type__": "TypedArray", + "ctor": "Float64Array", + "array": [ + -80.05, + -6.151, + 0, + 0, + 0, + 0, + 1, + 1, + 1, + 1 + ] + }, + "_eulerAngles": { + "__type__": "cc.Vec3", + "x": 0, + "y": 0, + "z": 0 + }, + "_skewX": 0, + "_skewY": 0, + "_is3DNode": false, + "_groupIndex": 0, + "groupIndex": 0, + "_id": "19GEip/MlI8oaMgtn/cj65" + }, + { + "__type__": "cc.Label", + "_name": "", + "_objFlags": 0, + "node": { + "__id__": 655 + }, + "_enabled": true, + "_materials": [ + { + "__uuid__": "eca5d2f2-8ef6-41c2-bbe6-f9c79d09c432" + } + ], + "_srcBlendFactor": 770, + "_dstBlendFactor": 771, + "_string": "\n点击\"息壤\", ", + "_N$string": "\n点击\"息壤\", ", + "_fontSize": 40, + "_lineHeight": 60, + "_enableWrapText": true, + "_N$file": { + "__uuid__": "95d22fe7-7d01-4c03-bd3a-334278db3d92" + }, + "_isSystemFontUsed": false, + "_spacingX": 0, + "_batchAsBitmap": false, + "_styleFlags": 0, + "_underlineHeight": 0, + "_N$horizontalAlign": 1, + "_N$verticalAlign": 1, + "_N$fontFamily": "Arial", + "_N$overflow": 0, + "_N$cacheMode": 0, + "_id": "eeHlu5FlFJ4K8VzMeMAoyN" + }, { "__type__": "cc.Sprite", "_name": "", "_objFlags": 0, "node": { - "__id__": 638 + "__id__": 650 }, "_enabled": true, "_materials": [ @@ -24892,7 +25580,7 @@ "_name": "", "_objFlags": 0, "node": { - "__id__": 612 + "__id__": 624 }, "_enabled": true, "alignMode": 1, @@ -24923,31 +25611,31 @@ }, "_children": [ { - "__id__": 646 + "__id__": 660 }, { - "__id__": 651 + "__id__": 665 }, { - "__id__": 656 + "__id__": 670 }, { - "__id__": 661 + "__id__": 675 }, { - "__id__": 666 + "__id__": 680 }, { - "__id__": 671 + "__id__": 685 }, { - "__id__": 676 + "__id__": 690 } ], "_active": false, "_components": [ { - "__id__": 682 + "__id__": 698 } ], "_prefab": null, @@ -25003,22 +25691,22 @@ "_name": "New Sprite(Splash)", "_objFlags": 0, "_parent": { - "__id__": 645 + "__id__": 659 }, "_children": [], "_active": true, "_components": [ { - "__id__": 647 + "__id__": 661 }, { - "__id__": 648 + "__id__": 662 }, { - "__id__": 649 + "__id__": 663 }, { - "__id__": 650 + "__id__": 664 } ], "_prefab": null, @@ -25074,7 +25762,7 @@ "_name": "", "_objFlags": 0, "node": { - "__id__": 646 + "__id__": 660 }, "_enabled": true, "_materials": [ @@ -25106,7 +25794,7 @@ "_name": "", "_objFlags": 0, "node": { - "__id__": 646 + "__id__": 660 }, "_enabled": true, "alignMode": 1, @@ -25133,7 +25821,7 @@ "_name": "", "_objFlags": 0, "node": { - "__id__": 646 + "__id__": 660 }, "_enabled": true, "_id": "08hU0FKbNASrrBMthUIRG5" @@ -25143,7 +25831,7 @@ "_name": "", "_objFlags": 0, "node": { - "__id__": 646 + "__id__": 660 }, "_enabled": true, "_id": "3fswEILLNLubtAn/3tAJWG" @@ -25153,22 +25841,22 @@ "_name": "sp", "_objFlags": 0, "_parent": { - "__id__": 645 + "__id__": 659 }, "_children": [], "_active": true, "_components": [ { - "__id__": 652 + "__id__": 666 }, { - "__id__": 653 + "__id__": 667 }, { - "__id__": 654 + "__id__": 668 }, { - "__id__": 655 + "__id__": 669 } ], "_prefab": null, @@ -25224,7 +25912,7 @@ "_name": "", "_objFlags": 0, "node": { - "__id__": 651 + "__id__": 665 }, "_enabled": true, "_materials": [ @@ -25256,7 +25944,7 @@ "_name": "", "_objFlags": 0, "node": { - "__id__": 651 + "__id__": 665 }, "_enabled": true, "alignMode": 1, @@ -25283,7 +25971,7 @@ "_name": "", "_objFlags": 0, "node": { - "__id__": 651 + "__id__": 665 }, "_enabled": true, "_id": "00Qad2sg1Hj7itGroF4/zs" @@ -25293,7 +25981,7 @@ "_name": "", "_objFlags": 0, "node": { - "__id__": 651 + "__id__": 665 }, "_enabled": true, "_id": "8azbZA7HJGH6ffTa6XKz+n" @@ -25303,22 +25991,22 @@ "_name": "New Sprite(Splash)", "_objFlags": 0, "_parent": { - "__id__": 645 + "__id__": 659 }, "_children": [], "_active": true, "_components": [ { - "__id__": 657 + "__id__": 671 }, { - "__id__": 658 + "__id__": 672 }, { - "__id__": 659 + "__id__": 673 }, { - "__id__": 660 + "__id__": 674 } ], "_prefab": null, @@ -25374,7 +26062,7 @@ "_name": "", "_objFlags": 0, "node": { - "__id__": 656 + "__id__": 670 }, "_enabled": true, "_materials": [ @@ -25406,7 +26094,7 @@ "_name": "", "_objFlags": 0, "node": { - "__id__": 656 + "__id__": 670 }, "_enabled": true, "alignMode": 1, @@ -25433,7 +26121,7 @@ "_name": "", "_objFlags": 0, "node": { - "__id__": 656 + "__id__": 670 }, "_enabled": true, "_id": "5a6YLlAhFMaYcs26mhXSk1" @@ -25443,7 +26131,7 @@ "_name": "", "_objFlags": 0, "node": { - "__id__": 656 + "__id__": 670 }, "_enabled": true, "_id": "b44Gk+CzFEPJSlgVu+4P9w" @@ -25453,22 +26141,22 @@ "_name": "New Sprite(Splash)", "_objFlags": 0, "_parent": { - "__id__": 645 + "__id__": 659 }, "_children": [], "_active": true, "_components": [ { - "__id__": 662 + "__id__": 676 }, { - "__id__": 663 + "__id__": 677 }, { - "__id__": 664 + "__id__": 678 }, { - "__id__": 665 + "__id__": 679 } ], "_prefab": null, @@ -25524,7 +26212,7 @@ "_name": "", "_objFlags": 0, "node": { - "__id__": 661 + "__id__": 675 }, "_enabled": true, "_materials": [ @@ -25556,7 +26244,7 @@ "_name": "", "_objFlags": 0, "node": { - "__id__": 661 + "__id__": 675 }, "_enabled": true, "alignMode": 1, @@ -25583,7 +26271,7 @@ "_name": "", "_objFlags": 0, "node": { - "__id__": 661 + "__id__": 675 }, "_enabled": true, "_id": "61Vfr07rBIL7J/A7kbtyKo" @@ -25593,7 +26281,7 @@ "_name": "", "_objFlags": 0, "node": { - "__id__": 661 + "__id__": 675 }, "_enabled": true, "_id": "20Ryiks65BVq7wxboM8Jem" @@ -25603,22 +26291,22 @@ "_name": "New Sprite(Splash)", "_objFlags": 0, "_parent": { - "__id__": 645 + "__id__": 659 }, "_children": [], "_active": true, "_components": [ { - "__id__": 667 + "__id__": 681 }, { - "__id__": 668 + "__id__": 682 }, { - "__id__": 669 + "__id__": 683 }, { - "__id__": 670 + "__id__": 684 } ], "_prefab": null, @@ -25674,7 +26362,7 @@ "_name": "", "_objFlags": 0, "node": { - "__id__": 666 + "__id__": 680 }, "_enabled": true, "_materials": [ @@ -25706,7 +26394,7 @@ "_name": "", "_objFlags": 0, "node": { - "__id__": 666 + "__id__": 680 }, "_enabled": true, "alignMode": 1, @@ -25733,7 +26421,7 @@ "_name": "", "_objFlags": 0, "node": { - "__id__": 666 + "__id__": 680 }, "_enabled": true, "_id": "c2rwWRe9pN/7iC4F9ffWYq" @@ -25743,7 +26431,7 @@ "_name": "", "_objFlags": 0, "node": { - "__id__": 666 + "__id__": 680 }, "_enabled": true, "_id": "3cJaWHK11Asqb/gnUJEvgB" @@ -25753,22 +26441,22 @@ "_name": "New Sprite(Splash)", "_objFlags": 0, "_parent": { - "__id__": 645 + "__id__": 659 }, "_children": [], "_active": true, "_components": [ { - "__id__": 672 + "__id__": 686 }, { - "__id__": 673 + "__id__": 687 }, { - "__id__": 674 + "__id__": 688 }, { - "__id__": 675 + "__id__": 689 } ], "_prefab": null, @@ -25824,7 +26512,7 @@ "_name": "", "_objFlags": 0, "node": { - "__id__": 671 + "__id__": 685 }, "_enabled": true, "_materials": [ @@ -25856,7 +26544,7 @@ "_name": "", "_objFlags": 0, "node": { - "__id__": 671 + "__id__": 685 }, "_enabled": true, "alignMode": 1, @@ -25883,7 +26571,7 @@ "_name": "", "_objFlags": 0, "node": { - "__id__": 671 + "__id__": 685 }, "_enabled": true, "_id": "4djucFu/BKkb4M/bHFSou0" @@ -25893,7 +26581,7 @@ "_name": "", "_objFlags": 0, "node": { - "__id__": 671 + "__id__": 685 }, "_enabled": true, "_id": "c8xyGmMD5Oa6hjoeQZgDA+" @@ -25903,20 +26591,23 @@ "_name": "bg", "_objFlags": 0, "_parent": { - "__id__": 645 + "__id__": 659 }, "_children": [ { - "__id__": 677 + "__id__": 691 }, { - "__id__": 679 + "__id__": 693 + }, + { + "__id__": 695 } ], "_active": true, "_components": [ { - "__id__": 681 + "__id__": 697 } ], "_prefab": null, @@ -25931,7 +26622,7 @@ "_contentSize": { "__type__": "cc.Size", "width": 600, - "height": 140 + "height": 180 }, "_anchorPoint": { "__type__": "cc.Vec2", @@ -25943,7 +26634,7 @@ "ctor": "Float64Array", "array": [ 9.265, - -304.15, + -273.26, 0, 0, 0, @@ -25972,13 +26663,13 @@ "_name": "point", "_objFlags": 0, "_parent": { - "__id__": 676 + "__id__": 690 }, "_children": [], "_active": true, "_components": [ { - "__id__": 678 + "__id__": 692 } ], "_prefab": null, @@ -26005,7 +26696,7 @@ "ctor": "Float64Array", "array": [ -159.764, - -95.656, + -119.831, 0, 0, 0, @@ -26034,7 +26725,7 @@ "_name": "", "_objFlags": 0, "node": { - "__id__": 677 + "__id__": 691 }, "_enabled": true, "_materials": [ @@ -26068,13 +26759,13 @@ "_name": "content", "_objFlags": 0, "_parent": { - "__id__": 676 + "__id__": 690 }, "_children": [], "_active": true, "_components": [ { - "__id__": 680 + "__id__": 694 } ], "_prefab": null, @@ -26089,7 +26780,7 @@ "_contentSize": { "__type__": "cc.Size", "width": 520, - "height": 75.6 + "height": 135.6 }, "_anchorPoint": { "__type__": "cc.Vec2", @@ -26130,7 +26821,7 @@ "_name": "", "_objFlags": 0, "node": { - "__id__": 679 + "__id__": 693 }, "_enabled": true, "_materials": [ @@ -26140,8 +26831,8 @@ ], "_srcBlendFactor": 770, "_dstBlendFactor": 771, - "_string": "使用息壤后,向下引入入海口", - "_N$string": "使用息壤后,向下引入入海口", + "_string": "使用息壤后,向下引入入海口\n点击\"下\"", + "_N$string": "使用息壤后,向下引入入海口\n点击\"下\"", "_fontSize": 40, "_lineHeight": 60, "_enableWrapText": true, @@ -26160,12 +26851,109 @@ "_N$cacheMode": 0, "_id": "eceo/wZWlDs4/IQpm5Oy1n" }, + { + "__type__": "cc.Node", + "_name": "content", + "_objFlags": 0, + "_parent": { + "__id__": 690 + }, + "_children": [], + "_active": true, + "_components": [ + { + "__id__": 696 + } + ], + "_prefab": null, + "_opacity": 255, + "_color": { + "__type__": "cc.Color", + "r": 211, + "g": 70, + "b": 70, + "a": 255 + }, + "_contentSize": { + "__type__": "cc.Size", + "width": 158.72, + "height": 135.6 + }, + "_anchorPoint": { + "__type__": "cc.Vec2", + "x": 0.5, + "y": 0.5 + }, + "_trs": { + "__type__": "TypedArray", + "ctor": "Float64Array", + "array": [ + 0, + 2.842, + 0, + 0, + 0, + 0, + 1, + 1, + 1, + 1 + ] + }, + "_eulerAngles": { + "__type__": "cc.Vec3", + "x": 0, + "y": 0, + "z": 0 + }, + "_skewX": 0, + "_skewY": 0, + "_is3DNode": false, + "_groupIndex": 0, + "groupIndex": 0, + "_id": "27RSqUYTtEuofc2d7KYug+" + }, + { + "__type__": "cc.Label", + "_name": "", + "_objFlags": 0, + "node": { + "__id__": 695 + }, + "_enabled": true, + "_materials": [ + { + "__uuid__": "eca5d2f2-8ef6-41c2-bbe6-f9c79d09c432" + } + ], + "_srcBlendFactor": 770, + "_dstBlendFactor": 771, + "_string": "\n点击\"下\"", + "_N$string": "\n点击\"下\"", + "_fontSize": 40, + "_lineHeight": 60, + "_enableWrapText": true, + "_N$file": { + "__uuid__": "95d22fe7-7d01-4c03-bd3a-334278db3d92" + }, + "_isSystemFontUsed": false, + "_spacingX": 0, + "_batchAsBitmap": false, + "_styleFlags": 0, + "_underlineHeight": 0, + "_N$horizontalAlign": 1, + "_N$verticalAlign": 1, + "_N$fontFamily": "Arial", + "_N$overflow": 0, + "_N$cacheMode": 0, + "_id": "87IJ+AttVFjaxSzBUrYd89" + }, { "__type__": "cc.Sprite", "_name": "", "_objFlags": 0, "node": { - "__id__": 676 + "__id__": 690 }, "_enabled": true, "_materials": [ @@ -26199,7 +26987,7 @@ "_name": "", "_objFlags": 0, "node": { - "__id__": 645 + "__id__": 659 }, "_enabled": true, "alignMode": 1, @@ -26230,22 +27018,22 @@ }, "_children": [ { - "__id__": 684 + "__id__": 700 }, { - "__id__": 689 + "__id__": 705 }, { - "__id__": 694 + "__id__": 710 }, { - "__id__": 699 + "__id__": 715 } ], "_active": false, "_components": [ { - "__id__": 705 + "__id__": 723 } ], "_prefab": null, @@ -26301,22 +27089,22 @@ "_name": "New Sprite(Splash)", "_objFlags": 0, "_parent": { - "__id__": 683 + "__id__": 699 }, "_children": [], "_active": true, "_components": [ { - "__id__": 685 + "__id__": 701 }, { - "__id__": 686 + "__id__": 702 }, { - "__id__": 687 + "__id__": 703 }, { - "__id__": 688 + "__id__": 704 } ], "_prefab": null, @@ -26372,7 +27160,7 @@ "_name": "", "_objFlags": 0, "node": { - "__id__": 684 + "__id__": 700 }, "_enabled": true, "_materials": [ @@ -26404,7 +27192,7 @@ "_name": "", "_objFlags": 0, "node": { - "__id__": 684 + "__id__": 700 }, "_enabled": true, "alignMode": 1, @@ -26431,7 +27219,7 @@ "_name": "", "_objFlags": 0, "node": { - "__id__": 684 + "__id__": 700 }, "_enabled": true, "_id": "a0SFwOysZGGYsROyZvfTlg" @@ -26441,7 +27229,7 @@ "_name": "", "_objFlags": 0, "node": { - "__id__": 684 + "__id__": 700 }, "_enabled": true, "_id": "1analkSKJG84mYCKGd++in" @@ -26451,22 +27239,22 @@ "_name": "sp", "_objFlags": 0, "_parent": { - "__id__": 683 + "__id__": 699 }, "_children": [], "_active": true, "_components": [ { - "__id__": 690 + "__id__": 706 }, { - "__id__": 691 + "__id__": 707 }, { - "__id__": 692 + "__id__": 708 }, { - "__id__": 693 + "__id__": 709 } ], "_prefab": null, @@ -26522,7 +27310,7 @@ "_name": "", "_objFlags": 0, "node": { - "__id__": 689 + "__id__": 705 }, "_enabled": true, "_materials": [ @@ -26554,7 +27342,7 @@ "_name": "", "_objFlags": 0, "node": { - "__id__": 689 + "__id__": 705 }, "_enabled": true, "alignMode": 1, @@ -26581,7 +27369,7 @@ "_name": "", "_objFlags": 0, "node": { - "__id__": 689 + "__id__": 705 }, "_enabled": true, "_id": "eci+V42ppI34DmquumrM3h" @@ -26591,7 +27379,7 @@ "_name": "", "_objFlags": 0, "node": { - "__id__": 689 + "__id__": 705 }, "_enabled": true, "_id": "20eytDPdROZbEWuj10o6Hc" @@ -26601,22 +27389,22 @@ "_name": "New Sprite(Splash)", "_objFlags": 0, "_parent": { - "__id__": 683 + "__id__": 699 }, "_children": [], "_active": true, "_components": [ { - "__id__": 695 + "__id__": 711 }, { - "__id__": 696 + "__id__": 712 }, { - "__id__": 697 + "__id__": 713 }, { - "__id__": 698 + "__id__": 714 } ], "_prefab": null, @@ -26672,7 +27460,7 @@ "_name": "", "_objFlags": 0, "node": { - "__id__": 694 + "__id__": 710 }, "_enabled": true, "_materials": [ @@ -26704,7 +27492,7 @@ "_name": "", "_objFlags": 0, "node": { - "__id__": 694 + "__id__": 710 }, "_enabled": true, "alignMode": 1, @@ -26731,7 +27519,7 @@ "_name": "", "_objFlags": 0, "node": { - "__id__": 694 + "__id__": 710 }, "_enabled": true, "_id": "e6NoeJaYlJ9ZDEw5cZum68" @@ -26741,7 +27529,7 @@ "_name": "", "_objFlags": 0, "node": { - "__id__": 694 + "__id__": 710 }, "_enabled": true, "_id": "24dAZeaOFGWLxjMhCinpCJ" @@ -26751,20 +27539,23 @@ "_name": "bg", "_objFlags": 0, "_parent": { - "__id__": 683 + "__id__": 699 }, "_children": [ { - "__id__": 700 + "__id__": 716 }, { - "__id__": 702 + "__id__": 718 + }, + { + "__id__": 720 } ], "_active": true, "_components": [ { - "__id__": 704 + "__id__": 722 } ], "_prefab": null, @@ -26779,7 +27570,7 @@ "_contentSize": { "__type__": "cc.Size", "width": 600, - "height": 140 + "height": 180 }, "_anchorPoint": { "__type__": "cc.Vec2", @@ -26820,13 +27611,13 @@ "_name": "point", "_objFlags": 0, "_parent": { - "__id__": 699 + "__id__": 715 }, "_children": [], "_active": true, "_components": [ { - "__id__": 701 + "__id__": 717 } ], "_prefab": null, @@ -26853,7 +27644,7 @@ "ctor": "Float64Array", "array": [ 150.517, - -95.656, + -114.998, 0, 0, 0, @@ -26882,7 +27673,7 @@ "_name": "", "_objFlags": 0, "node": { - "__id__": 700 + "__id__": 716 }, "_enabled": true, "_materials": [ @@ -26916,13 +27707,13 @@ "_name": "content", "_objFlags": 0, "_parent": { - "__id__": 699 + "__id__": 715 }, "_children": [], "_active": true, "_components": [ { - "__id__": 703 + "__id__": 719 } ], "_prefab": null, @@ -26936,7 +27727,7 @@ }, "_contentSize": { "__type__": "cc.Size", - "width": 360, + "width": 424.16, "height": 135.6 }, "_anchorPoint": { @@ -26978,7 +27769,7 @@ "_name": "", "_objFlags": 0, "node": { - "__id__": 702 + "__id__": 718 }, "_enabled": true, "_materials": [ @@ -26988,8 +27779,8 @@ ], "_srcBlendFactor": 770, "_dstBlendFactor": 771, - "_string": "开始修建堤坝来引导\n洪水吧", - "_N$string": "开始修建堤坝来引导\n洪水吧", + "_string": "开始修建堤坝来引导\n洪水吧, 点击\"开始修建\"", + "_N$string": "开始修建堤坝来引导\n洪水吧, 点击\"开始修建\"", "_fontSize": 40, "_lineHeight": 60, "_enableWrapText": true, @@ -27008,12 +27799,109 @@ "_N$cacheMode": 0, "_id": "77SCtY6UdPr6nxug8FxbBI" }, + { + "__type__": "cc.Node", + "_name": "content", + "_objFlags": 0, + "_parent": { + "__id__": 715 + }, + "_children": [], + "_active": true, + "_components": [ + { + "__id__": 721 + } + ], + "_prefab": null, + "_opacity": 255, + "_color": { + "__type__": "cc.Color", + "r": 211, + "g": 70, + "b": 70, + "a": 255 + }, + "_contentSize": { + "__type__": "cc.Size", + "width": 278.72, + "height": 135.6 + }, + "_anchorPoint": { + "__type__": "cc.Vec2", + "x": 0.5, + "y": 0.5 + }, + "_trs": { + "__type__": "TypedArray", + "ctor": "Float64Array", + "array": [ + 73.384, + -2.302, + 0, + 0, + 0, + 0, + 1, + 1, + 1, + 1 + ] + }, + "_eulerAngles": { + "__type__": "cc.Vec3", + "x": 0, + "y": 0, + "z": 0 + }, + "_skewX": 0, + "_skewY": 0, + "_is3DNode": false, + "_groupIndex": 0, + "groupIndex": 0, + "_id": "fdUQTeOzlBVoyAPMuiB5NN" + }, + { + "__type__": "cc.Label", + "_name": "", + "_objFlags": 0, + "node": { + "__id__": 720 + }, + "_enabled": true, + "_materials": [ + { + "__uuid__": "eca5d2f2-8ef6-41c2-bbe6-f9c79d09c432" + } + ], + "_srcBlendFactor": 770, + "_dstBlendFactor": 771, + "_string": "\n点击\"开始修建\"", + "_N$string": "\n点击\"开始修建\"", + "_fontSize": 40, + "_lineHeight": 60, + "_enableWrapText": true, + "_N$file": { + "__uuid__": "95d22fe7-7d01-4c03-bd3a-334278db3d92" + }, + "_isSystemFontUsed": false, + "_spacingX": 0, + "_batchAsBitmap": false, + "_styleFlags": 0, + "_underlineHeight": 0, + "_N$horizontalAlign": 1, + "_N$verticalAlign": 1, + "_N$fontFamily": "Arial", + "_N$overflow": 0, + "_N$cacheMode": 0, + "_id": "fcKq3n1BVFFLv19U4L0PnT" + }, { "__type__": "cc.Sprite", "_name": "", "_objFlags": 0, "node": { - "__id__": 699 + "__id__": 715 }, "_enabled": true, "_materials": [ @@ -27047,7 +27935,7 @@ "_name": "", "_objFlags": 0, "node": { - "__id__": 683 + "__id__": 699 }, "_enabled": true, "alignMode": 1, @@ -27105,25 +27993,25 @@ }, "_children": [ { - "__id__": 708 + "__id__": 726 }, { - "__id__": 712 + "__id__": 730 }, { - "__id__": 714 + "__id__": 732 }, { - "__id__": 716 + "__id__": 734 } ], "_active": false, "_components": [ { - "__id__": 718 + "__id__": 736 }, { - "__id__": 719 + "__id__": 737 } ], "_prefab": null, @@ -27179,19 +28067,19 @@ "_name": "New Sprite(Splash)", "_objFlags": 0, "_parent": { - "__id__": 707 + "__id__": 725 }, "_children": [], "_active": true, "_components": [ { - "__id__": 709 + "__id__": 727 }, { - "__id__": 710 + "__id__": 728 }, { - "__id__": 711 + "__id__": 729 } ], "_prefab": null, @@ -27247,7 +28135,7 @@ "_name": "", "_objFlags": 0, "node": { - "__id__": 708 + "__id__": 726 }, "_enabled": true, "_materials": [ @@ -27279,7 +28167,7 @@ "_name": "", "_objFlags": 0, "node": { - "__id__": 708 + "__id__": 726 }, "_enabled": true, "alignMode": 1, @@ -27306,7 +28194,7 @@ "_name": "", "_objFlags": 0, "node": { - "__id__": 708 + "__id__": 726 }, "_enabled": true, "_id": "48UOjmiItC9p2DjRjI1i0J" @@ -27316,13 +28204,13 @@ "_name": "win", "_objFlags": 0, "_parent": { - "__id__": 707 + "__id__": 725 }, "_children": [], "_active": false, "_components": [ { - "__id__": 713 + "__id__": 731 } ], "_prefab": null, @@ -27378,7 +28266,7 @@ "_name": "", "_objFlags": 0, "node": { - "__id__": 712 + "__id__": 730 }, "_enabled": true, "_materials": [ @@ -27412,13 +28300,13 @@ "_name": "lose", "_objFlags": 0, "_parent": { - "__id__": 707 + "__id__": 725 }, "_children": [], "_active": false, "_components": [ { - "__id__": 715 + "__id__": 733 } ], "_prefab": null, @@ -27474,7 +28362,7 @@ "_name": "", "_objFlags": 0, "node": { - "__id__": 714 + "__id__": 732 }, "_enabled": true, "_materials": [ @@ -27508,13 +28396,13 @@ "_name": "finishi", "_objFlags": 0, "_parent": { - "__id__": 707 + "__id__": 725 }, "_children": [], "_active": false, "_components": [ { - "__id__": 717 + "__id__": 735 } ], "_prefab": null, @@ -27570,7 +28458,7 @@ "_name": "", "_objFlags": 0, "node": { - "__id__": 716 + "__id__": 734 }, "_enabled": true, "_materials": [ @@ -27604,7 +28492,7 @@ "_name": "", "_objFlags": 0, "node": { - "__id__": 707 + "__id__": 725 }, "_enabled": true, "alignMode": 1, @@ -27631,7 +28519,7 @@ "_name": "", "_objFlags": 0, "node": { - "__id__": 707 + "__id__": 725 }, "_enabled": true, "_id": "fd787yJchCN4G2UQeUfQGz" diff --git a/library/imports/80/805c69df-dfdf-4759-97ae-5a7341f424c7.js b/library/imports/80/805c69df-dfdf-4759-97ae-5a7341f424c7.js index f6dfb84..b90c718 100644 --- a/library/imports/80/805c69df-dfdf-4759-97ae-5a7341f424c7.js +++ b/library/imports/80/805c69df-dfdf-4759-97ae-5a7341f424c7.js @@ -64,6 +64,17 @@ var NewClass = /** @class */ (function (_super) { this.three.active = false; this.four.active = false; this.five.active = false; + var urlNow = window.location.href; + if (this.containsTrain(urlNow)) { + this.node.getChildByName("again").active = false; + this.node.getChildByName("back").active = false; + this.node.getChildByName("finishi").active = true; + } + else { + this.node.getChildByName("again").active = true; + this.node.getChildByName("back").active = true; + this.node.getChildByName("finishi").active = false; + } this.getRank(); }; //打开排行榜 @@ -80,8 +91,13 @@ var NewClass = /** @class */ (function (_super) { cc.fx.GameConfig.GM_INFO.score = 0; cc.fx.GameConfig.GM_INFO.min_Steps = 0; cc.fx.GameConfig.GM_INFO.min_Time = 0; + cc.fx.GameConfig.TIME_INFO.totalTime = 120; cc.director.loadScene("GameScene"); }; + //判断来源 + NewClass.prototype.containsTrain = function (str) { + return /from=train/i.test(str); + }; //获取排行榜 NewClass.prototype.getRank = function () { var _this = this; @@ -91,6 +107,11 @@ var NewClass = /** @class */ (function (_super) { }; cc.fx.GameTool.getRank(dataFile, function (data) { return _this.getRankData(data); }); }; + //打开排行榜 + NewClass.prototype.jumpFinishi = function () { + var url = "https://train.sparkus.cn/poster/game/"; + window.location.href = url; + }; //设置排行信息 NewClass.prototype.getRankData = function (data) { if (data) { diff --git a/library/imports/80/805c69df-dfdf-4759-97ae-5a7341f424c7.js.map b/library/imports/80/805c69df-dfdf-4759-97ae-5a7341f424c7.js.map index ed6fbfb..1330517 100644 --- a/library/imports/80/805c69df-dfdf-4759-97ae-5a7341f424c7.js.map +++ b/library/imports/80/805c69df-dfdf-4759-97ae-5a7341f424c7.js.map @@ -1 +1 @@ -{"version":3,"sources":["assets\\Script\\GameOver.ts"],"names":[],"mappings":"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","file":"","sourceRoot":"/","sourcesContent":["\r\nconst {ccclass, property} = cc._decorator;\r\n\r\n@ccclass\r\nexport default class NewClass extends cc.Component {\r\n @property(cc.Label)\r\n count: cc.Label = null;\r\n @property(cc.Label)\r\n time: cc.Label = null;\r\n @property(cc.Node)\r\n selfNode: cc.Node = null;\r\n @property(cc.Node)\r\n one: cc.Node = null;\r\n @property(cc.Node)\r\n two: cc.Node = null;\r\n @property(cc.Node)\r\n three: cc.Node = null;\r\n @property(cc.Node)\r\n four: cc.Node = null;\r\n @property(cc.Node)\r\n five: cc.Node = null;\r\n listData: any;\r\n selfData: any;\r\n // onLoad () {}\r\n start () {\r\n this.count.string = cc.fx.GameConfig.GM_INFO.score + \"\";\r\n var yes = 0;\r\n var successList = cc.fx.GameConfig.GM_INFO.successList;\r\n if(successList.length > 0){\r\n var success = 0;\r\n for(let i=0; ithis.getRankData(data));\r\n }\r\n //设置排行信息\r\n getRankData(data){\r\n\r\n if(data){\r\n cc.fx.GameTool.getRankData(data,this,4);\r\n cc.fx.GameTool.setPic(this.selfNode.getChildByName(\"pic\").getChildByName(\"icon\"),this.selfData.pic);\r\n var length = this.listData.length-1; if(length > 4) length = 4;\r\n for(let i=0;i<=length;i++){\r\n this.setRank(i,this.listData[i]);\r\n }\r\n }\r\n }\r\n //根据内容填充排行榜\r\n setRank(num,data){\r\n var hitNode = null;\r\n if(num == 0){\r\n hitNode = this.one;\r\n }\r\n else if(num == 1){\r\n hitNode = this.two;\r\n }\r\n else if(num == 2){\r\n hitNode = this.three;\r\n }\r\n else if(num == 3){\r\n hitNode = this.four;\r\n }\r\n else if(num == 4){\r\n hitNode = this.five;\r\n }\r\n if(hitNode){\r\n hitNode.active = true;\r\n if(data.nickName.length >= 4)\r\n cc.fx.GameTool.subName(data.nickName,4);\r\n hitNode.getChildByName(\"name\").getComponent(cc.Label).string = data.nickName;\r\n hitNode.getChildByName(\"total\").getComponent(cc.Label).string = data.score;\r\n cc.fx.GameTool.setPic(hitNode.getChildByName(\"pic\").getChildByName(\"icon\"),data.pic);\r\n }\r\n } \r\n}\r\n"]} \ No newline at end of file +{"version":3,"sources":["assets\\Script\\GameOver.ts"],"names":[],"mappings":"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","file":"","sourceRoot":"/","sourcesContent":["\r\nconst {ccclass, property} = cc._decorator;\r\n\r\n@ccclass\r\nexport default class NewClass extends cc.Component {\r\n @property(cc.Label)\r\n count: cc.Label = null;\r\n @property(cc.Label)\r\n time: cc.Label = null;\r\n @property(cc.Node)\r\n selfNode: cc.Node = null;\r\n @property(cc.Node)\r\n one: cc.Node = null;\r\n @property(cc.Node)\r\n two: cc.Node = null;\r\n @property(cc.Node)\r\n three: cc.Node = null;\r\n @property(cc.Node)\r\n four: cc.Node = null;\r\n @property(cc.Node)\r\n five: cc.Node = null;\r\n listData: any;\r\n selfData: any;\r\n // onLoad () {}\r\n start () {\r\n this.count.string = cc.fx.GameConfig.GM_INFO.score + \"\";\r\n var yes = 0;\r\n var successList = cc.fx.GameConfig.GM_INFO.successList;\r\n if(successList.length > 0){\r\n var success = 0;\r\n for(let i=0; ithis.getRankData(data));\r\n }\r\n //打开排行榜\r\n jumpFinishi(){\r\n let url = \"https://train.sparkus.cn/poster/game/\";\r\n window.location.href = url;\r\n }\r\n //设置排行信息\r\n getRankData(data){\r\n\r\n if(data){\r\n cc.fx.GameTool.getRankData(data,this,4);\r\n cc.fx.GameTool.setPic(this.selfNode.getChildByName(\"pic\").getChildByName(\"icon\"),this.selfData.pic);\r\n var length = this.listData.length-1; if(length > 4) length = 4;\r\n for(let i=0;i<=length;i++){\r\n this.setRank(i,this.listData[i]);\r\n }\r\n }\r\n }\r\n //根据内容填充排行榜\r\n setRank(num,data){\r\n var hitNode = null;\r\n if(num == 0){\r\n hitNode = this.one;\r\n }\r\n else if(num == 1){\r\n hitNode = this.two;\r\n }\r\n else if(num == 2){\r\n hitNode = this.three;\r\n }\r\n else if(num == 3){\r\n hitNode = this.four;\r\n }\r\n else if(num == 4){\r\n hitNode = this.five;\r\n }\r\n if(hitNode){\r\n hitNode.active = true;\r\n if(data.nickName.length >= 4)\r\n cc.fx.GameTool.subName(data.nickName,4);\r\n hitNode.getChildByName(\"name\").getComponent(cc.Label).string = data.nickName;\r\n hitNode.getChildByName(\"total\").getComponent(cc.Label).string = data.score;\r\n cc.fx.GameTool.setPic(hitNode.getChildByName(\"pic\").getChildByName(\"icon\"),data.pic);\r\n }\r\n } \r\n}\r\n"]} \ No newline at end of file diff --git a/library/imports/9c/9c08062d-4cf1-4b6e-a8ba-4a3881cc7e7d.json b/library/imports/9c/9c08062d-4cf1-4b6e-a8ba-4a3881cc7e7d.json index 395c720..9eeb672 100644 --- a/library/imports/9c/9c08062d-4cf1-4b6e-a8ba-4a3881cc7e7d.json +++ b/library/imports/9c/9c08062d-4cf1-4b6e-a8ba-4a3881cc7e7d.json @@ -1424,8 +1424,8 @@ "__id__": 4 }, "_enabled": true, - "localTest": true, - "clientTestVersion": "1.1.5", + "localTest": false, + "clientTestVersion": "1.2.9", "testVersion": { "__id__": 19 }, diff --git a/library/imports/af/af424dfb-ef89-4f3e-b330-84d64db660ff.json b/library/imports/af/af424dfb-ef89-4f3e-b330-84d64db660ff.json new file mode 100644 index 0000000..e7522d6 --- /dev/null +++ b/library/imports/af/af424dfb-ef89-4f3e-b330-84d64db660ff.json @@ -0,0 +1,4 @@ +{ + "__type__": "cc.Texture2D", + "content": "0,9729,9729,33071,33071,0,0,1" +} \ No newline at end of file diff --git a/library/imports/af/af424dfb-ef89-4f3e-b330-84d64db660ff.png b/library/imports/af/af424dfb-ef89-4f3e-b330-84d64db660ff.png new file mode 100644 index 0000000000000000000000000000000000000000..321db3aaa5b75af04b27f0314e8f88f3bee738ec GIT binary patch literal 20794 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 (this.block_Array.length - 1)) { + cc.fx.Notifications.emit(cc.fx.Message.showResult, "lose"); return; } var target = this.block_Array[i].getComponent("Block"); @@ -325,7 +335,14 @@ var GameManager = /** @class */ (function (_super) { target.runRoad(data); } }; - //判断边界。或者撞山,或者湿地没有加固 + /** + * 判断边界。或者撞山,或者湿地没有加固 + * @param order 建筑地图数组里的执行的序列号 + * @param x 当前操作地块横坐标 + * @param y 当前操作地块纵坐标 + * @param direction 当前操作方向,若不是方向则为息壤或者加固 + * @param road 建筑地图数组,可理解为路径数组,path_Array + */ GameManager.prototype.getBoundary = function (order, x, y, direction, road) { var jg = true; if (x < 0 || x >= this.map_Width || y < 0 || y >= this.map_Hight) { @@ -333,7 +350,6 @@ var GameManager = /** @class */ (function (_super) { // console.log("超过边界,游戏结束"); // alert("超过边界,治水失败"); cc.fx.Notifications.emit(cc.fx.Message.showResult, "lose"); - cc.fx.Notifications.emit(cc.fx.Message.setData, false); } else { var i = road[order].x * this.map_Array[0].length + road[order].y; @@ -343,19 +359,20 @@ var GameManager = /** @class */ (function (_super) { // console.log("修筑山峰,游戏结束"); // alert("修筑山峰,治水失败"); cc.fx.Notifications.emit(cc.fx.Message.showResult, "lose"); - cc.fx.Notifications.emit(cc.fx.Message.setData, false); } else if (target.block_Type == 2 && direction != "Reinforce") { jg = false; // console.log("修筑未加固湿地,游戏结束"); // alert("修筑未加固湿地,游戏结束"); cc.fx.Notifications.emit(cc.fx.Message.showResult, "lose"); - cc.fx.Notifications.emit(cc.fx.Message.setData, false); } } return jg; }; - //开始执行洪峰来了的动画 + /** + * 开始执行洪峰来了的动画 + * @param order 建筑地图数组里的执行的序列号,依次往下加 + */ GameManager.prototype.runWater = function (order) { order = parseInt(order); if (order <= this.water_Array.length - 1) { @@ -390,7 +407,6 @@ var GameManager = /** @class */ (function (_super) { var jg = this.getBoundary(order, this.water_Array[order].x, this.water_Array[order].y, direction, this.water_Array); if (direction == "" || jg == false || direction == "err") { cc.fx.Notifications.emit(cc.fx.Message.showResult, "lose"); - cc.fx.Notifications.emit(cc.fx.Message.setData, false); return; } var target = this.block_Array[i].getComponent("Block"); @@ -425,7 +441,11 @@ var GameManager = /** @class */ (function (_super) { target.runWater(data); } }; - //获取息壤的格子的方向 + /** + * 获取息壤的格子的方向 + * @param order 建筑地图数组里的执行的序列号,依次往下加 + * @param road 建筑地图数组或者洪峰路径数组,可理解为路径数组,path_Array water_Array + */ GameManager.prototype.getXi_Soil = function (order, road) { var direction = null; //如果息壤后面还有下一步的话 @@ -446,12 +466,18 @@ var GameManager = /** @class */ (function (_super) { } return direction; }; - //设置息壤 + /** + * 设置息壤执行方法 + * @param order 建筑地图数组里的执行的序列号,依次往下加 + * @param road 建筑地图数组或者洪峰路径数组,可理解为路径数组,path_Array water_Array + * @param name road或者water,建筑路径或者洪峰路径 + */ GameManager.prototype.set_Soil = function (order, road, name) { var direction = this.getXi_Soil(order, road); var length = 0; if (direction == "right") { length = this.map_Width - 1; + // let temp = this.map_Width - 1; for (var i = road[order].x; i <= length; i++) { var n = i * this.map_Array[0].length + road[order].y; var target = this.block_Array[n].getComponent("Block"); @@ -464,7 +490,6 @@ var GameManager = /** @class */ (function (_super) { break; } } - this.scheduleOnce; } else if (direction == "left") { length = 0; @@ -511,8 +536,6 @@ var GameManager = /** @class */ (function (_super) { } } } - // if(length == 0){ - // } this.soil_Find(direction, order, length, road, name); }; //查找息壤蛮遗憾路径 @@ -523,8 +546,10 @@ var GameManager = /** @class */ (function (_super) { var n = i * this.map_Array[0].length + road[order].y; var target = this.block_Array[n].getComponent("Block"); if (i == start) { - if (i == start && i == length) + if (i == start && i == length) { + cc.fx.Notifications.emit(cc.fx.Message.showResult, "lose"); target.set_Xi_SoilType(this.getDirection(order, road), order, name); + } else target.set_Xi_SoilType(this.getDirection(order, road), null, name); var value = cc.v3(this.path_Array[order].x, this.path_Array[order].y, 0); @@ -549,8 +574,10 @@ var GameManager = /** @class */ (function (_super) { var n = i * this.map_Array[0].length + road[order].y; var target = this.block_Array[n].getComponent("Block"); if (i == start) { - if (i == start && i == length) + if (i == start && i == length) { + cc.fx.Notifications.emit(cc.fx.Message.showResult, "lose"); target.set_Xi_SoilType(this.getDirection(order, road), order, name); + } else target.set_Xi_SoilType(this.getDirection(order, road), null, name); var value = cc.v3(this.path_Array[order].x, this.path_Array[order].y, 0); @@ -576,10 +603,13 @@ var GameManager = /** @class */ (function (_super) { var n = road[order].x * this.map_Array[0].length + i; var target = this.block_Array[n].getComponent("Block"); if (i == start) { - if (i == start && i == length) + if (i == start && i == length) { + cc.fx.Notifications.emit(cc.fx.Message.showResult, "lose"); target.set_Xi_SoilType(this.getDirection(order, road), order, name); - else + } + else { target.set_Xi_SoilType(this.getDirection(order, road), null, name); + } var value = cc.v3(this.path_Array[order].x, this.path_Array[order].y, 0); if (this.water_Array[this.water_Array.length - 1] != value) { // console.log("特别插入:",this.path_Array[order].x,this.path_Array[order].y); @@ -604,8 +634,10 @@ var GameManager = /** @class */ (function (_super) { var n = road[order].x * this.map_Array[0].length + i; var target = this.block_Array[n].getComponent("Block"); if (i == start) { - if (i == start && i == length) + if (i == start && i == length) { + cc.fx.Notifications.emit(cc.fx.Message.showResult, "lose"); target.set_Xi_SoilType(this.getDirection(order, road), order, name); + } else target.set_Xi_SoilType(this.getDirection(order, road), null, name); var value = cc.v3(this.path_Array[order].x, this.path_Array[order].y, 0); @@ -626,7 +658,10 @@ var GameManager = /** @class */ (function (_super) { } } }; - //改变水流地图 + /** + * 改变水流地图 + * @param value 需要根据使用息壤情况,插入到洪峰路径的点 + */ GameManager.prototype.changeWater = function (value) { var jg = true; if (this.water_Array.length > 0) { @@ -637,7 +672,13 @@ var GameManager = /** @class */ (function (_super) { if (jg) this.water_Array.push(value); }; - //息壤过后改变修筑路径 + /** + * 息壤过后改变修筑路径 + * @param order 建筑地图数组里的执行的序列号 + * @param number 息壤执行长度,改变息壤用后其他路径的X或Y值 + * @param direction 只为两个方向,横向false,纵向true + * @param road 建筑地图数组或者洪峰路径数组,可理解为路径数组,path_Array water_Array + */ GameManager.prototype.changePath = function (order, number, direction, road) { for (var i = (order + 1); i < road.length; i++) { if (!direction) { @@ -676,11 +717,17 @@ var GameManager = /** @class */ (function (_super) { } } }; - //获取洪峰方向 + /** + * 获取洪峰方向 + * @param order 建筑地图数组里的执行的序列号 + * @param road 建筑地图数组或者洪峰路径数组,可理解为路径数组,path_Array water_Array + */ GameManager.prototype.getDirection = function (order, road) { var name = ""; //入海口比较复杂单独判断 if (order == 0) { + if (this.path_Array[order + 1].z == 6 && road == this.path_Array) + order += 1; var nextX = road[order + 1].x - road[order].x; var nextY = road[order].y - road[order + 1].y; //在底边 @@ -842,8 +889,12 @@ var GameManager = /** @class */ (function (_super) { GameManager.prototype.backScene = function () { cc.director.loadScene("LoadScene"); }; - //开始游戏 + /** + * 开始修筑 + * @param data 记录操作的数组 + */ GameManager.prototype.startGame = function (data) { + this.unschedule(this.updateWaterTime); for (var i = 0; i < this.block_Array.length; i++) { this.block_Array[i].getChildByName("tipWin").active = false; this.block_Array[i].getChildByName("tipLose").active = false; @@ -866,7 +917,10 @@ var GameManager = /** @class */ (function (_super) { var arr = this.changeStep(data); cc.fx.GameConfig.CLICK_SET("stepList", arr); }; - //用于埋点记录 + /** + * 用于埋点记录 转变方向名称为埋点所需要格式 + * @param data 记录操作的数组 + */ GameManager.prototype.changeStep = function (data) { var arr = []; if (data.length > 0) { @@ -901,7 +955,6 @@ var GameManager = /** @class */ (function (_super) { setTimeout(function () { if (_this.water_Array.length == 0) { cc.fx.Notifications.emit(cc.fx.Message.showResult, "lose"); - cc.fx.Notifications.emit(cc.fx.Message.setData, false); } else { cc.fx.GameConfig.GM_INFO.min_Time = _this.waterTime; @@ -928,13 +981,13 @@ var GameManager = /** @class */ (function (_super) { } if (this.countTime <= 0) { this.countTime = 0; - this.setData(false); + this.setData("lose"); this.unschedule(this.updateCountDownTime); this.gameOver(); } } }; - //上传每次操作数据 + //上传每次操作数据 success为成功还是失败 GameManager.prototype.setData = function (success) { //设置埋点数据 cc.fx.GameConfig.CLICK_SET("mapId", cc.fx.GameConfig.LEVEL_INFO[cc.fx.GameConfig.GM_INFO.level][this.custom].id); @@ -943,6 +996,7 @@ var GameManager = /** @class */ (function (_super) { cc.fx.GameConfig.CLICK_SET("round", cc.fx.GameConfig.GM_INFO.round); cc.fx.GameConfig.CLICK_SET("timer", cc.fx.GameConfig.TIME_INFO.totalTime); cc.fx.GameConfig.CLICK_SET("cumulativeScore", cc.fx.GameConfig.GM_INFO.score); + success = success == "lose" ? false : true; if (success != null) { cc.fx.GameConfig.CLICK_SET("success", success); cc.fx.GameConfig.GM_INFO.fen = this.getScore(); @@ -950,6 +1004,8 @@ var GameManager = /** @class */ (function (_super) { cc.fx.GameConfig.GM_INFO.fen = 0; cc.fx.GameConfig.CLICK_SET("getScore", cc.fx.GameConfig.GM_INFO.fen); cc.fx.GameConfig.GM_INFO.score += cc.fx.GameConfig.GM_INFO.fen; + this.node.getChildByName("Top").getChildByName("id").getComponent(cc.Label).string = + cc.fx.GameConfig.GM_INFO.score; cc.fx.GameConfig.CLICK_SET("cumulativeScore", cc.fx.GameConfig.GM_INFO.score); if (this.countTime != 0) cc.fx.GameConfig.GM_INFO.successList.push(success); @@ -998,25 +1054,28 @@ var GameManager = /** @class */ (function (_super) { }) .start(); }; - //展示结果 + //展示结果 data为成功或者失败 GameManager.prototype.showResult = function (data) { - if (data == "lose") { - cc.fx.AudioManager._instance.playEffect("lose", null); - cc.fx.GameConfig.GM_INFO.min_Time = -1; + if (this.node.getChildByName("GameOver").active == false && this.node.getChildByName("Window").active == false) { + cc.fx.Notifications.emit(cc.fx.Message.setData, data); + if (data == "lose") { + cc.fx.AudioManager._instance.playEffect("lose", null); + cc.fx.GameConfig.GM_INFO.min_Time = -1; + } + else { + cc.fx.AudioManager._instance.playEffect("win", null); + } + this.node.getChildByName("Window").active = true; + this.node.getChildByName("Window").getComponent("Window").init(data); } - else { - cc.fx.AudioManager._instance.playEffect("win", null); - } - this.node.getChildByName("Window").active = true; - this.node.getChildByName("Window").getComponent("Window").init(data); }; - //记录反应时长,以及做步骤提示 + //记录反应时长,以及做步骤提示 data为操作名称 GameManager.prototype.clickSun = function (data) { //如果没有记录过 回合开始到操作反应时长,则第一次记录, 后面不记录 - if (cc.fx.GameConfig.CLICK_DATA.startTime == 0) { + if (cc.fx.GameConfig.CLICK_DATA.startTime == -1) { this.finishiTime = cc.fx.GameTool.getTime(); var now = this.finishiTime - this.startTime; - // console.log("startTime:",now,this.startTime); + // console.log("startTime:",this.finishiTime); cc.fx.GameConfig.CLICK_SET("startTime", now); } if (cc.fx.GameConfig.GM_INFO.level > 3) @@ -1066,7 +1125,7 @@ var GameManager = /** @class */ (function (_super) { this.tip_Array.push([n]); } }; - //提示是否错误 + //提示是否错误 只前三关有 ,pos为位置,data为操作方向 GameManager.prototype.tipCan = function (pos, data) { //先判断是否出边界 if (pos.x < 0 || pos.x > this.map_Array.length - 1 || pos.y < 0 || pos.y > this.map_Array[0].length - 1) { @@ -1076,20 +1135,27 @@ var GameManager = /** @class */ (function (_super) { var n = pos.x * this.map_Array[0].length + pos.y; var target = this.block_Array[n].getComponent("Block"); target.node.getChildByName("tipWin").active = true; - // target.node.getChildByName("tipWin").opacity = 255; - // target.node.getChildByName("tipLose").opacity = 255; //重复路回头路,或者山峰 if (target.repeatRoad(false, null) == true || target.block_Type == 3) { + this.tip_Array.push([cc.v3(pos.x, pos.y, 0)]); target.node.getChildByName("tipLose").active = true; target.node.getChildByName("tipWin").active = false; } //湿地 上一步如果没用息壤或者加固 else if (target.block_Type == 2) { - if (this.tip_Array.length > 1) { + if (this.tip_Array.length > 0) { if (this.tip_Array[this.tip_Array.length - 1][0].z == 0) { target.node.getChildByName("tipLose").active = true; target.node.getChildByName("tipWin").active = false; } + else if (this.tip_Array[this.tip_Array.length - 1][0].z == 2) { + target.node.getChildByName("tipLose").active = false; + target.node.getChildByName("tipWin").active = true; + } + } + else { + target.node.getChildByName("tipLose").active = true; + target.node.getChildByName("tipWin").active = false; } } if (this.tip_Array.length > 0) { diff --git a/library/imports/b0/b0432040-dbde-438c-839c-ba2b5d18a3b5.js.map b/library/imports/b0/b0432040-dbde-438c-839c-ba2b5d18a3b5.js.map index ee012c5..837a7bd 100644 --- a/library/imports/b0/b0432040-dbde-438c-839c-ba2b5d18a3b5.js.map +++ b/library/imports/b0/b0432040-dbde-438c-839c-ba2b5d18a3b5.js.map @@ -1 +1 @@ -{"version":3,"sources":["assets\\Script\\GameManager.ts"],"names":[],"mappings":"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","file":"","sourceRoot":"/","sourcesContent":["import { BlockType } from \"./Block\";\r\n\r\n// 主游戏控制类\r\nconst {ccclass, property} = cc._decorator;\r\n@ccclass\r\nexport default class GameManager extends cc.Component {\r\n\r\n @property(cc.Node)\r\n Map: cc.Node = null;\r\n\r\n @property(cc.Prefab)\r\n Block: cc.Prefab = null;\r\n\r\n @property(cc.Label)\r\n Time: cc.Label = null;\r\n\r\n @property(cc.Label)\r\n Countdown: cc.Label = null;\r\n\r\n @property(cc.Node)\r\n Guide: cc.Node = null;\r\n\r\n step:number; //引导步骤\r\n bgClick:boolean //引导时Mask遮罩可不可以点击\r\n btnClick:boolean //引导时,按钮可不可点击\r\n custom:number; //当前难度随机地图ID\r\n countTime: number; //总倒计时\r\n waterTime: number //洪峰倒计时\r\n startTime: number; //游戏开始计时\r\n replaceTime: number //洪峰倒计时,当总剩余时间小于洪峰倒计时,用于替代\r\n finishiTime:number; //提交时间\r\n scoreTime:number //用于计算提交到洪峰来的时间差\r\n block_Array: any; //所有块数组\r\n path_Array: any; //修筑路径\r\n water_Array: any; //水流路径\r\n map_Array: any; //地图数组\r\n water_PathAray:any; //洪峰路径\r\n tip_Array: any; //引导数组\r\n map_Hight:number; //地图高度\r\n map_Width:number; //地图宽度\r\n min_Time:number; //上一把地图结束时,距离洪峰来临时间 (>5秒是个分水岭)\r\n min_Steps:number; //当前地图最优步数\r\n plan_over:boolean; //是否修建完\r\n waterTween:cc.Tween; //河水倒计时动画\r\n\r\n onLoad () {\r\n }\r\n start () {\r\n cc.fx.GameConfig.CLICK_init();\r\n this.fit();\r\n this.init();\r\n }\r\n\r\n //处理地图数据 第一关完全随机,从第二关开始,赢了根据5秒洪峰来临增加难度步数,输了当前难度减步数\r\n getMap(){\r\n // var temp = [];\r\n // for(let k=0; k= 5){\r\n map = this.getMapArray(arr,cc.fx.GameConfig.GM_INFO.min_Steps + 2,true);\r\n }\r\n else{\r\n map = this.getMapArray(arr,cc.fx.GameConfig.GM_INFO.min_Steps + 1,true);\r\n }\r\n var random = Math.floor(Math.random()* map.length);\r\n custom = map[random];\r\n console.log(custom,map);\r\n }\r\n //记录当前最小步数\r\n cc.fx.GameConfig.GM_INFO.min_Steps = cc.fx.GameConfig.LEVEL_INFO[cc.fx.GameConfig.GM_INFO.level][custom].min_steps;\r\n cc.fx.GameConfig.GM_INFO.min_Time = 0;\r\n return custom;\r\n }\r\n //获取下一关难度,步数增加2或者1,如果没有则降到有.\r\n getMapArray(arr,min_steps,type){\r\n var map = [];\r\n for(let i=0; i {\r\n return arr.map((val) => val[i])\r\n })\r\n this.map_Width = this.map_Array.length;\r\n this.map_Hight = this.map_Array[0].length;\r\n\r\n this.Map.x =(6 - this.map_Array.length)*48;\r\n this.Map.y = (this.map_Array[0].length - 6.5)*48;\r\n\r\n for(let i=0;i 0){\r\n if(this.path_Array[order-1].z == 0){\r\n //console.log(\"1正常放入\",this.path_Array[order-1].x,this.path_Array[order-1].y,this.path_Array[order-1].z)\r\n this.changeWater(cc.v3(this.path_Array[order-1].x,this.path_Array[order-1].y,0));\r\n if(order == this.path_Array.length-1){\r\n this.changeWater(cc.v3(this.path_Array[order].x,this.path_Array[order].y,0));\r\n // console.log(\"最后放入\",this.path_Array[order].x,this.path_Array[order].y)\r\n }\r\n }\r\n else{\r\n //console.log(\"2插入\",this.path_Array[order].x,this.path_Array[order].y,this.path_Array[order].z)\r\n this.changeWater(cc.v3(this.path_Array[order].x,this.path_Array[order].y,0));\r\n }\r\n } \r\n if(order <= this.path_Array.length-1){\r\n let i = this.path_Array[order].x*this.map_Array[0].length+this.path_Array[order].y;\r\n let direction = \"\";\r\n let circulate = true;\r\n //最后一步结束\r\n if(order == this.path_Array.length-1){\r\n circulate = false;\r\n direction = \"End\";\r\n // console.log(\"进入结束\");\r\n if(this.path_Array.length > 1){\r\n // console.log(\"准备出水\");\r\n setTimeout(() => {\r\n if(!this.plan_over){\r\n this.plan_over = true;\r\n this.unschedule(this.updateWaterTime);\r\n var head = this.node.getChildByName(\"Top\").getChildByName(\"head\");\r\n var progress = this.node.getChildByName(\"Top\").getChildByName(\"progress\").getComponent(cc.Sprite);\r\n head.stopAllActions();\r\n head.setPosition(310,head.y);\r\n if(this.waterTween) this.waterTween.stop();\r\n progress.fillRange = 1;\r\n cc.fx.GameConfig.GM_INFO.min_Time = this.waterTime;\r\n this.runWater(0); \r\n }\r\n }, 500);\r\n }\r\n else{\r\n direction = \"err\";\r\n console.log(\"进入结束err\");\r\n }\r\n\r\n }\r\n else{\r\n if(this.path_Array[order].z == 6 && order + 1 < this.path_Array.length ) {\r\n direction = \"Reinforce\";\r\n i = this.path_Array[order+1].x*this.map_Array[0].length+this.path_Array[order+1].y;\r\n }\r\n else if(order+1 < this.path_Array.length){\r\n if(this.path_Array[order+1].z == 5){\r\n direction = \"Xi_Soil\";\r\n }\r\n else if(this.path_Array[order+1].z == 6 && order == 0 && order + 1 < this.path_Array.length){\r\n direction = this.getDirection(order+1,this.path_Array);\r\n }\r\n else{\r\n direction = this.getDirection(order,this.path_Array);\r\n }\r\n }\r\n else{\r\n direction = this.getDirection(order,this.path_Array);\r\n }\r\n }\r\n // console.log(order,this.path_Array[order].x,this.path_Array[order].y,i);\r\n \r\n // console.log(\"步骤:\",order,\"方向\",direction);\r\n let jg = this.getBoundary(order,this.path_Array[order].x,this.path_Array[order].y,direction,this.path_Array);\r\n\r\n // if(direction == \"\" || jg == false) return;\r\n if(direction == \"err\" || direction == \"\" || jg == false){\r\n cc.fx.Notifications.emit(cc.fx.Message.showResult,\"lose\");\r\n cc.fx.Notifications.emit(cc.fx.Message.setData,false);\r\n return;\r\n }\r\n let target = this.block_Array[i].getComponent(\"Block\");\r\n \r\n target.setPath(direction);\r\n\r\n if(order > 0 && order < this.path_Array.length-1){\r\n if(this.path_Array[order+1].z == 5){\r\n this.set_Soil(order+1,this.path_Array,\"road\");\r\n circulate = false;\r\n return;\r\n \r\n }\r\n else if(order == 1 && this.path_Array[order].z == 5){\r\n this.set_Soil(order,this.path_Array,\"road\");\r\n circulate = false;\r\n return;\r\n }\r\n }\r\n let pos = cc.v2();\r\n if(direction == \"End\"){\r\n if(order > 0){\r\n // if(this.path_Array[order-1].z == 0){\r\n pos = cc.v2(this.path_Array[order-1].x, this.path_Array[order-1].y);\r\n // }\r\n }\r\n }\r\n let data = {\r\n order:order,\r\n time:cc.fx.GameConfig.TIME_INFO.waterSpeed[cc.fx.GameConfig.GM_INFO.level],\r\n type:this.path_Array[order].z,\r\n circulate:circulate,\r\n last:pos\r\n };\r\n \r\n target.runRoad(data);\r\n }\r\n }\r\n //判断边界。或者撞山,或者湿地没有加固\r\n getBoundary(order,x,y,direction,road){\r\n let jg = true;\r\n if(x < 0 || x >= this.map_Width || y < 0 || y >= this.map_Hight){\r\n jg = false;\r\n // console.log(\"超过边界,游戏结束\");\r\n // alert(\"超过边界,治水失败\");\r\n cc.fx.Notifications.emit(cc.fx.Message.showResult,\"lose\");\r\n cc.fx.Notifications.emit(cc.fx.Message.setData,false);\r\n }\r\n else {\r\n let i = road[order].x*this.map_Array[0].length+road[order].y;\r\n let target = this.block_Array[i].getComponent(\"Block\");\r\n if(target.block_Type == 3){\r\n jg = false;\r\n // console.log(\"修筑山峰,游戏结束\");\r\n // alert(\"修筑山峰,治水失败\");\r\n cc.fx.Notifications.emit(cc.fx.Message.showResult,\"lose\");\r\n cc.fx.Notifications.emit(cc.fx.Message.setData,false);\r\n }\r\n else if(target.block_Type == 2 && direction != \"Reinforce\"){\r\n jg = false;\r\n // console.log(\"修筑未加固湿地,游戏结束\");\r\n // alert(\"修筑未加固湿地,游戏结束\");\r\n cc.fx.Notifications.emit(cc.fx.Message.showResult,\"lose\");\r\n cc.fx.Notifications.emit(cc.fx.Message.setData,false);\r\n }\r\n }\r\n return jg;\r\n }\r\n\r\n //开始执行洪峰来了的动画\r\n runWater(order){\r\n order = parseInt(order);\r\n \r\n if(order <= this.water_Array.length-1){\r\n let i = this.water_Array[order].x*this.map_Array[0].length+this.water_Array[order].y;\r\n let direction = \"\";\r\n let circulate = true;\r\n //最后一步结束\r\n if(order == this.water_Array.length-1){\r\n circulate = false;\r\n direction = \"End\";\r\n }\r\n else{\r\n if(this.water_Array[order].z == 6 && order + 1 < this.water_Array.length && order!=1) {\r\n direction = \"Reinforce\";\r\n i = this.water_Array[order+1].x*this.map_Array[0].length+this.water_Array[order+1].y;\r\n }\r\n else if(order+1 < this.water_Array.length){\r\n if(this.water_Array[order+1].z == 5){\r\n direction = \"Xi_Soil\";\r\n }\r\n else if(this.water_Array[order+1].z == 6 && order == 0){\r\n direction = \"Reinforce\";\r\n }\r\n else{\r\n direction = this.getDirection(order,this.water_Array);\r\n }\r\n }\r\n else{\r\n direction = this.getDirection(order,this.water_Array);\r\n }\r\n }\r\n let jg = this.getBoundary(order,this.water_Array[order].x,this.water_Array[order].y,direction,this.water_Array);\r\n if(direction == \"\" || jg == false || direction == \"err\"){\r\n cc.fx.Notifications.emit(cc.fx.Message.showResult,\"lose\");\r\n cc.fx.Notifications.emit(cc.fx.Message.setData,false);\r\n return;\r\n }\r\n let target = this.block_Array[i].getComponent(\"Block\");\r\n target.setPath(direction);\r\n\r\n if(order > 0 && order < this.water_Array.length-1){\r\n if(this.water_Array[order+1].z == 5){\r\n this.set_Soil(order+1,this.water_Array,\"water\");\r\n circulate = false;\r\n return;\r\n }\r\n else if(order == 1 && this.water_Array[order].z == 5){\r\n this.set_Soil(order,this.water_Array,\"water\");\r\n circulate = false;\r\n return;\r\n } \r\n }\r\n\r\n let pos = cc.v2();\r\n if(direction == \"End\"){\r\n if(order > 0){\r\n if(this.water_Array[order-1].z == 0){\r\n pos = cc.v2(this.water_Array[order-1].x, this.water_Array[order-1].y);\r\n }\r\n }\r\n }\r\n let data = {\r\n order:order,\r\n time:cc.fx.GameConfig.TIME_INFO.waterSpeed[cc.fx.GameConfig.GM_INFO.level],\r\n type:this.water_Array[order].z,\r\n circulate:circulate,\r\n last:pos\r\n };\r\n target.runWater(data);\r\n }\r\n }\r\n //获取息壤的格子的方向\r\n getXi_Soil(order,road){\r\n var direction = null;\r\n //如果息壤后面还有下一步的话\r\n if(order + 1 < road.length){\r\n direction = this.getDirection(order,road);\r\n if(direction == \"up\" || direction == \"right_up\" || direction == \"left_up\"){\r\n direction = \"up\";\r\n }\r\n else if(direction == \"down\" || direction == \"left_down\" || direction == \"right_down\"){\r\n direction = \"down\";\r\n }\r\n else if(direction == \"left\" || direction == \"up_left\" || direction == \"down_left\"){\r\n direction = \"left\";\r\n }\r\n else if(direction == \"right\" || direction == \"up_right\" || direction == \"down_right\"){\r\n direction = \"right\";\r\n }\r\n } \r\n return direction;\r\n }\r\n //设置息壤\r\n set_Soil(order,road,name){\r\n var direction = this.getXi_Soil(order,road);\r\n var length = 0;\r\n if(direction == \"right\"){\r\n length = this.map_Width - 1;\r\n for(let i=road[order].x;i<=length;i++){\r\n let n = i*this.map_Array[0].length+road[order].y;\r\n let target = this.block_Array[n].getComponent(\"Block\");\r\n if(target.block_Type == 3 || target.block_Type == 4){\r\n length = i-1;\r\n if(target.block_Type == 4){\r\n length += 1;\r\n }\r\n i = 10000;\r\n break;\r\n }\r\n }this.scheduleOnce\r\n } \r\n else if(direction == \"left\"){\r\n length = 0;\r\n for(let i=road[order].x;i>=length;i--){\r\n let n = i*this.map_Array[0].length+road[order].y;\r\n let target = this.block_Array[n].getComponent(\"Block\");\r\n if(target.block_Type == 3 || target.block_Type == 4){\r\n length = i + 1;\r\n if(target.block_Type == 4){\r\n length -= 1;\r\n }\r\n i = -1;\r\n break;\r\n }\r\n }\r\n } \r\n else if(direction == \"up\"){\r\n length = 0;\r\n for(let i=road[order].y;i>=length;i--){\r\n let n = road[order].x*this.map_Array[0].length + i;\r\n let target = this.block_Array[n].getComponent(\"Block\");\r\n \r\n if(target.block_Type == 3 || target.block_Type == 4){\r\n length = i + 1;\r\n if(target.block_Type == 4){\r\n length -= 1;\r\n }\r\n i = -1;\r\n break;\r\n }\r\n }\r\n } \r\n else if(direction == \"down\"){\r\n length = this.map_Hight - 1;\r\n for(let i=road[order].y;i<=length;i++){\r\n let n = road[order].x*this.map_Array[0].length + i;\r\n let target = this.block_Array[n].getComponent(\"Block\");\r\n \r\n if(target.block_Type == 3 || target.block_Type == 4){\r\n length = i-1;\r\n if(target.block_Type == 4){\r\n length += 1;\r\n }\r\n i = 10000;\r\n break;\r\n }\r\n }\r\n } \r\n // if(length == 0){\r\n \r\n // }\r\n\r\n this.soil_Find(direction,order,length,road,name);\r\n }\r\n //查找息壤蛮遗憾路径\r\n soil_Find(direction,order,length,road,name){\r\n let start = road[order].x;\r\n if(direction == \"right\"){\r\n for(let i = start; i<=length; i++){\r\n let n = i*this.map_Array[0].length+road[order].y;\r\n let target = this.block_Array[n].getComponent(\"Block\");\r\n if(i == start){\r\n if(i == start && i==length) target.set_Xi_SoilType(this.getDirection(order,road),order,name);\r\n else target.set_Xi_SoilType(this.getDirection(order,road),null,name);\r\n let value = cc.v3(this.path_Array[order].x,this.path_Array[order].y,0);\r\n if(this.water_Array[this.water_Array.length-1] != value){\r\n // console.log(\"特别插入:\",this.path_Array[order].x,this.path_Array[order].y);\r\n this.changeWater(value);\r\n }\r\n } \r\n else {\r\n let jg = null;\r\n if(i == length){\r\n let number = i - start -1;\r\n this.changePath(order,number,false,road);\r\n jg = order;\r\n } \r\n target.set_Xi_SoilType(direction,jg,name);\r\n } \r\n }\r\n } \r\n else if(direction == \"left\"){\r\n for(let i = start; i>=length; i--){\r\n let n = i*this.map_Array[0].length+road[order].y;\r\n let target = this.block_Array[n].getComponent(\"Block\");\r\n if(i == start){\r\n if(i == start && i==length) target.set_Xi_SoilType(this.getDirection(order,road),order,name);\r\n else target.set_Xi_SoilType(this.getDirection(order,road),null,name);\r\n let value = cc.v3(this.path_Array[order].x,this.path_Array[order].y,0);\r\n if(this.water_Array[this.water_Array.length-1] != value){\r\n // console.log(\"特别插入:\",this.path_Array[order].x,this.path_Array[order].y);\r\n this.changeWater(value);\r\n }\r\n } \r\n else {\r\n let jg = null;\r\n if(i == length){\r\n let number = i - start + 1;\r\n this.changePath(order,number,false,road);\r\n jg = order;\r\n } \r\n target.set_Xi_SoilType(direction,jg,name);\r\n }\r\n }\r\n } \r\n else if(direction == \"up\"){\r\n start = road[order].y;\r\n for(let i = start; i>=length; i--){\r\n let n = road[order].x*this.map_Array[0].length+i;\r\n let target = this.block_Array[n].getComponent(\"Block\");\r\n if(i == start){\r\n if(i == start && i==length) target.set_Xi_SoilType(this.getDirection(order,road),order,name);\r\n else target.set_Xi_SoilType(this.getDirection(order,road),null,name);\r\n let value = cc.v3(this.path_Array[order].x,this.path_Array[order].y,0);\r\n if(this.water_Array[this.water_Array.length-1] != value){\r\n // console.log(\"特别插入:\",this.path_Array[order].x,this.path_Array[order].y);\r\n this.changeWater(value);\r\n }\r\n } \r\n else {\r\n let jg = null;\r\n if(i == length){\r\n let number = i - start + 1;\r\n this.changePath(order,number,true,road);\r\n jg = order;\r\n } \r\n // console.log(\"想上息壤插入:\",this.path_Array[order].x,i);\r\n target.set_Xi_SoilType(direction,jg,name);\r\n }\r\n }\r\n } \r\n else if(direction == \"down\"){\r\n start = road[order].y;\r\n for(let i = start; i<=length; i++){\r\n let n = road[order].x*this.map_Array[0].length+i;\r\n let target = this.block_Array[n].getComponent(\"Block\");\r\n if(i == start){\r\n if(i == start && i==length) target.set_Xi_SoilType(this.getDirection(order,road),order,name);\r\n else target.set_Xi_SoilType(this.getDirection(order,road),null,name);\r\n let value = cc.v3(this.path_Array[order].x,this.path_Array[order].y,0);\r\n if(this.water_Array[this.water_Array.length-1] != value){\r\n // console.log(\"特别插入:\",this.path_Array[order].x,this.path_Array[order].y);\r\n this.changeWater(value);\r\n }\r\n } \r\n else {\r\n let jg = null;\r\n if(i == length){\r\n let number = i - start - 1;\r\n this.changePath(order,number,true,road);\r\n jg = order;\r\n } \r\n target.set_Xi_SoilType(direction,jg,name);\r\n }\r\n }\r\n } \r\n }\r\n\r\n //改变水流地图\r\n changeWater(value){\r\n let jg = true;\r\n if(this.water_Array.length > 0){\r\n if(this.water_Array[this.water_Array.length-1].x == value.x && this.water_Array[this.water_Array.length-1].y == value.y){\r\n jg = false;\r\n }\r\n }\r\n if(jg) this.water_Array.push(value);\r\n }\r\n\r\n //息壤过后改变修筑路径\r\n changePath(order,number,direction,road){\r\n \r\n for(let i = (order+1); i0; n--){\r\n this.changeWater(cc.v3(this.path_Array[order+1].x,this.path_Array[order+1].y+n,0));\r\n // console.log(\"1特殊放入:\",this.path_Array[order+1].x,this.path_Array[order+1].y+n)\r\n }\r\n }\r\n else{ \r\n for(let n=number; n>0; n--){\r\n this.changeWater(cc.v3(this.path_Array[order+1].x,this.path_Array[order+1].y-n,0));\r\n // console.log(\"2特殊放入:\",this.path_Array[order+1].x,this.path_Array[order+1].y-n)\r\n }\r\n }\r\n }else{\r\n if(number < 0){\r\n for(let m= -number; m>0; m--){\r\n this.changeWater(cc.v3(this.path_Array[order+1].x+m,this.path_Array[order+1].y,0));\r\n // console.log(\"3特殊放入:\",this.path_Array[order+1].x+m,this.path_Array[order+1].y)\r\n }\r\n }\r\n else{\r\n for(let m=number; m>0; m--){\r\n this.changeWater(cc.v3(this.path_Array[order+1].x-m,this.path_Array[order+1].y,0));\r\n // console.log(\"4特殊放入:\",this.path_Array[order+1].x-m,this.path_Array[order+1].y)\r\n }\r\n }\r\n }\r\n }\r\n\r\n\r\n //获取洪峰方向\r\n getDirection(order,road){\r\n var name = \"\";\r\n //入海口比较复杂单独判断\r\n if(order == 0){\r\n let nextX = road[order+1].x - road[order].x;\r\n let nextY = road[order].y - road[order+1].y;\r\n //在底边\r\n if(road[order].y == this.map_Array[0].length-1){\r\n if(nextX == 0){\r\n if(nextY == 1)name = \"up\";\r\n else if(nextY == -1) name = \"err\";\r\n }\r\n else if(nextX == 1) name = \"up_right\";\r\n else if(nextX == -1) name = \"up_left\";\r\n }\r\n //在顶边\r\n else if(road[order].y == 0){\r\n if(nextX == 0){\r\n if(nextY == 1)name = \"err\";\r\n else if(nextY == -1) name = \"down\";\r\n }\r\n else if(nextX == 1) name = \"down_right\";\r\n else if(nextX == -1) name = \"down_left\";\r\n }\r\n //在左边\r\n else if(road[order].x == 0){\r\n if(nextX == 0){\r\n if(nextY == 1)name = \"right_up\";\r\n else if(nextY == -1) name = \"right_down\";\r\n }\r\n else if(nextX == 1) name = \"right\";\r\n else if(nextX == -1) name = \"err\";\r\n }\r\n //在右边\r\n else if(road[order].x == this.map_Array.length-1){\r\n if(nextX == 0){\r\n if(nextY == 1)name = \"left_up\";\r\n else if(nextY == -1) name = \"left_down\";\r\n }\r\n else if(nextX == 1) name = \"err\";\r\n else if(nextX == -1) name = \"left\";\r\n }\r\n }\r\n //不是第一步,已经走过一步\r\n else if(order > 0){\r\n var next = 1;\r\n if(order+2 < road.length){\r\n if(road[order+1].z == 6) next = 2;\r\n }\r\n \r\n //用于判断此点的上一个点,是为了判断当前方块洪水七点,以及下一个移动方向,判断洪终点方向\r\n let nextX = road[order+next].x - road[order].x;\r\n let nextY = road[order].y - road[order+next].y\r\n let previousX = road[order].x - road[order-1].x;\r\n let previousY = road[order-1].y - road[order].y;\r\n if(previousX == 0 && previousY == 0){\r\n if(order > 1){\r\n previousX = road[order].x - road[order-2].x;\r\n previousY = road[order-2].y - road[order].y;\r\n }\r\n else if(order + 1 < road.length){\r\n previousX = road[order+1].x - road[order].x;\r\n previousY = road[order].y - road[order+1].y;\r\n // console.log(\"息壤,上下坐标差距\",previousX,previousY);\r\n }\r\n }\r\n if(previousX == 0 && previousY >= 1){\r\n if(nextX == 0){\r\n if(nextY == 1)name = \"up\";\r\n else if(nextY == -1) name = \"err\";\r\n }\r\n else if(nextX == 1) name = \"up_right\";\r\n else if(nextX == -1) name = \"up_left\";\r\n }\r\n else if(previousX == 0 && previousY <= -1){\r\n if(nextX == 0){\r\n if(nextY == 1)name = \"err\";\r\n else if(nextY == -1) name = \"down\";\r\n }\r\n else if(nextX == 1) name = \"down_right\";\r\n else if(nextX == -1) name = \"down_left\";\r\n }\r\n else if(previousX >= 1 && previousY == 0){\r\n if(nextX == 0){\r\n if(nextY == 1)name = \"right_up\";\r\n else if(nextY == -1) name = \"right_down\";\r\n }\r\n else if(nextX == 1) name = \"right\";\r\n else if(nextX == -1) name = \"err\";\r\n }\r\n else if(previousX <= -1 && previousY == 0){\r\n if(nextX == 0){\r\n if(nextY == 1)name = \"left_up\";\r\n else if(nextY == -1) name = \"left_down\";\r\n }\r\n else if(nextX == 1) name = \"err\";\r\n else if(nextX == -1) name = \"left\";\r\n }\r\n }\r\n\r\n return name ;\r\n }\r\n\r\n //根据是否全面屏,做独立适配方面\r\n fit(){\r\n var jg = this.setFit();\r\n if(!jg){\r\n this.Map.scale = 1.2;\r\n }else{\r\n this.Map.scale = 1;\r\n }\r\n }\r\n //判断全面屏\r\n getSetScreenResolutionFlag () {\r\n let size = cc.winSize;\r\n let width = size.width;\r\n let height = size.height;\r\n if ((height / width) > (16.2 / 9)) return false;\r\n return true;\r\n }\r\n //判断全面屏适配\r\n setFit () {\r\n let flag = this.getSetScreenResolutionFlag();\r\n if (flag) {\r\n } else {\r\n }\r\n return flag;\r\n }\r\n //返回首页\r\n backScene(){\r\n cc.director.loadScene(\"LoadScene\");\r\n }\r\n\r\n //开始游戏\r\n startGame(data){\r\n for(let i=0; i 0){\r\n for(let i=0; i 0) {\r\n this.waterTime -= 1;\r\n this.Countdown.string = cc.fx.GameTool.getTimeMargin(this.waterTime);\r\n if(this.waterTime <= 0){\r\n this.unschedule(this.updateWaterTime);\r\n if(!this.plan_over){\r\n this.waterTime = 0;\r\n this.plan_over = true;\r\n setTimeout(() => {\r\n if(this.water_Array.length == 0){\r\n cc.fx.Notifications.emit(cc.fx.Message.showResult,\"lose\");\r\n cc.fx.Notifications.emit(cc.fx.Message.setData,false);\r\n } \r\n else{\r\n cc.fx.GameConfig.GM_INFO.min_Time = this.waterTime;\r\n this.runWater(0); \r\n } \r\n }, 500);\r\n }\r\n }\r\n }\r\n }\r\n\r\n //如果是倒计时 调用此方法\r\n updateCountDownTime () {\r\n if (this.countTime > 0) {\r\n this.countTime -= 1;\r\n cc.fx.GameConfig.TIME_INFO.totalTime = this.countTime;\r\n this.Time.string = cc.fx.GameTool.getTimeMargin(this.countTime);\r\n if(this.countTime < 5){\r\n let over = this.node.getChildByName(\"Over\");\r\n cc.tween(over)\r\n .to(0.2,{opacity:255})\r\n .delay(0.1)\r\n .to(0.2,{opacity:0})\r\n .start();\r\n }\r\n if(this.countTime <= 0){\r\n this.countTime = 0;\r\n this.setData(false);\r\n this.unschedule(this.updateCountDownTime);\r\n this.gameOver(); \r\n }\r\n }\r\n }\r\n //上传每次操作数据\r\n setData(success){\r\n //设置埋点数据\r\n cc.fx.GameConfig.CLICK_SET(\"mapId\",cc.fx.GameConfig.LEVEL_INFO[cc.fx.GameConfig.GM_INFO.level][this.custom].id);\r\n cc.fx.GameConfig.CLICK_SET(\"difficulty\",cc.fx.GameConfig.GM_INFO.level);\r\n cc.fx.GameConfig.CLICK_SET(\"optimizedSteps\",cc.fx.GameConfig.LEVEL_INFO[cc.fx.GameConfig.GM_INFO.level][this.custom].min_steps);\r\n cc.fx.GameConfig.CLICK_SET(\"round\",cc.fx.GameConfig.GM_INFO.round);\r\n cc.fx.GameConfig.CLICK_SET(\"timer\",cc.fx.GameConfig.TIME_INFO.totalTime);\r\n cc.fx.GameConfig.CLICK_SET(\"cumulativeScore\",cc.fx.GameConfig.GM_INFO.score);\r\n if(success != null){\r\n cc.fx.GameConfig.CLICK_SET(\"success\",success);\r\n cc.fx.GameConfig.GM_INFO.fen = this.getScore();\r\n if(!success) cc.fx.GameConfig.GM_INFO.fen = 0;\r\n cc.fx.GameConfig.CLICK_SET(\"getScore\",cc.fx.GameConfig.GM_INFO.fen);\r\n cc.fx.GameConfig.GM_INFO.score += cc.fx.GameConfig.GM_INFO.fen;\r\n cc.fx.GameConfig.CLICK_SET(\"cumulativeScore\",cc.fx.GameConfig.GM_INFO.score);\r\n if(this.countTime != 0)cc.fx.GameConfig.GM_INFO.successList.push(success);\r\n }\r\n cc.fx.GameTool.setGameData();\r\n \r\n }\r\n //计算得分\r\n getScore(){\r\n //最小步数\r\n let min = cc.fx.GameConfig.LEVEL_INFO[cc.fx.GameConfig.GM_INFO.level][this.custom].min_steps;\r\n //实际使用步数\r\n let now = this.path_Array.length-1;\r\n if(now <=0) now = 0;\r\n var x = (2.5*min - now) / min;\r\n let score = Math.pow(min,x) ** 0.5;\r\n score = score * (this.scoreTime + 10)*100;\r\n return Math.floor(score);\r\n }\r\n\r\n //上传排行榜数据\r\n gameOver(){\r\n var rate = 0;\r\n var successList = cc.fx.GameConfig.GM_INFO.successList;\r\n if(successList.length > 0){\r\n var success = 0;\r\n for(let i=0; i{\r\n cc.director.loadScene(\"OverScene\");\r\n })\r\n .start()\r\n }\r\n //展示结果\r\n showResult(data){\r\n if(data == \"lose\"){\r\n cc.fx.AudioManager._instance.playEffect(\"lose\",null);\r\n cc.fx.GameConfig.GM_INFO.min_Time = -1;\r\n } \r\n else{\r\n cc.fx.AudioManager._instance.playEffect(\"win\",null);\r\n }\r\n this.node.getChildByName(\"Window\").active = true;\r\n this.node.getChildByName(\"Window\").getComponent(\"Window\").init(data);\r\n\r\n }\r\n //记录反应时长,以及做步骤提示\r\n clickSun(data){\r\n //如果没有记录过 回合开始到操作反应时长,则第一次记录, 后面不记录\r\n if(cc.fx.GameConfig.CLICK_DATA.startTime == 0){\r\n this.finishiTime = cc.fx.GameTool.getTime();\r\n var now = this.finishiTime - this.startTime;\r\n // console.log(\"startTime:\",now,this.startTime);\r\n cc.fx.GameConfig.CLICK_SET(\"startTime\",now);\r\n }\r\n if(cc.fx.GameConfig.GM_INFO.level > 3) return;\r\n //步骤提示\r\n var nowPos = this.path_Array[0];\r\n if(this.tip_Array.length != 0){\r\n if(this.tip_Array[this.tip_Array.length-1] == null){\r\n this.tip_Array.push(null);\r\n return;\r\n }\r\n nowPos = this.tip_Array[this.tip_Array.length-1][this.tip_Array[this.tip_Array.length-1].length-1];\r\n if(nowPos){\r\n let n = nowPos.x*this.map_Array[0].length+nowPos.y;\r\n let targetNode = this.block_Array[n];\r\n if(targetNode.getChildByName(\"tipLose\").active == true){\r\n this.tip_Array.push(null);\r\n return;\r\n }\r\n }\r\n else{\r\n return;\r\n }\r\n } \r\n\r\n if(data == \"up\"){\r\n let n = cc.v2(nowPos.x,nowPos.y-1);\r\n this.tipCan(n,data);\r\n }\r\n else if(data == \"down\"){\r\n let n = cc.v2(nowPos.x,nowPos.y+1);\r\n this.tipCan(n,data);\r\n }\r\n else if(data == \"left\"){\r\n let n = cc.v2(nowPos.x-1,nowPos.y);\r\n this.tipCan(n,data);\r\n }\r\n else if(data == \"right\"){\r\n let n = cc.v2(nowPos.x+1,nowPos.y);\r\n this.tipCan(n,data);\r\n }\r\n else if(data == \"reinforce\"){\r\n let n = cc.v3(nowPos.x,nowPos.y,2);\r\n this.tip_Array.push([n]);\r\n }\r\n else if(data == \"soil\"){\r\n let n = cc.v3(nowPos.x,nowPos.y,3);\r\n this.tip_Array.push([n]);\r\n }\r\n \r\n }\r\n //提示是否错误\r\n tipCan(pos,data){\r\n \r\n //先判断是否出边界\r\n if(pos.x <0 || pos.x >this.map_Array.length-1 || pos.y <0 || pos.y > this.map_Array[0].length-1 ){\r\n this.tip_Array.push(null);\r\n return;\r\n } \r\n let n = pos.x*this.map_Array[0].length+pos.y;\r\n let target = this.block_Array[n].getComponent(\"Block\");\r\n target.node.getChildByName(\"tipWin\").active = true;\r\n // target.node.getChildByName(\"tipWin\").opacity = 255;\r\n // target.node.getChildByName(\"tipLose\").opacity = 255;\r\n\r\n //重复路回头路,或者山峰\r\n if(target.repeatRoad(false,null) == true || target.block_Type == 3){\r\n target.node.getChildByName(\"tipLose\").active = true;\r\n target.node.getChildByName(\"tipWin\").active = false;\r\n }\r\n //湿地 上一步如果没用息壤或者加固\r\n else if(target.block_Type == 2){\r\n if(this.tip_Array.length > 1){\r\n if(this.tip_Array[this.tip_Array.length-1][0].z == 0){\r\n target.node.getChildByName(\"tipLose\").active = true;\r\n target.node.getChildByName(\"tipWin\").active = false;\r\n }\r\n }\r\n }\r\n\r\n if(this.tip_Array.length > 0){\r\n if(this.tip_Array[this.tip_Array.length-1][0].z == 3){\r\n if(data == \"up\"){\r\n var arr = [];\r\n for(let i=pos.y; i >=0;i--){\r\n let block = this.block_Array[pos.x*this.map_Array[0].length+i].getComponent(\"Block\");\r\n if(block.block_Type == 3){\r\n i = -10000;\r\n }\r\n else{\r\n block.node.getChildByName(\"tipWin\").active = true;\r\n arr.push(cc.v3(pos.x,i,0));\r\n if( block.block_Type == 4) i = -10000;\r\n }\r\n }\r\n this.tip_Array.push(arr);\r\n }\r\n else if(data == \"down\"){\r\n var arr = [];\r\n for(let i=pos.y; i=0 ;i--){\r\n let block = this.block_Array[i*this.map_Array[0].length+pos.y].getComponent(\"Block\");\r\n if(block.block_Type == 3){\r\n i = -10000;\r\n }\r\n else{\r\n block.node.getChildByName(\"tipWin\").active = true;\r\n arr.push(cc.v3(i,pos.y,0));\r\n if( block.block_Type == 4) i = -10000;\r\n }\r\n }\r\n this.tip_Array.push(arr);\r\n }\r\n }\r\n else{\r\n let posJg = cc.v3(pos.x,pos.y,0);\r\n if(data == \"reinforce\") pos.z = 2;\r\n if(data == \"soil\") pos.z = 3; \r\n this.tip_Array.push([posJg]);\r\n }\r\n // console.log(this.tip_Array);\r\n return;\r\n }\r\n\r\n let posJg = cc.v3(pos.x,pos.y,0);\r\n if(data == \"reinforce\") pos.z = 2;\r\n if(data == \"soil\") pos.z = 3; \r\n this.tip_Array.push([posJg]);\r\n // console.log(this.tip_Array);\r\n }\r\n\r\n //移除提示\r\n removeTip(data){\r\n if(cc.fx.GameConfig.GM_INFO.level > 3) return;\r\n //分为撤回一步 和全部清空\r\n if(this.tip_Array.length > 0){\r\n if(data == \"back\"){\r\n let target = this.tip_Array[this.tip_Array.length-1];\r\n if(target == null){\r\n this.tip_Array.pop();\r\n } \r\n else{\r\n this.tip_Array.pop();\r\n for(let i=0; i 0) this.Guide.children[this.step-1].active = false;\r\n this.step += 1;\r\n let name = this.getGuideName();\r\n \r\n var target = this.Guide.getChildByName(name);\r\n target.active = true;\r\n let size = cc.winSize;\r\n\r\n if(size.height > 1334){\r\n let height = (size.height - 1334)/2;\r\n target.getChildByName(\"sp\").height += height;\r\n }\r\n }\r\n\r\n onEnable () {\r\n cc.fx.Notifications.on(cc.fx.Message.control, this.clickSun, this);\r\n cc.fx.Notifications.on(cc.fx.Message.next, this.runRoad, this);\r\n cc.fx.Notifications.on(cc.fx.Message.nextWater, this.runWater, this);\r\n cc.fx.Notifications.on(cc.fx.Message.startGame, this.startGame, this);\r\n cc.fx.Notifications.on(cc.fx.Message.changePath, this.changePath, this);\r\n cc.fx.Notifications.on(cc.fx.Message.setData, this.setData, this);\r\n cc.fx.Notifications.on(cc.fx.Message.guideNext, this.guideNext, this);\r\n cc.fx.Notifications.on(cc.fx.Message.showResult, this.showResult, this);\r\n cc.fx.Notifications.on(cc.fx.Message.removeTip, this.removeTip, this);\r\n }\r\n onDisable () {\r\n cc.fx.Notifications.off(cc.fx.Message.control, this.clickSun);\r\n cc.fx.Notifications.off(cc.fx.Message.next, this.runRoad);\r\n cc.fx.Notifications.off(cc.fx.Message.nextWater, this.runWater);\r\n cc.fx.Notifications.off(cc.fx.Message.startGame, this.startGame);\r\n cc.fx.Notifications.off(cc.fx.Message.changePath, this.changePath);\r\n cc.fx.Notifications.off(cc.fx.Message.setData, this.setData);\r\n cc.fx.Notifications.off(cc.fx.Message.guideNext, this.guideNext);\r\n cc.fx.Notifications.off(cc.fx.Message.showResult, this.showResult);\r\n cc.fx.Notifications.off(cc.fx.Message.removeTip, this.removeTip);\r\n }\r\n update (dt) {\r\n\r\n \r\n }\r\n}\r\n"]} \ No newline at end of file +{"version":3,"sources":["assets\\Script\\GameManager.ts"],"names":[],"mappings":"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","file":"","sourceRoot":"/","sourcesContent":["import { BlockType } from \"./Block\";\r\n\r\n// 主游戏控制类\r\nconst {ccclass, property} = cc._decorator;\r\n@ccclass\r\nexport default class GameManager extends cc.Component {\r\n\r\n @property(cc.Node)\r\n Map: cc.Node = null;\r\n\r\n @property(cc.Prefab)\r\n Block: cc.Prefab = null;\r\n\r\n @property(cc.Label)\r\n Time: cc.Label = null;\r\n\r\n @property(cc.Label)\r\n Countdown: cc.Label = null;\r\n\r\n @property(cc.Node)\r\n Guide: cc.Node = null;\r\n\r\n step:number; //引导步骤\r\n bgClick:boolean //引导时Mask遮罩可不可以点击\r\n btnClick:boolean //引导时,按钮可不可点击\r\n custom:number; //当前难度随机地图ID\r\n countTime: number; //总倒计时\r\n waterTime: number //洪峰倒计时\r\n startTime: number; //游戏开始计时\r\n replaceTime: number //洪峰倒计时,当总剩余时间小于洪峰倒计时,用于替代\r\n finishiTime:number; //提交时间\r\n scoreTime:number //用于计算提交到洪峰来的时间差\r\n block_Array: any; //所有块数组\r\n path_Array: any; //修筑路径\r\n water_Array: any; //水流路径\r\n map_Array: any; //地图数组\r\n water_PathAray:any; //洪峰路径\r\n tip_Array: any; //引导数组\r\n map_Hight:number; //地图高度\r\n map_Width:number; //地图宽度\r\n min_Time:number; //上一把地图结束时,距离洪峰来临时间 (>5秒是个分水岭)\r\n min_Steps:number; //当前地图最优步数\r\n plan_over:boolean; //是否修建完\r\n waterTween:cc.Tween; //河水倒计时动画\r\n\r\n onLoad () {\r\n }\r\n start () {\r\n cc.fx.GameConfig.CLICK_init();\r\n this.fit();\r\n this.init();\r\n }\r\n\r\n //处理地图数据 第一关完全随机,从第二关开始,赢了根据5秒洪峰来临增加难度步数,输了当前难度减步数\r\n getMap(){\r\n var custom = 0;\r\n var map = [];\r\n if(cc.fx.GameConfig.GM_INFO.level == 1){\r\n custom = Math.floor(Math.random()* cc.fx.GameConfig.LEVEL_INFO[cc.fx.GameConfig.GM_INFO.level].length);\r\n }\r\n else{\r\n var arr = cc.fx.GameConfig.LEVEL_INFO[cc.fx.GameConfig.GM_INFO.level];\r\n if(cc.fx.GameConfig.GM_INFO.min_Time == -1){\r\n map = this.getMapArray(arr,cc.fx.GameConfig.GM_INFO.min_Steps - 1,false);\r\n }\r\n else if(cc.fx.GameConfig.GM_INFO.min_Time >= 5){\r\n map = this.getMapArray(arr,cc.fx.GameConfig.GM_INFO.min_Steps + 2,true);\r\n }\r\n else{\r\n map = this.getMapArray(arr,cc.fx.GameConfig.GM_INFO.min_Steps + 1,true);\r\n }\r\n var random = Math.floor(Math.random()* map.length);\r\n custom = map[random];\r\n // console.log(custom,map);\r\n }\r\n //记录当前最小步数\r\n cc.fx.GameConfig.GM_INFO.min_Steps = cc.fx.GameConfig.LEVEL_INFO[cc.fx.GameConfig.GM_INFO.level][custom].min_steps;\r\n cc.fx.GameConfig.GM_INFO.min_Time = 0;\r\n return custom;\r\n }\r\n /**\r\n * 获取下一关难度,步数增加2或者1,如果没有则降到有.\r\n * @param arr 配置里读取,当前(x*x)地图等级内所有地图数组\r\n * @param min_steps 最佳步数,下一关难度或者输了降难度,根据最佳步数增加或者减少。\r\n * @param type true为增加步数,false为输了降低难度步数\r\n */\r\n getMapArray(arr,min_steps,type){\r\n var map = [];\r\n for(let i=0; i {\r\n return arr.map((val) => val[i])\r\n })\r\n this.map_Width = this.map_Array.length;\r\n this.map_Hight = this.map_Array[0].length;\r\n\r\n this.Map.x =(6 - this.map_Array.length)*48;\r\n this.Map.y = (this.map_Array[0].length - 6.5)*48;\r\n\r\n for(let i=0;i 0){\r\n if(this.path_Array[order-1].z == 0){\r\n //console.log(\"1正常放入\",this.path_Array[order-1].x,this.path_Array[order-1].y,this.path_Array[order-1].z)\r\n this.changeWater(cc.v3(this.path_Array[order-1].x,this.path_Array[order-1].y,0));\r\n if(order == this.path_Array.length-1){\r\n this.changeWater(cc.v3(this.path_Array[order].x,this.path_Array[order].y,0));\r\n // console.log(\"最后放入\",this.path_Array[order].x,this.path_Array[order].y)\r\n }\r\n }\r\n else{\r\n //console.log(\"2插入\",this.path_Array[order].x,this.path_Array[order].y,this.path_Array[order].z)\r\n this.changeWater(cc.v3(this.path_Array[order].x,this.path_Array[order].y,0));\r\n }\r\n } \r\n \r\n if(order <= this.path_Array.length-1){\r\n let i = this.path_Array[order].x*this.map_Array[0].length+this.path_Array[order].y;\r\n let direction = \"\";\r\n let circulate = true;\r\n //最后一步结束\r\n if(order == this.path_Array.length-1){\r\n circulate = false;\r\n direction = \"End\";\r\n // console.log(\"进入结束\");\r\n if(this.path_Array.length > 1){\r\n // console.log(\"准备出水\");\r\n setTimeout(() => {\r\n if(!this.plan_over){\r\n this.plan_over = true;\r\n var head = this.node.getChildByName(\"Top\").getChildByName(\"head\");\r\n var progress = this.node.getChildByName(\"Top\").getChildByName(\"progress\").getComponent(cc.Sprite);\r\n head.stopAllActions();\r\n head.setPosition(310,head.y);\r\n if(this.waterTween) this.waterTween.stop();\r\n progress.fillRange = 1;\r\n cc.fx.GameConfig.GM_INFO.min_Time = this.waterTime;\r\n this.runWater(0); \r\n }\r\n }, 500);\r\n }\r\n else{\r\n direction = \"err\";\r\n // console.log(\"进入结束err\");\r\n }\r\n\r\n }\r\n else{\r\n if(this.path_Array[order].z == 6 && order + 1 < this.path_Array.length ) {\r\n direction = \"Reinforce\";\r\n i = this.path_Array[order+1].x*this.map_Array[0].length+this.path_Array[order+1].y;\r\n }\r\n else if(order+1 < this.path_Array.length){\r\n if(this.path_Array[order+1].z == 5){\r\n direction = \"Xi_Soil\";\r\n }\r\n else if(this.path_Array[order+1].z == 6 && order == 0 && order + 1 < this.path_Array.length){\r\n // direction = this.getDirection(order+1,this.path_Array);\r\n direction = this.getDirection(order,this.path_Array);\r\n }\r\n else{\r\n direction = this.getDirection(order,this.path_Array);\r\n }\r\n }\r\n else{\r\n direction = this.getDirection(order,this.path_Array);\r\n }\r\n }\r\n // console.log(order,this.path_Array[order].x,this.path_Array[order].y,i);\r\n \r\n // console.log(\"步骤:\",order,\"方向\",direction);\r\n let jg = this.getBoundary(order,this.path_Array[order].x,this.path_Array[order].y,direction,this.path_Array);\r\n\r\n // if(direction == \"\" || jg == false) return;\r\n if(direction == \"err\" || direction == \"\" || jg == false){\r\n cc.fx.Notifications.emit(cc.fx.Message.showResult,\"lose\");\r\n \r\n return;\r\n }\r\n if( i<0 || i > (this.block_Array.length-1)){\r\n cc.fx.Notifications.emit(cc.fx.Message.showResult,\"lose\");\r\n return;\r\n }\r\n\r\n let target = this.block_Array[i].getComponent(\"Block\");\r\n target.setPath(direction);\r\n\r\n if(order > 0 && order < this.path_Array.length-1){\r\n if(this.path_Array[order+1].z == 5){\r\n this.set_Soil(order+1,this.path_Array,\"road\");\r\n circulate = false;\r\n return;\r\n \r\n }\r\n else if(order == 1 && this.path_Array[order].z == 5){\r\n this.set_Soil(order,this.path_Array,\"road\");\r\n circulate = false;\r\n return;\r\n }\r\n }\r\n let pos = cc.v2();\r\n if(direction == \"End\"){\r\n if(order > 0){\r\n // if(this.path_Array[order-1].z == 0){\r\n pos = cc.v2(this.path_Array[order-1].x, this.path_Array[order-1].y);\r\n // }\r\n }\r\n }\r\n let data = {\r\n order:order,\r\n time:cc.fx.GameConfig.TIME_INFO.waterSpeed[cc.fx.GameConfig.GM_INFO.level],\r\n type:this.path_Array[order].z,\r\n circulate:circulate,\r\n last:pos\r\n };\r\n \r\n target.runRoad(data);\r\n }\r\n }\r\n /**\r\n * 判断边界。或者撞山,或者湿地没有加固\r\n * @param order 建筑地图数组里的执行的序列号\r\n * @param x 当前操作地块横坐标\r\n * @param y 当前操作地块纵坐标\r\n * @param direction 当前操作方向,若不是方向则为息壤或者加固\r\n * @param road 建筑地图数组,可理解为路径数组,path_Array\r\n */\r\n getBoundary(order,x,y,direction,road){\r\n let jg = true;\r\n if(x < 0 || x >= this.map_Width || y < 0 || y >= this.map_Hight){\r\n jg = false;\r\n // console.log(\"超过边界,游戏结束\");\r\n // alert(\"超过边界,治水失败\");\r\n cc.fx.Notifications.emit(cc.fx.Message.showResult,\"lose\");\r\n }\r\n else {\r\n let i = road[order].x*this.map_Array[0].length+road[order].y;\r\n let target = this.block_Array[i].getComponent(\"Block\");\r\n if(target.block_Type == 3){\r\n jg = false;\r\n // console.log(\"修筑山峰,游戏结束\");\r\n // alert(\"修筑山峰,治水失败\");\r\n cc.fx.Notifications.emit(cc.fx.Message.showResult,\"lose\");\r\n }\r\n else if(target.block_Type == 2 && direction != \"Reinforce\"){\r\n jg = false;\r\n // console.log(\"修筑未加固湿地,游戏结束\");\r\n // alert(\"修筑未加固湿地,游戏结束\");\r\n cc.fx.Notifications.emit(cc.fx.Message.showResult,\"lose\");\r\n }\r\n }\r\n return jg;\r\n }\r\n /**\r\n * 开始执行洪峰来了的动画\r\n * @param order 建筑地图数组里的执行的序列号,依次往下加\r\n */\r\n runWater(order){\r\n order = parseInt(order);\r\n \r\n if(order <= this.water_Array.length-1){\r\n let i = this.water_Array[order].x*this.map_Array[0].length+this.water_Array[order].y;\r\n let direction = \"\";\r\n let circulate = true;\r\n //最后一步结束\r\n if(order == this.water_Array.length-1){\r\n circulate = false;\r\n direction = \"End\";\r\n }\r\n else{\r\n if(this.water_Array[order].z == 6 && order + 1 < this.water_Array.length && order!=1) {\r\n direction = \"Reinforce\";\r\n i = this.water_Array[order+1].x*this.map_Array[0].length+this.water_Array[order+1].y;\r\n }\r\n else if(order+1 < this.water_Array.length){\r\n if(this.water_Array[order+1].z == 5){\r\n direction = \"Xi_Soil\";\r\n }\r\n else if(this.water_Array[order+1].z == 6 && order == 0){\r\n direction = \"Reinforce\";\r\n }\r\n else{\r\n direction = this.getDirection(order,this.water_Array);\r\n }\r\n }\r\n else{\r\n direction = this.getDirection(order,this.water_Array);\r\n }\r\n }\r\n let jg = this.getBoundary(order,this.water_Array[order].x,this.water_Array[order].y,direction,this.water_Array);\r\n if(direction == \"\" || jg == false || direction == \"err\"){\r\n cc.fx.Notifications.emit(cc.fx.Message.showResult,\"lose\");\r\n return;\r\n }\r\n let target = this.block_Array[i].getComponent(\"Block\");\r\n target.setPath(direction);\r\n\r\n if(order > 0 && order < this.water_Array.length-1){\r\n if(this.water_Array[order+1].z == 5){\r\n this.set_Soil(order+1,this.water_Array,\"water\");\r\n circulate = false;\r\n return;\r\n }\r\n else if(order == 1 && this.water_Array[order].z == 5){\r\n this.set_Soil(order,this.water_Array,\"water\");\r\n circulate = false;\r\n return;\r\n } \r\n }\r\n\r\n let pos = cc.v2();\r\n if(direction == \"End\"){\r\n if(order > 0){\r\n if(this.water_Array[order-1].z == 0){\r\n pos = cc.v2(this.water_Array[order-1].x, this.water_Array[order-1].y);\r\n }\r\n }\r\n }\r\n let data = {\r\n order:order,\r\n time:cc.fx.GameConfig.TIME_INFO.waterSpeed[cc.fx.GameConfig.GM_INFO.level],\r\n type:this.water_Array[order].z,\r\n circulate:circulate,\r\n last:pos\r\n };\r\n target.runWater(data);\r\n }\r\n }\r\n /**\r\n * 获取息壤的格子的方向\r\n * @param order 建筑地图数组里的执行的序列号,依次往下加\r\n * @param road 建筑地图数组或者洪峰路径数组,可理解为路径数组,path_Array water_Array\r\n */\r\n getXi_Soil(order,road){\r\n var direction = null;\r\n //如果息壤后面还有下一步的话\r\n if(order + 1 < road.length){\r\n direction = this.getDirection(order,road);\r\n if(direction == \"up\" || direction == \"right_up\" || direction == \"left_up\"){\r\n direction = \"up\";\r\n }\r\n else if(direction == \"down\" || direction == \"left_down\" || direction == \"right_down\"){\r\n direction = \"down\";\r\n }\r\n else if(direction == \"left\" || direction == \"up_left\" || direction == \"down_left\"){\r\n direction = \"left\";\r\n }\r\n else if(direction == \"right\" || direction == \"up_right\" || direction == \"down_right\"){\r\n direction = \"right\";\r\n }\r\n } \r\n return direction;\r\n }\r\n /**\r\n * 设置息壤执行方法\r\n * @param order 建筑地图数组里的执行的序列号,依次往下加\r\n * @param road 建筑地图数组或者洪峰路径数组,可理解为路径数组,path_Array water_Array\r\n * @param name road或者water,建筑路径或者洪峰路径\r\n */\r\n set_Soil(order,road,name){\r\n var direction = this.getXi_Soil(order,road);\r\n\r\n var length = 0;\r\n if(direction == \"right\"){\r\n length = this.map_Width - 1;\r\n // let temp = this.map_Width - 1;\r\n for(let i=road[order].x;i<=length;i++){\r\n let n = i*this.map_Array[0].length+road[order].y;\r\n let target = this.block_Array[n].getComponent(\"Block\");\r\n if(target.block_Type == 3 || target.block_Type == 4){\r\n length = i-1;\r\n if(target.block_Type == 4){\r\n length += 1;\r\n }\r\n i = 10000;\r\n break;\r\n }\r\n \r\n }\r\n } \r\n else if(direction == \"left\"){\r\n length = 0;\r\n for(let i=road[order].x;i>=length;i--){\r\n let n = i*this.map_Array[0].length+road[order].y;\r\n let target = this.block_Array[n].getComponent(\"Block\");\r\n \r\n if(target.block_Type == 3 || target.block_Type == 4){\r\n length = i + 1;\r\n if(target.block_Type == 4){\r\n length -= 1;\r\n }\r\n i = -1;\r\n break;\r\n }\r\n }\r\n } \r\n else if(direction == \"up\"){\r\n length = 0;\r\n\r\n for(let i=road[order].y;i>=length;i--){\r\n let n = road[order].x*this.map_Array[0].length + i;\r\n let target = this.block_Array[n].getComponent(\"Block\");\r\n if(target.block_Type == 3 || target.block_Type == 4){\r\n length = i + 1;\r\n if(target.block_Type == 4){\r\n length -= 1;\r\n }\r\n i = -1;\r\n break;\r\n }\r\n }\r\n } \r\n else if(direction == \"down\"){\r\n length = this.map_Hight - 1;\r\n for(let i=road[order].y;i<=length;i++){\r\n let n = road[order].x*this.map_Array[0].length + i;\r\n let target = this.block_Array[n].getComponent(\"Block\");\r\n if(target.block_Type == 3 || target.block_Type == 4){\r\n length = i-1;\r\n if(target.block_Type == 4){\r\n length += 1;\r\n }\r\n i = 10000;\r\n break;\r\n }\r\n \r\n }\r\n } \r\n\r\n this.soil_Find(direction,order,length,road,name);\r\n }\r\n //查找息壤蛮遗憾路径\r\n soil_Find(direction,order,length,road,name){\r\n \r\n let start = road[order].x;\r\n if(direction == \"right\"){\r\n for(let i = start; i<=length; i++){\r\n let n = i*this.map_Array[0].length+road[order].y;\r\n let target = this.block_Array[n].getComponent(\"Block\");\r\n if(i == start){\r\n if(i == start && i==length){\r\n cc.fx.Notifications.emit(cc.fx.Message.showResult,\"lose\");\r\n target.set_Xi_SoilType(this.getDirection(order,road),order,name);\r\n }\r\n else target.set_Xi_SoilType(this.getDirection(order,road),null,name);\r\n let value = cc.v3(this.path_Array[order].x,this.path_Array[order].y,0);\r\n if(this.water_Array[this.water_Array.length-1] != value){\r\n // console.log(\"特别插入:\",this.path_Array[order].x,this.path_Array[order].y);\r\n this.changeWater(value);\r\n }\r\n } \r\n else {\r\n let jg = null;\r\n if(i == length){\r\n let number = i - start -1;\r\n this.changePath(order,number,false,road);\r\n jg = order;\r\n } \r\n target.set_Xi_SoilType(direction,jg,name);\r\n } \r\n }\r\n } \r\n else if(direction == \"left\"){\r\n for(let i = start; i>=length; i--){\r\n let n = i*this.map_Array[0].length+road[order].y;\r\n let target = this.block_Array[n].getComponent(\"Block\");\r\n if(i == start){\r\n if(i == start && i==length){\r\n cc.fx.Notifications.emit(cc.fx.Message.showResult,\"lose\");\r\n target.set_Xi_SoilType(this.getDirection(order,road),order,name);\r\n }\r\n else target.set_Xi_SoilType(this.getDirection(order,road),null,name);\r\n let value = cc.v3(this.path_Array[order].x,this.path_Array[order].y,0);\r\n if(this.water_Array[this.water_Array.length-1] != value){\r\n // console.log(\"特别插入:\",this.path_Array[order].x,this.path_Array[order].y);\r\n this.changeWater(value);\r\n }\r\n } \r\n else {\r\n let jg = null;\r\n if(i == length){\r\n let number = i - start + 1;\r\n this.changePath(order,number,false,road);\r\n jg = order;\r\n } \r\n target.set_Xi_SoilType(direction,jg,name);\r\n }\r\n }\r\n } \r\n else if(direction == \"up\"){\r\n start = road[order].y;\r\n for(let i = start; i>=length; i--){\r\n let n = road[order].x*this.map_Array[0].length+i;\r\n let target = this.block_Array[n].getComponent(\"Block\");\r\n if(i == start){\r\n if(i == start && i==length){\r\n cc.fx.Notifications.emit(cc.fx.Message.showResult,\"lose\");\r\n target.set_Xi_SoilType(this.getDirection(order,road),order,name);\r\n } \r\n else{\r\n target.set_Xi_SoilType(this.getDirection(order,road),null,name);\r\n }\r\n let value = cc.v3(this.path_Array[order].x,this.path_Array[order].y,0);\r\n if(this.water_Array[this.water_Array.length-1] != value){\r\n // console.log(\"特别插入:\",this.path_Array[order].x,this.path_Array[order].y);\r\n this.changeWater(value);\r\n }\r\n } \r\n else {\r\n let jg = null;\r\n if(i == length){\r\n let number = i - start + 1;\r\n this.changePath(order,number,true,road);\r\n jg = order;\r\n } \r\n // console.log(\"想上息壤插入:\",this.path_Array[order].x,i);\r\n target.set_Xi_SoilType(direction,jg,name);\r\n }\r\n }\r\n } \r\n else if(direction == \"down\"){\r\n start = road[order].y;\r\n for(let i = start; i<=length; i++){\r\n let n = road[order].x*this.map_Array[0].length+i;\r\n let target = this.block_Array[n].getComponent(\"Block\");\r\n if(i == start){\r\n if(i == start && i==length){\r\n cc.fx.Notifications.emit(cc.fx.Message.showResult,\"lose\");\r\n target.set_Xi_SoilType(this.getDirection(order,road),order,name);\r\n }\r\n else target.set_Xi_SoilType(this.getDirection(order,road),null,name);\r\n let value = cc.v3(this.path_Array[order].x,this.path_Array[order].y,0);\r\n if(this.water_Array[this.water_Array.length-1] != value){\r\n // console.log(\"特别插入:\",this.path_Array[order].x,this.path_Array[order].y);\r\n this.changeWater(value);\r\n }\r\n } \r\n else {\r\n let jg = null;\r\n if(i == length){\r\n let number = i - start - 1;\r\n this.changePath(order,number,true,road);\r\n jg = order;\r\n } \r\n target.set_Xi_SoilType(direction,jg,name);\r\n }\r\n }\r\n } \r\n }\r\n\r\n /**\r\n * 改变水流地图\r\n * @param value 需要根据使用息壤情况,插入到洪峰路径的点\r\n */\r\n changeWater(value){\r\n let jg = true;\r\n if(this.water_Array.length > 0){\r\n if(this.water_Array[this.water_Array.length-1].x == value.x && this.water_Array[this.water_Array.length-1].y == value.y){\r\n jg = false;\r\n }\r\n }\r\n if(jg) this.water_Array.push(value);\r\n }\r\n /**\r\n * 息壤过后改变修筑路径\r\n * @param order 建筑地图数组里的执行的序列号\r\n * @param number 息壤执行长度,改变息壤用后其他路径的X或Y值\r\n * @param direction 只为两个方向,横向false,纵向true\r\n * @param road 建筑地图数组或者洪峰路径数组,可理解为路径数组,path_Array water_Array\r\n */\r\n changePath(order,number,direction,road){\r\n \r\n for(let i = (order+1); i0; n--){\r\n this.changeWater(cc.v3(this.path_Array[order+1].x,this.path_Array[order+1].y+n,0));\r\n // console.log(\"1特殊放入:\",this.path_Array[order+1].x,this.path_Array[order+1].y+n)\r\n }\r\n }\r\n else{ \r\n for(let n=number; n>0; n--){\r\n this.changeWater(cc.v3(this.path_Array[order+1].x,this.path_Array[order+1].y-n,0));\r\n // console.log(\"2特殊放入:\",this.path_Array[order+1].x,this.path_Array[order+1].y-n)\r\n }\r\n }\r\n }else{\r\n if(number < 0){\r\n for(let m= -number; m>0; m--){\r\n this.changeWater(cc.v3(this.path_Array[order+1].x+m,this.path_Array[order+1].y,0));\r\n // console.log(\"3特殊放入:\",this.path_Array[order+1].x+m,this.path_Array[order+1].y)\r\n }\r\n }\r\n else{\r\n for(let m=number; m>0; m--){\r\n this.changeWater(cc.v3(this.path_Array[order+1].x-m,this.path_Array[order+1].y,0));\r\n // console.log(\"4特殊放入:\",this.path_Array[order+1].x-m,this.path_Array[order+1].y)\r\n }\r\n }\r\n }\r\n }\r\n /**\r\n * 获取洪峰方向\r\n * @param order 建筑地图数组里的执行的序列号\r\n * @param road 建筑地图数组或者洪峰路径数组,可理解为路径数组,path_Array water_Array\r\n */\r\n getDirection(order,road){\r\n var name = \"\";\r\n //入海口比较复杂单独判断\r\n if(order == 0){\r\n if(this.path_Array[order+1].z == 6 && road == this.path_Array) order += 1;\r\n let nextX = road[order+1].x - road[order].x;\r\n let nextY = road[order].y - road[order+1].y;\r\n //在底边\r\n if(road[order].y == this.map_Array[0].length-1){\r\n if(nextX == 0){\r\n if(nextY == 1)name = \"up\";\r\n else if(nextY == -1) name = \"err\";\r\n }\r\n else if(nextX == 1) name = \"up_right\";\r\n else if(nextX == -1) name = \"up_left\";\r\n }\r\n //在顶边\r\n else if(road[order].y == 0){\r\n if(nextX == 0){\r\n if(nextY == 1)name = \"err\";\r\n else if(nextY == -1) name = \"down\";\r\n }\r\n else if(nextX == 1) name = \"down_right\";\r\n else if(nextX == -1) name = \"down_left\";\r\n }\r\n //在左边\r\n else if(road[order].x == 0){\r\n if(nextX == 0){\r\n if(nextY == 1)name = \"right_up\";\r\n else if(nextY == -1) name = \"right_down\";\r\n }\r\n else if(nextX == 1) name = \"right\";\r\n else if(nextX == -1) name = \"err\";\r\n }\r\n //在右边\r\n else if(road[order].x == this.map_Array.length-1){\r\n if(nextX == 0){\r\n if(nextY == 1)name = \"left_up\";\r\n else if(nextY == -1) name = \"left_down\";\r\n }\r\n else if(nextX == 1) name = \"err\";\r\n else if(nextX == -1) name = \"left\";\r\n }\r\n }\r\n //不是第一步,已经走过一步\r\n else if(order > 0){\r\n var next = 1;\r\n if(order+2 < road.length){\r\n if(road[order+1].z == 6) next = 2;\r\n }\r\n \r\n //用于判断此点的上一个点,是为了判断当前方块洪水七点,以及下一个移动方向,判断洪终点方向\r\n let nextX = road[order+next].x - road[order].x;\r\n let nextY = road[order].y - road[order+next].y\r\n let previousX = road[order].x - road[order-1].x;\r\n let previousY = road[order-1].y - road[order].y;\r\n if(previousX == 0 && previousY == 0){\r\n if(order > 1){\r\n previousX = road[order].x - road[order-2].x;\r\n previousY = road[order-2].y - road[order].y;\r\n }\r\n else if(order + 1 < road.length){\r\n previousX = road[order+1].x - road[order].x;\r\n previousY = road[order].y - road[order+1].y;\r\n // console.log(\"息壤,上下坐标差距\",previousX,previousY);\r\n }\r\n }\r\n if(previousX == 0 && previousY >= 1){\r\n if(nextX == 0){\r\n if(nextY == 1)name = \"up\";\r\n else if(nextY == -1) name = \"err\";\r\n }\r\n else if(nextX == 1) name = \"up_right\";\r\n else if(nextX == -1) name = \"up_left\";\r\n }\r\n else if(previousX == 0 && previousY <= -1){\r\n if(nextX == 0){\r\n if(nextY == 1)name = \"err\";\r\n else if(nextY == -1) name = \"down\";\r\n }\r\n else if(nextX == 1) name = \"down_right\";\r\n else if(nextX == -1) name = \"down_left\";\r\n }\r\n else if(previousX >= 1 && previousY == 0){\r\n if(nextX == 0){\r\n if(nextY == 1)name = \"right_up\";\r\n else if(nextY == -1) name = \"right_down\";\r\n }\r\n else if(nextX == 1) name = \"right\";\r\n else if(nextX == -1) name = \"err\";\r\n }\r\n else if(previousX <= -1 && previousY == 0){\r\n if(nextX == 0){\r\n if(nextY == 1)name = \"left_up\";\r\n else if(nextY == -1) name = \"left_down\";\r\n }\r\n else if(nextX == 1) name = \"err\";\r\n else if(nextX == -1) name = \"left\";\r\n }\r\n }\r\n\r\n return name ;\r\n }\r\n\r\n //根据是否全面屏,做独立适配方面\r\n fit(){\r\n var jg = this.setFit();\r\n if(!jg){\r\n this.Map.scale = 1.2;\r\n }else{\r\n this.Map.scale = 1;\r\n }\r\n }\r\n //判断全面屏\r\n getSetScreenResolutionFlag () {\r\n let size = cc.winSize;\r\n let width = size.width;\r\n let height = size.height;\r\n if ((height / width) > (16.2 / 9)) return false;\r\n return true;\r\n }\r\n //判断全面屏适配\r\n setFit () {\r\n let flag = this.getSetScreenResolutionFlag();\r\n if (flag) {\r\n } else {\r\n }\r\n return flag;\r\n }\r\n //返回首页\r\n backScene(){\r\n cc.director.loadScene(\"LoadScene\");\r\n }\r\n /**\r\n * 开始修筑\r\n * @param data 记录操作的数组\r\n */\r\n startGame(data){\r\n this.unschedule(this.updateWaterTime);\r\n for(let i=0; i 0){\r\n for(let i=0; i 0) {\r\n this.waterTime -= 1;\r\n this.Countdown.string = cc.fx.GameTool.getTimeMargin(this.waterTime);\r\n if(this.waterTime <= 0){\r\n this.unschedule(this.updateWaterTime);\r\n if(!this.plan_over){\r\n this.waterTime = 0;\r\n this.plan_over = true;\r\n setTimeout(() => {\r\n if(this.water_Array.length == 0){\r\n cc.fx.Notifications.emit(cc.fx.Message.showResult,\"lose\");\r\n } \r\n else{\r\n cc.fx.GameConfig.GM_INFO.min_Time = this.waterTime;\r\n this.runWater(0); \r\n } \r\n }, 500);\r\n }\r\n }\r\n }\r\n }\r\n\r\n //如果是倒计时 调用此方法\r\n updateCountDownTime () {\r\n if (this.countTime > 0) {\r\n this.countTime -= 1;\r\n cc.fx.GameConfig.TIME_INFO.totalTime = this.countTime;\r\n this.Time.string = cc.fx.GameTool.getTimeMargin(this.countTime);\r\n if(this.countTime < 5){\r\n let over = this.node.getChildByName(\"Over\");\r\n cc.tween(over)\r\n .to(0.2,{opacity:255})\r\n .delay(0.1)\r\n .to(0.2,{opacity:0})\r\n .start();\r\n }\r\n if(this.countTime <= 0){\r\n this.countTime = 0;\r\n this.setData(\"lose\");\r\n this.unschedule(this.updateCountDownTime);\r\n this.gameOver(); \r\n }\r\n }\r\n }\r\n //上传每次操作数据 success为成功还是失败\r\n setData(success){\r\n //设置埋点数据\r\n cc.fx.GameConfig.CLICK_SET(\"mapId\",cc.fx.GameConfig.LEVEL_INFO[cc.fx.GameConfig.GM_INFO.level][this.custom].id);\r\n cc.fx.GameConfig.CLICK_SET(\"difficulty\",cc.fx.GameConfig.GM_INFO.level);\r\n cc.fx.GameConfig.CLICK_SET(\"optimizedSteps\",cc.fx.GameConfig.LEVEL_INFO[cc.fx.GameConfig.GM_INFO.level][this.custom].min_steps);\r\n cc.fx.GameConfig.CLICK_SET(\"round\",cc.fx.GameConfig.GM_INFO.round);\r\n cc.fx.GameConfig.CLICK_SET(\"timer\",cc.fx.GameConfig.TIME_INFO.totalTime);\r\n cc.fx.GameConfig.CLICK_SET(\"cumulativeScore\",cc.fx.GameConfig.GM_INFO.score);\r\n success = success ==\"lose\"?false:true\r\n if(success != null){\r\n cc.fx.GameConfig.CLICK_SET(\"success\",success);\r\n cc.fx.GameConfig.GM_INFO.fen = this.getScore();\r\n if(!success) cc.fx.GameConfig.GM_INFO.fen = 0;\r\n cc.fx.GameConfig.CLICK_SET(\"getScore\",cc.fx.GameConfig.GM_INFO.fen);\r\n cc.fx.GameConfig.GM_INFO.score += cc.fx.GameConfig.GM_INFO.fen;\r\n this.node.getChildByName(\"Top\").getChildByName(\"id\").getComponent(cc.Label).string = \r\n cc.fx.GameConfig.GM_INFO.score;\r\n cc.fx.GameConfig.CLICK_SET(\"cumulativeScore\",cc.fx.GameConfig.GM_INFO.score);\r\n if(this.countTime != 0)cc.fx.GameConfig.GM_INFO.successList.push(success);\r\n }\r\n cc.fx.GameTool.setGameData();\r\n \r\n }\r\n //计算得分\r\n getScore(){\r\n //最小步数\r\n let min = cc.fx.GameConfig.LEVEL_INFO[cc.fx.GameConfig.GM_INFO.level][this.custom].min_steps;\r\n //实际使用步数\r\n let now = this.path_Array.length-1;\r\n if(now <=0) now = 0;\r\n var x = (2.5*min - now) / min;\r\n let score = Math.pow(min,x) ** 0.5;\r\n score = score * (this.scoreTime + 10)*100;\r\n return Math.floor(score);\r\n }\r\n\r\n //上传排行榜数据\r\n gameOver(){\r\n var rate = 0;\r\n var successList = cc.fx.GameConfig.GM_INFO.successList;\r\n if(successList.length > 0){\r\n var success = 0;\r\n for(let i=0; i{\r\n cc.director.loadScene(\"OverScene\");\r\n })\r\n .start()\r\n }\r\n //展示结果 data为成功或者失败\r\n showResult(data){\r\n if(this.node.getChildByName(\"GameOver\").active == false && this.node.getChildByName(\"Window\").active == false){\r\n cc.fx.Notifications.emit(cc.fx.Message.setData,data);\r\n if(data == \"lose\"){\r\n cc.fx.AudioManager._instance.playEffect(\"lose\",null);\r\n cc.fx.GameConfig.GM_INFO.min_Time = -1;\r\n } \r\n else{\r\n cc.fx.AudioManager._instance.playEffect(\"win\",null);\r\n }\r\n this.node.getChildByName(\"Window\").active = true;\r\n this.node.getChildByName(\"Window\").getComponent(\"Window\").init(data);\r\n }\r\n }\r\n //记录反应时长,以及做步骤提示 data为操作名称\r\n clickSun(data){\r\n //如果没有记录过 回合开始到操作反应时长,则第一次记录, 后面不记录\r\n\r\n if(cc.fx.GameConfig.CLICK_DATA.startTime == -1){\r\n this.finishiTime = cc.fx.GameTool.getTime();\r\n var now = this.finishiTime - this.startTime;\r\n // console.log(\"startTime:\",this.finishiTime);\r\n cc.fx.GameConfig.CLICK_SET(\"startTime\",now);\r\n }\r\n if(cc.fx.GameConfig.GM_INFO.level > 3) return;\r\n //步骤提示\r\n var nowPos = this.path_Array[0];\r\n if(this.tip_Array.length != 0){\r\n if(this.tip_Array[this.tip_Array.length-1] == null){\r\n this.tip_Array.push(null);\r\n return;\r\n }\r\n nowPos = this.tip_Array[this.tip_Array.length-1][this.tip_Array[this.tip_Array.length-1].length-1];\r\n if(nowPos){\r\n let n = nowPos.x*this.map_Array[0].length+nowPos.y;\r\n let targetNode = this.block_Array[n];\r\n if(targetNode.getChildByName(\"tipLose\").active == true){\r\n this.tip_Array.push(null);\r\n return;\r\n }\r\n }\r\n else{\r\n return;\r\n }\r\n } \r\n\r\n if(data == \"up\"){\r\n let n = cc.v2(nowPos.x,nowPos.y-1);\r\n this.tipCan(n,data);\r\n }\r\n else if(data == \"down\"){\r\n let n = cc.v2(nowPos.x,nowPos.y+1);\r\n this.tipCan(n,data);\r\n }\r\n else if(data == \"left\"){\r\n let n = cc.v2(nowPos.x-1,nowPos.y);\r\n this.tipCan(n,data);\r\n }\r\n else if(data == \"right\"){\r\n let n = cc.v2(nowPos.x+1,nowPos.y);\r\n this.tipCan(n,data);\r\n }\r\n else if(data == \"reinforce\"){\r\n let n = cc.v3(nowPos.x,nowPos.y,2);\r\n this.tip_Array.push([n]);\r\n }\r\n else if(data == \"soil\"){\r\n let n = cc.v3(nowPos.x,nowPos.y,3);\r\n this.tip_Array.push([n]);\r\n }\r\n \r\n }\r\n //提示是否错误 只前三关有 ,pos为位置,data为操作方向\r\n tipCan(pos,data){\r\n \r\n //先判断是否出边界\r\n if(pos.x <0 || pos.x >this.map_Array.length-1 || pos.y <0 || pos.y > this.map_Array[0].length-1 ){\r\n this.tip_Array.push(null);\r\n return;\r\n } \r\n let n = pos.x*this.map_Array[0].length+pos.y;\r\n let target = this.block_Array[n].getComponent(\"Block\");\r\n target.node.getChildByName(\"tipWin\").active = true;\r\n\r\n //重复路回头路,或者山峰\r\n if(target.repeatRoad(false,null) == true || target.block_Type == 3){\r\n this.tip_Array.push([cc.v3(pos.x,pos.y,0)]);\r\n target.node.getChildByName(\"tipLose\").active = true;\r\n target.node.getChildByName(\"tipWin\").active = false;\r\n }\r\n //湿地 上一步如果没用息壤或者加固\r\n else if(target.block_Type == 2){\r\n if(this.tip_Array.length > 0){\r\n if(this.tip_Array[this.tip_Array.length-1][0].z == 0){\r\n target.node.getChildByName(\"tipLose\").active = true;\r\n target.node.getChildByName(\"tipWin\").active = false;\r\n }\r\n else if(this.tip_Array[this.tip_Array.length-1][0].z == 2){\r\n target.node.getChildByName(\"tipLose\").active = false;\r\n target.node.getChildByName(\"tipWin\").active = true;\r\n }\r\n }\r\n else{\r\n target.node.getChildByName(\"tipLose\").active = true;\r\n target.node.getChildByName(\"tipWin\").active = false;\r\n }\r\n }\r\n\r\n if(this.tip_Array.length > 0){\r\n if(this.tip_Array[this.tip_Array.length-1][0].z == 3){\r\n if(data == \"up\"){\r\n var arr = [];\r\n for(let i=pos.y; i >=0;i--){\r\n let block = this.block_Array[pos.x*this.map_Array[0].length+i].getComponent(\"Block\");\r\n if(block.block_Type == 3){\r\n i = -10000;\r\n }\r\n else{\r\n block.node.getChildByName(\"tipWin\").active = true;\r\n arr.push(cc.v3(pos.x,i,0));\r\n if( block.block_Type == 4) i = -10000;\r\n }\r\n }\r\n this.tip_Array.push(arr);\r\n }\r\n else if(data == \"down\"){\r\n var arr = [];\r\n for(let i=pos.y; i=0 ;i--){\r\n let block = this.block_Array[i*this.map_Array[0].length+pos.y].getComponent(\"Block\");\r\n if(block.block_Type == 3){\r\n i = -10000;\r\n }\r\n else{\r\n block.node.getChildByName(\"tipWin\").active = true;\r\n arr.push(cc.v3(i,pos.y,0));\r\n if( block.block_Type == 4) i = -10000;\r\n }\r\n }\r\n this.tip_Array.push(arr);\r\n }\r\n }\r\n else{\r\n let posJg = cc.v3(pos.x,pos.y,0);\r\n if(data == \"reinforce\") pos.z = 2;\r\n if(data == \"soil\") pos.z = 3; \r\n this.tip_Array.push([posJg]);\r\n }\r\n // console.log(this.tip_Array);\r\n return;\r\n }\r\n\r\n let posJg = cc.v3(pos.x,pos.y,0);\r\n if(data == \"reinforce\") pos.z = 2;\r\n if(data == \"soil\") pos.z = 3; \r\n this.tip_Array.push([posJg]);\r\n // console.log(this.tip_Array);\r\n }\r\n\r\n //移除提示\r\n removeTip(data){\r\n if(cc.fx.GameConfig.GM_INFO.level > 3) return;\r\n //分为撤回一步 和全部清空\r\n if(this.tip_Array.length > 0){\r\n if(data == \"back\"){\r\n let target = this.tip_Array[this.tip_Array.length-1];\r\n if(target == null){\r\n this.tip_Array.pop();\r\n } \r\n else{\r\n this.tip_Array.pop();\r\n for(let i=0; i 0) this.Guide.children[this.step-1].active = false;\r\n this.step += 1;\r\n let name = this.getGuideName();\r\n \r\n var target = this.Guide.getChildByName(name);\r\n target.active = true;\r\n let size = cc.winSize;\r\n\r\n if(size.height > 1334){\r\n let height = (size.height - 1334)/2;\r\n target.getChildByName(\"sp\").height += height;\r\n }\r\n }\r\n\r\n onEnable () {\r\n cc.fx.Notifications.on(cc.fx.Message.control, this.clickSun, this);\r\n cc.fx.Notifications.on(cc.fx.Message.next, this.runRoad, this);\r\n cc.fx.Notifications.on(cc.fx.Message.nextWater, this.runWater, this);\r\n cc.fx.Notifications.on(cc.fx.Message.startGame, this.startGame, this);\r\n cc.fx.Notifications.on(cc.fx.Message.changePath, this.changePath, this);\r\n cc.fx.Notifications.on(cc.fx.Message.setData, this.setData, this);\r\n cc.fx.Notifications.on(cc.fx.Message.guideNext, this.guideNext, this);\r\n cc.fx.Notifications.on(cc.fx.Message.showResult, this.showResult, this);\r\n cc.fx.Notifications.on(cc.fx.Message.removeTip, this.removeTip, this);\r\n }\r\n onDisable () {\r\n cc.fx.Notifications.off(cc.fx.Message.control, this.clickSun);\r\n cc.fx.Notifications.off(cc.fx.Message.next, this.runRoad);\r\n cc.fx.Notifications.off(cc.fx.Message.nextWater, this.runWater);\r\n cc.fx.Notifications.off(cc.fx.Message.startGame, this.startGame);\r\n cc.fx.Notifications.off(cc.fx.Message.changePath, this.changePath);\r\n cc.fx.Notifications.off(cc.fx.Message.setData, this.setData);\r\n cc.fx.Notifications.off(cc.fx.Message.guideNext, this.guideNext);\r\n cc.fx.Notifications.off(cc.fx.Message.showResult, this.showResult);\r\n cc.fx.Notifications.off(cc.fx.Message.removeTip, this.removeTip);\r\n }\r\n update (dt) {\r\n\r\n \r\n }\r\n}\r\n"]} \ No newline at end of file diff --git a/library/imports/c1/c1af99dd-ee03-40f7-9609-d3887d0dd357.js b/library/imports/c1/c1af99dd-ee03-40f7-9609-d3887d0dd357.js new file mode 100644 index 0000000..c878bd3 --- /dev/null +++ b/library/imports/c1/c1af99dd-ee03-40f7-9609-d3887d0dd357.js @@ -0,0 +1,1084 @@ +"use strict"; +cc._RF.push(module, 'c1af9nd7gNA95YJ04h9DdNX', 'MiniGameSdk'); +// Script/Sdk/MiniGameSdk.ts + +"use strict"; +Object.defineProperty(exports, "__esModule", { value: true }); +exports.MiniGameSdk = void 0; +/** + * 小游戏平台SDK工具封装,目前只支持微信和抖音平台 + */ +var MiniGameSdk; +(function (MiniGameSdk) { + function isWechat() { + //@ts-ignore + return window.wx !== null && window.wx !== undefined; + } + MiniGameSdk.isWechat = isWechat; + function isBytedance() { + //@ts-ignore + return window.tt !== null && window.tt !== undefined; + } + MiniGameSdk.isBytedance = isBytedance; + function getSysWinSize() { + var sys; + if (isWechat()) { + // @ts-ignore + sys = wx.getSystemInfoSync(); + } + else if (isBytedance()) { + // @ts-ignore + sys = tt.getSystemInfoSync(); + } + var size = { width: 0, height: 0 }; + if (sys) { + size.width = sys.windowWidth; + size.height = sys.windowHeight; + } + return size; + } + /** + * 插屏广告。微信抖音都支持! + */ + var ADInterstitial = /** @class */ (function () { + function ADInterstitial(adUid) { + this._adUid = adUid; + } + Object.defineProperty(ADInterstitial.prototype, "aduid", { + get: function () { + return this._adUid; + }, + enumerable: false, + configurable: true + }); + ADInterstitial.prototype.show = function () { + var _this = this; + var _a, _b; + // @ts-ignore + if (isWechat() && !wx.createInterstitialAd) { + console.warn('wechat unsupport interstitial AD!'); + this._interstitial = null; + return; + } + // @ts-ignore + if (isBytedance() && !tt.createInterstitialAd) { + console.warn('bytedance unsupport interstitial AD!'); + this._interstitial = null; + return; + } + if (this._interstitial) { + this._interstitial.load(); + } + else { + if (isWechat()) { + // @ts-ignore + this._interstitial = wx.createInterstitialAd({ adUnitId: this._adUid }); + } + else if (isBytedance()) { + // @ts-ignore + this._interstitial = tt.createInterstitialAd({ adUnitId: this._adUid }); + } + else { + this._interstitial = null; + } + (_a = this._interstitial) === null || _a === void 0 ? void 0 : _a.onLoad(function () { + console.log('load interstitial ad success'); + _this._interstitial.show().catch(function (err) { + console.log('catch interstitial ad error:', err); + }); + }); + (_b = this._interstitial) === null || _b === void 0 ? void 0 : _b.onError(function (err) { + console.log('interstitial ad on error:', err); + }); + } + }; + ADInterstitial.prototype.destory = function () { + var _a; + (_a = this._interstitial) === null || _a === void 0 ? void 0 : _a.destroy(); + }; + return ADInterstitial; + }()); + var ADBanner = /** @class */ (function () { + /** + * 抖音和微信都支持 + * 横幅广告。预估宽度默认为300,预估高度为140。如果你不确定就按默认值来。 + * @param adUid 广告UID,后端配置 + * @param isTop 是否在屏幕顶部展示。内部会自动居中计算位置。 + * @param bannerWidth 横幅广告的预估宽度。默认300 + * @param autoShow 广告加载完成后是否立刻显示,默认为不显示 + */ + function ADBanner(adUid, param, bannerWidth, autoShow) { + if (bannerWidth === void 0) { bannerWidth = 300; } + if (autoShow === void 0) { autoShow = false; } + this._adUid = adUid; + this.create(autoShow, bannerWidth, param); // 默认300比较合适 + } + Object.defineProperty(ADBanner.prototype, "aduid", { + get: function () { + return this._adUid; + }, + enumerable: false, + configurable: true + }); + ADBanner.prototype.create = function (autoShow, bannerWidth, param) { + var _this = this; + var _a, _b; + if (!isWechat() && !isBytedance()) { + this._banner = null; + return; + } + this.destroy(); + var winSize = getSysWinSize(); + var height = bannerWidth * 0.4; + var top = 0, left = 0; + if (typeof param === "boolean") { + left = (winSize.width - bannerWidth) / 2; + top = param ? 5 : (winSize.height - height); + } + else { + left = param.left; + top = param.top; + } + var params = { + adUnitId: this._adUid, + adIntervals: 30, + style: { left: left, top: top, width: bannerWidth } + }; + if (isWechat()) { + // @ts-ignore + this._banner = wx.createBannerAd(params); + } + else if (isBytedance()) { + // @ts-ignore + this._banner = tt.createBannerAd(params); + } + else { + this._banner = null; + } + (_a = this._banner) === null || _a === void 0 ? void 0 : _a.onError(function (err) { + console.log('ad banner error:', err); + }); + (_b = this._banner) === null || _b === void 0 ? void 0 : _b.onLoad(function () { + autoShow && _this._banner.show(); + }); + }; + ADBanner.prototype.show = function () { + var _a; + (_a = this._banner) === null || _a === void 0 ? void 0 : _a.show(); + }; + ADBanner.prototype.hide = function () { + var _a; + (_a = this._banner) === null || _a === void 0 ? void 0 : _a.hide(); + }; + ADBanner.prototype.destroy = function () { + var _a; + (_a = this._banner) === null || _a === void 0 ? void 0 : _a.destroy(); + }; + return ADBanner; + }()); + var ADCustom = /** @class */ (function () { + /** + * 由于原生模板广告在微信服务后端可以定制宽度大小,个数,缩放比例等,所以位置调整要根据设置的宽度来定。抖音不支持! + * @param adUid 广告UID,后端配置 + * @param top 从左上角开始,距离屏幕顶部的距离。注意:这个数据为设备屏幕宽度width。如果需要获取屏幕的像素,需要乘以设备像素比Pixel-Ratio,例如iPhone 13 Pro的Pixel-Ratio为3,像素为Width*3。 + * @param left 从左上角开始,距离屏幕最左边的距离。注意:这个数据为设备屏幕宽度width。如果需要获取屏幕的像素,需要乘以设备像素比Pixel-Ratio,例如iPhone 13 Pro的Pixel-Ratio为3,像素为Width*3。 + * @param scale 原生模板广告的尺寸,默认为1,即100%。此值在微信服务后端广告中获得,默认为100%,目前有100%,90%,80%三种,一般情况不用修改。若有修改,记得传入值,例如90%就传入0.9。 + */ + function ADCustom(adUid, top, left, scale) { + if (top === void 0) { top = 0; } + if (left === void 0) { left = 0; } + if (scale === void 0) { scale = 1.0; } + this._adUid = adUid; + this.createCustomAd(top, left, scale); + } + Object.defineProperty(ADCustom.prototype, "aduid", { + get: function () { + return this._adUid; + }, + enumerable: false, + configurable: true + }); + ADCustom.prototype.createCustomAd = function (top, left, scale) { + var _a; + if (!isWechat()) { // only wechat support custom ad + this._adCustom = null; + console.log('Only wechat support Custom Ad'); + return; + } + this.destroy(); + // 原生模板5个应用宽度为375,若设置了缩放比例,则宽度也需要设置 + // let width = 375 * this._scale; + // let newLeft = (sys.windowWidth - width) / 2; + // let newTop = sys.windowHeight / 2; // 120是预估高度 + // @ts-ignore + this._adCustom = wx.createCustomAd({ + adUnitId: this._adUid, + style: { left: left, top: top, fixed: true } + }); + (_a = this._adCustom) === null || _a === void 0 ? void 0 : _a.onError(function (err) { + console.log('ad custom error:', err); + }); + }; + ADCustom.prototype.show = function () { + var _a; + (_a = this._adCustom) === null || _a === void 0 ? void 0 : _a.show(); + }; + ADCustom.prototype.hide = function () { + var _a; + (_a = this._adCustom) === null || _a === void 0 ? void 0 : _a.hide(); + }; + ADCustom.prototype.destroy = function () { + var _a; + (_a = this._adCustom) === null || _a === void 0 ? void 0 : _a.destroy(); + }; + return ADCustom; + }()); + /** + * 视频广告用户点击行为结果 + */ + var EAdVideoResult; + (function (EAdVideoResult) { + /** + * 用户看完了广告,游戏可发放奖励。 + */ + EAdVideoResult[EAdVideoResult["ACCEPT"] = 0] = "ACCEPT"; + /** + * 用户中途关闭了广告,即未看完状态。不可发放奖励。 + */ + EAdVideoResult[EAdVideoResult["REJECT"] = 1] = "REJECT"; + /** + * 广告组件内部发生了错误。不可发放奖励。 + */ + EAdVideoResult[EAdVideoResult["ERROR"] = 2] = "ERROR"; + })(EAdVideoResult = MiniGameSdk.EAdVideoResult || (MiniGameSdk.EAdVideoResult = {})); + var ADVideo = /** @class */ (function () { + function ADVideo(adUid) { + this._adVideo = null; + this._adUid = adUid; + } + Object.defineProperty(ADVideo.prototype, "aduid", { + get: function () { + return this._adUid; + }, + enumerable: false, + configurable: true + }); + /** + * 由于微信和抖音视频广告机制不同,微信可以看的视频广告个数只有0和1个,抖音平台则可以看0~maxVideoCount + * @param onResult 两个参数:第一个res是EAdVideoResult定义,第二count是用户看了多少个视频广告。 + * @param target onResult的拥有者 + * @param maxVideoCount 可以连续看最大视频个数,可最大化商业效率。默认为3个。 + * @returns + */ + ADVideo.prototype.show = function (onResult, target, maxVideoCount) { + var _this = this; + var _a, _b, _c, _d, _e; + if (maxVideoCount === void 0) { maxVideoCount = 3; } + var callback = function (state, count) { + onResult === null || onResult === void 0 ? void 0 : onResult.call(target, state, count); + }; + if (!isWechat() && !isBytedance()) { + callback(EAdVideoResult.ACCEPT, 1); + this._adVideo = null; + return; + } + var onAdVideoClosed = function (res) { + var _a; + (_a = _this._adVideo) === null || _a === void 0 ? void 0 : _a.offClose(onAdVideoClosed); + if (isWechat()) { + if (res && res.isEnded || res === undefined) { + callback(EAdVideoResult.ACCEPT, 1); + } + else { + callback(EAdVideoResult.REJECT, 0); + } + } + else if (isBytedance()) { + var resConverted = res; + if (resConverted && resConverted.count > 0) { + callback(EAdVideoResult.ACCEPT, resConverted.count); + } + else { + callback(EAdVideoResult.REJECT, 0); + } + } + }; + (_a = this._adVideo) === null || _a === void 0 ? void 0 : _a.offClose(onAdVideoClosed); + if (isWechat()) { + // @ts-ignore + this._adVideo = wx.createRewardedVideoAd({ + adUnitId: this._adUid + }); + } + else if (isBytedance()) { + // @ts-ignore + this._adVideo = tt.createRewardedVideoAd({ + adUnitId: this._adUid, + multiton: true, + multitonRewardMsg: ['多1次奖励', '再多一次奖励', '再多一次奖励'], + multitonRewardTimes: maxVideoCount, + }); + } + else { + this._adVideo = null; + } + (_b = this._adVideo) === null || _b === void 0 ? void 0 : _b.onLoad(function () { + console.log('Ad load success'); + }); + (_c = this._adVideo) === null || _c === void 0 ? void 0 : _c.onError(function (err) { + console.log('Ad video error:', err); + callback(EAdVideoResult.ERROR, 0); + }); + (_d = this._adVideo) === null || _d === void 0 ? void 0 : _d.onClose(onAdVideoClosed); + (_e = this._adVideo) === null || _e === void 0 ? void 0 : _e.show().catch(function () { + var _a; + (_a = _this._adVideo) === null || _a === void 0 ? void 0 : _a.load().then(function () { var _a; return (_a = _this._adVideo) === null || _a === void 0 ? void 0 : _a.show(); }).catch(function (err) { + console.log('Catch video ad error:', err); + callback(EAdVideoResult.ERROR, 0); + }); + }); + }; + ADVideo.prototype.destory = function () { + var _a; + (_a = this._adVideo) === null || _a === void 0 ? void 0 : _a.destory(); + }; + return ADVideo; + }()); + var EAdBannerLocation; + (function (EAdBannerLocation) { + /** + * 屏幕顶部 + */ + EAdBannerLocation[EAdBannerLocation["TOP"] = 0] = "TOP"; + /** + * 屏幕底部 + */ + EAdBannerLocation[EAdBannerLocation["BOTTOM"] = 1] = "BOTTOM"; + })(EAdBannerLocation = MiniGameSdk.EAdBannerLocation || (MiniGameSdk.EAdBannerLocation = {})); + var AdvertManager = /** @class */ (function () { + function AdvertManager() { + this._customs = {}; + } + Object.defineProperty(AdvertManager, "instance", { + get: function () { + if (!AdvertManager._instance) { + AdvertManager._instance = new AdvertManager(); + } + return AdvertManager._instance; + }, + enumerable: false, + configurable: true + }); + /** + * 预加载横幅广告,不会显示。只有你在调用showBanner时才会显示。 + * 可重复调用,但是会销毁上一次的实例。一般情况,全局有一个就行了,太多占用内存,而且没必要。 + * @param adUid 广告UID + * @param location 位置有两种情况:1、可以传入枚举值,默认上方; 2、可以自定义位置传入IPosition,注意IPosition中的top和left跟平台的top,left是一致(没有乘以设备像素比ratio),需要开发者自己调试位置 + * @param scale 默认为跟屏幕一样的宽度,可以通过设置缩放比例来调整大小。当然,平台有规定最大或最小宽度,函数内部会自动计算。 + */ + AdvertManager.prototype.loadBanner = function (adUid, location, scale) { + var _a; + if (location === void 0) { location = EAdBannerLocation.TOP; } + if (scale === void 0) { scale = 1.0; } + (_a = this._banner) === null || _a === void 0 ? void 0 : _a.destroy(); + var size = getSysWinSize(); + // 当 style.width 小于 300 时,会取作 300。 当 style.width 大于屏幕宽度时,会取作屏幕宽度。 + var width = size.width * scale; + width = width < 300 ? 300 : width; // 最小值矫正 + width = width > size.width ? size.width : width; //最大值矫正 + this._banner = typeof location === 'number' ? new ADBanner(adUid, location === EAdBannerLocation.TOP, width, false) : new ADBanner(adUid, location, width, false); + }; + /** + * 显示横幅广告 + */ + AdvertManager.prototype.showBanner = function () { + if (this._banner) { + this._banner.show(); + } + else { + console.warn('MiniGameSDK: banner is null, you must call loadBanner(...) first!'); + } + }; + /** + * 隐藏横幅广告 + */ + AdvertManager.prototype.hideBanner = function () { + var _a; + (_a = this._banner) === null || _a === void 0 ? void 0 : _a.hide(); + }; + /** + * 弹出插屏广告 + * @param adUid 广告单元id + */ + AdvertManager.prototype.showInterstitial = function (adUid) { + var _a; + if (this._interstitial && this._interstitial.aduid === adUid) { + this._interstitial.show(); + } + else { + (_a = this._interstitial) === null || _a === void 0 ? void 0 : _a.destory(); + this._interstitial = new ADInterstitial(adUid); + this._interstitial.show(); + } + }; + /** + * 加载原生模板广告,不会显示。只有你在调用showCustom时才会显示。 + * 由于原生模板广告在微信服务后端可以定制宽度大小,个数,缩放比例等,所以位置调整要根据设置的宽度来定。抖音不支持本函数,会调用无效! + * @param adUid 广告ID + * @param location 位置有两种情况:1、可以传入枚举值,默认上方; 2、可以自定义位置传入IPosition,注意IPosition中的top和left跟平台的top,left是一致(没有乘以设备像素比ratio),需要开发者自己调试位置 + * @param scale 缩放比例,默认是1,即不缩放。这个缩放并不是自己填,而是根据微信MP后台你配置的原生模板广告的缩放比例填,目前有100%,90%,80%三种,一般情况不用修改。若有后台修改,记得传入值,例如90%就传入0.9。 + */ + AdvertManager.prototype.loadCustom = function (adUid, location, scale) { + if (location === void 0) { location = { top: 0, left: 0 }; } + if (scale === void 0) { scale = 1; } + // this._custom?.destroy(); + // this._custom = new ADCustom(adUid, location.top, location.left, scale); + if (this._customs[adUid]) { + console.log(adUid + " has been loaded."); + return; + } + this._customs[adUid] = new ADCustom(adUid, location.top, location.left, scale); + }; + /** + * 显示自定义广告。 + * @param adUid 广告的唯一标识符。使用此标识符来查找和显示特定的自定义广告。 + * + * 此方法尝试根据提供的adUid显示一个自定义广告。如果给定的adUid对应的自定义广告已加载, + * 则调用该广告的显示方法。如果广告未加载,则在控制台输出警告信息。 + */ + AdvertManager.prototype.showCustom = function (adUid) { + if (this._customs[adUid]) { + this._customs[adUid].show(); + } + else { + console.warn("You have not load " + adUid + " of Custom AD, can not show!"); + } + }; + /** + * 隐藏指定的自定义广告单元 + * + * 此方法用于隐藏通过广告单元标识符(adUid)指定的自定义广告。如果指定的广告单元已加载并显示, + * 则将其隐藏;如果广告单元未加载,则在控制台输出警告信息。 + * + * @param adUid 广告单元标识符,用于唯一标识一个自定义广告单元。 + */ + AdvertManager.prototype.hideCustom = function (adUid) { + if (this._customs[adUid]) { + this._customs[adUid].hide(); + } + else { + console.warn("You have not load " + adUid + " of Custom AD, can not hide!"); + } + }; + /** + * 由于微信和抖音视频广告机制不同,微信可以看的视频广告个数只有0和1个,抖音平台则可以看0~maxVideoCount + * @param adUid 广告ID。如果与上一次UID不同,则内部会重新创建实例。开发者完全不用关心这个细节。 + * @param onVideoResult 两个参数:第一个res是EAdVideoResult定义,第二count是用户看了多少个视频广告。 + * @param target onVideoResult的拥有者 + * @param maxVideoCount 最大视频个数。默认是3,仅对抖音平台生效。微信平台看完视频count的结果永远是1或0 + */ + AdvertManager.prototype.showVideo = function (adUid, onVideoResult, target, maxVideoCount) { + var _a; + if (maxVideoCount === void 0) { maxVideoCount = 3; } + if (this._video && this._video.aduid === adUid) { + this._video.show(onVideoResult, target, maxVideoCount); + } + else { + (_a = this._video) === null || _a === void 0 ? void 0 : _a.destory(); + this._video = new ADVideo(adUid); + this._video.show(onVideoResult, target, maxVideoCount); + } + }; + /** + * 销毁内部所有实例,清空内存 + */ + AdvertManager.prototype.destroyAll = function () { + var _a, _b, _c, _d; + (_a = this._banner) === null || _a === void 0 ? void 0 : _a.destroy(); + this._banner = null; + (_b = this._interstitial) === null || _b === void 0 ? void 0 : _b.destory(); + this._interstitial = null; + (_c = this._video) === null || _c === void 0 ? void 0 : _c.destory(); + this._video = null; + if (this._customs) { + for (var val in this._customs) { + (_d = this._customs[val]) === null || _d === void 0 ? void 0 : _d.destroy(); + } + this._customs = {}; + } + }; + return AdvertManager; + }()); + MiniGameSdk.AdvertManager = AdvertManager; + var EGameClubIcon; + (function (EGameClubIcon) { + /** 绿色图标 */ + EGameClubIcon["GREEN"] = "green"; + /** 红色图标 */ + EGameClubIcon["WHITE"] = "white"; + /** 有黑色圆角背景的白色图标 */ + EGameClubIcon["DARK"] = "dark"; + /** 有白色圆角背景的绿色图标 */ + EGameClubIcon["LIGHT"] = "light"; + })(EGameClubIcon = MiniGameSdk.EGameClubIcon || (MiniGameSdk.EGameClubIcon = {})); + var GameClub = /** @class */ (function () { + function GameClub() { + } + Object.defineProperty(GameClub, "instance", { + get: function () { + if (!this._instance) { + this._instance = new GameClub(); + } + return this._instance; + }, + enumerable: false, + configurable: true + }); + /** + * 创建游戏圈按钮 + * @param icon + * @param position + * @param size + * @param openLink + */ + GameClub.prototype.create = function (icon, position, size, openLink) { + if (icon === void 0) { icon = EGameClubIcon.GREEN; } + if (position === void 0) { position = { top: 0, left: 0 }; } + if (size === void 0) { size = { width: 40, height: 40 }; } + if (isWechat()) { + // @ts-ignore + this._club = wx.createGameClubButton({ + icon: icon, + style: { + left: position.left, + top: position.top, + width: size.width, + height: size.height + }, + openlink: openLink + }); + } + }; + GameClub.prototype.show = function () { + var _a; + (_a = this._club) === null || _a === void 0 ? void 0 : _a.show(); + }; + GameClub.prototype.hide = function () { + var _a; + (_a = this._club) === null || _a === void 0 ? void 0 : _a.hide(); + }; + GameClub.prototype.destory = function () { + var _a; + (_a = this._club) === null || _a === void 0 ? void 0 : _a.destroy(); + }; + return GameClub; + }()); + MiniGameSdk.GameClub = GameClub; + /** + * 振动类型 + */ + var EVirbrateType; + (function (EVirbrateType) { + /** + * 短振动 + */ + EVirbrateType[EVirbrateType["SHORT"] = 0] = "SHORT"; + /** + * 长振动 + */ + EVirbrateType[EVirbrateType["LONG"] = 1] = "LONG"; + })(EVirbrateType = MiniGameSdk.EVirbrateType || (MiniGameSdk.EVirbrateType = {})); + /** + * 平台常用API合集 + */ + var API = /** @class */ (function () { + function API() { + } + /** + * 分享app给朋友,微信小游戏分享是没有onSuccess回调的。 + * @param title 标题 + * @param description 细节描述信息 + * @param imageUrl 图片地址 + * @param query 查询信息 + * @param onSuccess 抖音会回调,微信不会回调 + */ + API.shareAppToFriends = function (title, description, imageUrl, query, onSuccess) { + if (description === void 0) { description = ''; } + if (isWechat()) { + try { + //@ts-ignore + wx.shareAppMessage({ + title: title, + imageUrl: imageUrl, + query: query, + }); + } + catch (err) { + console.log("share faild: " + err); + } + } + if (isBytedance()) { + //@ts-ignore + tt.shareAppMessage({ + title: title, + desc: description, + imageUrl: imageUrl !== null && imageUrl !== void 0 ? imageUrl : '', + query: query !== null && query !== void 0 ? query : '', + success: function (res) { + console.log('share success:', res); + onSuccess === null || onSuccess === void 0 ? void 0 : onSuccess(); + }, + fail: function (res) { + console.log('share fail:', res); + } + }); + } + }; + /** + * 显示提示信息 + * @param title 标题 + * @param duration 时长(单位:秒) + * @returns + */ + API.showToast = function (title, duration) { + if (duration === void 0) { duration = 2; } + if (isWechat()) { + // @ts-ignore + wx.showToast({ + title: title, + icon: 'success', + duration: duration * 1000 + }); + } + if (isBytedance()) { + //@ts-ignore + tt.showToast({ + title: title, + duration: duration * 1000, + success: function (res) { + console.log("" + res); + }, + fail: function (res) { + console.log("showToast\u8C03\u7528\u5931\u8D25"); + }, + }); + } + }; + /** + * 设备震动效果,默认为短震动。注意:可能一些机型不会生效,具体看平台方的说明 + * @param type MiniGameSdk.API.EVirbrateType + */ + API.vibrate = function (type) { + if (type === void 0) { type = EVirbrateType.SHORT; } + if (isWechat()) { + switch (type) { + case EVirbrateType.SHORT: + //@ts-ignore + wx.vibrateShort({ + success: function (res) { + console.log('vibrate success:', res); + }, + fail: function (res) { + console.log('vibrateShort failed', res); + }, + }); + break; + case EVirbrateType.LONG: + //@ts-ignore + wx.vibrateLong({ + success: function (res) { + console.log('vibrate success', res); + }, + fail: function (res) { + console.log("vibrateLong failed", res); + }, + }); + break; + default: + break; + } + } + if (isBytedance()) { + switch (type) { + case EVirbrateType.SHORT: + //@ts-ignore + tt.vibrateShort({ + success: function (res) { + console.log('vibrate success:', res); + }, + fail: function (res) { + console.log('vibrateShort failed', res); + }, + }); + break; + case EVirbrateType.LONG: + //@ts-ignore + tt.vibrateLong({ + success: function (res) { + console.log('vibrate success', res); + }, + fail: function (res) { + console.log("vibrateLong failed", res); + }, + }); + break; + default: + break; + } + } + }; + /** + * 重启小游戏 + */ + API.reboot = function () { + if (isWechat()) { + //@ts-ignore + wx.restartMiniProgram({ + success: function () { + console.log('restart success'); + }, + fail: function () { + console.log('restart failed'); + } + }); + } + if (isBytedance()) { + try { + // @ts-ignore + tt.restartMiniProgramSync(); + } + catch (error) { + console.log("restartMiniProgramSync", error); + } + } + }; + /** + * 退出小游戏 + */ + API.exit = function () { + if (isWechat()) { + //@ts-ignore + wx.exitMiniProgram({ + success: function () { + console.log('exit success'); + }, + fail: function () { + console.log('exit failed'); + } + }); + } + if (isBytedance()) { + // @ts-ignore + tt.exitMiniProgram({ + success: function (res) { + console.log("exit success:", res === null || res === void 0 ? void 0 : res.data); + }, + fail: function (res) { + console.log("exit fail:", res === null || res === void 0 ? void 0 : res.errMsg); + }, + }); + } + }; + /** + * 显示转发按钮。通常在刚进入游戏的时候调用。 + * 主要是打开平台“...”这个按钮里面的分享菜单,一般默认是关闭的,需要调用这个函数打开。可以让用户分享你的游戏入口。 + */ + API.showShareMenu = function () { + if (isWechat()) { + //@ts-ignore + wx.showShareMenu({ + withShareTicket: true, + menus: ['shareAppMessage', 'shareTimeline'], + success: function () { }, + fail: function () { }, + complete: function () { } + }); + } + if (isBytedance()) { + //@ts-ignore + tt.showShareMenu({ + success: function (res) { + console.log("show menu is showing"); + }, + fail: function (err) { + console.log("showShareMenu:", err.errMsg); + }, + complete: function (res) { + console.log("showShareMenu complete"); + }, + }); + } + }; + /** + * 微信小游戏:跳转到另外一款小游戏 + * 抖音小游戏:跳转到指定的视频界面 + * @param targetId 微信小游戏appid或者视频界面 + */ + API.navigateTo = function (targetId, onSuccess) { + if (isWechat()) { + // @ts-ignore + wx.navigateToMiniProgram({ + appId: targetId, + extraData: { + foo: 'bar' + }, + envVersion: 'develop', + success: function (res) { + onSuccess === null || onSuccess === void 0 ? void 0 : onSuccess(); + } + }); + } + if (isBytedance()) { + // @ts-ignore + tt.navigateToVideoView({ + videoId: targetId, + success: function (res) { + onSuccess === null || onSuccess === void 0 ? void 0 : onSuccess(); + }, + fail: function (err) { + console.log("bytedance navigateToVideoView fail", err); + }, + }); + } + }; + /** + * 小游戏平台登录功能。微信返回code,抖音返回code和anonymousCode。用于登录的凭证,需要把这个code传回你的服务器程序中去调用code2Session + * @param callback (code, anonymousCode) 第一个参数为code,微信和抖音都支持;第二个参数为匿名设备ID,仅抖音支持,失败都返回null + */ + API.login = function (callback) { + var loginPlatform = function () { + if (isWechat()) { + //@ts-ignore + wx.login({ + success: function (res) { + if (res.code) { + API._loginCode = res.code; + API._loginAnonymousCode = null; + callback === null || callback === void 0 ? void 0 : callback(API._loginCode, API._loginAnonymousCode); + } + else { + console.log('login error:', res.errMsg); + } + }, + fail: function () { + API._loginCode = null; + API._loginAnonymousCode = null; + callback === null || callback === void 0 ? void 0 : callback(API._loginCode, API._loginAnonymousCode); + console.log('login fail'); + } + }); + } + else if (isBytedance()) { + //@ts-ignore + tt.login({ + force: true, + success: function (res) { + var _a, _b; + console.log("login " + res.code + " " + res.anonymousCode); + if (res.code) { + API._loginCode = (_a = res.code) === null || _a === void 0 ? void 0 : _a.toString(); + API._loginAnonymousCode = (_b = res.anonymousCode) === null || _b === void 0 ? void 0 : _b.toString(); + callback === null || callback === void 0 ? void 0 : callback(API._loginCode, API._loginAnonymousCode); + } + else { + console.log('login error:', res.errMsg); + } + }, + fail: function (res) { + API._loginCode = null; + API._loginAnonymousCode = null; + callback === null || callback === void 0 ? void 0 : callback(API._loginCode, API._loginAnonymousCode); + console.log("login fail", res); + }, + }); + } + else { + API._loginCode = null; + API._loginAnonymousCode = null; + callback === null || callback === void 0 ? void 0 : callback(API._loginCode, API._loginAnonymousCode); + console.log('not mini game platform, login codes are all null'); + } + }; + if (!API._loginCode) { + loginPlatform(); + } + else { + if (isWechat()) { + //@ts-ignore + wx.checkSession({ + success: function () { + console.log("session is valid, use current code:", API._loginCode); + callback === null || callback === void 0 ? void 0 : callback(API._loginCode, API._loginAnonymousCode); + }, + fail: function () { + console.log("session expired"); + loginPlatform(); + } + }); + } + else if (isBytedance()) { + //@ts-ignore + tt.checkSession({ + success: function () { + console.log("session is valid, user current code: " + API._loginCode + ", " + API._loginAnonymousCode); + callback === null || callback === void 0 ? void 0 : callback(API._loginCode, API._loginAnonymousCode); + }, + fail: function () { + console.log("session expired"); + loginPlatform(); + }, + }); + } + else { + console.log('not mini game platform, login null'); + callback === null || callback === void 0 ? void 0 : callback(null, null); + } + } + }; + /** + * 调用微信云函数。由于参数需要自定义,所以为any,需要自行解释。函数只完成通道和处理一场的作用 + * @param callback 返回云函数调用结果。需要检查返回参数是否为空,失败的时候为空 + * @param name 云函数的名字 + * @param data 云函数的内容 + */ + API.callWechatCloudFunction = function (callback, name, data) { + if (!isWechat()) { + console.log('Not wechat platform, not support callWechatCloudFunction'); + return; + } + this.login(function (code, anonymousCode) { + if (!API._hasInitWechatCloudFunction) { + //@ts-ignore + wx.cloud.init(); + API._hasInitWechatCloudFunction = true; + } + //@ts-ignore + wx.cloud.callFunction({ + name: name, + data: data, + success: function (res) { return callback === null || callback === void 0 ? void 0 : callback(res); }, + fail: function (err) { + console.log('wechat cloud function error:', err); + callback === null || callback === void 0 ? void 0 : callback(null); + } + }); + }); + }; + /** + * 存储用户信息,数据量不能大。可以考虑用于分数排行榜。用户之间可共享排行数据。 + * @param key + * @param value + */ + API.setUserCloudStorage = function (key, value) { + if (isWechat()) { + // @ts-ignore + wx.setUserCloudStorage({ + KVDataList: [{ key: key, value: value }], + success: function () { return console.log("set cloud storage success:" + key + ", value:" + value); }, + fail: function (err) { return console.log('set cloud storage error:', err); } + }); + } + if (isBytedance()) { + // @ts-ignore + tt.setUserCloudStorage({ + KVDataList: [{ key: key, value: value, }], + success: function () { return console.log("set cloud storage success:" + key + ", value:" + value); }, + fail: function (err) { return console.log('set cloud storage error:', err); } + }); + } + }; + API._loginCode = null; + API._loginAnonymousCode = null; + API._hasInitWechatCloudFunction = false; + return API; + }()); + MiniGameSdk.API = API; + /** + * 抖音侧边栏专属接口 + */ + var BytedanceSidebar = /** @class */ (function () { + function BytedanceSidebar() { + } + /** + * 本游戏在抖音环境下启动监控,需要放在全局环境中,保证能第一时间启动。因为可能监听抖音失败(抖音小游戏官方的说明)! + * @param onResult 包含一个boolean参数的函数 + * @param target 上述函数的拥有者,如果是类的成员函数,需要传入this。普通或匿名函数忽略即可。 + */ + BytedanceSidebar.listenFromSidebar = function (onResult, target) { + if (!isBytedance()) { + onResult === null || onResult === void 0 ? void 0 : onResult.call(target, false); + return; + } + // @ts-ignore + tt.onShow(function (res) { + console.log('onShow launch res:', res); + if (res.scene === '021036') { + onResult === null || onResult === void 0 ? void 0 : onResult.call(target, true); + console.log('launch from sidebar'); + } + else { + onResult === null || onResult === void 0 ? void 0 : onResult.call(target, false); + console.log('NOT launch from douyin sidebar!'); + } + }); + // @ts-ignore + var options = tt.getLaunchOptionsSync(); + if (options && options.scene === '021036') { + onResult === null || onResult === void 0 ? void 0 : onResult.call(target, true); + } + }; + /** + * 检测抖音侧边栏是否存在 + * @param onResult 包含一个boolean参数的函数 + * @param target 上述函数的拥有者,如果是类的成员函数,需要传入this。普通或匿名函数忽略即可。 + * @returns + */ + BytedanceSidebar.checkSideBar = function (onResult, target) { + if (!isBytedance()) { + onResult === null || onResult === void 0 ? void 0 : onResult.call(target, false); + return; + } + //@ts-ignore + tt.checkScene({ + scene: "sidebar", + success: function (res) { + console.log("check scene success: ", res.isExist); + onResult === null || onResult === void 0 ? void 0 : onResult.call(target, res.isExist); + }, + fail: function (res) { + console.log("check scene fail:", res); + onResult === null || onResult === void 0 ? void 0 : onResult.call(target, false); + } + }); + }; + /** + * 跳转到抖音侧边栏 + * @param onResult 包含一个boolean参数的函数 + * @param target 上述函数的拥有者,如果是类的成员函数,需要传入this。普通或匿名函数忽略即可。 + * @returns + */ + BytedanceSidebar.navigateToSidebar = function (onResult, target) { + if (!isBytedance()) { + console.log("not douyin platform!"); + onResult === null || onResult === void 0 ? void 0 : onResult.call(target, false); + return; + } + // @ts-ignore + tt.navigateToScene({ + scene: "sidebar", + success: function () { + console.log("navigate success"); + onResult === null || onResult === void 0 ? void 0 : onResult.call(target, true); + }, + fail: function (res) { + console.log("navigate failed reason:", res); + onResult === null || onResult === void 0 ? void 0 : onResult.call(target, false); + }, + }); + }; + return BytedanceSidebar; + }()); + MiniGameSdk.BytedanceSidebar = BytedanceSidebar; +})(MiniGameSdk = exports.MiniGameSdk || (exports.MiniGameSdk = {})); + +cc._RF.pop(); \ No newline at end of file diff --git a/library/imports/c1/c1af99dd-ee03-40f7-9609-d3887d0dd357.js.map b/library/imports/c1/c1af99dd-ee03-40f7-9609-d3887d0dd357.js.map new file mode 100644 index 0000000..3f9c546 --- /dev/null +++ b/library/imports/c1/c1af99dd-ee03-40f7-9609-d3887d0dd357.js.map @@ -0,0 +1 @@ +{"version":3,"sources":["assets\\Script\\Sdk\\MiniGameSdk.ts"],"names":[],"mappings":"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","file":"","sourceRoot":"/","sourcesContent":["/**\r\n * 小游戏平台SDK工具封装,目前只支持微信和抖音平台\r\n */\r\nexport namespace MiniGameSdk {\r\n\r\n interface ISize {\r\n width: number;\r\n height: number;\r\n }\r\n\r\n export interface IPosition {\r\n top: number;\r\n left: number;\r\n }\r\n\r\n export function isWechat(): boolean {\r\n //@ts-ignore\r\n return window.wx !== null && window.wx !== undefined;\r\n }\r\n\r\n export function isBytedance(): boolean {\r\n //@ts-ignore\r\n return window.tt !== null && window.tt !== undefined;\r\n }\r\n\r\n function getSysWinSize(): ISize {\r\n let sys: any;\r\n if (isWechat()) {\r\n // @ts-ignore\r\n sys = wx.getSystemInfoSync();\r\n } else if (isBytedance()) {\r\n // @ts-ignore\r\n sys = tt.getSystemInfoSync();\r\n }\r\n\r\n let size: ISize = { width: 0, height: 0 };\r\n if (sys) {\r\n size.width = sys.windowWidth;\r\n size.height = sys.windowHeight;\r\n }\r\n\r\n return size;\r\n }\r\n\r\n /**\r\n * 插屏广告。微信抖音都支持!\r\n */\r\n class ADInterstitial {\r\n private _adUid: string;\r\n private _interstitial: any;\r\n\r\n get aduid() {\r\n return this._adUid;\r\n }\r\n\r\n constructor(adUid: string) {\r\n this._adUid = adUid;\r\n }\r\n\r\n show() {\r\n // @ts-ignore\r\n if (isWechat() && !wx.createInterstitialAd) {\r\n console.warn('wechat unsupport interstitial AD!');\r\n this._interstitial = null;\r\n return;\r\n }\r\n\r\n // @ts-ignore\r\n if (isBytedance() && !tt.createInterstitialAd) {\r\n console.warn('bytedance unsupport interstitial AD!');\r\n this._interstitial = null;\r\n return;\r\n }\r\n\r\n\r\n if (this._interstitial) {\r\n this._interstitial.load();\r\n } else {\r\n if (isWechat()) {\r\n // @ts-ignore\r\n this._interstitial = wx.createInterstitialAd({ adUnitId: this._adUid });\r\n } else if (isBytedance()) {\r\n // @ts-ignore\r\n this._interstitial = tt.createInterstitialAd({ adUnitId: this._adUid });\r\n } else {\r\n this._interstitial = null;\r\n }\r\n\r\n this._interstitial?.onLoad(() => {\r\n console.log('load interstitial ad success');\r\n this._interstitial.show().catch((err: any) => {\r\n console.log('catch interstitial ad error:', err);\r\n });\r\n });\r\n\r\n this._interstitial?.onError((err: any) => {\r\n console.log('interstitial ad on error:', err);\r\n });\r\n }\r\n }\r\n destory() {\r\n this._interstitial?.destroy();\r\n }\r\n }\r\n\r\n class ADBanner {\r\n private _adUid: string;\r\n private _banner: any;\r\n\r\n get aduid() {\r\n return this._adUid;\r\n }\r\n\r\n /**\r\n * 抖音和微信都支持\r\n * 横幅广告。预估宽度默认为300,预估高度为140。如果你不确定就按默认值来。\r\n * @param adUid 广告UID,后端配置\r\n * @param isTop 是否在屏幕顶部展示。内部会自动居中计算位置。\r\n * @param bannerWidth 横幅广告的预估宽度。默认300\r\n * @param autoShow 广告加载完成后是否立刻显示,默认为不显示\r\n */\r\n constructor(adUid: string, param: boolean | IPosition, bannerWidth: number = 300, autoShow: boolean = false) {\r\n this._adUid = adUid;\r\n this.create(autoShow, bannerWidth, param); // 默认300比较合适\r\n }\r\n\r\n private create(autoShow: boolean, bannerWidth: number, param: boolean | IPosition) {\r\n if (!isWechat() && !isBytedance()) {\r\n this._banner = null;\r\n return;\r\n }\r\n\r\n this.destroy();\r\n\r\n let winSize = getSysWinSize();\r\n\r\n let height = bannerWidth * 0.4;\r\n let top = 0, left = 0;\r\n\r\n if (typeof param === \"boolean\") {\r\n left = (winSize.width - bannerWidth) / 2\r\n top = param ? 5 : (winSize.height - height);\r\n } else {\r\n left = param.left;\r\n top = param.top;\r\n }\r\n\r\n let params = {\r\n adUnitId: this._adUid,\r\n adIntervals: 30,// 自动刷新频率不能小于30秒\r\n style: { left: left, top: top, width: bannerWidth }\r\n }\r\n\r\n if (isWechat()) {\r\n // @ts-ignore\r\n this._banner = wx.createBannerAd(params);\r\n } else if (isBytedance()) {\r\n // @ts-ignore\r\n this._banner = tt.createBannerAd(params);\r\n } else {\r\n this._banner = null;\r\n }\r\n\r\n this._banner?.onError((err: any) => {\r\n console.log('ad banner error:', err);\r\n });\r\n\r\n this._banner?.onLoad(() => {\r\n autoShow && this._banner.show();\r\n });\r\n }\r\n\r\n show() {\r\n this._banner?.show();\r\n }\r\n\r\n hide() {\r\n this._banner?.hide();\r\n }\r\n\r\n destroy() {\r\n this._banner?.destroy();\r\n }\r\n }\r\n\r\n class ADCustom {\r\n private _adUid: string;\r\n private _adCustom: any;\r\n\r\n get aduid() {\r\n return this._adUid;\r\n }\r\n /**\r\n * 由于原生模板广告在微信服务后端可以定制宽度大小,个数,缩放比例等,所以位置调整要根据设置的宽度来定。抖音不支持!\r\n * @param adUid 广告UID,后端配置\r\n * @param top 从左上角开始,距离屏幕顶部的距离。注意:这个数据为设备屏幕宽度width。如果需要获取屏幕的像素,需要乘以设备像素比Pixel-Ratio,例如iPhone 13 Pro的Pixel-Ratio为3,像素为Width*3。\r\n * @param left 从左上角开始,距离屏幕最左边的距离。注意:这个数据为设备屏幕宽度width。如果需要获取屏幕的像素,需要乘以设备像素比Pixel-Ratio,例如iPhone 13 Pro的Pixel-Ratio为3,像素为Width*3。\r\n * @param scale 原生模板广告的尺寸,默认为1,即100%。此值在微信服务后端广告中获得,默认为100%,目前有100%,90%,80%三种,一般情况不用修改。若有修改,记得传入值,例如90%就传入0.9。\r\n */\r\n constructor(adUid: string, top: number = 0, left: number = 0, scale: number = 1.0) {\r\n this._adUid = adUid;\r\n this.createCustomAd(top, left, scale);\r\n }\r\n\r\n private createCustomAd(top: number, left: number, scale: number) {\r\n if (!isWechat()) { // only wechat support custom ad\r\n this._adCustom = null;\r\n console.log('Only wechat support Custom Ad');\r\n return;\r\n }\r\n\r\n this.destroy();\r\n // 原生模板5个应用宽度为375,若设置了缩放比例,则宽度也需要设置\r\n // let width = 375 * this._scale;\r\n // let newLeft = (sys.windowWidth - width) / 2;\r\n // let newTop = sys.windowHeight / 2; // 120是预估高度\r\n\r\n // @ts-ignore\r\n this._adCustom = wx.createCustomAd({\r\n adUnitId: this._adUid,\r\n style: { left: left, top: top, fixed: true }\r\n });\r\n\r\n this._adCustom?.onError((err: any) => {\r\n console.log('ad custom error:', err);\r\n });\r\n }\r\n show() {\r\n this._adCustom?.show();\r\n }\r\n\r\n hide() {\r\n this._adCustom?.hide();\r\n }\r\n\r\n destroy() {\r\n this._adCustom?.destroy();\r\n }\r\n }\r\n\r\n\r\n /**\r\n * 视频广告用户点击行为结果\r\n */\r\n export enum EAdVideoResult {\r\n /**\r\n * 用户看完了广告,游戏可发放奖励。\r\n */\r\n ACCEPT,\r\n\r\n /**\r\n * 用户中途关闭了广告,即未看完状态。不可发放奖励。\r\n */\r\n REJECT,\r\n\r\n /**\r\n * 广告组件内部发生了错误。不可发放奖励。\r\n */\r\n ERROR,\r\n }\r\n\r\n class ADVideo {\r\n private _adUid: string;\r\n private _adVideo: any = null;\r\n\r\n get aduid() {\r\n return this._adUid;\r\n }\r\n\r\n constructor(adUid: string) {\r\n this._adUid = adUid;\r\n }\r\n\r\n /**\r\n * 由于微信和抖音视频广告机制不同,微信可以看的视频广告个数只有0和1个,抖音平台则可以看0~maxVideoCount\r\n * @param onResult 两个参数:第一个res是EAdVideoResult定义,第二count是用户看了多少个视频广告。\r\n * @param target onResult的拥有者\r\n * @param maxVideoCount 可以连续看最大视频个数,可最大化商业效率。默认为3个。\r\n * @returns \r\n */\r\n show(onResult: (res: EAdVideoResult, count: number) => void, target?: any, maxVideoCount: number = 3): void {\r\n let callback = (state: EAdVideoResult, count: number) => {\r\n onResult?.call(target, state, count);\r\n }\r\n\r\n if (!isWechat() && !isBytedance()) {\r\n callback(EAdVideoResult.ACCEPT, 1);\r\n this._adVideo = null;\r\n return;\r\n }\r\n\r\n let onAdVideoClosed = (res: any) => {\r\n this._adVideo?.offClose(onAdVideoClosed);\r\n if (isWechat()) {\r\n if (res && res.isEnded || res === undefined) {\r\n callback(EAdVideoResult.ACCEPT, 1);\r\n } else {\r\n callback(EAdVideoResult.REJECT, 0);\r\n }\r\n } else if (isBytedance()) {\r\n let resConverted = res as { isEnded: boolean, count: number };\r\n if (resConverted && resConverted.count > 0) {\r\n callback(EAdVideoResult.ACCEPT, resConverted.count);\r\n } else {\r\n callback(EAdVideoResult.REJECT, 0);\r\n }\r\n }\r\n }\r\n\r\n this._adVideo?.offClose(onAdVideoClosed);\r\n\r\n if (isWechat()) {\r\n // @ts-ignore\r\n this._adVideo = wx.createRewardedVideoAd({\r\n adUnitId: this._adUid\r\n });\r\n } else if (isBytedance()) {\r\n // @ts-ignore\r\n this._adVideo = tt.createRewardedVideoAd({\r\n adUnitId: this._adUid,\r\n multiton: true,\r\n multitonRewardMsg: ['多1次奖励', '再多一次奖励', '再多一次奖励'],\r\n multitonRewardTimes: maxVideoCount,\r\n });\r\n } else {\r\n this._adVideo = null;\r\n }\r\n\r\n\r\n this._adVideo?.onLoad(() => {\r\n console.log('Ad load success');\r\n });\r\n\r\n this._adVideo?.onError((err: { errMsg: string, errCode: number }) => {\r\n console.log('Ad video error:', err);\r\n callback(EAdVideoResult.ERROR, 0);\r\n });\r\n\r\n this._adVideo?.onClose(onAdVideoClosed);\r\n\r\n this._adVideo?.show().catch(() => {\r\n this._adVideo?.load().then(() =>\r\n this._adVideo?.show()).catch((err: { errMsg: string, errCode: number }) => {\r\n console.log('Catch video ad error:', err);\r\n callback(EAdVideoResult.ERROR, 0);\r\n });\r\n });\r\n }\r\n\r\n destory() {\r\n this._adVideo?.destory();\r\n }\r\n }\r\n\r\n export enum EAdBannerLocation {\r\n /**\r\n * 屏幕顶部\r\n */\r\n TOP,\r\n\r\n /**\r\n * 屏幕底部\r\n */\r\n BOTTOM,\r\n }\r\n\r\n export class AdvertManager {\r\n\r\n private static _instance: AdvertManager;\r\n\r\n static get instance(): AdvertManager {\r\n if (!AdvertManager._instance) {\r\n AdvertManager._instance = new AdvertManager();\r\n }\r\n return AdvertManager._instance;\r\n }\r\n\r\n private _video: ADVideo;\r\n private _interstitial: ADInterstitial;\r\n private _banner: ADBanner;\r\n private _customs: Record = {};\r\n\r\n private constructor() {\r\n\r\n }\r\n\r\n /**\r\n * 预加载横幅广告,不会显示。只有你在调用showBanner时才会显示。\r\n * 可重复调用,但是会销毁上一次的实例。一般情况,全局有一个就行了,太多占用内存,而且没必要。\r\n * @param adUid 广告UID\r\n * @param location 位置有两种情况:1、可以传入枚举值,默认上方; 2、可以自定义位置传入IPosition,注意IPosition中的top和left跟平台的top,left是一致(没有乘以设备像素比ratio),需要开发者自己调试位置\r\n * @param scale 默认为跟屏幕一样的宽度,可以通过设置缩放比例来调整大小。当然,平台有规定最大或最小宽度,函数内部会自动计算。\r\n */\r\n public loadBanner(adUid: string, location: EAdBannerLocation | IPosition = EAdBannerLocation.TOP, scale: number = 1.0) {\r\n this._banner?.destroy();\r\n let size: ISize = getSysWinSize();\r\n // 当 style.width 小于 300 时,会取作 300。 当 style.width 大于屏幕宽度时,会取作屏幕宽度。\r\n let width = size.width * scale;\r\n width = width < 300 ? 300 : width; // 最小值矫正\r\n width = width > size.width ? size.width : width; //最大值矫正\r\n this._banner = typeof location === 'number' ? new ADBanner(adUid, location === EAdBannerLocation.TOP, width, false) : new ADBanner(adUid, location, width, false);\r\n }\r\n\r\n /**\r\n * 显示横幅广告\r\n */\r\n public showBanner() {\r\n if (this._banner) {\r\n this._banner.show();\r\n } else {\r\n console.warn('MiniGameSDK: banner is null, you must call loadBanner(...) first!');\r\n }\r\n }\r\n\r\n /**\r\n * 隐藏横幅广告\r\n */\r\n public hideBanner() {\r\n this._banner?.hide();\r\n }\r\n\r\n /**\r\n * 弹出插屏广告\r\n * @param adUid 广告单元id\r\n */\r\n public showInterstitial(adUid: string) {\r\n if (this._interstitial && this._interstitial.aduid === adUid) {\r\n this._interstitial.show();\r\n } else {\r\n this._interstitial?.destory();\r\n this._interstitial = new ADInterstitial(adUid);\r\n this._interstitial.show();\r\n }\r\n }\r\n\r\n /**\r\n * 加载原生模板广告,不会显示。只有你在调用showCustom时才会显示。\r\n * 由于原生模板广告在微信服务后端可以定制宽度大小,个数,缩放比例等,所以位置调整要根据设置的宽度来定。抖音不支持本函数,会调用无效!\r\n * @param adUid 广告ID\r\n * @param location 位置有两种情况:1、可以传入枚举值,默认上方; 2、可以自定义位置传入IPosition,注意IPosition中的top和left跟平台的top,left是一致(没有乘以设备像素比ratio),需要开发者自己调试位置\r\n * @param scale 缩放比例,默认是1,即不缩放。这个缩放并不是自己填,而是根据微信MP后台你配置的原生模板广告的缩放比例填,目前有100%,90%,80%三种,一般情况不用修改。若有后台修改,记得传入值,例如90%就传入0.9。\r\n */\r\n public loadCustom(adUid: string, location: IPosition = { top: 0, left: 0 }, scale: number = 1) {\r\n // this._custom?.destroy();\r\n // this._custom = new ADCustom(adUid, location.top, location.left, scale);\r\n if (this._customs[adUid]) {\r\n console.log(`${adUid} has been loaded.`);\r\n return;\r\n }\r\n\r\n this._customs[adUid] = new ADCustom(adUid, location.top, location.left, scale);\r\n }\r\n\r\n /**\r\n * 显示自定义广告。\r\n * @param adUid 广告的唯一标识符。使用此标识符来查找和显示特定的自定义广告。\r\n * \r\n * 此方法尝试根据提供的adUid显示一个自定义广告。如果给定的adUid对应的自定义广告已加载,\r\n * 则调用该广告的显示方法。如果广告未加载,则在控制台输出警告信息。\r\n */\r\n public showCustom(adUid: string) {\r\n if (this._customs[adUid]) {\r\n this._customs[adUid].show();\r\n } else {\r\n console.warn(`You have not load ${adUid} of Custom AD, can not show!`);\r\n }\r\n }\r\n\r\n /**\r\n * 隐藏指定的自定义广告单元\r\n * \r\n * 此方法用于隐藏通过广告单元标识符(adUid)指定的自定义广告。如果指定的广告单元已加载并显示,\r\n * 则将其隐藏;如果广告单元未加载,则在控制台输出警告信息。\r\n * \r\n * @param adUid 广告单元标识符,用于唯一标识一个自定义广告单元。\r\n */\r\n public hideCustom(adUid: string) {\r\n if (this._customs[adUid]) {\r\n this._customs[adUid].hide();\r\n } else {\r\n console.warn(`You have not load ${adUid} of Custom AD, can not hide!`);\r\n }\r\n }\r\n\r\n /**\r\n * 由于微信和抖音视频广告机制不同,微信可以看的视频广告个数只有0和1个,抖音平台则可以看0~maxVideoCount\r\n * @param adUid 广告ID。如果与上一次UID不同,则内部会重新创建实例。开发者完全不用关心这个细节。\r\n * @param onVideoResult 两个参数:第一个res是EAdVideoResult定义,第二count是用户看了多少个视频广告。 \r\n * @param target onVideoResult的拥有者\r\n * @param maxVideoCount 最大视频个数。默认是3,仅对抖音平台生效。微信平台看完视频count的结果永远是1或0\r\n */\r\n public showVideo(adUid: string, onVideoResult: (res: EAdVideoResult, count: number) => void, target?: any, maxVideoCount: number = 3) {\r\n if (this._video && this._video.aduid === adUid) {\r\n this._video.show(onVideoResult, target, maxVideoCount);\r\n } else {\r\n this._video?.destory();\r\n this._video = new ADVideo(adUid);\r\n this._video.show(onVideoResult, target, maxVideoCount);\r\n }\r\n }\r\n\r\n /**\r\n * 销毁内部所有实例,清空内存\r\n */\r\n public destroyAll() {\r\n this._banner?.destroy();\r\n this._banner = null;\r\n\r\n this._interstitial?.destory();\r\n this._interstitial = null;\r\n\r\n this._video?.destory();\r\n this._video = null;\r\n\r\n if (this._customs) {\r\n for (let val in this._customs) {\r\n this._customs[val]?.destroy();\r\n }\r\n this._customs = {};\r\n }\r\n }\r\n }\r\n\r\n export enum EGameClubIcon {\r\n /** 绿色图标 */\r\n GREEN = 'green',\r\n\r\n /** 红色图标 */\r\n WHITE = 'white',\r\n\r\n /** 有黑色圆角背景的白色图标 */\r\n DARK = 'dark',\r\n\r\n /** 有白色圆角背景的绿色图标 */\r\n LIGHT = 'light'\r\n }\r\n\r\n export class GameClub {\r\n private static _instance: GameClub;\r\n\r\n static get instance(): GameClub {\r\n if (!this._instance) {\r\n this._instance = new GameClub();\r\n }\r\n return this._instance;\r\n }\r\n\r\n private _club: any;\r\n\r\n private constructor() {\r\n\r\n }\r\n\r\n /**\r\n * 创建游戏圈按钮\r\n * @param icon \r\n * @param position \r\n * @param size \r\n * @param openLink \r\n */\r\n create(icon: EGameClubIcon = EGameClubIcon.GREEN, position: IPosition = { top: 0, left: 0 }, size: ISize = { width: 40, height: 40 }, openLink?: string) {\r\n if (isWechat()) {\r\n // @ts-ignore\r\n this._club = wx.createGameClubButton({\r\n icon: icon,\r\n style: {\r\n left: position.left,\r\n top: position.top,\r\n width: size.width,\r\n height: size.height\r\n },\r\n openlink: openLink\r\n });\r\n }\r\n }\r\n\r\n show() {\r\n this._club?.show();\r\n }\r\n\r\n hide() {\r\n this._club?.hide();\r\n }\r\n\r\n destory() {\r\n this._club?.destroy();\r\n }\r\n }\r\n\r\n\r\n /**\r\n * 振动类型\r\n */\r\n export enum EVirbrateType {\r\n /**\r\n * 短振动\r\n */\r\n SHORT,\r\n\r\n /**\r\n * 长振动\r\n */\r\n LONG\r\n }\r\n\r\n /**\r\n * 平台常用API合集\r\n */\r\n export class API {\r\n private static _loginCode: string = null;\r\n private static _loginAnonymousCode: string = null;\r\n private static _hasInitWechatCloudFunction: boolean = false;\r\n\r\n\r\n /**\r\n * 分享app给朋友,微信小游戏分享是没有onSuccess回调的。\r\n * @param title 标题\r\n * @param description 细节描述信息 \r\n * @param imageUrl 图片地址\r\n * @param query 查询信息\r\n * @param onSuccess 抖音会回调,微信不会回调\r\n */\r\n static shareAppToFriends(title: string, description: string = '', imageUrl?: string, query?: string, onSuccess?: () => void) {\r\n if (isWechat()) {\r\n try {\r\n //@ts-ignore\r\n wx.shareAppMessage({\r\n title: title,\r\n imageUrl: imageUrl,\r\n query: query,\r\n });\r\n } catch (err) {\r\n console.log(`share faild: ${err}`);\r\n }\r\n }\r\n\r\n if (isBytedance()) {\r\n //@ts-ignore\r\n tt.shareAppMessage({\r\n title: title,\r\n desc: description,\r\n imageUrl: imageUrl ?? '',\r\n query: query ?? '',\r\n success(res: any) {\r\n console.log('share success:', res);\r\n onSuccess?.();\r\n },\r\n fail(res: any) {\r\n console.log('share fail:', res);\r\n }\r\n });\r\n }\r\n }\r\n\r\n /**\r\n * 显示提示信息\r\n * @param title 标题\r\n * @param duration 时长(单位:秒)\r\n * @returns \r\n */\r\n static showToast(title: string, duration: number = 2) {\r\n if (isWechat()) {\r\n // @ts-ignore\r\n wx.showToast({\r\n title: title,\r\n icon: 'success',\r\n duration: duration * 1000\r\n });\r\n }\r\n\r\n if (isBytedance()) {\r\n //@ts-ignore\r\n tt.showToast({\r\n title: title,\r\n duration: duration * 1000,\r\n success(res: any) {\r\n console.log(`${res}`);\r\n },\r\n fail(res: any) {\r\n console.log(`showToast调用失败`);\r\n },\r\n });\r\n }\r\n }\r\n\r\n /**\r\n * 设备震动效果,默认为短震动。注意:可能一些机型不会生效,具体看平台方的说明\r\n * @param type MiniGameSdk.API.EVirbrateType\r\n */\r\n static vibrate(type: EVirbrateType = EVirbrateType.SHORT) {\r\n if (isWechat()) {\r\n switch (type) {\r\n case EVirbrateType.SHORT:\r\n //@ts-ignore\r\n wx.vibrateShort({\r\n success(res: any) {\r\n console.log('vibrate success:', res);\r\n },\r\n fail(res: any) {\r\n console.log('vibrateShort failed', res);\r\n },\r\n });\r\n break;\r\n case EVirbrateType.LONG:\r\n //@ts-ignore\r\n wx.vibrateLong({\r\n success(res: any) {\r\n console.log('vibrate success', res);\r\n },\r\n fail(res: any) {\r\n console.log(`vibrateLong failed`, res);\r\n },\r\n });\r\n break;\r\n default:\r\n break;\r\n }\r\n }\r\n\r\n if (isBytedance()) {\r\n switch (type) {\r\n case EVirbrateType.SHORT:\r\n //@ts-ignore\r\n tt.vibrateShort({\r\n success(res: any) {\r\n console.log('vibrate success:', res);\r\n },\r\n fail(res: any) {\r\n console.log('vibrateShort failed', res);\r\n },\r\n });\r\n break;\r\n case EVirbrateType.LONG:\r\n //@ts-ignore\r\n tt.vibrateLong({\r\n success(res: any) {\r\n console.log('vibrate success', res);\r\n },\r\n fail(res: any) {\r\n console.log(`vibrateLong failed`, res);\r\n },\r\n });\r\n break;\r\n default:\r\n break;\r\n }\r\n }\r\n }\r\n\r\n /**\r\n * 重启小游戏\r\n */\r\n static reboot() {\r\n if (isWechat()) {\r\n //@ts-ignore\r\n wx.restartMiniProgram({\r\n success: () => {\r\n console.log('restart success');\r\n },\r\n\r\n fail: () => {\r\n console.log('restart failed');\r\n }\r\n })\r\n }\r\n\r\n if (isBytedance()) {\r\n try {\r\n // @ts-ignore\r\n tt.restartMiniProgramSync();\r\n } catch (error) {\r\n console.log(`restartMiniProgramSync`, error);\r\n }\r\n }\r\n }\r\n\r\n /**\r\n * 退出小游戏\r\n */\r\n static exit() {\r\n if (isWechat()) {\r\n //@ts-ignore\r\n wx.exitMiniProgram({\r\n success: () => {\r\n console.log('exit success');\r\n },\r\n fail: () => {\r\n console.log('exit failed');\r\n }\r\n });\r\n }\r\n\r\n if (isBytedance()) {\r\n // @ts-ignore\r\n tt.exitMiniProgram({\r\n success(res: any) {\r\n console.log(\"exit success:\", res?.data);\r\n },\r\n fail(res: any) {\r\n console.log(\"exit fail:\", res?.errMsg);\r\n },\r\n });\r\n }\r\n }\r\n\r\n /**\r\n * 显示转发按钮。通常在刚进入游戏的时候调用。\r\n * 主要是打开平台“...”这个按钮里面的分享菜单,一般默认是关闭的,需要调用这个函数打开。可以让用户分享你的游戏入口。\r\n */\r\n static showShareMenu() {\r\n if (isWechat()) {\r\n //@ts-ignore\r\n wx.showShareMenu({\r\n withShareTicket: true,\r\n menus: ['shareAppMessage', 'shareTimeline'],\r\n success: () => { },\r\n fail: () => { },\r\n complete: () => { }\r\n });\r\n }\r\n\r\n if (isBytedance()) {\r\n //@ts-ignore\r\n tt.showShareMenu({\r\n success(res: any) {\r\n console.log(\"show menu is showing\");\r\n },\r\n fail(err: any) {\r\n console.log(\"showShareMenu:\", err.errMsg);\r\n },\r\n complete(res: any) {\r\n console.log(\"showShareMenu complete\");\r\n },\r\n });\r\n }\r\n }\r\n\r\n /**\r\n * 微信小游戏:跳转到另外一款小游戏\r\n * 抖音小游戏:跳转到指定的视频界面\r\n * @param targetId 微信小游戏appid或者视频界面\r\n */\r\n static navigateTo(targetId: string, onSuccess?: () => void) {\r\n if (isWechat()) {\r\n // @ts-ignore\r\n wx.navigateToMiniProgram({\r\n appId: targetId,\r\n extraData: {\r\n foo: 'bar'\r\n },\r\n envVersion: 'develop',\r\n success(res: any) {\r\n onSuccess?.();\r\n }\r\n });\r\n }\r\n\r\n if (isBytedance()) {\r\n // @ts-ignore\r\n tt.navigateToVideoView({\r\n videoId: targetId,\r\n success: (res: any) => {\r\n onSuccess?.();\r\n },\r\n fail: (err: any) => {\r\n console.log(\"bytedance navigateToVideoView fail\", err);\r\n },\r\n });\r\n }\r\n }\r\n\r\n\r\n /**\r\n * 小游戏平台登录功能。微信返回code,抖音返回code和anonymousCode。用于登录的凭证,需要把这个code传回你的服务器程序中去调用code2Session\r\n * @param callback (code, anonymousCode) 第一个参数为code,微信和抖音都支持;第二个参数为匿名设备ID,仅抖音支持,失败都返回null\r\n */\r\n static login(callback: (code: string, anonymousCode: string) => void) {\r\n let loginPlatform = () => {\r\n if (isWechat()) {\r\n //@ts-ignore\r\n wx.login({\r\n success: (res: { code: any; errMsg: any; }) => {\r\n if (res.code) {\r\n API._loginCode = res.code;\r\n API._loginAnonymousCode = null;\r\n callback?.(API._loginCode, API._loginAnonymousCode);\r\n } else {\r\n console.log('login error:', res.errMsg)\r\n }\r\n },\r\n\r\n fail: () => {\r\n API._loginCode = null;\r\n API._loginAnonymousCode = null;\r\n callback?.(API._loginCode, API._loginAnonymousCode);\r\n console.log('login fail')\r\n }\r\n });\r\n } else if (isBytedance()) {\r\n //@ts-ignore\r\n tt.login({\r\n force: true,\r\n success(res: any) {\r\n console.log(`login ${res.code} ${res.anonymousCode}`);\r\n if (res.code) {\r\n API._loginCode = res.code?.toString();\r\n API._loginAnonymousCode = res.anonymousCode?.toString();\r\n callback?.(API._loginCode, API._loginAnonymousCode);\r\n } else {\r\n console.log('login error:', res.errMsg)\r\n }\r\n },\r\n fail(res: any) {\r\n API._loginCode = null;\r\n API._loginAnonymousCode = null;\r\n callback?.(API._loginCode, API._loginAnonymousCode);\r\n console.log(`login fail`, res);\r\n },\r\n });\r\n } else {\r\n API._loginCode = null;\r\n API._loginAnonymousCode = null;\r\n callback?.(API._loginCode, API._loginAnonymousCode);\r\n console.log('not mini game platform, login codes are all null');\r\n }\r\n }\r\n\r\n\r\n\r\n if (!API._loginCode) {\r\n loginPlatform();\r\n } else {\r\n if (isWechat()) {\r\n //@ts-ignore\r\n wx.checkSession({\r\n success() {\r\n console.log(`session is valid, use current code:`, API._loginCode);\r\n callback?.(API._loginCode, API._loginAnonymousCode);\r\n },\r\n fail() {\r\n console.log(`session expired`);\r\n loginPlatform();\r\n }\r\n });\r\n } else if (isBytedance()) {\r\n //@ts-ignore\r\n tt.checkSession({\r\n success() {\r\n console.log(`session is valid, user current code: ${API._loginCode}, ${API._loginAnonymousCode}`);\r\n callback?.(API._loginCode, API._loginAnonymousCode);\r\n },\r\n fail() {\r\n console.log(`session expired`);\r\n loginPlatform();\r\n },\r\n });\r\n\r\n } else {\r\n console.log('not mini game platform, login null');\r\n callback?.(null, null);\r\n }\r\n }\r\n }\r\n\r\n /**\r\n * 调用微信云函数。由于参数需要自定义,所以为any,需要自行解释。函数只完成通道和处理一场的作用\r\n * @param callback 返回云函数调用结果。需要检查返回参数是否为空,失败的时候为空\r\n * @param name 云函数的名字\r\n * @param data 云函数的内容\r\n */\r\n static callWechatCloudFunction(callback: (res: any) => void, name: string, data: {}) {\r\n if (!isWechat()) {\r\n console.log('Not wechat platform, not support callWechatCloudFunction');\r\n return;\r\n }\r\n\r\n this.login((code: string, anonymousCode: string) => {\r\n if (!API._hasInitWechatCloudFunction) {\r\n //@ts-ignore\r\n wx.cloud.init();\r\n API._hasInitWechatCloudFunction = true;\r\n }\r\n //@ts-ignore\r\n wx.cloud.callFunction({\r\n name: name,\r\n data: data,\r\n success: (res: any) => callback?.(res),\r\n fail: (err: any) => {\r\n console.log('wechat cloud function error:', err);\r\n callback?.(null);\r\n }\r\n });\r\n });\r\n }\r\n\r\n /**\r\n * 存储用户信息,数据量不能大。可以考虑用于分数排行榜。用户之间可共享排行数据。\r\n * @param key \r\n * @param value \r\n */\r\n static setUserCloudStorage(key: string, value: string) {\r\n if (isWechat()) {\r\n // @ts-ignore\r\n wx.setUserCloudStorage({\r\n KVDataList: [{ key: key, value: value }],\r\n success: () => console.log(`set cloud storage success:${key}, value:${value}`),\r\n fail: (err: any) => console.log('set cloud storage error:', err)\r\n });\r\n }\r\n\r\n if (isBytedance()) {\r\n // @ts-ignore\r\n tt.setUserCloudStorage({\r\n KVDataList: [{ key: key, value: value, }],\r\n success: () => console.log(`set cloud storage success:${key}, value:${value}`),\r\n fail: (err: any) => console.log('set cloud storage error:', err)\r\n });\r\n }\r\n }\r\n }\r\n\r\n\r\n /**\r\n * 抖音侧边栏专属接口\r\n */\r\n export class BytedanceSidebar {\r\n /**\r\n * 本游戏在抖音环境下启动监控,需要放在全局环境中,保证能第一时间启动。因为可能监听抖音失败(抖音小游戏官方的说明)!\r\n * @param onResult 包含一个boolean参数的函数\r\n * @param target 上述函数的拥有者,如果是类的成员函数,需要传入this。普通或匿名函数忽略即可。\r\n */\r\n static listenFromSidebar(onResult: (success: boolean) => void, target?: any) {\r\n if (!isBytedance()) {\r\n onResult?.call(target, false);\r\n return;\r\n }\r\n // @ts-ignore\r\n tt.onShow((res: any) => {\r\n console.log('onShow launch res:', res);\r\n if (res.scene === '021036') {\r\n onResult?.call(target, true);\r\n console.log('launch from sidebar');\r\n } else {\r\n onResult?.call(target, false);\r\n console.log('NOT launch from douyin sidebar!');\r\n }\r\n });\r\n\r\n // @ts-ignore\r\n let options = tt.getLaunchOptionsSync();\r\n if (options && options.scene === '021036') {\r\n onResult?.call(target, true);\r\n }\r\n }\r\n\r\n /**\r\n * 检测抖音侧边栏是否存在\r\n * @param onResult 包含一个boolean参数的函数\r\n * @param target 上述函数的拥有者,如果是类的成员函数,需要传入this。普通或匿名函数忽略即可。\r\n * @returns \r\n */\r\n static checkSideBar(onResult: (success: boolean) => void, target?: any) {\r\n if (!isBytedance()) {\r\n onResult?.call(target, false);\r\n return;\r\n }\r\n\r\n //@ts-ignore\r\n tt.checkScene({\r\n scene: \"sidebar\",\r\n success: (res: any) => {\r\n console.log(\"check scene success: \", res.isExist);\r\n onResult?.call(target, res.isExist);\r\n\r\n },\r\n fail: (res: any) => {\r\n console.log(\"check scene fail:\", res);\r\n onResult?.call(target, false);\r\n }\r\n });\r\n }\r\n\r\n /**\r\n * 跳转到抖音侧边栏\r\n * @param onResult 包含一个boolean参数的函数\r\n * @param target 上述函数的拥有者,如果是类的成员函数,需要传入this。普通或匿名函数忽略即可。\r\n * @returns \r\n */\r\n static navigateToSidebar(onResult: (success: boolean) => void, target?: any) {\r\n if (!isBytedance()) {\r\n console.log(\"not douyin platform!\");\r\n onResult?.call(target, false);\r\n return;\r\n }\r\n\r\n // @ts-ignore\r\n tt.navigateToScene({\r\n scene: \"sidebar\",\r\n success: () => {\r\n console.log(\"navigate success\");\r\n onResult?.call(target, true);\r\n },\r\n fail: (res: any) => {\r\n console.log(\"navigate failed reason:\", res);\r\n onResult?.call(target, false);\r\n },\r\n });\r\n }\r\n }\r\n\r\n}"]} \ No newline at end of file diff --git a/library/imports/c5/c5692be7-8703-45e4-9f67-23b54d290356.js b/library/imports/c5/c5692be7-8703-45e4-9f67-23b54d290356.js index a1ae8c4..2e7fefb 100644 --- a/library/imports/c5/c5692be7-8703-45e4-9f67-23b54d290356.js +++ b/library/imports/c5/c5692be7-8703-45e4-9f67-23b54d290356.js @@ -141,14 +141,14 @@ var GameConfig = /** @class */ (function () { matchId: null, custom: 0, round: 0, - level: 6, + level: 0, stepTimeList: 0, successList: [], fen: 0, score: 0, igniteCount: 0, - min_Steps: 15, - min_Time: 5 //每一把上次距离洪峰到来时间 + min_Steps: 0, + min_Time: 0 //每一把上次距离洪峰到来时间 }; }; GameConfig.GM_INFO_SET = function (key, value) { @@ -221,7 +221,7 @@ var GameConfig = /** @class */ (function () { // } // ], // ] - this.LEVEL_INFO = [[{ "id": "1001", "map": [[0, 4, 0, 0], [0, 0, 0, 0], [0, 0, 0, 0], [0, 0, 1, 0]], "min_steps": 3 }, { "id": "1002", "map": [[1, 0, 0, 0], [0, 0, 0, 4], [0, 0, 0, 0], [0, 0, 0, 0]], "min_steps": 3 }, { "id": "1004", "map": [[1, 0, 0, 0], [0, 0, 0, 0], [0, 0, 0, 0], [0, 4, 0, 0]], "min_steps": 3 }, { "id": "1006", "map": [[4, 0, 0, 0], [0, 0, 0, 0], [0, 0, 0, 0], [0, 1, 0, 0]], "min_steps": 3 }, { "id": "1003", "map": [[1, 0, 0, 0], [0, 0, 0, 0], [0, 0, 0, 0], [0, 0, 0, 4]], "min_steps": 4 }, { "id": "1005", "map": [[1, 0, 0, 0], [0, 0, 0, 0], [0, 0, 0, 4], [0, 0, 0, 0]], "min_steps": 4 }, { "id": "1007", "map": [[0, 4, 0, 0], [0, 0, 0, 0], [0, 0, 0, 0], [0, 0, 0, 1]], "min_steps": 4 }, { "id": "1008", "map": [[0, 0, 0, 4], [0, 0, 0, 0], [0, 0, 0, 0], [1, 0, 0, 0]], "min_steps": 4 }], [{ "id": "2001", "map": [[0, 0, 0, 0, 1], [0, 0, 0, 0, 0], [0, 0, 3, 0, 3], [0, 0, 0, 0, 0], [4, 0, 0, 0, 3]], "min_steps": 4 }, { "id": "2002", "map": [[0, 1, 0, 0, 0], [0, 0, 0, 0, 0], [3, 3, 0, 0, 4], [0, 0, 0, 0, 0], [3, 0, 0, 0, 0]], "min_steps": 4 }, { "id": "2009", "map": [[0, 3, 0, 0, 4], [3, 0, 0, 0, 0], [0, 0, 0, 0, 0], [1, 0, 0, 0, 0], [0, 3, 0, 0, 0]], "min_steps": 4 }, { "id": "2010", "map": [[0, 0, 0, 0, 1], [0, 0, 0, 0, 0], [0, 0, 0, 0, 0], [0, 3, 0, 3, 0], [4, 0, 3, 0, 0]], "min_steps": 4 }, { "id": "2011", "map": [[4, 3, 1, 0, 0], [0, 0, 0, 0, 3], [0, 0, 0, 3, 0], [0, 0, 0, 0, 0], [0, 0, 0, 0, 0]], "min_steps": 4 }, { "id": "2021", "map": [[0, 0, 0, 1, 0], [0, 0, 3, 0, 0], [0, 0, 0, 3, 3], [0, 0, 0, 0, 0], [0, 4, 0, 0, 0]], "min_steps": 4 }, { "id": "2004", "map": [[1, 0, 0, 0, 0], [0, 0, 0, 0, 3], [3, 0, 0, 0, 0], [0, 0, 0, 0, 0], [0, 0, 0, 0, 4]], "min_steps": 5 }, { "id": "2012", "map": [[0, 3, 0, 4, 0], [0, 0, 0, 3, 0], [1, 0, 3, 0, 0], [0, 0, 0, 0, 0], [0, 0, 0, 0, 0]], "min_steps": 5 }, { "id": "2013", "map": [[0, 0, 0, 0, 0], [1, 0, 0, 0, 0], [0, 0, 0, 3, 3], [3, 0, 0, 0, 0], [0, 0, 0, 4, 0]], "min_steps": 5 }, { "id": "2014", "map": [[3, 0, 1, 0, 0], [0, 3, 0, 0, 0], [0, 0, 0, 0, 0], [4, 0, 0, 3, 0], [0, 0, 0, 0, 0]], "min_steps": 5 }, { "id": "2015", "map": [[3, 0, 0, 0, 1], [3, 0, 0, 0, 0], [0, 0, 0, 0, 0], [4, 3, 0, 0, 0], [3, 0, 0, 0, 0]], "min_steps": 5 }, { "id": "2016", "map": [[0, 0, 0, 0, 0], [1, 0, 3, 0, 0], [3, 0, 0, 0, 3], [0, 0, 0, 0, 0], [0, 0, 0, 0, 4]], "min_steps": 5 }, { "id": "2017", "map": [[0, 3, 0, 0, 0], [4, 0, 0, 0, 0], [0, 0, 0, 0, 0], [3, 0, 3, 0, 0], [3, 0, 0, 0, 1]], "min_steps": 5 }, { "id": "2018", "map": [[0, 3, 4, 3, 3], [0, 0, 0, 0, 0], [0, 0, 0, 0, 0], [0, 0, 0, 0, 0], [0, 0, 3, 0, 1]], "min_steps": 5 }, { "id": "2019", "map": [[3, 0, 0, 4, 0], [0, 0, 0, 3, 0], [0, 0, 0, 0, 0], [0, 0, 0, 0, 0], [1, 0, 3, 0, 0]], "min_steps": 5 }, { "id": "2020", "map": [[4, 0, 3, 0, 1], [0, 0, 0, 0, 3], [0, 0, 0, 0, 0], [0, 0, 0, 0, 0], [0, 0, 3, 0, 0]], "min_steps": 5 }, { "id": "2003", "map": [[1, 0, 0, 3, 0], [0, 0, 3, 0, 0], [0, 0, 0, 0, 0], [0, 0, 0, 0, 0], [0, 3, 0, 4, 0]], "min_steps": 6 }, { "id": "2005", "map": [[0, 3, 0, 0, 0], [1, 0, 0, 0, 0], [0, 0, 0, 3, 0], [0, 0, 0, 0, 0], [0, 3, 0, 4, 0]], "min_steps": 6 }, { "id": "2006", "map": [[0, 1, 0, 0, 0], [0, 0, 0, 0, 3], [0, 0, 0, 0, 3], [0, 0, 0, 0, 0], [0, 0, 0, 3, 4]], "min_steps": 6 }, { "id": "2007", "map": [[3, 0, 0, 0, 1], [0, 0, 0, 0, 3], [0, 0, 0, 0, 0], [0, 0, 0, 0, 0], [4, 3, 0, 0, 0]], "min_steps": 6 }, { "id": "2008", "map": [[3, 4, 0, 0, 0], [0, 0, 0, 0, 3], [0, 0, 0, 3, 1], [0, 0, 0, 0, 0], [0, 0, 0, 0, 0]], "min_steps": 6 }, { "id": "2022", "map": [[0, 0, 0, 0, 0], [1, 3, 0, 0, 3], [0, 0, 0, 0, 0], [0, 0, 0, 0, 0], [0, 0, 3, 4, 0]], "min_steps": 6 }], [{ "id": "3001", "map": [[3, 0, 2, 3, 4], [0, 0, 0, 2, 2], [2, 3, 3, 3, 3], [0, 0, 2, 0, 2], [1, 0, 2, 3, 0]], "min_steps": 5 }, { "id": "3002", "map": [[3, 0, 3, 2, 0], [1, 2, 0, 3, 2], [2, 3, 0, 0, 4], [2, 0, 2, 2, 0], [3, 3, 0, 3, 0]], "min_steps": 5 }, { "id": "3003", "map": [[0, 2, 3, 3, 4], [2, 2, 0, 0, 0], [1, 3, 3, 3, 2], [2, 2, 3, 2, 3], [0, 0, 0, 0, 0]], "min_steps": 5 }, { "id": "3004", "map": [[3, 2, 2, 1, 0], [0, 0, 3, 2, 2], [3, 0, 2, 3, 0], [3, 0, 0, 3, 3], [0, 2, 4, 0, 2]], "min_steps": 5 }, { "id": "3005", "map": [[3, 0, 3, 0, 0], [2, 3, 0, 0, 1], [0, 2, 2, 2, 3], [4, 2, 0, 0, 2], [3, 3, 0, 3, 2]], "min_steps": 5 }, { "id": "3008", "map": [[3, 3, 3, 0, 1], [0, 0, 0, 0, 3], [2, 2, 3, 2, 2], [0, 2, 3, 0, 3], [4, 2, 2, 0, 0]], "min_steps": 5 }, { "id": "3009", "map": [[1, 0, 3, 3, 2], [3, 0, 2, 0, 0], [0, 3, 3, 2, 4], [0, 0, 3, 0, 2], [2, 2, 2, 0, 3]], "min_steps": 5 }, { "id": "3010", "map": [[3, 0, 2, 0, 4], [1, 2, 3, 0, 3], [2, 0, 3, 2, 0], [0, 3, 0, 0, 3], [2, 0, 2, 3, 2]], "min_steps": 5 }, { "id": "3006", "map": [[2, 0, 2, 2, 0], [1, 2, 3, 0, 0], [3, 3, 0, 3, 2], [3, 0, 0, 3, 2], [2, 0, 3, 0, 4]], "min_steps": 6 }, { "id": "3007", "map": [[1, 2, 0, 3, 3], [2, 2, 0, 2, 0], [2, 3, 2, 0, 3], [0, 3, 2, 0, 4], [0, 0, 3, 0, 3]], "min_steps": 6 }, { "id": "3011", "map": [[2, 3, 0, 1, 0], [0, 0, 0, 0, 0], [3, 0, 0, 0, 3], [0, 2, 0, 3, 2], [4, 3, 3, 2, 2]], "min_steps": 6 }, { "id": "3012", "map": [[0, 2, 1, 0, 3], [0, 3, 0, 0, 3], [3, 2, 3, 2, 0], [0, 2, 0, 3, 0], [2, 0, 0, 0, 4]], "min_steps": 6 }, { "id": "3013", "map": [[0, 2, 1, 0, 3], [0, 3, 0, 0, 3], [3, 2, 3, 2, 0], [0, 2, 0, 3, 0], [2, 0, 0, 0, 4]], "min_steps": 6 }, { "id": "3014", "map": [[1, 0, 3, 3, 4], [2, 3, 0, 3, 0], [0, 2, 2, 0, 0], [3, 3, 0, 0, 2], [2, 0, 0, 0, 0]], "min_steps": 6 }, { "id": "3015", "map": [[2, 3, 0, 0, 0], [0, 0, 2, 3, 0], [4, 0, 3, 0, 3], [2, 0, 2, 2, 3], [0, 3, 0, 0, 1]], "min_steps": 6 }, { "id": "3016", "map": [[3, 0, 2, 0, 2], [2, 0, 0, 0, 3], [0, 2, 3, 0, 1], [4, 0, 0, 3, 0], [3, 3, 0, 0, 2]], "min_steps": 6 }, { "id": "3017", "map": [[0, 3, 0, 0, 2], [3, 0, 2, 0, 4], [1, 3, 3, 0, 0], [2, 0, 0, 2, 0], [3, 2, 3, 0, 0]], "min_steps": 6 }, { "id": "3018", "map": [[4, 2, 0, 0, 0], [0, 0, 0, 3, 2], [0, 3, 0, 0, 3], [3, 2, 3, 2, 0], [3, 0, 2, 1, 0]], "min_steps": 7 }, { "id": "3019", "map": [[0, 4, 0, 3, 2], [0, 2, 0, 0, 0], [3, 0, 3, 0, 2], [3, 3, 2, 3, 1], [2, 0, 0, 0, 0]], "min_steps": 7 }, { "id": "3020", "map": [[0, 2, 0, 1, 0], [0, 0, 0, 3, 2], [3, 0, 3, 3, 3], [3, 0, 0, 0, 2], [0, 2, 2, 4, 0]], "min_steps": 7 }, { "id": "3021", "map": [[3, 2, 0, 2, 1], [3, 2, 0, 3, 2], [3, 0, 0, 2, 3], [0, 0, 0, 0, 4], [0, 0, 3, 0, 0]], "min_steps": 7 }, { "id": "3022", "map": [[2, 0, 2, 2, 2], [0, 0, 3, 0, 0], [3, 0, 3, 0, 0], [1, 0, 3, 2, 4], [0, 0, 3, 3, 0]], "min_steps": 7 }, { "id": "3023", "map": [[1, 2, 0, 2, 0], [3, 3, 3, 0, 0], [0, 2, 3, 2, 0], [4, 0, 0, 0, 3], [0, 0, 2, 0, 3]], "min_steps": 7 }, { "id": "3024", "map": [[1, 0, 3, 0, 3], [2, 2, 0, 0, 0], [0, 3, 0, 3, 0], [2, 0, 3, 2, 0], [2, 3, 0, 4, 0]], "min_steps": 7 }], [{ "id": "4001", "map": [[1, 3, 0, 0, 2, 0], [0, 3, 0, 0, 2, 0], [0, 0, 2, 0, 3, 4], [0, 0, 0, 2, 0, 0], [3, 3, 0, 0, 2, 0, 3], [0, 0, 2, 2, 2, 0]], "min_steps": 5 }, { "id": "4002", "map": [[0, 2, 2, 2, 2, 0], [1, 0, 0, 0, 2, 0], [0, 0, 0, 0, 0, 3], [0, 0, 0, 0, 2, 0], [0, 3, 3, 0, 2, 0], [3, 0, 0, 4, 2, 0]], "min_steps": 5 }, { "id": "4003", "map": [[0, 0, 0, 0, 0, 0], [2, 0, 0, 0, 0, 2], [0, 3, 3, 3, 2, 4], [0, 3, 0, 3, 2, 0], [0, 0, 0, 0, 0, 3], [0, 0, 2, 3, 0, 1]], "min_steps": 6 }, { "id": "4004", "map": [[2, 0, 3, 0, 0, 4], [0, 2, 3, 3, 0, 0], [0, 3, 0, 0, 0, 0], [3, 0, 0, 0, 2, 2], [3, 0, 0, 2, 0, 0], [1, 0, 0, 3, 0, 0]], "min_steps": 6 }, { "id": "4006", "map": [[4, 3, 0, 3, 0, 0], [0, 2, 0, 3, 0, 0], [3, 0, 0, 0, 3, 2], [0, 3, 0, 0, 2, 1], [0, 0, 2, 0, 0, 0], [0, 0, 0, 0, 2, 3]], "min_steps": 7 }, { "id": "4007", "map": [[4, 2, 2, 0, 2, 0], [0, 3, 0, 2, 0, 0], [0, 2, 3, 0, 3, 0], [0, 0, 3, 0, 0, 3], [0, 0, 3, 0, 0, 0], [0, 0, 0, 3, 0, 1]], "min_steps": 7 }, { "id": "4014", "map": [[0, 0, 3, 0, 2, 2], [0, 2, 3, 0, 0, 1], [0, 3, 3, 0, 0, 3], [0, 2, 0, 0, 0, 0], [0, 0, 0, 3, 3, 0], [2, 0, 4, 0, 0, 0]], "min_steps": 7 }, { "id": "4015", "map": [[2, 0, 0, 0, 0, 0], [0, 0, 0, 0, 3, 1], [3, 0, 2, 0, 0, 3], [2, 0, 0, 2, 3, 0], [3, 0, 3, 0, 0, 0], [2, 0, 0, 3, 4, 0]], "min_steps": 7 }, { "id": "4005", "map": [[1, 0, 0, 0, 0, 2], [0, 0, 0, 2, 0, 0], [3, 2, 0, 0, 0, 0], [0, 3, 0, 0, 2, 3], [0, 0, 3, 3, 0, 0], [3, 0, 0, 2, 3, 4]], "min_steps": 8 }, { "id": "4008", "map": [[0, 0, 2, 3, 0, 0], [0, 3, 0, 2, 3, 2], [3, 0, 0, 0, 0, 0], [0, 3, 0, 0, 3, 4], [0, 0, 0, 0, 0, 3], [0, 2, 0, 2, 0, 1]], "min_steps": 8 }, { "id": "4009", "map": [[0, 3, 3, 0, 0, 4], [2, 0, 0, 3, 0, 0], [2, 0, 0, 3, 0, 0], [1, 0, 0, 0, 3, 0], [0, 0, 2, 3, 0, 2], [2, 3, 0, 0, 0, 0]], "min_steps": 8 }, { "id": "4010", "map": [[0, 0, 1, 3, 2, 0], [3, 0, 0, 0, 3, 2], [3, 0, 0, 0, 0, 3], [2, 0, 0, 0, 0, 0], [0, 2, 0, 0, 3, 0], [0, 2, 0, 3, 4, 0]], "min_steps": 8 }, { "id": "4011", "map": [[1, 0, 0, 0, 0, 0], [3, 3, 0, 0, 0, 2], [0, 0, 0, 3, 0, 2], [2, 0, 3, 0, 3, 0], [2, 0, 3, 0, 0, 3], [4, 0, 0, 0, 0, 2]], "min_steps": 8 }, { "id": "4016", "map": [[0, 0, 3, 0, 0, 1], [2, 3, 0, 0, 3, 0], [2, 0, 0, 0, 0, 2], [0, 3, 0, 0, 0, 0], [0, 3, 0, 0, 2, 0], [0, 4, 3, 0, 2, 3]], "min_steps": 8 }, { "id": "4017", "map": [[1, 2, 3, 0, 3, 2], [3, 0, 0, 0, 0, 0], [0, 0, 0, 0, 0, 3], [3, 3, 0, 3, 2, 0], [0, 2, 0, 0, 0, 0], [4, 0, 0, 2, 0, 0]], "min_steps": 8 }, { "id": "4018", "map": [[0, 0, 1, 0, 2, 0], [0, 0, 0, 0, 0, 0], [0, 0, 3, 2, 3, 0], [3, 0, 0, 3, 0, 0], [2, 3, 0, 2, 0, 0], [4, 2, 0, 3, 3, 0]], "min_steps": 8 }, { "id": "4012", "map": [[2, 2, 3, 0, 2, 0], [0, 3, 0, 0, 0, 0], [0, 0, 0, 0, 3, 4], [0, 2, 0, 3, 0, 3], [0, 0, 0, 0, 0, 0], [0, 0, 2, 3, 3, 1]], "min_steps": 9 }, { "id": "4013", "map": [[0, 0, 0, 0, 3, 0], [4, 2, 0, 3, 0, 0], [3, 2, 0, 0, 0, 0], [1, 3, 0, 3, 0, 0], [2, 0, 0, 2, 0, 0], [3, 0, 0, 3, 2, 0]], "min_steps": 9 }, { "id": "4019", "map": [[3, 4, 0, 0, 0, 2], [3, 2, 0, 0, 2, 0], [0, 3, 0, 3, 0, 2], [0, 0, 3, 0, 0, 0], [0, 0, 0, 0, 3, 0], [1, 3, 0, 0, 0, 2]], "min_steps": 9 }, { "id": "4020", "map": [[0, 2, 0, 1, 0, 0], [2, 3, 0, 0, 2, 0], [3, 0, 0, 0, 0, 0], [0, 3, 3, 0, 0, 3], [2, 0, 0, 3, 0, 0], [4, 3, 0, 0, 0, 2]], "min_steps": 9 }], [{ "id": "5001", "map": [[1, 0, 0, 0, 0, 0], [0, 2, 2, 3, 0, 2], [3, 2, 0, 0, 3, 3], [0, 0, 0, 0, 0, 4], [0, 0, 0, 2, 2, 0], [3, 0, 2, 2, 0, 0]], "min_steps": 7 }, { "id": "5002", "map": [[0, 0, 0, 0, 4, 3], [3, 2, 3, 0, 0, 0], [0, 2, 0, 2, 3, 0], [2, 2, 0, 0, 0, 0], [3, 2, 0, 0, 0, 0], [3, 0, 0, 2, 0, 3], [2, 0, 0, 3, 0, 1]], "min_steps": 7 }, { "id": "5015", "map": [[1, 2, 3, 2, 2, 0], [3, 0, 0, 0, 0, 3], [0, 0, 0, 0, 0, 0], [0, 0, 0, 0, 0, 2], [0, 3, 0, 3, 2, 0], [0, 0, 0, 0, 0, 0], [0, 2, 0, 4, 0, 3]], "min_steps": 7 }, { "id": "5016", "map": [[3, 0, 1, 0, 0, 0], [0, 2, 0, 2, 0, 0], [0, 2, 0, 2, 0, 3], [0, 0, 0, 0, 0, 0], [0, 2, 0, 0, 3, 3], [0, 0, 0, 0, 2, 3], [0, 0, 0, 3, 0, 4]], "min_steps": 7 }, { "id": "5004", "map": [[0, 3, 3, 2, 3, 0], [2, 0, 2, 0, 3, 0], [1, 0, 3, 2, 0, 0], [3, 3, 0, 0, 0, 2], [0, 0, 0, 0, 0, 0], [0, 2, 0, 0, 0, 0], [0, 0, 0, 3, 4, 0]], "min_steps": 8 }, { "id": "5005", "map": [[0, 0, 0, 0, 0, 1], [0, 0, 2, 0, 2, 0], [3, 2, 2, 0, 0, 0], [3, 0, 0, 3, 0, 0], [3, 3, 0, 0, 0, 3], [4, 3, 0, 0, 0, 0], [2, 0, 0, 2, 3, 0]], "min_steps": 8 }, { "id": "5008", "map": [[3, 0, 3, 2, 0, 4], [0, 3, 0, 2, 0, 2], [0, 0, 3, 0, 0, 0], [2, 0, 0, 2, 0, 0], [0, 0, 3, 0, 0, 0], [0, 0, 0, 3, 0, 0], [3, 2, 1, 3, 0, 0]], "min_steps": 8 }, { "id": "5012", "map": [[2, 3, 0, 2, 0, 1], [2, 0, 0, 0, 0, 0], [2, 0, 0, 3, 0, 2], [3, 0, 3, 0, 0, 3], [0, 0, 0, 0, 3, 3], [3, 0, 0, 0, 2, 0], [0, 0, 0, 0, 0, 4]], "min_steps": 8 }, { "id": "5013", "map": [[0, 0, 2, 1, 2, 0], [0, 3, 0, 0, 0, 0], [2, 0, 0, 0, 0, 0], [0, 0, 0, 3, 0, 0], [3, 0, 0, 2, 3, 0], [3, 3, 3, 2, 0, 2], [0, 0, 4, 0, 0, 3]], "min_steps": 8 }, { "id": "5018", "map": [[0, 2, 0, 1, 0, 0], [2, 0, 0, 3, 0, 0], [0, 0, 0, 0, 0, 0], [3, 0, 0, 0, 0, 0], [2, 3, 0, 2, 3, 3], [2, 0, 0, 0, 0, 2], [4, 3, 0, 0, 0, 0]], "min_steps": 8 }, { "id": "5019", "map": [[1, 3, 0, 2, 3, 0], [0, 0, 0, 0, 0, 2], [0, 0, 0, 0, 0, 0], [0, 0, 2, 0, 0, 2], [3, 3, 0, 3, 0, 2], [4, 0, 2, 0, 0, 0], [0, 0, 0, 3, 0, 0]], "min_steps": 8 }, { "id": "5029", "map": [[4, 3, 0, 0, 0, 0], [2, 0, 0, 3, 0, 2], [3, 2, 0, 3, 3, 0], [2, 0, 0, 3, 0, 0], [0, 2, 0, 0, 0, 0], [2, 0, 0, 0, 0, 0], [3, 0, 3, 3, 0, 1]], "min_steps": 8 }, { "id": "5030", "map": [[0, 0, 0, 0, 0, 0], [0, 0, 2, 3, 2, 0], [0, 3, 0, 0, 0, 0], [2, 2, 0, 3, 0, 0], [0, 3, 3, 0, 3, 4], [0, 0, 2, 0, 0, 3], [3, 1, 0, 3, 0, 2]], "min_steps": 8 }, { "id": "5006", "map": [[0, 3, 0, 0, 0, 0], [1, 0, 0, 0, 3, 0], [0, 0, 3, 2, 0, 0], [3, 0, 0, 2, 2, 0], [0, 3, 0, 3, 3, 0], [0, 2, 0, 0, 0, 0], [4, 0, 3, 0, 2, 2]], "min_steps": 9 }, { "id": "5007", "map": [[0, 2, 0, 3, 0, 0], [1, 2, 0, 2, 0, 0], [0, 3, 0, 3, 0, 0], [3, 0, 0, 0, 0, 3], [0, 0, 3, 2, 0, 2], [4, 0, 0, 3, 0, 3], [0, 2, 0, 0, 0, 0]], "min_steps": 9 }, { "id": "5010", "map": [[0, 3, 1, 0, 0, 0], [0, 2, 3, 3, 0, 0], [0, 2, 0, 3, 0, 0], [0, 2, 0, 2, 0, 3], [0, 2, 0, 0, 3, 0], [0, 3, 0, 0, 0, 0], [0, 2, 4, 0, 0, 3]], "min_steps": 9 }, { "id": "5011", "map": [[1, 0, 3, 0, 3, 0], [0, 2, 0, 0, 0, 0], [2, 0, 2, 0, 3, 0], [0, 3, 2, 0, 0, 0], [3, 0, 0, 0, 0, 2], [4, 0, 3, 0, 0, 0], [3, 2, 0, 0, 0, 3]], "min_steps": 9 }, { "id": "5014", "map": [[0, 1, 0, 0, 0, 0], [2, 0, 2, 0, 0, 2], [2, 3, 0, 3, 0, 0], [0, 3, 0, 0, 0, 3], [0, 0, 0, 2, 0, 3], [0, 0, 3, 0, 3, 0], [2, 0, 3, 0, 0, 4]], "min_steps": 9 }, { "id": "5017", "map": [[0, 0, 0, 0, 0, 0], [1, 2, 3, 0, 0, 2], [0, 0, 2, 0, 0, 2], [3, 0, 2, 3, 0, 0], [0, 3, 3, 0, 2, 0], [0, 0, 0, 0, 0, 0], [4, 0, 3, 0, 0, 0]], "min_steps": 9 }, { "id": "5028", "map": [[0, 0, 1, 0, 0, 3], [3, 0, 0, 0, 3, 4], [0, 2, 0, 2, 3, 2], [0, 3, 2, 3, 3, 0], [0, 0, 0, 3, 0, 0], [0, 0, 3, 0, 0, 2], [0, 0, 2, 0, 0, 0]], "min_steps": 9 }, { "id": "5003", "map": [[0, 0, 1, 3, 0, 2], [0, 3, 3, 0, 0, 0], [0, 0, 3, 2, 0, 0], [0, 0, 3, 0, 0, 0], [3, 0, 0, 0, 2, 2], [0, 0, 2, 3, 0, 0], [0, 2, 0, 3, 0, 4]], "min_steps": 10 }, { "id": "5009", "map": [[0, 2, 0, 0, 0, 3], [0, 0, 3, 3, 3, 4], [0, 3, 0, 0, 0, 0], [0, 3, 2, 0, 0, 0], [1, 2, 3, 2, 0, 3], [2, 0, 0, 0, 0, 0], [0, 0, 0, 0, 2, 0]], "min_steps": 10 }, { "id": "5021", "map": [[0, 0, 0, 0, 0, 0], [0, 0, 0, 0, 3, 0], [3, 0, 0, 0, 2, 0], [2, 0, 0, 2, 3, 0], [0, 3, 0, 0, 0, 2], [0, 2, 3, 0, 0, 0], [4, 3, 1, 2, 0, 0]], "min_steps": 10 }, { "id": "5022", "map": [[4, 0, 3, 0, 0, 2], [0, 0, 0, 0, 2, 0], [0, 3, 0, 2, 3, 2], [3, 0, 3, 0, 3, 0], [0, 2, 0, 0, 0, 0], [0, 3, 0, 3, 0, 3], [0, 2, 1, 0, 0, 0]], "min_steps": 10 }, { "id": "5023", "map": [[3, 0, 0, 3, 3, 0], [0, 0, 3, 0, 0, 3], [2, 3, 0, 0, 0, 0], [2, 2, 0, 0, 2, 0], [0, 3, 0, 0, 0, 0], [2, 0, 3, 0, 0, 4], [0, 1, 3, 0, 2, 0]], "min_steps": 10 }, { "id": "5024", "map": [[3, 0, 2, 3, 0, 0], [4, 2, 0, 0, 0, 3], [2, 2, 0, 0, 0, 0], [0, 0, 3, 0, 0, 2], [0, 0, 0, 3, 0, 3], [0, 3, 3, 0, 2, 0], [3, 0, 1, 0, 0, 0]], "min_steps": 10 }, { "id": "5020", "map": [[0, 0, 0, 2, 0, 0], [0, 3, 0, 0, 0, 3], [0, 2, 0, 0, 3, 0], [2, 0, 0, 2, 3, 4], [0, 2, 3, 0, 0, 0], [0, 0, 0, 3, 0, 0], [3, 2, 0, 1, 3, 0]], "min_steps": 11 }, { "id": "5025", "map": [[1, 0, 0, 0, 3, 0], [0, 0, 0, 3, 3, 2], [3, 3, 2, 0, 0, 2], [0, 0, 0, 0, 0, 3], [0, 0, 2, 0, 2, 0], [0, 0, 0, 0, 3, 4], [0, 3, 2, 3, 0, 0]], "min_steps": 11 }, { "id": "5026", "map": [[0, 3, 2, 0, 0, 0], [0, 0, 2, 3, 3, 0], [2, 0, 0, 2, 0, 0], [3, 2, 0, 0, 3, 2], [0, 0, 0, 3, 3, 1], [0, 0, 3, 0, 0, 3], [0, 0, 0, 0, 0, 4]], "min_steps": 11 }, { "id": "5027", "map": [[0, 0, 3, 0, 0, 1], [0, 0, 0, 0, 0, 3], [2, 0, 2, 0, 2, 3], [0, 0, 3, 3, 0, 3], [0, 0, 0, 2, 3, 0], [0, 0, 0, 2, 0, 3], [2, 0, 3, 0, 4, 0]], "min_steps": 11 }], [{ "id": "6028", "map": [[0, 0, 3, 0, 0, 2], [1, 3, 2, 2, 0, 3], [0, 0, 3, 0, 0, 2], [0, 0, 0, 0, 0, 0], [0, 0, 2, 0, 3, 3], [3, 3, 3, 0, 0, 0], [4, 0, 0, 0, 0, 2]], "min_steps": 8 }, { "id": "6029", "map": [[0, 0, 2, 0, 0, 1], [3, 2, 3, 0, 0, 3], [2, 0, 3, 0, 3, 0], [3, 3, 0, 0, 0, 0], [0, 0, 0, 3, 3, 2], [0, 0, 0, 0, 0, 2], [0, 0, 0, 4, 2, 0]], "min_steps": 8 }, { "id": "6030", "map": [[0, 3, 3, 0, 1, 0], [2, 3, 0, 0, 3, 0], [0, 0, 0, 3, 0, 2], [0, 0, 3, 0, 2, 0], [0, 0, 2, 3, 3, 3], [0, 0, 0, 0, 0, 0], [4, 0, 0, 2, 0, 2]], "min_steps": 8 }, { "id": "6001", "map": [[0, 0, 3, 3, 4, 2], [0, 0, 0, 2, 0, 0], [2, 3, 3, 2, 0, 0], [0, 3, 0, 0, 0, 2], [0, 0, 0, 3, 2, 2], [2, 0, 0, 3, 0, 2], [1, 3, 2, 0, 0, 0], [0, 0, 0, 3, 0, 0]], "min_steps": 9 }, { "id": "6012", "map": [[3, 0, 0, 0, 2, 0], [0, 3, 0, 3, 0, 0], [0, 3, 0, 0, 0, 3], [2, 0, 0, 3, 2, 0], [3, 2, 2, 2, 0, 0], [3, 0, 2, 0, 3, 0], [1, 2, 3, 0, 2, 0], [2, 3, 0, 0, 3, 4]], "min_steps": 9 }, { "id": "6016", "map": [[0, 0, 1, 0, 2, 3], [0, 3, 2, 0, 2, 0], [3, 3, 3, 3, 0, 0], [3, 0, 0, 0, 0, 0], [2, 2, 3, 0, 3, 3], [0, 0, 2, 0, 2, 0], [0, 2, 0, 2, 0, 3], [3, 0, 2, 0, 0, 4]], "min_steps": 9 }, { "id": "6008", "map": [[0, 0, 2, 0, 3, 4], [3, 3, 2, 3, 0, 0], [0, 0, 0, 0, 0, 3], [0, 0, 2, 3, 2, 0], [0, 0, 2, 0, 3, 2], [3, 3, 0, 0, 0, 2], [0, 3, 0, 0, 0, 0], [2, 1, 0, 0, 0, 0]], "min_steps": 10 }, { "id": "6013", "map": [[3, 0, 0, 2, 2, 0], [0, 2, 0, 3, 0, 2], [0, 0, 3, 2, 3, 0], [0, 3, 0, 0, 3, 0], [2, 2, 3, 2, 0, 0], [0, 0, 3, 3, 0, 0], [0, 2, 0, 3, 2, 0], [4, 3, 3, 0, 1, 0]], "min_steps": 10 }, { "id": "6017", "map": [[4, 0, 0, 0, 0, 3], [0, 3, 3, 0, 0, 0], [3, 0, 2, 2, 0, 0], [3, 0, 2, 3, 3, 2], [3, 2, 0, 2, 3, 3], [2, 0, 2, 0, 0, 0], [0, 0, 0, 0, 0, 3], [2, 3, 0, 2, 0, 1]], "min_steps": 10 }, { "id": "6022", "map": [[0, 0, 3, 4, 3, 0], [0, 3, 0, 2, 2, 0], [2, 0, 2, 0, 0, 3], [0, 0, 0, 0, 0, 0], [2, 3, 0, 3, 2, 0], [0, 3, 0, 0, 0, 0], [0, 1, 3, 0, 0, 3]], "min_steps": 10 }, { "id": "6023", "map": [[0, 0, 3, 1, 0, 2], [0, 0, 2, 3, 0, 0], [4, 0, 3, 0, 0, 0], [2, 0, 3, 0, 0, 3], [2, 0, 3, 0, 3, 0], [0, 0, 0, 0, 0, 0], [2, 3, 0, 2, 3, 0]], "min_steps": 10 }, { "id": "6024", "map": [[0, 3, 0, 2, 0, 4], [3, 0, 0, 3, 3, 3], [0, 0, 2, 0, 0, 0], [2, 3, 3, 0, 0, 0], [2, 0, 0, 0, 0, 3], [2, 0, 3, 0, 0, 1], [0, 0, 0, 0, 0, 2]], "min_steps": 10 }, { "id": "6025", "map": [[4, 0, 2, 0, 0, 0], [0, 0, 3, 3, 0, 2], [3, 3, 0, 0, 0, 3], [0, 2, 0, 2, 0, 0], [0, 0, 0, 0, 3, 0], [1, 3, 0, 0, 2, 2], [0, 3, 0, 0, 0, 3]], "min_steps": 10 }, { "id": "6002", "map": [[0, 0, 3, 3, 4, 2], [0, 0, 0, 2, 0, 0], [2, 3, 3, 2, 0, 0], [0, 3, 0, 0, 0, 2], [0, 0, 0, 3, 2, 2], [2, 0, 0, 3, 0, 2], [1, 3, 2, 0, 0, 0], [0, 0, 0, 3, 0, 0]], "min_steps": 11 }, { "id": "6006", "map": [[1, 0, 2, 0, 0, 3], [0, 0, 0, 0, 3, 0], [3, 0, 0, 3, 2, 0], [2, 3, 0, 0, 0, 3], [0, 0, 3, 2, 0, 3], [0, 2, 0, 3, 0, 0], [2, 3, 0, 2, 0, 0], [0, 4, 0, 2, 0, 0]], "min_steps": 11 }, { "id": "6009", "map": [[4, 3, 0, 0, 3, 0], [0, 0, 0, 0, 0, 0], [3, 3, 0, 2, 0, 2], [3, 0, 0, 2, 2, 0], [2, 3, 2, 0, 0, 0], [1, 3, 3, 0, 0, 0], [2, 0, 0, 0, 0, 0], [3, 3, 0, 0, 0, 2]], "min_steps": 11 }, { "id": "6018", "map": [[2, 3, 0, 0, 2, 3], [2, 0, 0, 3, 0, 4], [2, 0, 0, 0, 0, 0], [0, 3, 2, 0, 2, 3], [0, 0, 0, 0, 0, 3], [2, 0, 3, 3, 2, 3], [0, 0, 0, 3, 2, 0], [2, 3, 1, 3, 0, 0]], "min_steps": 11 }, { "id": "6026", "map": [[0, 1, 0, 3, 0, 4], [0, 0, 3, 0, 3, 0], [2, 2, 3, 2, 0, 0], [0, 0, 3, 0, 3, 3], [2, 0, 0, 0, 0, 2], [0, 3, 0, 0, 0, 2], [0, 0, 0, 0, 0, 3]], "min_steps": 11 }, { "id": "6027", "map": [[2, 1, 3, 0, 0, 0], [0, 0, 0, 0, 3, 0], [3, 3, 0, 0, 0, 0], [2, 2, 3, 3, 3, 0], [0, 2, 0, 0, 0, 0], [3, 2, 0, 0, 0, 0], [0, 4, 0, 2, 3, 0]], "min_steps": 11 }, { "id": "6031", "map": [[0, 1, 0, 3, 0, 4], [0, 0, 3, 0, 3, 0], [2, 2, 3, 2, 0, 0], [0, 0, 3, 0, 3, 3], [2, 0, 0, 0, 0, 2], [0, 3, 0, 0, 0, 2], [0, 0, 0, 0, 0, 3]], "min_steps": 11 }, { "id": "6003", "map": [[0, 2, 2, 0, 0, 4], [0, 3, 3, 0, 0, 0], [3, 2, 0, 0, 0, 0], [0, 3, 0, 0, 3, 3], [0, 2, 0, 3, 0, 0], [2, 3, 0, 0, 0, 0], [0, 2, 3, 0, 0, 0], [1, 2, 3, 0, 2, 0]], "min_steps": 12 }, { "id": "6011", "map": [[3, 0, 2, 2, 3, 2], [1, 0, 0, 0, 0, 3], [0, 0, 3, 2, 3, 0], [3, 0, 3, 0, 0, 0], [4, 3, 2, 3, 0, 2], [0, 0, 2, 0, 2, 3], [2, 0, 0, 0, 0, 3], [0, 0, 0, 2, 0, 3]], "min_steps": 12 }, { "id": "6014", "map": [[4, 3, 0, 0, 0, 0], [0, 2, 2, 2, 3, 0], [0, 3, 0, 0, 0, 0], [2, 3, 2, 3, 0, 0], [3, 3, 0, 0, 0, 3], [0, 0, 0, 2, 3, 0], [0, 3, 2, 0, 2, 2], [2, 3, 3, 0, 0, 1]], "min_steps": 12 }, { "id": "6020", "map": [[3, 2, 0, 0, 0, 0], [4, 0, 2, 0, 2, 0], [3, 3, 0, 0, 2, 2], [0, 0, 3, 0, 2, 0], [0, 0, 0, 0, 2, 3], [0, 2, 3, 3, 0, 0], [2, 3, 0, 0, 3, 3], [1, 3, 3, 2, 0, 0]], "min_steps": 12 }, { "id": "6021", "map": [[4, 3, 0, 0, 0, 0], [0, 2, 2, 2, 3, 0], [0, 3, 0, 0, 0, 0], [2, 3, 2, 3, 0, 0], [3, 3, 0, 0, 0, 3], [0, 0, 0, 2, 3, 0], [0, 3, 2, 0, 2, 2], [2, 3, 3, 0, 0, 1]], "min_steps": 12 }, { "id": "6004", "map": [[0, 3, 0, 2, 2, 0], [0, 0, 0, 0, 0, 2], [3, 0, 0, 0, 0, 0], [0, 3, 0, 0, 0, 0], [0, 3, 3, 0, 3, 0], [2, 0, 0, 0, 3, 2], [2, 0, 0, 0, 3, 1], [4, 3, 0, 2, 3, 2]], "min_steps": 13 }, { "id": "6005", "map": [[2, 2, 4, 2, 3, 0], [0, 3, 3, 2, 0, 0], [3, 0, 0, 3, 0, 2], [3, 0, 2, 3, 3, 0], [0, 0, 0, 0, 0, 0], [0, 0, 0, 0, 2, 3], [3, 2, 0, 0, 0, 1], [0, 0, 0, 0, 0, 0]], "min_steps": 13 }, { "id": "6007", "map": [[3, 2, 0, 0, 3, 4], [0, 2, 0, 0, 3, 0], [0, 0, 2, 0, 2, 0], [2, 0, 0, 3, 0, 3], [0, 0, 2, 0, 3, 2], [0, 2, 3, 3, 0, 1], [0, 0, 0, 0, 0, 3], [0, 0, 0, 3, 0, 0]], "min_steps": 13 }, { "id": "6010", "map": [[0, 3, 1, 0, 0, 0], [0, 2, 3, 3, 0, 0], [2, 0, 0, 3, 0, 0], [0, 2, 0, 0, 3, 2], [3, 0, 0, 0, 0, 2], [3, 2, 0, 0, 0, 0], [4, 0, 0, 3, 2, 0], [0, 3, 0, 3, 2, 0]], "min_steps": 13 }, { "id": "6015", "map": [[4, 0, 0, 0, 2, 3], [0, 0, 3, 0, 0, 3], [2, 2, 3, 2, 0, 0], [3, 0, 0, 0, 3, 2], [2, 3, 0, 3, 0, 2], [0, 0, 3, 0, 2, 3], [0, 0, 0, 0, 0, 3], [1, 2, 2, 3, 0, 0]], "min_steps": 14 }, { "id": "6019", "map": [[4, 0, 0, 0, 2, 3], [0, 0, 3, 0, 0, 3], [2, 2, 3, 2, 0, 0], [3, 0, 0, 0, 3, 2], [2, 3, 0, 3, 0, 2], [0, 0, 3, 0, 2, 3], [0, 0, 0, 0, 0, 3], [1, 2, 2, 3, 0, 0]], "min_steps": 14 }], [{ "id": "7001", "map": [[0, 2, 0, 0, 2, 0], [3, 3, 0, 2, 0, 4], [0, 0, 0, 0, 0, 3], [0, 0, 0, 0, 3, 2], [0, 0, 0, 0, 0, 2], [3, 3, 0, 0, 0, 2], [0, 3, 3, 2, 2, 0], [0, 3, 2, 2, 0, 3], [1, 2, 0, 0, 2, 0]], "min_steps": 9 }, { "id": "7023", "map": [[3, 2, 0, 2, 0, 1], [0, 3, 3, 2, 3, 3], [0, 3, 3, 0, 3, 0], [0, 2, 2, 2, 0, 3], [0, 3, 2, 0, 0, 3], [0, 0, 0, 0, 2, 0], [2, 2, 2, 3, 0, 0], [2, 0, 3, 0, 3, 0], [0, 0, 3, 0, 0, 4]], "min_steps": 9 }, { "id": "7003", "map": [[1, 3, 2, 0, 0, 0], [0, 0, 0, 2, 0, 0], [0, 3, 0, 2, 0, 0], [3, 3, 3, 2, 0, 3], [2, 3, 3, 0, 3, 0], [0, 0, 0, 0, 0, 2], [3, 0, 2, 2, 3, 2], [4, 2, 0, 0, 2, 0], [0, 0, 2, 0, 0, 2]], "min_steps": 10 }, { "id": "7002", "map": [[1, 0, 3, 2, 0, 2], [0, 3, 0, 0, 0, 2], [0, 2, 0, 3, 2, 2], [0, 3, 0, 0, 0, 0], [0, 2, 0, 3, 3, 0], [3, 2, 2, 0, 0, 3], [0, 3, 2, 3, 0, 2], [0, 0, 0, 0, 0, 0], [2, 0, 0, 2, 3, 4]], "min_steps": 11 }, { "id": "7005", "map": [[0, 0, 0, 0, 0, 0], [0, 0, 0, 3, 2, 4], [0, 3, 0, 0, 3, 3], [3, 3, 0, 2, 0, 3], [0, 2, 2, 0, 3, 2], [0, 0, 3, 0, 2, 0], [0, 2, 0, 2, 0, 0], [3, 0, 0, 2, 2, 0], [0, 0, 2, 2, 0, 1]], "min_steps": 11 }, { "id": "7006", "map": [[0, 0, 0, 0, 2, 3], [3, 2, 0, 0, 0, 0], [0, 2, 0, 3, 3, 4], [0, 0, 0, 2, 2, 3], [2, 0, 0, 0, 0, 0], [0, 0, 0, 0, 3, 0], [3, 0, 3, 3, 0, 2], [3, 0, 2, 2, 0, 2], [0, 0, 2, 2, 0, 1]], "min_steps": 11 }, { "id": "7007", "map": [[2, 0, 2, 0, 2, 0], [0, 0, 2, 0, 3, 2], [0, 0, 0, 3, 3, 0], [0, 2, 0, 0, 3, 2], [3, 0, 0, 2, 0, 0], [3, 3, 0, 0, 0, 2], [0, 2, 0, 3, 2, 0], [0, 2, 3, 0, 0, 0], [4, 3, 0, 0, 1, 0]], "min_steps": 11 }, { "id": "7026", "map": [[2, 4, 2, 0, 0, 0], [0, 3, 3, 0, 3, 0], [3, 3, 3, 0, 0, 3], [2, 0, 3, 0, 0, 2], [0, 2, 2, 3, 0, 3], [1, 0, 2, 0, 2, 0], [3, 3, 0, 0, 0, 0], [2, 0, 0, 0, 3, 2], [2, 0, 3, 2, 3, 0]], "min_steps": 11 }, { "id": "7027", "map": [[2, 0, 0, 0, 0, 2], [0, 0, 3, 3, 2, 3], [0, 0, 3, 0, 0, 1], [0, 3, 0, 3, 3, 3], [0, 0, 0, 0, 0, 2], [3, 3, 2, 0, 0, 2], [3, 3, 0, 2, 0, 3], [0, 3, 2, 2, 2, 0], [0, 3, 4, 2, 2, 0]], "min_steps": 11 }, { "id": "7029", "map": [[0, 0, 1, 0, 0, 0], [3, 3, 0, 0, 3, 2], [3, 0, 0, 0, 2, 0], [0, 2, 0, 2, 2, 0], [2, 3, 3, 3, 0, 3], [3, 2, 2, 3, 0, 0], [2, 0, 3, 0, 0, 3], [3, 2, 0, 0, 0, 3], [4, 2, 0, 0, 3, 2]], "min_steps": 11 }, { "id": "7008", "map": [[1, 0, 0, 0, 2, 0], [3, 3, 2, 0, 3, 0], [3, 0, 3, 0, 0, 0], [0, 0, 3, 0, 0, 3], [2, 2, 0, 3, 0, 3], [2, 0, 2, 0, 0, 0], [2, 0, 2, 0, 0, 2], [2, 0, 0, 2, 0, 0], [4, 3, 0, 0, 0, 2]], "min_steps": 12 }, { "id": "7010", "map": [[4, 3, 0, 3, 1, 0], [0, 0, 3, 3, 0, 0], [0, 3, 0, 0, 2, 2], [2, 0, 3, 0, 0, 2], [3, 2, 0, 2, 3, 0], [0, 0, 0, 0, 0, 0], [0, 2, 0, 2, 2, 0], [0, 2, 0, 3, 0, 2], [0, 2, 0, 0, 0, 3]], "min_steps": 12 }, { "id": "7016", "map": [[2, 3, 4, 0, 0, 3], [0, 3, 2, 2, 3, 1], [0, 2, 2, 3, 0, 0], [3, 0, 3, 0, 2, 0], [3, 0, 0, 0, 2, 2], [0, 0, 3, 3, 0, 0], [0, 3, 0, 3, 2, 0], [0, 0, 3, 0, 3, 2], [0, 2, 2, 3, 0, 0]], "min_steps": 12 }, { "id": "7020", "map": [[2, 3, 0, 4, 3, 3], [3, 3, 0, 0, 3, 0], [0, 2, 0, 3, 2, 0], [0, 3, 0, 0, 0, 2], [3, 2, 0, 0, 0, 0], [0, 0, 3, 2, 0, 3], [0, 3, 0, 3, 2, 0], [3, 2, 2, 0, 0, 2], [0, 0, 2, 1, 3, 2]], "min_steps": 12 }, { "id": "7024", "map": [[1, 3, 2, 0, 0, 3], [2, 3, 2, 0, 0, 0], [0, 2, 3, 0, 3, 3], [3, 0, 0, 2, 0, 3], [2, 3, 0, 0, 0, 3], [3, 3, 0, 0, 0, 0], [2, 0, 3, 0, 0, 2], [0, 0, 2, 0, 2, 2], [4, 2, 3, 0, 3, 0]], "min_steps": 12 }, { "id": "7032", "map": [[0, 0, 0, 0, 3, 4], [0, 0, 3, 3, 3, 2], [2, 2, 3, 3, 0, 0], [0, 0, 3, 2, 0, 0], [0, 2, 0, 2, 3, 2], [0, 2, 3, 0, 0, 3], [2, 3, 3, 0, 0, 2], [1, 0, 3, 0, 3, 2], [0, 0, 3, 0, 0, 2]], "min_steps": 12 }, { "id": "7033", "map": [[1, 0, 0, 3, 0, 3], [3, 3, 2, 0, 2, 0], [0, 3, 3, 2, 0, 2], [3, 2, 0, 3, 0, 0], [4, 2, 2, 2, 0, 0], [0, 3, 0, 0, 0, 0], [3, 3, 3, 0, 0, 2], [3, 0, 3, 2, 0, 3], [2, 0, 0, 0, 0, 2]], "min_steps": 12 }, { "id": "7035", "map": [[3, 0, 0, 2, 0, 4], [3, 0, 2, 3, 3, 3], [0, 0, 2, 3, 0, 2], [3, 0, 3, 3, 3, 0], [2, 2, 0, 0, 0, 0], [2, 2, 3, 0, 0, 0], [0, 0, 2, 3, 0, 0], [0, 2, 0, 3, 2, 3], [0, 0, 3, 1, 2, 0]], "min_steps": 12 }, { "id": "7036", "map": [[2, 3, 1, 0, 0, 2], [0, 3, 0, 0, 0, 0], [2, 0, 2, 0, 0, 3], [0, 0, 3, 3, 0, 3], [0, 2, 2, 0, 0, 3], [0, 3, 2, 3, 3, 0], [0, 3, 2, 0, 0, 2], [0, 3, 2, 0, 2, 3], [2, 0, 3, 3, 4, 0]], "min_steps": 12 }, { "id": "7037", "map": [[2, 0, 0, 0, 0, 3], [0, 2, 3, 0, 2, 2], [0, 0, 3, 0, 2, 0], [0, 2, 2, 0, 0, 0], [3, 2, 3, 0, 0, 3], [0, 0, 3, 3, 0, 3], [3, 2, 3, 0, 0, 3], [0, 0, 3, 3, 2, 0], [4, 3, 1, 2, 0, 2]], "min_steps": 12 }, { "id": "7039", "map": [[2, 0, 3, 3, 2, 0], [0, 0, 0, 0, 2, 3], [1, 3, 0, 0, 0, 2], [0, 2, 3, 2, 2, 2], [0, 0, 3, 0, 0, 0], [0, 3, 0, 0, 3, 0], [3, 0, 0, 2, 3, 2], [2, 0, 3, 0, 2, 3], [0, 4, 3, 0, 3, 3]], "min_steps": 12 }, { "id": "7040", "map": [[0, 2, 3, 3, 4, 0], [0, 2, 0, 0, 3, 2], [0, 0, 3, 0, 2, 0], [3, 0, 2, 0, 0, 3], [2, 0, 0, 3, 0, 3], [3, 3, 0, 2, 2, 0], [2, 2, 3, 0, 2, 0], [1, 3, 0, 0, 2, 3], [0, 0, 0, 3, 0, 3]], "min_steps": 12 }, { "id": "7041", "map": [[3, 3, 0, 2, 3, 1], [0, 3, 3, 2, 0, 2], [0, 2, 0, 0, 0, 0], [0, 0, 0, 0, 0, 0], [3, 3, 3, 2, 3, 0], [0, 3, 3, 2, 3, 2], [4, 0, 3, 0, 2, 0], [2, 2, 2, 0, 0, 0], [0, 3, 2, 0, 3, 0]], "min_steps": 12 }, { "id": "7004", "map": [[2, 0, 0, 2, 0, 0], [0, 3, 0, 0, 0, 1], [0, 2, 0, 0, 0, 0], [0, 0, 0, 0, 2, 0], [0, 0, 3, 3, 3, 2], [0, 0, 0, 3, 2, 3], [0, 0, 2, 0, 0, 3], [0, 2, 3, 2, 2, 4], [3, 2, 2, 0, 3, 0]], "min_steps": 13 }, { "id": "7009", "map": [[4, 0, 3, 1, 0, 2], [0, 2, 3, 3, 3, 0], [0, 2, 3, 2, 2, 0], [3, 0, 3, 0, 0, 2], [0, 0, 0, 0, 0, 0], [3, 2, 0, 0, 2, 0], [3, 2, 0, 0, 2, 0], [0, 0, 2, 2, 2, 0], [0, 0, 0, 0, 3, 0]], "min_steps": 13 }, { "id": "7014", "map": [[3, 4, 2, 3, 0, 0], [2, 3, 0, 3, 0, 0], [0, 2, 2, 0, 0, 0], [0, 3, 3, 0, 3, 3], [0, 0, 0, 0, 0, 0], [3, 2, 0, 0, 2, 2], [2, 2, 2, 2, 0, 3], [0, 0, 3, 3, 0, 3], [1, 2, 0, 3, 3, 0]], "min_steps": 13 }, { "id": "7015", "map": [[2, 3, 4, 0, 3, 0], [1, 2, 3, 2, 3, 0], [0, 0, 3, 0, 2, 0], [2, 0, 0, 3, 0, 0], [2, 2, 0, 2, 0, 3], [0, 0, 2, 0, 0, 0], [3, 0, 0, 3, 3, 0], [0, 0, 3, 0, 2, 3], [3, 0, 3, 2, 3, 2]], "min_steps": 13 }, { "id": "7025", "map": [[2, 3, 1, 0, 3, 3], [0, 0, 2, 3, 2, 0], [0, 2, 0, 0, 0, 3], [0, 3, 0, 0, 0, 3], [2, 0, 0, 3, 2, 0], [0, 0, 2, 3, 0, 2], [2, 0, 3, 2, 0, 3], [3, 3, 0, 0, 3, 3], [2, 4, 0, 2, 0, 0]], "min_steps": 13 }, { "id": "7030", "map": [[2, 0, 1, 2, 0, 0], [0, 2, 3, 3, 0, 2], [2, 3, 3, 3, 0, 2], [3, 0, 0, 2, 2, 0], [0, 3, 0, 3, 2, 0], [0, 0, 2, 0, 2, 3], [3, 3, 0, 3, 3, 2], [4, 3, 0, 0, 0, 0], [0, 0, 0, 0, 0, 3]], "min_steps": 13 }, { "id": "7031", "map": [[0, 2, 2, 3, 4, 2], [3, 3, 0, 0, 2, 2], [0, 0, 0, 3, 2, 0], [0, 3, 0, 0, 3, 3], [0, 2, 0, 2, 3, 0], [2, 3, 0, 0, 0, 0], [3, 3, 0, 3, 0, 2], [0, 0, 2, 3, 3, 3], [1, 0, 2, 0, 0, 0]], "min_steps": 13 }, { "id": "7038", "map": [[4, 2, 3, 3, 2, 3], [0, 3, 0, 2, 3, 0], [0, 0, 0, 2, 0, 2], [3, 3, 2, 3, 0, 0], [0, 3, 0, 3, 2, 3], [0, 2, 2, 2, 0, 0], [1, 3, 0, 0, 3, 0], [2, 0, 0, 0, 3, 2], [0, 0, 3, 0, 0, 0]], "min_steps": 13 }, { "id": "7011", "map": [[0, 1, 0, 0, 2, 0], [3, 0, 3, 3, 2, 3], [0, 3, 3, 2, 0, 0], [0, 0, 2, 0, 3, 3], [2, 3, 2, 0, 0, 0], [3, 2, 2, 3, 3, 0], [2, 0, 2, 2, 0, 4], [0, 2, 0, 3, 0, 0], [0, 0, 0, 3, 0, 3]], "min_steps": 14 }, { "id": "7017", "map": [[2, 0, 0, 3, 0, 3], [4, 3, 0, 2, 0, 3], [3, 0, 0, 0, 3, 0], [2, 0, 0, 2, 0, 0], [3, 0, 0, 3, 0, 0], [2, 3, 0, 2, 2, 2], [1, 3, 3, 0, 2, 2], [0, 3, 0, 0, 3, 0], [0, 2, 0, 3, 3, 2]], "min_steps": 14 }, { "id": "7019", "map": [[0, 3, 0, 2, 3, 1], [0, 3, 0, 2, 0, 2], [0, 2, 2, 0, 3, 3], [0, 0, 3, 2, 0, 3], [0, 0, 3, 2, 2, 0], [2, 2, 3, 0, 2, 2], [0, 3, 0, 0, 3, 0], [3, 0, 0, 3, 3, 0], [0, 0, 0, 3, 0, 4]], "min_steps": 14 }, { "id": "7021", "map": [[0, 0, 0, 0, 2, 4], [3, 0, 2, 0, 0, 0], [3, 0, 2, 3, 3, 3], [2, 0, 3, 3, 3, 0], [2, 0, 0, 0, 2, 3], [3, 3, 0, 0, 0, 2], [1, 0, 3, 0, 2, 2], [2, 2, 0, 2, 0, 0], [0, 0, 3, 3, 0, 3]], "min_steps": 14 }, { "id": "7022", "map": [[4, 0, 0, 0, 0, 0], [0, 0, 0, 0, 3, 2], [3, 3, 2, 3, 3, 2], [2, 0, 0, 0, 0, 2], [0, 0, 3, 0, 3, 3], [2, 0, 2, 3, 2, 1], [3, 2, 3, 0, 0, 3], [2, 0, 0, 3, 2, 2], [3, 3, 0, 0, 0, 0]], "min_steps": 15 }, { "id": "7028", "map": [[0, 2, 1, 3, 0, 2], [0, 3, 3, 3, 0, 2], [0, 0, 0, 3, 0, 2], [3, 0, 0, 3, 2, 4], [2, 0, 0, 3, 2, 2], [2, 2, 3, 0, 0, 3], [0, 2, 0, 0, 0, 0], [0, 3, 3, 3, 2, 0], [0, 3, 0, 3, 0, 0]], "min_steps": 16 }, { "id": "7034", "map": [[1, 0, 0, 3, 2, 0], [0, 2, 2, 3, 3, 0], [3, 0, 0, 2, 0, 3], [2, 3, 2, 2, 0, 3], [0, 0, 3, 0, 0, 3], [3, 0, 0, 0, 3, 0], [2, 3, 0, 3, 2, 4], [0, 3, 0, 0, 0, 3], [0, 2, 0, 0, 2, 2]], "min_steps": 16 }, { "id": "7012", "map": [[1, 3, 3, 3, 0, 0], [0, 3, 0, 2, 0, 0], [0, 0, 0, 3, 0, 2], [3, 0, 0, 3, 2, 3], [0, 0, 2, 0, 0, 3], [0, 0, 2, 3, 2, 0], [2, 2, 3, 2, 3, 2], [0, 3, 0, 2, 0, 2], [0, 3, 4, 3, 0, 0]], "min_steps": 17 }, { "id": "7013", "map": [[0, 1, 0, 0, 3, 3], [0, 2, 0, 3, 0, 0], [2, 3, 0, 0, 0, 0], [0, 0, 0, 3, 0, 3], [0, 3, 0, 2, 3, 2], [2, 0, 3, 3, 2, 0], [0, 2, 2, 3, 0, 2], [2, 3, 2, 0, 3, 0], [0, 3, 3, 0, 2, 4]], "min_steps": 17 }, { "id": "7018", "map": [[0, 0, 0, 0, 0, 2], [1, 0, 3, 3, 0, 2], [3, 3, 0, 3, 2, 3], [0, 3, 0, 2, 0, 0], [0, 3, 0, 0, 2, 2], [3, 0, 0, 2, 3, 0], [0, 3, 3, 3, 0, 0], [2, 0, 3, 0, 0, 2], [2, 4, 2, 0, 3, 2]], "min_steps": 17 }]]; + this.LEVEL_INFO = [[{ "id": "1001", "map": [[0, 4, 0, 0], [0, 0, 0, 0], [0, 0, 0, 0], [0, 0, 1, 0]], "min_steps": 3 }, { "id": "1002", "map": [[1, 0, 0, 0], [0, 0, 0, 4], [0, 0, 0, 0], [0, 0, 0, 0]], "min_steps": 3 }, { "id": "1004", "map": [[1, 0, 0, 0], [0, 0, 0, 0], [0, 0, 0, 0], [0, 4, 0, 0]], "min_steps": 3 }, { "id": "1006", "map": [[4, 0, 0, 0], [0, 0, 0, 0], [0, 0, 0, 0], [0, 1, 0, 0]], "min_steps": 3 }, { "id": "1003", "map": [[1, 0, 0, 0], [0, 0, 0, 0], [0, 0, 0, 0], [0, 0, 0, 4]], "min_steps": 4 }, { "id": "1005", "map": [[1, 0, 0, 0], [0, 0, 0, 0], [0, 0, 0, 4], [0, 0, 0, 0]], "min_steps": 4 }, { "id": "1007", "map": [[0, 4, 0, 0], [0, 0, 0, 0], [0, 0, 0, 0], [0, 0, 0, 1]], "min_steps": 4 }, { "id": "1008", "map": [[0, 0, 0, 4], [0, 0, 0, 0], [0, 0, 0, 0], [1, 0, 0, 0]], "min_steps": 4 }], [{ "id": "2001", "map": [[0, 0, 0, 0, 1], [0, 0, 0, 0, 0], [0, 0, 3, 0, 3], [0, 0, 0, 0, 0], [4, 0, 0, 0, 3]], "min_steps": 4 }, { "id": "2002", "map": [[0, 1, 0, 0, 0], [0, 0, 0, 0, 0], [3, 3, 0, 0, 4], [0, 0, 0, 0, 0], [3, 0, 0, 0, 0]], "min_steps": 4 }, { "id": "2009", "map": [[0, 3, 0, 0, 4], [3, 0, 0, 0, 0], [0, 0, 0, 0, 0], [1, 0, 0, 0, 0], [0, 3, 0, 0, 0]], "min_steps": 4 }, { "id": "2010", "map": [[0, 0, 0, 0, 1], [0, 0, 0, 0, 0], [0, 0, 0, 0, 0], [0, 3, 0, 3, 0], [4, 0, 3, 0, 0]], "min_steps": 4 }, { "id": "2011", "map": [[4, 3, 1, 0, 0], [0, 0, 0, 0, 3], [0, 0, 0, 3, 0], [0, 0, 0, 0, 0], [0, 0, 0, 0, 0]], "min_steps": 4 }, { "id": "2021", "map": [[0, 0, 0, 1, 0], [0, 0, 3, 0, 0], [0, 0, 0, 3, 3], [0, 0, 0, 0, 0], [0, 4, 0, 0, 0]], "min_steps": 4 }, { "id": "2004", "map": [[1, 0, 0, 0, 0], [0, 0, 0, 0, 3], [3, 0, 0, 0, 0], [0, 0, 0, 0, 0], [0, 0, 0, 0, 4]], "min_steps": 5 }, { "id": "2012", "map": [[0, 3, 0, 4, 0], [0, 0, 0, 3, 0], [1, 0, 3, 0, 0], [0, 0, 0, 0, 0], [0, 0, 0, 0, 0]], "min_steps": 5 }, { "id": "2013", "map": [[0, 0, 0, 0, 0], [1, 0, 0, 0, 0], [0, 0, 0, 3, 3], [3, 0, 0, 0, 0], [0, 0, 0, 4, 0]], "min_steps": 5 }, { "id": "2014", "map": [[3, 0, 1, 0, 0], [0, 3, 0, 0, 0], [0, 0, 0, 0, 0], [4, 0, 0, 3, 0], [0, 0, 0, 0, 0]], "min_steps": 5 }, { "id": "2015", "map": [[3, 0, 0, 0, 1], [3, 0, 0, 0, 0], [0, 0, 0, 0, 0], [4, 3, 0, 0, 0], [3, 0, 0, 0, 0]], "min_steps": 5 }, { "id": "2016", "map": [[0, 0, 0, 0, 0], [1, 0, 3, 0, 0], [3, 0, 0, 0, 3], [0, 0, 0, 0, 0], [0, 0, 0, 0, 4]], "min_steps": 5 }, { "id": "2017", "map": [[0, 3, 0, 0, 0], [4, 0, 0, 0, 0], [0, 0, 0, 0, 0], [3, 0, 3, 0, 0], [3, 0, 0, 0, 1]], "min_steps": 5 }, { "id": "2018", "map": [[0, 3, 4, 3, 3], [0, 0, 0, 0, 0], [0, 0, 0, 0, 0], [0, 0, 0, 0, 0], [0, 0, 3, 0, 1]], "min_steps": 5 }, { "id": "2019", "map": [[3, 0, 0, 4, 0], [0, 0, 0, 3, 0], [0, 0, 0, 0, 0], [0, 0, 0, 0, 0], [1, 0, 3, 0, 0]], "min_steps": 5 }, { "id": "2020", "map": [[4, 0, 3, 0, 1], [0, 0, 0, 0, 3], [0, 0, 0, 0, 0], [0, 0, 0, 0, 0], [0, 0, 3, 0, 0]], "min_steps": 5 }, { "id": "2003", "map": [[1, 0, 0, 3, 0], [0, 0, 3, 0, 0], [0, 0, 0, 0, 0], [0, 0, 0, 0, 0], [0, 3, 0, 4, 0]], "min_steps": 6 }, { "id": "2005", "map": [[0, 3, 0, 0, 0], [1, 0, 0, 0, 0], [0, 0, 0, 3, 0], [0, 0, 0, 0, 0], [0, 3, 0, 4, 0]], "min_steps": 6 }, { "id": "2006", "map": [[0, 1, 0, 0, 0], [0, 0, 0, 0, 3], [0, 0, 0, 0, 3], [0, 0, 0, 0, 0], [0, 0, 0, 3, 4]], "min_steps": 6 }, { "id": "2007", "map": [[3, 0, 0, 0, 1], [0, 0, 0, 0, 3], [0, 0, 0, 0, 0], [0, 0, 0, 0, 0], [4, 3, 0, 0, 0]], "min_steps": 6 }, { "id": "2008", "map": [[3, 4, 0, 0, 0], [0, 0, 0, 0, 3], [0, 0, 0, 3, 1], [0, 0, 0, 0, 0], [0, 0, 0, 0, 0]], "min_steps": 6 }, { "id": "2022", "map": [[0, 0, 0, 0, 0], [1, 3, 0, 0, 3], [0, 0, 0, 0, 0], [0, 0, 0, 0, 0], [0, 0, 3, 4, 0]], "min_steps": 6 }], [{ "id": "3001", "map": [[3, 0, 2, 3, 4], [0, 0, 0, 2, 2], [2, 3, 3, 3, 3], [0, 0, 2, 0, 2], [1, 0, 2, 3, 0]], "min_steps": 5 }, { "id": "3002", "map": [[3, 0, 3, 2, 0], [1, 2, 0, 3, 2], [2, 3, 0, 0, 4], [2, 0, 2, 2, 0], [3, 3, 0, 3, 0]], "min_steps": 5 }, { "id": "3003", "map": [[0, 2, 3, 3, 4], [2, 2, 0, 0, 0], [1, 3, 3, 3, 2], [2, 2, 3, 2, 3], [0, 0, 0, 0, 0]], "min_steps": 5 }, { "id": "3004", "map": [[3, 2, 2, 1, 0], [0, 0, 3, 2, 2], [3, 0, 2, 3, 0], [3, 0, 0, 3, 3], [0, 2, 4, 0, 2]], "min_steps": 5 }, { "id": "3005", "map": [[3, 0, 3, 0, 0], [2, 3, 0, 0, 1], [0, 2, 2, 2, 3], [4, 2, 0, 0, 2], [3, 3, 0, 3, 2]], "min_steps": 5 }, { "id": "3008", "map": [[3, 3, 3, 0, 1], [0, 0, 0, 0, 3], [2, 2, 3, 2, 2], [0, 2, 3, 0, 3], [4, 2, 2, 0, 0]], "min_steps": 5 }, { "id": "3009", "map": [[1, 0, 3, 3, 2], [3, 0, 2, 0, 0], [0, 3, 3, 2, 4], [0, 0, 3, 0, 2], [2, 2, 2, 0, 3]], "min_steps": 5 }, { "id": "3010", "map": [[3, 0, 2, 0, 4], [1, 2, 3, 0, 3], [2, 0, 3, 2, 0], [0, 3, 0, 0, 3], [2, 0, 2, 3, 2]], "min_steps": 5 }, { "id": "3006", "map": [[2, 0, 2, 2, 0], [1, 2, 3, 0, 0], [3, 3, 0, 3, 2], [3, 0, 0, 3, 2], [2, 0, 3, 0, 4]], "min_steps": 6 }, { "id": "3007", "map": [[1, 2, 0, 3, 3], [2, 2, 0, 2, 0], [2, 3, 2, 0, 3], [0, 3, 2, 0, 4], [0, 0, 3, 0, 3]], "min_steps": 6 }, { "id": "3011", "map": [[2, 3, 0, 1, 0], [0, 0, 0, 0, 0], [3, 0, 0, 0, 3], [0, 2, 0, 3, 2], [4, 3, 3, 2, 2]], "min_steps": 6 }, { "id": "3012", "map": [[0, 2, 1, 0, 3], [0, 3, 0, 0, 3], [3, 2, 3, 2, 0], [0, 2, 0, 3, 0], [2, 0, 0, 0, 4]], "min_steps": 6 }, { "id": "3013", "map": [[0, 2, 1, 0, 3], [0, 3, 0, 0, 3], [3, 2, 3, 2, 0], [0, 2, 0, 3, 0], [2, 0, 0, 0, 4]], "min_steps": 6 }, { "id": "3014", "map": [[1, 0, 3, 3, 4], [2, 3, 0, 3, 0], [0, 2, 2, 0, 0], [3, 3, 0, 0, 2], [2, 0, 0, 0, 0]], "min_steps": 6 }, { "id": "3015", "map": [[2, 3, 0, 0, 0], [0, 0, 2, 3, 0], [4, 0, 3, 0, 3], [2, 0, 2, 2, 3], [0, 3, 0, 0, 1]], "min_steps": 6 }, { "id": "3016", "map": [[3, 0, 2, 0, 2], [2, 0, 0, 0, 3], [0, 2, 3, 0, 1], [4, 0, 0, 3, 0], [3, 3, 0, 0, 2]], "min_steps": 6 }, { "id": "3017", "map": [[0, 3, 0, 0, 2], [3, 0, 2, 0, 4], [1, 3, 3, 0, 0], [2, 0, 0, 2, 0], [3, 2, 3, 0, 0]], "min_steps": 6 }, { "id": "3018", "map": [[4, 2, 0, 0, 0], [0, 0, 0, 3, 2], [0, 3, 0, 0, 3], [3, 2, 3, 2, 0], [3, 0, 2, 1, 0]], "min_steps": 7 }, { "id": "3019", "map": [[0, 4, 0, 3, 2], [0, 2, 0, 0, 0], [3, 0, 3, 0, 2], [3, 3, 2, 3, 1], [2, 0, 0, 0, 0]], "min_steps": 7 }, { "id": "3020", "map": [[0, 2, 0, 1, 0], [0, 0, 0, 3, 2], [3, 0, 3, 3, 3], [3, 0, 0, 0, 2], [0, 2, 2, 4, 0]], "min_steps": 7 }, { "id": "3021", "map": [[3, 2, 0, 2, 1], [3, 2, 0, 3, 2], [3, 0, 0, 2, 3], [0, 0, 0, 0, 4], [0, 0, 3, 0, 0]], "min_steps": 7 }, { "id": "3022", "map": [[2, 0, 2, 2, 2], [0, 0, 3, 0, 0], [3, 0, 3, 0, 0], [1, 0, 3, 2, 4], [0, 0, 3, 3, 0]], "min_steps": 7 }, { "id": "3023", "map": [[1, 2, 0, 2, 0], [3, 3, 3, 0, 0], [0, 2, 3, 2, 0], [4, 0, 0, 0, 3], [0, 0, 2, 0, 3]], "min_steps": 7 }, { "id": "3024", "map": [[1, 0, 3, 0, 3], [2, 2, 0, 0, 0], [0, 3, 0, 3, 0], [2, 0, 3, 2, 0], [2, 3, 0, 4, 0]], "min_steps": 7 }], [{ "id": "4001", "map": [[1, 3, 0, 0, 2, 0], [0, 3, 0, 0, 2, 0], [0, 0, 2, 0, 3, 4], [0, 0, 0, 2, 0, 0], [3, 3, 0, 0, 2, 0, 3], [0, 0, 2, 2, 2, 0]], "min_steps": 5 }, { "id": "4002", "map": [[0, 2, 2, 2, 2, 0], [1, 0, 0, 0, 2, 0], [0, 0, 0, 0, 0, 3], [0, 0, 0, 0, 2, 0], [0, 3, 3, 0, 2, 0], [3, 0, 0, 4, 2, 0]], "min_steps": 5 }, { "id": "4003", "map": [[0, 0, 0, 0, 0, 0], [2, 0, 0, 0, 0, 2], [0, 3, 3, 3, 2, 4], [0, 3, 0, 3, 2, 0], [0, 0, 0, 0, 0, 3], [0, 0, 2, 3, 0, 1]], "min_steps": 6 }, { "id": "4004", "map": [[2, 0, 3, 0, 0, 4], [0, 2, 3, 3, 0, 0], [0, 3, 0, 0, 0, 0], [3, 0, 0, 0, 2, 2], [3, 0, 0, 2, 0, 0], [1, 0, 0, 3, 0, 0]], "min_steps": 6 }, { "id": "4006", "map": [[4, 3, 0, 3, 0, 0], [0, 2, 0, 3, 0, 0], [3, 0, 0, 0, 3, 2], [0, 3, 0, 0, 2, 1], [0, 0, 2, 0, 0, 0], [0, 0, 0, 0, 2, 3]], "min_steps": 7 }, { "id": "4007", "map": [[4, 2, 2, 0, 2, 0], [0, 3, 0, 2, 0, 0], [0, 2, 3, 0, 3, 0], [0, 0, 3, 0, 0, 3], [0, 0, 3, 0, 0, 0], [0, 0, 0, 3, 0, 1]], "min_steps": 7 }, { "id": "4014", "map": [[0, 0, 3, 0, 2, 2], [0, 2, 3, 0, 0, 1], [0, 3, 3, 0, 0, 3], [0, 2, 0, 0, 0, 0], [0, 0, 0, 3, 3, 0], [2, 0, 4, 0, 0, 0]], "min_steps": 7 }, { "id": "4015", "map": [[2, 0, 0, 0, 0, 0], [0, 0, 0, 0, 3, 1], [3, 0, 2, 0, 0, 3], [2, 0, 0, 2, 3, 0], [3, 0, 3, 0, 0, 0], [2, 0, 0, 3, 4, 0]], "min_steps": 7 }, { "id": "4005", "map": [[1, 0, 0, 0, 0, 2], [0, 0, 0, 2, 0, 0], [3, 2, 0, 0, 0, 0], [0, 3, 0, 0, 2, 3], [0, 0, 3, 3, 0, 0], [3, 0, 0, 2, 3, 4]], "min_steps": 8 }, { "id": "4008", "map": [[0, 0, 2, 3, 0, 0], [0, 3, 0, 2, 3, 2], [3, 0, 0, 0, 0, 0], [0, 3, 0, 0, 3, 4], [0, 0, 0, 0, 0, 3], [0, 2, 0, 2, 0, 1]], "min_steps": 8 }, { "id": "4009", "map": [[0, 3, 3, 0, 0, 4], [2, 0, 0, 3, 0, 0], [2, 0, 0, 3, 0, 0], [1, 0, 0, 0, 3, 0], [0, 0, 2, 3, 0, 2], [2, 3, 0, 0, 0, 0]], "min_steps": 8 }, { "id": "4010", "map": [[0, 0, 1, 3, 2, 0], [3, 0, 0, 0, 3, 2], [3, 0, 0, 0, 0, 3], [2, 0, 0, 0, 0, 0], [0, 2, 0, 0, 3, 0], [0, 2, 0, 3, 4, 0]], "min_steps": 8 }, { "id": "4011", "map": [[1, 0, 0, 0, 0, 0], [3, 3, 0, 0, 0, 2], [0, 0, 0, 3, 0, 2], [2, 0, 3, 0, 3, 0], [2, 0, 3, 0, 0, 3], [4, 0, 0, 0, 0, 2]], "min_steps": 8 }, { "id": "4016", "map": [[0, 0, 3, 0, 0, 1], [2, 3, 0, 0, 3, 0], [2, 0, 0, 0, 0, 2], [0, 3, 0, 0, 0, 0], [0, 3, 0, 0, 2, 0], [0, 4, 3, 0, 2, 3]], "min_steps": 8 }, { "id": "4017", "map": [[1, 2, 3, 0, 3, 2], [3, 0, 0, 0, 0, 0], [0, 0, 0, 0, 0, 3], [3, 3, 0, 3, 2, 0], [0, 2, 0, 0, 0, 0], [4, 0, 0, 2, 0, 0]], "min_steps": 8 }, { "id": "4018", "map": [[0, 0, 1, 0, 2, 0], [0, 0, 0, 0, 0, 0], [0, 0, 3, 2, 3, 0], [3, 0, 0, 3, 0, 0], [2, 3, 0, 2, 0, 0], [4, 2, 0, 3, 3, 0]], "min_steps": 8 }, { "id": "4012", "map": [[2, 2, 3, 0, 2, 0], [0, 3, 0, 0, 0, 0], [0, 0, 0, 0, 3, 4], [0, 2, 0, 3, 0, 3], [0, 0, 0, 0, 0, 0], [0, 0, 2, 3, 3, 1]], "min_steps": 9 }, { "id": "4013", "map": [[0, 0, 0, 0, 3, 0], [4, 2, 0, 3, 0, 0], [3, 2, 0, 0, 0, 0], [1, 3, 0, 3, 0, 0], [2, 0, 0, 2, 0, 0], [3, 0, 0, 3, 2, 0]], "min_steps": 9 }, { "id": "4019", "map": [[3, 4, 0, 0, 0, 2], [3, 2, 0, 0, 2, 0], [0, 3, 0, 3, 0, 2], [0, 0, 3, 0, 0, 0], [0, 0, 0, 0, 3, 0], [1, 3, 0, 0, 0, 2]], "min_steps": 9 }, { "id": "4020", "map": [[0, 2, 0, 1, 0, 0], [2, 3, 0, 0, 2, 0], [3, 0, 0, 0, 0, 0], [0, 3, 3, 0, 0, 3], [2, 0, 0, 3, 0, 0], [4, 3, 0, 0, 0, 2]], "min_steps": 9 }], [{ "id": "5001", "map": [[1, 0, 0, 0, 0, 0], [0, 2, 2, 3, 0, 2], [3, 2, 0, 0, 3, 3], [0, 0, 0, 0, 0, 4], [0, 0, 0, 2, 2, 0], [3, 0, 2, 2, 0, 0]], "min_steps": 7 }, { "id": "5002", "map": [[0, 0, 0, 0, 4, 3], [3, 2, 3, 0, 0, 0], [0, 2, 0, 2, 3, 0], [2, 2, 0, 0, 0, 0], [3, 2, 0, 0, 0, 0], [3, 0, 0, 2, 0, 3], [2, 0, 0, 3, 0, 1]], "min_steps": 7 }, { "id": "5015", "map": [[1, 2, 3, 2, 2, 0], [3, 0, 0, 0, 0, 3], [0, 0, 0, 0, 0, 0], [0, 0, 0, 0, 0, 2], [0, 3, 0, 3, 2, 0], [0, 0, 0, 0, 0, 0], [0, 2, 0, 4, 0, 3]], "min_steps": 7 }, { "id": "5016", "map": [[3, 0, 1, 0, 0, 0], [0, 2, 0, 2, 0, 0], [0, 2, 0, 2, 0, 3], [0, 0, 0, 0, 0, 0], [0, 2, 0, 0, 3, 3], [0, 0, 0, 0, 2, 3], [0, 0, 0, 3, 0, 4]], "min_steps": 7 }, { "id": "5004", "map": [[0, 3, 3, 2, 3, 0], [2, 0, 2, 0, 3, 0], [1, 0, 3, 2, 0, 0], [3, 3, 0, 0, 0, 2], [0, 0, 0, 0, 0, 0], [0, 2, 0, 0, 0, 0], [0, 0, 0, 3, 4, 0]], "min_steps": 8 }, { "id": "5005", "map": [[0, 0, 0, 0, 0, 1], [0, 0, 2, 0, 2, 0], [3, 2, 2, 0, 0, 0], [3, 0, 0, 3, 0, 0], [3, 3, 0, 0, 0, 3], [4, 3, 0, 0, 0, 0], [2, 0, 0, 2, 3, 0]], "min_steps": 8 }, { "id": "5008", "map": [[3, 0, 3, 2, 0, 4], [0, 3, 0, 2, 0, 2], [0, 0, 3, 0, 0, 0], [2, 0, 0, 2, 0, 0], [0, 0, 3, 0, 0, 0], [0, 0, 0, 3, 0, 0], [3, 2, 1, 3, 0, 0]], "min_steps": 8 }, { "id": "5012", "map": [[2, 3, 0, 2, 0, 1], [2, 0, 0, 0, 0, 0], [2, 0, 0, 3, 0, 2], [3, 0, 3, 0, 0, 3], [0, 0, 0, 0, 3, 3], [3, 0, 0, 0, 2, 0], [0, 0, 0, 0, 0, 4]], "min_steps": 8 }, { "id": "5013", "map": [[0, 0, 2, 1, 2, 0], [0, 3, 0, 0, 0, 0], [2, 0, 0, 0, 0, 0], [0, 0, 0, 3, 0, 0], [3, 0, 0, 2, 3, 0], [3, 3, 3, 2, 0, 2], [0, 0, 4, 0, 0, 3]], "min_steps": 8 }, { "id": "5018", "map": [[0, 2, 0, 1, 0, 0], [2, 0, 0, 3, 0, 0], [0, 0, 0, 0, 0, 0], [3, 0, 0, 0, 0, 0], [2, 3, 0, 2, 3, 3], [2, 0, 0, 0, 0, 2], [4, 3, 0, 0, 0, 0]], "min_steps": 8 }, { "id": "5019", "map": [[1, 3, 0, 2, 3, 0], [0, 0, 0, 0, 0, 2], [0, 0, 0, 0, 0, 0], [0, 0, 2, 0, 0, 2], [3, 3, 0, 3, 0, 2], [4, 0, 2, 0, 0, 0], [0, 0, 0, 3, 0, 0]], "min_steps": 8 }, { "id": "5029", "map": [[4, 3, 0, 0, 0, 0], [2, 0, 0, 3, 0, 2], [3, 2, 0, 3, 3, 0], [2, 0, 0, 3, 0, 0], [0, 2, 0, 0, 0, 0], [2, 0, 0, 0, 0, 0], [3, 0, 3, 3, 0, 1]], "min_steps": 8 }, { "id": "5030", "map": [[0, 0, 0, 0, 0, 0], [0, 0, 2, 3, 2, 0], [0, 3, 0, 0, 0, 0], [2, 2, 0, 3, 0, 0], [0, 3, 3, 0, 3, 4], [0, 0, 2, 0, 0, 3], [3, 1, 0, 3, 0, 2]], "min_steps": 8 }, { "id": "5006", "map": [[0, 3, 0, 0, 0, 0], [1, 0, 0, 0, 3, 0], [0, 0, 3, 2, 0, 0], [3, 0, 0, 2, 2, 0], [0, 3, 0, 3, 3, 0], [0, 2, 0, 0, 0, 0], [4, 0, 3, 0, 2, 2]], "min_steps": 9 }, { "id": "5007", "map": [[0, 2, 0, 3, 0, 0], [1, 2, 0, 2, 0, 0], [0, 3, 0, 3, 0, 0], [3, 0, 0, 0, 0, 3], [0, 0, 3, 2, 0, 2], [4, 0, 0, 3, 0, 3], [0, 2, 0, 0, 0, 0]], "min_steps": 9 }, { "id": "5010", "map": [[0, 3, 1, 0, 0, 0], [0, 2, 3, 3, 0, 0], [0, 2, 0, 3, 0, 0], [0, 2, 0, 2, 0, 3], [0, 2, 0, 0, 3, 0], [0, 3, 0, 0, 0, 0], [0, 2, 4, 0, 0, 3]], "min_steps": 9 }, { "id": "5011", "map": [[1, 0, 3, 0, 3, 0], [0, 2, 0, 0, 0, 0], [2, 0, 2, 0, 3, 0], [0, 3, 2, 0, 0, 0], [3, 0, 0, 0, 0, 2], [4, 0, 3, 0, 0, 0], [3, 2, 0, 0, 0, 3]], "min_steps": 9 }, { "id": "5014", "map": [[0, 1, 0, 0, 0, 0], [2, 0, 2, 0, 0, 2], [2, 3, 0, 3, 0, 0], [0, 3, 0, 0, 0, 3], [0, 0, 0, 2, 0, 3], [0, 0, 3, 0, 3, 0], [2, 0, 3, 0, 0, 4]], "min_steps": 9 }, { "id": "5017", "map": [[0, 0, 0, 0, 0, 0], [1, 2, 3, 0, 0, 2], [0, 0, 2, 0, 0, 2], [3, 0, 2, 3, 0, 0], [0, 3, 3, 0, 2, 0], [0, 0, 0, 0, 0, 0], [4, 0, 3, 0, 0, 0]], "min_steps": 9 }, { "id": "5028", "map": [[0, 0, 1, 0, 0, 3], [3, 0, 0, 0, 3, 4], [0, 2, 0, 2, 3, 2], [0, 3, 2, 3, 3, 0], [0, 0, 0, 3, 0, 0], [0, 0, 3, 0, 0, 2], [0, 0, 2, 0, 0, 0]], "min_steps": 9 }, { "id": "5003", "map": [[0, 0, 1, 3, 0, 2], [0, 3, 3, 0, 0, 0], [0, 0, 3, 2, 0, 0], [0, 0, 3, 0, 0, 0], [3, 0, 0, 0, 2, 2], [0, 0, 2, 3, 0, 0], [0, 2, 0, 3, 0, 4]], "min_steps": 10 }, { "id": "5009", "map": [[0, 2, 0, 0, 0, 3], [0, 0, 3, 3, 3, 4], [0, 3, 0, 0, 0, 0], [0, 3, 2, 0, 0, 0], [1, 2, 3, 2, 0, 3], [2, 0, 0, 0, 0, 0], [0, 0, 0, 0, 2, 0]], "min_steps": 10 }, { "id": "5021", "map": [[0, 0, 0, 0, 0, 0], [0, 0, 0, 0, 3, 0], [3, 0, 0, 0, 2, 0], [2, 0, 0, 2, 3, 0], [0, 3, 0, 0, 0, 2], [0, 2, 3, 0, 0, 0], [4, 3, 1, 2, 0, 0]], "min_steps": 10 }, { "id": "5022", "map": [[4, 0, 3, 0, 0, 2], [0, 0, 0, 0, 2, 0], [0, 3, 0, 2, 3, 2], [3, 0, 3, 0, 3, 0], [0, 2, 0, 0, 0, 0], [0, 3, 0, 3, 0, 3], [0, 2, 1, 0, 0, 0]], "min_steps": 10 }, { "id": "5023", "map": [[3, 0, 0, 3, 3, 0], [0, 0, 3, 0, 0, 3], [2, 3, 0, 0, 0, 0], [2, 2, 0, 0, 2, 0], [0, 3, 0, 0, 0, 0], [2, 0, 3, 0, 0, 4], [0, 1, 3, 0, 2, 0]], "min_steps": 10 }, { "id": "5024", "map": [[3, 0, 2, 3, 0, 0], [4, 2, 0, 0, 0, 3], [2, 2, 0, 0, 0, 0], [0, 0, 3, 0, 0, 2], [0, 0, 0, 3, 0, 3], [0, 3, 3, 0, 2, 0], [3, 0, 1, 0, 0, 0]], "min_steps": 10 }, { "id": "5020", "map": [[0, 0, 0, 2, 0, 0], [0, 3, 0, 0, 0, 3], [0, 2, 0, 0, 3, 0], [2, 0, 0, 2, 3, 4], [0, 2, 3, 0, 0, 0], [0, 0, 0, 3, 0, 0], [3, 2, 0, 1, 3, 0]], "min_steps": 11 }, { "id": "5025", "map": [[1, 0, 0, 0, 3, 0], [0, 0, 0, 3, 3, 2], [3, 3, 2, 0, 0, 2], [0, 0, 0, 0, 0, 3], [0, 0, 2, 0, 2, 0], [0, 0, 0, 0, 3, 4], [0, 3, 2, 3, 0, 0]], "min_steps": 11 }, { "id": "5026", "map": [[0, 3, 2, 0, 0, 0], [0, 0, 2, 3, 3, 0], [2, 0, 0, 2, 0, 0], [3, 2, 0, 0, 3, 2], [0, 0, 0, 3, 3, 1], [0, 0, 3, 0, 0, 3], [0, 0, 0, 0, 0, 4]], "min_steps": 11 }, { "id": "5027", "map": [[0, 0, 3, 0, 0, 1], [0, 0, 0, 0, 0, 3], [2, 0, 2, 0, 2, 3], [0, 0, 3, 3, 0, 3], [0, 0, 0, 2, 3, 0], [0, 0, 0, 2, 0, 3], [2, 0, 3, 0, 4, 0]], "min_steps": 11 }], [{ "id": "6028", "map": [[0, 0, 3, 0, 0, 2], [1, 3, 2, 2, 0, 3], [0, 0, 3, 0, 0, 2], [0, 0, 0, 0, 0, 0], [0, 0, 2, 0, 3, 3], [3, 3, 3, 0, 0, 0], [4, 0, 0, 0, 0, 2]], "min_steps": 8 }, { "id": "6029", "map": [[0, 0, 2, 0, 0, 1], [3, 2, 3, 0, 0, 3], [2, 0, 3, 0, 3, 0], [3, 3, 0, 0, 0, 0], [0, 0, 0, 3, 3, 2], [0, 0, 0, 0, 0, 2], [0, 0, 0, 4, 2, 0]], "min_steps": 8 }, { "id": "6030", "map": [[0, 3, 3, 0, 1, 0], [2, 3, 0, 0, 3, 0], [0, 0, 0, 3, 0, 2], [0, 0, 3, 0, 2, 0], [0, 0, 2, 3, 3, 3], [0, 0, 0, 0, 0, 0], [4, 0, 0, 2, 0, 2]], "min_steps": 8 }, { "id": "6001", "map": [[0, 0, 3, 3, 4, 2], [0, 0, 0, 2, 0, 0], [2, 3, 3, 2, 0, 0], [0, 3, 0, 0, 0, 2], [0, 0, 0, 3, 2, 2], [2, 0, 0, 3, 0, 2], [1, 3, 2, 0, 0, 0], [0, 0, 0, 3, 0, 0]], "min_steps": 9 }, { "id": "6012", "map": [[3, 0, 0, 0, 2, 0], [0, 3, 0, 3, 0, 0], [0, 3, 0, 0, 0, 3], [2, 0, 0, 3, 2, 0], [3, 2, 2, 2, 0, 0], [3, 0, 2, 0, 3, 0], [1, 2, 3, 0, 2, 0], [2, 3, 0, 0, 3, 4]], "min_steps": 9 }, { "id": "6016", "map": [[0, 0, 1, 0, 2, 3], [0, 3, 2, 0, 2, 0], [3, 3, 3, 3, 0, 0], [3, 0, 0, 0, 0, 0], [2, 2, 3, 0, 3, 3], [0, 0, 2, 0, 2, 0], [0, 2, 0, 2, 0, 3], [3, 0, 2, 0, 0, 4]], "min_steps": 9 }, { "id": "6008", "map": [[0, 0, 2, 0, 3, 4], [3, 3, 2, 3, 0, 0], [0, 0, 0, 0, 0, 3], [0, 0, 2, 3, 2, 0], [0, 0, 2, 0, 3, 2], [3, 3, 0, 0, 0, 2], [0, 3, 0, 0, 0, 0], [2, 1, 0, 0, 0, 0]], "min_steps": 10 }, { "id": "6013", "map": [[3, 0, 0, 2, 2, 0], [0, 2, 0, 3, 0, 2], [0, 0, 3, 2, 3, 0], [0, 3, 0, 0, 3, 0], [2, 2, 3, 2, 0, 0], [0, 0, 3, 3, 0, 0], [0, 2, 0, 3, 2, 0], [4, 3, 3, 0, 1, 0]], "min_steps": 10 }, { "id": "6017", "map": [[4, 0, 0, 0, 0, 3], [0, 3, 3, 0, 0, 0], [3, 0, 2, 2, 0, 0], [3, 0, 2, 3, 3, 2], [3, 2, 0, 2, 3, 3], [2, 0, 2, 0, 0, 0], [0, 0, 0, 0, 0, 3], [2, 3, 0, 2, 0, 1]], "min_steps": 10 }, { "id": "6022", "map": [[0, 0, 3, 4, 3, 0], [0, 3, 0, 2, 2, 0], [2, 0, 2, 0, 0, 3], [0, 0, 0, 0, 0, 0], [2, 3, 0, 3, 2, 0], [0, 3, 0, 0, 0, 0], [0, 1, 3, 0, 0, 3]], "min_steps": 10 }, { "id": "6023", "map": [[0, 0, 3, 1, 0, 2], [0, 0, 2, 3, 0, 0], [4, 0, 3, 0, 0, 0], [2, 0, 3, 0, 0, 3], [2, 0, 3, 0, 3, 0], [0, 0, 0, 0, 0, 0], [2, 3, 0, 2, 3, 0]], "min_steps": 10 }, { "id": "6024", "map": [[0, 3, 0, 2, 0, 4], [3, 0, 0, 3, 3, 3], [0, 0, 2, 0, 0, 0], [2, 3, 3, 0, 0, 0], [2, 0, 0, 0, 0, 3], [2, 0, 3, 0, 0, 1], [0, 0, 0, 0, 0, 2]], "min_steps": 10 }, { "id": "6025", "map": [[4, 0, 2, 0, 0, 0], [0, 0, 3, 3, 0, 2], [3, 3, 0, 0, 0, 3], [0, 2, 0, 2, 0, 0], [0, 0, 0, 0, 3, 0], [1, 3, 0, 0, 2, 2], [0, 3, 0, 0, 0, 3]], "min_steps": 10 }, { "id": "6002", "map": [[0, 0, 3, 3, 4, 2], [0, 0, 0, 2, 0, 0], [2, 3, 3, 2, 0, 0], [0, 3, 0, 0, 0, 2], [0, 0, 0, 3, 2, 2], [2, 0, 0, 3, 0, 2], [1, 3, 2, 0, 0, 0], [0, 0, 0, 3, 0, 0]], "min_steps": 11 }, { "id": "6006", "map": [[1, 0, 2, 0, 0, 3], [0, 0, 0, 0, 3, 0], [3, 0, 0, 3, 2, 0], [2, 3, 0, 0, 0, 3], [0, 0, 3, 2, 0, 3], [0, 2, 0, 3, 0, 0], [2, 3, 0, 2, 0, 0], [0, 4, 0, 2, 0, 0]], "min_steps": 11 }, { "id": "6009", "map": [[4, 3, 0, 0, 3, 0], [0, 0, 0, 0, 0, 0], [3, 3, 0, 2, 0, 2], [3, 0, 0, 2, 2, 0], [2, 3, 2, 0, 0, 0], [1, 3, 3, 0, 0, 0], [2, 0, 0, 0, 0, 0], [3, 3, 0, 0, 0, 2]], "min_steps": 11 }, { "id": "6018", "map": [[2, 3, 0, 0, 2, 3], [2, 0, 0, 3, 0, 4], [2, 0, 0, 0, 0, 0], [0, 3, 2, 0, 2, 3], [0, 0, 0, 0, 0, 3], [2, 0, 3, 3, 2, 3], [0, 0, 0, 3, 2, 0], [2, 3, 1, 3, 0, 0]], "min_steps": 11 }, { "id": "6026", "map": [[0, 1, 0, 3, 0, 4], [0, 0, 3, 0, 3, 0], [2, 2, 3, 2, 0, 0], [0, 0, 3, 0, 3, 3], [2, 0, 0, 0, 0, 2], [0, 3, 0, 0, 0, 2], [0, 0, 0, 0, 0, 3]], "min_steps": 11 }, { "id": "6027", "map": [[2, 1, 3, 0, 0, 0], [0, 0, 0, 0, 3, 0], [3, 3, 0, 0, 0, 0], [2, 2, 3, 3, 3, 0], [0, 2, 0, 0, 0, 0], [3, 2, 0, 0, 0, 0], [0, 4, 0, 2, 3, 0]], "min_steps": 11 }, { "id": "6031", "map": [[0, 1, 0, 3, 0, 4], [0, 0, 3, 0, 3, 0], [2, 2, 3, 2, 0, 0], [0, 0, 3, 0, 3, 3], [2, 0, 0, 0, 0, 2], [0, 3, 0, 0, 0, 2], [0, 0, 0, 0, 0, 3]], "min_steps": 11 }, { "id": "6003", "map": [[0, 2, 2, 0, 0, 4], [0, 3, 3, 0, 0, 0], [3, 2, 0, 0, 0, 0], [0, 3, 0, 0, 3, 3], [0, 2, 0, 3, 0, 0], [2, 3, 0, 0, 0, 0], [0, 2, 3, 0, 0, 0], [1, 2, 3, 0, 2, 0]], "min_steps": 12 }, { "id": "6011", "map": [[3, 0, 2, 2, 3, 2], [1, 0, 0, 0, 0, 3], [0, 0, 3, 2, 3, 0], [3, 0, 3, 0, 0, 0], [4, 3, 2, 3, 0, 2], [0, 0, 2, 0, 2, 3], [2, 0, 0, 0, 0, 3], [0, 0, 0, 2, 0, 3]], "min_steps": 12 }, { "id": "6014", "map": [[4, 3, 0, 0, 0, 0], [0, 2, 2, 2, 3, 0], [0, 3, 0, 0, 0, 0], [2, 3, 2, 3, 0, 0], [3, 3, 0, 0, 0, 3], [0, 0, 0, 2, 3, 0], [0, 3, 2, 0, 2, 2], [2, 3, 3, 0, 0, 1]], "min_steps": 12 }, { "id": "6020", "map": [[3, 2, 0, 0, 0, 0], [4, 0, 2, 0, 2, 0], [3, 3, 0, 0, 2, 2], [0, 0, 3, 0, 2, 0], [0, 0, 0, 0, 2, 3], [0, 2, 3, 3, 0, 0], [2, 3, 0, 0, 3, 3], [1, 3, 3, 2, 0, 0]], "min_steps": 12 }, { "id": "6021", "map": [[4, 3, 0, 0, 0, 0], [0, 2, 2, 2, 3, 0], [0, 3, 0, 0, 0, 0], [2, 3, 2, 3, 0, 0], [3, 3, 0, 0, 0, 3], [0, 0, 0, 2, 3, 0], [0, 3, 2, 0, 2, 2], [2, 3, 3, 0, 0, 1]], "min_steps": 12 }, { "id": "6004", "map": [[0, 3, 0, 2, 2, 0], [0, 0, 0, 0, 0, 2], [3, 0, 0, 0, 0, 0], [0, 3, 0, 0, 0, 0], [0, 3, 3, 0, 3, 0], [2, 0, 0, 0, 3, 2], [2, 0, 0, 0, 3, 1], [4, 3, 0, 2, 3, 2]], "min_steps": 13 }, { "id": "6005", "map": [[2, 2, 4, 2, 3, 0], [0, 3, 3, 2, 0, 0], [3, 0, 0, 3, 0, 2], [3, 0, 2, 3, 3, 0], [0, 0, 0, 0, 0, 0], [0, 0, 0, 0, 2, 3], [3, 2, 0, 0, 0, 1], [0, 0, 0, 0, 0, 0]], "min_steps": 13 }, { "id": "6007", "map": [[3, 2, 0, 0, 3, 4], [0, 2, 0, 0, 3, 0], [0, 0, 2, 0, 2, 0], [2, 0, 0, 3, 0, 3], [0, 0, 2, 0, 3, 2], [0, 2, 3, 3, 0, 1], [0, 0, 0, 0, 0, 3], [0, 0, 0, 3, 0, 0]], "min_steps": 13 }, { "id": "6010", "map": [[0, 3, 1, 0, 0, 0], [0, 2, 3, 3, 0, 0], [2, 0, 0, 3, 0, 0], [0, 2, 0, 0, 3, 2], [3, 0, 0, 0, 0, 2], [3, 2, 0, 0, 0, 0], [4, 0, 0, 3, 2, 0], [0, 3, 0, 3, 2, 0]], "min_steps": 13 }, { "id": "6015", "map": [[4, 0, 0, 0, 2, 3], [0, 0, 3, 0, 0, 3], [2, 2, 3, 2, 0, 0], [3, 0, 0, 0, 3, 2], [2, 3, 0, 3, 0, 2], [0, 0, 3, 0, 2, 3], [0, 0, 0, 0, 0, 3], [1, 2, 2, 3, 0, 0]], "min_steps": 14 }, { "id": "6019", "map": [[4, 0, 0, 0, 2, 3], [0, 0, 3, 0, 0, 3], [2, 2, 3, 2, 0, 0], [3, 0, 0, 0, 3, 2], [2, 3, 0, 3, 0, 2], [0, 0, 3, 0, 2, 3], [0, 0, 0, 0, 0, 3], [1, 2, 2, 3, 0, 0]], "min_steps": 14 }], [{ "id": "7001", "map": [[0, 2, 0, 0, 2, 0], [3, 3, 0, 2, 0, 4], [0, 0, 0, 0, 0, 3], [0, 0, 0, 0, 3, 2], [0, 0, 0, 0, 0, 2], [3, 3, 0, 0, 0, 2], [0, 3, 3, 2, 2, 0], [0, 3, 2, 2, 0, 3], [1, 2, 0, 0, 2, 0]], "min_steps": 9 }, { "id": "7023", "map": [[3, 2, 0, 2, 0, 1], [0, 3, 3, 2, 3, 3], [0, 3, 3, 0, 3, 0], [0, 2, 2, 2, 0, 3], [0, 3, 2, 0, 0, 3], [0, 0, 0, 0, 2, 0], [2, 2, 2, 3, 0, 0], [2, 0, 3, 0, 3, 0], [0, 0, 3, 0, 0, 4]], "min_steps": 9 }, { "id": "7003", "map": [[1, 3, 2, 0, 0, 0], [0, 0, 0, 2, 0, 0], [0, 3, 0, 2, 0, 0], [3, 3, 3, 2, 0, 3], [2, 3, 3, 0, 3, 0], [0, 0, 0, 0, 0, 2], [3, 0, 2, 2, 3, 2], [4, 2, 0, 0, 2, 0], [0, 0, 2, 0, 0, 2]], "min_steps": 10 }, { "id": "7002", "map": [[1, 0, 3, 2, 0, 2], [0, 3, 0, 0, 0, 2], [0, 2, 0, 3, 2, 2], [0, 3, 0, 0, 0, 0], [0, 2, 0, 3, 3, 0], [3, 2, 2, 0, 0, 3], [0, 3, 2, 3, 0, 2], [0, 0, 0, 0, 0, 0], [2, 0, 0, 2, 3, 4]], "min_steps": 11 }, { "id": "7005", "map": [[0, 0, 0, 0, 0, 0], [0, 0, 0, 3, 2, 4], [0, 3, 0, 0, 3, 3], [3, 3, 0, 2, 0, 3], [0, 2, 2, 0, 3, 2], [0, 0, 3, 0, 2, 0], [0, 2, 0, 2, 0, 0], [3, 0, 0, 2, 2, 0], [0, 0, 2, 2, 0, 1]], "min_steps": 11 }, { "id": "7006", "map": [[0, 0, 0, 0, 2, 3], [3, 2, 0, 0, 0, 0], [0, 2, 0, 3, 3, 4], [0, 0, 0, 2, 2, 3], [2, 0, 0, 0, 0, 0], [0, 0, 0, 0, 3, 0], [3, 0, 3, 3, 0, 2], [3, 0, 2, 2, 0, 2], [0, 0, 2, 2, 0, 1]], "min_steps": 11 }, { "id": "7007", "map": [[2, 0, 2, 0, 2, 0], [0, 0, 2, 0, 3, 2], [0, 0, 0, 3, 3, 0], [0, 2, 0, 0, 3, 2], [3, 0, 0, 2, 0, 0], [3, 3, 0, 0, 0, 2], [0, 2, 0, 3, 2, 0], [0, 2, 3, 0, 0, 0], [4, 3, 0, 0, 1, 0]], "min_steps": 11 }, { "id": "7026", "map": [[2, 4, 2, 0, 0, 0], [0, 3, 3, 0, 3, 0], [3, 3, 3, 0, 0, 3], [2, 0, 3, 0, 0, 2], [0, 2, 2, 3, 0, 3], [1, 0, 2, 0, 2, 0], [3, 3, 0, 0, 0, 0], [2, 0, 0, 0, 3, 2], [2, 0, 3, 2, 3, 0]], "min_steps": 11 }, { "id": "7027", "map": [[2, 0, 0, 0, 0, 2], [0, 0, 3, 3, 2, 3], [0, 0, 3, 0, 0, 1], [0, 3, 0, 3, 3, 3], [0, 0, 0, 0, 0, 2], [3, 3, 2, 0, 0, 2], [3, 3, 0, 2, 0, 3], [0, 3, 2, 2, 2, 0], [0, 3, 4, 2, 2, 0]], "min_steps": 11 }, { "id": "7029", "map": [[0, 0, 1, 0, 0, 0], [3, 3, 0, 0, 3, 2], [3, 0, 0, 0, 2, 0], [0, 2, 0, 2, 2, 0], [2, 3, 3, 3, 0, 3], [3, 2, 2, 3, 0, 0], [2, 0, 3, 0, 0, 3], [3, 2, 0, 0, 0, 3], [4, 2, 0, 0, 3, 2]], "min_steps": 11 }, { "id": "7008", "map": [[1, 0, 0, 0, 2, 0], [3, 3, 2, 0, 3, 0], [3, 0, 3, 0, 0, 0], [0, 0, 3, 0, 0, 3], [2, 2, 0, 3, 0, 3], [2, 0, 2, 0, 0, 0], [2, 0, 2, 0, 0, 2], [2, 0, 0, 2, 0, 0], [4, 3, 0, 0, 0, 2]], "min_steps": 12 }, { "id": "7010", "map": [[4, 3, 0, 3, 1, 0], [0, 0, 3, 3, 0, 0], [0, 3, 0, 0, 2, 2], [2, 0, 3, 0, 0, 2], [3, 2, 0, 2, 3, 0], [0, 0, 0, 0, 0, 0], [0, 2, 0, 2, 2, 0], [0, 2, 0, 3, 0, 2], [0, 2, 0, 0, 0, 3]], "min_steps": 12 }, { "id": "7016", "map": [[2, 3, 4, 0, 0, 3], [0, 3, 2, 2, 3, 1], [0, 2, 2, 3, 0, 0], [3, 0, 3, 0, 2, 0], [3, 0, 0, 0, 2, 2], [0, 0, 3, 3, 0, 0], [0, 3, 0, 3, 2, 0], [0, 0, 3, 0, 3, 2], [0, 2, 2, 3, 0, 0]], "min_steps": 12 }, { "id": "7020", "map": [[2, 3, 0, 4, 3, 3], [3, 3, 0, 0, 3, 0], [0, 2, 0, 3, 2, 0], [0, 3, 0, 0, 0, 2], [3, 2, 0, 0, 0, 0], [0, 0, 3, 2, 0, 3], [0, 3, 0, 3, 2, 0], [3, 2, 2, 0, 0, 2], [0, 0, 2, 1, 3, 2]], "min_steps": 12 }, { "id": "7024", "map": [[1, 3, 2, 0, 0, 3], [2, 3, 2, 0, 0, 0], [0, 2, 3, 0, 3, 3], [3, 0, 0, 2, 0, 3], [2, 3, 0, 0, 0, 3], [3, 3, 0, 0, 0, 0], [2, 0, 3, 0, 0, 2], [0, 0, 2, 0, 2, 2], [4, 2, 3, 0, 3, 0]], "min_steps": 12 }, { "id": "7032", "map": [[0, 0, 0, 0, 3, 4], [0, 0, 3, 3, 3, 2], [2, 2, 3, 3, 0, 0], [0, 0, 3, 2, 0, 0], [0, 2, 0, 2, 3, 2], [0, 2, 3, 0, 0, 3], [2, 3, 3, 0, 0, 2], [1, 0, 3, 0, 3, 2], [0, 0, 3, 0, 0, 2]], "min_steps": 12 }, { "id": "7033", "map": [[1, 0, 0, 3, 0, 3], [3, 3, 2, 0, 2, 0], [0, 3, 3, 2, 0, 2], [3, 2, 0, 3, 0, 0], [4, 2, 2, 2, 0, 0], [0, 3, 0, 0, 0, 0], [3, 3, 3, 0, 0, 2], [3, 0, 3, 2, 0, 3], [2, 0, 0, 0, 0, 2]], "min_steps": 12 }, { "id": "7035", "map": [[3, 0, 0, 2, 0, 4], [3, 0, 2, 3, 3, 3], [0, 0, 2, 3, 0, 2], [3, 0, 3, 3, 3, 0], [2, 2, 0, 0, 0, 0], [2, 2, 3, 0, 0, 0], [0, 0, 2, 3, 0, 0], [0, 2, 0, 3, 2, 3], [0, 0, 3, 1, 2, 0]], "min_steps": 12 }, { "id": "7036", "map": [[2, 3, 1, 0, 0, 2], [0, 3, 0, 0, 0, 0], [2, 0, 2, 0, 0, 3], [0, 0, 3, 3, 0, 3], [0, 2, 2, 0, 0, 3], [0, 3, 2, 3, 3, 0], [0, 3, 2, 0, 0, 2], [0, 3, 2, 0, 2, 3], [2, 0, 3, 3, 4, 0]], "min_steps": 12 }, { "id": "7037", "map": [[2, 0, 0, 0, 0, 3], [0, 2, 3, 0, 2, 2], [0, 0, 3, 0, 2, 0], [0, 2, 2, 0, 0, 0], [3, 2, 3, 0, 0, 3], [0, 0, 3, 3, 0, 3], [3, 2, 3, 0, 0, 3], [0, 0, 3, 3, 2, 0], [4, 3, 1, 2, 0, 2]], "min_steps": 12 }, { "id": "7039", "map": [[2, 0, 3, 3, 2, 0], [0, 0, 0, 0, 2, 3], [1, 3, 0, 0, 0, 2], [0, 2, 3, 2, 2, 2], [0, 0, 3, 0, 0, 0], [0, 3, 0, 0, 3, 0], [3, 0, 0, 2, 3, 2], [2, 0, 3, 0, 2, 3], [0, 4, 3, 0, 3, 3]], "min_steps": 12 }, { "id": "7040", "map": [[0, 2, 3, 3, 4, 0], [0, 2, 0, 0, 3, 2], [0, 0, 3, 0, 2, 0], [3, 0, 2, 0, 0, 3], [2, 0, 0, 3, 0, 3], [3, 3, 0, 2, 2, 0], [2, 2, 3, 0, 2, 0], [1, 3, 0, 0, 2, 3], [0, 0, 0, 3, 0, 3]], "min_steps": 12 }, { "id": "7041", "map": [[3, 3, 0, 2, 3, 1], [0, 3, 3, 2, 0, 2], [0, 2, 0, 0, 0, 0], [0, 0, 0, 0, 0, 0], [3, 3, 3, 2, 3, 0], [0, 3, 3, 2, 3, 2], [4, 0, 3, 0, 2, 0], [2, 2, 2, 0, 0, 0], [0, 3, 2, 0, 3, 0]], "min_steps": 12 }, { "id": "7004", "map": [[2, 0, 0, 2, 0, 0], [0, 3, 0, 0, 0, 1], [0, 2, 0, 0, 0, 0], [0, 0, 0, 0, 2, 0], [0, 0, 3, 3, 3, 2], [0, 0, 0, 3, 2, 3], [0, 0, 2, 0, 0, 3], [0, 2, 3, 2, 2, 4], [3, 2, 2, 0, 3, 0]], "min_steps": 13 }, { "id": "7009", "map": [[4, 0, 3, 1, 0, 2], [0, 2, 3, 3, 3, 0], [0, 2, 3, 2, 2, 0], [3, 0, 3, 0, 0, 2], [0, 0, 0, 0, 0, 0], [3, 2, 0, 0, 2, 0], [3, 2, 0, 0, 2, 0], [0, 0, 2, 2, 2, 0], [0, 0, 0, 0, 3, 0]], "min_steps": 13 }, { "id": "7014", "map": [[3, 4, 2, 3, 0, 0], [2, 3, 0, 3, 0, 0], [0, 2, 2, 0, 0, 0], [0, 3, 3, 0, 3, 3], [0, 0, 0, 0, 0, 0], [3, 2, 0, 0, 2, 2], [2, 2, 2, 2, 0, 3], [0, 0, 3, 3, 0, 3], [1, 2, 0, 3, 3, 0]], "min_steps": 13 }, { "id": "7015", "map": [[2, 3, 4, 0, 3, 0], [1, 2, 3, 2, 3, 0], [0, 0, 3, 0, 2, 0], [2, 0, 0, 3, 0, 0], [2, 2, 0, 2, 0, 3], [0, 0, 2, 0, 0, 0], [3, 0, 0, 3, 3, 0], [0, 0, 3, 0, 2, 3], [3, 0, 3, 2, 3, 2]], "min_steps": 13 }, { "id": "7025", "map": [[2, 3, 1, 0, 3, 3], [0, 0, 2, 3, 2, 0], [0, 2, 0, 0, 0, 3], [0, 3, 0, 0, 0, 3], [2, 0, 0, 3, 2, 0], [0, 0, 2, 3, 0, 2], [2, 0, 3, 2, 0, 3], [3, 3, 0, 0, 3, 3], [2, 4, 0, 2, 0, 0]], "min_steps": 13 }, { "id": "7030", "map": [[2, 0, 1, 2, 0, 0], [0, 2, 3, 3, 0, 2], [2, 3, 3, 3, 0, 2], [3, 0, 0, 2, 2, 0], [0, 3, 0, 3, 2, 0], [0, 0, 2, 0, 2, 3], [3, 3, 0, 3, 3, 2], [4, 3, 0, 0, 0, 0], [0, 0, 0, 0, 0, 3]], "min_steps": 13 }, { "id": "7031", "map": [[0, 2, 2, 3, 4, 2], [3, 3, 0, 0, 2, 2], [0, 0, 0, 3, 2, 0], [0, 3, 0, 0, 3, 3], [0, 2, 0, 2, 3, 0], [2, 3, 0, 0, 0, 0], [3, 3, 0, 3, 0, 2], [0, 0, 2, 3, 3, 3], [1, 0, 2, 0, 0, 0]], "min_steps": 13 }, { "id": "7038", "map": [[4, 2, 3, 3, 2, 3], [0, 3, 0, 2, 3, 0], [0, 0, 0, 2, 0, 2], [3, 3, 2, 3, 0, 0], [0, 3, 0, 3, 2, 3], [0, 2, 2, 2, 0, 0], [1, 3, 0, 0, 3, 0], [2, 0, 0, 0, 3, 2], [0, 0, 3, 0, 0, 0]], "min_steps": 13 }, { "id": "7011", "map": [[0, 1, 0, 0, 2, 0], [3, 0, 3, 3, 2, 3], [0, 3, 3, 2, 0, 0], [0, 0, 2, 0, 3, 3], [2, 3, 2, 0, 0, 0], [3, 2, 2, 3, 3, 0], [2, 0, 2, 2, 0, 4], [0, 2, 0, 3, 0, 0], [0, 0, 0, 3, 0, 3]], "min_steps": 14 }, { "id": "7017", "map": [[2, 0, 0, 3, 0, 3], [4, 3, 0, 2, 0, 3], [3, 0, 0, 0, 3, 0], [2, 0, 0, 2, 0, 0], [3, 0, 0, 3, 0, 0], [2, 3, 0, 2, 2, 2], [1, 3, 3, 0, 2, 2], [0, 3, 0, 0, 3, 0], [0, 2, 0, 3, 3, 2]], "min_steps": 14 }, { "id": "7019", "map": [[0, 3, 0, 2, 3, 1], [0, 3, 0, 2, 0, 2], [0, 2, 2, 0, 3, 3], [0, 0, 3, 2, 0, 3], [0, 0, 3, 2, 2, 0], [2, 2, 3, 0, 2, 2], [0, 3, 0, 0, 3, 0], [3, 0, 0, 3, 3, 0], [0, 0, 0, 3, 0, 4]], "min_steps": 14 }, { "id": "7021", "map": [[0, 0, 0, 0, 2, 4], [3, 0, 2, 0, 0, 0], [3, 0, 2, 3, 3, 3], [2, 0, 3, 3, 3, 0], [2, 0, 0, 0, 2, 3], [3, 3, 0, 0, 0, 2], [1, 0, 3, 0, 2, 2], [2, 2, 0, 2, 0, 0], [0, 0, 3, 3, 0, 3]], "min_steps": 14 }, { "id": "7022", "map": [[4, 0, 0, 0, 0, 0], [0, 0, 0, 0, 3, 2], [3, 3, 2, 3, 3, 2], [2, 0, 0, 0, 0, 2], [0, 0, 3, 0, 3, 3], [2, 0, 2, 3, 2, 1], [3, 2, 3, 0, 0, 3], [2, 0, 0, 3, 2, 2], [3, 3, 0, 0, 0, 0]], "min_steps": 15 }, { "id": "7028", "map": [[0, 2, 1, 3, 0, 2], [0, 3, 3, 3, 0, 2], [0, 0, 0, 3, 0, 2], [3, 0, 0, 3, 2, 4], [2, 0, 0, 3, 2, 2], [2, 2, 3, 0, 0, 3], [0, 2, 0, 0, 0, 0], [0, 3, 3, 3, 2, 0], [0, 3, 0, 3, 0, 0]], "min_steps": 16 }, { "id": "7034", "map": [[1, 0, 0, 3, 2, 0], [0, 2, 2, 3, 3, 0], [3, 0, 0, 2, 0, 3], [2, 3, 2, 2, 0, 3], [0, 0, 3, 0, 0, 3], [3, 0, 0, 0, 3, 0], [2, 3, 0, 3, 2, 4], [0, 3, 0, 0, 0, 3], [0, 2, 0, 0, 2, 2]], "min_steps": 16 }, { "id": "7012", "map": [[1, 3, 3, 3, 0, 0], [0, 3, 0, 2, 0, 0], [0, 0, 0, 3, 0, 2], [3, 0, 0, 3, 2, 3], [0, 0, 2, 0, 0, 3], [0, 0, 2, 3, 2, 0], [2, 2, 3, 2, 3, 2], [0, 3, 0, 2, 0, 2], [0, 3, 4, 3, 0, 0]], "min_steps": 17 }, { "id": "7013", "map": [[0, 1, 0, 0, 3, 3], [0, 2, 0, 3, 0, 0], [2, 3, 0, 0, 0, 0], [0, 0, 0, 3, 0, 3], [0, 3, 0, 2, 3, 2], [2, 0, 3, 3, 2, 0], [0, 2, 2, 3, 0, 2], [2, 3, 2, 0, 3, 0], [0, 3, 3, 0, 2, 4]], "min_steps": 17 }, { "id": "7018", "map": [[0, 0, 0, 0, 0, 2], [1, 0, 3, 3, 0, 2], [3, 3, 0, 3, 2, 3], [0, 3, 0, 2, 0, 0], [0, 3, 0, 0, 2, 2], [3, 0, 0, 2, 3, 0], [0, 3, 3, 3, 0, 0], [2, 0, 3, 0, 0, 2], [2, 4, 2, 0, 3, 2]], "min_steps": 17 }, { "id": "7042", "map": [[1, 2, 0, 0, 3, 0], [3, 3, 2, 3, 0, 0], [0, 0, 2, 0, 2, 2], [3, 3, 0, 0, 0, 0], [3, 0, 3, 3, 0, 3], [3, 2, 2, 0, 0, 0], [4, 2, 3, 0, 2, 2], [2, 0, 3, 0, 2, 2], [2, 0, 3, 0, 3, 2]], "min_steps": 17 }, { "id": "7043", "map": [[0, 0, 3, 0, 1, 0], [2, 0, 0, 2, 0, 0], [3, 0, 3, 0, 2, 2], [0, 0, 0, 3, 2, 3], [2, 3, 2, 3, 2, 3], [0, 3, 3, 0, 3, 4], [0, 3, 3, 2, 3, 0], [0, 2, 2, 0, 2, 0], [2, 2, 0, 0, 3, 2]], "min_steps": 17 }, { "id": "7044", "map": [[0, 0, 1, 3, 0, 4], [3, 0, 3, 0, 2, 3], [2, 2, 3, 2, 3, 0], [2, 3, 2, 2, 0, 3], [0, 3, 0, 0, 3, 0], [2, 0, 3, 2, 3, 3], [0, 3, 2, 2, 3, 0], [0, 0, 0, 0, 2, 0], [2, 0, 2, 2, 0, 0]], "min_steps": 17 }, { "id": "7045", "map": [[2, 3, 2, 0, 0, 3], [0, 0, 0, 3, 2, 2], [3, 0, 0, 3, 0, 0], [0, 0, 3, 2, 3, 2], [2, 3, 2, 3, 3, 1], [0, 0, 0, 3, 0, 3], [3, 2, 0, 0, 2, 0], [3, 2, 2, 0, 0, 2], [0, 4, 0, 3, 2, 2]], "min_steps": 17 }, { "id": "7046", "map": [[0, 3, 0, 2, 0, 0], [0, 2, 2, 0, 0, 1], [0, 0, 3, 3, 3, 2], [2, 2, 3, 3, 2, 2], [3, 3, 3, 0, 2, 3], [4, 2, 2, 3, 0, 2], [0, 0, 3, 2, 0, 2], [0, 3, 0, 0, 2, 3], [0, 0, 0, 3, 0, 0]], "min_steps": 17 }, { "id": "7047", "map": [[3, 2, 4, 3, 2, 0], [2, 0, 3, 2, 0, 0], [2, 3, 3, 2, 3, 0], [2, 0, 0, 2, 0, 0], [2, 3, 0, 0, 0, 0], [3, 0, 2, 0, 3, 0], [2, 2, 3, 0, 2, 0], [0, 3, 3, 0, 3, 0], [1, 2, 3, 2, 0, 3]], "min_steps": 17 }, { "id": "7048", "map": [[2, 0, 3, 4, 2, 2], [0, 0, 3, 0, 3, 0], [2, 0, 0, 2, 3, 3], [2, 0, 3, 3, 2, 3], [0, 0, 0, 0, 0, 0], [2, 2, 2, 0, 0, 3], [3, 3, 3, 3, 2, 2], [0, 0, 3, 0, 0, 2], [3, 1, 2, 0, 2, 0]], "min_steps": 17 }]]; this.LEVEL_INFO.unshift([{ "id": "0001", "map": [[3, 2, 2, 0, 2], [0, 0, 3, 3, 0], [1, 3, 0, 3, 2], [3, 0, 2, 3, 4], [3, 2, 3, 3, 2]], "min_steps": 4 }]); }; GameConfig.Authentication = function () { diff --git a/library/imports/c5/c5692be7-8703-45e4-9f67-23b54d290356.js.map b/library/imports/c5/c5692be7-8703-45e4-9f67-23b54d290356.js.map index d151f5a..2dfeea3 100644 --- a/library/imports/c5/c5692be7-8703-45e4-9f67-23b54d290356.js.map +++ b/library/imports/c5/c5692be7-8703-45e4-9f67-23b54d290356.js.map @@ -1 +1 @@ -{"version":3,"sources":["assets\\Script\\module\\Config\\GameConfig.ts"],"names":[],"mappings":"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AAC,EAAC,EAAC,IAAI,EAAC,MAAM,EAAC,KAAK,EAAC,CAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,CAAC,EAAC,WAAW,EAAC,CAAC,EAAC,EAAC,EAAC,IAAI,EAAC,MAAM,EAAC,KAAK,EAAC,CAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,CAAC,EAAC,WAAW,EAAC,CAAC,EAAC,EAAC,EAAC,IAAI,EAAC,MAAM,EAAC,KAAK,EAAC,CAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,CAAC,EAAC,WAAW,EAAC,CAAC,EAAC,EAAC,EAAC,IAAI,EAAC,MAAM,EAAC,KAAK,EAAC,CAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,CAAC,EAAC,WAAW,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,IAAI,EAAC,MAAM,EAAC,KAAK,EAAC,CAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,CAAC,EAAC,WAAW,EAAC,CAAC,EAAC,EAAC,EAAC,IAAI,EAAC,MAAM,EAAC,KAAK,EAAC,CAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,CAAC,EAAC,WAAW,EAAC,CAAC,EAAC,EAAC,EAAC,IAAI,EAAC,MAAM,EAAC,KAAK,EAAC,CAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,CAAC,EAAC,WAAW,EAAC,CAAC,EAAC,EAAC,EAAC,IAAI,EAAC,MAAM,EAAC,KAAK,EAAC,CAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,CAAC,EAAC,WAAW,EAAC,CAAC,EAAC,EAAC,EAAC,IAAI,EAAC,MAAM,EAAC,KAAK,EAAC,CAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,CAAC,EAAC,WAAW,EAAC,CAAC,EAAC,EAAC,EAAC,IAAI,EAAC,MAAM,EAAC,KAAK,EAAC,CAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,CAAC,EAAC,WAAW,EAAC,CAAC,EAAC,EAAC,EAAC,IAAI,EAAC,MAAM,EAAC,KAAK,EAAC,CAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,CAAC,EAAC,WAAW,EAAC,CAAC,EAAC,EAAC,EAAC,IAAI,EAAC,MAAM,EAAC,KAAK,EAAC,CAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,CAAC,EAAC,WAAW,EAAC,CAAC,EAAC,EAAC,EAAC,IAAI,EAAC,MAAM,EAAC,KAAK,EAAC,CAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,CAAC,EAAC,WAAW,EAAC,CAAC,EAAC,EAAC,EAAC,IAAI,EAAC,MAAM,EAAC,KAAK,EAAC,CAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,CAAC,EAAC,WAAW,EAAC,CAAC,EAAC,EAAC,EAAC,IAAI,EAAC,MAAM,EAAC,KAAK,EAAC,CAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,CAAC,EAAC,WAAW,EAAC,CAAC,EAAC,EAAC,EAAC,IAAI,EAAC,MAAM,EAAC,KAAK,EAAC,CAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,CAAC,EAAC,WAAW,EAAC,CAAC,EAAC,EAAC,EAAC,IAAI,EAAC,MAAM,EAAC,KAAK,EAAC,CAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,CAAC,EAAC,WAAW,EAAC,CAAC,EAAC,EAAC,EAAC,IAAI,EAAC,MAAM,EAAC,KAAK,EAAC,CAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,CAAC,EAAC,WAAW,EAAC,CAAC,EAAC,EAAC,EAAC,IAAI,EAAC,MAAM,EAAC,KAAK,EAAC,CAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,CAAC,EAAC,WAAW,EAAC,CAAC,EAAC,EAAC,EAAC,IAAI,EAAC,MAAM,EAAC,KAAK,EAAC,CAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,CAAC,EAAC,WAAW,EAAC,CAAC,EAAC,EAAC,EAAC,IAAI,EAAC,MAAM,EAAC,KAAK,EAAC,CAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,CAAC,EAAC,WAAW,EAAC,CAAC,EAAC,EAAC,EAAC,IAAI,EAAC,MAAM,EAAC,KAAK,EAAC,CAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,CAAC,EAAC,WAAW,EAAC,CAAC,EAAC,EAAC,EAAC,IAAI,EAAC,MAAM,EAAC,KAAK,EAAC,CAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,CAAC,EAAC,WAAW,EAAC,CAAC,EAAC,EAAC,EAAC,IAAI,EAAC,MAAM,EAAC,KAAK,EAAC,CAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,CAAC,EAAC,WAAW,EAAC,CAAC,EAAC,EAAC,EAAC,IAAI,EAAC,MAAM,EAAC,KAAK,EAAC,CAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,CAAC,EAAC,WAAW,EAAC,CAAC,EAAC,EAAC,EAAC,IAAI,EAAC,MAAM,EAAC,KAAK,EAAC,CAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,CAAC,EAAC,WAAW,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,IAAI,EAAC,MAAM,EAAC,KAAK,EAAC,CAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,CAAC,EAAC,WAAW,EAAC,CAAC,EAAC,EAAC,EAAC,IAAI,EAAC,MAAM,EAAC,KAAK,EAAC,CAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,CAAC,EAAC,WAAW,EAAC,CAAC,EAAC,EAAC,EAAC,IAAI,EAAC,MAAM,EAAC,KAAK,EAAC,CAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,CAAC,EAAC,WAAW,EAAC,CAAC,EAAC,EAAC,EAAC,IAAI,EAAC,MAAM,EAAC,KAAK,EAAC,CAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,CAAC,EAAC,WAAW,EAAC,CAAC,EAAC,EAAC,EAAC,IAAI,EAAC,MAAM,EAAC,KAAK,EAAC,CAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,CAAC,EAAC,WAAW,EAAC,CAAC,EAAC,EAAC,EAAC,IAAI,EAAC,MAAM,EAAC,KAAK,EAAC,CAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,CAAC,EAAC,WAAW,EAAC,CAAC,EAAC,EAAC,EAAC,IAAI,EAAC,MAAM,EAAC,KAAK,EAAC,CAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,CAAC,EAAC,WAAW,EAAC,CAAC,EAAC,EAAC,EAAC,IAAI,EAAC,MAAM,EAAC,KAAK,EAAC,CAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,CAAC,EAAC,WAAW,EAAC,CAAC,EAAC,EAAC,EAAC,IAAI,EAAC,MAAM,EAAC,KAAK,EAAC,CAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,CAAC,EAAC,WAAW,EAAC,CAAC,EAAC,EAAC,EAAC,IAAI,EAAC,MAAM,EAAC,KAAK,EAAC,CAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,CAAC,EAAC,WAAW,EAAC,CAAC,EAAC,EAAC,EAAC,IAAI,EAAC,MAAM,EAAC,KAAK,EAAC,CAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,CAAC,EAAC,WAAW,EAAC,CAAC,EAAC,EAAC,EAAC,IAAI,EAAC,MAAM,EAAC,KAAK,EAAC,CAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,CAAC,EAAC,WAAW,EAAC,CAAC,EAAC,EAAC,EAAC,IAAI,EAAC,MAAM,EAAC,KAAK,EAAC,CAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,CAAC,EAAC,WAAW,EAAC,CAAC,EAAC,EAAC,EAAC,IAAI,EAAC,MAAM,EAAC,KAAK,EAAC,CAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,CAAC,EAAC,WAAW,EAAC,CAAC,EAAC,EAAC,EAAC,IAAI,EAAC,MAAM,EAAC,KAAK,EAAC,CAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,CAAC,EAAC,WAAW,EAAC,CAAC,EAAC,EAAC,EAAC,IAAI,EAAC,MAAM,EAAC,KAAK,EAAC,CAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,CAAC,EAAC,WAAW,EAAC,CAAC,EAAC,EAAC,EAAC,IAAI,EAAC,MAAM,EAAC,KAAK,EAAC,CAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,CAAC,EAAC,WAAW,EAAC,CAAC,EAAC,EAAC,EAAC,IAAI,EAAC,MAAM,EAAC,KAAK,EAAC,CAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,CAAC,EAAC,WAAW,EAAC,CAAC,EAAC,EAAC,EAAC,IAAI,EAAC,MAAM,EAAC,KAAK,EAAC,CAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,CAAC,EAAC,WAAW,EAAC,CAAC,EAAC,EAAC,EAAC,IAAI,EAAC,MAAM,EAAC,KAAK,EAAC,CAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,CAAC,EAAC,WAAW,EAAC,CAAC,EAAC,EAAC,EAAC,IAAI,EAAC,MAAM,EAAC,KAAK,EAAC,CAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,CAAC,EAAC,WAAW,EAAC,CAAC,EAAC,EAAC,EAAC,IAAI,EAAC,MAAM,EAAC,KAAK,EAAC,CAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,CAAC,EAAC,WAAW,EAAC,CAAC,EAAC,EAAC,EAAC,IAAI,EAAC,MAAM,EAAC,KAAK,EAAC,CAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,CAAC,EAAC,WAAW,EAAC,CAAC,EAAC,EAAC,EAAC,IAAI,EAAC,MAAM,EAAC,KAAK,EAAC,CAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,CAAC,EAAC,WAAW,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,IAAI,EAAC,MAAM,EAAC,KAAK,EAAC,CAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,CAAC,EAAC,WAAW,EAAC,CAAC,EAAC,EAAC,EAAC,IAAI,EAAC,MAAM,EAAC,KAAK,EAAC,CAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,CAAC,EAAC,WAAW,EAAC,CAAC,EAAC,EAAC,EAAC,IAAI,EAAC,MAAM,EAAC,KAAK,EAAC,CAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,CAAC,EAAC,WAAW,EAAC,CAAC,EAAC,EAAC,EAAC,IAAI,EAAC,MAAM,EAAC,KAAK,EAAC,CAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,CAAC,EAAC,WAAW,EAAC,CAAC,EAAC,EAAC,EAAC,IAAI,EAAC,MAAM,EAAC,KAAK,EAAC,CAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,CAAC,EAAC,WAAW,EAAC,CAAC,EAAC,EAAC,EAAC,IAAI,EAAC,MAAM,EAAC,KAAK,EAAC,CAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,CAAC,EAAC,WAAW,EAAC,CAAC,EAAC,EAAC,EAAC,IAAI,EAAC,MAAM,EAAC,KAAK,EAAC,CAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,CAAC,EAAC,WAAW,EAAC,CAAC,EAAC,EAAC,EAAC,IAAI,EAAC,MAAM,EAAC,KAAK,EAAC,CAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,CAAC,EAAC,WAAW,EAAC,CAAC,EAAC,EAAC,EAAC,IAAI,EAAC,MAAM,EAAC,KAAK,EAAC,CAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,CAAC,EAAC,WAAW,EAAC,CAAC,EAAC,EAAC,EAAC,IAAI,EAAC,MAAM,EAAC,KAAK,EAAC,CAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,CAAC,EAAC,WAAW,EAAC,CAAC,EAAC,EAAC,EAAC,IAAI,EAAC,MAAM,EAAC,KAAK,EAAC,CAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,CAAC,EAAC,WAAW,EAAC,CAAC,EAAC,EAAC,EAAC,IAAI,EAAC,MAAM,EAAC,KAAK,EAAC,CAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,CAAC,EAAC,WAAW,EAAC,CAAC,EAAC,EAAC,EAAC,IAAI,EAAC,MAAM,EAAC,KAAK,EAAC,CAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,CAAC,EAAC,WAAW,EAAC,CAAC,EAAC,EAAC,EAAC,IAAI,EAAC,MAAM,EAAC,KAAK,EAAC,CAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,CAAC,EAAC,WAAW,EAAC,CAAC,EAAC,EAAC,EAAC,IAAI,EAAC,MAAM,EAAC,KAAK,EAAC,CAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,CAAC,EAAC,WAAW,EAAC,CAAC,EAAC,EAAC,EAAC,IAAI,EAAC,MAAM,EAAC,KAAK,EAAC,CAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,CAAC,EAAC,WAAW,EAAC,CAAC,EAAC,EAAC,EAAC,IAAI,EAAC,MAAM,EAAC,KAAK,EAAC,CAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,CAAC,EAAC,WAAW,EAAC,CAAC,EAAC,EAAC,EAAC,IAAI,EAAC,MAAM,EAAC,KAAK,EAAC,CAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,CAAC,EAAC,WAAW,EAAC,CAAC,EAAC,EAAC,EAAC,IAAI,EAAC,MAAM,EAAC,KAAK,EAAC,CAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,CAAC,EAAC,WAAW,EAAC,CAAC,EAAC,EAAC,EAAC,IAAI,EAAC,MAAM,EAAC,KAAK,EAAC,CAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,CAAC,EAAC,WAAW,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,IAAI,EAAC,MAAM,EAAC,KAAK,EAAC,CAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,CAAC,EAAC,WAAW,EAAC,CAAC,EAAC,EAAC,EAAC,IAAI,EAAC,MAAM,EAAC,KAAK,EAAC,CAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,CAAC,EAAC,WAAW,EAAC,CAAC,EAAC,EAAC,EAAC,IAAI,EAAC,MAAM,EAAC,KAAK,EAAC,CAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,CAAC,EAAC,WAAW,EAAC,CAAC,EAAC,EAAC,EAAC,IAAI,EAAC,MAAM,EAAC,KAAK,EAAC,CAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,CAAC,EAAC,WAAW,EAAC,CAAC,EAAC,EAAC,EAAC,IAAI,EAAC,MAAM,EAAC,KAAK,EAAC,CAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,CAAC,EAAC,WAAW,EAAC,CAAC,EAAC,EAAC,EAAC,IAAI,EAAC,MAAM,EAAC,KAAK,EAAC,CAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,CAAC,EAAC,WAAW,EAAC,CAAC,EAAC,EAAC,EAAC,IAAI,EAAC,MAAM,EAAC,KAAK,EAAC,CAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,CAAC,EAAC,WAAW,EAAC,CAAC,EAAC,EAAC,EAAC,IAAI,EAAC,MAAM,EAAC,KAAK,EAAC,CAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,CAAC,EAAC,WAAW,EAAC,CAAC,EAAC,EAAC,EAAC,IAAI,EAAC,MAAM,EAAC,KAAK,EAAC,CAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,CAAC,EAAC,WAAW,EAAC,CAAC,EAAC,EAAC,EAAC,IAAI,EAAC,MAAM,EAAC,KAAK,EAAC,CAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,CAAC,EAAC,WAAW,EAAC,CAAC,EAAC,EAAC,EAAC,IAAI,EAAC,MAAM,EAAC,KAAK,EAAC,CAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,CAAC,EAAC,WAAW,EAAC,CAAC,EAAC,EAAC,EAAC,IAAI,EAAC,MAAM,EAAC,KAAK,EAAC,CAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,CAAC,EAAC,WAAW,EAAC,CAAC,EAAC,EAAC,EAAC,IAAI,EAAC,MAAM,EAAC,KAAK,EAAC,CAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,CAAC,EAAC,WAAW,EAAC,CAAC,EAAC,EAAC,EAAC,IAAI,EAAC,MAAM,EAAC,KAAK,EAAC,CAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,CAAC,EAAC,WAAW,EAAC,CAAC,EAAC,EAAC,EAAC,IAAI,EAAC,MAAM,EAAC,KAAK,EAAC,CAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,CAAC,EAAC,WAAW,EAAC,CAAC,EAAC,EAAC,EAAC,IAAI,EAAC,MAAM,EAAC,KAAK,EAAC,CAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,CAAC,EAAC,WAAW,EAAC,CAAC,EAAC,EAAC,EAAC,IAAI,EAAC,MAAM,EAAC,KAAK,EAAC,CAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,CAAC,EAAC,WAAW,EAAC,CAAC,EAAC,EAAC,EAAC,IAAI,EAAC,MAAM,EAAC,KAAK,EAAC,CAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,CAAC,EAAC,WAAW,EAAC,CAAC,EAAC,EAAC,EAAC,IAAI,EAAC,MAAM,EAAC,KAAK,EAAC,CAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,CAAC,EAAC,WAAW,EAAC,CAAC,EAAC,EAAC,EAAC,IAAI,EAAC,MAAM,EAAC,KAAK,EAAC,CAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,CAAC,EAAC,WAAW,EAAC,CAAC,EAAC,EAAC,EAAC,IAAI,EAAC,MAAM,EAAC,KAAK,EAAC,CAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,CAAC,EAAC,WAAW,EAAC,EAAE,EAAC,EAAC,EAAC,IAAI,EAAC,MAAM,EAAC,KAAK,EAAC,CAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,CAAC,EAAC,WAAW,EAAC,EAAE,EAAC,EAAC,EAAC,IAAI,EAAC,MAAM,EAAC,KAAK,EAAC,CAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,CAAC,EAAC,WAAW,EAAC,EAAE,EAAC,EAAC,EAAC,IAAI,EAAC,MAAM,EAAC,KAAK,EAAC,CAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,CAAC,EAAC,WAAW,EAAC,EAAE,EAAC,EAAC,EAAC,IAAI,EAAC,MAAM,EAAC,KAAK,EAAC,CAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,CAAC,EAAC,WAAW,EAAC,EAAE,EAAC,EAAC,EAAC,IAAI,EAAC,MAAM,EAAC,KAAK,EAAC,CAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,CAAC,EAAC,WAAW,EAAC,EAAE,EAAC,EAAC,EAAC,IAAI,EAAC,MAAM,EAAC,KAAK,EAAC,CAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,CAAC,EAAC,WAAW,EAAC,EAAE,EAAC,EAAC,EAAC,IAAI,EAAC,MAAM,EAAC,KAAK,EAAC,CAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,CAAC,EAAC,WAAW,EAAC,EAAE,EAAC,EAAC,EAAC,IAAI,EAAC,MAAM,EAAC,KAAK,EAAC,CAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,CAAC,EAAC,WAAW,EAAC,EAAE,EAAC,EAAC,EAAC,IAAI,EAAC,MAAM,EAAC,KAAK,EAAC,CAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,CAAC,EAAC,WAAW,EAAC,EAAE,EAAC,CAAC,EAAC,CAAC,EAAC,IAAI,EAAC,MAAM,EAAC,KAAK,EAAC,CAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,CAAC,EAAC,WAAW,EAAC,CAAC,EAAC,EAAC,EAAC,IAAI,EAAC,MAAM,EAAC,KAAK,EAAC,CAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,CAAC,EAAC,WAAW,EAAC,CAAC,EAAC,EAAC,EAAC,IAAI,EAAC,MAAM,EAAC,KAAK,EAAC,CAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,CAAC,EAAC,WAAW,EAAC,CAAC,EAAC,EAAC,EAAC,IAAI,EAAC,MAAM,EAAC,KAAK,EAAC,CAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,CAAC,EAAC,WAAW,EAAC,CAAC,EAAC,EAAC,EAAC,IAAI,EAAC,MAAM,EAAC,KAAK,EAAC,CAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,CAAC,EAAC,WAAW,EAAC,CAAC,EAAC,EAAC,EAAC,IAAI,EAAC,MAAM,EAAC,KAAK,EAAC,CAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,CAAC,EAAC,WAAW,EAAC,CAAC,EAAC,EAAC,EAAC,IAAI,EAAC,MAAM,EAAC,KAAK,EAAC,CAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,CAAC,EAAC,WAAW,EAAC,EAAE,EAAC,EAAC,EAAC,IAAI,EAAC,MAAM,EAAC,KAAK,EAAC,CAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,CAAC,EAAC,WAAW,EAAC,EAAE,EAAC,EAAC,EAAC,IAAI,EAAC,MAAM,EAAC,KAAK,EAAC,CAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,CAAC,EAAC,WAAW,EAAC,EAAE,EAAC,EAAC,EAAC,IAAI,EAAC,MAAM,EAAC,KAAK,EAAC,CAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,CAAC,EAAC,WAAW,EAAC,EAAE,EAAC,EAAC,EAAC,IAAI,EAAC,MAAM,EAAC,KAAK,EAAC,CAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,CAAC,EAAC,WAAW,EAAC,EAAE,EAAC,EAAC,EAAC,IAAI,EAAC,MAAM,EAAC,KAAK,EAAC,CAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,CAAC,EAAC,WAAW,EAAC,EAAE,EAAC,EAAC,EAAC,IAAI,EAAC,MAAM,EAAC,KAAK,EAAC,CAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,CAAC,EAAC,WAAW,EAAC,EAAE,EAAC,EAAC,EAAC,IAAI,EAAC,MAAM,EAAC,KAAK,EAAC,CAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,CAAC,EAAC,WAAW,EAAC,EAAE,EAAC,EAAC,EAAC,IAAI,EAAC,MAAM,EAAC,KAAK,EAAC,CAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,CAAC,EAAC,WAAW,EAAC,EAAE,EAAC,EAAC,EAAC,IAAI,EAAC,MAAM,EAAC,KAAK,EAAC,CAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,CAAC,EAAC,WAAW,EAAC,EAAE,EAAC,EAAC,EAAC,IAAI,EAAC,MAAM,EAAC,KAAK,EAAC,CAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,CAAC,EAAC,WAAW,EAAC,EAAE,EAAC,EAAC,EAAC,IAAI,EAAC,MAAM,EAAC,KAAK,EAAC,CAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,CAAC,EAAC,WAAW,EAAC,EAAE,EAAC,EAAC,EAAC,IAAI,EAAC,MAAM,EAAC,KAAK,EAAC,CAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,CAAC,EAAC,WAAW,EAAC,EAAE,EAAC,EAAC,EAAC,IAAI,EAAC,MAAM,EAAC,KAAK,EAAC,CAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,CAAC,EAAC,WAAW,EAAC,EAAE,EAAC,EAAC,EAAC,IAAI,EAAC,MAAM,EAAC,KAAK,EAAC,CAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,CAAC,EAAC,WAAW,EAAC,EAAE,EAAC,EAAC,EAAC,IAAI,EAAC,MAAM,EAAC,KAAK,EAAC,CAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,CAAC,EAAC,WAAW,EAAC,EAAE,EAAC,EAAC,EAAC,IAAI,EAAC,MAAM,EAAC,KAAK,EAAC,CAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,CAAC,EAAC,WAAW,EAAC,EAAE,EAAC,EAAC,EAAC,IAAI,EAAC,MAAM,EAAC,KAAK,EAAC,CAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,CAAC,EAAC,WAAW,EAAC,EAAE,EAAC,EAAC,EAAC,IAAI,EAAC,MAAM,EAAC,KAAK,EAAC,CAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,CAAC,EAAC,WAAW,EAAC,EAAE,EAAC,EAAC,EAAC,IAAI,EAAC,MAAM,EAAC,KAAK,EAAC,CAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,CAAC,EAAC,WAAW,EAAC,EAAE,EAAC,EAAC,EAAC,IAAI,EAAC,MAAM,EAAC,KAAK,EAAC,CAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,CAAC,EAAC,WAAW,EAAC,EAAE,EAAC,EAAC,EAAC,IAAI,EAAC,MAAM,EAAC,KAAK,EAAC,CAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,CAAC,EAAC,WAAW,EAAC,EAAE,EAAC,EAAC,EAAC,IAAI,EAAC,MAAM,EAAC,KAAK,EAAC,CAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,CAAC,EAAC,WAAW,EAAC,EAAE,EAAC,EAAC,EAAC,IAAI,EAAC,MAAM,EAAC,KAAK,EAAC,CAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,CAAC,EAAC,WAAW,EAAC,EAAE,EAAC,EAAC,EAAC,IAAI,EAAC,MAAM,EAAC,KAAK,EAAC,CAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,CAAC,EAAC,WAAW,EAAC,EAAE,EAAC,CAAC,EAAC,CAAC,EAAC,IAAI,EAAC,MAAM,EAAC,KAAK,EAAC,CAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,CAAC,EAAC,WAAW,EAAC,CAAC,EAAC,EAAC,EAAC,IAAI,EAAC,MAAM,EAAC,KAAK,EAAC,CAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,CAAC,EAAC,WAAW,EAAC,CAAC,EAAC,EAAC,EAAC,IAAI,EAAC,MAAM,EAAC,KAAK,EAAC,CAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,CAAC,EAAC,WAAW,EAAC,EAAE,EAAC,EAAC,EAAC,IAAI,EAAC,MAAM,EAAC,KAAK,EAAC,CAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,CAAC,EAAC,WAAW,EAAC,EAAE,EAAC,EAAC,EAAC,IAAI,EAAC,MAAM,EAAC,KAAK,EAAC,CAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,CAAC,EAAC,WAAW,EAAC,EAAE,EAAC,EAAC,EAAC,IAAI,EAAC,MAAM,EAAC,KAAK,EAAC,CAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,CAAC,EAAC,WAAW,EAAC,EAAE,EAAC,EAAC,EAAC,IAAI,EAAC,MAAM,EAAC,KAAK,EAAC,CAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,CAAC,EAAC,WAAW,EAAC,EAAE,EAAC,EAAC,EAAC,IAAI,EAAC,MAAM,EAAC,KAAK,EAAC,CAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,CAAC,EAAC,WAAW,EAAC,EAAE,EAAC,EAAC,EAAC,IAAI,EAAC,MAAM,EAAC,KAAK,EAAC,CAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,CAAC,EAAC,WAAW,EAAC,EAAE,EAAC,EAAC,EAAC,IAAI,EAAC,MAAM,EAAC,KAAK,EAAC,CAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,CAAC,EAAC,WAAW,EAAC,EAAE,EAAC,EAAC,EAAC,IAAI,EAAC,MAAM,EAAC,KAAK,EAAC,CAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,CAAC,EAAC,WAAW,EAAC,EAAE,EAAC,EAAC,EAAC,IAAI,EAAC,MAAM,EAAC,KAAK,EAAC,CAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,CAAC,EAAC,WAAW,EAAC,EAAE,EAAC,EAAC,EAAC,IAAI,EAAC,MAAM,EAAC,KAAK,EAAC,CAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,CAAC,EAAC,WAAW,EAAC,EAAE,EAAC,EAAC,EAAC,IAAI,EAAC,MAAM,EAAC,KAAK,EAAC,CAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,CAAC,EAAC,WAAW,EAAC,EAAE,EAAC,EAAC,EAAC,IAAI,EAAC,MAAM,EAAC,KAAK,EAAC,CAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,CAAC,EAAC,WAAW,EAAC,EAAE,EAAC,EAAC,EAAC,IAAI,EAAC,MAAM,EAAC,KAAK,EAAC,CAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,CAAC,EAAC,WAAW,EAAC,EAAE,EAAC,EAAC,EAAC,IAAI,EAAC,MAAM,EAAC,KAAK,EAAC,CAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,CAAC,EAAC,WAAW,EAAC,EAAE,EAAC,EAAC,EAAC,IAAI,EAAC,MAAM,EAAC,KAAK,EAAC,CAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,CAAC,EAAC,WAAW,EAAC,EAAE,EAAC,EAAC,EAAC,IAAI,EAAC,MAAM,EAAC,KAAK,EAAC,CAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,CAAC,EAAC,WAAW,EAAC,EAAE,EAAC,EAAC,EAAC,IAAI,EAAC,MAAM,EAAC,KAAK,EAAC,CAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,CAAC,EAAC,WAAW,EAAC,EAAE,EAAC,EAAC,EAAC,IAAI,EAAC,MAAM,EAAC,KAAK,EAAC,CAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,CAAC,EAAC,WAAW,EAAC,EAAE,EAAC,EAAC,EAAC,IAAI,EAAC,MAAM,EAAC,KAAK,EAAC,CAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,CAAC,EAAC,WAAW,EAAC,EAAE,EAAC,EAAC,EAAC,IAAI,EAAC,MAAM,EAAC,KAAK,EAAC,CAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,CAAC,EAAC,WAAW,EAAC,EAAE,EAAC,EAAC,EAAC,IAAI,EAAC,MAAM,EAAC,KAAK,EAAC,CAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,CAAC,EAAC,WAAW,EAAC,EAAE,EAAC,EAAC,EAAC,IAAI,EAAC,MAAM,EAAC,KAAK,EAAC,CAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,CAAC,EAAC,WAAW,EAAC,EAAE,EAAC,EAAC,EAAC,IAAI,EAAC,MAAM,EAAC,KAAK,EAAC,CAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,CAAC,EAAC,WAAW,EAAC,EAAE,EAAC,EAAC,EAAC,IAAI,EAAC,MAAM,EAAC,KAAK,EAAC,CAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,CAAC,EAAC,WAAW,EAAC,EAAE,EAAC,EAAC,EAAC,IAAI,EAAC,MAAM,EAAC,KAAK,EAAC,CAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,CAAC,EAAC,WAAW,EAAC,EAAE,EAAC,EAAC,EAAC,IAAI,EAAC,MAAM,EAAC,KAAK,EAAC,CAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,CAAC,EAAC,WAAW,EAAC,EAAE,EAAC,EAAC,EAAC,IAAI,EAAC,MAAM,EAAC,KAAK,EAAC,CAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,CAAC,EAAC,WAAW,EAAC,EAAE,EAAC,EAAC,EAAC,IAAI,EAAC,MAAM,EAAC,KAAK,EAAC,CAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,CAAC,EAAC,WAAW,EAAC,EAAE,EAAC,EAAC,EAAC,IAAI,EAAC,MAAM,EAAC,KAAK,EAAC,CAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,CAAC,EAAC,WAAW,EAAC,EAAE,EAAC,EAAC,EAAC,IAAI,EAAC,MAAM,EAAC,KAAK,EAAC,CAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,CAAC,EAAC,WAAW,EAAC,EAAE,EAAC,EAAC,EAAC,IAAI,EAAC,MAAM,EAAC,KAAK,EAAC,CAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,CAAC,EAAC,WAAW,EAAC,EAAE,EAAC,EAAC,EAAC,IAAI,EAAC,MAAM,EAAC,KAAK,EAAC,CAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,CAAC,EAAC,WAAW,EAAC,EAAE,EAAC,EAAC,EAAC,IAAI,EAAC,MAAM,EAAC,KAAK,EAAC,CAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,CAAC,EAAC,WAAW,EAAC,EAAE,EAAC,EAAC,EAAC,IAAI,EAAC,MAAM,EAAC,KAAK,EAAC,CAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,CAAC,EAAC,WAAW,EAAC,EAAE,EAAC,EAAC,EAAC,IAAI,EAAC,MAAM,EAAC,KAAK,EAAC,CAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,CAAC,EAAC,WAAW,EAAC,EAAE,EAAC,EAAC,EAAC,IAAI,EAAC,MAAM,EAAC,KAAK,EAAC,CAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,CAAC,EAAC,WAAW,EAAC,EAAE,EAAC,EAAC,EAAC,IAAI,EAAC,MAAM,EAAC,KAAK,EAAC,CAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,CAAC,EAAC,WAAW,EAAC,EAAE,EAAC,EAAC,EAAC,IAAI,EAAC,MAAM,EAAC,KAAK,EAAC,CAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,CAAC,EAAC,WAAW,EAAC,EAAE,EAAC,CAAC,CAAC,CAAA;QAGrmsB,IAAI,CAAC,UAAU,CAAC,OAAO,CAAC,CAAC,EAAC,IAAI,EAAC,MAAM,EAAC,KAAK,EAAC,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,EAAC,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,EAAC,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,EAAC,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,EAAC,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC,EAAC,WAAW,EAAC,CAAC,EAAC,CAAC,CAAC,CAAC;IAKnJ,CAAC;IAGM,yBAAc,GAArB;QACI,EAAE,CAAC,EAAE,CAAC,QAAQ,CAAC,cAAc,EAAE,CAAC;IACpC,CAAC;;IAtSD,0BAA0B;IACX,oBAAS,GAAgB,IAAI,CAAC;IAFpC,UAAU;QADtB,OAAO,CAAC,YAAY,CAAC;OACT,UAAU,CAwStB;IAAD,iBAAC;CAxSD,AAwSC,IAAA;AAxSY,gCAAU","file":"","sourceRoot":"/","sourcesContent":["import { WeChat } from \"../Share/share\";\r\nimport { GameTool } from \"../Tool/GameTool\";\r\n\r\n\r\nconst { ccclass, property } = cc._decorator;\r\n@ccclass('GameConfig')\r\nexport class GameConfig {\r\n //所有控制信息都通过GameAppStart内控制\r\n private static _instance : GameConfig = null;\r\n\r\n static GAME_DATA: any[];\r\n //关卡数据\r\n\r\n\r\n static LEVEL_INFO: { id: string; map: number[][]; min_steps: number}[][];\r\n static CUSTOM_INFO: {\r\n moveSpeed: number; //洪峰移动速度\r\n waitTime: number; //洪峰冲击倒计时\r\n fastPath: number; //最短路径\r\n }[];\r\n static TIME_INFO: {\r\n waterSpeed: number[]; //洪峰速度\r\n totalTime: number; //游戏总时长\r\n waterTime: number[]; //洪峰来的倒计时\r\n roadSpeed: number; //河道修筑速度\r\n ReinforceSpeed: number; //加固时间速度\r\n Xi_SoilSpeed: number;\r\n };\r\n //用于盛放埋点数据上传,每次上传后清空\r\n static CLICK_DATA: {\r\n type: number; //上传数据类型\r\n success: boolean; //此局游戏正确与否\r\n round: number; //回合数轮次\r\n getScore: number; //本轮得分,失败为0分\r\n cumulativeScore: number; //本剧游戏总计得分\r\n mapId: string; //地图ID\r\n difficulty: number; //地图难度\r\n optimizedSteps: number; //关卡最短步数\r\n usedSteps: number; //玩家修建总步数\r\n stepList: any[]; //U、D、L、R X 息壤 F 加固\r\n startTime: number; //从游戏开始到玩家操作的第一步截止时间 单位毫秒\r\n submitTime: number; //从第一步操作到提交时间,如果未提交为-1 单位毫秒\r\n duration: number; //游戏总用时(截止到提交) 单位毫秒\r\n drawingBack: number; //后退次数\r\n drawingReset: number; //清空次数\r\n timer: number; //游戏倒计时剩余时长 秒\r\n };\r\n static GM_INFO: {\r\n // isEnd: false,\r\n mean_Time: number; //平均放箭速度\r\n total: number; //总共对的个数\r\n currSeed: number; //用于随机数种子\r\n gameId: string; //游戏ID\r\n userId: number; //用户ID\r\n guide: boolean; //是否有引导\r\n url: string; //访问域名\r\n success: boolean; //用户游戏成功与否\r\n matchId: any; //用于埋点上传的ID\r\n custom: number; //用于测试跳关卡\r\n round: number; //回合数\r\n level: number; //具体游戏内进行到第几步 \r\n stepTimeList: number; //整局游戏用时,由于涉及场景切换,数据需要保留\r\n successList: any[]; //整局胜负\r\n fen: number; //小局得分\r\n score: number; //总得分\r\n igniteCount: number; //玩家总计成功点火数\r\n min_Steps: number; //每次上一把最小步数\r\n min_Time: number; //每一把上次距离洪峰到来时间\r\n };\r\n\r\n\r\n\r\n\r\n //游戏内信息\r\n\r\n\r\n\r\n static get Instance()\r\n {\r\n if (this._instance == null)\r\n {\r\n this._instance = new GameConfig();\r\n }\r\n return this._instance;\r\n }\r\n //getSeedRandom\r\n static init(Authentication){\r\n this.CLICK_init();\r\n this.LEVEL_INFO_init();\r\n this.GM_INFO_init();\r\n var self = this;\r\n // cc.resources.load('Json/CLICK_DATA', (err: any, res: cc.JsonAsset) => {\r\n // if (err) {\r\n // return;\r\n // }\r\n // let jsonData: object = res.json!;\r\n // self.CLICK_DATA = jsonData[\"data\"];\r\n // })\r\n // cc.resources.load('Json/LEVEL_INFO', (err: any, res: cc.JsonAsset) => {\r\n // if (err) {\r\n // return;\r\n // }\r\n \r\n // let jsonData: object = res.json!;\r\n // self.LEVEL_INFO = jsonData[\"data\"];\r\n // })\r\n // cc.resources.load('Json/GM_INFO', (err: any, res: cc.JsonAsset) => {\r\n // if (err) {\r\n // if(!Authentication) self.Authentication();\r\n // return;\r\n // }\r\n \r\n // let jsonData: object = res.json!;\r\n // self.GM_INFO = jsonData[\"data\"];\r\n // cc.fx.GameTool.getCustom(false);\r\n // if(!Authentication) self.Authentication();\r\n // })\r\n\r\n //GAME_DATA 废弃了,暂时不删除以防后面修改回 一整局传一次\r\n this.GAME_DATA = [\r\n ]\r\n this.CUSTOM_INFO = [\r\n //第一难度\r\n {\r\n moveSpeed: 0, //洪峰移动速度\r\n waitTime: 20, //洪峰冲击倒计时\r\n fastPath: 5 //最短路径\r\n },\r\n //第二难度\r\n {\r\n moveSpeed: 0, //洪峰移动速度\r\n waitTime: 20, //洪峰冲击倒计时\r\n fastPath: 5 //最短路径\r\n },\r\n //第三难度\r\n {\r\n moveSpeed: 0, //洪峰移动速度\r\n waitTime: 20, //洪峰冲击倒计时\r\n fastPath: 5 //最短路径\r\n },\r\n //第四难度\r\n {\r\n moveSpeed: 0, //洪峰移动速度\r\n waitTime: 20, //洪峰冲击倒计时\r\n fastPath: 5 //最短路径\r\n },\r\n //第五难度\r\n {\r\n moveSpeed: 0, //洪峰移动速度\r\n waitTime: 20, //洪峰冲击倒计时\r\n fastPath: 5 //最短路径\r\n },\r\n //第六难度\r\n {\r\n moveSpeed: 0, //洪峰移动速度\r\n waitTime: 20, //洪峰冲击倒计时\r\n fastPath: 5 //最短路径\r\n },\r\n //第七难度 \r\n {\r\n moveSpeed: 0, //洪峰移动速度\r\n waitTime: 20, //洪峰冲击倒计时\r\n fastPath: 5 //最短路径\r\n },\r\n //第八难度\r\n {\r\n moveSpeed: 0, //洪峰移动速度\r\n waitTime: 20, //洪峰冲击倒计时\r\n fastPath: 5 //最短路径\r\n },\r\n //第九难度\r\n {\r\n moveSpeed: 0, //洪峰移动速度\r\n waitTime: 20, //洪峰冲击倒计时\r\n fastPath: 5 //最短路径\r\n },\r\n //第十难度\r\n {\r\n moveSpeed: 0, //洪峰移动速度\r\n waitTime: 20, //洪峰冲击倒计时\r\n fastPath: 5 //最短路径\r\n } \r\n ]\r\n WeChat.setShare(location.href);\r\n if(!Authentication) self.Authentication();\r\n }\r\n \r\n //数据备用\r\n static GM_INFO_init() {\r\n this.GM_INFO = {\r\n // isEnd: false,\r\n mean_Time: 0, //平均放箭速度\r\n total: 0, //总共对的个数\r\n currSeed: 200000, //用于随机数种子\r\n gameId: \"100012\", //游戏ID\r\n userId: 0, //用户ID\r\n guide: false, //是否有引导\r\n url: \"https://api.sparkus.cn\",//访问域名\r\n success: false, //用户游戏成功与否\r\n matchId: null, //用于埋点上传的ID\r\n custom: 0, //用于测试跳关卡\r\n round:0, //回合数\r\n level: 6, //具体游戏内进行到第几步 \r\n stepTimeList:0, //整局游戏用时,由于涉及场景切换,数据需要保留\r\n successList:[], //整局胜负\r\n fen:0, //小局得分\r\n score:0, //总得分\r\n igniteCount: 0, //玩家总计成功点火数\r\n min_Steps:15, //每次上一把最小步数\r\n min_Time:5 //每一把上次距离洪峰到来时间\r\n };\r\n\r\n }\r\n static GM_INFO_SET(key,value) {\r\n this.GM_INFO[key] = value;\r\n }\r\n static CLICK_init() {\r\n this.CLICK_DATA =\r\n {\r\n type: 1, //上传数据类型\r\n success: false, //此局游戏正确与否\r\n round: 0, //回合数轮次\r\n getScore: 0, //本轮得分,失败为0分\r\n cumulativeScore: 0, //本剧游戏总计得分\r\n mapId: \"\", //地图ID\r\n difficulty: 0, //地图难度\r\n optimizedSteps: 0, //关卡最短步数\r\n usedSteps: 0, //玩家修建总步数\r\n stepList: [], //U、D、L、R X 息壤 F 加固\r\n startTime:-1, //从游戏开始到玩家操作的第一步截止时间 单位毫秒\r\n submitTime:-1, //从第一步操作到提交时间,如果未提交为-1 单位毫秒\r\n duration:0, //游戏总用时(截止到提交) 单位毫秒 如果未他移交则为时间上限\r\n drawingBack:0, //后退次数\r\n drawingReset:0, //清空次数\r\n timer: 0, //测评倒计时剩余时间 去秒\r\n }\r\n }\r\n\r\n static CLICK_SET(key,value) {\r\n this.CLICK_DATA[key] = value;\r\n }\r\n\r\n static LEVEL_INFO_init() {\r\n this.TIME_INFO = {\r\n waterSpeed:[0.3,0.25,0.2,0.18,0.16,0.14,0.12,0.1], //洪峰速度\r\n totalTime: 120, //游戏总时长\r\n waterTime:[10,12,14,16,18,20,20,20], //洪峰来的倒计时\r\n roadSpeed:0.2, //河道修筑速度\r\n ReinforceSpeed:0.2, //加固时间速度\r\n Xi_SoilSpeed:0.2, //息壤时间速度\r\n }\r\n /*\r\n moveSpeed: 0, //洪峰移动速度\r\n waitTime: 20, //洪峰冲击倒计时\r\n fastPath: 5 //最短路径\r\n */ \r\n // this.LEVEL_INFO = [\r\n // [ \r\n // {\r\n // \"id\": 1001,\r\n // \"map\": [\r\n // [0,0,0,0,0,0],\r\n // [0,0,0,0,0,4],\r\n // [0,0,3,0,3,0],\r\n // [0,0,0,0,0,0],\r\n // [0,0,0,3,0,0],\r\n // [0,0,0,0,0,0],\r\n // [0,0,2,0,0,0],\r\n // [0,0,0,0,0,0],\r\n // [1,0,0,0,0,0]\r\n // ]\r\n // },\r\n // {\r\n // \"id\": 1002,\r\n // \"map\": [\r\n // [0,0,0,0,0,0,0,0,4],\r\n // [0,0,0,0,0,0,0,0,0],\r\n // [0,0,0,0,0,0,0,0,0],\r\n // [0,0,0,0,0,0,0,0,0],\r\n // [0,0,0,0,0,0,0,0,0],\r\n // [0,1,0,0,0,0,0,0,0]\r\n // ]\r\n // }\r\n // ],\r\n\r\n \r\n // ]\r\n\r\n this.LEVEL_INFO = [[{\"id\":\"1001\",\"map\":[[0,4,0,0],[0,0,0,0],[0,0,0,0],[0,0,1,0]],\"min_steps\":3},{\"id\":\"1002\",\"map\":[[1,0,0,0],[0,0,0,4],[0,0,0,0],[0,0,0,0]],\"min_steps\":3},{\"id\":\"1004\",\"map\":[[1,0,0,0],[0,0,0,0],[0,0,0,0],[0,4,0,0]],\"min_steps\":3},{\"id\":\"1006\",\"map\":[[4,0,0,0],[0,0,0,0],[0,0,0,0],[0,1,0,0]],\"min_steps\":3},{\"id\":\"1003\",\"map\":[[1,0,0,0],[0,0,0,0],[0,0,0,0],[0,0,0,4]],\"min_steps\":4},{\"id\":\"1005\",\"map\":[[1,0,0,0],[0,0,0,0],[0,0,0,4],[0,0,0,0]],\"min_steps\":4},{\"id\":\"1007\",\"map\":[[0,4,0,0],[0,0,0,0],[0,0,0,0],[0,0,0,1]],\"min_steps\":4},{\"id\":\"1008\",\"map\":[[0,0,0,4],[0,0,0,0],[0,0,0,0],[1,0,0,0]],\"min_steps\":4}],[{\"id\":\"2001\",\"map\":[[0,0,0,0,1],[0,0,0,0,0],[0,0,3,0,3],[0,0,0,0,0],[4,0,0,0,3]],\"min_steps\":4},{\"id\":\"2002\",\"map\":[[0,1,0,0,0],[0,0,0,0,0],[3,3,0,0,4],[0,0,0,0,0],[3,0,0,0,0]],\"min_steps\":4},{\"id\":\"2009\",\"map\":[[0,3,0,0,4],[3,0,0,0,0],[0,0,0,0,0],[1,0,0,0,0],[0,3,0,0,0]],\"min_steps\":4},{\"id\":\"2010\",\"map\":[[0,0,0,0,1],[0,0,0,0,0],[0,0,0,0,0],[0,3,0,3,0],[4,0,3,0,0]],\"min_steps\":4},{\"id\":\"2011\",\"map\":[[4,3,1,0,0],[0,0,0,0,3],[0,0,0,3,0],[0,0,0,0,0],[0,0,0,0,0]],\"min_steps\":4},{\"id\":\"2021\",\"map\":[[0,0,0,1,0],[0,0,3,0,0],[0,0,0,3,3],[0,0,0,0,0],[0,4,0,0,0]],\"min_steps\":4},{\"id\":\"2004\",\"map\":[[1,0,0,0,0],[0,0,0,0,3],[3,0,0,0,0],[0,0,0,0,0],[0,0,0,0,4]],\"min_steps\":5},{\"id\":\"2012\",\"map\":[[0,3,0,4,0],[0,0,0,3,0],[1,0,3,0,0],[0,0,0,0,0],[0,0,0,0,0]],\"min_steps\":5},{\"id\":\"2013\",\"map\":[[0,0,0,0,0],[1,0,0,0,0],[0,0,0,3,3],[3,0,0,0,0],[0,0,0,4,0]],\"min_steps\":5},{\"id\":\"2014\",\"map\":[[3,0,1,0,0],[0,3,0,0,0],[0,0,0,0,0],[4,0,0,3,0],[0,0,0,0,0]],\"min_steps\":5},{\"id\":\"2015\",\"map\":[[3,0,0,0,1],[3,0,0,0,0],[0,0,0,0,0],[4,3,0,0,0],[3,0,0,0,0]],\"min_steps\":5},{\"id\":\"2016\",\"map\":[[0,0,0,0,0],[1,0,3,0,0],[3,0,0,0,3],[0,0,0,0,0],[0,0,0,0,4]],\"min_steps\":5},{\"id\":\"2017\",\"map\":[[0,3,0,0,0],[4,0,0,0,0],[0,0,0,0,0],[3,0,3,0,0],[3,0,0,0,1]],\"min_steps\":5},{\"id\":\"2018\",\"map\":[[0,3,4,3,3],[0,0,0,0,0],[0,0,0,0,0],[0,0,0,0,0],[0,0,3,0,1]],\"min_steps\":5},{\"id\":\"2019\",\"map\":[[3,0,0,4,0],[0,0,0,3,0],[0,0,0,0,0],[0,0,0,0,0],[1,0,3,0,0]],\"min_steps\":5},{\"id\":\"2020\",\"map\":[[4,0,3,0,1],[0,0,0,0,3],[0,0,0,0,0],[0,0,0,0,0],[0,0,3,0,0]],\"min_steps\":5},{\"id\":\"2003\",\"map\":[[1,0,0,3,0],[0,0,3,0,0],[0,0,0,0,0],[0,0,0,0,0],[0,3,0,4,0]],\"min_steps\":6},{\"id\":\"2005\",\"map\":[[0,3,0,0,0],[1,0,0,0,0],[0,0,0,3,0],[0,0,0,0,0],[0,3,0,4,0]],\"min_steps\":6},{\"id\":\"2006\",\"map\":[[0,1,0,0,0],[0,0,0,0,3],[0,0,0,0,3],[0,0,0,0,0],[0,0,0,3,4]],\"min_steps\":6},{\"id\":\"2007\",\"map\":[[3,0,0,0,1],[0,0,0,0,3],[0,0,0,0,0],[0,0,0,0,0],[4,3,0,0,0]],\"min_steps\":6},{\"id\":\"2008\",\"map\":[[3,4,0,0,0],[0,0,0,0,3],[0,0,0,3,1],[0,0,0,0,0],[0,0,0,0,0]],\"min_steps\":6},{\"id\":\"2022\",\"map\":[[0,0,0,0,0],[1,3,0,0,3],[0,0,0,0,0],[0,0,0,0,0],[0,0,3,4,0]],\"min_steps\":6}],[{\"id\":\"3001\",\"map\":[[3,0,2,3,4],[0,0,0,2,2],[2,3,3,3,3],[0,0,2,0,2],[1,0,2,3,0]],\"min_steps\":5},{\"id\":\"3002\",\"map\":[[3,0,3,2,0],[1,2,0,3,2],[2,3,0,0,4],[2,0,2,2,0],[3,3,0,3,0]],\"min_steps\":5},{\"id\":\"3003\",\"map\":[[0,2,3,3,4],[2,2,0,0,0],[1,3,3,3,2],[2,2,3,2,3],[0,0,0,0,0]],\"min_steps\":5},{\"id\":\"3004\",\"map\":[[3,2,2,1,0],[0,0,3,2,2],[3,0,2,3,0],[3,0,0,3,3],[0,2,4,0,2]],\"min_steps\":5},{\"id\":\"3005\",\"map\":[[3,0,3,0,0],[2,3,0,0,1],[0,2,2,2,3],[4,2,0,0,2],[3,3,0,3,2]],\"min_steps\":5},{\"id\":\"3008\",\"map\":[[3,3,3,0,1],[0,0,0,0,3],[2,2,3,2,2],[0,2,3,0,3],[4,2,2,0,0]],\"min_steps\":5},{\"id\":\"3009\",\"map\":[[1,0,3,3,2],[3,0,2,0,0],[0,3,3,2,4],[0,0,3,0,2],[2,2,2,0,3]],\"min_steps\":5},{\"id\":\"3010\",\"map\":[[3,0,2,0,4],[1,2,3,0,3],[2,0,3,2,0],[0,3,0,0,3],[2,0,2,3,2]],\"min_steps\":5},{\"id\":\"3006\",\"map\":[[2,0,2,2,0],[1,2,3,0,0],[3,3,0,3,2],[3,0,0,3,2],[2,0,3,0,4]],\"min_steps\":6},{\"id\":\"3007\",\"map\":[[1,2,0,3,3],[2,2,0,2,0],[2,3,2,0,3],[0,3,2,0,4],[0,0,3,0,3]],\"min_steps\":6},{\"id\":\"3011\",\"map\":[[2,3,0,1,0],[0,0,0,0,0],[3,0,0,0,3],[0,2,0,3,2],[4,3,3,2,2]],\"min_steps\":6},{\"id\":\"3012\",\"map\":[[0,2,1,0,3],[0,3,0,0,3],[3,2,3,2,0],[0,2,0,3,0],[2,0,0,0,4]],\"min_steps\":6},{\"id\":\"3013\",\"map\":[[0,2,1,0,3],[0,3,0,0,3],[3,2,3,2,0],[0,2,0,3,0],[2,0,0,0,4]],\"min_steps\":6},{\"id\":\"3014\",\"map\":[[1,0,3,3,4],[2,3,0,3,0],[0,2,2,0,0],[3,3,0,0,2],[2,0,0,0,0]],\"min_steps\":6},{\"id\":\"3015\",\"map\":[[2,3,0,0,0],[0,0,2,3,0],[4,0,3,0,3],[2,0,2,2,3],[0,3,0,0,1]],\"min_steps\":6},{\"id\":\"3016\",\"map\":[[3,0,2,0,2],[2,0,0,0,3],[0,2,3,0,1],[4,0,0,3,0],[3,3,0,0,2]],\"min_steps\":6},{\"id\":\"3017\",\"map\":[[0,3,0,0,2],[3,0,2,0,4],[1,3,3,0,0],[2,0,0,2,0],[3,2,3,0,0]],\"min_steps\":6},{\"id\":\"3018\",\"map\":[[4,2,0,0,0],[0,0,0,3,2],[0,3,0,0,3],[3,2,3,2,0],[3,0,2,1,0]],\"min_steps\":7},{\"id\":\"3019\",\"map\":[[0,4,0,3,2],[0,2,0,0,0],[3,0,3,0,2],[3,3,2,3,1],[2,0,0,0,0]],\"min_steps\":7},{\"id\":\"3020\",\"map\":[[0,2,0,1,0],[0,0,0,3,2],[3,0,3,3,3],[3,0,0,0,2],[0,2,2,4,0]],\"min_steps\":7},{\"id\":\"3021\",\"map\":[[3,2,0,2,1],[3,2,0,3,2],[3,0,0,2,3],[0,0,0,0,4],[0,0,3,0,0]],\"min_steps\":7},{\"id\":\"3022\",\"map\":[[2,0,2,2,2],[0,0,3,0,0],[3,0,3,0,0],[1,0,3,2,4],[0,0,3,3,0]],\"min_steps\":7},{\"id\":\"3023\",\"map\":[[1,2,0,2,0],[3,3,3,0,0],[0,2,3,2,0],[4,0,0,0,3],[0,0,2,0,3]],\"min_steps\":7},{\"id\":\"3024\",\"map\":[[1,0,3,0,3],[2,2,0,0,0],[0,3,0,3,0],[2,0,3,2,0],[2,3,0,4,0]],\"min_steps\":7}],[{\"id\":\"4001\",\"map\":[[1,3,0,0,2,0],[0,3,0,0,2,0],[0,0,2,0,3,4],[0,0,0,2,0,0],[3,3,0,0,2,0,3],[0,0,2,2,2,0]],\"min_steps\":5},{\"id\":\"4002\",\"map\":[[0,2,2,2,2,0],[1,0,0,0,2,0],[0,0,0,0,0,3],[0,0,0,0,2,0],[0,3,3,0,2,0],[3,0,0,4,2,0]],\"min_steps\":5},{\"id\":\"4003\",\"map\":[[0,0,0,0,0,0],[2,0,0,0,0,2],[0,3,3,3,2,4],[0,3,0,3,2,0],[0,0,0,0,0,3],[0,0,2,3,0,1]],\"min_steps\":6},{\"id\":\"4004\",\"map\":[[2,0,3,0,0,4],[0,2,3,3,0,0],[0,3,0,0,0,0],[3,0,0,0,2,2],[3,0,0,2,0,0],[1,0,0,3,0,0]],\"min_steps\":6},{\"id\":\"4006\",\"map\":[[4,3,0,3,0,0],[0,2,0,3,0,0],[3,0,0,0,3,2],[0,3,0,0,2,1],[0,0,2,0,0,0],[0,0,0,0,2,3]],\"min_steps\":7},{\"id\":\"4007\",\"map\":[[4,2,2,0,2,0],[0,3,0,2,0,0],[0,2,3,0,3,0],[0,0,3,0,0,3],[0,0,3,0,0,0],[0,0,0,3,0,1]],\"min_steps\":7},{\"id\":\"4014\",\"map\":[[0,0,3,0,2,2],[0,2,3,0,0,1],[0,3,3,0,0,3],[0,2,0,0,0,0],[0,0,0,3,3,0],[2,0,4,0,0,0]],\"min_steps\":7},{\"id\":\"4015\",\"map\":[[2,0,0,0,0,0],[0,0,0,0,3,1],[3,0,2,0,0,3],[2,0,0,2,3,0],[3,0,3,0,0,0],[2,0,0,3,4,0]],\"min_steps\":7},{\"id\":\"4005\",\"map\":[[1,0,0,0,0,2],[0,0,0,2,0,0],[3,2,0,0,0,0],[0,3,0,0,2,3],[0,0,3,3,0,0],[3,0,0,2,3,4]],\"min_steps\":8},{\"id\":\"4008\",\"map\":[[0,0,2,3,0,0],[0,3,0,2,3,2],[3,0,0,0,0,0],[0,3,0,0,3,4],[0,0,0,0,0,3],[0,2,0,2,0,1]],\"min_steps\":8},{\"id\":\"4009\",\"map\":[[0,3,3,0,0,4],[2,0,0,3,0,0],[2,0,0,3,0,0],[1,0,0,0,3,0],[0,0,2,3,0,2],[2,3,0,0,0,0]],\"min_steps\":8},{\"id\":\"4010\",\"map\":[[0,0,1,3,2,0],[3,0,0,0,3,2],[3,0,0,0,0,3],[2,0,0,0,0,0],[0,2,0,0,3,0],[0,2,0,3,4,0]],\"min_steps\":8},{\"id\":\"4011\",\"map\":[[1,0,0,0,0,0],[3,3,0,0,0,2],[0,0,0,3,0,2],[2,0,3,0,3,0],[2,0,3,0,0,3],[4,0,0,0,0,2]],\"min_steps\":8},{\"id\":\"4016\",\"map\":[[0,0,3,0,0,1],[2,3,0,0,3,0],[2,0,0,0,0,2],[0,3,0,0,0,0],[0,3,0,0,2,0],[0,4,3,0,2,3]],\"min_steps\":8},{\"id\":\"4017\",\"map\":[[1,2,3,0,3,2],[3,0,0,0,0,0],[0,0,0,0,0,3],[3,3,0,3,2,0],[0,2,0,0,0,0],[4,0,0,2,0,0]],\"min_steps\":8},{\"id\":\"4018\",\"map\":[[0,0,1,0,2,0],[0,0,0,0,0,0],[0,0,3,2,3,0],[3,0,0,3,0,0],[2,3,0,2,0,0],[4,2,0,3,3,0]],\"min_steps\":8},{\"id\":\"4012\",\"map\":[[2,2,3,0,2,0],[0,3,0,0,0,0],[0,0,0,0,3,4],[0,2,0,3,0,3],[0,0,0,0,0,0],[0,0,2,3,3,1]],\"min_steps\":9},{\"id\":\"4013\",\"map\":[[0,0,0,0,3,0],[4,2,0,3,0,0],[3,2,0,0,0,0],[1,3,0,3,0,0],[2,0,0,2,0,0],[3,0,0,3,2,0]],\"min_steps\":9},{\"id\":\"4019\",\"map\":[[3,4,0,0,0,2],[3,2,0,0,2,0],[0,3,0,3,0,2],[0,0,3,0,0,0],[0,0,0,0,3,0],[1,3,0,0,0,2]],\"min_steps\":9},{\"id\":\"4020\",\"map\":[[0,2,0,1,0,0],[2,3,0,0,2,0],[3,0,0,0,0,0],[0,3,3,0,0,3],[2,0,0,3,0,0],[4,3,0,0,0,2]],\"min_steps\":9}],[{\"id\":\"5001\",\"map\":[[1,0,0,0,0,0],[0,2,2,3,0,2],[3,2,0,0,3,3],[0,0,0,0,0,4],[0,0,0,2,2,0],[3,0,2,2,0,0]],\"min_steps\":7},{\"id\":\"5002\",\"map\":[[0,0,0,0,4,3],[3,2,3,0,0,0],[0,2,0,2,3,0],[2,2,0,0,0,0],[3,2,0,0,0,0],[3,0,0,2,0,3],[2,0,0,3,0,1]],\"min_steps\":7},{\"id\":\"5015\",\"map\":[[1,2,3,2,2,0],[3,0,0,0,0,3],[0,0,0,0,0,0],[0,0,0,0,0,2],[0,3,0,3,2,0],[0,0,0,0,0,0],[0,2,0,4,0,3]],\"min_steps\":7},{\"id\":\"5016\",\"map\":[[3,0,1,0,0,0],[0,2,0,2,0,0],[0,2,0,2,0,3],[0,0,0,0,0,0],[0,2,0,0,3,3],[0,0,0,0,2,3],[0,0,0,3,0,4]],\"min_steps\":7},{\"id\":\"5004\",\"map\":[[0,3,3,2,3,0],[2,0,2,0,3,0],[1,0,3,2,0,0],[3,3,0,0,0,2],[0,0,0,0,0,0],[0,2,0,0,0,0],[0,0,0,3,4,0]],\"min_steps\":8},{\"id\":\"5005\",\"map\":[[0,0,0,0,0,1],[0,0,2,0,2,0],[3,2,2,0,0,0],[3,0,0,3,0,0],[3,3,0,0,0,3],[4,3,0,0,0,0],[2,0,0,2,3,0]],\"min_steps\":8},{\"id\":\"5008\",\"map\":[[3,0,3,2,0,4],[0,3,0,2,0,2],[0,0,3,0,0,0],[2,0,0,2,0,0],[0,0,3,0,0,0],[0,0,0,3,0,0],[3,2,1,3,0,0]],\"min_steps\":8},{\"id\":\"5012\",\"map\":[[2,3,0,2,0,1],[2,0,0,0,0,0],[2,0,0,3,0,2],[3,0,3,0,0,3],[0,0,0,0,3,3],[3,0,0,0,2,0],[0,0,0,0,0,4]],\"min_steps\":8},{\"id\":\"5013\",\"map\":[[0,0,2,1,2,0],[0,3,0,0,0,0],[2,0,0,0,0,0],[0,0,0,3,0,0],[3,0,0,2,3,0],[3,3,3,2,0,2],[0,0,4,0,0,3]],\"min_steps\":8},{\"id\":\"5018\",\"map\":[[0,2,0,1,0,0],[2,0,0,3,0,0],[0,0,0,0,0,0],[3,0,0,0,0,0],[2,3,0,2,3,3],[2,0,0,0,0,2],[4,3,0,0,0,0]],\"min_steps\":8},{\"id\":\"5019\",\"map\":[[1,3,0,2,3,0],[0,0,0,0,0,2],[0,0,0,0,0,0],[0,0,2,0,0,2],[3,3,0,3,0,2],[4,0,2,0,0,0],[0,0,0,3,0,0]],\"min_steps\":8},{\"id\":\"5029\",\"map\":[[4,3,0,0,0,0],[2,0,0,3,0,2],[3,2,0,3,3,0],[2,0,0,3,0,0],[0,2,0,0,0,0],[2,0,0,0,0,0],[3,0,3,3,0,1]],\"min_steps\":8},{\"id\":\"5030\",\"map\":[[0,0,0,0,0,0],[0,0,2,3,2,0],[0,3,0,0,0,0],[2,2,0,3,0,0],[0,3,3,0,3,4],[0,0,2,0,0,3],[3,1,0,3,0,2]],\"min_steps\":8},{\"id\":\"5006\",\"map\":[[0,3,0,0,0,0],[1,0,0,0,3,0],[0,0,3,2,0,0],[3,0,0,2,2,0],[0,3,0,3,3,0],[0,2,0,0,0,0],[4,0,3,0,2,2]],\"min_steps\":9},{\"id\":\"5007\",\"map\":[[0,2,0,3,0,0],[1,2,0,2,0,0],[0,3,0,3,0,0],[3,0,0,0,0,3],[0,0,3,2,0,2],[4,0,0,3,0,3],[0,2,0,0,0,0]],\"min_steps\":9},{\"id\":\"5010\",\"map\":[[0,3,1,0,0,0],[0,2,3,3,0,0],[0,2,0,3,0,0],[0,2,0,2,0,3],[0,2,0,0,3,0],[0,3,0,0,0,0],[0,2,4,0,0,3]],\"min_steps\":9},{\"id\":\"5011\",\"map\":[[1,0,3,0,3,0],[0,2,0,0,0,0],[2,0,2,0,3,0],[0,3,2,0,0,0],[3,0,0,0,0,2],[4,0,3,0,0,0],[3,2,0,0,0,3]],\"min_steps\":9},{\"id\":\"5014\",\"map\":[[0,1,0,0,0,0],[2,0,2,0,0,2],[2,3,0,3,0,0],[0,3,0,0,0,3],[0,0,0,2,0,3],[0,0,3,0,3,0],[2,0,3,0,0,4]],\"min_steps\":9},{\"id\":\"5017\",\"map\":[[0,0,0,0,0,0],[1,2,3,0,0,2],[0,0,2,0,0,2],[3,0,2,3,0,0],[0,3,3,0,2,0],[0,0,0,0,0,0],[4,0,3,0,0,0]],\"min_steps\":9},{\"id\":\"5028\",\"map\":[[0,0,1,0,0,3],[3,0,0,0,3,4],[0,2,0,2,3,2],[0,3,2,3,3,0],[0,0,0,3,0,0],[0,0,3,0,0,2],[0,0,2,0,0,0]],\"min_steps\":9},{\"id\":\"5003\",\"map\":[[0,0,1,3,0,2],[0,3,3,0,0,0],[0,0,3,2,0,0],[0,0,3,0,0,0],[3,0,0,0,2,2],[0,0,2,3,0,0],[0,2,0,3,0,4]],\"min_steps\":10},{\"id\":\"5009\",\"map\":[[0,2,0,0,0,3],[0,0,3,3,3,4],[0,3,0,0,0,0],[0,3,2,0,0,0],[1,2,3,2,0,3],[2,0,0,0,0,0],[0,0,0,0,2,0]],\"min_steps\":10},{\"id\":\"5021\",\"map\":[[0,0,0,0,0,0],[0,0,0,0,3,0],[3,0,0,0,2,0],[2,0,0,2,3,0],[0,3,0,0,0,2],[0,2,3,0,0,0],[4,3,1,2,0,0]],\"min_steps\":10},{\"id\":\"5022\",\"map\":[[4,0,3,0,0,2],[0,0,0,0,2,0],[0,3,0,2,3,2],[3,0,3,0,3,0],[0,2,0,0,0,0],[0,3,0,3,0,3],[0,2,1,0,0,0]],\"min_steps\":10},{\"id\":\"5023\",\"map\":[[3,0,0,3,3,0],[0,0,3,0,0,3],[2,3,0,0,0,0],[2,2,0,0,2,0],[0,3,0,0,0,0],[2,0,3,0,0,4],[0,1,3,0,2,0]],\"min_steps\":10},{\"id\":\"5024\",\"map\":[[3,0,2,3,0,0],[4,2,0,0,0,3],[2,2,0,0,0,0],[0,0,3,0,0,2],[0,0,0,3,0,3],[0,3,3,0,2,0],[3,0,1,0,0,0]],\"min_steps\":10},{\"id\":\"5020\",\"map\":[[0,0,0,2,0,0],[0,3,0,0,0,3],[0,2,0,0,3,0],[2,0,0,2,3,4],[0,2,3,0,0,0],[0,0,0,3,0,0],[3,2,0,1,3,0]],\"min_steps\":11},{\"id\":\"5025\",\"map\":[[1,0,0,0,3,0],[0,0,0,3,3,2],[3,3,2,0,0,2],[0,0,0,0,0,3],[0,0,2,0,2,0],[0,0,0,0,3,4],[0,3,2,3,0,0]],\"min_steps\":11},{\"id\":\"5026\",\"map\":[[0,3,2,0,0,0],[0,0,2,3,3,0],[2,0,0,2,0,0],[3,2,0,0,3,2],[0,0,0,3,3,1],[0,0,3,0,0,3],[0,0,0,0,0,4]],\"min_steps\":11},{\"id\":\"5027\",\"map\":[[0,0,3,0,0,1],[0,0,0,0,0,3],[2,0,2,0,2,3],[0,0,3,3,0,3],[0,0,0,2,3,0],[0,0,0,2,0,3],[2,0,3,0,4,0]],\"min_steps\":11}],[{\"id\":\"6028\",\"map\":[[0,0,3,0,0,2],[1,3,2,2,0,3],[0,0,3,0,0,2],[0,0,0,0,0,0],[0,0,2,0,3,3],[3,3,3,0,0,0],[4,0,0,0,0,2]],\"min_steps\":8},{\"id\":\"6029\",\"map\":[[0,0,2,0,0,1],[3,2,3,0,0,3],[2,0,3,0,3,0],[3,3,0,0,0,0],[0,0,0,3,3,2],[0,0,0,0,0,2],[0,0,0,4,2,0]],\"min_steps\":8},{\"id\":\"6030\",\"map\":[[0,3,3,0,1,0],[2,3,0,0,3,0],[0,0,0,3,0,2],[0,0,3,0,2,0],[0,0,2,3,3,3],[0,0,0,0,0,0],[4,0,0,2,0,2]],\"min_steps\":8},{\"id\":\"6001\",\"map\":[[0,0,3,3,4,2],[0,0,0,2,0,0],[2,3,3,2,0,0],[0,3,0,0,0,2],[0,0,0,3,2,2],[2,0,0,3,0,2],[1,3,2,0,0,0],[0,0,0,3,0,0]],\"min_steps\":9},{\"id\":\"6012\",\"map\":[[3,0,0,0,2,0],[0,3,0,3,0,0],[0,3,0,0,0,3],[2,0,0,3,2,0],[3,2,2,2,0,0],[3,0,2,0,3,0],[1,2,3,0,2,0],[2,3,0,0,3,4]],\"min_steps\":9},{\"id\":\"6016\",\"map\":[[0,0,1,0,2,3],[0,3,2,0,2,0],[3,3,3,3,0,0],[3,0,0,0,0,0],[2,2,3,0,3,3],[0,0,2,0,2,0],[0,2,0,2,0,3],[3,0,2,0,0,4]],\"min_steps\":9},{\"id\":\"6008\",\"map\":[[0,0,2,0,3,4],[3,3,2,3,0,0],[0,0,0,0,0,3],[0,0,2,3,2,0],[0,0,2,0,3,2],[3,3,0,0,0,2],[0,3,0,0,0,0],[2,1,0,0,0,0]],\"min_steps\":10},{\"id\":\"6013\",\"map\":[[3,0,0,2,2,0],[0,2,0,3,0,2],[0,0,3,2,3,0],[0,3,0,0,3,0],[2,2,3,2,0,0],[0,0,3,3,0,0],[0,2,0,3,2,0],[4,3,3,0,1,0]],\"min_steps\":10},{\"id\":\"6017\",\"map\":[[4,0,0,0,0,3],[0,3,3,0,0,0],[3,0,2,2,0,0],[3,0,2,3,3,2],[3,2,0,2,3,3],[2,0,2,0,0,0],[0,0,0,0,0,3],[2,3,0,2,0,1]],\"min_steps\":10},{\"id\":\"6022\",\"map\":[[0,0,3,4,3,0],[0,3,0,2,2,0],[2,0,2,0,0,3],[0,0,0,0,0,0],[2,3,0,3,2,0],[0,3,0,0,0,0],[0,1,3,0,0,3]],\"min_steps\":10},{\"id\":\"6023\",\"map\":[[0,0,3,1,0,2],[0,0,2,3,0,0],[4,0,3,0,0,0],[2,0,3,0,0,3],[2,0,3,0,3,0],[0,0,0,0,0,0],[2,3,0,2,3,0]],\"min_steps\":10},{\"id\":\"6024\",\"map\":[[0,3,0,2,0,4],[3,0,0,3,3,3],[0,0,2,0,0,0],[2,3,3,0,0,0],[2,0,0,0,0,3],[2,0,3,0,0,1],[0,0,0,0,0,2]],\"min_steps\":10},{\"id\":\"6025\",\"map\":[[4,0,2,0,0,0],[0,0,3,3,0,2],[3,3,0,0,0,3],[0,2,0,2,0,0],[0,0,0,0,3,0],[1,3,0,0,2,2],[0,3,0,0,0,3]],\"min_steps\":10},{\"id\":\"6002\",\"map\":[[0,0,3,3,4,2],[0,0,0,2,0,0],[2,3,3,2,0,0],[0,3,0,0,0,2],[0,0,0,3,2,2],[2,0,0,3,0,2],[1,3,2,0,0,0],[0,0,0,3,0,0]],\"min_steps\":11},{\"id\":\"6006\",\"map\":[[1,0,2,0,0,3],[0,0,0,0,3,0],[3,0,0,3,2,0],[2,3,0,0,0,3],[0,0,3,2,0,3],[0,2,0,3,0,0],[2,3,0,2,0,0],[0,4,0,2,0,0]],\"min_steps\":11},{\"id\":\"6009\",\"map\":[[4,3,0,0,3,0],[0,0,0,0,0,0],[3,3,0,2,0,2],[3,0,0,2,2,0],[2,3,2,0,0,0],[1,3,3,0,0,0],[2,0,0,0,0,0],[3,3,0,0,0,2]],\"min_steps\":11},{\"id\":\"6018\",\"map\":[[2,3,0,0,2,3],[2,0,0,3,0,4],[2,0,0,0,0,0],[0,3,2,0,2,3],[0,0,0,0,0,3],[2,0,3,3,2,3],[0,0,0,3,2,0],[2,3,1,3,0,0]],\"min_steps\":11},{\"id\":\"6026\",\"map\":[[0,1,0,3,0,4],[0,0,3,0,3,0],[2,2,3,2,0,0],[0,0,3,0,3,3],[2,0,0,0,0,2],[0,3,0,0,0,2],[0,0,0,0,0,3]],\"min_steps\":11},{\"id\":\"6027\",\"map\":[[2,1,3,0,0,0],[0,0,0,0,3,0],[3,3,0,0,0,0],[2,2,3,3,3,0],[0,2,0,0,0,0],[3,2,0,0,0,0],[0,4,0,2,3,0]],\"min_steps\":11},{\"id\":\"6031\",\"map\":[[0,1,0,3,0,4],[0,0,3,0,3,0],[2,2,3,2,0,0],[0,0,3,0,3,3],[2,0,0,0,0,2],[0,3,0,0,0,2],[0,0,0,0,0,3]],\"min_steps\":11},{\"id\":\"6003\",\"map\":[[0,2,2,0,0,4],[0,3,3,0,0,0],[3,2,0,0,0,0],[0,3,0,0,3,3],[0,2,0,3,0,0],[2,3,0,0,0,0],[0,2,3,0,0,0],[1,2,3,0,2,0]],\"min_steps\":12},{\"id\":\"6011\",\"map\":[[3,0,2,2,3,2],[1,0,0,0,0,3],[0,0,3,2,3,0],[3,0,3,0,0,0],[4,3,2,3,0,2],[0,0,2,0,2,3],[2,0,0,0,0,3],[0,0,0,2,0,3]],\"min_steps\":12},{\"id\":\"6014\",\"map\":[[4,3,0,0,0,0],[0,2,2,2,3,0],[0,3,0,0,0,0],[2,3,2,3,0,0],[3,3,0,0,0,3],[0,0,0,2,3,0],[0,3,2,0,2,2],[2,3,3,0,0,1]],\"min_steps\":12},{\"id\":\"6020\",\"map\":[[3,2,0,0,0,0],[4,0,2,0,2,0],[3,3,0,0,2,2],[0,0,3,0,2,0],[0,0,0,0,2,3],[0,2,3,3,0,0],[2,3,0,0,3,3],[1,3,3,2,0,0]],\"min_steps\":12},{\"id\":\"6021\",\"map\":[[4,3,0,0,0,0],[0,2,2,2,3,0],[0,3,0,0,0,0],[2,3,2,3,0,0],[3,3,0,0,0,3],[0,0,0,2,3,0],[0,3,2,0,2,2],[2,3,3,0,0,1]],\"min_steps\":12},{\"id\":\"6004\",\"map\":[[0,3,0,2,2,0],[0,0,0,0,0,2],[3,0,0,0,0,0],[0,3,0,0,0,0],[0,3,3,0,3,0],[2,0,0,0,3,2],[2,0,0,0,3,1],[4,3,0,2,3,2]],\"min_steps\":13},{\"id\":\"6005\",\"map\":[[2,2,4,2,3,0],[0,3,3,2,0,0],[3,0,0,3,0,2],[3,0,2,3,3,0],[0,0,0,0,0,0],[0,0,0,0,2,3],[3,2,0,0,0,1],[0,0,0,0,0,0]],\"min_steps\":13},{\"id\":\"6007\",\"map\":[[3,2,0,0,3,4],[0,2,0,0,3,0],[0,0,2,0,2,0],[2,0,0,3,0,3],[0,0,2,0,3,2],[0,2,3,3,0,1],[0,0,0,0,0,3],[0,0,0,3,0,0]],\"min_steps\":13},{\"id\":\"6010\",\"map\":[[0,3,1,0,0,0],[0,2,3,3,0,0],[2,0,0,3,0,0],[0,2,0,0,3,2],[3,0,0,0,0,2],[3,2,0,0,0,0],[4,0,0,3,2,0],[0,3,0,3,2,0]],\"min_steps\":13},{\"id\":\"6015\",\"map\":[[4,0,0,0,2,3],[0,0,3,0,0,3],[2,2,3,2,0,0],[3,0,0,0,3,2],[2,3,0,3,0,2],[0,0,3,0,2,3],[0,0,0,0,0,3],[1,2,2,3,0,0]],\"min_steps\":14},{\"id\":\"6019\",\"map\":[[4,0,0,0,2,3],[0,0,3,0,0,3],[2,2,3,2,0,0],[3,0,0,0,3,2],[2,3,0,3,0,2],[0,0,3,0,2,3],[0,0,0,0,0,3],[1,2,2,3,0,0]],\"min_steps\":14}],[{\"id\":\"7001\",\"map\":[[0,2,0,0,2,0],[3,3,0,2,0,4],[0,0,0,0,0,3],[0,0,0,0,3,2],[0,0,0,0,0,2],[3,3,0,0,0,2],[0,3,3,2,2,0],[0,3,2,2,0,3],[1,2,0,0,2,0]],\"min_steps\":9},{\"id\":\"7023\",\"map\":[[3,2,0,2,0,1],[0,3,3,2,3,3],[0,3,3,0,3,0],[0,2,2,2,0,3],[0,3,2,0,0,3],[0,0,0,0,2,0],[2,2,2,3,0,0],[2,0,3,0,3,0],[0,0,3,0,0,4]],\"min_steps\":9},{\"id\":\"7003\",\"map\":[[1,3,2,0,0,0],[0,0,0,2,0,0],[0,3,0,2,0,0],[3,3,3,2,0,3],[2,3,3,0,3,0],[0,0,0,0,0,2],[3,0,2,2,3,2],[4,2,0,0,2,0],[0,0,2,0,0,2]],\"min_steps\":10},{\"id\":\"7002\",\"map\":[[1,0,3,2,0,2],[0,3,0,0,0,2],[0,2,0,3,2,2],[0,3,0,0,0,0],[0,2,0,3,3,0],[3,2,2,0,0,3],[0,3,2,3,0,2],[0,0,0,0,0,0],[2,0,0,2,3,4]],\"min_steps\":11},{\"id\":\"7005\",\"map\":[[0,0,0,0,0,0],[0,0,0,3,2,4],[0,3,0,0,3,3],[3,3,0,2,0,3],[0,2,2,0,3,2],[0,0,3,0,2,0],[0,2,0,2,0,0],[3,0,0,2,2,0],[0,0,2,2,0,1]],\"min_steps\":11},{\"id\":\"7006\",\"map\":[[0,0,0,0,2,3],[3,2,0,0,0,0],[0,2,0,3,3,4],[0,0,0,2,2,3],[2,0,0,0,0,0],[0,0,0,0,3,0],[3,0,3,3,0,2],[3,0,2,2,0,2],[0,0,2,2,0,1]],\"min_steps\":11},{\"id\":\"7007\",\"map\":[[2,0,2,0,2,0],[0,0,2,0,3,2],[0,0,0,3,3,0],[0,2,0,0,3,2],[3,0,0,2,0,0],[3,3,0,0,0,2],[0,2,0,3,2,0],[0,2,3,0,0,0],[4,3,0,0,1,0]],\"min_steps\":11},{\"id\":\"7026\",\"map\":[[2,4,2,0,0,0],[0,3,3,0,3,0],[3,3,3,0,0,3],[2,0,3,0,0,2],[0,2,2,3,0,3],[1,0,2,0,2,0],[3,3,0,0,0,0],[2,0,0,0,3,2],[2,0,3,2,3,0]],\"min_steps\":11},{\"id\":\"7027\",\"map\":[[2,0,0,0,0,2],[0,0,3,3,2,3],[0,0,3,0,0,1],[0,3,0,3,3,3],[0,0,0,0,0,2],[3,3,2,0,0,2],[3,3,0,2,0,3],[0,3,2,2,2,0],[0,3,4,2,2,0]],\"min_steps\":11},{\"id\":\"7029\",\"map\":[[0,0,1,0,0,0],[3,3,0,0,3,2],[3,0,0,0,2,0],[0,2,0,2,2,0],[2,3,3,3,0,3],[3,2,2,3,0,0],[2,0,3,0,0,3],[3,2,0,0,0,3],[4,2,0,0,3,2]],\"min_steps\":11},{\"id\":\"7008\",\"map\":[[1,0,0,0,2,0],[3,3,2,0,3,0],[3,0,3,0,0,0],[0,0,3,0,0,3],[2,2,0,3,0,3],[2,0,2,0,0,0],[2,0,2,0,0,2],[2,0,0,2,0,0],[4,3,0,0,0,2]],\"min_steps\":12},{\"id\":\"7010\",\"map\":[[4,3,0,3,1,0],[0,0,3,3,0,0],[0,3,0,0,2,2],[2,0,3,0,0,2],[3,2,0,2,3,0],[0,0,0,0,0,0],[0,2,0,2,2,0],[0,2,0,3,0,2],[0,2,0,0,0,3]],\"min_steps\":12},{\"id\":\"7016\",\"map\":[[2,3,4,0,0,3],[0,3,2,2,3,1],[0,2,2,3,0,0],[3,0,3,0,2,0],[3,0,0,0,2,2],[0,0,3,3,0,0],[0,3,0,3,2,0],[0,0,3,0,3,2],[0,2,2,3,0,0]],\"min_steps\":12},{\"id\":\"7020\",\"map\":[[2,3,0,4,3,3],[3,3,0,0,3,0],[0,2,0,3,2,0],[0,3,0,0,0,2],[3,2,0,0,0,0],[0,0,3,2,0,3],[0,3,0,3,2,0],[3,2,2,0,0,2],[0,0,2,1,3,2]],\"min_steps\":12},{\"id\":\"7024\",\"map\":[[1,3,2,0,0,3],[2,3,2,0,0,0],[0,2,3,0,3,3],[3,0,0,2,0,3],[2,3,0,0,0,3],[3,3,0,0,0,0],[2,0,3,0,0,2],[0,0,2,0,2,2],[4,2,3,0,3,0]],\"min_steps\":12},{\"id\":\"7032\",\"map\":[[0,0,0,0,3,4],[0,0,3,3,3,2],[2,2,3,3,0,0],[0,0,3,2,0,0],[0,2,0,2,3,2],[0,2,3,0,0,3],[2,3,3,0,0,2],[1,0,3,0,3,2],[0,0,3,0,0,2]],\"min_steps\":12},{\"id\":\"7033\",\"map\":[[1,0,0,3,0,3],[3,3,2,0,2,0],[0,3,3,2,0,2],[3,2,0,3,0,0],[4,2,2,2,0,0],[0,3,0,0,0,0],[3,3,3,0,0,2],[3,0,3,2,0,3],[2,0,0,0,0,2]],\"min_steps\":12},{\"id\":\"7035\",\"map\":[[3,0,0,2,0,4],[3,0,2,3,3,3],[0,0,2,3,0,2],[3,0,3,3,3,0],[2,2,0,0,0,0],[2,2,3,0,0,0],[0,0,2,3,0,0],[0,2,0,3,2,3],[0,0,3,1,2,0]],\"min_steps\":12},{\"id\":\"7036\",\"map\":[[2,3,1,0,0,2],[0,3,0,0,0,0],[2,0,2,0,0,3],[0,0,3,3,0,3],[0,2,2,0,0,3],[0,3,2,3,3,0],[0,3,2,0,0,2],[0,3,2,0,2,3],[2,0,3,3,4,0]],\"min_steps\":12},{\"id\":\"7037\",\"map\":[[2,0,0,0,0,3],[0,2,3,0,2,2],[0,0,3,0,2,0],[0,2,2,0,0,0],[3,2,3,0,0,3],[0,0,3,3,0,3],[3,2,3,0,0,3],[0,0,3,3,2,0],[4,3,1,2,0,2]],\"min_steps\":12},{\"id\":\"7039\",\"map\":[[2,0,3,3,2,0],[0,0,0,0,2,3],[1,3,0,0,0,2],[0,2,3,2,2,2],[0,0,3,0,0,0],[0,3,0,0,3,0],[3,0,0,2,3,2],[2,0,3,0,2,3],[0,4,3,0,3,3]],\"min_steps\":12},{\"id\":\"7040\",\"map\":[[0,2,3,3,4,0],[0,2,0,0,3,2],[0,0,3,0,2,0],[3,0,2,0,0,3],[2,0,0,3,0,3],[3,3,0,2,2,0],[2,2,3,0,2,0],[1,3,0,0,2,3],[0,0,0,3,0,3]],\"min_steps\":12},{\"id\":\"7041\",\"map\":[[3,3,0,2,3,1],[0,3,3,2,0,2],[0,2,0,0,0,0],[0,0,0,0,0,0],[3,3,3,2,3,0],[0,3,3,2,3,2],[4,0,3,0,2,0],[2,2,2,0,0,0],[0,3,2,0,3,0]],\"min_steps\":12},{\"id\":\"7004\",\"map\":[[2,0,0,2,0,0],[0,3,0,0,0,1],[0,2,0,0,0,0],[0,0,0,0,2,0],[0,0,3,3,3,2],[0,0,0,3,2,3],[0,0,2,0,0,3],[0,2,3,2,2,4],[3,2,2,0,3,0]],\"min_steps\":13},{\"id\":\"7009\",\"map\":[[4,0,3,1,0,2],[0,2,3,3,3,0],[0,2,3,2,2,0],[3,0,3,0,0,2],[0,0,0,0,0,0],[3,2,0,0,2,0],[3,2,0,0,2,0],[0,0,2,2,2,0],[0,0,0,0,3,0]],\"min_steps\":13},{\"id\":\"7014\",\"map\":[[3,4,2,3,0,0],[2,3,0,3,0,0],[0,2,2,0,0,0],[0,3,3,0,3,3],[0,0,0,0,0,0],[3,2,0,0,2,2],[2,2,2,2,0,3],[0,0,3,3,0,3],[1,2,0,3,3,0]],\"min_steps\":13},{\"id\":\"7015\",\"map\":[[2,3,4,0,3,0],[1,2,3,2,3,0],[0,0,3,0,2,0],[2,0,0,3,0,0],[2,2,0,2,0,3],[0,0,2,0,0,0],[3,0,0,3,3,0],[0,0,3,0,2,3],[3,0,3,2,3,2]],\"min_steps\":13},{\"id\":\"7025\",\"map\":[[2,3,1,0,3,3],[0,0,2,3,2,0],[0,2,0,0,0,3],[0,3,0,0,0,3],[2,0,0,3,2,0],[0,0,2,3,0,2],[2,0,3,2,0,3],[3,3,0,0,3,3],[2,4,0,2,0,0]],\"min_steps\":13},{\"id\":\"7030\",\"map\":[[2,0,1,2,0,0],[0,2,3,3,0,2],[2,3,3,3,0,2],[3,0,0,2,2,0],[0,3,0,3,2,0],[0,0,2,0,2,3],[3,3,0,3,3,2],[4,3,0,0,0,0],[0,0,0,0,0,3]],\"min_steps\":13},{\"id\":\"7031\",\"map\":[[0,2,2,3,4,2],[3,3,0,0,2,2],[0,0,0,3,2,0],[0,3,0,0,3,3],[0,2,0,2,3,0],[2,3,0,0,0,0],[3,3,0,3,0,2],[0,0,2,3,3,3],[1,0,2,0,0,0]],\"min_steps\":13},{\"id\":\"7038\",\"map\":[[4,2,3,3,2,3],[0,3,0,2,3,0],[0,0,0,2,0,2],[3,3,2,3,0,0],[0,3,0,3,2,3],[0,2,2,2,0,0],[1,3,0,0,3,0],[2,0,0,0,3,2],[0,0,3,0,0,0]],\"min_steps\":13},{\"id\":\"7011\",\"map\":[[0,1,0,0,2,0],[3,0,3,3,2,3],[0,3,3,2,0,0],[0,0,2,0,3,3],[2,3,2,0,0,0],[3,2,2,3,3,0],[2,0,2,2,0,4],[0,2,0,3,0,0],[0,0,0,3,0,3]],\"min_steps\":14},{\"id\":\"7017\",\"map\":[[2,0,0,3,0,3],[4,3,0,2,0,3],[3,0,0,0,3,0],[2,0,0,2,0,0],[3,0,0,3,0,0],[2,3,0,2,2,2],[1,3,3,0,2,2],[0,3,0,0,3,0],[0,2,0,3,3,2]],\"min_steps\":14},{\"id\":\"7019\",\"map\":[[0,3,0,2,3,1],[0,3,0,2,0,2],[0,2,2,0,3,3],[0,0,3,2,0,3],[0,0,3,2,2,0],[2,2,3,0,2,2],[0,3,0,0,3,0],[3,0,0,3,3,0],[0,0,0,3,0,4]],\"min_steps\":14},{\"id\":\"7021\",\"map\":[[0,0,0,0,2,4],[3,0,2,0,0,0],[3,0,2,3,3,3],[2,0,3,3,3,0],[2,0,0,0,2,3],[3,3,0,0,0,2],[1,0,3,0,2,2],[2,2,0,2,0,0],[0,0,3,3,0,3]],\"min_steps\":14},{\"id\":\"7022\",\"map\":[[4,0,0,0,0,0],[0,0,0,0,3,2],[3,3,2,3,3,2],[2,0,0,0,0,2],[0,0,3,0,3,3],[2,0,2,3,2,1],[3,2,3,0,0,3],[2,0,0,3,2,2],[3,3,0,0,0,0]],\"min_steps\":15},{\"id\":\"7028\",\"map\":[[0,2,1,3,0,2],[0,3,3,3,0,2],[0,0,0,3,0,2],[3,0,0,3,2,4],[2,0,0,3,2,2],[2,2,3,0,0,3],[0,2,0,0,0,0],[0,3,3,3,2,0],[0,3,0,3,0,0]],\"min_steps\":16},{\"id\":\"7034\",\"map\":[[1,0,0,3,2,0],[0,2,2,3,3,0],[3,0,0,2,0,3],[2,3,2,2,0,3],[0,0,3,0,0,3],[3,0,0,0,3,0],[2,3,0,3,2,4],[0,3,0,0,0,3],[0,2,0,0,2,2]],\"min_steps\":16},{\"id\":\"7012\",\"map\":[[1,3,3,3,0,0],[0,3,0,2,0,0],[0,0,0,3,0,2],[3,0,0,3,2,3],[0,0,2,0,0,3],[0,0,2,3,2,0],[2,2,3,2,3,2],[0,3,0,2,0,2],[0,3,4,3,0,0]],\"min_steps\":17},{\"id\":\"7013\",\"map\":[[0,1,0,0,3,3],[0,2,0,3,0,0],[2,3,0,0,0,0],[0,0,0,3,0,3],[0,3,0,2,3,2],[2,0,3,3,2,0],[0,2,2,3,0,2],[2,3,2,0,3,0],[0,3,3,0,2,4]],\"min_steps\":17},{\"id\":\"7018\",\"map\":[[0,0,0,0,0,2],[1,0,3,3,0,2],[3,3,0,3,2,3],[0,3,0,2,0,0],[0,3,0,0,2,2],[3,0,0,2,3,0],[0,3,3,3,0,0],[2,0,3,0,0,2],[2,4,2,0,3,2]],\"min_steps\":17}]]\r\n\r\n\r\n this.LEVEL_INFO.unshift([{\"id\":\"0001\",\"map\":[[3, 2, 2, 0, 2],[0, 0, 3, 3, 0],[1, 3, 0, 3, 2],[3, 0, 2, 3, 4],[3, 2, 3, 3, 2]],\"min_steps\":4}]);\r\n \r\n\r\n \r\n \r\n }\r\n\r\n\r\n static Authentication(){\r\n cc.fx.GameTool.Authentication();\r\n }\r\n}\r\n\r\n"]} \ No newline at end of file +{"version":3,"sources":["assets\\Script\\module\\Config\\GameConfig.ts"],"names":[],"mappings":"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AAC,EAAC,EAAC,IAAI,EAAC,MAAM,EAAC,KAAK,EAAC,CAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,CAAC,EAAC,WAAW,EAAC,CAAC,EAAC,EAAC,EAAC,IAAI,EAAC,MAAM,EAAC,KAAK,EAAC,CAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,CAAC,EAAC,WAAW,EAAC,CAAC,EAAC,EAAC,EAAC,IAAI,EAAC,MAAM,EAAC,KAAK,EAAC,CAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,CAAC,EAAC,WAAW,EAAC,CAAC,EAAC,EAAC,EAAC,IAAI,EAAC,MAAM,EAAC,KAAK,EAAC,CAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,CAAC,EAAC,WAAW,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,IAAI,EAAC,MAAM,EAAC,KAAK,EAAC,CAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,CAAC,EAAC,WAAW,EAAC,CAAC,EAAC,EAAC,EAAC,IAAI,EAAC,MAAM,EAAC,KAAK,EAAC,CAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,CAAC,EAAC,WAAW,EAAC,CAAC,EAAC,EAAC,EAAC,IAAI,EAAC,MAAM,EAAC,KAAK,EAAC,CAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,CAAC,EAAC,WAAW,EAAC,CAAC,EAAC,EAAC,EAAC,IAAI,EAAC,MAAM,EAAC,KAAK,EAAC,CAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,CAAC,EAAC,WAAW,EAAC,CAAC,EAAC,EAAC,EAAC,IAAI,EAAC,MAAM,EAAC,KAAK,EAAC,CAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,CAAC,EAAC,WAAW,EAAC,CAAC,EAAC,EAAC,EAAC,IAAI,EAAC,MAAM,EAAC,KAAK,EAAC,CAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,CAAC,EAAC,WAAW,EAAC,CAAC,EAAC,EAAC,EAAC,IAAI,EAAC,MAAM,EAAC,KAAK,EAAC,CAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,CAAC,EAAC,WAAW,EAAC,CAAC,EAAC,EAAC,EAAC,IAAI,EAAC,MAAM,EAAC,KAAK,EAAC,CAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,CAAC,EAAC,WAAW,EAAC,CAAC,EAAC,EAAC,EAAC,IAAI,EAAC,MAAM,EAAC,KAAK,EAAC,CAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,CAAC,EAAC,WAAW,EAAC,CAAC,EAAC,EAAC,EAAC,IAAI,EAAC,MAAM,EAAC,KAAK,EAAC,CAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,CAAC,EAAC,WAAW,EAAC,CAAC,EAAC,EAAC,EAAC,IAAI,EAAC,MAAM,EAAC,KAAK,EAAC,CAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,CAAC,EAAC,WAAW,EAAC,CAAC,EAAC,EAAC,EAAC,IAAI,EAAC,MAAM,EAAC,KAAK,EAAC,CAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,CAAC,EAAC,WAAW,EAAC,CAAC,EAAC,EAAC,EAAC,IAAI,EAAC,MAAM,EAAC,KAAK,EAAC,CAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,CAAC,EAAC,WAAW,EAAC,CAAC,EAAC,EAAC,EAAC,IAAI,EAAC,MAAM,EAAC,KAAK,EAAC,CAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,CAAC,EAAC,WAAW,EAAC,CAAC,EAAC,EAAC,EAAC,IAAI,EAAC,MAAM,EAAC,KAAK,EAAC,CAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,CAAC,EAAC,WAAW,EAAC,CAAC,EAAC,EAAC,EAAC,IAAI,EAAC,MAAM,EAAC,KAAK,EAAC,CAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,CAAC,EAAC,WAAW,EAAC,CAAC,EAAC,EAAC,EAAC,IAAI,EAAC,MAAM,EAAC,KAAK,EAAC,CAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,CAAC,EAAC,WAAW,EAAC,CAAC,EAAC,EAAC,EAAC,IAAI,EAAC,MAAM,EAAC,KAAK,EAAC,CAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,CAAC,EAAC,WAAW,EAAC,CAAC,EAAC,EAAC,EAAC,IAAI,EAAC,MAAM,EAAC,KAAK,EAAC,CAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,CAAC,EAAC,WAAW,EAAC,CAAC,EAAC,EAAC,EAAC,IAAI,EAAC,MAAM,EAAC,KAAK,EAAC,CAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,CAAC,EAAC,WAAW,EAAC,CAAC,EAAC,EAAC,EAAC,IAAI,EAAC,MAAM,EAAC,KAAK,EAAC,CAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,CAAC,EAAC,WAAW,EAAC,CAAC,EAAC,EAAC,EAAC,IAAI,EAAC,MAAM,EAAC,KAAK,EAAC,CAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,CAAC,EAAC,WAAW,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,IAAI,EAAC,MAAM,EAAC,KAAK,EAAC,CAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,CAAC,EAAC,WAAW,EAAC,CAAC,EAAC,EAAC,EAAC,IAAI,EAAC,MAAM,EAAC,KAAK,EAAC,CAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,CAAC,EAAC,WAAW,EAAC,CAAC,EAAC,EAAC,EAAC,IAAI,EAAC,MAAM,EAAC,KAAK,EAAC,CAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,CAAC,EAAC,WAAW,EAAC,CAAC,EAAC,EAAC,EAAC,IAAI,EAAC,MAAM,EAAC,KAAK,EAAC,CAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,CAAC,EAAC,WAAW,EAAC,CAAC,EAAC,EAAC,EAAC,IAAI,EAAC,MAAM,EAAC,KAAK,EAAC,CAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,CAAC,EAAC,WAAW,EAAC,CAAC,EAAC,EAAC,EAAC,IAAI,EAAC,MAAM,EAAC,KAAK,EAAC,CAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,CAAC,EAAC,WAAW,EAAC,CAAC,EAAC,EAAC,EAAC,IAAI,EAAC,MAAM,EAAC,KAAK,EAAC,CAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,CAAC,EAAC,WAAW,EAAC,CAAC,EAAC,EAAC,EAAC,IAAI,EAAC,MAAM,EAAC,KAAK,EAAC,CAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,CAAC,EAAC,WAAW,EAAC,CAAC,EAAC,EAAC,EAAC,IAAI,EAAC,MAAM,EAAC,KAAK,EAAC,CAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,CAAC,EAAC,WAAW,EAAC,CAAC,EAAC,EAAC,EAAC,IAAI,EAAC,MAAM,EAAC,KAAK,EAAC,CAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,CAAC,EAAC,WAAW,EAAC,CAAC,EAAC,EAAC,EAAC,IAAI,EAAC,MAAM,EAAC,KAAK,EAAC,CAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,CAAC,EAAC,WAAW,EAAC,CAAC,EAAC,EAAC,EAAC,IAAI,EAAC,MAAM,EAAC,KAAK,EAAC,CAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,CAAC,EAAC,WAAW,EAAC,CAAC,EAAC,EAAC,EAAC,IAAI,EAAC,MAAM,EAAC,KAAK,EAAC,CAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,CAAC,EAAC,WAAW,EAAC,CAAC,EAAC,EAAC,EAAC,IAAI,EAAC,MAAM,EAAC,KAAK,EAAC,CAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,CAAC,EAAC,WAAW,EAAC,CAAC,EAAC,EAAC,EAAC,IAAI,EAAC,MAAM,EAAC,KAAK,EAAC,CAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,CAAC,EAAC,WAAW,EAAC,CAAC,EAAC,EAAC,EAAC,IAAI,EAAC,MAAM,EAAC,KAAK,EAAC,CAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,CAAC,EAAC,WAAW,EAAC,CAAC,EAAC,EAAC,EAAC,IAAI,EAAC,MAAM,EAAC,KAAK,EAAC,CAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,CAAC,EAAC,WAAW,EAAC,CAAC,EAAC,EAAC,EAAC,IAAI,EAAC,MAAM,EAAC,KAAK,EAAC,CAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,CAAC,EAAC,WAAW,EAAC,CAAC,EAAC,EAAC,EAAC,IAAI,EAAC,MAAM,EAAC,KAAK,EAAC,CAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,CAAC,EAAC,WAAW,EAAC,CAAC,EAAC,EAAC,EAAC,IAAI,EAAC,MAAM,EAAC,KAAK,EAAC,CAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,CAAC,EAAC,WAAW,EAAC,CAAC,EAAC,EAAC,EAAC,IAAI,EAAC,MAAM,EAAC,KAAK,EAAC,CAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,CAAC,EAAC,WAAW,EAAC,CAAC,EAAC,EAAC,EAAC,IAAI,EAAC,MAAM,EAAC,KAAK,EAAC,CAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,CAAC,EAAC,WAAW,EAAC,CAAC,EAAC,EAAC,EAAC,IAAI,EAAC,MAAM,EAAC,KAAK,EAAC,CAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,CAAC,EAAC,WAAW,EAAC,CAAC,EAAC,EAAC,EAAC,IAAI,EAAC,MAAM,EAAC,KAAK,EAAC,CAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,CAAC,EAAC,WAAW,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,IAAI,EAAC,MAAM,EAAC,KAAK,EAAC,CAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,CAAC,EAAC,WAAW,EAAC,CAAC,EAAC,EAAC,EAAC,IAAI,EAAC,MAAM,EAAC,KAAK,EAAC,CAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,CAAC,EAAC,WAAW,EAAC,CAAC,EAAC,EAAC,EAAC,IAAI,EAAC,MAAM,EAAC,KAAK,EAAC,CAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,CAAC,EAAC,WAAW,EAAC,CAAC,EAAC,EAAC,EAAC,IAAI,EAAC,MAAM,EAAC,KAAK,EAAC,CAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,CAAC,EAAC,WAAW,EAAC,CAAC,EAAC,EAAC,EAAC,IAAI,EAAC,MAAM,EAAC,KAAK,EAAC,CAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,CAAC,EAAC,WAAW,EAAC,CAAC,EAAC,EAAC,EAAC,IAAI,EAAC,MAAM,EAAC,KAAK,EAAC,CAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,CAAC,EAAC,WAAW,EAAC,CAAC,EAAC,EAAC,EAAC,IAAI,EAAC,MAAM,EAAC,KAAK,EAAC,CAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,CAAC,EAAC,WAAW,EAAC,CAAC,EAAC,EAAC,EAAC,IAAI,EAAC,MAAM,EAAC,KAAK,EAAC,CAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,CAAC,EAAC,WAAW,EAAC,CAAC,EAAC,EAAC,EAAC,IAAI,EAAC,MAAM,EAAC,KAAK,EAAC,CAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,CAAC,EAAC,WAAW,EAAC,CAAC,EAAC,EAAC,EAAC,IAAI,EAAC,MAAM,EAAC,KAAK,EAAC,CAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,CAAC,EAAC,WAAW,EAAC,CAAC,EAAC,EAAC,EAAC,IAAI,EAAC,MAAM,EAAC,KAAK,EAAC,CAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,CAAC,EAAC,WAAW,EAAC,CAAC,EAAC,EAAC,EAAC,IAAI,EAAC,MAAM,EAAC,KAAK,EAAC,CAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,CAAC,EAAC,WAAW,EAAC,CAAC,EAAC,EAAC,EAAC,IAAI,EAAC,MAAM,EAAC,KAAK,EAAC,CAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,CAAC,EAAC,WAAW,EAAC,CAAC,EAAC,EAAC,EAAC,IAAI,EAAC,MAAM,EAAC,KAAK,EAAC,CAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,CAAC,EAAC,WAAW,EAAC,CAAC,EAAC,EAAC,EAAC,IAAI,EAAC,MAAM,EAAC,KAAK,EAAC,CAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,CAAC,EAAC,WAAW,EAAC,CAAC,EAAC,EAAC,EAAC,IAAI,EAAC,MAAM,EAAC,KAAK,EAAC,CAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,CAAC,EAAC,WAAW,EAAC,CAAC,EAAC,EAAC,EAAC,IAAI,EAAC,MAAM,EAAC,KAAK,EAAC,CAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,CAAC,EAAC,WAAW,EAAC,CAAC,EAAC,EAAC,EAAC,IAAI,EAAC,MAAM,EAAC,KAAK,EAAC,CAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,CAAC,EAAC,WAAW,EAAC,CAAC,EAAC,EAAC,EAAC,IAAI,EAAC,MAAM,EAAC,KAAK,EAAC,CAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,CAAC,EAAC,WAAW,EAAC,CAAC,EAAC,EAAC,EAAC,IAAI,EAAC,MAAM,EAAC,KAAK,EAAC,CAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,CAAC,EAAC,WAAW,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,IAAI,EAAC,MAAM,EAAC,KAAK,EAAC,CAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,CAAC,EAAC,WAAW,EAAC,CAAC,EAAC,EAAC,EAAC,IAAI,EAAC,MAAM,EAAC,KAAK,EAAC,CAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,CAAC,EAAC,WAAW,EAAC,CAAC,EAAC,EAAC,EAAC,IAAI,EAAC,MAAM,EAAC,KAAK,EAAC,CAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,CAAC,EAAC,WAAW,EAAC,CAAC,EAAC,EAAC,EAAC,IAAI,EAAC,MAAM,EAAC,KAAK,EAAC,CAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,CAAC,EAAC,WAAW,EAAC,CAAC,EAAC,EAAC,EAAC,IAAI,EAAC,MAAM,EAAC,KAAK,EAAC,CAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,CAAC,EAAC,WAAW,EAAC,CAAC,EAAC,EAAC,EAAC,IAAI,EAAC,MAAM,EAAC,KAAK,EAAC,CAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,CAAC,EAAC,WAAW,EAAC,CAAC,EAAC,EAAC,EAAC,IAAI,EAAC,MAAM,EAAC,KAAK,EAAC,CAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,CAAC,EAAC,WAAW,EAAC,CAAC,EAAC,EAAC,EAAC,IAAI,EAAC,MAAM,EAAC,KAAK,EAAC,CAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,CAAC,EAAC,WAAW,EAAC,CAAC,EAAC,EAAC,EAAC,IAAI,EAAC,MAAM,EAAC,KAAK,EAAC,CAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,CAAC,EAAC,WAAW,EAAC,CAAC,EAAC,EAAC,EAAC,IAAI,EAAC,MAAM,EAAC,KAAK,EAAC,CAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,CAAC,EAAC,WAAW,EAAC,CAAC,EAAC,EAAC,EAAC,IAAI,EAAC,MAAM,EAAC,KAAK,EAAC,CAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,CAAC,EAAC,WAAW,EAAC,CAAC,EAAC,EAAC,EAAC,IAAI,EAAC,MAAM,EAAC,KAAK,EAAC,CAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,CAAC,EAAC,WAAW,EAAC,CAAC,EAAC,EAAC,EAAC,IAAI,EAAC,MAAM,EAAC,KAAK,EAAC,CAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,CAAC,EAAC,WAAW,EAAC,CAAC,EAAC,EAAC,EAAC,IAAI,EAAC,MAAM,EAAC,KAAK,EAAC,CAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,CAAC,EAAC,WAAW,EAAC,CAAC,EAAC,EAAC,EAAC,IAAI,EAAC,MAAM,EAAC,KAAK,EAAC,CAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,CAAC,EAAC,WAAW,EAAC,CAAC,EAAC,EAAC,EAAC,IAAI,EAAC,MAAM,EAAC,KAAK,EAAC,CAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,CAAC,EAAC,WAAW,EAAC,CAAC,EAAC,EAAC,EAAC,IAAI,EAAC,MAAM,EAAC,KAAK,EAAC,CAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,CAAC,EAAC,WAAW,EAAC,CAAC,EAAC,EAAC,EAAC,IAAI,EAAC,MAAM,EAAC,KAAK,EAAC,CAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,CAAC,EAAC,WAAW,EAAC,CAAC,EAAC,EAAC,EAAC,IAAI,EAAC,MAAM,EAAC,KAAK,EAAC,CAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,CAAC,EAAC,WAAW,EAAC,CAAC,EAAC,EAAC,EAAC,IAAI,EAAC,MAAM,EAAC,KAAK,EAAC,CAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,CAAC,EAAC,WAAW,EAAC,CAAC,EAAC,EAAC,EAAC,IAAI,EAAC,MAAM,EAAC,KAAK,EAAC,CAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,CAAC,EAAC,WAAW,EAAC,EAAE,EAAC,EAAC,EAAC,IAAI,EAAC,MAAM,EAAC,KAAK,EAAC,CAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,CAAC,EAAC,WAAW,EAAC,EAAE,EAAC,EAAC,EAAC,IAAI,EAAC,MAAM,EAAC,KAAK,EAAC,CAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,CAAC,EAAC,WAAW,EAAC,EAAE,EAAC,EAAC,EAAC,IAAI,EAAC,MAAM,EAAC,KAAK,EAAC,CAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,CAAC,EAAC,WAAW,EAAC,EAAE,EAAC,EAAC,EAAC,IAAI,EAAC,MAAM,EAAC,KAAK,EAAC,CAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,CAAC,EAAC,WAAW,EAAC,EAAE,EAAC,EAAC,EAAC,IAAI,EAAC,MAAM,EAAC,KAAK,EAAC,CAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,CAAC,EAAC,WAAW,EAAC,EAAE,EAAC,EAAC,EAAC,IAAI,EAAC,MAAM,EAAC,KAAK,EAAC,CAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,CAAC,EAAC,WAAW,EAAC,EAAE,EAAC,EAAC,EAAC,IAAI,EAAC,MAAM,EAAC,KAAK,EAAC,CAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,CAAC,EAAC,WAAW,EAAC,EAAE,EAAC,EAAC,EAAC,IAAI,EAAC,MAAM,EAAC,KAAK,EAAC,CAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,CAAC,EAAC,WAAW,EAAC,EAAE,EAAC,EAAC,EAAC,IAAI,EAAC,MAAM,EAAC,KAAK,EAAC,CAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,CAAC,EAAC,WAAW,EAAC,EAAE,EAAC,CAAC,EAAC,CAAC,EAAC,IAAI,EAAC,MAAM,EAAC,KAAK,EAAC,CAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,CAAC,EAAC,WAAW,EAAC,CAAC,EAAC,EAAC,EAAC,IAAI,EAAC,MAAM,EAAC,KAAK,EAAC,CAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,CAAC,EAAC,WAAW,EAAC,CAAC,EAAC,EAAC,EAAC,IAAI,EAAC,MAAM,EAAC,KAAK,EAAC,CAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,CAAC,EAAC,WAAW,EAAC,CAAC,EAAC,EAAC,EAAC,IAAI,EAAC,MAAM,EAAC,KAAK,EAAC,CAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,CAAC,EAAC,WAAW,EAAC,CAAC,EAAC,EAAC,EAAC,IAAI,EAAC,MAAM,EAAC,KAAK,EAAC,CAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,CAAC,EAAC,WAAW,EAAC,CAAC,EAAC,EAAC,EAAC,IAAI,EAAC,MAAM,EAAC,KAAK,EAAC,CAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,CAAC,EAAC,WAAW,EAAC,CAAC,EAAC,EAAC,EAAC,IAAI,EAAC,MAAM,EAAC,KAAK,EAAC,CAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,CAAC,EAAC,WAAW,EAAC,EAAE,EAAC,EAAC,EAAC,IAAI,EAAC,MAAM,EAAC,KAAK,EAAC,CAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,CAAC,EAAC,WAAW,EAAC,EAAE,EAAC,EAAC,EAAC,IAAI,EAAC,MAAM,EAAC,KAAK,EAAC,CAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,CAAC,EAAC,WAAW,EAAC,EAAE,EAAC,EAAC,EAAC,IAAI,EAAC,MAAM,EAAC,KAAK,EAAC,CAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,CAAC,EAAC,WAAW,EAAC,EAAE,EAAC,EAAC,EAAC,IAAI,EAAC,MAAM,EAAC,KAAK,EAAC,CAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,CAAC,EAAC,WAAW,EAAC,EAAE,EAAC,EAAC,EAAC,IAAI,EAAC,MAAM,EAAC,KAAK,EAAC,CAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,CAAC,EAAC,WAAW,EAAC,EAAE,EAAC,EAAC,EAAC,IAAI,EAAC,MAAM,EAAC,KAAK,EAAC,CAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,CAAC,EAAC,WAAW,EAAC,EAAE,EAAC,EAAC,EAAC,IAAI,EAAC,MAAM,EAAC,KAAK,EAAC,CAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,CAAC,EAAC,WAAW,EAAC,EAAE,EAAC,EAAC,EAAC,IAAI,EAAC,MAAM,EAAC,KAAK,EAAC,CAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,CAAC,EAAC,WAAW,EAAC,EAAE,EAAC,EAAC,EAAC,IAAI,EAAC,MAAM,EAAC,KAAK,EAAC,CAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,CAAC,EAAC,WAAW,EAAC,EAAE,EAAC,EAAC,EAAC,IAAI,EAAC,MAAM,EAAC,KAAK,EAAC,CAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,CAAC,EAAC,WAAW,EAAC,EAAE,EAAC,EAAC,EAAC,IAAI,EAAC,MAAM,EAAC,KAAK,EAAC,CAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,CAAC,EAAC,WAAW,EAAC,EAAE,EAAC,EAAC,EAAC,IAAI,EAAC,MAAM,EAAC,KAAK,EAAC,CAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,CAAC,EAAC,WAAW,EAAC,EAAE,EAAC,EAAC,EAAC,IAAI,EAAC,MAAM,EAAC,KAAK,EAAC,CAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,CAAC,EAAC,WAAW,EAAC,EAAE,EAAC,EAAC,EAAC,IAAI,EAAC,MAAM,EAAC,KAAK,EAAC,CAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,CAAC,EAAC,WAAW,EAAC,EAAE,EAAC,EAAC,EAAC,IAAI,EAAC,MAAM,EAAC,KAAK,EAAC,CAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,CAAC,EAAC,WAAW,EAAC,EAAE,EAAC,EAAC,EAAC,IAAI,EAAC,MAAM,EAAC,KAAK,EAAC,CAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,CAAC,EAAC,WAAW,EAAC,EAAE,EAAC,EAAC,EAAC,IAAI,EAAC,MAAM,EAAC,KAAK,EAAC,CAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,CAAC,EAAC,WAAW,EAAC,EAAE,EAAC,EAAC,EAAC,IAAI,EAAC,MAAM,EAAC,KAAK,EAAC,CAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,CAAC,EAAC,WAAW,EAAC,EAAE,EAAC,EAAC,EAAC,IAAI,EAAC,MAAM,EAAC,KAAK,EAAC,CAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,CAAC,EAAC,WAAW,EAAC,EAAE,EAAC,EAAC,EAAC,IAAI,EAAC,MAAM,EAAC,KAAK,EAAC,CAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,CAAC,EAAC,WAAW,EAAC,EAAE,EAAC,EAAC,EAAC,IAAI,EAAC,MAAM,EAAC,KAAK,EAAC,CAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,CAAC,EAAC,WAAW,EAAC,EAAE,EAAC,EAAC,EAAC,IAAI,EAAC,MAAM,EAAC,KAAK,EAAC,CAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,CAAC,EAAC,WAAW,EAAC,EAAE,EAAC,EAAC,EAAC,IAAI,EAAC,MAAM,EAAC,KAAK,EAAC,CAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,CAAC,EAAC,WAAW,EAAC,EAAE,EAAC,EAAC,EAAC,IAAI,EAAC,MAAM,EAAC,KAAK,EAAC,CAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,CAAC,EAAC,WAAW,EAAC,EAAE,EAAC,CAAC,EAAC,CAAC,EAAC,IAAI,EAAC,MAAM,EAAC,KAAK,EAAC,CAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,CAAC,EAAC,WAAW,EAAC,CAAC,EAAC,EAAC,EAAC,IAAI,EAAC,MAAM,EAAC,KAAK,EAAC,CAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,CAAC,EAAC,WAAW,EAAC,CAAC,EAAC,EAAC,EAAC,IAAI,EAAC,MAAM,EAAC,KAAK,EAAC,CAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,CAAC,EAAC,WAAW,EAAC,EAAE,EAAC,EAAC,EAAC,IAAI,EAAC,MAAM,EAAC,KAAK,EAAC,CAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,CAAC,EAAC,WAAW,EAAC,EAAE,EAAC,EAAC,EAAC,IAAI,EAAC,MAAM,EAAC,KAAK,EAAC,CAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,CAAC,EAAC,WAAW,EAAC,EAAE,EAAC,EAAC,EAAC,IAAI,EAAC,MAAM,EAAC,KAAK,EAAC,CAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,CAAC,EAAC,WAAW,EAAC,EAAE,EAAC,EAAC,EAAC,IAAI,EAAC,MAAM,EAAC,KAAK,EAAC,CAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,CAAC,EAAC,WAAW,EAAC,EAAE,EAAC,EAAC,EAAC,IAAI,EAAC,MAAM,EAAC,KAAK,EAAC,CAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,CAAC,EAAC,WAAW,EAAC,EAAE,EAAC,EAAC,EAAC,IAAI,EAAC,MAAM,EAAC,KAAK,EAAC,CAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,CAAC,EAAC,WAAW,EAAC,EAAE,EAAC,EAAC,EAAC,IAAI,EAAC,MAAM,EAAC,KAAK,EAAC,CAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,CAAC,EAAC,WAAW,EAAC,EAAE,EAAC,EAAC,EAAC,IAAI,EAAC,MAAM,EAAC,KAAK,EAAC,CAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,CAAC,EAAC,WAAW,EAAC,EAAE,EAAC,EAAC,EAAC,IAAI,EAAC,MAAM,EAAC,KAAK,EAAC,CAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,CAAC,EAAC,WAAW,EAAC,EAAE,EAAC,EAAC,EAAC,IAAI,EAAC,MAAM,EAAC,KAAK,EAAC,CAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,CAAC,EAAC,WAAW,EAAC,EAAE,EAAC,EAAC,EAAC,IAAI,EAAC,MAAM,EAAC,KAAK,EAAC,CAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,CAAC,EAAC,WAAW,EAAC,EAAE,EAAC,EAAC,EAAC,IAAI,EAAC,MAAM,EAAC,KAAK,EAAC,CAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,CAAC,EAAC,WAAW,EAAC,EAAE,EAAC,EAAC,EAAC,IAAI,EAAC,MAAM,EAAC,KAAK,EAAC,CAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,CAAC,EAAC,WAAW,EAAC,EAAE,EAAC,EAAC,EAAC,IAAI,EAAC,MAAM,EAAC,KAAK,EAAC,CAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,CAAC,EAAC,WAAW,EAAC,EAAE,EAAC,EAAC,EAAC,IAAI,EAAC,MAAM,EAAC,KAAK,EAAC,CAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,CAAC,EAAC,WAAW,EAAC,EAAE,EAAC,EAAC,EAAC,IAAI,EAAC,MAAM,EAAC,KAAK,EAAC,CAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,CAAC,EAAC,WAAW,EAAC,EAAE,EAAC,EAAC,EAAC,IAAI,EAAC,MAAM,EAAC,KAAK,EAAC,CAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,CAAC,EAAC,WAAW,EAAC,EAAE,EAAC,EAAC,EAAC,IAAI,EAAC,MAAM,EAAC,KAAK,EAAC,CAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,CAAC,EAAC,WAAW,EAAC,EAAE,EAAC,EAAC,EAAC,IAAI,EAAC,MAAM,EAAC,KAAK,EAAC,CAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,CAAC,EAAC,WAAW,EAAC,EAAE,EAAC,EAAC,EAAC,IAAI,EAAC,MAAM,EAAC,KAAK,EAAC,CAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,CAAC,EAAC,WAAW,EAAC,EAAE,EAAC,EAAC,EAAC,IAAI,EAAC,MAAM,EAAC,KAAK,EAAC,CAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,CAAC,EAAC,WAAW,EAAC,EAAE,EAAC,EAAC,EAAC,IAAI,EAAC,MAAM,EAAC,KAAK,EAAC,CAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,CAAC,EAAC,WAAW,EAAC,EAAE,EAAC,EAAC,EAAC,IAAI,EAAC,MAAM,EAAC,KAAK,EAAC,CAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,CAAC,EAAC,WAAW,EAAC,EAAE,EAAC,EAAC,EAAC,IAAI,EAAC,MAAM,EAAC,KAAK,EAAC,CAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,CAAC,EAAC,WAAW,EAAC,EAAE,EAAC,EAAC,EAAC,IAAI,EAAC,MAAM,EAAC,KAAK,EAAC,CAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,CAAC,EAAC,WAAW,EAAC,EAAE,EAAC,EAAC,EAAC,IAAI,EAAC,MAAM,EAAC,KAAK,EAAC,CAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,CAAC,EAAC,WAAW,EAAC,EAAE,EAAC,EAAC,EAAC,IAAI,EAAC,MAAM,EAAC,KAAK,EAAC,CAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,CAAC,EAAC,WAAW,EAAC,EAAE,EAAC,EAAC,EAAC,IAAI,EAAC,MAAM,EAAC,KAAK,EAAC,CAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,CAAC,EAAC,WAAW,EAAC,EAAE,EAAC,EAAC,EAAC,IAAI,EAAC,MAAM,EAAC,KAAK,EAAC,CAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,CAAC,EAAC,WAAW,EAAC,EAAE,EAAC,EAAC,EAAC,IAAI,EAAC,MAAM,EAAC,KAAK,EAAC,CAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,CAAC,EAAC,WAAW,EAAC,EAAE,EAAC,EAAC,EAAC,IAAI,EAAC,MAAM,EAAC,KAAK,EAAC,CAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,CAAC,EAAC,WAAW,EAAC,EAAE,EAAC,EAAC,EAAC,IAAI,EAAC,MAAM,EAAC,KAAK,EAAC,CAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,CAAC,EAAC,WAAW,EAAC,EAAE,EAAC,EAAC,EAAC,IAAI,EAAC,MAAM,EAAC,KAAK,EAAC,CAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,CAAC,EAAC,WAAW,EAAC,EAAE,EAAC,EAAC,EAAC,IAAI,EAAC,MAAM,EAAC,KAAK,EAAC,CAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,CAAC,EAAC,WAAW,EAAC,EAAE,EAAC,EAAC,EAAC,IAAI,EAAC,MAAM,EAAC,KAAK,EAAC,CAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,CAAC,EAAC,WAAW,EAAC,EAAE,EAAC,EAAC,EAAC,IAAI,EAAC,MAAM,EAAC,KAAK,EAAC,CAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,CAAC,EAAC,WAAW,EAAC,EAAE,EAAC,EAAC,EAAC,IAAI,EAAC,MAAM,EAAC,KAAK,EAAC,CAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,CAAC,EAAC,WAAW,EAAC,EAAE,EAAC,EAAC,EAAC,IAAI,EAAC,MAAM,EAAC,KAAK,EAAC,CAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,CAAC,EAAC,WAAW,EAAC,EAAE,EAAC,EAAC,EAAC,IAAI,EAAC,MAAM,EAAC,KAAK,EAAC,CAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,CAAC,EAAC,WAAW,EAAC,EAAE,EAAC,EAAC,EAAC,IAAI,EAAC,MAAM,EAAC,KAAK,EAAC,CAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,CAAC,EAAC,WAAW,EAAC,EAAE,EAAC,EAAC,EAAC,IAAI,EAAC,MAAM,EAAC,KAAK,EAAC,CAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,CAAC,EAAC,WAAW,EAAC,EAAE,EAAC,EAAC,EAAC,IAAI,EAAC,MAAM,EAAC,KAAK,EAAC,CAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,CAAC,EAAC,WAAW,EAAC,EAAE,EAAC,EAAC,EAAC,IAAI,EAAC,MAAM,EAAC,KAAK,EAAC,CAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,CAAC,EAAC,WAAW,EAAC,EAAE,EAAC,EAAC,EAAC,IAAI,EAAC,MAAM,EAAC,KAAK,EAAC,CAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,CAAC,EAAC,WAAW,EAAC,EAAE,EAAC,EAAC,EAAC,IAAI,EAAC,MAAM,EAAC,KAAK,EAAC,CAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,CAAC,EAAC,WAAW,EAAC,EAAE,EAAC,CAAC,CAAC,CAAA;QAG1tuB,IAAI,CAAC,UAAU,CAAC,OAAO,CAAC,CAAC,EAAC,IAAI,EAAC,MAAM,EAAC,KAAK,EAAC,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,EAAC,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,EAAC,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,EAAC,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,EAAC,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC,EAAC,WAAW,EAAC,CAAC,EAAC,CAAC,CAAC,CAAC;IAKnJ,CAAC;IAGM,yBAAc,GAArB;QACI,EAAE,CAAC,EAAE,CAAC,QAAQ,CAAC,cAAc,EAAE,CAAC;IACpC,CAAC;;IAtSD,0BAA0B;IACX,oBAAS,GAAgB,IAAI,CAAC;IAFpC,UAAU;QADtB,OAAO,CAAC,YAAY,CAAC;OACT,UAAU,CAwStB;IAAD,iBAAC;CAxSD,AAwSC,IAAA;AAxSY,gCAAU","file":"","sourceRoot":"/","sourcesContent":["import { WeChat } from \"../Share/share\";\r\nimport { GameTool } from \"../Tool/GameTool\";\r\n\r\n\r\nconst { ccclass, property } = cc._decorator;\r\n@ccclass('GameConfig')\r\nexport class GameConfig {\r\n //所有控制信息都通过GameAppStart内控制\r\n private static _instance : GameConfig = null;\r\n\r\n static GAME_DATA: any[];\r\n //关卡数据\r\n\r\n\r\n static LEVEL_INFO: { id: string; map: number[][]; min_steps: number}[][];\r\n static CUSTOM_INFO: {\r\n moveSpeed: number; //洪峰移动速度\r\n waitTime: number; //洪峰冲击倒计时\r\n fastPath: number; //最短路径\r\n }[];\r\n static TIME_INFO: {\r\n waterSpeed: number[]; //洪峰速度\r\n totalTime: number; //游戏总时长\r\n waterTime: number[]; //洪峰来的倒计时\r\n roadSpeed: number; //河道修筑速度\r\n ReinforceSpeed: number; //加固时间速度\r\n Xi_SoilSpeed: number;\r\n };\r\n //用于盛放埋点数据上传,每次上传后清空\r\n static CLICK_DATA: {\r\n type: number; //上传数据类型\r\n success: boolean; //此局游戏正确与否\r\n round: number; //回合数轮次\r\n getScore: number; //本轮得分,失败为0分\r\n cumulativeScore: number; //本剧游戏总计得分\r\n mapId: string; //地图ID\r\n difficulty: number; //地图难度\r\n optimizedSteps: number; //关卡最短步数\r\n usedSteps: number; //玩家修建总步数\r\n stepList: any[]; //U、D、L、R X 息壤 F 加固\r\n startTime: number; //从游戏开始到玩家操作的第一步截止时间 单位毫秒\r\n submitTime: number; //从第一步操作到提交时间,如果未提交为-1 单位毫秒\r\n duration: number; //游戏总用时(截止到提交) 单位毫秒\r\n drawingBack: number; //后退次数\r\n drawingReset: number; //清空次数\r\n timer: number; //游戏倒计时剩余时长 秒\r\n };\r\n static GM_INFO: {\r\n // isEnd: false,\r\n mean_Time: number; //平均放箭速度\r\n total: number; //总共对的个数\r\n currSeed: number; //用于随机数种子\r\n gameId: string; //游戏ID\r\n userId: number; //用户ID\r\n guide: boolean; //是否有引导\r\n url: string; //访问域名\r\n success: boolean; //用户游戏成功与否\r\n matchId: any; //用于埋点上传的ID\r\n custom: number; //用于测试跳关卡\r\n round: number; //回合数\r\n level: number; //具体游戏内进行到第几步 \r\n stepTimeList: number; //整局游戏用时,由于涉及场景切换,数据需要保留\r\n successList: any[]; //整局胜负\r\n fen: number; //小局得分\r\n score: number; //总得分\r\n igniteCount: number; //玩家总计成功点火数\r\n min_Steps: number; //每次上一把最小步数\r\n min_Time: number; //每一把上次距离洪峰到来时间\r\n };\r\n\r\n\r\n\r\n\r\n //游戏内信息\r\n\r\n\r\n\r\n static get Instance()\r\n {\r\n if (this._instance == null)\r\n {\r\n this._instance = new GameConfig();\r\n }\r\n return this._instance;\r\n }\r\n //getSeedRandom\r\n static init(Authentication){\r\n this.CLICK_init();\r\n this.LEVEL_INFO_init();\r\n this.GM_INFO_init();\r\n var self = this;\r\n // cc.resources.load('Json/CLICK_DATA', (err: any, res: cc.JsonAsset) => {\r\n // if (err) {\r\n // return;\r\n // }\r\n // let jsonData: object = res.json!;\r\n // self.CLICK_DATA = jsonData[\"data\"];\r\n // })\r\n // cc.resources.load('Json/LEVEL_INFO', (err: any, res: cc.JsonAsset) => {\r\n // if (err) {\r\n // return;\r\n // }\r\n \r\n // let jsonData: object = res.json!;\r\n // self.LEVEL_INFO = jsonData[\"data\"];\r\n // })\r\n // cc.resources.load('Json/GM_INFO', (err: any, res: cc.JsonAsset) => {\r\n // if (err) {\r\n // if(!Authentication) self.Authentication();\r\n // return;\r\n // }\r\n \r\n // let jsonData: object = res.json!;\r\n // self.GM_INFO = jsonData[\"data\"];\r\n // cc.fx.GameTool.getCustom(false);\r\n // if(!Authentication) self.Authentication();\r\n // })\r\n\r\n //GAME_DATA 废弃了,暂时不删除以防后面修改回 一整局传一次\r\n this.GAME_DATA = [\r\n ]\r\n this.CUSTOM_INFO = [\r\n //第一难度\r\n {\r\n moveSpeed: 0, //洪峰移动速度\r\n waitTime: 20, //洪峰冲击倒计时\r\n fastPath: 5 //最短路径\r\n },\r\n //第二难度\r\n {\r\n moveSpeed: 0, //洪峰移动速度\r\n waitTime: 20, //洪峰冲击倒计时\r\n fastPath: 5 //最短路径\r\n },\r\n //第三难度\r\n {\r\n moveSpeed: 0, //洪峰移动速度\r\n waitTime: 20, //洪峰冲击倒计时\r\n fastPath: 5 //最短路径\r\n },\r\n //第四难度\r\n {\r\n moveSpeed: 0, //洪峰移动速度\r\n waitTime: 20, //洪峰冲击倒计时\r\n fastPath: 5 //最短路径\r\n },\r\n //第五难度\r\n {\r\n moveSpeed: 0, //洪峰移动速度\r\n waitTime: 20, //洪峰冲击倒计时\r\n fastPath: 5 //最短路径\r\n },\r\n //第六难度\r\n {\r\n moveSpeed: 0, //洪峰移动速度\r\n waitTime: 20, //洪峰冲击倒计时\r\n fastPath: 5 //最短路径\r\n },\r\n //第七难度 \r\n {\r\n moveSpeed: 0, //洪峰移动速度\r\n waitTime: 20, //洪峰冲击倒计时\r\n fastPath: 5 //最短路径\r\n },\r\n //第八难度\r\n {\r\n moveSpeed: 0, //洪峰移动速度\r\n waitTime: 20, //洪峰冲击倒计时\r\n fastPath: 5 //最短路径\r\n },\r\n //第九难度\r\n {\r\n moveSpeed: 0, //洪峰移动速度\r\n waitTime: 20, //洪峰冲击倒计时\r\n fastPath: 5 //最短路径\r\n },\r\n //第十难度\r\n {\r\n moveSpeed: 0, //洪峰移动速度\r\n waitTime: 20, //洪峰冲击倒计时\r\n fastPath: 5 //最短路径\r\n } \r\n ]\r\n WeChat.setShare(location.href);\r\n if(!Authentication) self.Authentication();\r\n }\r\n \r\n //数据备用\r\n static GM_INFO_init() {\r\n this.GM_INFO = {\r\n // isEnd: false,\r\n mean_Time: 0, //平均放箭速度\r\n total: 0, //总共对的个数\r\n currSeed: 200000, //用于随机数种子\r\n gameId: \"100012\", //游戏ID\r\n userId: 0, //用户ID\r\n guide: false, //是否有引导\r\n url: \"https://api.sparkus.cn\",//访问域名\r\n success: false, //用户游戏成功与否\r\n matchId: null, //用于埋点上传的ID\r\n custom: 0, //用于测试跳关卡\r\n round:0, //回合数\r\n level: 0, //具体游戏内进行到第几步 \r\n stepTimeList:0, //整局游戏用时,由于涉及场景切换,数据需要保留\r\n successList:[], //整局胜负\r\n fen:0, //小局得分\r\n score:0, //总得分\r\n igniteCount: 0, //玩家总计成功点火数\r\n min_Steps:0, //每次上一把最小步数\r\n min_Time:0 //每一把上次距离洪峰到来时间\r\n };\r\n\r\n }\r\n static GM_INFO_SET(key,value) {\r\n this.GM_INFO[key] = value;\r\n }\r\n static CLICK_init() {\r\n this.CLICK_DATA =\r\n {\r\n type: 1, //上传数据类型\r\n success: false, //此局游戏正确与否\r\n round: 0, //回合数轮次\r\n getScore: 0, //本轮得分,失败为0分\r\n cumulativeScore: 0, //本剧游戏总计得分\r\n mapId: \"\", //地图ID\r\n difficulty: 0, //地图难度\r\n optimizedSteps: 0, //关卡最短步数\r\n usedSteps: 0, //玩家修建总步数\r\n stepList: [], //U、D、L、R X 息壤 F 加固\r\n startTime:-1, //从游戏开始到玩家操作的第一步截止时间 单位毫秒\r\n submitTime:-1, //从第一步操作到提交时间,如果未提交为-1 单位毫秒\r\n duration:0, //游戏总用时(截止到提交) 单位毫秒 如果未他移交则为时间上限\r\n drawingBack:0, //后退次数\r\n drawingReset:0, //清空次数\r\n timer: 0, //测评倒计时剩余时间 去秒\r\n }\r\n }\r\n\r\n static CLICK_SET(key,value) {\r\n this.CLICK_DATA[key] = value;\r\n }\r\n\r\n static LEVEL_INFO_init() {\r\n this.TIME_INFO = {\r\n waterSpeed:[0.3,0.25,0.2,0.18,0.16,0.14,0.12,0.1], //洪峰速度\r\n totalTime: 120, //游戏总时长\r\n waterTime:[10,12,14,16,18,20,20,20], //洪峰来的倒计时\r\n roadSpeed:0.2, //河道修筑速度\r\n ReinforceSpeed:0.2, //加固时间速度\r\n Xi_SoilSpeed:0.2, //息壤时间速度\r\n }\r\n /*\r\n moveSpeed: 0, //洪峰移动速度\r\n waitTime: 20, //洪峰冲击倒计时\r\n fastPath: 5 //最短路径\r\n */ \r\n // this.LEVEL_INFO = [\r\n // [ \r\n // {\r\n // \"id\": 1001,\r\n // \"map\": [\r\n // [0,0,0,0,0,0],\r\n // [0,0,0,0,0,4],\r\n // [0,0,3,0,3,0],\r\n // [0,0,0,0,0,0],\r\n // [0,0,0,3,0,0],\r\n // [0,0,0,0,0,0],\r\n // [0,0,2,0,0,0],\r\n // [0,0,0,0,0,0],\r\n // [1,0,0,0,0,0]\r\n // ]\r\n // },\r\n // {\r\n // \"id\": 1002,\r\n // \"map\": [\r\n // [0,0,0,0,0,0,0,0,4],\r\n // [0,0,0,0,0,0,0,0,0],\r\n // [0,0,0,0,0,0,0,0,0],\r\n // [0,0,0,0,0,0,0,0,0],\r\n // [0,0,0,0,0,0,0,0,0],\r\n // [0,1,0,0,0,0,0,0,0]\r\n // ]\r\n // }\r\n // ],\r\n\r\n \r\n // ]\r\n\r\n this.LEVEL_INFO = [[{\"id\":\"1001\",\"map\":[[0,4,0,0],[0,0,0,0],[0,0,0,0],[0,0,1,0]],\"min_steps\":3},{\"id\":\"1002\",\"map\":[[1,0,0,0],[0,0,0,4],[0,0,0,0],[0,0,0,0]],\"min_steps\":3},{\"id\":\"1004\",\"map\":[[1,0,0,0],[0,0,0,0],[0,0,0,0],[0,4,0,0]],\"min_steps\":3},{\"id\":\"1006\",\"map\":[[4,0,0,0],[0,0,0,0],[0,0,0,0],[0,1,0,0]],\"min_steps\":3},{\"id\":\"1003\",\"map\":[[1,0,0,0],[0,0,0,0],[0,0,0,0],[0,0,0,4]],\"min_steps\":4},{\"id\":\"1005\",\"map\":[[1,0,0,0],[0,0,0,0],[0,0,0,4],[0,0,0,0]],\"min_steps\":4},{\"id\":\"1007\",\"map\":[[0,4,0,0],[0,0,0,0],[0,0,0,0],[0,0,0,1]],\"min_steps\":4},{\"id\":\"1008\",\"map\":[[0,0,0,4],[0,0,0,0],[0,0,0,0],[1,0,0,0]],\"min_steps\":4}],[{\"id\":\"2001\",\"map\":[[0,0,0,0,1],[0,0,0,0,0],[0,0,3,0,3],[0,0,0,0,0],[4,0,0,0,3]],\"min_steps\":4},{\"id\":\"2002\",\"map\":[[0,1,0,0,0],[0,0,0,0,0],[3,3,0,0,4],[0,0,0,0,0],[3,0,0,0,0]],\"min_steps\":4},{\"id\":\"2009\",\"map\":[[0,3,0,0,4],[3,0,0,0,0],[0,0,0,0,0],[1,0,0,0,0],[0,3,0,0,0]],\"min_steps\":4},{\"id\":\"2010\",\"map\":[[0,0,0,0,1],[0,0,0,0,0],[0,0,0,0,0],[0,3,0,3,0],[4,0,3,0,0]],\"min_steps\":4},{\"id\":\"2011\",\"map\":[[4,3,1,0,0],[0,0,0,0,3],[0,0,0,3,0],[0,0,0,0,0],[0,0,0,0,0]],\"min_steps\":4},{\"id\":\"2021\",\"map\":[[0,0,0,1,0],[0,0,3,0,0],[0,0,0,3,3],[0,0,0,0,0],[0,4,0,0,0]],\"min_steps\":4},{\"id\":\"2004\",\"map\":[[1,0,0,0,0],[0,0,0,0,3],[3,0,0,0,0],[0,0,0,0,0],[0,0,0,0,4]],\"min_steps\":5},{\"id\":\"2012\",\"map\":[[0,3,0,4,0],[0,0,0,3,0],[1,0,3,0,0],[0,0,0,0,0],[0,0,0,0,0]],\"min_steps\":5},{\"id\":\"2013\",\"map\":[[0,0,0,0,0],[1,0,0,0,0],[0,0,0,3,3],[3,0,0,0,0],[0,0,0,4,0]],\"min_steps\":5},{\"id\":\"2014\",\"map\":[[3,0,1,0,0],[0,3,0,0,0],[0,0,0,0,0],[4,0,0,3,0],[0,0,0,0,0]],\"min_steps\":5},{\"id\":\"2015\",\"map\":[[3,0,0,0,1],[3,0,0,0,0],[0,0,0,0,0],[4,3,0,0,0],[3,0,0,0,0]],\"min_steps\":5},{\"id\":\"2016\",\"map\":[[0,0,0,0,0],[1,0,3,0,0],[3,0,0,0,3],[0,0,0,0,0],[0,0,0,0,4]],\"min_steps\":5},{\"id\":\"2017\",\"map\":[[0,3,0,0,0],[4,0,0,0,0],[0,0,0,0,0],[3,0,3,0,0],[3,0,0,0,1]],\"min_steps\":5},{\"id\":\"2018\",\"map\":[[0,3,4,3,3],[0,0,0,0,0],[0,0,0,0,0],[0,0,0,0,0],[0,0,3,0,1]],\"min_steps\":5},{\"id\":\"2019\",\"map\":[[3,0,0,4,0],[0,0,0,3,0],[0,0,0,0,0],[0,0,0,0,0],[1,0,3,0,0]],\"min_steps\":5},{\"id\":\"2020\",\"map\":[[4,0,3,0,1],[0,0,0,0,3],[0,0,0,0,0],[0,0,0,0,0],[0,0,3,0,0]],\"min_steps\":5},{\"id\":\"2003\",\"map\":[[1,0,0,3,0],[0,0,3,0,0],[0,0,0,0,0],[0,0,0,0,0],[0,3,0,4,0]],\"min_steps\":6},{\"id\":\"2005\",\"map\":[[0,3,0,0,0],[1,0,0,0,0],[0,0,0,3,0],[0,0,0,0,0],[0,3,0,4,0]],\"min_steps\":6},{\"id\":\"2006\",\"map\":[[0,1,0,0,0],[0,0,0,0,3],[0,0,0,0,3],[0,0,0,0,0],[0,0,0,3,4]],\"min_steps\":6},{\"id\":\"2007\",\"map\":[[3,0,0,0,1],[0,0,0,0,3],[0,0,0,0,0],[0,0,0,0,0],[4,3,0,0,0]],\"min_steps\":6},{\"id\":\"2008\",\"map\":[[3,4,0,0,0],[0,0,0,0,3],[0,0,0,3,1],[0,0,0,0,0],[0,0,0,0,0]],\"min_steps\":6},{\"id\":\"2022\",\"map\":[[0,0,0,0,0],[1,3,0,0,3],[0,0,0,0,0],[0,0,0,0,0],[0,0,3,4,0]],\"min_steps\":6}],[{\"id\":\"3001\",\"map\":[[3,0,2,3,4],[0,0,0,2,2],[2,3,3,3,3],[0,0,2,0,2],[1,0,2,3,0]],\"min_steps\":5},{\"id\":\"3002\",\"map\":[[3,0,3,2,0],[1,2,0,3,2],[2,3,0,0,4],[2,0,2,2,0],[3,3,0,3,0]],\"min_steps\":5},{\"id\":\"3003\",\"map\":[[0,2,3,3,4],[2,2,0,0,0],[1,3,3,3,2],[2,2,3,2,3],[0,0,0,0,0]],\"min_steps\":5},{\"id\":\"3004\",\"map\":[[3,2,2,1,0],[0,0,3,2,2],[3,0,2,3,0],[3,0,0,3,3],[0,2,4,0,2]],\"min_steps\":5},{\"id\":\"3005\",\"map\":[[3,0,3,0,0],[2,3,0,0,1],[0,2,2,2,3],[4,2,0,0,2],[3,3,0,3,2]],\"min_steps\":5},{\"id\":\"3008\",\"map\":[[3,3,3,0,1],[0,0,0,0,3],[2,2,3,2,2],[0,2,3,0,3],[4,2,2,0,0]],\"min_steps\":5},{\"id\":\"3009\",\"map\":[[1,0,3,3,2],[3,0,2,0,0],[0,3,3,2,4],[0,0,3,0,2],[2,2,2,0,3]],\"min_steps\":5},{\"id\":\"3010\",\"map\":[[3,0,2,0,4],[1,2,3,0,3],[2,0,3,2,0],[0,3,0,0,3],[2,0,2,3,2]],\"min_steps\":5},{\"id\":\"3006\",\"map\":[[2,0,2,2,0],[1,2,3,0,0],[3,3,0,3,2],[3,0,0,3,2],[2,0,3,0,4]],\"min_steps\":6},{\"id\":\"3007\",\"map\":[[1,2,0,3,3],[2,2,0,2,0],[2,3,2,0,3],[0,3,2,0,4],[0,0,3,0,3]],\"min_steps\":6},{\"id\":\"3011\",\"map\":[[2,3,0,1,0],[0,0,0,0,0],[3,0,0,0,3],[0,2,0,3,2],[4,3,3,2,2]],\"min_steps\":6},{\"id\":\"3012\",\"map\":[[0,2,1,0,3],[0,3,0,0,3],[3,2,3,2,0],[0,2,0,3,0],[2,0,0,0,4]],\"min_steps\":6},{\"id\":\"3013\",\"map\":[[0,2,1,0,3],[0,3,0,0,3],[3,2,3,2,0],[0,2,0,3,0],[2,0,0,0,4]],\"min_steps\":6},{\"id\":\"3014\",\"map\":[[1,0,3,3,4],[2,3,0,3,0],[0,2,2,0,0],[3,3,0,0,2],[2,0,0,0,0]],\"min_steps\":6},{\"id\":\"3015\",\"map\":[[2,3,0,0,0],[0,0,2,3,0],[4,0,3,0,3],[2,0,2,2,3],[0,3,0,0,1]],\"min_steps\":6},{\"id\":\"3016\",\"map\":[[3,0,2,0,2],[2,0,0,0,3],[0,2,3,0,1],[4,0,0,3,0],[3,3,0,0,2]],\"min_steps\":6},{\"id\":\"3017\",\"map\":[[0,3,0,0,2],[3,0,2,0,4],[1,3,3,0,0],[2,0,0,2,0],[3,2,3,0,0]],\"min_steps\":6},{\"id\":\"3018\",\"map\":[[4,2,0,0,0],[0,0,0,3,2],[0,3,0,0,3],[3,2,3,2,0],[3,0,2,1,0]],\"min_steps\":7},{\"id\":\"3019\",\"map\":[[0,4,0,3,2],[0,2,0,0,0],[3,0,3,0,2],[3,3,2,3,1],[2,0,0,0,0]],\"min_steps\":7},{\"id\":\"3020\",\"map\":[[0,2,0,1,0],[0,0,0,3,2],[3,0,3,3,3],[3,0,0,0,2],[0,2,2,4,0]],\"min_steps\":7},{\"id\":\"3021\",\"map\":[[3,2,0,2,1],[3,2,0,3,2],[3,0,0,2,3],[0,0,0,0,4],[0,0,3,0,0]],\"min_steps\":7},{\"id\":\"3022\",\"map\":[[2,0,2,2,2],[0,0,3,0,0],[3,0,3,0,0],[1,0,3,2,4],[0,0,3,3,0]],\"min_steps\":7},{\"id\":\"3023\",\"map\":[[1,2,0,2,0],[3,3,3,0,0],[0,2,3,2,0],[4,0,0,0,3],[0,0,2,0,3]],\"min_steps\":7},{\"id\":\"3024\",\"map\":[[1,0,3,0,3],[2,2,0,0,0],[0,3,0,3,0],[2,0,3,2,0],[2,3,0,4,0]],\"min_steps\":7}],[{\"id\":\"4001\",\"map\":[[1,3,0,0,2,0],[0,3,0,0,2,0],[0,0,2,0,3,4],[0,0,0,2,0,0],[3,3,0,0,2,0,3],[0,0,2,2,2,0]],\"min_steps\":5},{\"id\":\"4002\",\"map\":[[0,2,2,2,2,0],[1,0,0,0,2,0],[0,0,0,0,0,3],[0,0,0,0,2,0],[0,3,3,0,2,0],[3,0,0,4,2,0]],\"min_steps\":5},{\"id\":\"4003\",\"map\":[[0,0,0,0,0,0],[2,0,0,0,0,2],[0,3,3,3,2,4],[0,3,0,3,2,0],[0,0,0,0,0,3],[0,0,2,3,0,1]],\"min_steps\":6},{\"id\":\"4004\",\"map\":[[2,0,3,0,0,4],[0,2,3,3,0,0],[0,3,0,0,0,0],[3,0,0,0,2,2],[3,0,0,2,0,0],[1,0,0,3,0,0]],\"min_steps\":6},{\"id\":\"4006\",\"map\":[[4,3,0,3,0,0],[0,2,0,3,0,0],[3,0,0,0,3,2],[0,3,0,0,2,1],[0,0,2,0,0,0],[0,0,0,0,2,3]],\"min_steps\":7},{\"id\":\"4007\",\"map\":[[4,2,2,0,2,0],[0,3,0,2,0,0],[0,2,3,0,3,0],[0,0,3,0,0,3],[0,0,3,0,0,0],[0,0,0,3,0,1]],\"min_steps\":7},{\"id\":\"4014\",\"map\":[[0,0,3,0,2,2],[0,2,3,0,0,1],[0,3,3,0,0,3],[0,2,0,0,0,0],[0,0,0,3,3,0],[2,0,4,0,0,0]],\"min_steps\":7},{\"id\":\"4015\",\"map\":[[2,0,0,0,0,0],[0,0,0,0,3,1],[3,0,2,0,0,3],[2,0,0,2,3,0],[3,0,3,0,0,0],[2,0,0,3,4,0]],\"min_steps\":7},{\"id\":\"4005\",\"map\":[[1,0,0,0,0,2],[0,0,0,2,0,0],[3,2,0,0,0,0],[0,3,0,0,2,3],[0,0,3,3,0,0],[3,0,0,2,3,4]],\"min_steps\":8},{\"id\":\"4008\",\"map\":[[0,0,2,3,0,0],[0,3,0,2,3,2],[3,0,0,0,0,0],[0,3,0,0,3,4],[0,0,0,0,0,3],[0,2,0,2,0,1]],\"min_steps\":8},{\"id\":\"4009\",\"map\":[[0,3,3,0,0,4],[2,0,0,3,0,0],[2,0,0,3,0,0],[1,0,0,0,3,0],[0,0,2,3,0,2],[2,3,0,0,0,0]],\"min_steps\":8},{\"id\":\"4010\",\"map\":[[0,0,1,3,2,0],[3,0,0,0,3,2],[3,0,0,0,0,3],[2,0,0,0,0,0],[0,2,0,0,3,0],[0,2,0,3,4,0]],\"min_steps\":8},{\"id\":\"4011\",\"map\":[[1,0,0,0,0,0],[3,3,0,0,0,2],[0,0,0,3,0,2],[2,0,3,0,3,0],[2,0,3,0,0,3],[4,0,0,0,0,2]],\"min_steps\":8},{\"id\":\"4016\",\"map\":[[0,0,3,0,0,1],[2,3,0,0,3,0],[2,0,0,0,0,2],[0,3,0,0,0,0],[0,3,0,0,2,0],[0,4,3,0,2,3]],\"min_steps\":8},{\"id\":\"4017\",\"map\":[[1,2,3,0,3,2],[3,0,0,0,0,0],[0,0,0,0,0,3],[3,3,0,3,2,0],[0,2,0,0,0,0],[4,0,0,2,0,0]],\"min_steps\":8},{\"id\":\"4018\",\"map\":[[0,0,1,0,2,0],[0,0,0,0,0,0],[0,0,3,2,3,0],[3,0,0,3,0,0],[2,3,0,2,0,0],[4,2,0,3,3,0]],\"min_steps\":8},{\"id\":\"4012\",\"map\":[[2,2,3,0,2,0],[0,3,0,0,0,0],[0,0,0,0,3,4],[0,2,0,3,0,3],[0,0,0,0,0,0],[0,0,2,3,3,1]],\"min_steps\":9},{\"id\":\"4013\",\"map\":[[0,0,0,0,3,0],[4,2,0,3,0,0],[3,2,0,0,0,0],[1,3,0,3,0,0],[2,0,0,2,0,0],[3,0,0,3,2,0]],\"min_steps\":9},{\"id\":\"4019\",\"map\":[[3,4,0,0,0,2],[3,2,0,0,2,0],[0,3,0,3,0,2],[0,0,3,0,0,0],[0,0,0,0,3,0],[1,3,0,0,0,2]],\"min_steps\":9},{\"id\":\"4020\",\"map\":[[0,2,0,1,0,0],[2,3,0,0,2,0],[3,0,0,0,0,0],[0,3,3,0,0,3],[2,0,0,3,0,0],[4,3,0,0,0,2]],\"min_steps\":9}],[{\"id\":\"5001\",\"map\":[[1,0,0,0,0,0],[0,2,2,3,0,2],[3,2,0,0,3,3],[0,0,0,0,0,4],[0,0,0,2,2,0],[3,0,2,2,0,0]],\"min_steps\":7},{\"id\":\"5002\",\"map\":[[0,0,0,0,4,3],[3,2,3,0,0,0],[0,2,0,2,3,0],[2,2,0,0,0,0],[3,2,0,0,0,0],[3,0,0,2,0,3],[2,0,0,3,0,1]],\"min_steps\":7},{\"id\":\"5015\",\"map\":[[1,2,3,2,2,0],[3,0,0,0,0,3],[0,0,0,0,0,0],[0,0,0,0,0,2],[0,3,0,3,2,0],[0,0,0,0,0,0],[0,2,0,4,0,3]],\"min_steps\":7},{\"id\":\"5016\",\"map\":[[3,0,1,0,0,0],[0,2,0,2,0,0],[0,2,0,2,0,3],[0,0,0,0,0,0],[0,2,0,0,3,3],[0,0,0,0,2,3],[0,0,0,3,0,4]],\"min_steps\":7},{\"id\":\"5004\",\"map\":[[0,3,3,2,3,0],[2,0,2,0,3,0],[1,0,3,2,0,0],[3,3,0,0,0,2],[0,0,0,0,0,0],[0,2,0,0,0,0],[0,0,0,3,4,0]],\"min_steps\":8},{\"id\":\"5005\",\"map\":[[0,0,0,0,0,1],[0,0,2,0,2,0],[3,2,2,0,0,0],[3,0,0,3,0,0],[3,3,0,0,0,3],[4,3,0,0,0,0],[2,0,0,2,3,0]],\"min_steps\":8},{\"id\":\"5008\",\"map\":[[3,0,3,2,0,4],[0,3,0,2,0,2],[0,0,3,0,0,0],[2,0,0,2,0,0],[0,0,3,0,0,0],[0,0,0,3,0,0],[3,2,1,3,0,0]],\"min_steps\":8},{\"id\":\"5012\",\"map\":[[2,3,0,2,0,1],[2,0,0,0,0,0],[2,0,0,3,0,2],[3,0,3,0,0,3],[0,0,0,0,3,3],[3,0,0,0,2,0],[0,0,0,0,0,4]],\"min_steps\":8},{\"id\":\"5013\",\"map\":[[0,0,2,1,2,0],[0,3,0,0,0,0],[2,0,0,0,0,0],[0,0,0,3,0,0],[3,0,0,2,3,0],[3,3,3,2,0,2],[0,0,4,0,0,3]],\"min_steps\":8},{\"id\":\"5018\",\"map\":[[0,2,0,1,0,0],[2,0,0,3,0,0],[0,0,0,0,0,0],[3,0,0,0,0,0],[2,3,0,2,3,3],[2,0,0,0,0,2],[4,3,0,0,0,0]],\"min_steps\":8},{\"id\":\"5019\",\"map\":[[1,3,0,2,3,0],[0,0,0,0,0,2],[0,0,0,0,0,0],[0,0,2,0,0,2],[3,3,0,3,0,2],[4,0,2,0,0,0],[0,0,0,3,0,0]],\"min_steps\":8},{\"id\":\"5029\",\"map\":[[4,3,0,0,0,0],[2,0,0,3,0,2],[3,2,0,3,3,0],[2,0,0,3,0,0],[0,2,0,0,0,0],[2,0,0,0,0,0],[3,0,3,3,0,1]],\"min_steps\":8},{\"id\":\"5030\",\"map\":[[0,0,0,0,0,0],[0,0,2,3,2,0],[0,3,0,0,0,0],[2,2,0,3,0,0],[0,3,3,0,3,4],[0,0,2,0,0,3],[3,1,0,3,0,2]],\"min_steps\":8},{\"id\":\"5006\",\"map\":[[0,3,0,0,0,0],[1,0,0,0,3,0],[0,0,3,2,0,0],[3,0,0,2,2,0],[0,3,0,3,3,0],[0,2,0,0,0,0],[4,0,3,0,2,2]],\"min_steps\":9},{\"id\":\"5007\",\"map\":[[0,2,0,3,0,0],[1,2,0,2,0,0],[0,3,0,3,0,0],[3,0,0,0,0,3],[0,0,3,2,0,2],[4,0,0,3,0,3],[0,2,0,0,0,0]],\"min_steps\":9},{\"id\":\"5010\",\"map\":[[0,3,1,0,0,0],[0,2,3,3,0,0],[0,2,0,3,0,0],[0,2,0,2,0,3],[0,2,0,0,3,0],[0,3,0,0,0,0],[0,2,4,0,0,3]],\"min_steps\":9},{\"id\":\"5011\",\"map\":[[1,0,3,0,3,0],[0,2,0,0,0,0],[2,0,2,0,3,0],[0,3,2,0,0,0],[3,0,0,0,0,2],[4,0,3,0,0,0],[3,2,0,0,0,3]],\"min_steps\":9},{\"id\":\"5014\",\"map\":[[0,1,0,0,0,0],[2,0,2,0,0,2],[2,3,0,3,0,0],[0,3,0,0,0,3],[0,0,0,2,0,3],[0,0,3,0,3,0],[2,0,3,0,0,4]],\"min_steps\":9},{\"id\":\"5017\",\"map\":[[0,0,0,0,0,0],[1,2,3,0,0,2],[0,0,2,0,0,2],[3,0,2,3,0,0],[0,3,3,0,2,0],[0,0,0,0,0,0],[4,0,3,0,0,0]],\"min_steps\":9},{\"id\":\"5028\",\"map\":[[0,0,1,0,0,3],[3,0,0,0,3,4],[0,2,0,2,3,2],[0,3,2,3,3,0],[0,0,0,3,0,0],[0,0,3,0,0,2],[0,0,2,0,0,0]],\"min_steps\":9},{\"id\":\"5003\",\"map\":[[0,0,1,3,0,2],[0,3,3,0,0,0],[0,0,3,2,0,0],[0,0,3,0,0,0],[3,0,0,0,2,2],[0,0,2,3,0,0],[0,2,0,3,0,4]],\"min_steps\":10},{\"id\":\"5009\",\"map\":[[0,2,0,0,0,3],[0,0,3,3,3,4],[0,3,0,0,0,0],[0,3,2,0,0,0],[1,2,3,2,0,3],[2,0,0,0,0,0],[0,0,0,0,2,0]],\"min_steps\":10},{\"id\":\"5021\",\"map\":[[0,0,0,0,0,0],[0,0,0,0,3,0],[3,0,0,0,2,0],[2,0,0,2,3,0],[0,3,0,0,0,2],[0,2,3,0,0,0],[4,3,1,2,0,0]],\"min_steps\":10},{\"id\":\"5022\",\"map\":[[4,0,3,0,0,2],[0,0,0,0,2,0],[0,3,0,2,3,2],[3,0,3,0,3,0],[0,2,0,0,0,0],[0,3,0,3,0,3],[0,2,1,0,0,0]],\"min_steps\":10},{\"id\":\"5023\",\"map\":[[3,0,0,3,3,0],[0,0,3,0,0,3],[2,3,0,0,0,0],[2,2,0,0,2,0],[0,3,0,0,0,0],[2,0,3,0,0,4],[0,1,3,0,2,0]],\"min_steps\":10},{\"id\":\"5024\",\"map\":[[3,0,2,3,0,0],[4,2,0,0,0,3],[2,2,0,0,0,0],[0,0,3,0,0,2],[0,0,0,3,0,3],[0,3,3,0,2,0],[3,0,1,0,0,0]],\"min_steps\":10},{\"id\":\"5020\",\"map\":[[0,0,0,2,0,0],[0,3,0,0,0,3],[0,2,0,0,3,0],[2,0,0,2,3,4],[0,2,3,0,0,0],[0,0,0,3,0,0],[3,2,0,1,3,0]],\"min_steps\":11},{\"id\":\"5025\",\"map\":[[1,0,0,0,3,0],[0,0,0,3,3,2],[3,3,2,0,0,2],[0,0,0,0,0,3],[0,0,2,0,2,0],[0,0,0,0,3,4],[0,3,2,3,0,0]],\"min_steps\":11},{\"id\":\"5026\",\"map\":[[0,3,2,0,0,0],[0,0,2,3,3,0],[2,0,0,2,0,0],[3,2,0,0,3,2],[0,0,0,3,3,1],[0,0,3,0,0,3],[0,0,0,0,0,4]],\"min_steps\":11},{\"id\":\"5027\",\"map\":[[0,0,3,0,0,1],[0,0,0,0,0,3],[2,0,2,0,2,3],[0,0,3,3,0,3],[0,0,0,2,3,0],[0,0,0,2,0,3],[2,0,3,0,4,0]],\"min_steps\":11}],[{\"id\":\"6028\",\"map\":[[0,0,3,0,0,2],[1,3,2,2,0,3],[0,0,3,0,0,2],[0,0,0,0,0,0],[0,0,2,0,3,3],[3,3,3,0,0,0],[4,0,0,0,0,2]],\"min_steps\":8},{\"id\":\"6029\",\"map\":[[0,0,2,0,0,1],[3,2,3,0,0,3],[2,0,3,0,3,0],[3,3,0,0,0,0],[0,0,0,3,3,2],[0,0,0,0,0,2],[0,0,0,4,2,0]],\"min_steps\":8},{\"id\":\"6030\",\"map\":[[0,3,3,0,1,0],[2,3,0,0,3,0],[0,0,0,3,0,2],[0,0,3,0,2,0],[0,0,2,3,3,3],[0,0,0,0,0,0],[4,0,0,2,0,2]],\"min_steps\":8},{\"id\":\"6001\",\"map\":[[0,0,3,3,4,2],[0,0,0,2,0,0],[2,3,3,2,0,0],[0,3,0,0,0,2],[0,0,0,3,2,2],[2,0,0,3,0,2],[1,3,2,0,0,0],[0,0,0,3,0,0]],\"min_steps\":9},{\"id\":\"6012\",\"map\":[[3,0,0,0,2,0],[0,3,0,3,0,0],[0,3,0,0,0,3],[2,0,0,3,2,0],[3,2,2,2,0,0],[3,0,2,0,3,0],[1,2,3,0,2,0],[2,3,0,0,3,4]],\"min_steps\":9},{\"id\":\"6016\",\"map\":[[0,0,1,0,2,3],[0,3,2,0,2,0],[3,3,3,3,0,0],[3,0,0,0,0,0],[2,2,3,0,3,3],[0,0,2,0,2,0],[0,2,0,2,0,3],[3,0,2,0,0,4]],\"min_steps\":9},{\"id\":\"6008\",\"map\":[[0,0,2,0,3,4],[3,3,2,3,0,0],[0,0,0,0,0,3],[0,0,2,3,2,0],[0,0,2,0,3,2],[3,3,0,0,0,2],[0,3,0,0,0,0],[2,1,0,0,0,0]],\"min_steps\":10},{\"id\":\"6013\",\"map\":[[3,0,0,2,2,0],[0,2,0,3,0,2],[0,0,3,2,3,0],[0,3,0,0,3,0],[2,2,3,2,0,0],[0,0,3,3,0,0],[0,2,0,3,2,0],[4,3,3,0,1,0]],\"min_steps\":10},{\"id\":\"6017\",\"map\":[[4,0,0,0,0,3],[0,3,3,0,0,0],[3,0,2,2,0,0],[3,0,2,3,3,2],[3,2,0,2,3,3],[2,0,2,0,0,0],[0,0,0,0,0,3],[2,3,0,2,0,1]],\"min_steps\":10},{\"id\":\"6022\",\"map\":[[0,0,3,4,3,0],[0,3,0,2,2,0],[2,0,2,0,0,3],[0,0,0,0,0,0],[2,3,0,3,2,0],[0,3,0,0,0,0],[0,1,3,0,0,3]],\"min_steps\":10},{\"id\":\"6023\",\"map\":[[0,0,3,1,0,2],[0,0,2,3,0,0],[4,0,3,0,0,0],[2,0,3,0,0,3],[2,0,3,0,3,0],[0,0,0,0,0,0],[2,3,0,2,3,0]],\"min_steps\":10},{\"id\":\"6024\",\"map\":[[0,3,0,2,0,4],[3,0,0,3,3,3],[0,0,2,0,0,0],[2,3,3,0,0,0],[2,0,0,0,0,3],[2,0,3,0,0,1],[0,0,0,0,0,2]],\"min_steps\":10},{\"id\":\"6025\",\"map\":[[4,0,2,0,0,0],[0,0,3,3,0,2],[3,3,0,0,0,3],[0,2,0,2,0,0],[0,0,0,0,3,0],[1,3,0,0,2,2],[0,3,0,0,0,3]],\"min_steps\":10},{\"id\":\"6002\",\"map\":[[0,0,3,3,4,2],[0,0,0,2,0,0],[2,3,3,2,0,0],[0,3,0,0,0,2],[0,0,0,3,2,2],[2,0,0,3,0,2],[1,3,2,0,0,0],[0,0,0,3,0,0]],\"min_steps\":11},{\"id\":\"6006\",\"map\":[[1,0,2,0,0,3],[0,0,0,0,3,0],[3,0,0,3,2,0],[2,3,0,0,0,3],[0,0,3,2,0,3],[0,2,0,3,0,0],[2,3,0,2,0,0],[0,4,0,2,0,0]],\"min_steps\":11},{\"id\":\"6009\",\"map\":[[4,3,0,0,3,0],[0,0,0,0,0,0],[3,3,0,2,0,2],[3,0,0,2,2,0],[2,3,2,0,0,0],[1,3,3,0,0,0],[2,0,0,0,0,0],[3,3,0,0,0,2]],\"min_steps\":11},{\"id\":\"6018\",\"map\":[[2,3,0,0,2,3],[2,0,0,3,0,4],[2,0,0,0,0,0],[0,3,2,0,2,3],[0,0,0,0,0,3],[2,0,3,3,2,3],[0,0,0,3,2,0],[2,3,1,3,0,0]],\"min_steps\":11},{\"id\":\"6026\",\"map\":[[0,1,0,3,0,4],[0,0,3,0,3,0],[2,2,3,2,0,0],[0,0,3,0,3,3],[2,0,0,0,0,2],[0,3,0,0,0,2],[0,0,0,0,0,3]],\"min_steps\":11},{\"id\":\"6027\",\"map\":[[2,1,3,0,0,0],[0,0,0,0,3,0],[3,3,0,0,0,0],[2,2,3,3,3,0],[0,2,0,0,0,0],[3,2,0,0,0,0],[0,4,0,2,3,0]],\"min_steps\":11},{\"id\":\"6031\",\"map\":[[0,1,0,3,0,4],[0,0,3,0,3,0],[2,2,3,2,0,0],[0,0,3,0,3,3],[2,0,0,0,0,2],[0,3,0,0,0,2],[0,0,0,0,0,3]],\"min_steps\":11},{\"id\":\"6003\",\"map\":[[0,2,2,0,0,4],[0,3,3,0,0,0],[3,2,0,0,0,0],[0,3,0,0,3,3],[0,2,0,3,0,0],[2,3,0,0,0,0],[0,2,3,0,0,0],[1,2,3,0,2,0]],\"min_steps\":12},{\"id\":\"6011\",\"map\":[[3,0,2,2,3,2],[1,0,0,0,0,3],[0,0,3,2,3,0],[3,0,3,0,0,0],[4,3,2,3,0,2],[0,0,2,0,2,3],[2,0,0,0,0,3],[0,0,0,2,0,3]],\"min_steps\":12},{\"id\":\"6014\",\"map\":[[4,3,0,0,0,0],[0,2,2,2,3,0],[0,3,0,0,0,0],[2,3,2,3,0,0],[3,3,0,0,0,3],[0,0,0,2,3,0],[0,3,2,0,2,2],[2,3,3,0,0,1]],\"min_steps\":12},{\"id\":\"6020\",\"map\":[[3,2,0,0,0,0],[4,0,2,0,2,0],[3,3,0,0,2,2],[0,0,3,0,2,0],[0,0,0,0,2,3],[0,2,3,3,0,0],[2,3,0,0,3,3],[1,3,3,2,0,0]],\"min_steps\":12},{\"id\":\"6021\",\"map\":[[4,3,0,0,0,0],[0,2,2,2,3,0],[0,3,0,0,0,0],[2,3,2,3,0,0],[3,3,0,0,0,3],[0,0,0,2,3,0],[0,3,2,0,2,2],[2,3,3,0,0,1]],\"min_steps\":12},{\"id\":\"6004\",\"map\":[[0,3,0,2,2,0],[0,0,0,0,0,2],[3,0,0,0,0,0],[0,3,0,0,0,0],[0,3,3,0,3,0],[2,0,0,0,3,2],[2,0,0,0,3,1],[4,3,0,2,3,2]],\"min_steps\":13},{\"id\":\"6005\",\"map\":[[2,2,4,2,3,0],[0,3,3,2,0,0],[3,0,0,3,0,2],[3,0,2,3,3,0],[0,0,0,0,0,0],[0,0,0,0,2,3],[3,2,0,0,0,1],[0,0,0,0,0,0]],\"min_steps\":13},{\"id\":\"6007\",\"map\":[[3,2,0,0,3,4],[0,2,0,0,3,0],[0,0,2,0,2,0],[2,0,0,3,0,3],[0,0,2,0,3,2],[0,2,3,3,0,1],[0,0,0,0,0,3],[0,0,0,3,0,0]],\"min_steps\":13},{\"id\":\"6010\",\"map\":[[0,3,1,0,0,0],[0,2,3,3,0,0],[2,0,0,3,0,0],[0,2,0,0,3,2],[3,0,0,0,0,2],[3,2,0,0,0,0],[4,0,0,3,2,0],[0,3,0,3,2,0]],\"min_steps\":13},{\"id\":\"6015\",\"map\":[[4,0,0,0,2,3],[0,0,3,0,0,3],[2,2,3,2,0,0],[3,0,0,0,3,2],[2,3,0,3,0,2],[0,0,3,0,2,3],[0,0,0,0,0,3],[1,2,2,3,0,0]],\"min_steps\":14},{\"id\":\"6019\",\"map\":[[4,0,0,0,2,3],[0,0,3,0,0,3],[2,2,3,2,0,0],[3,0,0,0,3,2],[2,3,0,3,0,2],[0,0,3,0,2,3],[0,0,0,0,0,3],[1,2,2,3,0,0]],\"min_steps\":14}],[{\"id\":\"7001\",\"map\":[[0,2,0,0,2,0],[3,3,0,2,0,4],[0,0,0,0,0,3],[0,0,0,0,3,2],[0,0,0,0,0,2],[3,3,0,0,0,2],[0,3,3,2,2,0],[0,3,2,2,0,3],[1,2,0,0,2,0]],\"min_steps\":9},{\"id\":\"7023\",\"map\":[[3,2,0,2,0,1],[0,3,3,2,3,3],[0,3,3,0,3,0],[0,2,2,2,0,3],[0,3,2,0,0,3],[0,0,0,0,2,0],[2,2,2,3,0,0],[2,0,3,0,3,0],[0,0,3,0,0,4]],\"min_steps\":9},{\"id\":\"7003\",\"map\":[[1,3,2,0,0,0],[0,0,0,2,0,0],[0,3,0,2,0,0],[3,3,3,2,0,3],[2,3,3,0,3,0],[0,0,0,0,0,2],[3,0,2,2,3,2],[4,2,0,0,2,0],[0,0,2,0,0,2]],\"min_steps\":10},{\"id\":\"7002\",\"map\":[[1,0,3,2,0,2],[0,3,0,0,0,2],[0,2,0,3,2,2],[0,3,0,0,0,0],[0,2,0,3,3,0],[3,2,2,0,0,3],[0,3,2,3,0,2],[0,0,0,0,0,0],[2,0,0,2,3,4]],\"min_steps\":11},{\"id\":\"7005\",\"map\":[[0,0,0,0,0,0],[0,0,0,3,2,4],[0,3,0,0,3,3],[3,3,0,2,0,3],[0,2,2,0,3,2],[0,0,3,0,2,0],[0,2,0,2,0,0],[3,0,0,2,2,0],[0,0,2,2,0,1]],\"min_steps\":11},{\"id\":\"7006\",\"map\":[[0,0,0,0,2,3],[3,2,0,0,0,0],[0,2,0,3,3,4],[0,0,0,2,2,3],[2,0,0,0,0,0],[0,0,0,0,3,0],[3,0,3,3,0,2],[3,0,2,2,0,2],[0,0,2,2,0,1]],\"min_steps\":11},{\"id\":\"7007\",\"map\":[[2,0,2,0,2,0],[0,0,2,0,3,2],[0,0,0,3,3,0],[0,2,0,0,3,2],[3,0,0,2,0,0],[3,3,0,0,0,2],[0,2,0,3,2,0],[0,2,3,0,0,0],[4,3,0,0,1,0]],\"min_steps\":11},{\"id\":\"7026\",\"map\":[[2,4,2,0,0,0],[0,3,3,0,3,0],[3,3,3,0,0,3],[2,0,3,0,0,2],[0,2,2,3,0,3],[1,0,2,0,2,0],[3,3,0,0,0,0],[2,0,0,0,3,2],[2,0,3,2,3,0]],\"min_steps\":11},{\"id\":\"7027\",\"map\":[[2,0,0,0,0,2],[0,0,3,3,2,3],[0,0,3,0,0,1],[0,3,0,3,3,3],[0,0,0,0,0,2],[3,3,2,0,0,2],[3,3,0,2,0,3],[0,3,2,2,2,0],[0,3,4,2,2,0]],\"min_steps\":11},{\"id\":\"7029\",\"map\":[[0,0,1,0,0,0],[3,3,0,0,3,2],[3,0,0,0,2,0],[0,2,0,2,2,0],[2,3,3,3,0,3],[3,2,2,3,0,0],[2,0,3,0,0,3],[3,2,0,0,0,3],[4,2,0,0,3,2]],\"min_steps\":11},{\"id\":\"7008\",\"map\":[[1,0,0,0,2,0],[3,3,2,0,3,0],[3,0,3,0,0,0],[0,0,3,0,0,3],[2,2,0,3,0,3],[2,0,2,0,0,0],[2,0,2,0,0,2],[2,0,0,2,0,0],[4,3,0,0,0,2]],\"min_steps\":12},{\"id\":\"7010\",\"map\":[[4,3,0,3,1,0],[0,0,3,3,0,0],[0,3,0,0,2,2],[2,0,3,0,0,2],[3,2,0,2,3,0],[0,0,0,0,0,0],[0,2,0,2,2,0],[0,2,0,3,0,2],[0,2,0,0,0,3]],\"min_steps\":12},{\"id\":\"7016\",\"map\":[[2,3,4,0,0,3],[0,3,2,2,3,1],[0,2,2,3,0,0],[3,0,3,0,2,0],[3,0,0,0,2,2],[0,0,3,3,0,0],[0,3,0,3,2,0],[0,0,3,0,3,2],[0,2,2,3,0,0]],\"min_steps\":12},{\"id\":\"7020\",\"map\":[[2,3,0,4,3,3],[3,3,0,0,3,0],[0,2,0,3,2,0],[0,3,0,0,0,2],[3,2,0,0,0,0],[0,0,3,2,0,3],[0,3,0,3,2,0],[3,2,2,0,0,2],[0,0,2,1,3,2]],\"min_steps\":12},{\"id\":\"7024\",\"map\":[[1,3,2,0,0,3],[2,3,2,0,0,0],[0,2,3,0,3,3],[3,0,0,2,0,3],[2,3,0,0,0,3],[3,3,0,0,0,0],[2,0,3,0,0,2],[0,0,2,0,2,2],[4,2,3,0,3,0]],\"min_steps\":12},{\"id\":\"7032\",\"map\":[[0,0,0,0,3,4],[0,0,3,3,3,2],[2,2,3,3,0,0],[0,0,3,2,0,0],[0,2,0,2,3,2],[0,2,3,0,0,3],[2,3,3,0,0,2],[1,0,3,0,3,2],[0,0,3,0,0,2]],\"min_steps\":12},{\"id\":\"7033\",\"map\":[[1,0,0,3,0,3],[3,3,2,0,2,0],[0,3,3,2,0,2],[3,2,0,3,0,0],[4,2,2,2,0,0],[0,3,0,0,0,0],[3,3,3,0,0,2],[3,0,3,2,0,3],[2,0,0,0,0,2]],\"min_steps\":12},{\"id\":\"7035\",\"map\":[[3,0,0,2,0,4],[3,0,2,3,3,3],[0,0,2,3,0,2],[3,0,3,3,3,0],[2,2,0,0,0,0],[2,2,3,0,0,0],[0,0,2,3,0,0],[0,2,0,3,2,3],[0,0,3,1,2,0]],\"min_steps\":12},{\"id\":\"7036\",\"map\":[[2,3,1,0,0,2],[0,3,0,0,0,0],[2,0,2,0,0,3],[0,0,3,3,0,3],[0,2,2,0,0,3],[0,3,2,3,3,0],[0,3,2,0,0,2],[0,3,2,0,2,3],[2,0,3,3,4,0]],\"min_steps\":12},{\"id\":\"7037\",\"map\":[[2,0,0,0,0,3],[0,2,3,0,2,2],[0,0,3,0,2,0],[0,2,2,0,0,0],[3,2,3,0,0,3],[0,0,3,3,0,3],[3,2,3,0,0,3],[0,0,3,3,2,0],[4,3,1,2,0,2]],\"min_steps\":12},{\"id\":\"7039\",\"map\":[[2,0,3,3,2,0],[0,0,0,0,2,3],[1,3,0,0,0,2],[0,2,3,2,2,2],[0,0,3,0,0,0],[0,3,0,0,3,0],[3,0,0,2,3,2],[2,0,3,0,2,3],[0,4,3,0,3,3]],\"min_steps\":12},{\"id\":\"7040\",\"map\":[[0,2,3,3,4,0],[0,2,0,0,3,2],[0,0,3,0,2,0],[3,0,2,0,0,3],[2,0,0,3,0,3],[3,3,0,2,2,0],[2,2,3,0,2,0],[1,3,0,0,2,3],[0,0,0,3,0,3]],\"min_steps\":12},{\"id\":\"7041\",\"map\":[[3,3,0,2,3,1],[0,3,3,2,0,2],[0,2,0,0,0,0],[0,0,0,0,0,0],[3,3,3,2,3,0],[0,3,3,2,3,2],[4,0,3,0,2,0],[2,2,2,0,0,0],[0,3,2,0,3,0]],\"min_steps\":12},{\"id\":\"7004\",\"map\":[[2,0,0,2,0,0],[0,3,0,0,0,1],[0,2,0,0,0,0],[0,0,0,0,2,0],[0,0,3,3,3,2],[0,0,0,3,2,3],[0,0,2,0,0,3],[0,2,3,2,2,4],[3,2,2,0,3,0]],\"min_steps\":13},{\"id\":\"7009\",\"map\":[[4,0,3,1,0,2],[0,2,3,3,3,0],[0,2,3,2,2,0],[3,0,3,0,0,2],[0,0,0,0,0,0],[3,2,0,0,2,0],[3,2,0,0,2,0],[0,0,2,2,2,0],[0,0,0,0,3,0]],\"min_steps\":13},{\"id\":\"7014\",\"map\":[[3,4,2,3,0,0],[2,3,0,3,0,0],[0,2,2,0,0,0],[0,3,3,0,3,3],[0,0,0,0,0,0],[3,2,0,0,2,2],[2,2,2,2,0,3],[0,0,3,3,0,3],[1,2,0,3,3,0]],\"min_steps\":13},{\"id\":\"7015\",\"map\":[[2,3,4,0,3,0],[1,2,3,2,3,0],[0,0,3,0,2,0],[2,0,0,3,0,0],[2,2,0,2,0,3],[0,0,2,0,0,0],[3,0,0,3,3,0],[0,0,3,0,2,3],[3,0,3,2,3,2]],\"min_steps\":13},{\"id\":\"7025\",\"map\":[[2,3,1,0,3,3],[0,0,2,3,2,0],[0,2,0,0,0,3],[0,3,0,0,0,3],[2,0,0,3,2,0],[0,0,2,3,0,2],[2,0,3,2,0,3],[3,3,0,0,3,3],[2,4,0,2,0,0]],\"min_steps\":13},{\"id\":\"7030\",\"map\":[[2,0,1,2,0,0],[0,2,3,3,0,2],[2,3,3,3,0,2],[3,0,0,2,2,0],[0,3,0,3,2,0],[0,0,2,0,2,3],[3,3,0,3,3,2],[4,3,0,0,0,0],[0,0,0,0,0,3]],\"min_steps\":13},{\"id\":\"7031\",\"map\":[[0,2,2,3,4,2],[3,3,0,0,2,2],[0,0,0,3,2,0],[0,3,0,0,3,3],[0,2,0,2,3,0],[2,3,0,0,0,0],[3,3,0,3,0,2],[0,0,2,3,3,3],[1,0,2,0,0,0]],\"min_steps\":13},{\"id\":\"7038\",\"map\":[[4,2,3,3,2,3],[0,3,0,2,3,0],[0,0,0,2,0,2],[3,3,2,3,0,0],[0,3,0,3,2,3],[0,2,2,2,0,0],[1,3,0,0,3,0],[2,0,0,0,3,2],[0,0,3,0,0,0]],\"min_steps\":13},{\"id\":\"7011\",\"map\":[[0,1,0,0,2,0],[3,0,3,3,2,3],[0,3,3,2,0,0],[0,0,2,0,3,3],[2,3,2,0,0,0],[3,2,2,3,3,0],[2,0,2,2,0,4],[0,2,0,3,0,0],[0,0,0,3,0,3]],\"min_steps\":14},{\"id\":\"7017\",\"map\":[[2,0,0,3,0,3],[4,3,0,2,0,3],[3,0,0,0,3,0],[2,0,0,2,0,0],[3,0,0,3,0,0],[2,3,0,2,2,2],[1,3,3,0,2,2],[0,3,0,0,3,0],[0,2,0,3,3,2]],\"min_steps\":14},{\"id\":\"7019\",\"map\":[[0,3,0,2,3,1],[0,3,0,2,0,2],[0,2,2,0,3,3],[0,0,3,2,0,3],[0,0,3,2,2,0],[2,2,3,0,2,2],[0,3,0,0,3,0],[3,0,0,3,3,0],[0,0,0,3,0,4]],\"min_steps\":14},{\"id\":\"7021\",\"map\":[[0,0,0,0,2,4],[3,0,2,0,0,0],[3,0,2,3,3,3],[2,0,3,3,3,0],[2,0,0,0,2,3],[3,3,0,0,0,2],[1,0,3,0,2,2],[2,2,0,2,0,0],[0,0,3,3,0,3]],\"min_steps\":14},{\"id\":\"7022\",\"map\":[[4,0,0,0,0,0],[0,0,0,0,3,2],[3,3,2,3,3,2],[2,0,0,0,0,2],[0,0,3,0,3,3],[2,0,2,3,2,1],[3,2,3,0,0,3],[2,0,0,3,2,2],[3,3,0,0,0,0]],\"min_steps\":15},{\"id\":\"7028\",\"map\":[[0,2,1,3,0,2],[0,3,3,3,0,2],[0,0,0,3,0,2],[3,0,0,3,2,4],[2,0,0,3,2,2],[2,2,3,0,0,3],[0,2,0,0,0,0],[0,3,3,3,2,0],[0,3,0,3,0,0]],\"min_steps\":16},{\"id\":\"7034\",\"map\":[[1,0,0,3,2,0],[0,2,2,3,3,0],[3,0,0,2,0,3],[2,3,2,2,0,3],[0,0,3,0,0,3],[3,0,0,0,3,0],[2,3,0,3,2,4],[0,3,0,0,0,3],[0,2,0,0,2,2]],\"min_steps\":16},{\"id\":\"7012\",\"map\":[[1,3,3,3,0,0],[0,3,0,2,0,0],[0,0,0,3,0,2],[3,0,0,3,2,3],[0,0,2,0,0,3],[0,0,2,3,2,0],[2,2,3,2,3,2],[0,3,0,2,0,2],[0,3,4,3,0,0]],\"min_steps\":17},{\"id\":\"7013\",\"map\":[[0,1,0,0,3,3],[0,2,0,3,0,0],[2,3,0,0,0,0],[0,0,0,3,0,3],[0,3,0,2,3,2],[2,0,3,3,2,0],[0,2,2,3,0,2],[2,3,2,0,3,0],[0,3,3,0,2,4]],\"min_steps\":17},{\"id\":\"7018\",\"map\":[[0,0,0,0,0,2],[1,0,3,3,0,2],[3,3,0,3,2,3],[0,3,0,2,0,0],[0,3,0,0,2,2],[3,0,0,2,3,0],[0,3,3,3,0,0],[2,0,3,0,0,2],[2,4,2,0,3,2]],\"min_steps\":17},{\"id\":\"7042\",\"map\":[[1,2,0,0,3,0],[3,3,2,3,0,0],[0,0,2,0,2,2],[3,3,0,0,0,0],[3,0,3,3,0,3],[3,2,2,0,0,0],[4,2,3,0,2,2],[2,0,3,0,2,2],[2,0,3,0,3,2]],\"min_steps\":17},{\"id\":\"7043\",\"map\":[[0,0,3,0,1,0],[2,0,0,2,0,0],[3,0,3,0,2,2],[0,0,0,3,2,3],[2,3,2,3,2,3],[0,3,3,0,3,4],[0,3,3,2,3,0],[0,2,2,0,2,0],[2,2,0,0,3,2]],\"min_steps\":17},{\"id\":\"7044\",\"map\":[[0,0,1,3,0,4],[3,0,3,0,2,3],[2,2,3,2,3,0],[2,3,2,2,0,3],[0,3,0,0,3,0],[2,0,3,2,3,3],[0,3,2,2,3,0],[0,0,0,0,2,0],[2,0,2,2,0,0]],\"min_steps\":17},{\"id\":\"7045\",\"map\":[[2,3,2,0,0,3],[0,0,0,3,2,2],[3,0,0,3,0,0],[0,0,3,2,3,2],[2,3,2,3,3,1],[0,0,0,3,0,3],[3,2,0,0,2,0],[3,2,2,0,0,2],[0,4,0,3,2,2]],\"min_steps\":17},{\"id\":\"7046\",\"map\":[[0,3,0,2,0,0],[0,2,2,0,0,1],[0,0,3,3,3,2],[2,2,3,3,2,2],[3,3,3,0,2,3],[4,2,2,3,0,2],[0,0,3,2,0,2],[0,3,0,0,2,3],[0,0,0,3,0,0]],\"min_steps\":17},{\"id\":\"7047\",\"map\":[[3,2,4,3,2,0],[2,0,3,2,0,0],[2,3,3,2,3,0],[2,0,0,2,0,0],[2,3,0,0,0,0],[3,0,2,0,3,0],[2,2,3,0,2,0],[0,3,3,0,3,0],[1,2,3,2,0,3]],\"min_steps\":17},{\"id\":\"7048\",\"map\":[[2,0,3,4,2,2],[0,0,3,0,3,0],[2,0,0,2,3,3],[2,0,3,3,2,3],[0,0,0,0,0,0],[2,2,2,0,0,3],[3,3,3,3,2,2],[0,0,3,0,0,2],[3,1,2,0,2,0]],\"min_steps\":17}]]\r\n\r\n\r\n this.LEVEL_INFO.unshift([{\"id\":\"0001\",\"map\":[[3, 2, 2, 0, 2],[0, 0, 3, 3, 0],[1, 3, 0, 3, 2],[3, 0, 2, 3, 4],[3, 2, 3, 3, 2]],\"min_steps\":4}]);\r\n \r\n\r\n \r\n \r\n }\r\n\r\n\r\n static Authentication(){\r\n cc.fx.GameTool.Authentication();\r\n }\r\n}\r\n\r\n"]} \ No newline at end of file diff --git a/library/imports/c5/c58de376-bb53-4664-bf27-270be7bb53d1.js b/library/imports/c5/c58de376-bb53-4664-bf27-270be7bb53d1.js index 836dcf2..3693c0c 100644 --- a/library/imports/c5/c58de376-bb53-4664-bf27-270be7bb53d1.js +++ b/library/imports/c5/c58de376-bb53-4664-bf27-270be7bb53d1.js @@ -80,6 +80,13 @@ var NewClass = /** @class */ (function (_super) { }; NewClass.prototype.start = function () { }; + /** + * 息壤过后改变修筑路径 + * @param order 建筑地图数组里的执行的序列号 + * @param number 息壤执行长度,改变息壤用后其他路径的X或Y值 + * @param direction 只为两个方向,横向false,纵向true + * @param road 建筑地图数组或者洪峰路径数组,可理解为路径数组,path_Array water_Array + */ //初始化地图块数据 NewClass.prototype.initData = function (type, pos, max) { this.block_Type = type; @@ -88,9 +95,9 @@ var NewClass = /** @class */ (function (_super) { if (type == cc.Enum(BlockType).Start) { var bg = this.node.getChildByName("sp"); // this.node.getComponent(cc.Sprite).spriteFrame = null; - bg.getComponent(cc.Sprite).spriteFrame = this.UI["_spriteFrames"]["start"]; + // bg.getComponent(cc.Sprite).spriteFrame = this.UI["_spriteFrames"]["start"]; if (cc.fx.GameConfig.GM_INFO.level > 3) { - bg.getChildByName("start").y = 20; + // bg.getChildByName("start").y = 20; bg.getChildByName("end").y = 20; } this.rotateTarget(bg, "start", pos, max); @@ -100,7 +107,7 @@ var NewClass = /** @class */ (function (_super) { // this.node.getComponent(cc.Sprite).spriteFrame = null; bg.getComponent(cc.Sprite).spriteFrame = this.UI["_spriteFrames"]["end"]; if (cc.fx.GameConfig.GM_INFO.level > 3) { - bg.getChildByName("start").y = 20; + // bg.getChildByName("start").y = 20; bg.getChildByName("end").y = 20; } this.rotateTarget(bg, "end", pos, max); @@ -285,11 +292,13 @@ var NewClass = /** @class */ (function (_super) { //息壤具体执行方法 外部可调用 NewClass.prototype.set_Xi_SoilType = function (direction, end, name) { var _this = this; - // console.log("息壤",direction,name,this.block_Type); + // console.log("息壤",direction,name,end); var jg = this.repeatRoad(true, direction); console.log("息壤重复判断结果", jg); - if (jg == true) + if (jg == true) { + cc.fx.Notifications.emit(cc.fx.Message.showResult, "lose"); return; + } if (this.block_Type == cc.Enum(BlockType).Start) { this.set_Xi_Soil(direction, false); return; @@ -351,7 +360,6 @@ var NewClass = /** @class */ (function (_super) { jg = true; if (type) { cc.fx.Notifications.emit(cc.fx.Message.showResult, "lose"); - cc.fx.Notifications.emit(cc.fx.Message.setData, false); } } else if (this.node.getChildByName("turn2").active == true && this.block_Type != cc.Enum(BlockType).Xi_Soil) { @@ -359,24 +367,25 @@ var NewClass = /** @class */ (function (_super) { jg = true; if (type) { cc.fx.Notifications.emit(cc.fx.Message.showResult, "lose"); - cc.fx.Notifications.emit(cc.fx.Message.setData, false); } } if (direction) { if (this.node.getChildByName("vertical2").active == true && this.block_Type == cc.Enum(BlockType).Xi_Soil && (direction == "up" || direction == "down")) { // alert("治水失败"); - jg = true; - if (type) { - cc.fx.Notifications.emit(cc.fx.Message.showResult, "lose"); - cc.fx.Notifications.emit(cc.fx.Message.setData, false); + if (this.node.getChildByName("vertical2").angle == 0 || this.node.getChildByName("vertical2").angle == 180) { + jg = true; + if (type) { + cc.fx.Notifications.emit(cc.fx.Message.showResult, "lose"); + } } } - else if (this.node.getChildByName("horizontal2").active == true && this.block_Type == cc.Enum(BlockType).Xi_Soil && (direction == "right" || direction == "left")) { + else if (this.node.getChildByName("vertical2").active == true && this.block_Type == cc.Enum(BlockType).Xi_Soil && (direction == "right" || direction == "left")) { // alert("治水失败"); - jg = true; - if (type) { - cc.fx.Notifications.emit(cc.fx.Message.showResult, "lose"); - cc.fx.Notifications.emit(cc.fx.Message.setData, false); + if (this.node.getChildByName("vertical2").angle == 90 || this.node.getChildByName("vertical2").angle == 270) { + jg = true; + if (type) { + cc.fx.Notifications.emit(cc.fx.Message.showResult, "lose"); + } } } } @@ -495,7 +504,6 @@ var NewClass = /** @class */ (function (_super) { target = this.node.getChildByName("Reinforce"); if (this.block_Type == cc.Enum(BlockType).Peak) { cc.fx.Notifications.emit(cc.fx.Message.showResult, "lose"); - cc.fx.Notifications.emit(cc.fx.Message.setData, false); return; } if (this.block_Type != cc.Enum(BlockType).End) @@ -547,7 +555,7 @@ var NewClass = /** @class */ (function (_super) { else if (this.pos.y - posTemp.y >= 1) { direction = "down"; } - console.log("结束方向:", direction); + // console.log("结束方向:",direction); if (!this.finishi) { this.finishi = true; this.set_Xi_Soil(direction, true); @@ -597,14 +605,12 @@ var NewClass = /** @class */ (function (_super) { if (this.node.getChildByName("vertical").active == true && this.node.getChildByName("horizontal").active == true) { // alert("治水失败"); cc.fx.Notifications.emit(cc.fx.Message.showResult, "lose"); - cc.fx.Notifications.emit(cc.fx.Message.setData, false); // cc.director.loadScene("GameScene"); return; } else if (this.node.getChildByName("turn").active == true && this.block_Type != cc.Enum(BlockType).Xi_Soil) { // alert("治水失败"); cc.fx.Notifications.emit(cc.fx.Message.showResult, "lose"); - cc.fx.Notifications.emit(cc.fx.Message.setData, false); // cc.director.loadScene("GameScene"); return; } @@ -722,7 +728,6 @@ var NewClass = /** @class */ (function (_super) { .call(function () { // alert("治水成功"); cc.fx.Notifications.emit(cc.fx.Message.showResult, "win"); - cc.fx.Notifications.emit(cc.fx.Message.setData, true); if (cc.fx.GameConfig.GM_INFO.level < 7) { cc.fx.GameConfig.GM_INFO.level += 1; } @@ -752,7 +757,6 @@ var NewClass = /** @class */ (function (_super) { .call(function () { // alert("治水失败") cc.fx.Notifications.emit(cc.fx.Message.showResult, "lose"); - cc.fx.Notifications.emit(cc.fx.Message.setData, false); // cc.director.loadScene("GameScene"); }) .start(); diff --git a/library/imports/c5/c58de376-bb53-4664-bf27-270be7bb53d1.js.map b/library/imports/c5/c58de376-bb53-4664-bf27-270be7bb53d1.js.map index 9425257..3838630 100644 --- a/library/imports/c5/c58de376-bb53-4664-bf27-270be7bb53d1.js.map +++ b/library/imports/c5/c58de376-bb53-4664-bf27-270be7bb53d1.js.map @@ -1 +1 @@ -{"version":3,"sources":["assets\\Script\\Block.ts"],"names":[],"mappings":"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","file":"","sourceRoot":"/","sourcesContent":["// Learn TypeScript:\r\n// - https://docs.cocos.com/creator/manual/en/scripting/typescript.html\r\n// Learn Attribute:\r\n// - https://docs.cocos.com/creator/manual/en/scripting/reference/attributes.html\r\n// Learn life-cycle callbacks:\r\n// - https://docs.cocos.com/creator/manual/en/scripting/life-cycle-callbacks.html\r\n\r\nconst {ccclass, property} = cc._decorator;\r\n\r\nexport enum BlockType{\r\n /*普通地块 */\r\n Nomal = 0, \r\n /*起点地块 */\r\n Start = 1, \r\n /*湿地 */\r\n Nunja = 2,\r\n /*山峰 */\r\n Peak = 3,\r\n /*终点地块 */\r\n End = 4,\r\n\r\n /*息壤 */\r\n Xi_Soil = 5,\r\n /*加固 */\r\n Reinforce = 6\r\n}\r\n\r\nexport enum PathType{\r\n err = \"err\",\r\n up = \"up\", \r\n down = \"down\", \r\n left = \"left\",\r\n right = \"right\",\r\n up_left = \"up_left\",\r\n up_right = \"up_right\",\r\n down_left = \"down_left\",\r\n down_right = \"down_right\",\r\n left_up = \"left_up\",\r\n left_down = \"left_down\",\r\n right_up = \"right_up\",\r\n right_down = \"right_down\",\r\n}\r\n\r\n@ccclass\r\nexport default class NewClass extends cc.Component {\r\n // LIFE-CYCLE CALLBACKS:\r\n @property(cc.SpriteAtlas)\r\n UI: cc.SpriteAtlas = null;\r\n\r\n pos_Shifting:number;\r\n block_Type:number;\r\n path_Type:string;\r\n finishi:boolean;\r\n pos: any;\r\n onLoad () {\r\n this.finishi = false;\r\n this.pos_Shifting = 0;\r\n this.pos = cc.v2(0,0);\r\n }\r\n\r\n start () {\r\n \r\n }\r\n //初始化地图块数据\r\n initData(type,pos,max){\r\n this.block_Type = type;\r\n this.pos = cc.v2(pos.x,pos.y);\r\n // if(this.pos.y%2 == 0) this.node.getChildByName(\"tip\").active = true;\r\n if(type == cc.Enum(BlockType).Start){ \r\n var bg = this.node.getChildByName(\"sp\");\r\n // this.node.getComponent(cc.Sprite).spriteFrame = null;\r\n bg.getComponent(cc.Sprite).spriteFrame = this.UI[\"_spriteFrames\"][\"start\"];\r\n if(cc.fx.GameConfig.GM_INFO.level > 3){\r\n bg.getChildByName(\"start\").y = 20;\r\n bg.getChildByName(\"end\").y = 20;\r\n }\r\n this.rotateTarget(bg,\"start\",pos,max);\r\n }\r\n else if(type == cc.Enum(BlockType).End){\r\n var bg = this.node.getChildByName(\"sp\");\r\n // this.node.getComponent(cc.Sprite).spriteFrame = null;\r\n bg.getComponent(cc.Sprite).spriteFrame = this.UI[\"_spriteFrames\"][\"end\"];\r\n if(cc.fx.GameConfig.GM_INFO.level > 3){\r\n bg.getChildByName(\"start\").y = 20;\r\n bg.getChildByName(\"end\").y = 20;\r\n }\r\n this.rotateTarget(bg,\"end\",pos,max);\r\n }\r\n else if(type == cc.Enum(BlockType).Nunja){\r\n let random = Math.floor(Math.random()*4);\r\n let rotationArr = [0,90,180,270];\r\n let rotation = rotationArr[random];\r\n this.node.getChildByName(\"bg\").getComponent(cc.Sprite).spriteFrame = this.UI[\"_spriteFrames\"][\"e5\"];\r\n this.node.getChildByName(\"bg\").angle = -rotation;\r\n this.node.getComponent(cc.Sprite).spriteFrame = null;\r\n }\r\n else if(type == cc.Enum(BlockType).Peak){\r\n let random = Math.floor(Math.random()*4+1);\r\n let name = \"shan\" + random;\r\n this.node.getChildByName(\"bg\").getComponent(cc.Sprite).spriteFrame = this.UI[\"_spriteFrames\"][name];\r\n this.node.getComponent(cc.Sprite).spriteFrame = null;\r\n }\r\n if(cc.fx.GameConfig.GM_INFO.level == 1){\r\n this.node.getChildByName(\"tipWin\").opacity = 220;\r\n this.node.getChildByName(\"tipLose\").opacity = 220;\r\n }\r\n else if(cc.fx.GameConfig.GM_INFO.level == 2){\r\n this.node.getChildByName(\"tipWin\").opacity = 100;\r\n this.node.getChildByName(\"tipLose\").opacity = 100;\r\n }\r\n else if(cc.fx.GameConfig.GM_INFO.level == 3){\r\n this.node.getChildByName(\"tipWin\").opacity = 50;\r\n this.node.getChildByName(\"tipLose\").opacity = 50;\r\n }\r\n else if(cc.fx.GameConfig.GM_INFO.level > 3){\r\n this.node.getChildByName(\"tipWin\").opacity = 0;\r\n this.node.getChildByName(\"tipLose\").opacity = 0;\r\n }\r\n \r\n }\r\n //旋转入海口和出海口的 图片以及文字角度\r\n rotateTarget(bg,name,pos,max){\r\n let target = bg.getChildByName(name);\r\n if(pos.y == max.y-1){\r\n bg.angle = 0;\r\n if(name == \"end\") target.getComponent(cc.Sprite).spriteFrame = this.UI[\"_spriteFrames\"][\"end_x\"];\r\n target.active = true;\r\n target.angle = 0;\r\n return;\r\n }\r\n else if(pos.y == 0){\r\n bg.angle = -180;\r\n if(name == \"end\")target.getComponent(cc.Sprite).spriteFrame = this.UI[\"_spriteFrames\"][\"end_x\"];\r\n target.active = true;\r\n target.angle = -180;\r\n return;\r\n }\r\n else if(pos.x == max.x-1){\r\n bg.angle = 90;\r\n if(name == \"start\")target.getComponent(cc.Sprite).spriteFrame = this.UI[\"_spriteFrames\"][\"start_y\"];\r\n else target.getComponent(cc.Sprite).spriteFrame = this.UI[\"_spriteFrames\"][\"end_y\"];\r\n target.active = true;\r\n target.angle = -90;\r\n }\r\n else if(pos.x == 0){\r\n bg.angle = -90;\r\n if(name == \"start\")target.getComponent(cc.Sprite).spriteFrame = this.UI[\"_spriteFrames\"][\"start_y\"];\r\n else target.getComponent(cc.Sprite).spriteFrame = this.UI[\"_spriteFrames\"][\"end_y\"];\r\n target.active = true;\r\n target.angle = 90;\r\n }\r\n }\r\n\r\n setPath(type){\r\n this.path_Type = type;\r\n }\r\n //设置息壤在起点\r\n set_Xi_Soil(direction,type){\r\n let sp = this.node.getChildByName(\"sp\");\r\n let turn = this.node.getChildByName(\"turnStart\");\r\n let water = this.node.getChildByName(\"waterStart\");\r\n\r\n if(direction == \"left\" || direction == \"right\"){\r\n if(sp.angle == 0){\r\n turn.active =true;\r\n water.active = true;\r\n water.opacity = 0;\r\n if(type){\r\n turn.angle = direction==\"left\"?90:0;\r\n water.angle = direction==\"left\"?90:0;\r\n\r\n }\r\n else{\r\n turn.angle = direction==\"left\"?0:90;\r\n water.angle = direction==\"left\"?0:90;\r\n }\r\n\r\n }\r\n else if(sp.angle == -180){\r\n turn.active =true;\r\n water.active = true;\r\n water.opacity = 0;\r\n if(type){\r\n turn.angle = direction==\"left\"?-180:-90;\r\n water.angle = direction==\"left\"?-180:-90;\r\n }\r\n else{\r\n turn.angle = direction==\"left\"?270:-180;\r\n water.angle = direction==\"left\"?270:-180;\r\n }\r\n\r\n }\r\n else if(sp.angle == -90){\r\n turn.active =true;\r\n turn.getComponent(cc.Sprite).spriteFrame = this.UI[\"_spriteFrames\"][\"a1\"];\r\n turn.angle = 90;\r\n if(type){\r\n water.active = true;\r\n water.angle = 90;\r\n water.getComponent(cc.Sprite).spriteFrame = this.UI[\"_spriteFrames\"][\"block1\"];\r\n water.opacity = 0;\r\n }\r\n\r\n }\r\n else if(sp.angle == 90){\r\n turn.active =true;\r\n turn.getComponent(cc.Sprite).spriteFrame = this.UI[\"_spriteFrames\"][\"a1\"];\r\n turn.angle = 90;\r\n if(type){\r\n water.active = true;\r\n water.angle = 90;\r\n water.getComponent(cc.Sprite).spriteFrame = this.UI[\"_spriteFrames\"][\"block1\"];\r\n water.opacity = 0;\r\n }\r\n }\r\n \r\n }\r\n else if(direction == \"up\" || direction == \"down\"){\r\n let sp = this.node.getChildByName(\"sp\");\r\n if(sp.angle == -90){\r\n turn.active =true;\r\n water.active = true;\r\n water.opacity = 0;\r\n if(type){\r\n turn.angle = direction==\"up\"?0:-90;\r\n water.angle = direction==\"up\"?0:-90;\r\n }\r\n else{\r\n turn.angle = direction==\"up\"?-90:0;\r\n water.angle = direction==\"up\"?-90:0;\r\n }\r\n }\r\n else if(sp.angle == 90){\r\n turn.active = true;\r\n water.active = true;\r\n water.opacity = 0;\r\n if(type){\r\n turn.angle = direction==\"up\"?90:180;\r\n water.angle = direction==\"up\"?90:180;\r\n }\r\n else{\r\n turn.angle = direction==\"up\"?180:90;\r\n water.angle = direction==\"up\"?180:90;\r\n }\r\n \r\n }\r\n else if(sp.angle == 0){\r\n turn.active =true;\r\n turn.getComponent(cc.Sprite).spriteFrame = this.UI[\"_spriteFrames\"][\"a1\"];\r\n turn.angle = 0;\r\n if(type){\r\n water.active = true;\r\n water.getComponent(cc.Sprite).spriteFrame = this.UI[\"_spriteFrames\"][\"block1\"];\r\n water.opacity = 0;\r\n }\r\n }\r\n else if(sp.angle == -180){\r\n turn.active =true;\r\n turn.getComponent(cc.Sprite).spriteFrame = this.UI[\"_spriteFrames\"][\"a1\"];\r\n turn.angle = 0;\r\n if(type){\r\n water.active = true;\r\n water.getComponent(cc.Sprite).spriteFrame = this.UI[\"_spriteFrames\"][\"block1\"];\r\n water.opacity = 0;\r\n }\r\n }\r\n }\r\n }\r\n //息壤具体执行方法 外部可调用\r\n set_Xi_SoilType(direction,end,name){\r\n // console.log(\"息壤\",direction,name,this.block_Type);\r\n var jg = this.repeatRoad(true,direction);\r\n console.log(\"息壤重复判断结果\",jg);\r\n if(jg == true) return;\r\n\r\n if(this.block_Type == cc.Enum(BlockType).Start){\r\n this.set_Xi_Soil(direction,false);\r\n return;\r\n }\r\n\r\n if(this.block_Type == cc.Enum(BlockType).Nunja){\r\n this.block_Type = cc.Enum(BlockType).Nomal;\r\n this.node.getChildByName(\"bg\").getComponent(cc.Sprite).spriteFrame = null;\r\n this.node.getComponent(cc.Sprite).spriteFrame = this.UI[\"_spriteFrames\"][\"block_Bg\"];\r\n }\r\n if(end != null){\r\n if(this.block_Type == cc.Enum(BlockType).End){\r\n this.finishi = true;\r\n setTimeout(() => {\r\n this.set_Xi_Soil(direction,true);\r\n }, 500);\r\n \r\n }\r\n setTimeout(() => {\r\n if(name == \"water\") cc.fx.Notifications.emit(cc.fx.Message.nextWater,(end+1));\r\n else cc.fx.Notifications.emit(cc.fx.Message.next,(end+1));\r\n }, 400);\r\n }\r\n\r\n if(this.block_Type != cc.Enum(BlockType).End && this.block_Type != cc.Enum(BlockType).Start){\r\n this.block_Type = cc.Enum(BlockType).Xi_Soil;\r\n } \r\n else{\r\n }\r\n let target = this.node.getChildByName(\"Xi_Soil\"); \r\n this.path_Type = direction;\r\n target.active = true;\r\n target.opacity = 0;\r\n cc.tween(target)\r\n .to(0.1,{opacity:255})\r\n .to(0.1,{opacity:0})\r\n .call(() =>{\r\n if(direction != null && end == null){\r\n let data = {\r\n order:0,\r\n time:cc.fx.GameConfig.TIME_INFO.waterSpeed[0],\r\n type:0,\r\n circulate:false\r\n };\r\n if(name == \"water\"){\r\n this.runWater(data);\r\n } \r\n else this.runRoad(data);\r\n }\r\n })\r\n .start();\r\n }\r\n //判断重复路径 \r\n repeatRoad(type,direction){\r\n //如果双向都占用了还进来就算死了- \r\n var jg = false;\r\n if(this.node.getChildByName(\"vertical2\").active == true && this.node.getChildByName(\"horizontal2\").active == true){\r\n // alert(\"治水失败\");\r\n jg = true;\r\n if(type){\r\n cc.fx.Notifications.emit(cc.fx.Message.showResult,\"lose\");\r\n cc.fx.Notifications.emit(cc.fx.Message.setData,false);\r\n }\r\n }\r\n\r\n else if(this.node.getChildByName(\"turn2\").active == true && this.block_Type != cc.Enum(BlockType).Xi_Soil){\r\n // alert(\"治水失败\");\r\n jg = true;\r\n if(type){\r\n cc.fx.Notifications.emit(cc.fx.Message.showResult,\"lose\");\r\n cc.fx.Notifications.emit(cc.fx.Message.setData,false);\r\n }\r\n }\r\n\r\n if(direction){\r\n if(this.node.getChildByName(\"vertical2\").active == true && this.block_Type == cc.Enum(BlockType).Xi_Soil && (direction == \"up\"|| direction ==\"down\")){\r\n // alert(\"治水失败\");\r\n jg = true;\r\n if(type){\r\n cc.fx.Notifications.emit(cc.fx.Message.showResult,\"lose\");\r\n cc.fx.Notifications.emit(cc.fx.Message.setData,false);\r\n }\r\n }\r\n else if(this.node.getChildByName(\"horizontal2\").active == true && this.block_Type == cc.Enum(BlockType).Xi_Soil && (direction == \"right\"|| direction ==\"left\")){\r\n // alert(\"治水失败\");\r\n jg = true;\r\n if(type){\r\n cc.fx.Notifications.emit(cc.fx.Message.showResult,\"lose\");\r\n cc.fx.Notifications.emit(cc.fx.Message.setData,false);\r\n }\r\n }\r\n }\r\n\r\n return jg;\r\n }\r\n\r\n //修筑路线执行\r\n runRoad(data){\r\n if(this.path_Type == \"err\"){\r\n setTimeout(() => {\r\n if(data.circulate)\r\n cc.fx.Notifications.emit(cc.fx.Message.next,order);\r\n }, data.time);\r\n return;\r\n }\r\n var jg = this.repeatRoad(true,null);\r\n if(jg == true) return;\r\n var target = null;\r\n var progress = 1;\r\n var time = data.time;\r\n var order = data.order + 1;\r\n var random = Math.floor(Math.random()*4 + 1);\r\n target = this.node.getChildByName(\"vertical2\");\r\n if(target.name == \"vertical\"){\r\n let water1 = target.getChildByName(\"wave\").getChildByName(\"water1\");\r\n let water2 = target.getChildByName(\"wave\").getChildByName(\"water2\");\r\n let water3 = target.getChildByName(\"wave\").getChildByName(\"water3\");\r\n let timeDelay = 0.15;\r\n water1.runAction(cc.sequence(cc.moveTo(0.6,cc.v2(water1.x,120)),cc.delayTime(timeDelay),\r\n cc.callFunc(()=>{\r\n water1.y = -120\r\n })).repeatForever());\r\n water2.runAction(cc.sequence(cc.moveTo(0.6,cc.v2(water2.x,120)),cc.delayTime(timeDelay),\r\n cc.callFunc(()=>{\r\n water2.y = -120\r\n })).repeatForever());\r\n water3.runAction(cc.sequence(cc.moveTo(0.6,cc.v2(water3.x,120)),cc.delayTime(timeDelay),\r\n cc.callFunc(()=>{\r\n water3.y = -120\r\n })).repeatForever());\r\n }\r\n\r\n var name = \"a\" + random;\r\n if(this.block_Type != cc.Enum(BlockType).Reinforce)target.getComponent(cc.Sprite).spriteFrame = this.UI[\"_spriteFrames\"][name];\r\n\r\n if(target.active == true){\r\n target = this.node.getChildByName(\"horizontal2\");\r\n name = \"b\" + random;\r\n if(this.block_Type != cc.Enum(BlockType).Reinforce) target.getComponent(cc.Sprite).spriteFrame = this.UI[\"_spriteFrames\"][name];\r\n } \r\n // console.log(this.path_Type,data.order);\r\n if(this.path_Type == cc.Enum(PathType).up){\r\n }\r\n else if(this.path_Type == cc.Enum(PathType).down){\r\n target.angle = 180;\r\n }\r\n else if(this.path_Type == cc.Enum(PathType).left){\r\n target.angle = 90;\r\n name = \"b\" + random;\r\n if(this.block_Type != cc.Enum(BlockType).Reinforce) target.getComponent(cc.Sprite).spriteFrame = this.UI[\"_spriteFrames\"][name];\r\n }\r\n else if(this.path_Type == cc.Enum(PathType).right){\r\n target.angle = 270;\r\n name = \"b\" + random;\r\n if(this.block_Type != cc.Enum(BlockType).Reinforce) target.getComponent(cc.Sprite).spriteFrame = this.UI[\"_spriteFrames\"][name];\r\n }\r\n else{\r\n target = this.node.getChildByName(\"turn2\");\r\n if(target.name == \"turn\"){\r\n let water = target.getChildByName(\"wave\").getChildByName(\"water\");\r\n water.opacity = 0\r\n water.runAction(cc.sequence(cc.rotateTo(7.2,-1080),cc.delayTime(0)).repeatForever());\r\n setTimeout(() => {\r\n water.opacity = 255;\r\n }, 200);\r\n }\r\n name = \"c\" + random;\r\n if(this.block_Type != cc.Enum(BlockType).Reinforce)target.getComponent(cc.Sprite).spriteFrame = this.UI[\"_spriteFrames\"][name];\r\n progress = 0.25;\r\n if(this.path_Type == cc.Enum(PathType).up_left){\r\n target.setPosition(-this.pos_Shifting,-this.pos_Shifting);\r\n }\r\n else if(this.path_Type == cc.Enum(PathType).up_right){\r\n target.scaleX = -1;\r\n target.setPosition(this.pos_Shifting,-this.pos_Shifting);\r\n }\r\n else if(this.path_Type == cc.Enum(PathType).down_left){\r\n target.angle = 180;\r\n target.scaleX = -1;\r\n target.setPosition(-this.pos_Shifting,this.pos_Shifting);\r\n }\r\n else if(this.path_Type == cc.Enum(PathType).down_right){\r\n target.angle = 180;\r\n target.setPosition(this.pos_Shifting,this.pos_Shifting);\r\n }\r\n else if(this.path_Type == cc.Enum(PathType).left_up){\r\n target.angle = -90;\r\n target.scaleY = -1;\r\n target.setPosition(this.pos_Shifting,this.pos_Shifting);\r\n }\r\n else if(this.path_Type == cc.Enum(PathType).left_down){\r\n target.angle = 90;\r\n target.setPosition(-this.pos_Shifting,-this.pos_Shifting);\r\n }\r\n else if(this.path_Type == cc.Enum(PathType).right_up){\r\n target.angle = -90;\r\n target.setPosition(-this.pos_Shifting,this.pos_Shifting);\r\n \r\n }\r\n else if(this.path_Type == cc.Enum(PathType).right_down){\r\n target.angle = -90;\r\n target.scaleX = -1;\r\n target.setPosition(-this.pos_Shifting,-this.pos_Shifting);\r\n }\r\n }\r\n if(this.path_Type == \"Reinforce\"){\r\n target = this.node.getChildByName(\"Reinforce\");\r\n if(this.block_Type == cc.Enum(BlockType).Peak){\r\n cc.fx.Notifications.emit(cc.fx.Message.showResult,\"lose\");\r\n cc.fx.Notifications.emit(cc.fx.Message.setData,false);\r\n return;\r\n }\r\n if(this.block_Type != cc.Enum(BlockType).End)this.block_Type = cc.Enum(BlockType).Reinforce;\r\n this.node.getChildByName(\"vertical2\").getComponent(cc.Sprite).spriteFrame = this.UI[\"_spriteFrames\"][\"e1\"];\r\n this.node.getChildByName(\"turn2\").getComponent(cc.Sprite).spriteFrame = this.UI[\"_spriteFrames\"][\"e3\"];\r\n this.node.getChildByName(\"horizontal2\").getComponent(cc.Sprite).spriteFrame = this.UI[\"_spriteFrames\"][\"e2\"];\r\n target.active = true;\r\n target.opacity = 0;\r\n progress = 1;\r\n cc.tween(target)\r\n .to(cc.fx.GameConfig.TIME_INFO.ReinforceSpeed,{opacity:255})\r\n .call(() =>{\r\n if(data.circulate)\r\n cc.fx.Notifications.emit(cc.fx.Message.changeMap,order);\r\n cc.fx.Notifications.emit(cc.fx.Message.next,order);\r\n })\r\n .start();\r\n }\r\n else if(this.path_Type == \"Xi_Soil\"){\r\n target.active = false;\r\n if(this.block_Type != cc.Enum(BlockType).End && this.block_Type != cc.Enum(BlockType).Start)\r\n this.block_Type = cc.Enum(BlockType).Xi_Soil;\r\n target = this.node.getChildByName(\"Xi_Soil\"); \r\n target.active = true;\r\n target.opacity = 0;\r\n cc.tween(target)\r\n .to(0.01,{opacity:1})\r\n .to(0.01,{opacity:0})\r\n .call(() =>{\r\n if(data.circulate){\r\n cc.fx.Notifications.emit(cc.fx.Message.next,order);\r\n }\r\n \r\n })\r\n .start();\r\n }\r\n else if(this.path_Type == \"End\"){\r\n target.active = false;\r\n if(this.block_Type != cc.Enum(BlockType).End && this.block_Type != cc.Enum(BlockType).Start)\r\n this.block_Type = cc.Enum(BlockType).Xi_Soil;\r\n let posTemp = data.last;\r\n var direction = \"up\";\r\n if(this.pos.x - posTemp.x >= 1){\r\n direction = \"right\";\r\n }\r\n else if(this.pos.x - posTemp.x <= -1){\r\n direction = \"left\";\r\n }\r\n else if(this.pos.y - posTemp.y >= 1){\r\n direction = \"down\";\r\n }\r\n \r\n console.log(\"结束方向:\",direction);\r\n if(!this.finishi){\r\n this.finishi = true;\r\n this.set_Xi_Soil(direction,true);\r\n }\r\n }\r\n else{\r\n target.active = true;\r\n if(this.block_Type != cc.Enum(BlockType).Xi_Soil){\r\n target.getComponent(cc.Sprite).fillRange = 0;\r\n cc.tween(target.getComponent(cc.Sprite))\r\n .to(time,{fillRange:progress})\r\n .call(() =>{\r\n if(data.circulate)\r\n cc.fx.Notifications.emit(cc.fx.Message.next,order);\r\n })\r\n .start();\r\n }\r\n else{\r\n target.opacity = 0;\r\n target.getComponent(cc.Sprite).fillRange = 1;\r\n cc.tween(target)\r\n .to(time,{opacity:255})\r\n .call(() =>{\r\n if(data.circulate)\r\n cc.fx.Notifications.emit(cc.fx.Message.next,order);\r\n })\r\n .start();\r\n }\r\n }\r\n\r\n }\r\n //洪峰执行\r\n runWater(data){\r\n if(this.node.getChildByName(\"waterStart\").active == true && this.block_Type == cc.Enum(BlockType).Start){\r\n // sp.getChildByName(\"waterStart\").opacity = 255;\r\n cc.tween(this.node.getChildByName(\"waterStart\"))\r\n .to(0.2,{opacity:255})\r\n .start();\r\n }\r\n\r\n\r\n if(this.path_Type == \"err\"){\r\n setTimeout(() => {\r\n if(data.circulate)\r\n cc.fx.Notifications.emit(cc.fx.Message.nextWater,order);\r\n }, data.time);\r\n return;\r\n }\r\n //如果双向都占用了还进来就算死了- \r\n if(this.node.getChildByName(\"vertical\").active == true && this.node.getChildByName(\"horizontal\").active == true){\r\n // alert(\"治水失败\");\r\n cc.fx.Notifications.emit(cc.fx.Message.showResult,\"lose\");\r\n cc.fx.Notifications.emit(cc.fx.Message.setData,false);\r\n // cc.director.loadScene(\"GameScene\");\r\n return;\r\n }\r\n\r\n else if(this.node.getChildByName(\"turn\").active == true && this.block_Type != cc.Enum(BlockType).Xi_Soil){\r\n // alert(\"治水失败\");\r\n cc.fx.Notifications.emit(cc.fx.Message.showResult,\"lose\");\r\n cc.fx.Notifications.emit(cc.fx.Message.setData,false);\r\n // cc.director.loadScene(\"GameScene\");\r\n return;\r\n }\r\n var target = null;\r\n var progress = 1;\r\n var time = data.time;\r\n var order = data.order + 1;\r\n var random = Math.floor(Math.random()*4 + 1);\r\n target = this.node.getChildByName(\"vertical\");\r\n if(target.name == \"vertical\"){\r\n let water1 = target.getChildByName(\"wave\").getChildByName(\"water1\");\r\n let water2 = target.getChildByName(\"wave\").getChildByName(\"water2\");\r\n let water3 = target.getChildByName(\"wave\").getChildByName(\"water3\");\r\n let timeDelay = 0.15;\r\n water1.runAction(cc.sequence(cc.moveTo(0.6,cc.v2(water1.x,120)),cc.delayTime(timeDelay),\r\n cc.callFunc(()=>{\r\n water1.y = -120\r\n })).repeatForever());\r\n water2.runAction(cc.sequence(cc.moveTo(0.6,cc.v2(water2.x,120)),cc.delayTime(timeDelay),\r\n cc.callFunc(()=>{\r\n water2.y = -120\r\n })).repeatForever());\r\n water3.runAction(cc.sequence(cc.moveTo(0.6,cc.v2(water3.x,120)),cc.delayTime(timeDelay),\r\n cc.callFunc(()=>{\r\n water3.y = -120\r\n })).repeatForever());\r\n }\r\n\r\n var name = \"a\" + random;\r\n // if(this.block_Type != cc.Enum(BlockType).Reinforce)target.getComponent(cc.Sprite).spriteFrame = this.UI[\"_spriteFrames\"][name];\r\n\r\n if(target.active == true){\r\n target = this.node.getChildByName(\"horizontal\");\r\n let water1 = target.getChildByName(\"wave\").getChildByName(\"water1\");\r\n let water2 = target.getChildByName(\"wave\").getChildByName(\"water2\");\r\n let water3 = target.getChildByName(\"wave\").getChildByName(\"water3\");\r\n let timeDelay = 0.15;\r\n water1.runAction(cc.sequence(cc.moveTo(0.6,cc.v2(water1.x,120)),cc.delayTime(timeDelay),\r\n cc.callFunc(()=>{\r\n water1.y = -120\r\n })).repeatForever());\r\n water2.runAction(cc.sequence(cc.moveTo(0.6,cc.v2(water2.x,120)),cc.delayTime(timeDelay),\r\n cc.callFunc(()=>{\r\n water2.y = -120\r\n })).repeatForever());\r\n water3.runAction(cc.sequence(cc.moveTo(0.6,cc.v2(water3.x,120)),cc.delayTime(timeDelay),\r\n cc.callFunc(()=>{\r\n water3.y = -120\r\n })).repeatForever());\r\n name = \"b\" + random;\r\n //if(this.block_Type != cc.Enum(BlockType).Reinforce) target.getComponent(cc.Sprite).spriteFrame = this.UI[\"_spriteFrames\"][name];\r\n } \r\n // console.log(this.path_Type,data.order);\r\n if(this.path_Type == cc.Enum(PathType).up){\r\n }\r\n else if(this.path_Type == cc.Enum(PathType).down){\r\n target.angle = 180;\r\n }\r\n else if(this.path_Type == cc.Enum(PathType).left){\r\n target.angle = 90;\r\n name = \"b\" + random;\r\n //if(this.block_Type != cc.Enum(BlockType).Reinforce) target.getComponent(cc.Sprite).spriteFrame = this.UI[\"_spriteFrames\"][name];\r\n }\r\n else if(this.path_Type == cc.Enum(PathType).right){\r\n target.angle = 270;\r\n name = \"b\" + random;\r\n //if(this.block_Type != cc.Enum(BlockType).Reinforce) target.getComponent(cc.Sprite).spriteFrame = this.UI[\"_spriteFrames\"][name];\r\n }\r\n else{\r\n target = this.node.getChildByName(\"turn\");\r\n if(target.name == \"turn\"){\r\n let water = target.getChildByName(\"wave\").getChildByName(\"water\");\r\n water.opacity = 0\r\n water.runAction(cc.sequence(cc.rotateTo(7.2,-1080),cc.delayTime(0)).repeatForever());\r\n setTimeout(() => {\r\n water.opacity = 255;\r\n }, 200);\r\n }\r\n name = \"c\" + random;\r\n //if(this.block_Type != cc.Enum(BlockType).Reinforce)target.getComponent(cc.Sprite).spriteFrame = this.UI[\"_spriteFrames\"][name];\r\n progress = 0.25;\r\n if(this.path_Type == cc.Enum(PathType).up_left){\r\n target.setPosition(-this.pos_Shifting,-this.pos_Shifting);\r\n }\r\n else if(this.path_Type == cc.Enum(PathType).up_right){\r\n target.scaleX = -1;\r\n target.setPosition(this.pos_Shifting,-this.pos_Shifting);\r\n }\r\n else if(this.path_Type == cc.Enum(PathType).down_left){\r\n target.angle = 180;\r\n target.scaleX = -1;\r\n target.setPosition(-this.pos_Shifting,this.pos_Shifting);\r\n }\r\n else if(this.path_Type == cc.Enum(PathType).down_right){\r\n target.angle = 180;\r\n target.setPosition(this.pos_Shifting,this.pos_Shifting);\r\n }\r\n else if(this.path_Type == cc.Enum(PathType).left_up){\r\n target.angle = -90;\r\n target.scaleY = -1;\r\n target.setPosition(this.pos_Shifting,this.pos_Shifting);\r\n }\r\n else if(this.path_Type == cc.Enum(PathType).left_down){\r\n target.angle = 90;\r\n target.setPosition(-this.pos_Shifting,-this.pos_Shifting);\r\n }\r\n else if(this.path_Type == cc.Enum(PathType).right_up){\r\n target.angle = -90;\r\n target.setPosition(-this.pos_Shifting,this.pos_Shifting);\r\n \r\n }\r\n else if(this.path_Type == cc.Enum(PathType).right_down){\r\n target.angle = -90;\r\n target.scaleX = -1;\r\n target.setPosition(-this.pos_Shifting,-this.pos_Shifting);\r\n }\r\n }\r\n\r\n if(this.path_Type == \"End\"){\r\n target.active = false;\r\n if(this.block_Type == cc.Enum(BlockType).End){\r\n if(this.node.getChildByName(\"waterStart\").active == true && this.block_Type == cc.Enum(BlockType).End){\r\n cc.tween(this.node.getChildByName(\"waterStart\"))\r\n .to(0.2,{opacity:255})\r\n .call(()=>{\r\n // alert(\"治水成功\");\r\n cc.fx.Notifications.emit(cc.fx.Message.showResult,\"win\");\r\n cc.fx.Notifications.emit(cc.fx.Message.setData,true);\r\n \r\n if(cc.fx.GameConfig.GM_INFO.level < 7){\r\n cc.fx.GameConfig.GM_INFO.level += 1;\r\n }\r\n setTimeout(() => {\r\n // cc.director.loadScene(\"GameScene\");\r\n }, 500);\r\n \r\n })\r\n .start();\r\n }\r\n }\r\n else{\r\n target = this.node.getChildByName(\"End\"); \r\n target.active = true;\r\n target.opacity = 0;\r\n\r\n let posTemp = data.last;\r\n if(this.pos.x - posTemp.x >= 1){\r\n target.angle = -90;\r\n\r\n }\r\n else if(this.pos.x - posTemp.x <= -1){\r\n target.angle = 90;\r\n }\r\n else if(this.pos.y - posTemp.y >= 1){\r\n target.angle = 180;\r\n }\r\n \r\n cc.tween(target)\r\n .to(0.5,{opacity:255})\r\n .call(() =>{\r\n // alert(\"治水失败\")\r\n cc.fx.Notifications.emit(cc.fx.Message.showResult,\"lose\");\r\n cc.fx.Notifications.emit(cc.fx.Message.setData,false);\r\n // cc.director.loadScene(\"GameScene\");\r\n\r\n })\r\n .start();\r\n }\r\n\r\n }\r\n else{\r\n target.active = true;\r\n target.getComponent(cc.Sprite).fillRange = 0;\r\n cc.tween(target.getComponent(cc.Sprite))\r\n .to(time,{fillRange:progress})\r\n .call(() =>{\r\n if(data.circulate)\r\n cc.fx.Notifications.emit(cc.fx.Message.nextWater,order);\r\n })\r\n .start();\r\n }\r\n\r\n }\r\n\r\n // update (dt) {}\r\n}\r\n"]} \ No newline at end of file +{"version":3,"sources":["assets\\Script\\Block.ts"],"names":[],"mappings":"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","file":"","sourceRoot":"/","sourcesContent":["// Learn TypeScript:\r\n// - https://docs.cocos.com/creator/manual/en/scripting/typescript.html\r\n// Learn Attribute:\r\n// - https://docs.cocos.com/creator/manual/en/scripting/reference/attributes.html\r\n// Learn life-cycle callbacks:\r\n// - https://docs.cocos.com/creator/manual/en/scripting/life-cycle-callbacks.html\r\n\r\nconst {ccclass, property} = cc._decorator;\r\n\r\nexport enum BlockType{\r\n /*普通地块 */\r\n Nomal = 0, \r\n /*起点地块 */\r\n Start = 1, \r\n /*湿地 */\r\n Nunja = 2,\r\n /*山峰 */\r\n Peak = 3,\r\n /*终点地块 */\r\n End = 4,\r\n\r\n /*息壤 */\r\n Xi_Soil = 5,\r\n /*加固 */\r\n Reinforce = 6\r\n}\r\n\r\nexport enum PathType{\r\n err = \"err\",\r\n up = \"up\", \r\n down = \"down\", \r\n left = \"left\",\r\n right = \"right\",\r\n up_left = \"up_left\",\r\n up_right = \"up_right\",\r\n down_left = \"down_left\",\r\n down_right = \"down_right\",\r\n left_up = \"left_up\",\r\n left_down = \"left_down\",\r\n right_up = \"right_up\",\r\n right_down = \"right_down\",\r\n}\r\n\r\n@ccclass\r\nexport default class NewClass extends cc.Component {\r\n // LIFE-CYCLE CALLBACKS:\r\n @property(cc.SpriteAtlas)\r\n UI: cc.SpriteAtlas = null;\r\n\r\n pos_Shifting:number;\r\n block_Type:number;\r\n path_Type:string;\r\n finishi:boolean;\r\n pos: any;\r\n onLoad () {\r\n this.finishi = false;\r\n this.pos_Shifting = 0;\r\n this.pos = cc.v2(0,0);\r\n }\r\n\r\n start () {\r\n \r\n }\r\n /**\r\n * 息壤过后改变修筑路径\r\n * @param order 建筑地图数组里的执行的序列号\r\n * @param number 息壤执行长度,改变息壤用后其他路径的X或Y值\r\n * @param direction 只为两个方向,横向false,纵向true\r\n * @param road 建筑地图数组或者洪峰路径数组,可理解为路径数组,path_Array water_Array\r\n */\r\n //初始化地图块数据\r\n initData(type,pos,max){\r\n this.block_Type = type;\r\n this.pos = cc.v2(pos.x,pos.y);\r\n // if(this.pos.y%2 == 0) this.node.getChildByName(\"tip\").active = true;\r\n if(type == cc.Enum(BlockType).Start){ \r\n var bg = this.node.getChildByName(\"sp\");\r\n // this.node.getComponent(cc.Sprite).spriteFrame = null;\r\n // bg.getComponent(cc.Sprite).spriteFrame = this.UI[\"_spriteFrames\"][\"start\"];\r\n if(cc.fx.GameConfig.GM_INFO.level > 3){\r\n // bg.getChildByName(\"start\").y = 20;\r\n bg.getChildByName(\"end\").y = 20;\r\n }\r\n this.rotateTarget(bg,\"start\",pos,max);\r\n }\r\n else if(type == cc.Enum(BlockType).End){\r\n var bg = this.node.getChildByName(\"sp\");\r\n // this.node.getComponent(cc.Sprite).spriteFrame = null;\r\n bg.getComponent(cc.Sprite).spriteFrame = this.UI[\"_spriteFrames\"][\"end\"];\r\n if(cc.fx.GameConfig.GM_INFO.level > 3){\r\n // bg.getChildByName(\"start\").y = 20;\r\n bg.getChildByName(\"end\").y = 20;\r\n }\r\n this.rotateTarget(bg,\"end\",pos,max);\r\n }\r\n else if(type == cc.Enum(BlockType).Nunja){\r\n let random = Math.floor(Math.random()*4);\r\n let rotationArr = [0,90,180,270];\r\n let rotation = rotationArr[random];\r\n this.node.getChildByName(\"bg\").getComponent(cc.Sprite).spriteFrame = this.UI[\"_spriteFrames\"][\"e5\"];\r\n this.node.getChildByName(\"bg\").angle = -rotation;\r\n this.node.getComponent(cc.Sprite).spriteFrame = null;\r\n }\r\n else if(type == cc.Enum(BlockType).Peak){\r\n let random = Math.floor(Math.random()*4+1);\r\n let name = \"shan\" + random;\r\n this.node.getChildByName(\"bg\").getComponent(cc.Sprite).spriteFrame = this.UI[\"_spriteFrames\"][name];\r\n this.node.getComponent(cc.Sprite).spriteFrame = null;\r\n }\r\n if(cc.fx.GameConfig.GM_INFO.level == 1){\r\n this.node.getChildByName(\"tipWin\").opacity = 220;\r\n this.node.getChildByName(\"tipLose\").opacity = 220;\r\n }\r\n else if(cc.fx.GameConfig.GM_INFO.level == 2){\r\n this.node.getChildByName(\"tipWin\").opacity = 100;\r\n this.node.getChildByName(\"tipLose\").opacity = 100;\r\n }\r\n else if(cc.fx.GameConfig.GM_INFO.level == 3){\r\n this.node.getChildByName(\"tipWin\").opacity = 50;\r\n this.node.getChildByName(\"tipLose\").opacity = 50;\r\n }\r\n else if(cc.fx.GameConfig.GM_INFO.level > 3){\r\n this.node.getChildByName(\"tipWin\").opacity = 0;\r\n this.node.getChildByName(\"tipLose\").opacity = 0;\r\n }\r\n \r\n }\r\n //旋转入海口和出海口的 图片以及文字角度\r\n rotateTarget(bg,name,pos,max){\r\n let target = bg.getChildByName(name);\r\n if(pos.y == max.y-1){\r\n bg.angle = 0;\r\n if(name == \"end\") target.getComponent(cc.Sprite).spriteFrame = this.UI[\"_spriteFrames\"][\"end_x\"];\r\n target.active = true;\r\n target.angle = 0;\r\n return;\r\n }\r\n else if(pos.y == 0){\r\n bg.angle = -180;\r\n if(name == \"end\")target.getComponent(cc.Sprite).spriteFrame = this.UI[\"_spriteFrames\"][\"end_x\"];\r\n target.active = true;\r\n target.angle = -180;\r\n return;\r\n }\r\n else if(pos.x == max.x-1){\r\n bg.angle = 90;\r\n if(name == \"start\")target.getComponent(cc.Sprite).spriteFrame = this.UI[\"_spriteFrames\"][\"start_y\"];\r\n else target.getComponent(cc.Sprite).spriteFrame = this.UI[\"_spriteFrames\"][\"end_y\"];\r\n target.active = true;\r\n target.angle = -90;\r\n }\r\n else if(pos.x == 0){\r\n bg.angle = -90;\r\n if(name == \"start\")target.getComponent(cc.Sprite).spriteFrame = this.UI[\"_spriteFrames\"][\"start_y\"];\r\n else target.getComponent(cc.Sprite).spriteFrame = this.UI[\"_spriteFrames\"][\"end_y\"];\r\n target.active = true;\r\n target.angle = 90;\r\n }\r\n }\r\n\r\n setPath(type){\r\n this.path_Type = type;\r\n }\r\n //设置息壤在起点\r\n set_Xi_Soil(direction,type){\r\n let sp = this.node.getChildByName(\"sp\");\r\n let turn = this.node.getChildByName(\"turnStart\");\r\n let water = this.node.getChildByName(\"waterStart\");\r\n\r\n if(direction == \"left\" || direction == \"right\"){\r\n if(sp.angle == 0){\r\n turn.active =true;\r\n water.active = true;\r\n water.opacity = 0;\r\n if(type){\r\n turn.angle = direction==\"left\"?90:0;\r\n water.angle = direction==\"left\"?90:0;\r\n\r\n }\r\n else{\r\n turn.angle = direction==\"left\"?0:90;\r\n water.angle = direction==\"left\"?0:90;\r\n }\r\n\r\n }\r\n else if(sp.angle == -180){\r\n turn.active =true;\r\n water.active = true;\r\n water.opacity = 0;\r\n if(type){\r\n turn.angle = direction==\"left\"?-180:-90;\r\n water.angle = direction==\"left\"?-180:-90;\r\n }\r\n else{\r\n turn.angle = direction==\"left\"?270:-180;\r\n water.angle = direction==\"left\"?270:-180;\r\n }\r\n\r\n }\r\n else if(sp.angle == -90){\r\n turn.active =true;\r\n turn.getComponent(cc.Sprite).spriteFrame = this.UI[\"_spriteFrames\"][\"a1\"];\r\n turn.angle = 90;\r\n if(type){\r\n water.active = true;\r\n water.angle = 90;\r\n water.getComponent(cc.Sprite).spriteFrame = this.UI[\"_spriteFrames\"][\"block1\"];\r\n water.opacity = 0;\r\n }\r\n\r\n }\r\n else if(sp.angle == 90){\r\n turn.active =true;\r\n turn.getComponent(cc.Sprite).spriteFrame = this.UI[\"_spriteFrames\"][\"a1\"];\r\n turn.angle = 90;\r\n if(type){\r\n water.active = true;\r\n water.angle = 90;\r\n water.getComponent(cc.Sprite).spriteFrame = this.UI[\"_spriteFrames\"][\"block1\"];\r\n water.opacity = 0;\r\n }\r\n }\r\n \r\n }\r\n else if(direction == \"up\" || direction == \"down\"){\r\n let sp = this.node.getChildByName(\"sp\");\r\n if(sp.angle == -90){\r\n turn.active =true;\r\n water.active = true;\r\n water.opacity = 0;\r\n if(type){\r\n turn.angle = direction==\"up\"?0:-90;\r\n water.angle = direction==\"up\"?0:-90;\r\n }\r\n else{\r\n turn.angle = direction==\"up\"?-90:0;\r\n water.angle = direction==\"up\"?-90:0;\r\n }\r\n }\r\n else if(sp.angle == 90){\r\n turn.active = true;\r\n water.active = true;\r\n water.opacity = 0;\r\n if(type){\r\n turn.angle = direction==\"up\"?90:180;\r\n water.angle = direction==\"up\"?90:180;\r\n }\r\n else{\r\n turn.angle = direction==\"up\"?180:90;\r\n water.angle = direction==\"up\"?180:90;\r\n }\r\n \r\n }\r\n else if(sp.angle == 0){\r\n turn.active =true;\r\n turn.getComponent(cc.Sprite).spriteFrame = this.UI[\"_spriteFrames\"][\"a1\"];\r\n turn.angle = 0;\r\n if(type){\r\n water.active = true;\r\n water.getComponent(cc.Sprite).spriteFrame = this.UI[\"_spriteFrames\"][\"block1\"];\r\n water.opacity = 0;\r\n }\r\n }\r\n else if(sp.angle == -180){\r\n turn.active =true;\r\n turn.getComponent(cc.Sprite).spriteFrame = this.UI[\"_spriteFrames\"][\"a1\"];\r\n turn.angle = 0;\r\n if(type){\r\n water.active = true;\r\n water.getComponent(cc.Sprite).spriteFrame = this.UI[\"_spriteFrames\"][\"block1\"];\r\n water.opacity = 0;\r\n }\r\n }\r\n }\r\n }\r\n //息壤具体执行方法 外部可调用\r\n set_Xi_SoilType(direction,end,name){\r\n // console.log(\"息壤\",direction,name,end);\r\n var jg = this.repeatRoad(true,direction);\r\n console.log(\"息壤重复判断结果\",jg);\r\n if(jg == true){\r\n cc.fx.Notifications.emit(cc.fx.Message.showResult,\"lose\");\r\n return;\r\n } \r\n\r\n if(this.block_Type == cc.Enum(BlockType).Start){\r\n this.set_Xi_Soil(direction,false);\r\n return;\r\n }\r\n\r\n if(this.block_Type == cc.Enum(BlockType).Nunja){\r\n this.block_Type = cc.Enum(BlockType).Nomal;\r\n this.node.getChildByName(\"bg\").getComponent(cc.Sprite).spriteFrame = null;\r\n this.node.getComponent(cc.Sprite).spriteFrame = this.UI[\"_spriteFrames\"][\"block_Bg\"];\r\n }\r\n if(end != null){\r\n if(this.block_Type == cc.Enum(BlockType).End){\r\n this.finishi = true;\r\n setTimeout(() => {\r\n this.set_Xi_Soil(direction,true);\r\n }, 500);\r\n \r\n }\r\n setTimeout(() => {\r\n if(name == \"water\") cc.fx.Notifications.emit(cc.fx.Message.nextWater,(end+1));\r\n else cc.fx.Notifications.emit(cc.fx.Message.next,(end+1));\r\n }, 400);\r\n }\r\n\r\n if(this.block_Type != cc.Enum(BlockType).End && this.block_Type != cc.Enum(BlockType).Start){\r\n this.block_Type = cc.Enum(BlockType).Xi_Soil;\r\n } \r\n else{\r\n }\r\n\r\n let target = this.node.getChildByName(\"Xi_Soil\"); \r\n this.path_Type = direction;\r\n target.active = true;\r\n target.opacity = 0;\r\n cc.tween(target)\r\n .to(0.1,{opacity:255})\r\n .to(0.1,{opacity:0})\r\n .call(() =>{\r\n if(direction != null && end == null){\r\n let data = {\r\n order:0,\r\n time:cc.fx.GameConfig.TIME_INFO.waterSpeed[0],\r\n type:0,\r\n circulate:false\r\n };\r\n if(name == \"water\"){\r\n this.runWater(data);\r\n } \r\n else this.runRoad(data);\r\n }\r\n })\r\n .start();\r\n }\r\n //判断重复路径 \r\n repeatRoad(type,direction){\r\n //如果双向都占用了还进来就算死了- \r\n var jg = false;\r\n\r\n if(this.node.getChildByName(\"vertical2\").active == true && this.node.getChildByName(\"horizontal2\").active == true){\r\n // alert(\"治水失败\");\r\n jg = true;\r\n if(type){\r\n cc.fx.Notifications.emit(cc.fx.Message.showResult,\"lose\");\r\n }\r\n }\r\n\r\n else if(this.node.getChildByName(\"turn2\").active == true && this.block_Type != cc.Enum(BlockType).Xi_Soil){\r\n // alert(\"治水失败\");\r\n jg = true;\r\n if(type){\r\n cc.fx.Notifications.emit(cc.fx.Message.showResult,\"lose\");\r\n }\r\n }\r\n\r\n if(direction){\r\n if(this.node.getChildByName(\"vertical2\").active == true && this.block_Type == cc.Enum(BlockType).Xi_Soil && (direction == \"up\"|| direction ==\"down\")){\r\n // alert(\"治水失败\");\r\n if(this.node.getChildByName(\"vertical2\").angle == 0 || this.node.getChildByName(\"vertical2\").angle == 180 ){\r\n jg = true;\r\n if(type){\r\n cc.fx.Notifications.emit(cc.fx.Message.showResult,\"lose\");\r\n }\r\n }\r\n\r\n\r\n }\r\n else if(this.node.getChildByName(\"vertical2\").active == true && this.block_Type == cc.Enum(BlockType).Xi_Soil && (direction == \"right\"|| direction ==\"left\")){\r\n // alert(\"治水失败\");\r\n if(this.node.getChildByName(\"vertical2\").angle == 90 || this.node.getChildByName(\"vertical2\").angle == 270 ){\r\n jg = true;\r\n if(type){\r\n cc.fx.Notifications.emit(cc.fx.Message.showResult,\"lose\");\r\n }\r\n } \r\n\r\n }\r\n }\r\n\r\n return jg;\r\n }\r\n\r\n //修筑路线执行\r\n runRoad(data){\r\n if(this.path_Type == \"err\"){\r\n setTimeout(() => {\r\n if(data.circulate)\r\n cc.fx.Notifications.emit(cc.fx.Message.next,order);\r\n }, data.time);\r\n return;\r\n }\r\n var jg = this.repeatRoad(true,null);\r\n if(jg == true) return;\r\n var target = null;\r\n var progress = 1;\r\n var time = data.time;\r\n var order = data.order + 1;\r\n var random = Math.floor(Math.random()*4 + 1);\r\n target = this.node.getChildByName(\"vertical2\");\r\n if(target.name == \"vertical\"){\r\n let water1 = target.getChildByName(\"wave\").getChildByName(\"water1\");\r\n let water2 = target.getChildByName(\"wave\").getChildByName(\"water2\");\r\n let water3 = target.getChildByName(\"wave\").getChildByName(\"water3\");\r\n let timeDelay = 0.15;\r\n water1.runAction(cc.sequence(cc.moveTo(0.6,cc.v2(water1.x,120)),cc.delayTime(timeDelay),\r\n cc.callFunc(()=>{\r\n water1.y = -120\r\n })).repeatForever());\r\n water2.runAction(cc.sequence(cc.moveTo(0.6,cc.v2(water2.x,120)),cc.delayTime(timeDelay),\r\n cc.callFunc(()=>{\r\n water2.y = -120\r\n })).repeatForever());\r\n water3.runAction(cc.sequence(cc.moveTo(0.6,cc.v2(water3.x,120)),cc.delayTime(timeDelay),\r\n cc.callFunc(()=>{\r\n water3.y = -120\r\n })).repeatForever());\r\n }\r\n\r\n var name = \"a\" + random;\r\n if(this.block_Type != cc.Enum(BlockType).Reinforce)target.getComponent(cc.Sprite).spriteFrame = this.UI[\"_spriteFrames\"][name];\r\n\r\n if(target.active == true){\r\n target = this.node.getChildByName(\"horizontal2\");\r\n name = \"b\" + random;\r\n if(this.block_Type != cc.Enum(BlockType).Reinforce) target.getComponent(cc.Sprite).spriteFrame = this.UI[\"_spriteFrames\"][name];\r\n } \r\n // console.log(this.path_Type,data.order);\r\n if(this.path_Type == cc.Enum(PathType).up){\r\n }\r\n else if(this.path_Type == cc.Enum(PathType).down){\r\n target.angle = 180;\r\n }\r\n else if(this.path_Type == cc.Enum(PathType).left){\r\n target.angle = 90;\r\n name = \"b\" + random;\r\n if(this.block_Type != cc.Enum(BlockType).Reinforce) target.getComponent(cc.Sprite).spriteFrame = this.UI[\"_spriteFrames\"][name];\r\n }\r\n else if(this.path_Type == cc.Enum(PathType).right){\r\n target.angle = 270;\r\n name = \"b\" + random;\r\n if(this.block_Type != cc.Enum(BlockType).Reinforce) target.getComponent(cc.Sprite).spriteFrame = this.UI[\"_spriteFrames\"][name];\r\n }\r\n else{\r\n target = this.node.getChildByName(\"turn2\");\r\n if(target.name == \"turn\"){\r\n let water = target.getChildByName(\"wave\").getChildByName(\"water\");\r\n water.opacity = 0\r\n water.runAction(cc.sequence(cc.rotateTo(7.2,-1080),cc.delayTime(0)).repeatForever());\r\n setTimeout(() => {\r\n water.opacity = 255;\r\n }, 200);\r\n }\r\n name = \"c\" + random;\r\n if(this.block_Type != cc.Enum(BlockType).Reinforce)target.getComponent(cc.Sprite).spriteFrame = this.UI[\"_spriteFrames\"][name];\r\n progress = 0.25;\r\n if(this.path_Type == cc.Enum(PathType).up_left){\r\n target.setPosition(-this.pos_Shifting,-this.pos_Shifting);\r\n }\r\n else if(this.path_Type == cc.Enum(PathType).up_right){\r\n target.scaleX = -1;\r\n target.setPosition(this.pos_Shifting,-this.pos_Shifting);\r\n }\r\n else if(this.path_Type == cc.Enum(PathType).down_left){\r\n target.angle = 180;\r\n target.scaleX = -1;\r\n target.setPosition(-this.pos_Shifting,this.pos_Shifting);\r\n }\r\n else if(this.path_Type == cc.Enum(PathType).down_right){\r\n target.angle = 180;\r\n target.setPosition(this.pos_Shifting,this.pos_Shifting);\r\n }\r\n else if(this.path_Type == cc.Enum(PathType).left_up){\r\n target.angle = -90;\r\n target.scaleY = -1;\r\n target.setPosition(this.pos_Shifting,this.pos_Shifting);\r\n }\r\n else if(this.path_Type == cc.Enum(PathType).left_down){\r\n target.angle = 90;\r\n target.setPosition(-this.pos_Shifting,-this.pos_Shifting);\r\n }\r\n else if(this.path_Type == cc.Enum(PathType).right_up){\r\n target.angle = -90;\r\n target.setPosition(-this.pos_Shifting,this.pos_Shifting);\r\n \r\n }\r\n else if(this.path_Type == cc.Enum(PathType).right_down){\r\n target.angle = -90;\r\n target.scaleX = -1;\r\n target.setPosition(-this.pos_Shifting,-this.pos_Shifting);\r\n }\r\n }\r\n if(this.path_Type == \"Reinforce\"){\r\n target = this.node.getChildByName(\"Reinforce\");\r\n if(this.block_Type == cc.Enum(BlockType).Peak){\r\n cc.fx.Notifications.emit(cc.fx.Message.showResult,\"lose\");\r\n return;\r\n }\r\n if(this.block_Type != cc.Enum(BlockType).End)this.block_Type = cc.Enum(BlockType).Reinforce;\r\n this.node.getChildByName(\"vertical2\").getComponent(cc.Sprite).spriteFrame = this.UI[\"_spriteFrames\"][\"e1\"];\r\n this.node.getChildByName(\"turn2\").getComponent(cc.Sprite).spriteFrame = this.UI[\"_spriteFrames\"][\"e3\"];\r\n this.node.getChildByName(\"horizontal2\").getComponent(cc.Sprite).spriteFrame = this.UI[\"_spriteFrames\"][\"e2\"];\r\n target.active = true;\r\n target.opacity = 0;\r\n progress = 1;\r\n cc.tween(target)\r\n .to(cc.fx.GameConfig.TIME_INFO.ReinforceSpeed,{opacity:255})\r\n .call(() =>{\r\n if(data.circulate)\r\n cc.fx.Notifications.emit(cc.fx.Message.changeMap,order);\r\n cc.fx.Notifications.emit(cc.fx.Message.next,order);\r\n })\r\n .start();\r\n }\r\n else if(this.path_Type == \"Xi_Soil\"){\r\n target.active = false;\r\n if(this.block_Type != cc.Enum(BlockType).End && this.block_Type != cc.Enum(BlockType).Start)\r\n this.block_Type = cc.Enum(BlockType).Xi_Soil;\r\n target = this.node.getChildByName(\"Xi_Soil\"); \r\n target.active = true;\r\n target.opacity = 0;\r\n cc.tween(target)\r\n .to(0.01,{opacity:1})\r\n .to(0.01,{opacity:0})\r\n .call(() =>{\r\n if(data.circulate){\r\n cc.fx.Notifications.emit(cc.fx.Message.next,order);\r\n }\r\n \r\n })\r\n .start();\r\n }\r\n else if(this.path_Type == \"End\"){\r\n target.active = false;\r\n if(this.block_Type != cc.Enum(BlockType).End && this.block_Type != cc.Enum(BlockType).Start)\r\n this.block_Type = cc.Enum(BlockType).Xi_Soil;\r\n let posTemp = data.last;\r\n var direction = \"up\";\r\n if(this.pos.x - posTemp.x >= 1){\r\n direction = \"right\";\r\n }\r\n else if(this.pos.x - posTemp.x <= -1){\r\n direction = \"left\";\r\n }\r\n else if(this.pos.y - posTemp.y >= 1){\r\n direction = \"down\";\r\n }\r\n \r\n // console.log(\"结束方向:\",direction);\r\n if(!this.finishi){\r\n this.finishi = true;\r\n this.set_Xi_Soil(direction,true);\r\n }\r\n }\r\n else{\r\n target.active = true;\r\n if(this.block_Type != cc.Enum(BlockType).Xi_Soil){\r\n target.getComponent(cc.Sprite).fillRange = 0;\r\n cc.tween(target.getComponent(cc.Sprite))\r\n .to(time,{fillRange:progress})\r\n .call(() =>{\r\n if(data.circulate)\r\n cc.fx.Notifications.emit(cc.fx.Message.next,order);\r\n })\r\n .start();\r\n }\r\n else{\r\n target.opacity = 0;\r\n target.getComponent(cc.Sprite).fillRange = 1;\r\n cc.tween(target)\r\n .to(time,{opacity:255})\r\n .call(() =>{\r\n if(data.circulate)\r\n cc.fx.Notifications.emit(cc.fx.Message.next,order);\r\n })\r\n .start();\r\n }\r\n }\r\n\r\n }\r\n //洪峰执行\r\n runWater(data){\r\n if(this.node.getChildByName(\"waterStart\").active == true && this.block_Type == cc.Enum(BlockType).Start){\r\n // sp.getChildByName(\"waterStart\").opacity = 255;\r\n cc.tween(this.node.getChildByName(\"waterStart\"))\r\n .to(0.2,{opacity:255})\r\n .start();\r\n }\r\n\r\n\r\n if(this.path_Type == \"err\"){\r\n setTimeout(() => {\r\n if(data.circulate)\r\n cc.fx.Notifications.emit(cc.fx.Message.nextWater,order);\r\n }, data.time);\r\n return;\r\n }\r\n //如果双向都占用了还进来就算死了- \r\n if(this.node.getChildByName(\"vertical\").active == true && this.node.getChildByName(\"horizontal\").active == true){\r\n // alert(\"治水失败\");\r\n cc.fx.Notifications.emit(cc.fx.Message.showResult,\"lose\");\r\n // cc.director.loadScene(\"GameScene\");\r\n return;\r\n }\r\n\r\n else if(this.node.getChildByName(\"turn\").active == true && this.block_Type != cc.Enum(BlockType).Xi_Soil){\r\n // alert(\"治水失败\");\r\n cc.fx.Notifications.emit(cc.fx.Message.showResult,\"lose\");\r\n // cc.director.loadScene(\"GameScene\");\r\n return;\r\n }\r\n var target = null;\r\n var progress = 1;\r\n var time = data.time;\r\n var order = data.order + 1;\r\n var random = Math.floor(Math.random()*4 + 1);\r\n target = this.node.getChildByName(\"vertical\");\r\n if(target.name == \"vertical\"){\r\n let water1 = target.getChildByName(\"wave\").getChildByName(\"water1\");\r\n let water2 = target.getChildByName(\"wave\").getChildByName(\"water2\");\r\n let water3 = target.getChildByName(\"wave\").getChildByName(\"water3\");\r\n let timeDelay = 0.15;\r\n water1.runAction(cc.sequence(cc.moveTo(0.6,cc.v2(water1.x,120)),cc.delayTime(timeDelay),\r\n cc.callFunc(()=>{\r\n water1.y = -120\r\n })).repeatForever());\r\n water2.runAction(cc.sequence(cc.moveTo(0.6,cc.v2(water2.x,120)),cc.delayTime(timeDelay),\r\n cc.callFunc(()=>{\r\n water2.y = -120\r\n })).repeatForever());\r\n water3.runAction(cc.sequence(cc.moveTo(0.6,cc.v2(water3.x,120)),cc.delayTime(timeDelay),\r\n cc.callFunc(()=>{\r\n water3.y = -120\r\n })).repeatForever());\r\n }\r\n\r\n var name = \"a\" + random;\r\n // if(this.block_Type != cc.Enum(BlockType).Reinforce)target.getComponent(cc.Sprite).spriteFrame = this.UI[\"_spriteFrames\"][name];\r\n\r\n if(target.active == true){\r\n target = this.node.getChildByName(\"horizontal\");\r\n let water1 = target.getChildByName(\"wave\").getChildByName(\"water1\");\r\n let water2 = target.getChildByName(\"wave\").getChildByName(\"water2\");\r\n let water3 = target.getChildByName(\"wave\").getChildByName(\"water3\");\r\n let timeDelay = 0.15;\r\n water1.runAction(cc.sequence(cc.moveTo(0.6,cc.v2(water1.x,120)),cc.delayTime(timeDelay),\r\n cc.callFunc(()=>{\r\n water1.y = -120\r\n })).repeatForever());\r\n water2.runAction(cc.sequence(cc.moveTo(0.6,cc.v2(water2.x,120)),cc.delayTime(timeDelay),\r\n cc.callFunc(()=>{\r\n water2.y = -120\r\n })).repeatForever());\r\n water3.runAction(cc.sequence(cc.moveTo(0.6,cc.v2(water3.x,120)),cc.delayTime(timeDelay),\r\n cc.callFunc(()=>{\r\n water3.y = -120\r\n })).repeatForever());\r\n name = \"b\" + random;\r\n //if(this.block_Type != cc.Enum(BlockType).Reinforce) target.getComponent(cc.Sprite).spriteFrame = this.UI[\"_spriteFrames\"][name];\r\n } \r\n // console.log(this.path_Type,data.order);\r\n if(this.path_Type == cc.Enum(PathType).up){\r\n }\r\n else if(this.path_Type == cc.Enum(PathType).down){\r\n target.angle = 180;\r\n }\r\n else if(this.path_Type == cc.Enum(PathType).left){\r\n target.angle = 90;\r\n name = \"b\" + random;\r\n //if(this.block_Type != cc.Enum(BlockType).Reinforce) target.getComponent(cc.Sprite).spriteFrame = this.UI[\"_spriteFrames\"][name];\r\n }\r\n else if(this.path_Type == cc.Enum(PathType).right){\r\n target.angle = 270;\r\n name = \"b\" + random;\r\n //if(this.block_Type != cc.Enum(BlockType).Reinforce) target.getComponent(cc.Sprite).spriteFrame = this.UI[\"_spriteFrames\"][name];\r\n }\r\n else{\r\n target = this.node.getChildByName(\"turn\");\r\n if(target.name == \"turn\"){\r\n let water = target.getChildByName(\"wave\").getChildByName(\"water\");\r\n water.opacity = 0\r\n water.runAction(cc.sequence(cc.rotateTo(7.2,-1080),cc.delayTime(0)).repeatForever());\r\n setTimeout(() => {\r\n water.opacity = 255;\r\n }, 200);\r\n }\r\n name = \"c\" + random;\r\n //if(this.block_Type != cc.Enum(BlockType).Reinforce)target.getComponent(cc.Sprite).spriteFrame = this.UI[\"_spriteFrames\"][name];\r\n progress = 0.25;\r\n if(this.path_Type == cc.Enum(PathType).up_left){\r\n target.setPosition(-this.pos_Shifting,-this.pos_Shifting);\r\n }\r\n else if(this.path_Type == cc.Enum(PathType).up_right){\r\n target.scaleX = -1;\r\n target.setPosition(this.pos_Shifting,-this.pos_Shifting);\r\n }\r\n else if(this.path_Type == cc.Enum(PathType).down_left){\r\n target.angle = 180;\r\n target.scaleX = -1;\r\n target.setPosition(-this.pos_Shifting,this.pos_Shifting);\r\n }\r\n else if(this.path_Type == cc.Enum(PathType).down_right){\r\n target.angle = 180;\r\n target.setPosition(this.pos_Shifting,this.pos_Shifting);\r\n }\r\n else if(this.path_Type == cc.Enum(PathType).left_up){\r\n target.angle = -90;\r\n target.scaleY = -1;\r\n target.setPosition(this.pos_Shifting,this.pos_Shifting);\r\n }\r\n else if(this.path_Type == cc.Enum(PathType).left_down){\r\n target.angle = 90;\r\n target.setPosition(-this.pos_Shifting,-this.pos_Shifting);\r\n }\r\n else if(this.path_Type == cc.Enum(PathType).right_up){\r\n target.angle = -90;\r\n target.setPosition(-this.pos_Shifting,this.pos_Shifting);\r\n \r\n }\r\n else if(this.path_Type == cc.Enum(PathType).right_down){\r\n target.angle = -90;\r\n target.scaleX = -1;\r\n target.setPosition(-this.pos_Shifting,-this.pos_Shifting);\r\n }\r\n }\r\n\r\n if(this.path_Type == \"End\"){\r\n target.active = false;\r\n if(this.block_Type == cc.Enum(BlockType).End){\r\n if(this.node.getChildByName(\"waterStart\").active == true && this.block_Type == cc.Enum(BlockType).End){\r\n cc.tween(this.node.getChildByName(\"waterStart\"))\r\n .to(0.2,{opacity:255})\r\n .call(()=>{\r\n // alert(\"治水成功\");\r\n cc.fx.Notifications.emit(cc.fx.Message.showResult,\"win\");\r\n \r\n if(cc.fx.GameConfig.GM_INFO.level < 7){\r\n cc.fx.GameConfig.GM_INFO.level += 1;\r\n }\r\n setTimeout(() => {\r\n // cc.director.loadScene(\"GameScene\");\r\n }, 500);\r\n \r\n })\r\n .start();\r\n }\r\n }\r\n else{\r\n target = this.node.getChildByName(\"End\"); \r\n target.active = true;\r\n target.opacity = 0;\r\n\r\n let posTemp = data.last;\r\n if(this.pos.x - posTemp.x >= 1){\r\n target.angle = -90;\r\n\r\n }\r\n else if(this.pos.x - posTemp.x <= -1){\r\n target.angle = 90;\r\n }\r\n else if(this.pos.y - posTemp.y >= 1){\r\n target.angle = 180;\r\n }\r\n \r\n cc.tween(target)\r\n .to(0.5,{opacity:255})\r\n .call(() =>{\r\n // alert(\"治水失败\")\r\n cc.fx.Notifications.emit(cc.fx.Message.showResult,\"lose\");\r\n // cc.director.loadScene(\"GameScene\");\r\n\r\n })\r\n .start();\r\n }\r\n\r\n }\r\n else{\r\n target.active = true;\r\n target.getComponent(cc.Sprite).fillRange = 0;\r\n cc.tween(target.getComponent(cc.Sprite))\r\n .to(time,{fillRange:progress})\r\n .call(() =>{\r\n if(data.circulate)\r\n cc.fx.Notifications.emit(cc.fx.Message.nextWater,order);\r\n })\r\n .start();\r\n }\r\n\r\n }\r\n\r\n // update (dt) {}\r\n}\r\n"]} \ No newline at end of file diff --git a/library/imports/c9/c930d64e-2707-474f-b691-6220e2932ddd.json b/library/imports/c9/c930d64e-2707-474f-b691-6220e2932ddd.json index 8491f77..e983f2e 100644 --- a/library/imports/c9/c930d64e-2707-474f-b691-6220e2932ddd.json +++ b/library/imports/c9/c930d64e-2707-474f-b691-6220e2932ddd.json @@ -42,13 +42,13 @@ "__id__": 23 }, { - "__id__": 26 + "__id__": 38 }, { - "__id__": 41 + "__id__": 47 }, { - "__id__": 50 + "__id__": 62 }, { "__id__": 65 @@ -559,7 +559,7 @@ }, { "__type__": "cc.Node", - "_name": "Xi_Soil", + "_name": "vertical2", "_objFlags": 0, "_parent": { "__id__": 1 @@ -574,18 +574,18 @@ "_prefab": { "__id__": 16 }, - "_opacity": 0, + "_opacity": 255, "_color": { "__type__": "cc.Color", "r": 255, "g": 255, - "b": 0, + "b": 255, "a": 255 }, "_contentSize": { "__type__": "cc.Size", - "width": 100, - "height": 100 + "width": 96, + "height": 96 }, "_anchorPoint": { "__type__": "cc.Vec2", @@ -636,10 +636,12 @@ ], "_srcBlendFactor": 770, "_dstBlendFactor": 771, - "_spriteFrame": null, - "_type": 0, - "_sizeMode": 0, - "_fillType": 0, + "_spriteFrame": { + "__uuid__": "b76603e2-c166-4ce9-af37-417cdedde12e" + }, + "_type": 3, + "_sizeMode": 1, + "_fillType": 1, "_fillCenter": { "__type__": "cc.Vec2", "x": 0, @@ -648,7 +650,9 @@ "_fillStart": 0, "_fillRange": 0, "_isTrimmedMode": true, - "_atlas": null, + "_atlas": { + "__uuid__": "9830637c-e4e3-4df5-8d51-fc49b7d715b4" + }, "_id": "" }, { @@ -659,12 +663,12 @@ "asset": { "__id__": 0 }, - "fileId": "c1rnBrwplFLLvmPviKv2Ng", + "fileId": "59m0Fk9O9EjJ2NMsw4izxI", "sync": false }, { "__type__": "cc.Node", - "_name": "vertical2", + "_name": "turn2", "_objFlags": 0, "_parent": { "__id__": 1 @@ -742,18 +746,18 @@ "_srcBlendFactor": 770, "_dstBlendFactor": 771, "_spriteFrame": { - "__uuid__": "b76603e2-c166-4ce9-af37-417cdedde12e" + "__uuid__": "c01c7783-54ca-426a-b44e-173f4dba8a8a" }, "_type": 3, "_sizeMode": 1, - "_fillType": 1, + "_fillType": 2, "_fillCenter": { "__type__": "cc.Vec2", "x": 0, "y": 0 }, "_fillStart": 0, - "_fillRange": 1, + "_fillRange": 0, "_isTrimmedMode": true, "_atlas": { "__uuid__": "9830637c-e4e3-4df5-8d51-fc49b7d715b4" @@ -768,12 +772,12 @@ "asset": { "__id__": 0 }, - "fileId": "59m0Fk9O9EjJ2NMsw4izxI", + "fileId": "d5D4goRj5NHYJ9Ls2YiLkA", "sync": false }, { "__type__": "cc.Node", - "_name": "turn2", + "_name": "horizontal2", "_objFlags": 0, "_parent": { "__id__": 1 @@ -850,115 +854,6 @@ ], "_srcBlendFactor": 770, "_dstBlendFactor": 771, - "_spriteFrame": { - "__uuid__": "c01c7783-54ca-426a-b44e-173f4dba8a8a" - }, - "_type": 3, - "_sizeMode": 1, - "_fillType": 2, - "_fillCenter": { - "__type__": "cc.Vec2", - "x": 0, - "y": 0 - }, - "_fillStart": 0, - "_fillRange": 0.25, - "_isTrimmedMode": true, - "_atlas": { - "__uuid__": "9830637c-e4e3-4df5-8d51-fc49b7d715b4" - }, - "_id": "" - }, - { - "__type__": "cc.PrefabInfo", - "root": { - "__id__": 1 - }, - "asset": { - "__id__": 0 - }, - "fileId": "d5D4goRj5NHYJ9Ls2YiLkA", - "sync": false - }, - { - "__type__": "cc.Node", - "_name": "horizontal2", - "_objFlags": 0, - "_parent": { - "__id__": 1 - }, - "_children": [], - "_active": false, - "_components": [ - { - "__id__": 24 - } - ], - "_prefab": { - "__id__": 25 - }, - "_opacity": 255, - "_color": { - "__type__": "cc.Color", - "r": 255, - "g": 255, - "b": 255, - "a": 255 - }, - "_contentSize": { - "__type__": "cc.Size", - "width": 96, - "height": 96 - }, - "_anchorPoint": { - "__type__": "cc.Vec2", - "x": 0.5, - "y": 0.5 - }, - "_trs": { - "__type__": "TypedArray", - "ctor": "Float64Array", - "array": [ - 0, - 0, - 0, - 0, - 0, - 0, - 1, - 1, - 1, - 1 - ] - }, - "_eulerAngles": { - "__type__": "cc.Vec3", - "x": 0, - "y": 0, - "z": 0 - }, - "_skewX": 0, - "_skewY": 0, - "_is3DNode": false, - "_groupIndex": 0, - "groupIndex": 0, - "_id": "" - }, - { - "__type__": "cc.Sprite", - "_name": "", - "_objFlags": 0, - "node": { - "__id__": 23 - }, - "_enabled": true, - "_materials": [ - { - "__uuid__": "eca5d2f2-8ef6-41c2-bbe6-f9c79d09c432" - } - ], - "_srcBlendFactor": 770, - "_dstBlendFactor": 771, "_spriteFrame": { "__uuid__": "b76603e2-c166-4ce9-af37-417cdedde12e" }, @@ -998,17 +893,17 @@ }, "_children": [ { - "__id__": 27 + "__id__": 24 } ], "_active": false, "_components": [ { - "__id__": 39 + "__id__": 36 } ], "_prefab": { - "__id__": 40 + "__id__": 37 }, "_opacity": 255, "_color": { @@ -1062,27 +957,27 @@ "_name": "wave", "_objFlags": 0, "_parent": { - "__id__": 26 + "__id__": 23 }, "_children": [ + { + "__id__": 25 + }, { "__id__": 28 }, { "__id__": 31 - }, - { - "__id__": 34 } ], "_active": true, "_components": [ { - "__id__": 37 + "__id__": 34 } ], "_prefab": { - "__id__": 38 + "__id__": 35 }, "_opacity": 255, "_color": { @@ -1136,17 +1031,17 @@ "_name": "water1", "_objFlags": 0, "_parent": { - "__id__": 27 + "__id__": 24 }, "_children": [], "_active": true, "_components": [ { - "__id__": 29 + "__id__": 26 } ], "_prefab": { - "__id__": 30 + "__id__": 27 }, "_opacity": 255, "_color": { @@ -1200,7 +1095,7 @@ "_name": "", "_objFlags": 0, "node": { - "__id__": 28 + "__id__": 25 }, "_enabled": true, "_materials": [ @@ -1245,17 +1140,17 @@ "_name": "water2", "_objFlags": 0, "_parent": { - "__id__": 27 + "__id__": 24 }, "_children": [], "_active": true, "_components": [ { - "__id__": 32 + "__id__": 29 } ], "_prefab": { - "__id__": 33 + "__id__": 30 }, "_opacity": 255, "_color": { @@ -1309,7 +1204,7 @@ "_name": "", "_objFlags": 0, "node": { - "__id__": 31 + "__id__": 28 }, "_enabled": true, "_materials": [ @@ -1354,17 +1249,17 @@ "_name": "water3", "_objFlags": 0, "_parent": { - "__id__": 27 + "__id__": 24 }, "_children": [], "_active": true, "_components": [ { - "__id__": 35 + "__id__": 32 } ], "_prefab": { - "__id__": 36 + "__id__": 33 }, "_opacity": 255, "_color": { @@ -1418,7 +1313,7 @@ "_name": "", "_objFlags": 0, "node": { - "__id__": 34 + "__id__": 31 }, "_enabled": true, "_materials": [ @@ -1463,7 +1358,7 @@ "_name": "", "_objFlags": 0, "node": { - "__id__": 27 + "__id__": 24 }, "_enabled": true, "_materials": [ @@ -1494,7 +1389,7 @@ "_name": "", "_objFlags": 0, "node": { - "__id__": 26 + "__id__": 23 }, "_enabled": true, "_materials": [ @@ -1516,7 +1411,7 @@ "y": 0 }, "_fillStart": 0, - "_fillRange": 0, + "_fillRange": 1, "_isTrimmedMode": true, "_atlas": { "__uuid__": "9830637c-e4e3-4df5-8d51-fc49b7d715b4" @@ -1543,17 +1438,17 @@ }, "_children": [ { - "__id__": 42 + "__id__": 39 } ], "_active": false, "_components": [ { - "__id__": 48 + "__id__": 45 } ], "_prefab": { - "__id__": 49 + "__id__": 46 }, "_opacity": 255, "_color": { @@ -1607,21 +1502,21 @@ "_name": "wave", "_objFlags": 0, "_parent": { - "__id__": 41 + "__id__": 38 }, "_children": [ { - "__id__": 43 + "__id__": 40 } ], "_active": true, "_components": [ { - "__id__": 46 + "__id__": 43 } ], "_prefab": { - "__id__": 47 + "__id__": 44 }, "_opacity": 255, "_color": { @@ -1675,17 +1570,17 @@ "_name": "water", "_objFlags": 0, "_parent": { - "__id__": 42 + "__id__": 39 }, "_children": [], "_active": true, "_components": [ { - "__id__": 44 + "__id__": 41 } ], "_prefab": { - "__id__": 45 + "__id__": 42 }, "_opacity": 255, "_color": { @@ -1739,7 +1634,7 @@ "_name": "", "_objFlags": 0, "node": { - "__id__": 43 + "__id__": 40 }, "_enabled": true, "_materials": [ @@ -1784,7 +1679,7 @@ "_name": "", "_objFlags": 0, "node": { - "__id__": 42 + "__id__": 39 }, "_enabled": true, "_materials": [ @@ -1815,7 +1710,7 @@ "_name": "", "_objFlags": 0, "node": { - "__id__": 41 + "__id__": 38 }, "_enabled": true, "_materials": [ @@ -1864,17 +1759,17 @@ }, "_children": [ { - "__id__": 51 + "__id__": 48 } ], "_active": false, "_components": [ { - "__id__": 63 + "__id__": 60 } ], "_prefab": { - "__id__": 64 + "__id__": 61 }, "_opacity": 255, "_color": { @@ -1903,8 +1798,8 @@ 0, 0, 0, - 0.7071067811865475, - 0.7071067811865476, + 0, + 1, 1, 1, 1 @@ -1914,7 +1809,7 @@ "__type__": "cc.Vec3", "x": 0, "y": 0, - "z": 90 + "z": 0 }, "_skewX": 0, "_skewY": 0, @@ -1928,27 +1823,27 @@ "_name": "wave", "_objFlags": 0, "_parent": { - "__id__": 50 + "__id__": 47 }, "_children": [ + { + "__id__": 49 + }, { "__id__": 52 }, { "__id__": 55 - }, - { - "__id__": 58 } ], "_active": true, "_components": [ { - "__id__": 61 + "__id__": 58 } ], "_prefab": { - "__id__": 62 + "__id__": 59 }, "_opacity": 255, "_color": { @@ -2002,17 +1897,17 @@ "_name": "water1", "_objFlags": 0, "_parent": { - "__id__": 51 + "__id__": 48 }, "_children": [], "_active": true, "_components": [ { - "__id__": 53 + "__id__": 50 } ], "_prefab": { - "__id__": 54 + "__id__": 51 }, "_opacity": 255, "_color": { @@ -2066,7 +1961,7 @@ "_name": "", "_objFlags": 0, "node": { - "__id__": 52 + "__id__": 49 }, "_enabled": true, "_materials": [ @@ -2111,17 +2006,17 @@ "_name": "water2", "_objFlags": 0, "_parent": { - "__id__": 51 + "__id__": 48 }, "_children": [], "_active": true, "_components": [ { - "__id__": 56 + "__id__": 53 } ], "_prefab": { - "__id__": 57 + "__id__": 54 }, "_opacity": 255, "_color": { @@ -2175,7 +2070,7 @@ "_name": "", "_objFlags": 0, "node": { - "__id__": 55 + "__id__": 52 }, "_enabled": true, "_materials": [ @@ -2220,17 +2115,17 @@ "_name": "water3", "_objFlags": 0, "_parent": { - "__id__": 51 + "__id__": 48 }, "_children": [], "_active": true, "_components": [ { - "__id__": 59 + "__id__": 56 } ], "_prefab": { - "__id__": 60 + "__id__": 57 }, "_opacity": 255, "_color": { @@ -2284,7 +2179,7 @@ "_name": "", "_objFlags": 0, "node": { - "__id__": 58 + "__id__": 55 }, "_enabled": true, "_materials": [ @@ -2329,7 +2224,7 @@ "_name": "", "_objFlags": 0, "node": { - "__id__": 51 + "__id__": 48 }, "_enabled": true, "_materials": [ @@ -2360,7 +2255,7 @@ "_name": "", "_objFlags": 0, "node": { - "__id__": 50 + "__id__": 47 }, "_enabled": true, "_materials": [ @@ -2382,7 +2277,7 @@ "y": 0 }, "_fillStart": 0, - "_fillRange": 0, + "_fillRange": 1, "_isTrimmedMode": true, "_atlas": { "__uuid__": "9830637c-e4e3-4df5-8d51-fc49b7d715b4" @@ -2411,11 +2306,11 @@ "_active": false, "_components": [ { - "__id__": 66 + "__id__": 63 } ], "_prefab": { - "__id__": 67 + "__id__": 64 }, "_opacity": 255, "_color": { @@ -2469,7 +2364,7 @@ "_name": "", "_objFlags": 0, "node": { - "__id__": 65 + "__id__": 62 }, "_enabled": true, "_materials": [ @@ -2507,6 +2402,113 @@ "fileId": "b2Xfw7RPZMhrj9rvQnCwPq", "sync": false }, + { + "__type__": "cc.Node", + "_name": "Xi_Soil", + "_objFlags": 0, + "_parent": { + "__id__": 1 + }, + "_children": [], + "_active": false, + "_components": [ + { + "__id__": 66 + } + ], + "_prefab": { + "__id__": 67 + }, + "_opacity": 0, + "_color": { + "__type__": "cc.Color", + "r": 255, + "g": 255, + "b": 0, + "a": 255 + }, + "_contentSize": { + "__type__": "cc.Size", + "width": 100, + "height": 100 + }, + "_anchorPoint": { + "__type__": "cc.Vec2", + "x": 0.5, + "y": 0.5 + }, + "_trs": { + "__type__": "TypedArray", + "ctor": "Float64Array", + "array": [ + 0, + 0, + 0, + 0, + 0, + 0, + 1, + 1, + 1, + 1 + ] + }, + "_eulerAngles": { + "__type__": "cc.Vec3", + "x": 0, + "y": 0, + "z": 0 + }, + "_skewX": 0, + "_skewY": 0, + "_is3DNode": false, + "_groupIndex": 0, + "groupIndex": 0, + "_id": "" + }, + { + "__type__": "cc.Sprite", + "_name": "", + "_objFlags": 0, + "node": { + "__id__": 65 + }, + "_enabled": true, + "_materials": [ + { + "__uuid__": "eca5d2f2-8ef6-41c2-bbe6-f9c79d09c432" + } + ], + "_srcBlendFactor": 770, + "_dstBlendFactor": 771, + "_spriteFrame": { + "__uuid__": "a23235d1-15db-4b95-8439-a2e005bfff91" + }, + "_type": 0, + "_sizeMode": 0, + "_fillType": 0, + "_fillCenter": { + "__type__": "cc.Vec2", + "x": 0, + "y": 0 + }, + "_fillStart": 0, + "_fillRange": 0, + "_isTrimmedMode": true, + "_atlas": null, + "_id": "" + }, + { + "__type__": "cc.PrefabInfo", + "root": { + "__id__": 1 + }, + "asset": { + "__id__": 0 + }, + "fileId": "c1rnBrwplFLLvmPviKv2Ng", + "sync": false + }, { "__type__": "cc.Node", "_name": "sp", @@ -2621,7 +2623,7 @@ "ctor": "Float64Array", "array": [ 0, - -72, + -24.891, 0, 0, 0, @@ -2730,7 +2732,7 @@ "ctor": "Float64Array", "array": [ 0, - -72, + 20, 0, 0, 0, diff --git a/library/imports/e3/e35ab717-e554-40a0-8b4e-ea6805718c97.js b/library/imports/e3/e35ab717-e554-40a0-8b4e-ea6805718c97.js index d7e58f9..f7fe7af 100644 --- a/library/imports/e3/e35ab717-e554-40a0-8b4e-ea6805718c97.js +++ b/library/imports/e3/e35ab717-e554-40a0-8b4e-ea6805718c97.js @@ -49,14 +49,15 @@ var NewClass = /** @class */ (function (_super) { this.canTouch = true; this.Reinforce = false; this.Soil = false; + this.mapHeight = 0; }; NewClass.prototype.setPosition = function (tip) { - tip.setPosition(30, -35); + tip.setPosition(30, -25); if (this.tipArray.length > 0) { var length = this.tipArray.length + 1; var posY = Math.ceil(length / 8) - 1; var posX = length - Math.floor(posY) * 8 - 1; - tip.setPosition(30 + 48 * posX, -35 - 48 * posY); + tip.setPosition(30 + 48 * posX, -25 - 48 * posY + this.mapHeight); } }; //清空所有 @@ -76,6 +77,7 @@ var NewClass = /** @class */ (function (_super) { var drawingReset = cc.fx.GameConfig.CLICK_DATA.drawingReset + 1; cc.fx.GameConfig.CLICK_SET("drawingReset", drawingReset); cc.fx.Notifications.emit(cc.fx.Message.removeTip, "remove"); + this.mapHeight = 0; } }; //撤回一步 @@ -93,6 +95,11 @@ var NewClass = /** @class */ (function (_super) { var drawingBack = cc.fx.GameConfig.CLICK_DATA.drawingBack + 1; cc.fx.GameConfig.CLICK_SET("drawingBack", drawingBack); cc.fx.Notifications.emit(cc.fx.Message.removeTip, "back"); + if (this.tipArray.length >= 24) { + if ((this.tipArray.length) % 8 == 0) { + this.mapMove(false); + } + } } }; //点击事件 @@ -158,6 +165,25 @@ var NewClass = /** @class */ (function (_super) { this.setPosition(tip); this.tipArray.push(tip); this.controlArray.push(data); + if (this.tipArray.length >= 25) { + if ((this.tipArray.length - 1) % 8 == 0) { + this.mapMove(true); + } + } + }; + //地图放不下了上下移动 + NewClass.prototype.mapMove = function (type) { + if (type) + this.mapHeight += 48; + else + this.mapHeight -= 48; + for (var i = 0; i < this.tipArray.length; i++) { + var tip = this.tipArray[i]; + if (type) + tip.y += 48; + else + tip.y -= 48; + } }; //点击开始 创建河道 NewClass.prototype.start_Click = function () { diff --git a/library/imports/e3/e35ab717-e554-40a0-8b4e-ea6805718c97.js.map b/library/imports/e3/e35ab717-e554-40a0-8b4e-ea6805718c97.js.map index 23472ce..6e0affe 100644 --- a/library/imports/e3/e35ab717-e554-40a0-8b4e-ea6805718c97.js.map +++ b/library/imports/e3/e35ab717-e554-40a0-8b4e-ea6805718c97.js.map @@ -1 +1 @@ -{"version":3,"sources":["assets\\Script\\ControlManager.ts"],"names":[],"mappings":"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","file":"","sourceRoot":"/","sourcesContent":["// Learn TypeScript:\r\n// - https://docs.cocos.com/creator/manual/en/scripting/typescript.html\r\n// Learn Attribute:\r\n// - https://docs.cocos.com/creator/manual/en/scripting/reference/attributes.html\r\n// Learn life-cycle callbacks:\r\n// - https://docs.cocos.com/creator/manual/en/scripting/life-cycle-callbacks.html\r\n\r\nconst {ccclass, property} = cc._decorator;\r\n\r\n@ccclass\r\nexport default class NewClass extends cc.Component {\r\n\r\n @property(cc.Node)\r\n Map: cc.Node = null;\r\n @property(cc.Prefab)\r\n tip: cc.Prefab = null;\r\n @property(cc.Prefab)\r\n reinforce: cc.Prefab = null;\r\n @property(cc.Prefab)\r\n soil: cc.Prefab = null;\r\n \r\n\r\n tipArray:any;\r\n controlArray:any;\r\n canTouch:boolean;\r\n Reinforce:boolean;\r\n Soil:boolean;\r\n // LIFE-CYCLE CALLBACKS:\r\n\r\n // onLoad () {}\r\n\r\n start () {\r\n this.tipArray = [];\r\n this.controlArray = [];\r\n this.canTouch = true;\r\n this.Reinforce = false;\r\n this.Soil = false;\r\n }\r\n\r\n setPosition(tip){\r\n tip.setPosition(30,-35);\r\n if(this.tipArray.length > 0){\r\n let length = this.tipArray.length+1;\r\n let posY = Math.ceil(length/8) - 1;\r\n let posX = length - Math.floor(posY)*8 - 1;\r\n tip.setPosition(30 + 48*posX,-35 -48*posY);\r\n }\r\n }\r\n //清空所有\r\n removeAllTip(){\r\n if(!this.canTouch) return;\r\n if(this.tipArray.length > 0){\r\n cc.fx.AudioManager._instance.playEffect(\"qingkong\",null);\r\n for(let i=0; i 0){\r\n cc.fx.AudioManager._instance.playEffect(\"chehui\",null);\r\n let tip = this.tipArray[this.tipArray.length-1];\r\n tip.active = false;\r\n tip.removeFromParent(this.Map);\r\n tip = null;\r\n this.tipArray.pop();\r\n this.controlArray.pop();\r\n var drawingBack = cc.fx.GameConfig.CLICK_DATA.drawingBack + 1;\r\n cc.fx.GameConfig.CLICK_SET(\"drawingBack\",drawingBack);\r\n cc.fx.Notifications.emit(cc.fx.Message.removeTip,\"back\");\r\n }\r\n }\r\n\r\n //点击事件\r\n btn_Click(target,data){\r\n var GameManager = this.node.parent.getComponent(\"GameManager\");\r\n if(GameManager.btnClick == true){\r\n GameManager.btnClick = false;\r\n cc.fx.Notifications.emit(cc.fx.Message.guideNext);\r\n }\r\n cc.fx.Notifications.emit(cc.fx.Message.control,data);\r\n if(!this.canTouch) return;\r\n let prefab = this.tip;\r\n if(data == \"reinforce\" || data == \"soil\"){\r\n prefab = this[data];\r\n if(data == \"reinforce\"){\r\n if(this.Reinforce){\r\n this.Reinforce = false;\r\n this.back_Click();\r\n return;\r\n }else{\r\n cc.fx.AudioManager._instance.playEffect(\"jineng\",null);\r\n this.Reinforce = true;\r\n this.Soil = false;\r\n }\r\n } \r\n else if(data == \"soil\"){\r\n if(this.Soil){\r\n this.Soil = false;\r\n this.back_Click();\r\n return;\r\n }else{\r\n cc.fx.AudioManager._instance.playEffect(\"jineng\",null);\r\n this.Soil = true;\r\n this.Reinforce = false;\r\n }\r\n } \r\n }\r\n else{\r\n cc.fx.AudioManager._instance.playEffect(\"fangxiang\",null);\r\n this.Reinforce = false;\r\n this.Soil = false;\r\n }\r\n let tip = cc.instantiate(prefab);\r\n if(data == \"up\") tip.angle = 180;\r\n if(data == \"left\") tip.angle = -90;\r\n if(data == \"right\") tip.angle = 90;\r\n tip.parent = this.Map;\r\n \r\n if(this.controlArray[this.controlArray.length-1] == \"reinforce\" || \r\n this.controlArray[this.controlArray.length-1] == \"soil\"){\r\n if(data == \"reinforce\" || data == \"soil\"){\r\n this.tipArray[this.tipArray.length-1].removeFromParent();\r\n this.tipArray[this.tipArray.length-1] = null;\r\n this.tipArray.pop();\r\n this.controlArray.pop();\r\n }\r\n }\r\n this.setPosition(tip);\r\n\r\n this.tipArray.push(tip);\r\n this.controlArray.push(data);\r\n \r\n }\r\n\r\n //点击开始 创建河道\r\n start_Click(){\r\n if(!this.canTouch) return;\r\n this.canTouch = false;\r\n cc.fx.AudioManager._instance.playEffect(\"build\",null);\r\n cc.fx.Notifications.emit(cc.fx.Message.startGame,this.controlArray);\r\n }\r\n\r\n // update (dt) {}\r\n}\r\n"]} \ No newline at end of file +{"version":3,"sources":["assets\\Script\\ControlManager.ts"],"names":[],"mappings":"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","file":"","sourceRoot":"/","sourcesContent":["// Learn TypeScript:\r\n// - https://docs.cocos.com/creator/manual/en/scripting/typescript.html\r\n// Learn Attribute:\r\n// - https://docs.cocos.com/creator/manual/en/scripting/reference/attributes.html\r\n// Learn life-cycle callbacks:\r\n// - https://docs.cocos.com/creator/manual/en/scripting/life-cycle-callbacks.html\r\n\r\nconst {ccclass, property} = cc._decorator;\r\n\r\n@ccclass\r\nexport default class NewClass extends cc.Component {\r\n\r\n @property(cc.Node)\r\n Map: cc.Node = null;\r\n @property(cc.Prefab)\r\n tip: cc.Prefab = null;\r\n @property(cc.Prefab)\r\n reinforce: cc.Prefab = null;\r\n @property(cc.Prefab)\r\n soil: cc.Prefab = null;\r\n \r\n\r\n tipArray:any;\r\n controlArray:any;\r\n canTouch:boolean;\r\n Reinforce:boolean;\r\n Soil:boolean;\r\n mapHeight:number;\r\n // LIFE-CYCLE CALLBACKS:\r\n\r\n // onLoad () {}\r\n\r\n start () {\r\n this.tipArray = [];\r\n this.controlArray = [];\r\n this.canTouch = true;\r\n this.Reinforce = false;\r\n this.Soil = false;\r\n this.mapHeight = 0;\r\n }\r\n\r\n setPosition(tip){\r\n tip.setPosition(30,-25);\r\n if(this.tipArray.length > 0){\r\n let length = this.tipArray.length+1;\r\n let posY = Math.ceil(length/8) - 1;\r\n let posX = length - Math.floor(posY)*8 - 1;\r\n tip.setPosition(30 + 48*posX,-25 -48*posY + this.mapHeight);\r\n }\r\n }\r\n //清空所有\r\n removeAllTip(){\r\n if(!this.canTouch) return;\r\n if(this.tipArray.length > 0){\r\n cc.fx.AudioManager._instance.playEffect(\"qingkong\",null);\r\n for(let i=0; i 0){\r\n cc.fx.AudioManager._instance.playEffect(\"chehui\",null);\r\n let tip = this.tipArray[this.tipArray.length-1];\r\n tip.active = false;\r\n tip.removeFromParent(this.Map);\r\n tip = null;\r\n this.tipArray.pop();\r\n this.controlArray.pop();\r\n var drawingBack = cc.fx.GameConfig.CLICK_DATA.drawingBack + 1;\r\n cc.fx.GameConfig.CLICK_SET(\"drawingBack\",drawingBack);\r\n cc.fx.Notifications.emit(cc.fx.Message.removeTip,\"back\");\r\n if(this.tipArray.length >= 24){\r\n if((this.tipArray.length )%8 == 0){\r\n this.mapMove(false);\r\n }\r\n }\r\n }\r\n }\r\n\r\n //点击事件\r\n btn_Click(target,data){\r\n var GameManager = this.node.parent.getComponent(\"GameManager\");\r\n if(GameManager.btnClick == true){\r\n GameManager.btnClick = false;\r\n cc.fx.Notifications.emit(cc.fx.Message.guideNext);\r\n }\r\n cc.fx.Notifications.emit(cc.fx.Message.control,data);\r\n if(!this.canTouch) return;\r\n let prefab = this.tip;\r\n if(data == \"reinforce\" || data == \"soil\"){\r\n prefab = this[data];\r\n if(data == \"reinforce\"){\r\n if(this.Reinforce){\r\n this.Reinforce = false;\r\n this.back_Click();\r\n return;\r\n }else{\r\n cc.fx.AudioManager._instance.playEffect(\"jineng\",null);\r\n this.Reinforce = true;\r\n this.Soil = false;\r\n }\r\n } \r\n else if(data == \"soil\"){\r\n if(this.Soil){\r\n this.Soil = false;\r\n this.back_Click();\r\n return;\r\n }else{\r\n cc.fx.AudioManager._instance.playEffect(\"jineng\",null);\r\n this.Soil = true;\r\n this.Reinforce = false;\r\n }\r\n } \r\n }\r\n else{\r\n cc.fx.AudioManager._instance.playEffect(\"fangxiang\",null);\r\n this.Reinforce = false;\r\n this.Soil = false;\r\n }\r\n let tip = cc.instantiate(prefab);\r\n if(data == \"up\") tip.angle = 180;\r\n if(data == \"left\") tip.angle = -90;\r\n if(data == \"right\") tip.angle = 90;\r\n tip.parent = this.Map;\r\n \r\n if(this.controlArray[this.controlArray.length-1] == \"reinforce\" || \r\n this.controlArray[this.controlArray.length-1] == \"soil\"){\r\n if(data == \"reinforce\" || data == \"soil\"){\r\n this.tipArray[this.tipArray.length-1].removeFromParent();\r\n this.tipArray[this.tipArray.length-1] = null;\r\n this.tipArray.pop();\r\n this.controlArray.pop();\r\n }\r\n }\r\n this.setPosition(tip);\r\n\r\n this.tipArray.push(tip);\r\n this.controlArray.push(data);\r\n \r\n if(this.tipArray.length >= 25){\r\n if((this.tipArray.length - 1)%8 == 0){\r\n this.mapMove(true);\r\n }\r\n }\r\n }\r\n //地图放不下了上下移动\r\n mapMove(type){\r\n if(type) this.mapHeight += 48;\r\n else this.mapHeight -= 48;\r\n for(let i=0; i= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r; - return c > 3 && r && Object.defineProperty(target, key, r), r; -}; Object.defineProperty(exports, "__esModule", { value: true }); -var _a = cc._decorator, ccclass = _a.ccclass, property = _a.property; -var NewClass = /** @class */ (function (_super) { - __extends(NewClass, _super); - function NewClass() { - return _super !== null && _super.apply(this, arguments) || this; - } - // LIFE-CYCLE CALLBACKS: - // onLoad () {} - NewClass.prototype.start = function () { - var GameManager = this.node.parent.parent.parent.getComponent("GameManager"); - if (GameManager.bgClick == true) { - GameManager.bgClick = false; - this.node.on(cc.Node.EventType.TOUCH_START, this.onClick, this); - } - }; - NewClass.prototype.onClick = function () { - cc.fx.Notifications.emit(cc.fx.Message.guideNext); - }; - NewClass = __decorate([ - ccclass - ], NewClass); - return NewClass; -}(cc.Component)); -exports.default = NewClass; - -cc._RF.pop(); - } - if (nodeEnv) { - __define(__module.exports, __require, __module); - } - else { - __quick_compile_project__.registerModuleFunc(__filename, function () { - __define(__module.exports, __require, __module); - }); - } - })(); -//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbImFzc2V0c1xcU2NyaXB0XFxNYXNrLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7Ozs7Ozs7Ozs7Ozs7QUFBQSxvQkFBb0I7QUFDcEIsd0VBQXdFO0FBQ3hFLG1CQUFtQjtBQUNuQixrRkFBa0Y7QUFDbEYsOEJBQThCO0FBQzlCLGtGQUFrRjs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O0FBRTVFLElBQUEsS0FBc0IsRUFBRSxDQUFDLFVBQVUsRUFBbEMsT0FBTyxhQUFBLEVBQUUsUUFBUSxjQUFpQixDQUFDO0FBRzFDO0lBQXNDLDRCQUFZO0lBQWxEOztJQXFCQSxDQUFDO0lBbkJHLHdCQUF3QjtJQUV4QixlQUFlO0lBRWYsd0JBQUssR0FBTDtRQUNJLElBQUksV0FBVyxHQUFHLElBQUksQ0FBQyxJQUFJLENBQUMsTUFBTSxDQUFDLE1BQU0sQ0FBQyxNQUFNLENBQUMsWUFBWSxDQUFDLGFBQWEsQ0FBQyxDQUFDO1FBRTdFLElBQUcsV0FBVyxDQUFDLE9BQU8sSUFBSSxJQUFJLEVBQUM7WUFDM0IsV0FBVyxDQUFDLE9BQU8sR0FBRyxLQUFLLENBQUM7WUFDNUIsSUFBSSxDQUFDLElBQUksQ0FBQyxFQUFFLENBQUMsRUFBRSxDQUFDLElBQUksQ0FBQyxTQUFTLENBQUMsV0FBVyxFQUFFLElBQUksQ0FBQyxPQUFPLEVBQUUsSUFBSSxDQUFDLENBQUM7U0FDbkU7SUFFTCxDQUFDO0lBRUQsMEJBQU8sR0FBUDtRQUNJLEVBQUUsQ0FBQyxFQUFFLENBQUMsYUFBYSxDQUFDLElBQUksQ0FBQyxFQUFFLENBQUMsRUFBRSxDQUFDLE9BQU8sQ0FBQyxTQUFTLENBQUMsQ0FBQztJQUN0RCxDQUFDO0lBbEJnQixRQUFRO1FBRDVCLE9BQU87T0FDYSxRQUFRLENBcUI1QjtJQUFELGVBQUM7Q0FyQkQsQUFxQkMsQ0FyQnFDLEVBQUUsQ0FBQyxTQUFTLEdBcUJqRDtrQkFyQm9CLFFBQVEiLCJmaWxlIjoiIiwic291cmNlUm9vdCI6Ii8iLCJzb3VyY2VzQ29udGVudCI6WyIvLyBMZWFybiBUeXBlU2NyaXB0OlxyXG4vLyAgLSBodHRwczovL2RvY3MuY29jb3MuY29tL2NyZWF0b3IvbWFudWFsL2VuL3NjcmlwdGluZy90eXBlc2NyaXB0Lmh0bWxcclxuLy8gTGVhcm4gQXR0cmlidXRlOlxyXG4vLyAgLSBodHRwczovL2RvY3MuY29jb3MuY29tL2NyZWF0b3IvbWFudWFsL2VuL3NjcmlwdGluZy9yZWZlcmVuY2UvYXR0cmlidXRlcy5odG1sXHJcbi8vIExlYXJuIGxpZmUtY3ljbGUgY2FsbGJhY2tzOlxyXG4vLyAgLSBodHRwczovL2RvY3MuY29jb3MuY29tL2NyZWF0b3IvbWFudWFsL2VuL3NjcmlwdGluZy9saWZlLWN5Y2xlLWNhbGxiYWNrcy5odG1sXHJcblxyXG5jb25zdCB7Y2NjbGFzcywgcHJvcGVydHl9ID0gY2MuX2RlY29yYXRvcjtcclxuXHJcbkBjY2NsYXNzXHJcbmV4cG9ydCBkZWZhdWx0IGNsYXNzIE5ld0NsYXNzIGV4dGVuZHMgY2MuQ29tcG9uZW50IHtcclxuXHJcbiAgICAvLyBMSUZFLUNZQ0xFIENBTExCQUNLUzpcclxuXHJcbiAgICAvLyBvbkxvYWQgKCkge31cclxuXHJcbiAgICBzdGFydCAoKSB7XHJcbiAgICAgICAgbGV0IEdhbWVNYW5hZ2VyID0gdGhpcy5ub2RlLnBhcmVudC5wYXJlbnQucGFyZW50LmdldENvbXBvbmVudChcIkdhbWVNYW5hZ2VyXCIpO1xyXG5cclxuICAgICAgICBpZihHYW1lTWFuYWdlci5iZ0NsaWNrID09IHRydWUpe1xyXG4gICAgICAgICAgICBHYW1lTWFuYWdlci5iZ0NsaWNrID0gZmFsc2U7XHJcbiAgICAgICAgICAgIHRoaXMubm9kZS5vbihjYy5Ob2RlLkV2ZW50VHlwZS5UT1VDSF9TVEFSVCwgdGhpcy5vbkNsaWNrLCB0aGlzKTtcclxuICAgICAgICB9XHJcblxyXG4gICAgfVxyXG5cclxuICAgIG9uQ2xpY2soKXtcclxuICAgICAgICBjYy5meC5Ob3RpZmljYXRpb25zLmVtaXQoY2MuZnguTWVzc2FnZS5ndWlkZU5leHQpO1xyXG4gICAgfVxyXG5cclxuICAgIC8vIHVwZGF0ZSAoZHQpIHt9XHJcbn1cclxuIl19 -//------QC-SOURCE-SPLIT------ - - (function() { - var nodeEnv = typeof require !== 'undefined' && typeof process !== 'undefined'; - var __module = nodeEnv ? module : {exports:{}}; - var __filename = 'preview-scripts/tiledmap-optimize-resource/Script/TmoSprite.js'; - var __require = nodeEnv ? function (request) { - return cc.require(request); - } : function (request) { - return __quick_compile_project__.require(request, __filename); - }; - function __define (exports, require, module) { - if (!nodeEnv) {__quick_compile_project__.registerModule(__filename, module);}"use strict"; -cc._RF.push(module, '4fa6cO05aBKGoM+5EX9zhkC', 'TmoSprite'); -// Script/TmoSprite.js - -"use strict"; - -exports.__esModule = true; -exports["default"] = void 0; - -var _TmoAssembler = require("./TmoAssembler"); - -var _default = cc.Class({ - "extends": cc.Sprite, - - /** - * 设置TextureIndex - */ - setTextureIdx: function setTextureIdx(idx) { - this._textureIdx = idx; - this.setVertsDirty(); - }, - _getDefaultMaterial: function _getDefaultMaterial() { - // 从TiledMap取得默认的材质 - return this._getTiledMap().getObjectMaterial(); - }, - _updateMaterial: function _updateMaterial() { - // make sure material is belong to self. - var material = this.getMaterial(0); - - if (material) { - if (material.getDefine('USE_TEXTURE') !== undefined) { - material.define('USE_TEXTURE', true); - } // 手动设置哈希值,避免无法合批 - - - material.updateHash(999999); // 增加WITH_COLOR宏定义 - - var noColor = this.isNoColor(); - material.define('WITH_COLOR', !noColor); - } - - cc.BlendFunc.prototype._updateMaterial.call(this); - }, - _resetAssembler: function _resetAssembler() { - // 修改默认Assembler - var assembler = this._assembler = new _TmoAssembler.TmoAssembler(); - assembler.init(this); - - this._updateColor(); - - this.setVertsDirty(); - }, - _getTiledMap: function _getTiledMap() { - return this.node._tiledMap; - }, - isNoColor: function isNoColor() { - return this._getTiledMap().isNoColor(); - } -}); - -exports["default"] = _default; -module.exports = exports["default"]; - -cc._RF.pop(); - } - if (nodeEnv) { - __define(__module.exports, __require, __module); - } - else { - __quick_compile_project__.registerModuleFunc(__filename, function () { - __define(__module.exports, __require, __module); - }); - } - })(); -//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbInBhY2thZ2VzXFxUaWxlZE1hcE9wdGltaXplclxccmVzb3VyY2VcXFNjcmlwdFxcVG1vU3ByaXRlLmpzIl0sIm5hbWVzIjpbImNjIiwiQ2xhc3MiLCJTcHJpdGUiLCJzZXRUZXh0dXJlSWR4IiwiaWR4IiwiX3RleHR1cmVJZHgiLCJzZXRWZXJ0c0RpcnR5IiwiX2dldERlZmF1bHRNYXRlcmlhbCIsIl9nZXRUaWxlZE1hcCIsImdldE9iamVjdE1hdGVyaWFsIiwiX3VwZGF0ZU1hdGVyaWFsIiwibWF0ZXJpYWwiLCJnZXRNYXRlcmlhbCIsImdldERlZmluZSIsInVuZGVmaW5lZCIsImRlZmluZSIsInVwZGF0ZUhhc2giLCJub0NvbG9yIiwiaXNOb0NvbG9yIiwiQmxlbmRGdW5jIiwicHJvdG90eXBlIiwiY2FsbCIsIl9yZXNldEFzc2VtYmxlciIsImFzc2VtYmxlciIsIl9hc3NlbWJsZXIiLCJUbW9Bc3NlbWJsZXIiLCJpbml0IiwiX3VwZGF0ZUNvbG9yIiwibm9kZSIsIl90aWxlZE1hcCJdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7QUFBQTs7ZUFFZUEsRUFBRSxDQUFDQyxLQUFILENBQVM7QUFDcEIsYUFBU0QsRUFBRSxDQUFDRSxNQURROztBQUdwQjtBQUNKO0FBQ0E7QUFDSUMsRUFBQUEsYUFOb0IseUJBTU5DLEdBTk0sRUFNRDtBQUNmLFNBQUtDLFdBQUwsR0FBbUJELEdBQW5CO0FBQ0EsU0FBS0UsYUFBTDtBQUNILEdBVG1CO0FBV3BCQyxFQUFBQSxtQkFYb0IsaUNBV0U7QUFDbEI7QUFDQSxXQUFPLEtBQUtDLFlBQUwsR0FBb0JDLGlCQUFwQixFQUFQO0FBQ0gsR0FkbUI7QUFnQnBCQyxFQUFBQSxlQWhCb0IsNkJBZ0JGO0FBQ2Q7QUFDQSxRQUFJQyxRQUFRLEdBQUcsS0FBS0MsV0FBTCxDQUFpQixDQUFqQixDQUFmOztBQUNBLFFBQUlELFFBQUosRUFBYztBQUNWLFVBQUlBLFFBQVEsQ0FBQ0UsU0FBVCxDQUFtQixhQUFuQixNQUFzQ0MsU0FBMUMsRUFBcUQ7QUFDakRILFFBQUFBLFFBQVEsQ0FBQ0ksTUFBVCxDQUFnQixhQUFoQixFQUErQixJQUEvQjtBQUNILE9BSFMsQ0FJVjs7O0FBQ0FKLE1BQUFBLFFBQVEsQ0FBQ0ssVUFBVCxDQUFvQixNQUFwQixFQUxVLENBT1Y7O0FBQ0EsVUFBSUMsT0FBTyxHQUFHLEtBQUtDLFNBQUwsRUFBZDtBQUNBUCxNQUFBQSxRQUFRLENBQUNJLE1BQVQsQ0FBZ0IsWUFBaEIsRUFBOEIsQ0FBQ0UsT0FBL0I7QUFDSDs7QUFFRGpCLElBQUFBLEVBQUUsQ0FBQ21CLFNBQUgsQ0FBYUMsU0FBYixDQUF1QlYsZUFBdkIsQ0FBdUNXLElBQXZDLENBQTRDLElBQTVDO0FBQ0gsR0FoQ21CO0FBa0NwQkMsRUFBQUEsZUFsQ29CLDZCQWtDRjtBQUNkO0FBQ0EsUUFBSUMsU0FBUyxHQUFHLEtBQUtDLFVBQUwsR0FBa0IsSUFBSUMsMEJBQUosRUFBbEM7QUFDQUYsSUFBQUEsU0FBUyxDQUFDRyxJQUFWLENBQWUsSUFBZjs7QUFFQSxTQUFLQyxZQUFMOztBQUNBLFNBQUtyQixhQUFMO0FBQ0gsR0F6Q21CO0FBMkNwQkUsRUFBQUEsWUEzQ29CLDBCQTJDTDtBQUNYLFdBQU8sS0FBS29CLElBQUwsQ0FBVUMsU0FBakI7QUFDSCxHQTdDbUI7QUErQ3BCWCxFQUFBQSxTQS9Db0IsdUJBK0NSO0FBQ1IsV0FBTyxLQUFLVixZQUFMLEdBQW9CVSxTQUFwQixFQUFQO0FBQ0g7QUFqRG1CLENBQVQiLCJzb3VyY2VSb290IjoiLyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IFRtb0Fzc2VtYmxlciB9IGZyb20gXCIuL1Rtb0Fzc2VtYmxlclwiO1xyXG5cclxuZXhwb3J0IGRlZmF1bHQgY2MuQ2xhc3Moe1xyXG4gICAgZXh0ZW5kczogY2MuU3ByaXRlLFxyXG5cclxuICAgIC8qKlxyXG4gICAgICog6K6+572uVGV4dHVyZUluZGV4XHJcbiAgICAgKi9cclxuICAgIHNldFRleHR1cmVJZHgoaWR4KSB7XHJcbiAgICAgICAgdGhpcy5fdGV4dHVyZUlkeCA9IGlkeFxyXG4gICAgICAgIHRoaXMuc2V0VmVydHNEaXJ0eSgpO1xyXG4gICAgfSxcclxuXHJcbiAgICBfZ2V0RGVmYXVsdE1hdGVyaWFsKCkge1xyXG4gICAgICAgIC8vIOS7jlRpbGVkTWFw5Y+W5b6X6buY6K6k55qE5p2Q6LSoXHJcbiAgICAgICAgcmV0dXJuIHRoaXMuX2dldFRpbGVkTWFwKCkuZ2V0T2JqZWN0TWF0ZXJpYWwoKTtcclxuICAgIH0sXHJcblxyXG4gICAgX3VwZGF0ZU1hdGVyaWFsKCkge1xyXG4gICAgICAgIC8vIG1ha2Ugc3VyZSBtYXRlcmlhbCBpcyBiZWxvbmcgdG8gc2VsZi5cclxuICAgICAgICBsZXQgbWF0ZXJpYWwgPSB0aGlzLmdldE1hdGVyaWFsKDApO1xyXG4gICAgICAgIGlmIChtYXRlcmlhbCkge1xyXG4gICAgICAgICAgICBpZiAobWF0ZXJpYWwuZ2V0RGVmaW5lKCdVU0VfVEVYVFVSRScpICE9PSB1bmRlZmluZWQpIHtcclxuICAgICAgICAgICAgICAgIG1hdGVyaWFsLmRlZmluZSgnVVNFX1RFWFRVUkUnLCB0cnVlKTtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAvLyDmiYvliqjorr7nva7lk4jluIzlgLzvvIzpgb/lhY3ml6Dms5XlkIjmiblcclxuICAgICAgICAgICAgbWF0ZXJpYWwudXBkYXRlSGFzaCg5OTk5OTkpO1xyXG5cclxuICAgICAgICAgICAgLy8g5aKe5YqgV0lUSF9DT0xPUuWuj+WumuS5iVxyXG4gICAgICAgICAgICBsZXQgbm9Db2xvciA9IHRoaXMuaXNOb0NvbG9yKCk7XHJcbiAgICAgICAgICAgIG1hdGVyaWFsLmRlZmluZSgnV0lUSF9DT0xPUicsICFub0NvbG9yKTtcclxuICAgICAgICB9XHJcblxyXG4gICAgICAgIGNjLkJsZW5kRnVuYy5wcm90b3R5cGUuX3VwZGF0ZU1hdGVyaWFsLmNhbGwodGhpcyk7XHJcbiAgICB9LFxyXG5cclxuICAgIF9yZXNldEFzc2VtYmxlcigpIHtcclxuICAgICAgICAvLyDkv67mlLnpu5jorqRBc3NlbWJsZXJcclxuICAgICAgICBsZXQgYXNzZW1ibGVyID0gdGhpcy5fYXNzZW1ibGVyID0gbmV3IFRtb0Fzc2VtYmxlcigpO1xyXG4gICAgICAgIGFzc2VtYmxlci5pbml0KHRoaXMpO1xyXG5cclxuICAgICAgICB0aGlzLl91cGRhdGVDb2xvcigpO1xyXG4gICAgICAgIHRoaXMuc2V0VmVydHNEaXJ0eSgpO1xyXG4gICAgfSxcclxuXHJcbiAgICBfZ2V0VGlsZWRNYXAoKSB7XHJcbiAgICAgICAgcmV0dXJuIHRoaXMubm9kZS5fdGlsZWRNYXA7XHJcbiAgICB9LFxyXG5cclxuICAgIGlzTm9Db2xvcigpIHtcclxuICAgICAgICByZXR1cm4gdGhpcy5fZ2V0VGlsZWRNYXAoKS5pc05vQ29sb3IoKTtcclxuICAgIH1cclxufSk7XHJcbiJdfQ== -//------QC-SOURCE-SPLIT------ - - (function() { - var nodeEnv = typeof require !== 'undefined' && typeof process !== 'undefined'; - var __module = nodeEnv ? module : {exports:{}}; - var __filename = 'preview-scripts/assets/migration/use_v2.1-2.2.1_cc.Toggle_event.js'; - var __require = nodeEnv ? function (request) { - return cc.require(request); - } : function (request) { - return __quick_compile_project__.require(request, __filename); - }; - function __define (exports, require, module) { - if (!nodeEnv) {__quick_compile_project__.registerModule(__filename, module);}"use strict"; -cc._RF.push(module, '7a231Rz0d9LBYYgY3bDYlLB', 'use_v2.1-2.2.1_cc.Toggle_event'); -// migration/use_v2.1-2.2.1_cc.Toggle_event.js - -"use strict"; - -/* - * This script is automatically generated by Cocos Creator and is only used for projects compatible with the v2.1.0 ~ 2.2.1 version. - * You do not need to manually add this script in any other project. - * If you don't use cc.Toggle in your project, you can delete this script directly. - * If your project is hosted in VCS such as git, submit this script together. - * - * 此脚本由 Cocos Creator 自动生成,仅用于兼容 v2.1.0 ~ 2.2.1 版本的工程, - * 你无需在任何其它项目中手动添加此脚本。 - * 如果你的项目中没用到 Toggle,可直接删除该脚本。 - * 如果你的项目有托管于 git 等版本库,请将此脚本一并上传。 +exports.MiniGameSdk = void 0; +/** + * 小游戏平台SDK工具封装,目前只支持微信和抖音平台 */ -if (cc.Toggle) { - // Whether to trigger 'toggle' and 'checkEvents' events when modifying 'toggle.isChecked' in the code - // 在代码中修改 'toggle.isChecked' 时是否触发 'toggle' 与 'checkEvents' 事件 - cc.Toggle._triggerEventInScript_isChecked = true; -} - -cc._RF.pop(); - } - if (nodeEnv) { - __define(__module.exports, __require, __module); - } - else { - __quick_compile_project__.registerModuleFunc(__filename, function () { - __define(__module.exports, __require, __module); - }); - } - })(); -//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbImFzc2V0c1xcbWlncmF0aW9uXFx1c2VfdjIuMS0yLjIuMV9jYy5Ub2dnbGVfZXZlbnQuanMiXSwibmFtZXMiOlsiY2MiLCJUb2dnbGUiLCJfdHJpZ2dlckV2ZW50SW5TY3JpcHRfaXNDaGVja2VkIl0sIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7Ozs7Ozs7OztBQUFBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFFQSxJQUFJQSxFQUFFLENBQUNDLE1BQVAsRUFBZTtBQUNYO0FBQ0E7QUFDQUQsRUFBQUEsRUFBRSxDQUFDQyxNQUFILENBQVVDLCtCQUFWLEdBQTRDLElBQTVDO0FBQ0giLCJzb3VyY2VSb290IjoiLyIsInNvdXJjZXNDb250ZW50IjpbIi8qXHJcbiAqIFRoaXMgc2NyaXB0IGlzIGF1dG9tYXRpY2FsbHkgZ2VuZXJhdGVkIGJ5IENvY29zIENyZWF0b3IgYW5kIGlzIG9ubHkgdXNlZCBmb3IgcHJvamVjdHMgY29tcGF0aWJsZSB3aXRoIHRoZSB2Mi4xLjAg772eIDIuMi4xIHZlcnNpb24uXHJcbiAqIFlvdSBkbyBub3QgbmVlZCB0byBtYW51YWxseSBhZGQgdGhpcyBzY3JpcHQgaW4gYW55IG90aGVyIHByb2plY3QuXHJcbiAqIElmIHlvdSBkb24ndCB1c2UgY2MuVG9nZ2xlIGluIHlvdXIgcHJvamVjdCwgeW91IGNhbiBkZWxldGUgdGhpcyBzY3JpcHQgZGlyZWN0bHkuXHJcbiAqIElmIHlvdXIgcHJvamVjdCBpcyBob3N0ZWQgaW4gVkNTIHN1Y2ggYXMgZ2l0LCBzdWJtaXQgdGhpcyBzY3JpcHQgdG9nZXRoZXIuXHJcbiAqXHJcbiAqIOatpOiEmuacrOeUsSBDb2NvcyBDcmVhdG9yIOiHquWKqOeUn+aIkO+8jOS7heeUqOS6juWFvOWuuSB2Mi4xLjAgfiAyLjIuMSDniYjmnKznmoTlt6XnqIvvvIxcclxuICog5L2g5peg6ZyA5Zyo5Lu75L2V5YW25a6D6aG555uu5Lit5omL5Yqo5re75Yqg5q2k6ISa5pys44CCXHJcbiAqIOWmguaenOS9oOeahOmhueebruS4reayoeeUqOWIsCBUb2dnbGXvvIzlj6/nm7TmjqXliKDpmaTor6XohJrmnKzjgIJcclxuICog5aaC5p6c5L2g55qE6aG555uu5pyJ5omY566h5LqOIGdpdCDnrYnniYjmnKzlupPvvIzor7flsIbmraTohJrmnKzkuIDlubbkuIrkvKDjgIJcclxuICovXHJcblxyXG5pZiAoY2MuVG9nZ2xlKSB7XHJcbiAgICAvLyBXaGV0aGVyIHRvIHRyaWdnZXIgJ3RvZ2dsZScgYW5kICdjaGVja0V2ZW50cycgZXZlbnRzIHdoZW4gbW9kaWZ5aW5nICd0b2dnbGUuaXNDaGVja2VkJyBpbiB0aGUgY29kZVxyXG4gICAgLy8g5Zyo5Luj56CB5Lit5L+u5pS5ICd0b2dnbGUuaXNDaGVja2VkJyDml7bmmK/lkKbop6blj5EgJ3RvZ2dsZScg5LiOICdjaGVja0V2ZW50cycg5LqL5Lu2XHJcbiAgICBjYy5Ub2dnbGUuX3RyaWdnZXJFdmVudEluU2NyaXB0X2lzQ2hlY2tlZCA9IHRydWU7XHJcbn1cclxuIl19 -//------QC-SOURCE-SPLIT------ - - (function() { - var nodeEnv = typeof require !== 'undefined' && typeof process !== 'undefined'; - var __module = nodeEnv ? module : {exports:{}}; - var __filename = 'preview-scripts/assets/Script/GameScene.js'; - var __require = nodeEnv ? function (request) { - return cc.require(request); - } : function (request) { - return __quick_compile_project__.require(request, __filename); - }; - function __define (exports, require, module) { - if (!nodeEnv) {__quick_compile_project__.registerModule(__filename, module);}"use strict"; -cc._RF.push(module, 'e8b235WjRBErajwLmN8xFUz', 'GameScene'); -// Script/GameScene.js - -// cc.Class({ -// extends: cc.Component, -// properties: { -// localTest: { -// default: false, -// tooltip: '本地测试时勾选,避免tz_url和Configure报错,提交前勾掉' -// }, -// clientTest: { -// default: false, -// tooltip: '客户端测试时勾选,展示版本标记方便测试区分,上线前勾掉' -// }, -// clientTestVersion: { -// default: '', -// tooltip: '版本标记' -// }, -// testVersion: cc.Label, -// score: cc.Label, -// double_hit: cc.Node, -// add: cc.Node, -// add2: cc.Node, -// double_title: cc.Node, -// count_time: cc.Node, -// beginNode: cc.Node, -// ball_nomal: [cc.SpriteFrame], -// bg_nomal: [cc.SpriteFrame], -// ball_light: [cc.SpriteFrame], -// kuang_Frame: [cc.SpriteFrame], -// daojishi: cc.Label, -// pause_anniu: cc.Sprite, -// mask: cc.Node, -// flashUI: { -// default: null, -// type: cc.SpriteAtlas -// }, -// }, -// onLoad() { -// }, -// update(dt) { -// }, -// }); -"use strict"; - -cc._RF.pop(); - } - if (nodeEnv) { - __define(__module.exports, __require, __module); - } - else { - __quick_compile_project__.registerModuleFunc(__filename, function () { - __define(__module.exports, __require, __module); - }); - } - })(); -//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbImFzc2V0c1xcU2NyaXB0XFxHYW1lU2NlbmUuanMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7Ozs7Ozs7O0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUVBO0FBR0E7QUFFQTtBQUVBO0FBRUEiLCJzb3VyY2VSb290IjoiLyIsInNvdXJjZXNDb250ZW50IjpbIlxyXG4vLyBjYy5DbGFzcyh7XHJcbi8vICAgICBleHRlbmRzOiBjYy5Db21wb25lbnQsXHJcbi8vICAgICBwcm9wZXJ0aWVzOiB7XHJcbi8vICAgICAgICAgbG9jYWxUZXN0OiB7XHJcbi8vICAgICAgICAgICAgIGRlZmF1bHQ6IGZhbHNlLFxyXG4vLyAgICAgICAgICAgICB0b29sdGlwOiAn5pys5Zyw5rWL6K+V5pe25Yu+6YCJ77yM6YG/5YWNdHpfdXJs5ZKMQ29uZmlndXJl5oql6ZSZ77yM5o+Q5Lqk5YmN5Yu+5o6JJ1xyXG4vLyAgICAgICAgIH0sXHJcbi8vICAgICAgICAgY2xpZW50VGVzdDoge1xyXG4vLyAgICAgICAgICAgICBkZWZhdWx0OiBmYWxzZSxcclxuLy8gICAgICAgICAgICAgdG9vbHRpcDogJ+WuouaIt+err+a1i+ivleaXtuWLvumAie+8jOWxleekuueJiOacrOagh+iusOaWueS+v+a1i+ivleWMuuWIhu+8jOS4iue6v+WJjeWLvuaOiSdcclxuLy8gICAgICAgICB9LFxyXG4vLyAgICAgICAgIGNsaWVudFRlc3RWZXJzaW9uOiB7XHJcbi8vICAgICAgICAgICAgIGRlZmF1bHQ6ICcnLFxyXG4vLyAgICAgICAgICAgICB0b29sdGlwOiAn54mI5pys5qCH6K6wJ1xyXG4vLyAgICAgICAgIH0sXHJcbi8vICAgICAgICAgdGVzdFZlcnNpb246IGNjLkxhYmVsLFxyXG4vLyAgICAgICAgIHNjb3JlOiBjYy5MYWJlbCxcclxuLy8gICAgICAgICBkb3VibGVfaGl0OiBjYy5Ob2RlLFxyXG4vLyAgICAgICAgIGFkZDogY2MuTm9kZSxcclxuLy8gICAgICAgICBhZGQyOiBjYy5Ob2RlLFxyXG4vLyAgICAgICAgIGRvdWJsZV90aXRsZTogY2MuTm9kZSxcclxuLy8gICAgICAgICBjb3VudF90aW1lOiBjYy5Ob2RlLFxyXG4vLyAgICAgICAgIGJlZ2luTm9kZTogY2MuTm9kZSxcclxuLy8gICAgICAgICBiYWxsX25vbWFsOiBbY2MuU3ByaXRlRnJhbWVdLFxyXG4vLyAgICAgICAgIGJnX25vbWFsOiBbY2MuU3ByaXRlRnJhbWVdLFxyXG4vLyAgICAgICAgIGJhbGxfbGlnaHQ6IFtjYy5TcHJpdGVGcmFtZV0sXHJcbi8vICAgICAgICAga3VhbmdfRnJhbWU6IFtjYy5TcHJpdGVGcmFtZV0sXHJcbi8vICAgICAgICAgZGFvamlzaGk6IGNjLkxhYmVsLFxyXG4vLyAgICAgICAgIHBhdXNlX2Fubml1OiBjYy5TcHJpdGUsXHJcbi8vICAgICAgICAgbWFzazogY2MuTm9kZSxcclxuXHJcbi8vICAgICAgICAgZmxhc2hVSToge1xyXG4vLyAgICAgICAgICAgICBkZWZhdWx0OiBudWxsLFxyXG4vLyAgICAgICAgICAgICB0eXBlOiBjYy5TcHJpdGVBdGxhc1xyXG4vLyAgICAgICAgIH0sXHJcbi8vICAgICB9LFxyXG5cclxuLy8gICAgIG9uTG9hZCgpIHtcclxuXHJcblxyXG4vLyAgICAgfSxcclxuXHJcbi8vICAgICB1cGRhdGUoZHQpIHtcclxuXHJcbi8vICAgICB9LFxyXG5cclxuLy8gfSk7Il19 -//------QC-SOURCE-SPLIT------ - - (function() { - var nodeEnv = typeof require !== 'undefined' && typeof process !== 'undefined'; - var __module = nodeEnv ? module : {exports:{}}; - var __filename = 'preview-scripts/assets/Script/GameOver.js'; - var __require = nodeEnv ? function (request) { - return cc.require(request); - } : function (request) { - return __quick_compile_project__.require(request, __filename); - }; - function __define (exports, require, module) { - if (!nodeEnv) {__quick_compile_project__.registerModule(__filename, module);}"use strict"; -cc._RF.push(module, '805c6nf399HWZeuWnNB9CTH', 'GameOver'); -// Script/GameOver.ts - -"use strict"; -var __extends = (this && this.__extends) || (function () { - var extendStatics = function (d, b) { - extendStatics = Object.setPrototypeOf || - ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) || - function (d, b) { for (var p in b) if (Object.prototype.hasOwnProperty.call(b, p)) d[p] = b[p]; }; - return extendStatics(d, b); - }; - return function (d, b) { - extendStatics(d, b); - function __() { this.constructor = d; } - d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __()); - }; -})(); -var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) { - var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d; - if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc); - else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r; - return c > 3 && r && Object.defineProperty(target, key, r), r; -}; -Object.defineProperty(exports, "__esModule", { value: true }); -var _a = cc._decorator, ccclass = _a.ccclass, property = _a.property; -var NewClass = /** @class */ (function (_super) { - __extends(NewClass, _super); - function NewClass() { - var _this = _super !== null && _super.apply(this, arguments) || this; - _this.count = null; - _this.time = null; - _this.selfNode = null; - _this.one = null; - _this.two = null; - _this.three = null; - _this.four = null; - _this.five = null; - return _this; +var MiniGameSdk; +(function (MiniGameSdk) { + function isWechat() { + //@ts-ignore + return window.wx !== null && window.wx !== undefined; } - // onLoad () {} - NewClass.prototype.start = function () { - this.count.string = cc.fx.GameConfig.GM_INFO.score + ""; - var yes = 0; - var successList = cc.fx.GameConfig.GM_INFO.successList; - if (successList.length > 0) { - var success = 0; - for (var i = 0; i < successList.length; i++) { - if (successList[i] == true) - success += 1; - } - yes = success / successList.length; - } - yes = Math.floor(yes * 1000) / 10; - this.time.string = yes + "%"; - this.init(); - }; - //初始化数据 - NewClass.prototype.init = function () { - this.listData = []; - this.selfData = null; - this.one.active = false; - this.two.active = false; - this.three.active = false; - this.four.active = false; - this.five.active = false; - this.getRank(); - }; - //打开排行榜 - NewClass.prototype.openRank = function () { - cc.director.loadScene("RankScene"); - }; - //重新开始玩 - NewClass.prototype.again = function () { - cc.fx.GameConfig.GM_INFO.round = 0; - cc.fx.GameConfig.GM_INFO.level = 0; - cc.fx.GameConfig.GM_INFO.stepTimeList = 0; - cc.fx.GameConfig.GM_INFO.successList = []; - cc.fx.GameConfig.GM_INFO.fen = 0; - cc.fx.GameConfig.GM_INFO.score = 0; - cc.fx.GameConfig.GM_INFO.min_Steps = 0; - cc.fx.GameConfig.GM_INFO.min_Time = 0; - cc.director.loadScene("GameScene"); - }; - //获取排行榜 - NewClass.prototype.getRank = function () { - var _this = this; - //获取排行榜数据 所需数据量 - var dataFile = { - length: 5 - }; - cc.fx.GameTool.getRank(dataFile, function (data) { return _this.getRankData(data); }); - }; - //设置排行信息 - NewClass.prototype.getRankData = function (data) { - if (data) { - cc.fx.GameTool.getRankData(data, this, 4); - cc.fx.GameTool.setPic(this.selfNode.getChildByName("pic").getChildByName("icon"), this.selfData.pic); - var length = this.listData.length - 1; - if (length > 4) - length = 4; - for (var i = 0; i <= length; i++) { - this.setRank(i, this.listData[i]); - } - } - }; - //根据内容填充排行榜 - NewClass.prototype.setRank = function (num, data) { - var hitNode = null; - if (num == 0) { - hitNode = this.one; - } - else if (num == 1) { - hitNode = this.two; - } - else if (num == 2) { - hitNode = this.three; - } - else if (num == 3) { - hitNode = this.four; - } - else if (num == 4) { - hitNode = this.five; - } - if (hitNode) { - hitNode.active = true; - if (data.nickName.length >= 4) - cc.fx.GameTool.subName(data.nickName, 4); - hitNode.getChildByName("name").getComponent(cc.Label).string = data.nickName; - hitNode.getChildByName("total").getComponent(cc.Label).string = data.score; - cc.fx.GameTool.setPic(hitNode.getChildByName("pic").getChildByName("icon"), data.pic); - } - }; - __decorate([ - property(cc.Label) - ], NewClass.prototype, "count", void 0); - __decorate([ - property(cc.Label) - ], NewClass.prototype, "time", void 0); - __decorate([ - property(cc.Node) - ], NewClass.prototype, "selfNode", void 0); - __decorate([ - property(cc.Node) - ], NewClass.prototype, "one", void 0); - __decorate([ - property(cc.Node) - ], NewClass.prototype, "two", void 0); - __decorate([ - property(cc.Node) - ], NewClass.prototype, "three", void 0); - __decorate([ - property(cc.Node) - ], NewClass.prototype, "four", void 0); - __decorate([ - property(cc.Node) - ], NewClass.prototype, "five", void 0); - NewClass = __decorate([ - ccclass - ], NewClass); - return NewClass; -}(cc.Component)); -exports.default = NewClass; - -cc._RF.pop(); - } - if (nodeEnv) { - __define(__module.exports, __require, __module); - } - else { - __quick_compile_project__.registerModuleFunc(__filename, function () { - __define(__module.exports, __require, __module); - }); - } - })(); -//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbImFzc2V0c1xcU2NyaXB0XFxHYW1lT3Zlci50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7QUFDTSxJQUFBLEtBQXNCLEVBQUUsQ0FBQyxVQUFVLEVBQWxDLE9BQU8sYUFBQSxFQUFFLFFBQVEsY0FBaUIsQ0FBQztBQUcxQztJQUFzQyw0QkFBWTtJQUFsRDtRQUFBLHFFQTZHQztRQTNHRyxXQUFLLEdBQWEsSUFBSSxDQUFDO1FBRXZCLFVBQUksR0FBYSxJQUFJLENBQUM7UUFFdEIsY0FBUSxHQUFZLElBQUksQ0FBQztRQUV6QixTQUFHLEdBQVksSUFBSSxDQUFDO1FBRXBCLFNBQUcsR0FBWSxJQUFJLENBQUM7UUFFcEIsV0FBSyxHQUFZLElBQUksQ0FBQztRQUV0QixVQUFJLEdBQVksSUFBSSxDQUFDO1FBRXJCLFVBQUksR0FBWSxJQUFJLENBQUM7O0lBNkZ6QixDQUFDO0lBMUZHLGVBQWU7SUFDZix3QkFBSyxHQUFMO1FBQ0ksSUFBSSxDQUFDLEtBQUssQ0FBQyxNQUFNLEdBQUcsRUFBRSxDQUFDLEVBQUUsQ0FBQyxVQUFVLENBQUMsT0FBTyxDQUFDLEtBQUssR0FBRyxFQUFFLENBQUM7UUFDeEQsSUFBSSxHQUFHLEdBQUcsQ0FBQyxDQUFDO1FBQ1osSUFBSSxXQUFXLEdBQUcsRUFBRSxDQUFDLEVBQUUsQ0FBQyxVQUFVLENBQUMsT0FBTyxDQUFDLFdBQVcsQ0FBQztRQUN2RCxJQUFHLFdBQVcsQ0FBQyxNQUFNLEdBQUcsQ0FBQyxFQUFDO1lBQ3RCLElBQUksT0FBTyxHQUFHLENBQUMsQ0FBQztZQUNoQixLQUFJLElBQUksQ0FBQyxHQUFDLENBQUMsRUFBRSxDQUFDLEdBQUMsV0FBVyxDQUFDLE1BQU0sRUFBRSxDQUFDLEVBQUUsRUFBQztnQkFDbkMsSUFBRyxXQUFXLENBQUMsQ0FBQyxDQUFDLElBQUksSUFBSTtvQkFBRSxPQUFPLElBQUksQ0FBQyxDQUFDO2FBQzNDO1lBQ0QsR0FBRyxH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YXNzLCBwcm9wZXJ0eX0gPSBjYy5fZGVjb3JhdG9yO1xyXG5cclxuQGNjY2xhc3NcclxuZXhwb3J0IGRlZmF1bHQgY2xhc3MgTmV3Q2xhc3MgZXh0ZW5kcyBjYy5Db21wb25lbnQge1xyXG4gICAgQHByb3BlcnR5KGNjLkxhYmVsKVxyXG4gICAgY291bnQ6IGNjLkxhYmVsID0gbnVsbDtcclxuICAgIEBwcm9wZXJ0eShjYy5MYWJlbClcclxuICAgIHRpbWU6IGNjLkxhYmVsID0gbnVsbDtcclxuICAgIEBwcm9wZXJ0eShjYy5Ob2RlKVxyXG4gICAgc2VsZk5vZGU6IGNjLk5vZGUgPSBudWxsO1xyXG4gICAgQHByb3BlcnR5KGNjLk5vZGUpXHJcbiAgICBvbmU6IGNjLk5vZGUgPSBudWxsO1xyXG4gICAgQHByb3BlcnR5KGNjLk5vZGUpXHJcbiAgICB0d286IGNjLk5vZGUgPSBudWxsO1xyXG4gICAgQHByb3BlcnR5KGNjLk5vZGUpXHJcbiAgICB0aHJlZTogY2MuTm9kZSA9IG51bGw7XHJcbiAgICBAcHJvcGVydHkoY2MuTm9kZSlcclxuICAgIGZvdXI6IGNjLk5vZGUgPSBudWxsO1xyXG4gICAgQHByb3BlcnR5KGNjLk5vZGUpXHJcbiAgICBmaXZlOiBjYy5Ob2RlID0gbnVsbDtcclxuICAgIGxpc3REYXRhOiBhbnk7XHJcbiAgICBzZWxmRGF0YTogYW55O1xyXG4gICAgLy8gb25Mb2FkICgpIHt9XHJcbiAgICBzdGFydCAoKSB7XHJcbiAgICAgICAgdGhpcy5jb3VudC5zdHJpbmcgPSBjYy5meC5HYW1lQ29uZmlnLkdNX0lORk8uc2NvcmUgKyBcIlwiO1xyXG4gICAgICAgIHZhciB5ZXMgPSAwO1xyXG4gICAgICAgIHZhciBzdWNjZXNzTGlzdCA9IGNjLmZ4LkdhbWVDb25maWcuR01fSU5GTy5zdWNjZXNzTGlzdDtcclxuICAgICAgICBpZihzdWNjZXNzTGlzdC5sZW5ndGggPiAwKXtcclxuICAgICAgICAgICAgdmFyIHN1Y2Nlc3MgPSAwO1xyXG4gICAgICAgICAgICBmb3IobGV0IGk9MDsgaTxzdWNjZXNzTGlzdC5sZW5ndGg7IGkrKyl7XHJcbiAgICAgICAgICAgICAgICBpZihzdWNjZXNzTGlzdFtpXSA9PSB0cnVlKSBzdWNjZXNzICs9IDE7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgeWVzID0gc3VjY2Vzcy9zdWNjZXNzTGlzdC5sZW5ndGg7XHJcbiAgICAgICAgfVxyXG4gICAgICAgIHllcyA9IE1hdGguZmxvb3IoeWVzICogMTAwMCkvMTA7XHJcbiAgICAgICAgdGhpcy50aW1lLnN0cmluZyA9ICAgeWVzICsgXCIlXCI7XHJcbiAgICAgICAgdGhpcy5pbml0KCk7XHJcbiAgICB9XHJcbiAgICAvL+WIneWni+WMluaVsOaNrlxyXG4gICAgaW5pdCgpe1xyXG4gICAgICAgIHRoaXMubGlzdERhdGEgPSBbXTtcclxuICAgICAgICB0aGlzLnNlbGZEYXRhID0gbnVsbDtcclxuICAgICAgICB0aGlzLm9uZS5hY3RpdmUgPSBmYWxzZTtcclxuICAgICAgICB0aGlzLnR3by5hY3RpdmUgPSBmYWxzZTtcclxuICAgICAgICB0aGlzLnRocmVlLmFjdGl2ZSA9IGZhbHNlO1xyXG4gICAgICAgIHRoaXMuZm91ci5hY3RpdmUgPSBmYWxzZTtcclxuICAgICAgICB0aGlzLmZpdmUuYWN0aXZlID0gZmFsc2U7XHJcbiAgICAgICAgdGhpcy5nZXRSYW5rKCk7XHJcbiAgICB9XHJcbiAgICAvL+aJk+W8gOaOkuihjOamnFxyXG4gICAgb3BlblJhbmsoKXtcclxuICAgICAgICBjYy5kaXJlY3Rvci5sb2FkU2NlbmUoXCJSYW5rU2NlbmVcIik7XHJcbiAgICB9XHJcbiAgICAvL+mHjeaWsOW8gOWni+eOqVxyXG4gICAgYWdhaW4oKXtcclxuICAgICAgICBjYy5meC5HYW1lQ29uZmlnLkdNX0lORk8ucm91bmQgPSAwO1xyXG4gICAgICAgIGNjLmZ4LkdhbWVDb25maWcuR01fSU5GTy5sZXZlbCA9IDA7XHJcbiAgICAgICAgY2MuZnguR2FtZUNvbmZpZy5HTV9JTkZPLnN0ZXBUaW1lTGlzdCA9IDA7XHJcbiAgICAgICAgY2MuZnguR2FtZUNvbmZpZy5HTV9JTkZPLnN1Y2Nlc3NMaXN0ID0gW107XHJcbiAgICAgICAgY2MuZnguR2FtZUNvbmZpZy5HTV9JTkZPLmZlbiA9IDA7XHJcbiAgICAgICAgY2MuZnguR2FtZUNvbmZpZy5HTV9JTkZPLnNjb3JlID0gMDtcclxuICAgICAgICBjYy5meC5HYW1lQ29uZmlnLkdNX0lORk8ubWluX1N0ZXBzID0gMDtcclxuICAgICAgICBjYy5meC5HYW1lQ29uZmlnLkdNX0lORk8ubWluX1RpbWUgPSAwO1xyXG4gICAgICAgIGNjLmRpcmVjdG9yLmxvYWRTY2VuZShcIkdhbWVTY2VuZVwiKTtcclxuICAgIH1cclxuICAgIC8v6I635Y+W5o6S6KGM5qacXHJcbiAgICBnZXRSYW5rKCl7XHJcbiAgICAgICAgLy/ojrflj5bmjpLooYzmppzmlbDmja4gIOaJgOmcgOaVsOaNrumHj1xyXG4gICAgICAgIGxldCBkYXRhRmlsZSA9IHtcclxuICAgICAgICAgICAgbGVuZ3RoOjVcclxuICAgICAgICB9XHJcbiAgICAgICAgIGNjLmZ4LkdhbWVUb29sLmdldFJhbmsoZGF0YUZpbGUsZGF0YSA9PnRoaXMuZ2V0UmFua0RhdGEoZGF0YSkpO1xyXG4gICAgfVxyXG4gICAgLy/orr7nva7mjpLooYzkv6Hmga9cclxuICAgIGdldFJhbmtEYXRhKGRhdGEpe1xyXG5cclxuICAgICAgICBpZihkYXRhKXtcclxuICAgICAgICAgICAgIGNjLmZ4LkdhbWVUb29sLmdldFJhbmtEYXRhKGRhdGEsdGhpcyw0KTtcclxuICAgICAgICAgICAgIGNjLmZ4LkdhbWVUb29sLnNldFBpYyh0aGlzLnNlbGZOb2RlLmdldENoaWxkQnlOYW1lKFwicGljXCIpLmdldENoaWxkQnlOYW1lKFwiaWNvblwiKSx0aGlzLnNlbGZEYXRhLnBpYyk7XHJcbiAgICAgICAgICAgIHZhciBsZW5ndGggPSB0aGlzLmxpc3REYXRhLmxlbmd0aC0xOyBpZihsZW5ndGggPiA0KSBsZW5ndGggPSA0O1xyXG4gICAgICAgICAgICBmb3IobGV0IGk9MDtpPD1sZW5ndGg7aSsrKXtcclxuICAgICAgICAgICAgICAgIHRoaXMuc2V0UmFuayhpLHRoaXMubGlzdERhdGFbaV0pO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG4gICAgLy/moLnmja7lhoXlrrnloavlhYXmjpLooYzmppxcclxuICAgIHNldFJhbmsobnVtLGRhdGEpe1xyXG4gICAgICAgIHZhciBoaXROb2RlID0gbnVsbDtcclxuICAgICAgICBpZihudW0gPT0gMCl7XHJcbiAgICAgICAgICAgIGhpdE5vZGUgPSB0aGlzLm9uZTtcclxuICAgICAgICB9XHJcbiAgICAgICAgZWxzZSBpZihudW0gPT0gMSl7XHJcbiAgICAgICAgICAgIGhpdE5vZGUgPSB0aGlzLnR3bztcclxuICAgICAgICB9XHJcbiAgICAgICAgZWxzZSBpZihudW0gPT0gMil7XHJcbiAgICAgICAgICAgIGhpdE5vZGUgPSB0aGlzLnRocmVlO1xyXG4gICAgICAgIH1cclxuICAgICAgICBlbHNlIGlmKG51bSA9PSAzKXtcclxuICAgICAgICAgICAgaGl0Tm9kZSA9IHRoaXMuZm91cjtcclxuICAgICAgICB9XHJcbiAgICAgICAgZWxzZSBpZihudW0gPT0gNCl7XHJcbiAgICAgICAgICAgIGhpdE5vZGUgPSB0aGlzLmZpdmU7XHJcbiAgICAgICAgfVxyXG4gICAgICAgIGlmKGhpdE5vZGUpe1xyXG4gICAgICAgICAgICBoaXROb2RlLmFjdGl2ZSA9IHRydWU7XHJcbiAgICAgICAgICAgIGlmKGRhdGEubmlja05hbWUubGVuZ3RoID49IDQpXHJcbiAgICAgICAgICAgICAgICBjYy5meC5HYW1lVG9vbC5zdWJOYW1lKGRhdGEubmlja05hbWUsNCk7XHJcbiAgICAgICAgICAgIGhpdE5vZGUuZ2V0Q2hpbGRCeU5hbWUoXCJuYW1lXCIpLmdldENvbXBvbmVudChjYy5MYWJlbCkuc3RyaW5nID0gZGF0YS5uaWNrTmFtZTtcclxuICAgICAgICAgICAgaGl0Tm9kZS5nZXRDaGlsZEJ5TmFtZShcInRvdGFsXCIpLmdldENvbXBvbmVudChjYy5MYWJlbCkuc3RyaW5nID0gZGF0YS5zY29yZTtcclxuICAgICAgICAgICAgIGNjLmZ4LkdhbWVUb29sLnNldFBpYyhoaXROb2RlLmdldENoaWxkQnlOYW1lKFwicGljXCIpLmdldENoaWxkQnlOYW1lKFwiaWNvblwiKSxkYXRhLnBpYyk7XHJcbiAgICAgICAgfVxyXG4gICAgfSAgIFxyXG59XHJcbiJdfQ== -//------QC-SOURCE-SPLIT------ - - (function() { - var nodeEnv = typeof require !== 'undefined' && typeof process !== 'undefined'; - var __module = nodeEnv ? module : {exports:{}}; - var __filename = 'preview-scripts/assets/Script/RankManager.js'; - var __require = nodeEnv ? function (request) { - return cc.require(request); - } : function (request) { - return __quick_compile_project__.require(request, __filename); - }; - function __define (exports, require, module) { - if (!nodeEnv) {__quick_compile_project__.registerModule(__filename, module);}"use strict"; -cc._RF.push(module, 'e74a999IDFOabyymZgXQIiy', 'RankManager'); -// Script/RankManager.ts - -"use strict"; -var __extends = (this && this.__extends) || (function () { - var extendStatics = function (d, b) { - extendStatics = Object.setPrototypeOf || - ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) || - function (d, b) { for (var p in b) if (Object.prototype.hasOwnProperty.call(b, p)) d[p] = b[p]; }; - return extendStatics(d, b); - }; - return function (d, b) { - extendStatics(d, b); - function __() { this.constructor = d; } - d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __()); - }; -})(); -var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) { - var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d; - if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc); - else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r; - return c > 3 && r && Object.defineProperty(target, key, r), r; -}; -Object.defineProperty(exports, "__esModule", { value: true }); -var List_1 = require("./module/RankList/List"); -var _a = cc._decorator, ccclass = _a.ccclass, property = _a.property; -//排行榜 -var RankManager = /** @class */ (function (_super) { - __extends(RankManager, _super); - function RankManager() { - var _this = _super !== null && _super.apply(this, arguments) || this; - _this.Player = null; - _this.selfNode = null; - _this.phone = null; - return _this; + MiniGameSdk.isWechat = isWechat; + function isBytedance() { + //@ts-ignore + return window.tt !== null && window.tt !== undefined; } - RankManager.prototype.onLoad = function () { - this.init(); - }; - //初始化数据 - RankManager.prototype.init = function () { - this.rankList = cc.find("ScrollView", this.node).getComponent(List_1.default); - this.Player.getChildByName("rank").active = false; - this.listData = []; - this.selfData = null; - this.rankNumber = 100; - this.rankTotal = 100; - this.selfNode.opacity = 0; - }; - RankManager.prototype.start = function () { - this.Player.active = false; - this.getRank(); - }; - //调用获取排行榜接口 - RankManager.prototype.getRank = function () { - var _this = this; - var dataFile = { - length: 100 - }; - cc.fx.GameTool.getRank(dataFile, function (data) { return _this.getRankData(data); }); - }; - //实际设置排行数据 - RankManager.prototype.getRankData = function (data) { - if (data) { - // console.log(data); - cc.fx.GameTool.getRankData(data, this, 6); - this.setPic(this.selfData.pic); + MiniGameSdk.isBytedance = isBytedance; + function getSysWinSize() { + var sys; + if (isWechat()) { + // @ts-ignore + sys = wx.getSystemInfoSync(); } - }; - //返回按钮 - RankManager.prototype.backClick = function () { - cc.director.loadScene("LoadScene"); - }; - //最上方用户动画 - RankManager.prototype.playerAction = function () { - var _this = this; - //-254 377 210 453 - this.Player.getChildByName("rank").active = false; - var time = 1; - this.tween = cc.tween(this.Player) - .to(2, { position: cc.v3(215, 525, 0) }) - .call(function () { - _this.Player.getChildByName("rank").active = true; - _this.Player.getChildByName("rank").getChildByName("number") - .getComponent(cc.Label).string = parseInt(time * 100 + "") + "%"; - }) - .start(); - time = (this.listData.length - this.rankNumber) / this.listData.length; - if (this.listData.length >= 99) { - if (this.rankNumber >= 99) { - time = (Math.random() * 49 + 1) / 100; - var matchId = cc.sys.localStorage.getItem("matchNumber"); - if (matchId == null || matchId == undefined) { - time = 0; - } - } + else if (isBytedance()) { + // @ts-ignore + sys = tt.getSystemInfoSync(); } - setTimeout(function () { - if (_this.tween) - _this.tween.stop(); - _this.Player.getChildByName("rank").active = true; - _this.Player.getChildByName("rank").getChildByName("number") - .getComponent(cc.Label).string = parseInt(time * 100 + "") + "%"; - }, time * 2000); - }; - //设置头像 处理的逻辑比较多,不用公共类的了 - RankManager.prototype.setPic = function (pic) { - var _this = this; - this.phone.node.parent.getChildByName("icon").active = false; - this.phone.node.active = false; - this.Player.active = true; - this.Player.opacity = 0; - this.Player.getChildByName("mask").getChildByName("icon").active = false; - this.Player.getChildByName("mask").getChildByName("phone").active = false; - fetch(pic) - .then(function (response) { - return response.headers.get('Content-Length'); - }) - .then(function (errNo) { - if (errNo == "5093") { - _this.phone.node.parent.getChildByName("icon").active = true; - _this.Player.getChildByName("mask").getChildByName("icon").active = true; - } - }) - .catch(function (error) { - // console.error('Error fetching X-Info:', error); + var size = { width: 0, height: 0 }; + if (sys) { + size.width = sys.windowWidth; + size.height = sys.windowHeight; + } + return size; + } + /** + * 插屏广告。微信抖音都支持! + */ + var ADInterstitial = /** @class */ (function () { + function ADInterstitial(adUid) { + this._adUid = adUid; + } + Object.defineProperty(ADInterstitial.prototype, "aduid", { + get: function () { + return this._adUid; + }, + enumerable: false, + configurable: true }); - var self = this; - cc.assetManager.loadRemote(pic, { ext: '.png' }, function (err, texture) { - self.Player.opacity = 255; - if (texture) { - self.phone.node.active = true; - self.phone.spriteFrame = new cc.SpriteFrame(texture); - self.Player.getChildByName("mask").getChildByName("icon").active = false; - self.Player.getChildByName("mask").getChildByName("phone").active = true; - self.Player.getChildByName("mask").getChildByName("phone").getComponent(cc.Sprite) - .spriteFrame = new cc.SpriteFrame(texture); - setTimeout(function () { - self.playerAction(); - }, 500); - } - else { - self.Player.getChildByName("mask").getChildByName("icon").active = true; - setTimeout(function () { - self.playerAction(); - }, 500); - } - }); - }; - __decorate([ - property(cc.Node) //用户上方头像 - ], RankManager.prototype, "Player", void 0); - __decorate([ - property(cc.Node) //用户最下方个人信息 - ], RankManager.prototype, "selfNode", void 0); - __decorate([ - property(cc.Sprite) //用户头像换图 - ], RankManager.prototype, "phone", void 0); - RankManager = __decorate([ - ccclass - ], RankManager); - return RankManager; -}(cc.Component)); -exports.default = RankManager; - -cc._RF.pop(); - } - if (nodeEnv) { - __define(__module.exports, __require, __module); - } - else { - __quick_compile_project__.registerModuleFunc(__filename, function () { - __define(__module.exports, __require, __module); - }); - } - })(); -//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbImFzc2V0c1xcU2NyaXB0XFxSYW5rTWFuYWdlci50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7QUFDQSwrQ0FBMEM7QUFDcEMsSUFBQSxLQUF3QixFQUFFLENBQUMsVUFBVSxFQUFuQyxPQUFPLGFBQUEsRUFBRSxRQUFRLGNBQWtCLENBQUM7QUFDNUMsS0FBSztBQUVMO0lBQXlDLCtCQUFZO0lBQXJEO1FBQUEscUVBK0hDO1FBN0hHLFlBQU0sR0FBWSxJQUFJLENBQUM7UUFFdkIsY0FBUSxHQUFZLElBQUksQ0FBQztRQUV6QixXQUFLLEdBQWMsSUFBSSxDQUFDOztJQXlINUIsQ0FBQztJQWpIRyw0QkFBTSxHQUFOO1FBQ0ksSUFBSSxDQUFDLElBQUksRUFBRSxDQUFDO0lBQ2hCLENBQUM7SUFDRCxPQUFPO0lBQ1AsMEJBQUksR0FBSjtRQUNJLElBQUksQ0FBQyxRQUFRLEdBQUcsRUFBRSxDQUFDLElBQUksQ0FBQyxZQUFZLEVBQUUsSUFBSSxDQUFDLElBQUksQ0FBQyxDQUFDLFlBQVksQ0FBQyxjQUFJLENBQUMsQ0FBQztRQUNwRSxJQUFJLENBQUMsTUFBTSxDQUFDLGNBQWMsQ0FBQyxNQUFNLENBQUMsQ0FBQyxNQUFNLEdBQUcsS0FBSyxDQUFDO1FBQ2xELElBQUksQ0FBQyxRQUFRLEdBQUcsRUFBRSxDQUFDO1FBQ25CLElBQUksQ0FBQyxRQUFRLEdBQUcsSUFBSSxDQUFDO1FBQ3JCLElBQUksQ0FBQyxVQUFVLEdBQUcsR0FBRyxDQUFDO1FBQ3RCLElBQUksQ0FBQyxTQUFTLEdBQUUsR0FBRyxDQUFDO1FBQ3BCLElBQUksQ0FBQyxRQUFRLENBQUMsT0FBTyxHQUFHLENBQUMsQ0FBQztJQUM5QixDQUFDO0lBRUQsMkJBQUssR0FBTDtRQUNJLElBQUksQ0FBQyxNQUFNLENBQUMsTUFBTSxHQUFHLEtBQUssQ0FBQztRQUMzQixJQUFJLENBQUMsT0FBTyxFQUFFLENBQUM7SUFDbkIsQ0FBQztJ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QUM7Z0JBQzNDLFVBQVUsQ0FBQztvQkFDUCxJQUFJLENBQUMsWUFBWSxFQUFFLENBQUM7Z0JBQ3hCLENBQUMsRUFBRSxHQUFHLENBQUMsQ0FBQzthQUNYO2lCQUNHO2dCQUNBLElBQUksQ0FBQyxNQUFNLENBQUMsY0FBYyxDQUFDLE1BQU0sQ0FBQyxDQUFDLGNBQWMsQ0FBQyxNQUFNLENBQUMsQ0FBQyxNQUFNLEdBQUcsSUFBSSxDQUFDO2dCQUN4RSxVQUFVLENBQUM7b0JBQ1AsSUFBSSxDQUFDLFlBQVksRUFBRSxDQUFDO2dCQUN4QixDQUFDLEVBQUUsR0FBRyxDQUFDLENBQUM7YUFDWDtRQUVMLENBQUMsQ0FBQyxDQUFBO0lBQ04sQ0FBQztJQTNIRDtRQURDLFFBQVEsQ0FBQyxFQUFFLENBQUMsSUFBSSxDQUFDLENBQVUsUUFBUTsrQ0FDYjtJQUV2QjtRQURDLFFBQVEsQ0FBQyxFQUFFLENBQUMsSUFBSSxDQUFDLENBQVUsV0FBVztpREFDZDtJQUV6QjtRQURDLFFBQVEsQ0FBQyxFQUFFLENBQUMsTUFBTSxDQUFDLENBQVEsUUFBUTs4Q0FDWjtJQU5QLFdBQVc7UUFEL0IsT0FBTztPQUNhLFdBQVcsQ0ErSC9CO0lBQUQsa0JBQUM7Q0EvSEQsQUErSEMsQ0EvSHdDLEVBQUUsQ0FBQyxTQUFTLEdBK0hwRDtrQkEvSG9CLFdBQVciLCJmaWxlIjoiIiwic291cmNlUm9vdCI6Ii8iLCJzb3VyY2VzQ29udGVudCI6WyJcclxuaW1wb3J0IExpc3QgZnJvbSBcIi4vbW9kdWxlL1JhbmtMaXN0L0xpc3RcIjtcclxuY29uc3QgeyBjY2NsYXNzLCBwcm9wZXJ0eSB9ID0gY2MuX2RlY29yYXRvcjtcclxuLy/mjpLooYzmppxcclxuQGNjY2xhc3NcclxuZXhwb3J0IGRlZmF1bHQgY2xhc3MgUmFua01hbmFnZXIgZXh0ZW5kcyBjYy5Db21wb25lbnQge1xyXG4gICAgQHByb3BlcnR5KGNjLk5vZGUpICAgICAgICAgIC8v55So5oi35LiK5pa55aS05YOPXHJcbiAgICBQbGF5ZXI6IGNjLk5vZGUgPSBudWxsO1xyXG4gICAgQHByb3BlcnR5KGNjLk5vZGUpICAgICAgICAgIC8v55So5oi35pyA5LiL5pa55Liq5Lq65L+h5oGvXHJcbiAgICBzZWxmTm9kZTogY2MuTm9kZSA9IG51bGw7XHJcbiAgICBAcHJvcGVydHkoY2MuU3ByaXRlKSAgICAgICAgLy/nlKjmiLflpLTlg4/mjaLlm75cclxuICAgIHBob25lOiBjYy5TcHJpdGUgPSBudWxsO1xyXG4gICAgcHJpdmF0ZSByYW5rTGlzdDogTGlzdDsgICAgIC8v5o6S6KGM5qacXHJcbiAgICB0d2VlbjogY2MuVHdlZW48Y2MuTm9kZT47ICAgLy/mnIDkuIrmlrnnlKjmiLflpLTlg4/liqjnlLtcclxuICAgIGxpc3REYXRhOiBhbnk7ICAgICAgICAgICAgICAvL+aAu+WIl+ihqOS/oeaBr1xyXG4gICAgc2VsZkRhdGE6IGFueTsgICAgICAgICAgICAgIC8v6Ieq5bex5L+h5oGvXHJcbiAgICByYW5rTnVtYmVyOiBudW1iZXI7ICAgICAgICAgLy/nlKjmiLfoh6rlt7HmjpLlkI0g5pyJ5Y+v6IO95LiN5Zyo5o6S6KGM5qac5YaFOTkrXHJcbiAgICByYW5rVG90YWw6IG51bWJlcjsgICAgICAgICAgLy/ojrflj5bmjpLooYzmppznlKjmiLfmlbDph48g546w5Zyo5Li6MTAwXHJcblxyXG4gICAgb25Mb2FkKCkge1xyXG4gICAgICAgIHRoaXMuaW5pdCgpO1xyXG4gICAgfVxyXG4gICAgLy/liJ3lp4vljJbmlbDmja5cclxuICAgIGluaXQoKXtcclxuICAgICAgICB0aGlzLnJhbmtMaXN0ID0gY2MuZmluZChcIlNjcm9sbFZpZXdcIiwgdGhpcy5ub2RlKS5nZXRDb21wb25lbnQoTGlzdCk7XHJcbiAgICAgICAgdGhpcy5QbGF5ZXIuZ2V0Q2hpbGRCeU5hbWUoXCJyYW5rXCIpLmFjdGl2ZSA9IGZhbHNlO1xyXG4gICAgICAgIHRoaXMubGlzdERhdGEgPSBbXTtcclxuICAgICAgICB0aGlzLnNlbGZEYXRhID0gbnVsbDtcclxuICAgICAgICB0aGlzLnJhbmtOdW1iZXIgPSAxMDA7XHJcbiAgICAgICAgdGhpcy5yYW5rVG90YWw9IDEwMDtcclxuICAgICAgICB0aGlzLnNlbGZOb2RlLm9wYWNpdHkgPSAwO1xyXG4gICAgfVxyXG5cclxuICAgIHN0YXJ0KCkge1xyXG4gICAgICAgIHRoaXMuUGxheWVyLmFjdGl2ZSA9IGZhbHNlO1xyXG4gICAgICAgIHRoaXMuZ2V0UmFuaygpO1xyXG4gICAgfVxyXG4gICAgLy/osIPnlKjojrflj5bmjpLooYzmppzmjqXlj6NcclxuICAgIGdldFJhbmsoKXtcclxuICAgICAgICBsZXQgZGF0YUZpbGUgPSB7XHJcbiAgICAgICAgICAgIGxlbmd0aDoxMDBcclxuICAgICAgICB9XHJcbiAgICAgICAgIGNjLmZ4LkdhbWVUb29sLmdldFJhbmsoZGF0YUZpbGUsZGF0YSA9PnRoaXMuZ2V0UmFua0RhdGEoZGF0YSkpO1xyXG4gICAgfVxyXG4gICAgLy/lrp7pmYXorr7nva7mjpLooYzmlbDmja5cclxuICAgIGdldFJhbmtEYXRhKGRhdGEpe1xyXG4gICAgICAgIGlmKGRhdGEpe1xyXG4gICAgICAgICAgICAvLyBjb25zb2xlLmxvZyhkYXRhKTtcclxuICAgICAgICAgICAgY2MuZnguR2FtZVRvb2wuZ2V0UmFua0RhdGEoZGF0YSx0aGlzLDYpO1xyXG4gICAgICAgICAgICB0aGlzLnNldFBpYyh0aGlzLnNlbGZEYXRhLnBpYyk7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG4gICAgLy/ov5Tlm57mjInpkq5cclxuICAgIGJhY2tDbGljaygpe1xyXG4gICAgICAgIGNjLmRpcmVjdG9yLmxvYWRTY2VuZShcIkxvYWRTY2VuZVwiKTtcclxuICAgIH1cclxuICAgIC8v5pyA5LiK5pa555So5oi35Yqo55S7XHJcbiAgICBwbGF5ZXJBY3Rpb24oKXtcclxuICAgICAgICAvLy0yNTQgMzc3ICAyMTAgNDUzXHJcbiAgICAgICAgdGhpcy5QbGF5ZXIuZ2V0Q2hpbGRCeU5hbWUoXCJyYW5rXCIpLmFjdGl2ZSA9IGZhbHNlO1xyXG4gICAgICAgIGxldCB0aW1lID0gMTtcclxuICAgICAgICB0aGlzLnR3ZWVuID0gY2MudHdlZW4odGhpcy5QbGF5ZXIpXHJcbiAgICAgICAgLnRvKDIse3Bvc2l0aW9uOmNjLnYzKDIxNSw1MjUsMCl9KVxyXG4gICAgICAgIC5jYWxsKCgpID0+e1xyXG4gICAgICAgICAgICB0aGlzLlBsYXllci5nZXRDaGlsZEJ5TmFtZShcInJhbmtcIikuYWN0aXZlID0gdHJ1ZTtcclxuICAgICAgICAgICAgdGhpcy5QbGF5ZXIuZ2V0Q2hpbGRCeU5hbWUoXCJyYW5rXCIpLmdldENoaWxkQnlOYW1lKFwibnVtYmVyXCIpXHJcbiAgICAgICAgICAgIC5nZXRDb21wb25lbnQoY2MuTGFiZWwpLnN0cmluZyA9ICBwYXJzZUludCh0aW1lKjEwMCArIFwiXCIpICsgXCIlXCI7XHJcbiAgICAgICAgfSlcclxuICAgICAgICAuc3RhcnQoKTtcclxuICAgICAgICB0aW1lID0gKHRoaXMubGlzdERhdGEubGVuZ3RoIC0gdGhpcy5yYW5rTnVtYmVyKS90aGlzLmxpc3REYXRhLmxlbmd0aDtcclxuICAgICAgICBpZih0aGlzLmxpc3REYXRhLmxlbmd0aCA+PSA5OSl7XHJcbiAgICAgICAgICAgIGlmKHRoaXMucmFua051bWJlciA+PSA5OSl7XHJcbiAgICAgICAgICAgICAgICB0aW1lID0gKE1hdGgucmFuZG9tKCkqNDkrMSkvMTAwXHJcbiAgICAgICAgICAgICAgICB2YXIgbWF0Y2hJZCA9IGNjLnN5cy5sb2NhbFN0b3JhZ2UuZ2V0SXRlbShcIm1hdGNoTnVtYmVyXCIpO1xyXG4gICAgICAgICAgICAgICAgaWYobWF0Y2hJZCA9PSBudWxsIHx8IG1hdGNoSWQgPT0gdW5kZWZpbmVkKXtcclxuICAgICAgICAgICAgICAgICAgICB0aW1lID0gMDtcclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgICAgICBzZXRUaW1lb3V0KCgpID0+IHtcclxuICAgICAgICAgICAgaWYodGhpcy50d2Vlbil0aGlzLnR3ZWVuLnN0b3AoKTtcclxuICAgICAgICAgICAgdGhpcy5QbGF5ZXIuZ2V0Q2hpbGRCeU5hbWUoXCJyYW5rXCIpLmFjdGl2ZSA9IHRydWU7XHJcbiAgICAgICAgICAgIHRoaXMuUGxheWVyLmdldENoaWxkQnlOYW1lKFwicmFua1wiKS5nZXRDaGlsZEJ5TmFtZShcIm51bWJlclwiKVxyXG4gICAgICAgICAgICAuZ2V0Q29tcG9uZW50KGNjLkxhYmVsKS5zdHJpbmcgPSAgcGFyc2VJbnQodGltZSoxMDAgKyBcIlwiKSArIFwiJVwiO1xyXG4gICAgICAgIH0sIHRpbWUqMjAwMCk7XHJcblxyXG4gICAgfVxyXG4gICAgLy/orr7nva7lpLTlg48gIOWkhOeQhueahOmAu+i+keavlOi+g+Wkmu+8jOS4jeeUqOWFrOWFseexu+eahOS6hlxyXG4gICAgcHVibGljIHNldFBpYyhwaWMpe1xyXG4gICAgICAgIHRoaXMucGhvbmUubm9kZS5wYXJlbnQuZ2V0Q2hpbGRCeU5hbWUoXCJpY29uXCIpLmFjdGl2ZSA9IGZhbHNlO1xyXG4gICAgICAgIHRoaXMucGhvbmUubm9kZS5hY3RpdmUgPSBmYWxzZTtcclxuICAgICAgICB0aGlzLlBsYXllci5hY3RpdmUgPSB0cnVlO1xyXG4gICAgICAgIHRoaXMuUGxheWVyLm9wYWNpdHkgPSAwO1xyXG4gICAgICAgIHRoaXMuUGxheWVyLmdldENoaWxkQnlOYW1lKFwibWFza1wiKS5nZXRDaGlsZEJ5TmFtZShcImljb25cIikuYWN0aXZlID0gZmFsc2U7XHJcbiAgICAgICAgdGhpcy5QbGF5ZXIuZ2V0Q2hpbGRCeU5hbWUoXCJtYXNrXCIpLmdldENoaWxkQnlOYW1lKFwicGhvbmVcIikuYWN0aXZlID0gZmFsc2U7XHJcbiAgICAgICAgZmV0Y2gocGljKVxyXG4gICAgICAgIC50aGVuKHJlc3BvbnNlID0+IHtcclxuICAgICAgICAgICAgcmV0dXJuIHJlc3BvbnNlLmhlYWRlcnMuZ2V0KCdDb250ZW50LUxlbmd0aCcpO1xyXG4gICAgICAgIH0pXHJcbiAgICAgICAgLnRoZW4oZXJyTm8gPT4ge1xyXG4gICAgICAgICAgICBpZihlcnJObyA9PSBcIjUwOTNcIil7XHJcbiAgICAgICAgICAgICAgICB0aGlzLnBob25lLm5vZGUucGFyZW50LmdldENoaWxkQnlOYW1lKFwiaWNvblwiKS5hY3RpdmUgPSB0cnVlO1xyXG4gICAgICAgICAgICAgICAgdGhpcy5QbGF5ZXIuZ2V0Q2hpbGRCeU5hbWUoXCJtYXNrXCIpLmdldENoaWxkQnlOYW1lKFwiaWNvblwiKS5hY3RpdmUgPSB0cnVlO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfSlcclxuICAgICAgICAuY2F0Y2goZXJyb3IgPT4ge1xyXG4gICAgICAgICAgICAvLyBjb25zb2xlLmVycm9yKCdFcnJvciBmZXRjaGluZyBYLUluZm86JywgZXJyb3IpO1xyXG4gICAgICAgIH0pO1xyXG4gICAgICAgIHZhciBzZWxmID0gdGhpcztcclxuICAgICAgICBjYy5hc3NldE1hbmFnZXIubG9hZFJlbW90ZShwaWMsIHtleHQ6Jy5wbmcnfSwoZXJyLCB0ZXh0dXJlOmNjLlRleHR1cmUyRCkgPT4ge1xyXG4gICAgICAgICAgICBzZWxmLlBsYXllci5vcGFjaXR5ID0gMjU1O1xyXG4gICAgICAgICAgICBpZih0ZXh0dXJlKXtcclxuICAgICAgICAgICAgICAgIHNlbGYucGhvbmUubm9kZS5hY3RpdmUgPSB0cnVlO1xyXG4gICAgICAgICAgICAgICAgc2VsZi5waG9uZS5zcHJpdGVGcmFtZSA9IG5ldyBjYy5TcHJpdGVGcmFtZSh0ZXh0dXJlKTtcclxuICAgICAgICAgICAgICAgIHNlbGYuUGxheWVyLmdldENoaWxkQnlOYW1lKFwibWFza1wiKS5nZXRDaGlsZEJ5TmFtZShcImljb25cIikuYWN0aXZlID0gZmFsc2U7XHJcbiAgICAgICAgICAgICAgICBzZWxmLlBsYXllci5nZXRDaGlsZEJ5TmFtZShcIm1hc2tcIikuZ2V0Q2hpbGRCeU5hbWUoXCJwaG9uZVwiKS5hY3RpdmUgPSB0cnVlO1xyXG4gICAgICAgICAgICAgICAgc2VsZi5QbGF5ZXIuZ2V0Q2hpbGRCeU5hbWUoXCJtYXNrXCIpLmdldENoaWxkQnlOYW1lKFwicGhvbmVcIikuZ2V0Q29tcG9uZW50KGNjLlNwcml0ZSlcclxuICAgICAgICAgICAgICAgIC5zcHJpdGVGcmFtZSA9IG5ldyBjYy5TcHJpdGVGcmFtZSh0ZXh0dXJlKTtcclxuICAgICAgICAgICAgICAgIHNldFRpbWVvdXQoKCkgPT4ge1xyXG4gICAgICAgICAgICAgICAgICAgIHNlbGYucGxheWVyQWN0aW9uKCk7XHJcbiAgICAgICAgICAgICAgICB9LCA1MDApO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIGVsc2V7XHJcbiAgICAgICAgICAgICAgICBzZWxmLlBsYXllci5nZXRDaGlsZEJ5TmFtZShcIm1hc2tcIikuZ2V0Q2hpbGRCeU5hbWUoXCJpY29uXCIpLmFjdGl2ZSA9IHRydWU7XHJcbiAgICAgICAgICAgICAgICBzZXRUaW1lb3V0KCgpID0+IHtcclxuICAgICAgICAgICAgICAgICAgICBzZWxmLnBsYXllckFjdGlvbigpO1xyXG4gICAgICAgICAgICAgICAgfSwgNTAwKTtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICBcclxuICAgICAgICB9KVxyXG4gICAgfVxyXG5cclxufVxyXG4iXX0= -//------QC-SOURCE-SPLIT------ - - (function() { - var nodeEnv = typeof require !== 'undefined' && typeof process !== 'undefined'; - var __module = nodeEnv ? module : {exports:{}}; - var __filename = 'preview-scripts/assets/Script/DynamicAtlasManager.js'; - var __require = nodeEnv ? function (request) { - return cc.require(request); - } : function (request) { - return __quick_compile_project__.require(request, __filename); - }; - function __define (exports, require, module) { - if (!nodeEnv) {__quick_compile_project__.registerModule(__filename, module);}"use strict"; -cc._RF.push(module, '5c9b8FZiaNLMrMDs9T3rByf', 'DynamicAtlasManager'); -// Script/DynamicAtlasManager.js - -"use strict"; - -cc.Class({ - "extends": cc.Component, - properties: {}, - onLoad: function onLoad() { - cc.dynamicAtlasManager.enabled = false; - } -}); - -cc._RF.pop(); - } - if (nodeEnv) { - __define(__module.exports, __require, __module); - } - else { - __quick_compile_project__.registerModuleFunc(__filename, function () { - __define(__module.exports, __require, __module); - }); - } - })(); -//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbImFzc2V0c1xcU2NyaXB0XFxEeW5hbWljQXRsYXNNYW5hZ2VyLmpzIl0sIm5hbWVzIjpbImNjIiwiQ2xhc3MiLCJDb21wb25lbnQiLCJwcm9wZXJ0aWVzIiwib25Mb2FkIiwiZHluYW1pY0F0bGFzTWFuYWdlciIsImVuYWJsZWQiXSwibWFwcGluZ3MiOiI7Ozs7Ozs7Ozs7Ozs7Ozs7O0FBQUFBLEVBQUUsQ0FBQ0MsS0FBSCxDQUFTO0FBQ0wsYUFBU0QsRUFBRSxDQUFDRSxTQURQO0FBR0xDLEVBQUFBLFVBQVUsRUFBRSxFQUhQO0FBTUxDLEVBQUFBLE1BTkssb0JBTUs7QUFDTkosSUFBQUEsRUFBRSxDQUFDSyxtQkFBSCxDQUF1QkMsT0FBdkIsR0FBaUMsS0FBakM7QUFDSDtBQVJJLENBQVQiLCJzb3VyY2VSb290IjoiLyIsInNvdXJjZXNDb250ZW50IjpbImNjLkNsYXNzKHtcclxuICAgIGV4dGVuZHM6IGNjLkNvbXBvbmVudCxcclxuXHJcbiAgICBwcm9wZXJ0aWVzOiB7XHJcbiAgICB9LFxyXG5cclxuICAgIG9uTG9hZCAoKSB7XHJcbiAgICAgICAgY2MuZHluYW1pY0F0bGFzTWFuYWdlci5lbmFibGVkID0gZmFsc2U7XHJcbiAgICB9LFxyXG59KTtcclxuIl19 -//------QC-SOURCE-SPLIT------ - - (function() { - var nodeEnv = typeof require !== 'undefined' && typeof process !== 'undefined'; - var __module = nodeEnv ? module : {exports:{}}; - var __filename = 'preview-scripts/assets/Script/Block.js'; - var __require = nodeEnv ? function (request) { - return cc.require(request); - } : function (request) { - return __quick_compile_project__.require(request, __filename); - }; - function __define (exports, require, module) { - if (!nodeEnv) {__quick_compile_project__.registerModule(__filename, module);}"use strict"; -cc._RF.push(module, 'c58deN2u1NGZL8nJwvnu1PR', 'Block'); -// Script/Block.ts - -"use strict"; -// Learn TypeScript: -// - https://docs.cocos.com/creator/manual/en/scripting/typescript.html -// Learn Attribute: -// - https://docs.cocos.com/creator/manual/en/scripting/reference/attributes.html -// Learn life-cycle callbacks: -// - https://docs.cocos.com/creator/manual/en/scripting/life-cycle-callbacks.html -var __extends = (this && this.__extends) || (function () { - var extendStatics = function (d, b) { - extendStatics = Object.setPrototypeOf || - ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) || - function (d, b) { for (var p in b) if (Object.prototype.hasOwnProperty.call(b, p)) d[p] = b[p]; }; - return extendStatics(d, b); - }; - return function (d, b) { - extendStatics(d, b); - function __() { this.constructor = d; } - d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __()); - }; -})(); -var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) { - var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d; - if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc); - else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r; - return c > 3 && r && Object.defineProperty(target, key, r), r; -}; -Object.defineProperty(exports, "__esModule", { value: true }); -exports.PathType = exports.BlockType = void 0; -var _a = cc._decorator, ccclass = _a.ccclass, property = _a.property; -var BlockType; -(function (BlockType) { - /*普通地块 */ - BlockType[BlockType["Nomal"] = 0] = "Nomal"; - /*起点地块 */ - BlockType[BlockType["Start"] = 1] = "Start"; - /*湿地 */ - BlockType[BlockType["Nunja"] = 2] = "Nunja"; - /*山峰 */ - BlockType[BlockType["Peak"] = 3] = "Peak"; - /*终点地块 */ - BlockType[BlockType["End"] = 4] = "End"; - /*息壤 */ - BlockType[BlockType["Xi_Soil"] = 5] = "Xi_Soil"; - /*加固 */ - BlockType[BlockType["Reinforce"] = 6] = "Reinforce"; -})(BlockType = exports.BlockType || (exports.BlockType = {})); -var PathType; -(function (PathType) { - PathType["err"] = "err"; - PathType["up"] = "up"; - PathType["down"] = "down"; - PathType["left"] = "left"; - PathType["right"] = "right"; - PathType["up_left"] = "up_left"; - PathType["up_right"] = "up_right"; - PathType["down_left"] = "down_left"; - PathType["down_right"] = "down_right"; - PathType["left_up"] = "left_up"; - PathType["left_down"] = "left_down"; - PathType["right_up"] = "right_up"; - PathType["right_down"] = "right_down"; -})(PathType = exports.PathType || (exports.PathType = {})); -var NewClass = /** @class */ (function (_super) { - __extends(NewClass, _super); - function NewClass() { - var _this = _super !== null && _super.apply(this, arguments) || this; - // LIFE-CYCLE CALLBACKS: - _this.UI = null; - return _this; - // update (dt) {} - } - NewClass.prototype.onLoad = function () { - this.finishi = false; - this.pos_Shifting = 0; - this.pos = cc.v2(0, 0); - }; - NewClass.prototype.start = function () { - }; - //初始化地图块数据 - NewClass.prototype.initData = function (type, pos, max) { - this.block_Type = type; - this.pos = cc.v2(pos.x, pos.y); - // if(this.pos.y%2 == 0) this.node.getChildByName("tip").active = true; - if (type == cc.Enum(BlockType).Start) { - var bg = this.node.getChildByName("sp"); - // this.node.getComponent(cc.Sprite).spriteFrame = null; - bg.getComponent(cc.Sprite).spriteFrame = this.UI["_spriteFrames"]["start"]; - if (cc.fx.GameConfig.GM_INFO.level > 3) { - bg.getChildByName("start").y = 20; - bg.getChildByName("end").y = 20; - } - this.rotateTarget(bg, "start", pos, max); - } - else if (type == cc.Enum(BlockType).End) { - var bg = this.node.getChildByName("sp"); - // this.node.getComponent(cc.Sprite).spriteFrame = null; - bg.getComponent(cc.Sprite).spriteFrame = this.UI["_spriteFrames"]["end"]; - if (cc.fx.GameConfig.GM_INFO.level > 3) { - bg.getChildByName("start").y = 20; - bg.getChildByName("end").y = 20; - } - this.rotateTarget(bg, "end", pos, max); - } - else if (type == cc.Enum(BlockType).Nunja) { - var random = Math.floor(Math.random() * 4); - var rotationArr = [0, 90, 180, 270]; - var rotation = rotationArr[random]; - this.node.getChildByName("bg").getComponent(cc.Sprite).spriteFrame = this.UI["_spriteFrames"]["e5"]; - this.node.getChildByName("bg").angle = -rotation; - this.node.getComponent(cc.Sprite).spriteFrame = null; - } - else if (type == cc.Enum(BlockType).Peak) { - var random = Math.floor(Math.random() * 4 + 1); - var name = "shan" + random; - this.node.getChildByName("bg").getComponent(cc.Sprite).spriteFrame = this.UI["_spriteFrames"][name]; - this.node.getComponent(cc.Sprite).spriteFrame = null; - } - if (cc.fx.GameConfig.GM_INFO.level == 1) { - this.node.getChildByName("tipWin").opacity = 220; - this.node.getChildByName("tipLose").opacity = 220; - } - else if (cc.fx.GameConfig.GM_INFO.level == 2) { - this.node.getChildByName("tipWin").opacity = 100; - this.node.getChildByName("tipLose").opacity = 100; - } - else if (cc.fx.GameConfig.GM_INFO.level == 3) { - this.node.getChildByName("tipWin").opacity = 50; - this.node.getChildByName("tipLose").opacity = 50; - } - else if (cc.fx.GameConfig.GM_INFO.level > 3) { - this.node.getChildByName("tipWin").opacity = 0; - this.node.getChildByName("tipLose").opacity = 0; - } - }; - //旋转入海口和出海口的 图片以及文字角度 - NewClass.prototype.rotateTarget = function (bg, name, pos, max) { - var target = bg.getChildByName(name); - if (pos.y == max.y - 1) { - bg.angle = 0; - if (name == "end") - target.getComponent(cc.Sprite).spriteFrame = this.UI["_spriteFrames"]["end_x"]; - target.active = true; - target.angle = 0; - return; - } - else if (pos.y == 0) { - bg.angle = -180; - if (name == "end") - target.getComponent(cc.Sprite).spriteFrame = this.UI["_spriteFrames"]["end_x"]; - target.active = true; - target.angle = -180; - return; - } - else if (pos.x == max.x - 1) { - bg.angle = 90; - if (name == "start") - target.getComponent(cc.Sprite).spriteFrame = this.UI["_spriteFrames"]["start_y"]; - else - target.getComponent(cc.Sprite).spriteFrame = this.UI["_spriteFrames"]["end_y"]; - target.active = true; - target.angle = -90; - } - else if (pos.x == 0) { - bg.angle = -90; - if (name == "start") - target.getComponent(cc.Sprite).spriteFrame = this.UI["_spriteFrames"]["start_y"]; - else - target.getComponent(cc.Sprite).spriteFrame = this.UI["_spriteFrames"]["end_y"]; - target.active = true; - target.angle = 90; - } - }; - NewClass.prototype.setPath = function (type) { - this.path_Type = type; - }; - //设置息壤在起点 - NewClass.prototype.set_Xi_Soil = function (direction, type) { - var sp = this.node.getChildByName("sp"); - var turn = this.node.getChildByName("turnStart"); - var water = this.node.getChildByName("waterStart"); - if (direction == "left" || direction == "right") { - if (sp.angle == 0) { - turn.active = true; - water.active = true; - water.opacity = 0; - if (type) { - turn.angle = direction == "left" ? 90 : 0; - water.angle = direction == "left" ? 90 : 0; - } - else { - turn.angle = direction == "left" ? 0 : 90; - water.angle = direction == "left" ? 0 : 90; - } - } - else if (sp.angle == -180) { - turn.active = true; - water.active = true; - water.opacity = 0; - if (type) { - turn.angle = direction == "left" ? -180 : -90; - water.angle = direction == "left" ? -180 : -90; - } - else { - turn.angle = direction == "left" ? 270 : -180; - water.angle = direction == "left" ? 270 : -180; - } - } - else if (sp.angle == -90) { - turn.active = true; - turn.getComponent(cc.Sprite).spriteFrame = this.UI["_spriteFrames"]["a1"]; - turn.angle = 90; - if (type) { - water.active = true; - water.angle = 90; - water.getComponent(cc.Sprite).spriteFrame = this.UI["_spriteFrames"]["block1"]; - water.opacity = 0; - } - } - else if (sp.angle == 90) { - turn.active = true; - turn.getComponent(cc.Sprite).spriteFrame = this.UI["_spriteFrames"]["a1"]; - turn.angle = 90; - if (type) { - water.active = true; - water.angle = 90; - water.getComponent(cc.Sprite).spriteFrame = this.UI["_spriteFrames"]["block1"]; - water.opacity = 0; - } - } - } - else if (direction == "up" || direction == "down") { - var sp_1 = this.node.getChildByName("sp"); - if (sp_1.angle == -90) { - turn.active = true; - water.active = true; - water.opacity = 0; - if (type) { - turn.angle = direction == "up" ? 0 : -90; - water.angle = direction == "up" ? 0 : -90; - } - else { - turn.angle = direction == "up" ? -90 : 0; - water.angle = direction == "up" ? -90 : 0; - } - } - else if (sp_1.angle == 90) { - turn.active = true; - water.active = true; - water.opacity = 0; - if (type) { - turn.angle = direction == "up" ? 90 : 180; - water.angle = direction == "up" ? 90 : 180; - } - else { - turn.angle = direction == "up" ? 180 : 90; - water.angle = direction == "up" ? 180 : 90; - } - } - else if (sp_1.angle == 0) { - turn.active = true; - turn.getComponent(cc.Sprite).spriteFrame = this.UI["_spriteFrames"]["a1"]; - turn.angle = 0; - if (type) { - water.active = true; - water.getComponent(cc.Sprite).spriteFrame = this.UI["_spriteFrames"]["block1"]; - water.opacity = 0; - } - } - else if (sp_1.angle == -180) { - turn.active = true; - turn.getComponent(cc.Sprite).spriteFrame = this.UI["_spriteFrames"]["a1"]; - turn.angle = 0; - if (type) { - water.active = true; - water.getComponent(cc.Sprite).spriteFrame = this.UI["_spriteFrames"]["block1"]; - water.opacity = 0; - } - } - } - }; - //息壤具体执行方法 外部可调用 - NewClass.prototype.set_Xi_SoilType = function (direction, end, name) { - var _this = this; - // console.log("息壤",direction,name,this.block_Type); - var jg = this.repeatRoad(true, direction); - console.log("息壤重复判断结果", jg); - if (jg == true) - return; - if (this.block_Type == cc.Enum(BlockType).Start) { - this.set_Xi_Soil(direction, false); - return; - } - if (this.block_Type == cc.Enum(BlockType).Nunja) { - this.block_Type = cc.Enum(BlockType).Nomal; - this.node.getChildByName("bg").getComponent(cc.Sprite).spriteFrame = null; - this.node.getComponent(cc.Sprite).spriteFrame = this.UI["_spriteFrames"]["block_Bg"]; - } - if (end != null) { - if (this.block_Type == cc.Enum(BlockType).End) { - this.finishi = true; - setTimeout(function () { - _this.set_Xi_Soil(direction, true); - }, 500); - } - setTimeout(function () { - if (name == "water") - cc.fx.Notifications.emit(cc.fx.Message.nextWater, (end + 1)); - else - cc.fx.Notifications.emit(cc.fx.Message.next, (end + 1)); - }, 400); - } - if (this.block_Type != cc.Enum(BlockType).End && this.block_Type != cc.Enum(BlockType).Start) { - this.block_Type = cc.Enum(BlockType).Xi_Soil; - } - else { - } - var target = this.node.getChildByName("Xi_Soil"); - this.path_Type = direction; - target.active = true; - target.opacity = 0; - cc.tween(target) - .to(0.1, { opacity: 255 }) - .to(0.1, { opacity: 0 }) - .call(function () { - if (direction != null && end == null) { - var data = { - order: 0, - time: cc.fx.GameConfig.TIME_INFO.waterSpeed[0], - type: 0, - circulate: false - }; - if (name == "water") { - _this.runWater(data); - } - else - _this.runRoad(data); - } - }) - .start(); - }; - //判断重复路径 - NewClass.prototype.repeatRoad = function (type, direction) { - //如果双向都占用了还进来就算死了- - var jg = false; - if (this.node.getChildByName("vertical2").active == true && this.node.getChildByName("horizontal2").active == true) { - // alert("治水失败"); - jg = true; - if (type) { - cc.fx.Notifications.emit(cc.fx.Message.showResult, "lose"); - cc.fx.Notifications.emit(cc.fx.Message.setData, false); - } - } - else if (this.node.getChildByName("turn2").active == true && this.block_Type != cc.Enum(BlockType).Xi_Soil) { - // alert("治水失败"); - jg = true; - if (type) { - cc.fx.Notifications.emit(cc.fx.Message.showResult, "lose"); - cc.fx.Notifications.emit(cc.fx.Message.setData, false); - } - } - if (direction) { - if (this.node.getChildByName("vertical2").active == true && this.block_Type == cc.Enum(BlockType).Xi_Soil && (direction == "up" || direction == "down")) { - // alert("治水失败"); - jg = true; - if (type) { - cc.fx.Notifications.emit(cc.fx.Message.showResult, "lose"); - cc.fx.Notifications.emit(cc.fx.Message.setData, false); - } - } - else if (this.node.getChildByName("horizontal2").active == true && this.block_Type == cc.Enum(BlockType).Xi_Soil && (direction == "right" || direction == "left")) { - // alert("治水失败"); - jg = true; - if (type) { - cc.fx.Notifications.emit(cc.fx.Message.showResult, "lose"); - cc.fx.Notifications.emit(cc.fx.Message.setData, false); - } - } - } - return jg; - }; - //修筑路线执行 - NewClass.prototype.runRoad = function (data) { - if (this.path_Type == "err") { - setTimeout(function () { - if (data.circulate) - cc.fx.Notifications.emit(cc.fx.Message.next, order); - }, data.time); - return; - } - var jg = this.repeatRoad(true, null); - if (jg == true) - return; - var target = null; - var progress = 1; - var time = data.time; - var order = data.order + 1; - var random = Math.floor(Math.random() * 4 + 1); - target = this.node.getChildByName("vertical2"); - if (target.name == "vertical") { - var water1_1 = target.getChildByName("wave").getChildByName("water1"); - var water2_1 = target.getChildByName("wave").getChildByName("water2"); - var water3_1 = target.getChildByName("wave").getChildByName("water3"); - var timeDelay = 0.15; - water1_1.runAction(cc.sequence(cc.moveTo(0.6, cc.v2(water1_1.x, 120)), cc.delayTime(timeDelay), cc.callFunc(function () { - water1_1.y = -120; - })).repeatForever()); - water2_1.runAction(cc.sequence(cc.moveTo(0.6, cc.v2(water2_1.x, 120)), cc.delayTime(timeDelay), cc.callFunc(function () { - water2_1.y = -120; - })).repeatForever()); - water3_1.runAction(cc.sequence(cc.moveTo(0.6, cc.v2(water3_1.x, 120)), cc.delayTime(timeDelay), cc.callFunc(function () { - water3_1.y = -120; - })).repeatForever()); - } - var name = "a" + random; - if (this.block_Type != cc.Enum(BlockType).Reinforce) - target.getComponent(cc.Sprite).spriteFrame = this.UI["_spriteFrames"][name]; - if (target.active == true) { - target = this.node.getChildByName("horizontal2"); - name = "b" + random; - if (this.block_Type != cc.Enum(BlockType).Reinforce) - target.getComponent(cc.Sprite).spriteFrame = this.UI["_spriteFrames"][name]; - } - // console.log(this.path_Type,data.order); - if (this.path_Type == cc.Enum(PathType).up) { - } - else if (this.path_Type == cc.Enum(PathType).down) { - target.angle = 180; - } - else if (this.path_Type == cc.Enum(PathType).left) { - target.angle = 90; - name = "b" + random; - if (this.block_Type != cc.Enum(BlockType).Reinforce) - target.getComponent(cc.Sprite).spriteFrame = this.UI["_spriteFrames"][name]; - } - else if (this.path_Type == cc.Enum(PathType).right) { - target.angle = 270; - name = "b" + random; - if (this.block_Type != cc.Enum(BlockType).Reinforce) - target.getComponent(cc.Sprite).spriteFrame = this.UI["_spriteFrames"][name]; - } - else { - target = this.node.getChildByName("turn2"); - if (target.name == "turn") { - var water_1 = target.getChildByName("wave").getChildByName("water"); - water_1.opacity = 0; - water_1.runAction(cc.sequence(cc.rotateTo(7.2, -1080), cc.delayTime(0)).repeatForever()); - setTimeout(function () { - water_1.opacity = 255; - }, 200); - } - name = "c" + random; - if (this.block_Type != cc.Enum(BlockType).Reinforce) - target.getComponent(cc.Sprite).spriteFrame = this.UI["_spriteFrames"][name]; - progress = 0.25; - if (this.path_Type == cc.Enum(PathType).up_left) { - target.setPosition(-this.pos_Shifting, -this.pos_Shifting); - } - else if (this.path_Type == cc.Enum(PathType).up_right) { - target.scaleX = -1; - target.setPosition(this.pos_Shifting, -this.pos_Shifting); - } - else if (this.path_Type == cc.Enum(PathType).down_left) { - target.angle = 180; - target.scaleX = -1; - target.setPosition(-this.pos_Shifting, this.pos_Shifting); - } - else if (this.path_Type == cc.Enum(PathType).down_right) { - target.angle = 180; - target.setPosition(this.pos_Shifting, this.pos_Shifting); - } - else if (this.path_Type == cc.Enum(PathType).left_up) { - target.angle = -90; - target.scaleY = -1; - target.setPosition(this.pos_Shifting, this.pos_Shifting); - } - else if (this.path_Type == cc.Enum(PathType).left_down) { - target.angle = 90; - target.setPosition(-this.pos_Shifting, -this.pos_Shifting); - } - else if (this.path_Type == cc.Enum(PathType).right_up) { - target.angle = -90; - target.setPosition(-this.pos_Shifting, this.pos_Shifting); - } - else if (this.path_Type == cc.Enum(PathType).right_down) { - target.angle = -90; - target.scaleX = -1; - target.setPosition(-this.pos_Shifting, -this.pos_Shifting); - } - } - if (this.path_Type == "Reinforce") { - target = this.node.getChildByName("Reinforce"); - if (this.block_Type == cc.Enum(BlockType).Peak) { - cc.fx.Notifications.emit(cc.fx.Message.showResult, "lose"); - cc.fx.Notifications.emit(cc.fx.Message.setData, false); + ADInterstitial.prototype.show = function () { + var _this = this; + var _a, _b; + // @ts-ignore + if (isWechat() && !wx.createInterstitialAd) { + console.warn('wechat unsupport interstitial AD!'); + this._interstitial = null; return; } - if (this.block_Type != cc.Enum(BlockType).End) - this.block_Type = cc.Enum(BlockType).Reinforce; - this.node.getChildByName("vertical2").getComponent(cc.Sprite).spriteFrame = this.UI["_spriteFrames"]["e1"]; - this.node.getChildByName("turn2").getComponent(cc.Sprite).spriteFrame = this.UI["_spriteFrames"]["e3"]; - this.node.getChildByName("horizontal2").getComponent(cc.Sprite).spriteFrame = this.UI["_spriteFrames"]["e2"]; - target.active = true; - target.opacity = 0; - progress = 1; - cc.tween(target) - .to(cc.fx.GameConfig.TIME_INFO.ReinforceSpeed, { opacity: 255 }) - .call(function () { - if (data.circulate) - cc.fx.Notifications.emit(cc.fx.Message.changeMap, order); - cc.fx.Notifications.emit(cc.fx.Message.next, order); - }) - .start(); - } - else if (this.path_Type == "Xi_Soil") { - target.active = false; - if (this.block_Type != cc.Enum(BlockType).End && this.block_Type != cc.Enum(BlockType).Start) - this.block_Type = cc.Enum(BlockType).Xi_Soil; - target = this.node.getChildByName("Xi_Soil"); - target.active = true; - target.opacity = 0; - cc.tween(target) - .to(0.01, { opacity: 1 }) - .to(0.01, { opacity: 0 }) - .call(function () { - if (data.circulate) { - cc.fx.Notifications.emit(cc.fx.Message.next, order); - } - }) - .start(); - } - else if (this.path_Type == "End") { - target.active = false; - if (this.block_Type != cc.Enum(BlockType).End && this.block_Type != cc.Enum(BlockType).Start) - this.block_Type = cc.Enum(BlockType).Xi_Soil; - var posTemp = data.last; - var direction = "up"; - if (this.pos.x - posTemp.x >= 1) { - direction = "right"; - } - else if (this.pos.x - posTemp.x <= -1) { - direction = "left"; - } - else if (this.pos.y - posTemp.y >= 1) { - direction = "down"; - } - console.log("结束方向:", direction); - if (!this.finishi) { - this.finishi = true; - this.set_Xi_Soil(direction, true); - } - } - else { - target.active = true; - if (this.block_Type != cc.Enum(BlockType).Xi_Soil) { - target.getComponent(cc.Sprite).fillRange = 0; - cc.tween(target.getComponent(cc.Sprite)) - .to(time, { fillRange: progress }) - .call(function () { - if (data.circulate) - cc.fx.Notifications.emit(cc.fx.Message.next, order); - }) - .start(); - } - else { - target.opacity = 0; - target.getComponent(cc.Sprite).fillRange = 1; - cc.tween(target) - .to(time, { opacity: 255 }) - .call(function () { - if (data.circulate) - cc.fx.Notifications.emit(cc.fx.Message.next, order); - }) - .start(); - } - } - }; - //洪峰执行 - NewClass.prototype.runWater = function (data) { - if (this.node.getChildByName("waterStart").active == true && this.block_Type == cc.Enum(BlockType).Start) { - // sp.getChildByName("waterStart").opacity = 255; - cc.tween(this.node.getChildByName("waterStart")) - .to(0.2, { opacity: 255 }) - .start(); - } - if (this.path_Type == "err") { - setTimeout(function () { - if (data.circulate) - cc.fx.Notifications.emit(cc.fx.Message.nextWater, order); - }, data.time); - return; - } - //如果双向都占用了还进来就算死了- - if (this.node.getChildByName("vertical").active == true && this.node.getChildByName("horizontal").active == true) { - // alert("治水失败"); - cc.fx.Notifications.emit(cc.fx.Message.showResult, "lose"); - cc.fx.Notifications.emit(cc.fx.Message.setData, false); - // cc.director.loadScene("GameScene"); - return; - } - else if (this.node.getChildByName("turn").active == true && this.block_Type != cc.Enum(BlockType).Xi_Soil) { - // alert("治水失败"); - cc.fx.Notifications.emit(cc.fx.Message.showResult, "lose"); - cc.fx.Notifications.emit(cc.fx.Message.setData, false); - // cc.director.loadScene("GameScene"); - return; - } - var target = null; - var progress = 1; - var time = data.time; - var order = data.order + 1; - var random = Math.floor(Math.random() * 4 + 1); - target = this.node.getChildByName("vertical"); - if (target.name == "vertical") { - var water1_2 = target.getChildByName("wave").getChildByName("water1"); - var water2_2 = target.getChildByName("wave").getChildByName("water2"); - var water3_2 = target.getChildByName("wave").getChildByName("water3"); - var timeDelay = 0.15; - water1_2.runAction(cc.sequence(cc.moveTo(0.6, cc.v2(water1_2.x, 120)), cc.delayTime(timeDelay), cc.callFunc(function () { - water1_2.y = -120; - })).repeatForever()); - water2_2.runAction(cc.sequence(cc.moveTo(0.6, cc.v2(water2_2.x, 120)), cc.delayTime(timeDelay), cc.callFunc(function () { - water2_2.y = -120; - })).repeatForever()); - water3_2.runAction(cc.sequence(cc.moveTo(0.6, cc.v2(water3_2.x, 120)), cc.delayTime(timeDelay), cc.callFunc(function () { - water3_2.y = -120; - })).repeatForever()); - } - var name = "a" + random; - // if(this.block_Type != cc.Enum(BlockType).Reinforce)target.getComponent(cc.Sprite).spriteFrame = this.UI["_spriteFrames"][name]; - if (target.active == true) { - target = this.node.getChildByName("horizontal"); - var water1_3 = target.getChildByName("wave").getChildByName("water1"); - var water2_3 = target.getChildByName("wave").getChildByName("water2"); - var water3_3 = target.getChildByName("wave").getChildByName("water3"); - var timeDelay = 0.15; - water1_3.runAction(cc.sequence(cc.moveTo(0.6, cc.v2(water1_3.x, 120)), cc.delayTime(timeDelay), cc.callFunc(function () { - water1_3.y = -120; - })).repeatForever()); - water2_3.runAction(cc.sequence(cc.moveTo(0.6, cc.v2(water2_3.x, 120)), cc.delayTime(timeDelay), cc.callFunc(function () { - water2_3.y = -120; - })).repeatForever()); - water3_3.runAction(cc.sequence(cc.moveTo(0.6, cc.v2(water3_3.x, 120)), cc.delayTime(timeDelay), cc.callFunc(function () { - water3_3.y = -120; - })).repeatForever()); - name = "b" + random; - //if(this.block_Type != cc.Enum(BlockType).Reinforce) target.getComponent(cc.Sprite).spriteFrame = this.UI["_spriteFrames"][name]; - } - // console.log(this.path_Type,data.order); - if (this.path_Type == cc.Enum(PathType).up) { - } - else if (this.path_Type == cc.Enum(PathType).down) { - target.angle = 180; - } - else if (this.path_Type == cc.Enum(PathType).left) { - target.angle = 90; - name = "b" + random; - //if(this.block_Type != cc.Enum(BlockType).Reinforce) target.getComponent(cc.Sprite).spriteFrame = this.UI["_spriteFrames"][name]; - } - else if (this.path_Type == cc.Enum(PathType).right) { - target.angle = 270; - name = "b" + random; - //if(this.block_Type != cc.Enum(BlockType).Reinforce) target.getComponent(cc.Sprite).spriteFrame = this.UI["_spriteFrames"][name]; - } - else { - target = this.node.getChildByName("turn"); - if (target.name == "turn") { - var water_2 = target.getChildByName("wave").getChildByName("water"); - water_2.opacity = 0; - water_2.runAction(cc.sequence(cc.rotateTo(7.2, -1080), cc.delayTime(0)).repeatForever()); - setTimeout(function () { - water_2.opacity = 255; - }, 200); - } - name = "c" + random; - //if(this.block_Type != cc.Enum(BlockType).Reinforce)target.getComponent(cc.Sprite).spriteFrame = this.UI["_spriteFrames"][name]; - progress = 0.25; - if (this.path_Type == cc.Enum(PathType).up_left) { - target.setPosition(-this.pos_Shifting, -this.pos_Shifting); - } - else if (this.path_Type == cc.Enum(PathType).up_right) { - target.scaleX = -1; - target.setPosition(this.pos_Shifting, -this.pos_Shifting); - } - else if (this.path_Type == cc.Enum(PathType).down_left) { - target.angle = 180; - target.scaleX = -1; - target.setPosition(-this.pos_Shifting, this.pos_Shifting); - } - else if (this.path_Type == cc.Enum(PathType).down_right) { - target.angle = 180; - target.setPosition(this.pos_Shifting, this.pos_Shifting); - } - else if (this.path_Type == cc.Enum(PathType).left_up) { - target.angle = -90; - target.scaleY = -1; - target.setPosition(this.pos_Shifting, this.pos_Shifting); - } - else if (this.path_Type == cc.Enum(PathType).left_down) { - target.angle = 90; - target.setPosition(-this.pos_Shifting, -this.pos_Shifting); - } - else if (this.path_Type == cc.Enum(PathType).right_up) { - target.angle = -90; - target.setPosition(-this.pos_Shifting, this.pos_Shifting); - } - else if (this.path_Type == cc.Enum(PathType).right_down) { - target.angle = -90; - target.scaleX = -1; - target.setPosition(-this.pos_Shifting, -this.pos_Shifting); - } - } - if (this.path_Type == "End") { - target.active = false; - if (this.block_Type == cc.Enum(BlockType).End) { - if (this.node.getChildByName("waterStart").active == true && this.block_Type == cc.Enum(BlockType).End) { - cc.tween(this.node.getChildByName("waterStart")) - .to(0.2, { opacity: 255 }) - .call(function () { - // alert("治水成功"); - cc.fx.Notifications.emit(cc.fx.Message.showResult, "win"); - cc.fx.Notifications.emit(cc.fx.Message.setData, true); - if (cc.fx.GameConfig.GM_INFO.level < 7) { - cc.fx.GameConfig.GM_INFO.level += 1; - } - setTimeout(function () { - // cc.director.loadScene("GameScene"); - }, 500); - }) - .start(); - } - } - else { - target = this.node.getChildByName("End"); - target.active = true; - target.opacity = 0; - var posTemp = data.last; - if (this.pos.x - posTemp.x >= 1) { - target.angle = -90; - } - else if (this.pos.x - posTemp.x <= -1) { - target.angle = 90; - } - else if (this.pos.y - posTemp.y >= 1) { - target.angle = 180; - } - cc.tween(target) - .to(0.5, { opacity: 255 }) - .call(function () { - // alert("治水失败") - cc.fx.Notifications.emit(cc.fx.Message.showResult, "lose"); - cc.fx.Notifications.emit(cc.fx.Message.setData, false); - // cc.director.loadScene("GameScene"); - }) - .start(); - } - } - else { - target.active = true; - target.getComponent(cc.Sprite).fillRange = 0; - cc.tween(target.getComponent(cc.Sprite)) - .to(time, { fillRange: progress }) - .call(function () { - if (data.circulate) - cc.fx.Notifications.emit(cc.fx.Message.nextWater, order); - }) - .start(); - } - }; - __decorate([ - property(cc.SpriteAtlas) - ], NewClass.prototype, "UI", void 0); - NewClass = __decorate([ - ccclass - ], NewClass); - return NewClass; -}(cc.Component)); -exports.default = NewClass; - -cc._RF.pop(); - } - if (nodeEnv) { - __define(__module.exports, __require, __module); - } - else { - __quick_compile_project__.registerModuleFunc(__filename, function () { - __define(__module.exports, __require, __module); - }); - } - })(); -//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbImFzc2V0c1xcU2NyaXB0XFxCbG9jay50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7Ozs7Ozs7O0FBQUEsb0JBQW9CO0FBQ3BCLHdFQUF3RTtBQUN4RSxtQkFBbUI7QUFDbkIsa0ZBQWtGO0FBQ2xGLDhCQUE4QjtBQUM5QixrRkFBa0Y7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7QUFFNUUsSUFBQSxLQUFzQixFQUFFLENBQUMsVUFBVSxFQUFsQyxPQUFPLGFBQUEsRUFBRSxRQUFRLGNBQWlCLENBQUM7QUFFMUMsSUFBWSxTQWdCWDtBQWhCRCxXQUFZLFNBQVM7SUFDakIsU0FBUztJQUNULDJDQUFTLENBQUE7SUFDVCxTQUFTO0lBQ1QsMkNBQVMsQ0FBQTtJQUNULE9BQU87SUFDUCwyQ0FBUyxDQUFBO0lBQ1QsT0FBTztJQUNQLHlDQUFRLENBQUE7SUFDUixTQUFTO0lBQ1QsdUNBQU8sQ0FBQTtJQUVQLE9BQU87SUFDUCwrQ0FBVyxDQUFBO0lBQ1gsT0FBTztJQUNQLG1EQUFhLENBQUE7QUFDakIsQ0FBQyxFQWhCVyxTQUFTLEdBQVQsaUJBQVMsS0FBVCxpQkFBUyxRQWdCcEI7QUFFRCxJQUFZLFFBY1g7QUFkRCxXQUFZLFFBQVE7SUFDaEIsdUJBQVcsQ0FBQTtJQUNYLHFCQUFTLENBQUE7SUFDVCx5QkFBYSxDQUFBO0lBQ2IseUJBQWEsQ0FBQTtJQUNiLDJCQUFlLENBQUE7SUFDZiwrQkFBbUIsQ0FBQTtJQUNuQixpQ0FBcUIsQ0FBQTtJQUNyQixtQ0FBdUIsQ0FBQTtJQUN2QixxQ0FBeUIsQ0FBQTtJQUN6QiwrQkFBbUIsQ0FBQTtJQUNuQixtQ0FBdUIsQ0FBQTtJQUN2QixpQ0FBcUIsQ0FBQTtJQUNyQixxQ0FBeUIsQ0FBQTtBQUM3QixDQUFDLEVBZFcsUUFBUSxHQUFSLGdCQUFRLEtBQVIsZ0JBQVEsUUFjbkI7QUFHRDtJQUFzQyw0QkFBWTtJQUFsRDtRQUFBLHFFQW91QkM7UUFudUJHLHdCQUF3QjtRQUV4QixRQUFFLEdBQW1CLElBQUks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N0MsTUFBTSxHQUFHLElBQUksQ0FBQyxJQUFJLENBQUMsY0FBYyxDQUFDLFdBQVcsQ0FBQyxDQUFDO1FBQy9DLElBQUcsTUFBTSxDQUFDLElBQUksSUFBSSxVQUFVLEVBQUM7WUFDekIsSUFBSSxRQUFNLEdBQUcsTUFBTSxDQUFDLGNBQWMsQ0FBQyxNQUFNLENBQUMsQ0FBQyxjQUFjLENBQUMsUUFBUSxDQUFDLENBQUM7WUFDcEUsSUFBSSxRQUFNLEdBQUcsTUFBTSxDQUFDLGNBQWMsQ0FBQyxNQUFNLENBQUMsQ0FBQyxjQUFjLENBQUMsUUFBUSxDQUFDLENBQUM7WUFDcEUsSUFBSSxRQUFNLEdBQUcsTUFBTSxDQUFDLGNBQWMsQ0FBQyxNQUFNLENBQUMsQ0FBQyxjQUFjLENBQUMsUUFBUSxDQUFDLENBQUM7WUFDcEUsSUFBSSxTQUFTLEdBQUcsSUFBSSxDQUFDO1lBQ3JCLFFBQU0sQ0FBQyxTQUFTLENBQUMsRUFBRSxDQUFDLFFBQVEsQ0FBQyxFQUFFLENBQUMsTUFBTSxDQUFDLEdBQUcsRUFBQyxFQUFFLENBQUMsRUFBRSxDQUFDLFFBQU0sQ0FBQyxDQUFDLEVBQUMsR0FBRyxDQUFDLENBQUMsRUFBQyxFQUFFLENBQUMsU0FBUyxDQUFDLFNBQVMsQ0FBQyxFQUN2RixFQUFFLENBQUMsUUFBUSxDQUFDO2dCQUNSLFFBQU0sQ0FBQyxDQUFDLEdBQUcsQ0FBQyxHQUFHLENBQUE7WUFDbkIsQ0FBQyxDQUFDLENBQUMsQ0FBQyxhQUFhLEVBQUUsQ0FBQyxDQUFDO1lBQ3JCLFFBQU0sQ0FBQyxTQUFTLENBQUMsRUFBRSxDQUFDLFFBQVEsQ0FBQyxFQUFFLENBQUMsTUFBTSxDQUFDLEdBQUcsRUFBQyxFQUFFLENBQUMsRUFBRSxDQUFDLFFBQU0sQ0FBQyxDQUFDLEVBQUMsR0FBRyxDQUFDLENBQUMsRUFBQyxFQUFFLENBQUMsU0FBUyxDQUFDLFNBQVMsQ0FBQyxFQUN2RixFQUFFLENBQUMsUUFBUSxDQUFDO2dCQUNSLFFBQU0sQ0FBQyxDQUFDLEdBQUcsQ0FBQyxHQUFHLENBQUE7WUFDbkIsQ0FBQyxDQUFDLENBQUMsQ0FBQyxhQUFhLEVBQUUsQ0FBQyxDQUFDO1lBQ3JCLFFBQU0sQ0FBQyxTQUFTLENBQUMsRUFBRSxDQUFDLFFBQVEsQ0FBQyxFQUFFLENBQUMsTUFBTSxDQUFDLEdBQUcsRUFBQyxFQUFFLENBQUMsRUFBRSxDQUFDLFFBQU0sQ0FBQyxDQUFDLEVBQUMsR0FBRyxDQUFDLENBQUMsRUFBQyxFQUFFLENBQUMsU0FBUyxDQUFDLFNBQVMsQ0FBQyxFQUN2RixFQUFFLENBQUMsUUFBUSxDQUFDO2dCQUNSLFFBQU0sQ0FBQyxDQUFDLEdBQUcsQ0FBQyxHQUFHLENBQUE7WUFDbkIsQ0FBQyxDQUFDLENBQUMsQ0FBQyxhQUFhLEVBQUUsQ0FBQyxDQUFDO1NBQ3hCO1FBRUQsSUFBSSxJQUFJLEdBQUcsR0FBRyxHQUFHLE1BQU0sQ0FBQztRQUN4QixJQUFHLElBQUksQ0FBQyxVQUFVLElBQUksRUFBRSxDQUFDLElBQUksQ0FBQyxTQUFTLENBQUMsQ0FBQyxTQUFTO1lBQUMsTUFBTSxDQUFDLFlBQVksQ0FBQyxFQUFFLENBQUMsTUFBTSxDQUFDLENBQUMsV0FBVyxHQUFHLElBQUksQ0FBQyxFQUFFLENBQUMsZUFBZSxDQUFDLENBQUMsSUFBSSxDQUFDLENBQUM7UUFFL0gsSUFBRyxNQUFNLENBQUMsTUFBTSxJQUFJLElBQUksRUFBQztZQUNyQixNQUFNLEdBQUcsSUFBSSxDQUFDLElBQUksQ0FBQyxjQUFjLENBQUMsYUFBYSxDQUFDLENBQUM7WUFDakQsSUFBSSxHQUFHLEdBQUcsR0FBRyxNQUFNLENBQUM7WUFDcEIsSUFBRyxJQUFJLENBQUMsVUFBVSxJQUFJLEVBQUUsQ0FBQyxJQUFJLENBQUMsU0FBUyxDQUFDLENBQUMsU0FBUztnQkFBRSxNQUFNLENBQUMsWUFBWSxDQUFDLEVBQUUsQ0FBQyxNQUFNLENBQUMsQ0FBQyxXQUFXLEdBQUcsSUFBSSxDQUFDLEVBQUUsQ0FBQyxlQUFlLENBQUMsQ0FBQyxJQUFJLENBQUMsQ0FBQztTQUNuSTtRQUNELDBDQUEwQztRQUMxQyxJQUFHLElBQUksQ0FBQyxTQUFTLElBQUksRUFBRSxDQUFDLElBQUksQ0FBQyxRQUFRLENBQUMsQ0FBQyxFQUFFLEVBQUM7U0FDekM7YUFDSSxJQUFHLElBQUksQ0FBQyxTQUFTLElBQUksRUFBRSxDQUFDLElBQUksQ0FBQyxRQUFRLENBQUMsQ0FBQyxJQUFJLEVBQUM7WUFDN0MsTUFBTSxDQUFDLEtBQUssR0FBRyxHQUFHLENBQUM7U0FDdEI7YUFDSSxJQUFHLElBQUksQ0FBQyxTQUFTLElBQUksRUFBRSxDQUFDLElBQUksQ0FBQyxRQUFRLENBQUMsQ0FBQyxJQUFJLEVBQUM7WUFDN0MsTUFBTSxDQUFDLEtBQUssR0FBRyxFQUFFLENBQUM7WUFDbEIsSUFBSSxHQUFHLEdBQUcsR0FBRyxNQUFNLENBQUM7WUFDcEIsSUFBRyxJQUFJLENBQUMsVUFBVSxJQUFJLEVBQUUsQ0FBQyxJQUFJLENBQUMsU0FBUyxDQUFDLENBQUMsU0FBUztnQkFBRSxNQUFNLENBQUMsWUFBWSxDQUFDLEVBQUUsQ0FBQyxNQUFNLENBQUMsQ0FBQyxXQUFXLEdBQUcsSUFBSSxDQUFDLEVBQUUsQ0FBQyxlQUFlLENBQUMsQ0FBQyxJQUFJLENBQUMsQ0FBQztTQUNuSTthQUNJLElBQUcsSUFBSSxDQUFDLFNBQVMsSUFBSSxFQUFFLENBQUMsSUFBSSxDQUFDLFFBQVEsQ0FBQyxDQUFDLEtBQUssRUFBQztZQUM5QyxNQUFNLENBQUMsS0FBSyxHQUFHLEdBQUcsQ0FBQztZQUNuQixJQUFJLEdBQUcsR0FBRyxHQUFHLE1BQU0sQ0FBQztZQUNwQixJQUFHLElBQUksQ0FBQyxVQUFVLElBQUksRUFBRSxDQUFDLElBQUksQ0FBQyxTQUFTLENBQUMsQ0FBQyxTQUFTO2dCQUFFLE1BQU0sQ0FBQyxZQUFZLENBQUMsRUFBRSxDQUFDLE1BQU0sQ0FBQyxDQUFDLFdBQVcsR0FBRyxJQUFJLENBQUMsRUFBRSxDQUFDLGVBQWUsQ0FBQyxDQUFDLElBQUksQ0FBQyxDQUFDO1NBQ25JO2FBQ0c7WUFDQSxNQUFNLEdBQUcsSUFBSSxDQUFDLElBQUksQ0FBQyxjQUFjLENBQUMsT0FBTyxDQUFDLENBQUM7WUFDM0MsSUFBRyxNQUFNLENBQUMsSUFBSSxJQUFJLE1BQU0sRUFBQztnQkFDckIsSUFBSSxPQUFLLEdBQUcsTUFBTSxDQUFDLGNBQWMsQ0FBQyxNQUFNLENBQUMsQ0FBQyxjQUFjLENBQUMsT0FBTyxDQUFDLENBQUM7Z0JBQ2xFLE9BQUssQ0FBQyxPQUFPLEdBQUcsQ0FBQyxDQUFBO2dCQUNqQixPQUFLLENBQUMsU0FBUyxDQUFDLEVBQUUsQ0FBQyxRQUFRLENBQUMsRUFBRSxDQUFDLFFBQVEsQ0FBQyxHQUFHLEVBQUMsQ0FBQyxJQUFJLENBQUMsRUFBQyxFQUFFLENBQUMsU0FBUyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsYUFBYSxFQUFFLENBQUMsQ0FBQztnQkFDckYsVUFBVSxDQUFDO29CQUNQLE9BQUssQ0FBQyxPQUFPLEdBQUcsR0FBRyxDQUFDO2dCQUN4QixDQUFDLEVBQUUsR0FBRyxDQUFDLENBQUM7YUFDWDtZQUNELElBQUksR0FBRyxHQUFHLEdBQUcsTUFBTSxDQUFDO1lBQ3BCLElBQUcsSUFBSSxDQUFDLFVBQVUsSUFBSSxFQUFFLENBQUMsSUFBSSxDQUFDLFNBQVMsQ0FBQyxDQUFDLFNBQVM7Z0JBQUMsTUFBTSxDQUFDLFlBQVksQ0FBQyxFQUFFLENBQUMsTUFBTSxDQUFDLENBQUMsV0FBVyxHQUFHLElBQUksQ0FBQyxFQUFFLENBQUMsZUFBZSxDQUFDLENBQUMsSUFBSSxDQUFDLENBQUM7WUFDL0gsUUFBUSxHQUFHLElBQUksQ0FBQztZQUNoQixJQUFHLElBQUksQ0FBQyxTQUFTLElBQUksRUFBRSxDQUFDLElBQUksQ0FBQyxRQUFRLENBQUMsQ0FBQyxPQUFPLEVBQUM7Z0JBQzNDLE1BQU0sQ0FBQyxXQUFXLENBQUMsQ0FBQyxJQUFJLENBQUMsWUFBWSxFQUFDLENBQUMsSUFBSSxDQUFDLFlBQVksQ0FBQyxDQUFDO2FBQzdEO2lCQUNJLElBQUcsSUFBSSxDQUFDLFNBQVMsSUFBSSxFQUFFLENBQUMsSUFBSSxDQUFDLFFBQVEsQ0FBQyxDQUFDLFFBQVEsRUFBQztnQkFDakQsTUFBTSxDQUFDLE1BQU0sR0FBRyxDQUFDLENBQUMsQ0FBQztnQkFDbkIsTUFBTSxDQUFDLFdBQVcsQ0FBQyxJQUFJLENBQUMsWUFBWSxFQUFDLENBQUMsSUFBSSxDQUFDLFlBQVksQ0FBQyxDQUFDO2FBQzVEO2lCQUNJLElBQUcsSUFBSSxDQUFDLFNBQVMsSUFBSSxFQUFFLENBQUMsSUFBSSxDQUFDLFFBQVEsQ0FBQyxDQUFDLFNBQVMsRUFBQztnQkFDbEQsTUFBTSxDQUFDLEtBQUssR0FBRyxHQUFHLENBQUM7Z0JBQ25CLE1BQU0sQ0FBQyxNQUFNLEdBQUcsQ0FBQyxDQUFDLENBQUM7Z0JBQ25CLE1BQU0sQ0FBQyxXQUFXLENBQUMsQ0FBQyxJQUFJLENBQUMsWUFBWSxFQUFDLElBQUksQ0FBQyxZQUFZLENBQUMsQ0FBQzthQUM1RDtpQkFDSSxJQUFHLElBQUksQ0FBQyxTQUFTLElBQUksRUFBRSxDQUFDLElBQUksQ0FBQyxRQUFRLENBQUMsQ0FBQyxVQUFVLEVBQUM7Z0JBQ25ELE1BQU0sQ0FBQyxLQUFLLEdBQUcsR0FBRyxDQUFDO2dCQUNuQixNQUFNLENBQUMsV0FBVyxDQUFDLElBQUksQ0FBQyxZQUFZLEVBQUMsSUFBSSxDQUFDLFlBQVksQ0FBQyxDQUFDO2FBQzNEO2lCQUNJLElBQUcsSUFBSSxDQUFDLFNBQVMsSUFBSSxFQUFFLENBQUMsSUFBSSxDQUFDLFFBQVEsQ0FBQyxDQUFDLE9BQU8sRUFBQztnQkFDaEQsTUFBTSxDQUFDLEtBQUssR0FBRyxDQUFDLEVBQUUsQ0FBQztnQkFDbkIsTUFBTSxDQUFDLE1BQU0sR0FBRyxDQUFDLENBQUMsQ0FBQztnQkFDbkIsTUFBTSxDQUFDLFdBQVcsQ0FBQyxJQUFJLENBQUMsWUFBWSxFQUFDLElBQUksQ0FBQyxZQUFZLENBQUMsQ0FBQzthQUMzRDtpQkFDSSxJQUFHLElBQUksQ0FBQyxTQUFTLElBQUksRUFBRSxDQUFDLElBQUksQ0FBQyxRQUFRLENBQUMsQ0FBQyxTQUFTLEVBQUM7Z0JBQ2xELE1BQU0sQ0FBQyxLQUFLLEdBQUcsRUFBRSxDQUFDO2dCQUNsQixNQUFNLENBQUMsV0FBVyxDQUFDLENBQUMsSUFBSSxDQUFDLFlBQVksRUFBQyxDQUFDLElBQUksQ0FBQyxZQUFZLENBQUMsQ0FBQzthQUM3RDtpQkFDSSxJQUFHLElBQUksQ0FBQyxTQUFTLElBQUksRUFBRSxDQUFDLElBQUksQ0FBQyxRQUFRLENBQUMsQ0FBQyxRQUFRLEVBQUM7Z0JBQ2pELE1BQU0sQ0FBQyxLQUFLLEdBQUcsQ0FBQyxFQUFFLENBQUM7Z0JBQ25CLE1BQU0sQ0FBQyxXQUFXLENBQUMsQ0FBQyxJQUFJLENBQUMsWUFBWSxFQUFDLElBQUksQ0FBQyxZQUFZLENBQUMsQ0FBQzthQUU1RDtpQkFDSSxJQUFHLElBQUksQ0FBQyxTQUFTLElBQUksRUFBRSxDQUFDLElBQUksQ0FBQyxRQUFRLENBQUMsQ0FBQyxVQUFVLEVBQUM7Z0JBQ25ELE1BQU0sQ0FBQyxLQUFLLEdBQUcsQ0FBQyxFQUFFLENBQUM7Z0JBQ25CLE1BQU0sQ0FBQyxNQUFNLEdBQUcsQ0FBQyxDQUFDLENBQUM7Z0JBQ25CLE1BQU0sQ0FBQyxXQUFXLENBQUMsQ0FBQyxJQUFJLENBQUMsWUFBWSxFQUFDLENBQUMsSUFBSSxDQUFDLFlBQVksQ0FBQyxDQUFDO2FBQzdEO1NBQ0o7UUFDRCxJQUFHLElBQUksQ0FBQyxTQUFTLElBQUksV0FBVyxFQUFDO1lBQzdCLE1BQU0sR0FBRyxJQUFJLENBQUMsSUFBSSxDQUFDLGNBQWMsQ0FBQyxXQUFXLENBQUMsQ0FBQztZQUMvQyxJQUFHLElBQUksQ0FBQyxVQUFVLElBQUksRUFBRSxDQUFDLElBQUksQ0FBQyxTQUFTLENBQUMsQ0FBQyxJQUFJLEVBQUM7Z0JBQzFDLEVBQUUsQ0FBQyxFQUFFLENBQUMsYUFBYSxDQUFDLElBQUksQ0FBQyxFQUFFLENBQUMsRUFBRSxDQUFDLE9BQU8sQ0FBQyxVQUFVLEVBQUMsTUFBTSxDQUFDLENBQUM7Z0JBQzFELEVBQUUsQ0FBQyxFQUFFLENBQUMsYUFBYSxDQUFDLElBQUksQ0FBQyxFQUFFLENBQUMsRUFBRSxDQUFDLE9BQU8sQ0FBQyxPQUFPLEVBQUMsS0FBSyxDQUFDLENBQUM7Z0JBQ3RELE9BQU87YUFDVjtZQUNELElBQUcsSUFBSSxDQUFDLFVBQVUsSUFBSSxFQUFFLENBQUMsSUFBSSxDQUFDLFNBQVMsQ0FBQyxDQUFDLEdBQUc7Z0JBQUMsSUFBSSxDQUFDLFVBQVUsR0FBRyxFQUFFLENBQUMsSUFBSSxDQUFDLFNBQVMsQ0FBQyxDQUFDLFNBQVMsQ0FBQztZQUM1RixJQUFJLENBQUMsSUFBSSxDQUFDLGNBQWMsQ0FBQyxXQUFXLENBQUMsQ0FBQyxZQUFZLENBQUMsRUFBRSxDQUFDLE1BQU0sQ0FBQyxDQUFDLFdBQVcsR0FBRyxJQUFJLENBQUMsRUFBRSxDQUFDLGVBQWUsQ0FBQyxDQUFDLElBQUksQ0FBQyxDQUFDO1lBQzNHLElBQUksQ0FBQyxJQUFJLENBQUMsY0FBYyxDQUFDLE9BQU8sQ0FBQyxDQUFDLFlBQVksQ0FBQyxFQUFFLENBQUMsTUFBTSxDQUFDLENBQUMsV0FBVyxHQUFHLElBQUksQ0FBQyxFQUFFLENBQUMsZUFBZSxDQUFDLENBQUMsSUFBSSxDQUFDLENBQUM7WUFDdkcsSUFBSSxDQUFDLElBQUksQ0FBQyxjQUFjLENBQUMsYUFBYSxDQUFDLENBQUMsWUFBWSxDQUFDLEVBQUUsQ0FBQyxNQUFNLENBQUMsQ0FBQyxXQUFXLEdBQUcsSUFBSSxDQUFDLEVBQUUsQ0FBQyxlQUFlLENBQUMsQ0FBQyxJQUFJLENBQUMsQ0FBQztZQUM3RyxNQUFNLENBQUMsTUFBTSxHQUFHLElBQUksQ0FBQztZQUNyQixNQUFNLENBQUMsT0FBTyxHQUFHLENBQUMsQ0FBQztZQUNuQixRQUFRLEdBQUcsQ0FBQyxDQUFDO1lBQ2IsRUFBRSxDQUFDLEtBQUssQ0FBQyxNQUFNLENBQUM7aUJBQ2YsRUFBRSxDQUFDLEVBQUUsQ0FBQyxFQUFFLENBQUMsVUFBVSxDQUFDLFNBQVMsQ0FBQyxjQUFjLEVBQUMsRUFBQyxPQUFPLEVBQUMsR0FBRyxFQUFDLENBQUM7aUJBQzNELElBQUksQ0FBQztnQkFDRixJQUFHLElBQUksQ0FBQyxTQUFTO29CQUNiLEVBQUUsQ0FBQyxFQUFFLENBQUMsYUFBYSxDQUFDLElBQUksQ0FBQyxFQUFFLENBQUMsRUFBRSxDQUFDLE9BQU8sQ0FBQyxTQUFTLEVBQUMsS0FBSyxDQUFDLENBQUM7Z0JBQ3hELEVBQUUsQ0FBQyxFQUFFLENBQUMsYUFBYSxDQUFDLElBQUksQ0FBQyxFQUFFLENBQUMsRUFBRSxDQUFDLE9BQU8sQ0FBQyxJQUFJLEVBQUMsS0FBSyxDQUFDLENBQUM7WUFDM0QsQ0FBQyxDQUFDO2lCQUNELEtBQUssRUFBRSxDQUFDO1NBQ1o7YUFDSSxJQUFHLElBQUksQ0FBQyxTQUFTLElBQUksU0FBUyxFQUFDO1lBQ2hDLE1BQU0sQ0FBQyxNQUFNLEdBQUcsS0FBSyxDQUFDO1lBQ3RCLElBQUcsSUFBSSxDQUFDLFVBQVUsSUFBSSxFQUFFLENBQUMsSUFBSSxDQUFDLFNBQVMsQ0FBQyxDQUFDLEdBQUcsSUFBSSxJQUFJLENBQUMsVUFBVSxJQUFJLEVBQUUsQ0FBQyxJQUFJLENBQUMsU0FBUyxDQUFDLENBQUMsS0FBSztnQkFDdkYsSUFBSSxDQUFDLFVBQVUsR0FBRyxFQUFFLENBQUMsSUFBSSxDQUFDLFNBQVMsQ0FBQyxDQUFDLE9BQU8sQ0FBQztZQUNqRCxNQUFNLEdBQUcsSUFBSSxDQUFDLElBQUksQ0FBQyxjQUFjLENBQUMsU0FBUyxDQUFDLENBQUM7WUFDN0MsTUFBTSxDQUFDLE1BQU0sR0FBRyxJQUFJLENBQUM7WUFDckIsTUFBTSxDQUFDLE9BQU8sR0FBRyxDQUFDLENBQUM7WUFDbkIsRUFBRSxDQUFDLEtBQUssQ0FBQyxNQUFNLENBQUM7aUJBQ2YsRUFBRSxDQUFDLElBQUksRUFBQyxFQUFDLE9BQU8sRUFBQyxDQUFDLEVBQUMsQ0FBQztpQkFDcEIsRUFBRSxDQUFDLElBQUksRUFBQyxFQUFDLE9BQU8sRUFBQyxDQUFDLEVBQUMsQ0FBQztpQkFDcEIsSUFBSSxDQUFDO2dCQUNGLElBQUcsSUFBSSxDQUFDLFNBQVMsRUFBQztvQkFDZCxFQUFFLENBQUMsRUFBRSxDQUFDLGFBQWEsQ0FBQyxJQUFJLENBQUMsRUFBRSxDQUFDLEVBQUUsQ0FBQyxPQUFPLENBQUMsSUFBSSxFQUFDLEtBQUssQ0FBQyxDQUFDO2lCQUN0RDtZQUVMLENBQUMsQ0FBQztpQkFDRCxLQUFLLEVBQUUsQ0FBQztTQUNaO2FBQ0ksSUFBRyxJQUFJLENBQUMsU0FBUyxJQUFJLEtBQUssRUFBQztZQUM1QixNQUFNLENBQUMsTUFBTSxHQUFHLEtBQUssQ0FBQztZQUN0QixJQUFHLElBQUksQ0FBQyxVQUFVLElBQUksRUFBRSxDQUFDLElBQUksQ0FBQyxTQUFTLENBQUMsQ0FBQyxHQUFHLElBQUksSUFBSSxDQUFDLFVBQVUsSUFBSSxFQUFFLENBQUMsSUFBSSxDQUFDLFNBQVMsQ0FBQyxDQUFDLEtBQUs7Z0JBQ3ZGLElBQUksQ0FBQyxVQUFVLEdBQUcsRUFBRSxDQUFDLElBQUksQ0FBQyxTQUFTLENBQUMsQ0FBQyxPQUFPLENBQUM7WUFDakQsSUFBSSxPQUFPLEdBQUcsSUFBSSxDQUFDLElBQUksQ0FBQztZQUN4QixJQUFJLFNBQVMsR0FBRyxJQUFJLENBQUM7WUFDckIsSUFBRyxJQUFJLENBQUMsR0FBRyxDQUFDLENBQUMsR0FBRyxPQUFPLENBQUMsQ0FBQyxJQUFJLENBQUMsRUFBQztnQkFDM0IsU0FBUyxHQUFHLE9BQU8sQ0FBQzthQUN2QjtpQkFDSSxJQUFHLElBQUksQ0FBQyxHQUFHLENBQUMsQ0FBQyxHQUFHLE9BQU8sQ0FBQyxDQUFDLElBQUksQ0FBQyxDQUFDLEVBQUM7Z0JBQ2pDLFNBQVMsR0FBRyxNQUFNLENBQUM7YUFDdEI7aUJBQ0ksSUFBRyxJQUFJLENBQUMsR0FBRyxDQUFDLENBQUMsR0FBRyxPQUFPLENBQUMsQ0FBQyxJQUFJLENBQUMsRUFBQztnQkFDaEMsU0FBUyxHQUFHLE1BQU0sQ0FBQzthQUN0QjtZQUVELE9BQU8sQ0FBQyxHQUFHLENBQUMsT0FBTyxFQUFDLFNBQVMsQ0FBQyxDQUFDO1lBQy9CLElBQUcsQ0FBQyxJQUFJLENBQUMsT0FBTyxFQUFDO2dCQUNiLElBQUksQ0FBQyxPQUFPLEdBQUcsSUFBSSxDQUFDO2dCQUNwQixJQUFJLENBQUMsV0FBVyxDQUFDLFNBQVMsRUFBQyxJQUFJLENBQUMsQ0FBQzthQUNwQztTQUNKO2FBQ0c7WUFDQSxNQUFNLENBQUMsTUFBTSxHQUFHLElBQUksQ0FBQztZQUNyQixJQUFHLElBQUksQ0FBQyxVQUFVLElBQUksRUFBRSxDQUFDLElBQUksQ0FBQyxTQUFTLENBQUMsQ0FBQyxPQUFPLEVBQUM7Z0JBQzdDLE1BQU0sQ0FBQyxZQUFZLENBQUMsRUFBRSxDQUFDLE1BQU0sQ0FBQyxDQUFDLFNBQVMsR0FBRyxDQUFDLENBQUM7Z0JBQzdDLEVBQUUsQ0FBQyxLQUFLLENBQUMsTUFBTSxDQUFDLFlBQVksQ0FBQyxFQUFFLENBQUMsTUFBTSxDQUFDLENBQUM7cUJBQ3ZDLEVBQUUsQ0FBQyxJQUFJLEVBQUMsRUFBQyxTQUFTLEVBQUMsUUFBUSxFQUFDLENBQUM7cUJBQzdCLElBQUksQ0FBQztvQkFDRixJQUFHLElBQUksQ0FBQyxTQUFTO3dCQUNiLEVBQUUsQ0FBQyxFQUFFLENBQUMsYUFBYSxDQUFDLElBQUksQ0FBQyxFQUFFLENBQUMsRUFBRSxDQUFDLE9BQU8sQ0FBQyxJQUFJLEVBQUMsS0FBSyxDQUFDLENBQUM7Z0JBQzNELENBQUMsQ0FBQztxQkFDRCxLQUFLLEVBQUUsQ0FBQzthQUNaO2lCQUNHO2dCQUNBLE1BQU0sQ0FBQyxPQUFPLEdBQUcsQ0FBQyxDQUFDO2dCQUNuQixNQUFNLENBQUMsWUFBWSxDQUFDLEVBQUUsQ0FBQyxNQUFNLENBQUMsQ0FBQyxTQUFTLEdBQUcsQ0FBQyxDQUFDO2dCQUM3QyxFQUFFLENBQUMsS0FBSyxDQUFDLE1BQU0sQ0FBQztxQkFDZixFQUFFLENBQUMsSUFBSSxFQUFDLEVBQUMsT0FBTyxFQUFDLEdBQUcsRUFBQyxDQUFDO3FCQUN0QixJQUFJLENBQUM7b0JBQ0YsSUFBRyxJQUFJLENBQUMsU0FBUzt3QkFDYixFQUFFLENBQUMsRUFBRSxDQUFDLGFBQWEsQ0FBQyxJQUFJLENBQUMsRUFBRSxDQUFDLEVBQUUsQ0FBQyxPQUFPLENBQUMsSUFBSSxFQUFDLEtBQUssQ0FBQyxDQUFDO2dCQUMzRCxDQUFDLENBQUM7cUJBQ0QsS0FBSyxFQUFFLENBQUM7YUFDWjtTQUNKO0lBRUwsQ0FBQztJQUNELE1BQU07SUFDTiwyQkFBUSxHQUFSLFVBQVMsSUFBSTtRQUNULElBQUcsSUFBSSxDQUFDLElBQUksQ0FBQyxjQUFjLENBQUMsWUFBWSxDQUFDLENBQUMsTUFBTSxJQUFJLElBQUksSUFBSSxJQUFJLENBQUMsVUFBVSxJQUFJLEVBQUUsQ0FBQyxJQUFJLENBQUMsU0FBUyxDQUFDLENBQUMsS0FBSyxFQUFDO1lBQ3BHLGlEQUFpRDtZQUNqRCxFQUFFLENBQUMsS0FBSyxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsY0FBYyxDQUFDLFlBQVksQ0FBQyxDQUFDO2lCQUMvQyxFQUFFLENBQUMsR0FBRyxFQUFDLEVBQUMsT0FBTyxFQUFDLEdBQUcsRUFBQyxDQUFDO2lCQUNyQixLQUFLLEVBQUUsQ0FBQztTQUNaO1FBR0QsSUFBRyxJQUFJLENBQUMsU0FBUyxJQUFJLEtBQUssRUFBQztZQUN2QixVQUFVLENBQUM7Z0JBQ1AsSUFBRyxJQUFJLENBQUMsU0FBUztvQkFDYixFQUFFLENBQUMsRUFBRSxDQUFDLGFBQWEsQ0FBQyxJQUFJLENBQUMsRUFBRSxDQUFDLEVBQUUsQ0FBQyxPQUFPLENBQUMsU0FBUyxFQUFDLEtBQUssQ0FBQyxDQUFDO1lBQ2hFLENBQUMsRUFBRSxJQUFJLENBQUMsSUFBSSxDQUFDLENBQUM7WUFDZCxPQUFPO1NBQ1Y7UUFDRCxtQkFBbUI7UUFDbkIsSUFBRyxJQUFJLENBQUMsSUFBSSxDQUFDLGNBQWMsQ0FBQyxVQUFVLENBQUMsQ0FBQyxNQUFNLElBQUksSUFBSSxJQUFJLElBQUksQ0FBQyxJQUFJLENBQUMsY0FBYyxDQUFDLFlBQVksQ0FBQyxDQUFDLE1BQU0sSUFBSSxJQUFJLEVBQUM7WUFDNUcsaUJBQWlCO1lBQ2pCLEVBQUUsQ0FBQyxFQUFFLENBQUMsYUFBYSxDQUFDLElBQUksQ0FBQyxFQUFFLENBQUMsRUFBRSxDQUFDLE9BQU8sQ0FBQyxVQUFVLEVBQUMsTUFBTSxDQUFDLENBQUM7WUFDMUQsRUFBRSxDQUFDLEVBQUUsQ0FBQyxhQUFhLENBQUMsSUFBSSxDQUFDLEVBQUUsQ0FBQyxFQUFFLENBQUMsT0FBTyxDQUFDLE9BQU8sRUFBQyxLQUFLLENBQUMsQ0FBQztZQUN0RCxzQ0FBc0M7WUFDdEMsT0FBTztTQUNWO2FBRUksSUFBRyxJQUFJLENBQUMsSUFBSSxDQUFDLGNBQWMsQ0FBQyxNQUFNLENBQUMsQ0FBQyxNQUFNLElBQUksSUFBSSxJQUFJLElBQUksQ0FBQyxVQUFVLElBQUksRUFBRSxDQUFDLElBQUksQ0FBQyxTQUFTLENBQUMsQ0FBQyxPQUFPLEVBQUM7WUFDckcsaUJBQWlCO1lBQ2pCLEVBQUUsQ0FBQyxFQUFFLENBQUMsYUFBYSxDQUFDLElBQUksQ0FBQyxFQUFFLENBQUMsRUFBRSxDQUFDLE9BQU8sQ0FBQyxVQUFVLEVBQUMsTUFBTSxDQUFDLENBQUM7WUFDMUQsRUFBRSxDQUFDLEVBQUUsQ0FBQyxhQUFhLENBQUMsSUFBSSxDQUFDLEVBQUUsQ0FBQyxFQUFFLENBQUMsT0FBTyxDQUFDLE9BQU8sRUFBQyxLQUFLLENBQUMsQ0FBQztZQUN0RCxzQ0FBc0M7WUFDdEMsT0FBTztTQUNWO1FBQ0QsSUFBSSxNQUFNLEdBQUcsSUFBSSxDQUFDO1FBQ2xCLElBQUksUUFBUSxHQUFHLENBQUMsQ0FBQztRQUNqQixJQUFJLElBQUksR0FBRyxJQUFJLENBQUMsSUFBSSxDQUFDO1FBQ3JCLElBQUksS0FBSyxHQUFHLElBQUksQ0FBQyxLQUFLLEdBQUcsQ0FBQyxDQUFDO1FBQzNCLElBQUksTUFBTSxHQUFHLElBQUksQ0FBQyxLQUFLLENBQUMsSUFBSSxDQUFDLE1BQU0sRUFBRSxHQUFDLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQztRQUM3QyxNQUFNLEdBQUcsSUFBSSxDQUFDLElBQUksQ0FBQyxjQUFjLENBQUMsVUFBVSxDQUFDLENBQUM7UUFDOUMsSUFBRyxNQUFNLENBQUMsSUFBSSxJQUFJLFVBQVUsRUFBQztZQUN6QixJQUFJLFFBQU0sR0FBRyxNQUFNLENBQUMsY0FBYyxDQUFDLE1BQU0sQ0FBQyxDQUFDLGNBQWMsQ0FBQyxRQUFRLENBQUMsQ0FBQztZQUNwRSxJQUFJLFFBQU0sR0FBRyxNQUFNLENBQUMsY0FBYyxDQUFDLE1BQU0sQ0FBQyxDQUFDLGNBQWMsQ0FBQyxRQUFRLENBQUMsQ0FBQztZQUNwRSxJQUFJLFFBQU0sR0FBRyxNQUFNLENBQUMsY0FBYyxDQUFDLE1BQU0sQ0FBQyxDQUFDLGNBQWMsQ0FBQyxRQUFRLENBQUMsQ0FBQztZQUNwRSxJQUFJLFNBQVMsR0FBRyxJQUFJLENBQUM7WUFDckIsUUFBTSxDQUFDLFNBQVMsQ0FBQyxFQUFFLENBQUMsUUFBUSxDQUFDLEVBQUUsQ0FBQyxNQUFNLENBQUMsR0FBRyxFQUFDLEVBQUUsQ0FBQyxFQUFFLENBQUMsUUFBTSxDQUFDLENBQUMsRUFBQyxHQUFHLENBQUMsQ0FBQyxFQUFDLEVBQUUsQ0FBQyxTQUFTLENBQUMsU0FBUyxDQUFDLEVBQ3ZGLEVBQUUsQ0FBQyxRQUFRLENBQUM7Z0JBQ1IsUUFBTSxDQUFDLENBQUMsR0FBRyxDQUFDLEdBQUcsQ0FBQTtZQUNuQixDQUFDLENBQUMsQ0FBQyxDQUFDLGFBQWEsRUFBRSxDQUFDLENBQUM7WUFDckIsUUFBTSxDQUFDLFNBQVMsQ0FBQyxFQUFFLENBQUMsUUFBUSxDQUFDLEVBQUUsQ0FBQyxNQUFNLENBQUMsR0FBRyxFQUFDLEVBQUUsQ0FBQyxFQUFFLENBQUMsUUFBTSxDQUFDLENBQUMsRUFBQyxHQUFHLENBQUMsQ0FBQyxFQUFDLEVBQUUsQ0FBQyxTQUFTLENBQUMsU0FBUyxDQUFDLEVBQ3ZGLEVBQUUsQ0FBQyxRQUFRLENBQUM7Z0JBQ1IsUUFBTSxDQUFDLENBQUMsR0FBRyxDQUFDLEdBQUcsQ0FBQTtZQUNuQixDQUFDLENBQUMsQ0FBQyxDQUFDLGFBQWEsRUFBRSxDQUFDLENBQUM7WUFDckIsUUFBTSxDQUFDLFNBQVMsQ0FBQyxFQUFFLENBQUMsUUFBUSxDQUFDLEVBQUUsQ0FBQyxNQUFNLENBQUMsR0FBRyxFQUFDLEVBQUUsQ0FBQyxFQUFFLENBQUMsUUFBTSxDQUFDLENBQUMsRUFBQyxHQUFHLENBQUMsQ0FBQyxFQUFDLEVBQUUsQ0FBQyxTQUFTLENBQUMsU0FBUyxDQUFDLEVBQ3ZGLEVBQUUsQ0FBQyxRQUFRLENBQUM7Z0JBQ1IsUUFBTSxDQUFDLENBQUMsR0FBRyxDQUFDLEdBQUcsQ0FBQTtZQUNuQixDQUFDLENBQUMsQ0FBQyxDQUFDLGFBQWEsRUFBRSxDQUFDLENBQUM7U0FDeEI7UUFFRCxJQUFJLElBQUksR0FBRyxHQUFHLEdBQUcsTUFBTSxDQUFDO1FBQ3hCLGtJQUFrSTtRQUVsSSxJQUFHLE1BQU0sQ0FBQyxNQUFNLElBQUksSUFBSSxFQUFDO1lBQ3JCLE1BQU0sR0FBRyxJQUFJLENBQUMsSUFBSSxDQUFDLGNBQWMsQ0FBQyxZQUFZLENBQUMsQ0FBQztZQUNoRCxJQUFJLFFBQU0sR0FBRyxNQUFNLENBQUMsY0FBYyxDQUFDLE1BQU0sQ0FBQyxDQUFDLGNBQWMsQ0FBQyxRQUFRLENBQUMsQ0FBQztZQUNwRSxJQUFJLFFBQU0sR0FBRyxNQUFNLENBQUMsY0FBYyxDQUFDLE1BQU0sQ0FBQyxDQUFDLGNBQWMsQ0FBQyxRQUFRLENBQUMsQ0FBQztZQUNwRSxJQUFJLFFBQU0sR0FBRyxNQUFNLENBQUMsY0FBYyxDQUFDLE1BQU0sQ0FBQyxDQUFDLGNBQWMsQ0FBQyxRQUFRLENBQUMsQ0FBQztZQUNwRSxJQUFJLFNBQVMsR0FBRyxJQUFJLENBQUM7WUFDckIsUUFBTSxDQUFDLFNBQVMsQ0FBQyxFQUFFLENBQUMsUUFBUSxDQUFDLEVBQUUsQ0FBQyxNQUFNLENBQUMsR0FBRyxFQUFDLEVBQUUsQ0FBQyxFQUFFLENBQUMsUUFBTSxDQUFDLENBQUMsRUFBQyxHQUFHLENBQUMsQ0FBQyxFQUFDLEVBQUUsQ0FBQyxTQUFTLENBQUMsU0FBUyxDQUFDLEVBQ3ZGLEVBQUUsQ0FBQyxRQUFRLENBQUM7Z0JBQ1IsUUFBTSxDQUFDLENBQUMsR0FBRyxDQUFDLEdBQUcsQ0FBQTtZQUNuQixDQUFDLENBQUMsQ0FBQyxDQUFDLGFBQWEsRUFBRSxDQUFDLENBQUM7WUFDckIsUUFBTSxDQUFDLFNBQVMsQ0FBQyxFQUFFLENBQUMsUUFBUSxDQUFDLEVBQUUsQ0FBQyxNQUFNLENBQUMsR0FBRyxFQUFDLEVBQUUsQ0FBQyxFQUFFLENBQUMsUUFBTSxDQUFDLENBQUMsRUFBQyxHQUFHLENBQUMsQ0FBQyxFQUFDLEVBQUUsQ0FBQyxTQUFTLENBQUMsU0FBUyxDQUFDLEVBQ3ZGLEVBQUUsQ0FBQyxRQUFRLENBQUM7Z0JBQ1IsUUFBTSxDQUFDLENBQUMsR0FBRyxDQUFDLEdBQUcsQ0FBQTtZQUNuQixDQUFDLENBQUMsQ0FBQyxDQUFDLGFBQWEsRUFBRSxDQUFDLENBQUM7WUFDckIsUUFBTSxDQUFDLFNBQVMsQ0FBQyxFQUFFLENBQUMsUUFBUSxDQUFDLEVBQUUsQ0FBQyxNQUFNLENBQUMsR0FBRyxFQUFDLEVBQUUsQ0FBQyxFQUFFLENBQUMsUUFBTSxDQUFDLENBQUMsRUFBQyxHQUFHLENBQUMsQ0FBQyxFQUFDLEVBQUUsQ0FBQyxTQUFTLENBQUMsU0FBUyxDQUFDLEVBQ3ZGLEVBQUUsQ0FBQyxRQUFRLENBQUM7Z0JBQ1IsUUFBTSxDQUFDLENBQUMsR0FBRyxDQUFDLEdBQUcsQ0FBQTtZQUNuQixDQUFDLENBQUMsQ0FBQyxDQUFDLGFBQWEsRUFBRSxDQUFDLENBQUM7WUFDckIsSUFBSSxHQUFHLEdBQUcsR0FBRyxNQUFNLENBQUM7WUFDcEIsa0lBQWtJO1NBQ3JJO1FBQ0QsMENBQTBDO1FBQzFDLElBQUcsSUFBSSxDQUFDLFNBQVMsSUFBSSxFQUFFLENBQUMsSUFBSSxDQUFDLFFBQVEsQ0FBQyxDQUFDLEVBQUUsRUFBQztTQUN6QzthQUNJLElBQUcsSUFBSSxDQUFDLFNBQVMsSUFBSSxFQUFFLENBQUMsSUFBSSxDQUFDLFFBQVEsQ0FBQyxDQUFDLElBQUksRUFBQztZQUM3QyxNQUFNLENBQUMsS0FBSyxHQUFHLEdBQUcsQ0FBQztTQUN0QjthQUNJLElBQUcsSUFBSSxDQUFDLFNBQVMsSUFBSSxFQUFFLENBQUMsSUFBSSxDQUFDLFFBQVEsQ0FBQyxDQUFDLElB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QUFDLE1BQU0sQ0FBQyxDQUFDO2lCQUN2QyxFQUFFLENBQUMsSUFBSSxFQUFDLEVBQUMsU0FBUyxFQUFDLFFBQVEsRUFBQyxDQUFDO2lCQUM3QixJQUFJLENBQUM7Z0JBQ0YsSUFBRyxJQUFJLENBQUMsU0FBUztvQkFDYixFQUFFLENBQUMsRUFBRSxDQUFDLGFBQWEsQ0FBQyxJQUFJLENBQUMsRUFBRSxDQUFDLEVBQUUsQ0FBQyxPQUFPLENBQUMsU0FBUyxFQUFDLEtBQUssQ0FBQyxDQUFDO1lBQ2hFLENBQUMsQ0FBQztpQkFDRCxLQUFLLEVBQUUsQ0FBQztTQUNaO0lBRUwsQ0FBQztJQTl0QkQ7UUFEQyxRQUFRLENBQUMsRUFBRSxDQUFDLFdBQVcsQ0FBQzt3Q0FDQztJQUhULFFBQVE7UUFENUIsT0FBTztPQUNhLFFBQVEsQ0FvdUI1QjtJQUFELGVBQUM7Q0FwdUJELEFBb3VCQyxDQXB1QnFDLEVBQUUsQ0FBQyxTQUFTLEdBb3VCakQ7a0JBcHVCb0IsUUFBUSIsImZpbGUiOiIiLCJzb3VyY2VSb290IjoiLyIsInNvdXJjZXNDb250ZW50IjpbIi8vIExlYXJuIFR5cGVTY3JpcHQ6XHJcbi8vICAtIGh0dHBzOi8vZG9jcy5jb2Nvcy5jb20vY3JlYXRvci9tYW51YWwvZW4vc2NyaXB0aW5nL3R5cGVzY3JpcHQuaHRtbFxyXG4vLyBMZWFybiBBdHRyaWJ1dGU6XHJcbi8vICAtIGh0dHBzOi8vZG9jcy5jb2Nvcy5jb20vY3JlYXRvci9tYW51YWwvZW4vc2NyaXB0aW5nL3JlZmVyZW5jZS9hdHRyaWJ1dGVzLmh0bWxcclxuLy8gTGVhcm4gbGlmZS1jeWNsZSBjYWxsYmFja3M6XHJcbi8vICAtIGh0dHBzOi8vZG9jcy5jb2Nvcy5jb20vY3JlYXRvci9tYW51YWwvZW4vc2NyaXB0aW5nL2xpZmUtY3ljbGUtY2FsbGJhY2tzLmh0bWxcclxuXHJcbmNvbnN0IHtjY2NsYXNzLCBwcm9wZXJ0eX0gPSBjYy5fZGVjb3JhdG9yO1xyXG5cclxuZXhwb3J0IGVudW0gQmxvY2tUeXBle1xyXG4gICAgLyrmma7pgJrlnLDlnZcgKi9cclxuICAgIE5vbWFsID0gMCwgIFxyXG4gICAgLyrotbfngrnlnLDlnZcgKi9cclxuICAgIFN0YXJ0ID0gMSwgIFxyXG4gICAgLyrmub/lnLAgKi9cclxuICAgIE51bmphID0gMixcclxuICAgIC8q5bGx5bOwICovXHJcbiAgICBQZWFrID0gMyxcclxuICAgIC8q57uI54K55Zyw5Z2XICovXHJcbiAgICBFbmQgPSA0LFxyXG5cclxuICAgIC8q5oGv5aOkICovXHJcbiAgICBYaV9Tb2lsID0gNSxcclxuICAgIC8q5Yqg5Zu6ICovXHJcbiAgICBSZWluZm9yY2UgPSA2XHJcbn1cclxuXHJcbmV4cG9ydCBlbnVtIFBhdGhUeXBle1xyXG4gICAgZXJyID0gXCJlcnJcIixcclxuICAgIHVwID0gXCJ1cFwiLCAgXHJcbiAgICBkb3duID0gXCJkb3duXCIsICBcclxuICAgIGxlZnQgPSBcImxlZnRcIixcclxuICAgIHJpZ2h0ID0gXCJyaWdodFwiLFxyXG4gICAgdXBfbGVmdCA9IFwidXBfbGVmdFwiLFxyXG4gICAgdXBfcmlnaHQgPSBcInVwX3JpZ2h0XCIsXHJcbiAgICBkb3duX2xlZnQgPSBcImRvd25fbGVmdFwiLFxyXG4gICAgZG93bl9yaWdodCA9IFwiZG93bl9yaWdodFwiLFxyXG4gICAgbGVmdF91cCA9IFwibGVmdF91cFwiLFxyXG4gICAgbGVmdF9kb3duID0gXCJsZWZ0X2Rvd25cIixcclxuICAgIHJpZ2h0X3VwID0gXCJyaWdodF91cFwiLFxyXG4gICAgcmlnaHRfZG93biA9IFwicmlnaHRfZG93blwiLFxyXG59XHJcblxyXG5AY2NjbGFzc1xyXG5leHBvcnQgZGVmYXVsdCBjbGFzcyBOZXdDbGFzcyBleHRlbmRzIGNjLkNvbXBvbmVudCB7XHJcbiAgICAvLyBMSUZFLUNZQ0xFIENBTExCQUNLUzpcclxuICAgIEBwcm9wZXJ0eShjYy5TcHJpdGVBdGxhcylcclxuICAgIFVJOiBjYy5TcHJpdGVBdGxhcyA9IG51bGw7XHJcblxyXG4gICAgcG9zX1NoaWZ0aW5nOm51bWJlcjtcclxuICAgIGJsb2NrX1R5cGU6bnVtYmVyO1xyXG4gICAgcGF0aF9UeXBlOnN0cmluZztcclxuICAgIGZpbmlzaGk6Ym9vbGVhbjtcclxuICAgIHBvczogYW55O1xyXG4gICAgb25Mb2FkICgpIHtcclxuICAgICAgICB0aGlzLmZpbmlzaGkgPSBmYWxzZTtcclxuICAgICAgICB0aGlzLnBvc19TaGlmdGluZyA9IDA7XHJcbiAgICAgICAgdGhpcy5wb3MgPSBjYy52MigwLDApO1xyXG4gICAgfVxyXG5cclxuICAgIHN0YXJ0ICgpIHtcclxuICAgICAgICBcclxuICAgIH1cclxuICAgIC8v5Yid5aeL5YyW5Zyw5Zu+5Z2X5pWw5o2uXHJcbiAgICBpbml0RGF0YSh0eXBlLHBvcyxtYXgpe1xyXG4gICAgICAgIHRoaXMuYmxvY2tfVHlwZSA9IHR5cGU7XHJcbiAgICAgICAgdGhpcy5wb3MgPSBjYy52Mihwb3MueCxwb3MueSk7XHJcbiAgICAgICAgLy8gaWYodGhpcy5wb3MueSUyID09IDApIHRoaXMubm9kZS5nZXRDaGlsZEJ5TmFtZShcInRpcFwiKS5hY3RpdmUgPSB0cnVlO1xyXG4gICAgICAgIGlmKHR5cGUgPT0gY2MuRW51bShCbG9ja1R5cGUpLlN0YXJ0KXsgXHJcbiAgICAgICAgICAgIHZhciBiZyA9IHRoaXMubm9kZS5nZXRDaGlsZEJ5TmFtZShcInNwXCIpO1xyXG4gICAgICAgICAgICAvLyB0aGlzLm5vZGUuZ2V0Q29tcG9uZW50KGNjLlNwcml0ZSkuc3ByaXRlRnJhbWUgPSBudWxsO1xyXG4gICAgICAgICAgICBiZy5nZXRDb21wb25lbnQoY2MuU3ByaXRlKS5zcHJpdGVGcmFtZSA9IHRoaXMuVUlbXCJfc3ByaXRlRnJhbWVzXCJdW1wic3RhcnRcIl07XHJcbiAgICAgICAgICAgIGlmKGNjLmZ4LkdhbWVDb25maWcuR01fSU5GTy5sZXZlbCA+IDMpe1xyXG4gICAgICAgICAgICAgICAgYmcuZ2V0Q2hpbGRCeU5hbWUoXCJzdGFydFwiKS55ID0gMjA7XHJcbiAgICAgICAgICAgICAgICBiZy5nZXRDaGlsZEJ5TmFtZShcImVuZFwiKS55ID0gMjA7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgdGhpcy5yb3RhdGVUYXJnZXQoYmcsXCJzdGFydFwiLHBvcyxtYXgpO1xyXG4gICAgICAgIH1cclxuICAgICAgICBlbHNlIGlmKHR5cGUgPT0gY2MuRW51bShCbG9ja1R5cGUpLkVuZCl7XHJcbiAgICAgICAgICAgIHZhciBiZyA9IHRoaXMubm9kZS5nZXRDaGlsZEJ5TmFtZShcInNwXCIpO1xyXG4gICAgICAgICAgICAvLyB0aGlzLm5vZGUuZ2V0Q29tcG9uZW50KGNjLlNwcml0ZSkuc3ByaXRlRnJhbWUgPSBudWxsO1xyXG4gICAgICAgICAgICBiZy5nZXRDb21wb25lbnQoY2MuU3ByaXRlKS5zcHJpdGVGcmFtZSA9IHRoaXMuVUlbXCJfc3ByaXRlRnJhbWVzXCJdW1wiZW5kXCJdO1xyXG4gICAgICAgICAgICAgICAgICAgICAgICBpZihjYy5meC5HYW1lQ29uZmlnLkdNX0lORk8ubGV2ZWwgPiAzKXtcclxuICAgICAgICAgICAgICAgIGJnLmdldENoaWxkQnlOYW1lKFwic3RhcnRcIikueSA9IDIwO1xyXG4gICAgICAgICAgICAgICAgYmcuZ2V0Q2hpbGRCeU5hbWUoXCJlbmRcIikueSA9IDIwO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIHRoaXMucm90YXRlVGFyZ2V0KGJnLFwiZW5kXCIscG9zLG1heCk7XHJcbiAgICAgICAgfVxyXG4gICAgICAgIGVsc2UgaWYodHlwZSA9PSBjYy5FbnVtKEJsb2NrVHlwZSkuTnVuamEpe1xyXG4gICAgICAgICAgICBsZXQgcmFuZG9tID0gTWF0aC5mbG9vcihNYXRoLnJhbmRvbSgpKjQpO1xyXG4gICAgICAgICAgICBsZXQgcm90YXRpb25BcnIgPSBbMCw5MCwxODAsMjcwXTtcclxuICAgICAgICAgICAgbGV0IHJvdGF0aW9uID0gcm90YXRpb25BcnJbcmFuZG9tXTtcclxuICAgICAgICAgICAgdGhpcy5ub2RlLmdldENoaWxkQnlOYW1lKFwiYmdcIikuZ2V0Q29tcG9uZW50KGNjLlNwcml0ZSkuc3ByaXRlRnJhbWUgPSB0aGlzLlVJW1wiX3Nwcml0ZUZyYW1lc1wiXVtcImU1XCJdO1xyXG4gICAgICAgICAgICB0aGlzLm5vZGUuZ2V0Q2hpbGRCeU5hbWUoXCJiZ1wiKS5hbmdsZSA9IC1yb3RhdGlvbjtcclxuICAgICAgICAgICAgdGhpcy5ub2RlLmdldENvbXBvbmVudChjYy5TcHJpdGUpLnNwcml0ZUZyYW1lID0gbnVsbDtcclxuICAgICAgICB9XHJcbiAgICAgICAgZWxzZSBpZih0eXBlID09IGNjLkVudW0oQmxvY2tUeXBlKS5QZWFrKXtcclxuICAgICAgICAgICAgbGV0IHJhbmRvbSA9IE1hdGguZmxvb3IoTWF0aC5yYW5kb20oKSo0KzEpO1xyXG4gICAgICAgICAgICBsZXQgbmFtZSA9IFwic2hhblwiICsgcmFuZG9tO1xyXG4gICAgICAgICAgICB0aGlzLm5vZGUuZ2V0Q2hpbGRCeU5hbWUoXCJiZ1wiKS5nZXRDb21wb25lbnQoY2MuU3ByaXRlKS5zcHJpdGVGcmFtZSA9IHRoaXMuVUlbXCJfc3ByaXRlRnJhbWVzXCJdW25hbWVdO1xyXG4gICAgICAgICAgICB0aGlzLm5vZGUuZ2V0Q29tcG9uZW50KGNjLlNwcml0ZSkuc3ByaXRlRnJhbWUgPSBudWxsO1xyXG4gICAgICAgIH1cclxuICAgICAgICBpZihjYy5meC5HYW1lQ29uZmlnLkdNX0lORk8ubGV2ZWwgPT0gMSl7XHJcbiAgICAgICAgICAgIHRoaXMubm9kZS5nZXRDaGlsZEJ5TmFtZShcInRpcFdpblwiKS5vcGFjaXR5ID0gMjIwO1xyXG4gICAgICAgICAgICB0aGlzLm5vZGUuZ2V0Q2hpbGRCeU5hbWUoXCJ0aXBMb3NlXCIpLm9wYWNpdHkgPSAyMjA7XHJcbiAgICAgICAgfVxyXG4gICAgICAgIGVsc2UgaWYoY2MuZnguR2FtZUNvbmZpZy5HTV9JTkZPLmxldmVsID09IDIpe1xyXG4gICAgICAgICAgICB0aGlzLm5vZGUuZ2V0Q2hpbGRCeU5hbWUoXCJ0aXBXaW5cIikub3BhY2l0eSA9IDEwMDtcclxuICAgICAgICAgICAgdGhpcy5ub2RlLmdldENoaWxkQnlOYW1lKFwidGlwTG9zZVwiKS5vcGFjaXR5ID0gMTAwO1xyXG4gICAgICAgIH1cclxuICAgICAgICBlbHNlIGlmKGNjLmZ4LkdhbWVDb25maWcuR01fSU5GTy5sZXZlbCA9PSAzKXtcclxuICAgICAgICAgICAgdGhpcy5ub2RlLmdldENoaWxkQnlOYW1lKFwidGlwV2luXCIpLm9wYWNpdHkgPSA1MDtcclxuICAgICAgICAgICAgdGhpcy5ub2RlLmdldENoaWxkQnlOYW1lKFwidGlwTG9zZVwiKS5vcGFjaXR5ID0gNTA7XHJcbiAgICAgICAgfVxyXG4gICAgICAgIGVsc2UgaWYoY2MuZnguR2FtZUNvbmZpZy5HTV9JTkZPLmxldmVsID4gMyl7XHJcbiAgICAgICAgICAgIHRoaXMubm9kZS5nZXRDaGlsZEJ5TmFtZShcInRpcFdpblwiKS5vcGFjaXR5ID0gMDtcclxuICAgICAgICAgICAgdGhpcy5ub2RlLmdldENoaWxkQnlOYW1lKFwidGlwTG9zZVwiKS5vcGFjaXR5ID0gMDtcclxuICAgICAgICB9XHJcbiAgXHJcbiAgICB9XHJcbiAgICAvL+aXi+i9rOWFpea1t+WPo+WSjOWHuua1t+WPo+eahCDlm77niYfku6Xlj4rmloflrZfop5LluqZcclxuICAgIHJvdGF0ZVRhcmdldChiZyxuYW1lLHBvcyxtYXgpe1xyXG4gICAgICAgIGxldCB0YXJnZXQgPSBiZy5nZXRDaGlsZEJ5TmFtZShuYW1lKTtcclxuICAgICAgICBpZihwb3MueSA9PSBtYXgueS0xKXtcclxuICAgICAgICAgICAgYmcuYW5nbGUgPSAwO1xyXG4gICAgICAgICAgICBpZihuYW1lID09IFwiZW5kXCIpIHRhcmdldC5nZXRDb21wb25lbnQoY2MuU3ByaXRlKS5zcHJpdGVGcmFtZSA9IHRoaXMuVUlbXCJfc3ByaXRlRnJhbWVzXCJdW1wiZW5kX3hcIl07XHJcbiAgICAgICAgICAgIHRhcmdldC5hY3RpdmUgPSB0cnVlO1xyXG4gICAgICAgICAgICB0YXJnZXQuYW5nbGUgPSAwO1xyXG4gICAgICAgICAgICByZXR1cm47XHJcbiAgICAgICAgfVxyXG4gICAgICAgIGVsc2UgaWYocG9zLnkgPT0gMCl7XHJcbiAgICAgICAgICAgIGJnLmFuZ2xlID0gLTE4MDtcclxuICAgICAgICAgICAgaWYobmFtZSA9PSBcImVuZFwiKXRhcmdldC5nZXRDb21wb25lbnQoY2MuU3ByaXRlKS5zcHJpdGVGcmFtZSA9IHRoaXMuVUlbXCJfc3ByaXRlRnJhbWVzXCJdW1wiZW5kX3hcIl07XHJcbiAgICAgICAgICAgIHRhcmdldC5hY3RpdmUgPSB0cnVlO1xyXG4gICAgICAgICAgICB0YXJnZXQuYW5nbGUgPSAtMTgwO1xyXG4gICAgICAgICAgICByZXR1cm47XHJcbiAgICAgICAgfVxyXG4gICAgICAgIGVsc2UgaWYocG9zLnggPT0gbWF4LngtMSl7XHJcbiAgICAgICAgICAgIGJnLmFuZ2xlID0gOTA7XHJcbiAgICAgICAgICAgIGlmKG5hbWUgPT0gXCJzdGFydFwiKXRhcmdldC5nZXRDb21wb25lbnQoY2MuU3ByaXRlKS5zcHJpdGVGcmFtZSA9IHRoaXMuVUlbXCJfc3ByaXRlRnJhbWVzXCJdW1wic3RhcnRfeVwiXTtcclxuICAgICAgICAgICAgZWxzZSB0YXJnZXQuZ2V0Q29tcG9uZW50KGNjLlNwcml0ZSkuc3ByaXRlRnJhbWUgPSB0aGlzLlVJW1wiX3Nwcml0ZUZyYW1lc1wiXVtcImVuZF95XCJdO1xyXG4gICAgICAgICAgICB0YXJnZXQuYWN0aXZlID0gdHJ1ZTtcclxuICAgICAgICAgICAgdGFyZ2V0LmFuZ2xlID0gLTkwO1xyXG4gICAgICAgIH1cclxuICAgICAgICBlbHNlIGlmKHBvcy54ID09IDApe1xyXG4gICAgICAgICAgICBiZy5hbmdsZSA9IC05MDtcclxuICAgICAgICAgICAgaWYobmFtZSA9PSBcInN0YXJ0XCIpdGFyZ2V0LmdldENvbXBvbmVudChjYy5TcHJpdGUpLnNwcml0ZUZyYW1lID0gdGhpcy5VSVtcIl9zcHJpdGVGcmFtZXNcIl1bXCJzdGFydF95XCJdO1xyXG4gICAgICAgICAgICBlbHNlIHRhcmdldC5nZXRDb21wb25lbnQoY2MuU3ByaXRlKS5zcHJpdGVGcmFtZSA9IHRoaXMuVUlbXCJfc3ByaXRlRnJhbWVzXCJdW1wiZW5kX3lcIl07XHJcbiAgICAgICAgICAgIHRhcmdldC5hY3RpdmUgPSB0cnVlO1xyXG4gICAgICAgICAgICB0YXJnZXQuYW5nbGUgPSA5MDtcclxuICAgICAgICB9XHJcbiAgICB9XHJcblxyXG4gICAgc2V0UGF0aCh0eXBlKXtcclxuICAgICAgICB0aGlzLnBhdGhfVHlwZSA9IHR5cGU7XHJcbiAgICB9XHJcbiAgICAvL+iuvue9ruaBr+WjpOWcqOi1t+eCuVxyXG4gICAgc2V0X1hpX1NvaWwoZGlyZWN0aW9uLHR5cGUpe1xyXG4gICAgICAgIGxldCBzcCA9IHRoaXMubm9kZS5nZXRDaGlsZEJ5TmFtZShcInNwXCIpO1xyXG4gICAgICAgIGxldCB0dXJuID0gdGhpcy5ub2RlLmdldENoaWxkQnlOYW1lKFwidHVyblN0YXJ0XCIpO1xyXG4gICAgICAgIGxldCB3YXRlciA9IHRoaXMubm9kZS5nZXRDaGlsZEJ5TmFtZShcIndhdGVyU3RhcnRcIik7XHJcblxyXG4gICAgICAgIGlmKGRpcmVjdGlvbiA9PSBcImxlZnRcIiB8fCBkaXJlY3Rpb24gPT0gXCJyaWdodFwiKXtcclxuICAgICAgICAgICAgaWYoc3AuYW5nbGUgPT0gMCl7XHJcbiAgICAgICAgICAgICAgICB0dXJuLmFjdGl2ZSA9dHJ1ZTtcclxuICAgICAgICAgICAgICAgIHdhdGVyLmFjdGl2ZSA9IHRydWU7XHJcbiAgICAgICAgICAgICAgICB3YXRlci5vcGFjaXR5ID0gMDtcclxuICAgICAgICAgICAgICAgIGlmKHR5cGUpe1xyXG4gICAgICAgICAgICAgICAgICAgIHR1cm4uYW5nbGUgPSBkaXJlY3Rpb249PVwibGVmdFwiPzkwOjA7XHJcbiAgICAgICAgICAgICAgICAgICAgd2F0ZXIuYW5nbGUgPSBkaXJlY3Rpb249PVwibGVmdFwiPzkwOjA7XHJcblxyXG4gICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgZWxzZXtcclxuICAgICAgICAgICAgICAgICAgICB0dXJuLmFuZ2xlID0gZGlyZWN0aW9uPT1cImxlZnRcIj8wOjkwO1xyXG4gICAgICAgICAgICAgICAgICAgIHdhdGVyLmFuZ2xlID0gZGlyZWN0aW9uPT1cImxlZnRcIj8wOjkwO1xyXG4gICAgICAgICAgICAgICAgfVxyXG5cclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICBlbHNlIGlmKHNwLmFuZ2xlID09IC0xODApe1xyXG4gICAgICAgICAgICAgICAgdHVybi5hY3RpdmUgPXRydWU7XHJcbiAgICAgICAgICAgICAgICB3YXRlci5hY3RpdmUgPSB0cnVlO1xyXG4gICAgICAgICAgICAgICAgd2F0ZXIub3BhY2l0eSA9IDA7XHJcbiAgICAgICAgICAgICAgICBpZih0eXBlKXtcclxuICAgICAgICAgICAgICAgICAgICB0dXJuLmFuZ2xlID0gZGlyZWN0aW9uPT1cImxlZnRcIj8tMTgwOi05MDtcclxuICAgICAgICAgICAgICAgICAgICB3YXRlci5hbmdsZSA9IGRpcmVjdGlvbj09XCJsZWZ0XCI/LTE4MDotOTA7XHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICBlbHNle1xyXG4gICAgICAgICAgICAgICAgICAgIHR1cm4uYW5nbGUgPSBkaXJlY3Rpb249PVwibGVmdFwiPzI3MDotMTgwO1xyXG4gICAgICAgICAgICAgICAgICAgIHdhdGVyLmFuZ2xlID0gZGlyZWN0aW9uPT1cImxlZnRcIj8yNzA6LTE4MDtcclxuICAgICAgICAgICAgICAgIH1cclxuXHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgZWxzZSBpZihzcC5hbmdsZSA9PSAtOTApe1xyXG4gICAgICAgICAgICAgICAgdHVybi5hY3RpdmUgPXRydWU7XHJcbiAgICAgICAgICAgICAgICB0dXJuLmdldENvbXBvbmVudChjYy5TcHJpdGUpLnNwcml0ZUZyYW1lID0gdGhpcy5VSVtcIl9zcHJpdGVGcmFtZXNcIl1bXCJhMVwiXTtcclxuICAgICAgICAgICAgICAgIHR1cm4uYW5nbGUgPSA5MDtcclxuICAgICAgICAgICAgICAgIGlmKHR5cGUpe1xyXG4gICAgICAgICAgICAgICAgICAgIHdhdGVyLmFjdGl2ZSA9IHRydWU7XHJcbiAgICAgICAgICAgICAgICAgICAgd2F0ZXIuYW5nbGUgPSA5MDtcclxuICAgICAgICAgICAgICAgICAgICB3YXRlci5nZXRDb21wb25lbnQoY2MuU3ByaXRlKS5zcHJpdGVGcmFtZSA9IHRoaXMuVUlbXCJfc3ByaXRlRnJhbWVzXCJdW1wiYmxvY2sxXCJdO1xyXG4gICAgICAgICAgICAgICAgICAgIHdhdGVyLm9wYWNpdHkgPSAwO1xyXG4gICAgICAgICAgICAgICAgfVxyXG5cclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICBlbHNlIGlmKHNwLmFuZ2xlID09IDkwKXtcclxuICAgICAgICAgICAgICAgIHR1cm4uYWN0aXZlID10cnVlO1xyXG4gICAgICAgICAgICAgICAgdHVybi5nZXRDb21wb25lbnQoY2MuU3ByaXRlKS5zcHJpdGVGcmFtZSA9IHRoaXMuVUlbXCJfc3ByaXRlRnJhbWVzXCJdW1wiYTFcIl07XHJcbiAgICAgICAgICAgICAgICB0dXJuLmFuZ2xlID0gOTA7XHJcbiAgICAgICAgICAgICAgICBpZih0eXBlKXtcclxuICAgICAgICAgICAgICAgICAgICB3YXRlci5hY3RpdmUgPSB0cnVlO1xyXG4gICAgICAgICAgICAgICAgICAgIHdhdGVyLmFuZ2xlID0gOTA7XHJcbiAgICAgICAgICAgICAgICAgICAgd2F0ZXIuZ2V0Q29tcG9uZW50KGNjLlNwcml0ZSkuc3ByaXRlRnJhbWUgPSB0aGlzLlVJW1wiX3Nwcml0ZUZyYW1lc1wiXVtcImJsb2NrMVwiXTtcclxuICAgICAgICAgICAgICAgICAgICB3YXRlci5vcGFjaXR5ID0gMDtcclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIFxyXG4gICAgICAgIH1cclxuICAgICAgICBlbHNlIGlmKGRpcmVjdGlvbiA9PSBcInVwXCIgfHwgZGlyZWN0aW9uID09IFwiZG93blwiKXtcclxuICAgICAgICAgICAgbGV0IHNwID0gdGhpcy5ub2RlLmdldENoaWxkQnlOYW1lKFwic3BcIik7XHJcbiAgICAgICAgICAgIGlmKHNwLmFuZ2xlID09IC05MCl7XHJcbiAgICAgICAgICAgICAgICB0dXJuLmFjdGl2ZSA9dHJ1ZTtcclxuICAgICAgICAgICAgICAgIHdhdGVyLmFjdGl2ZSA9IHRydWU7XHJcbiAgICAgICAgICAgICAgICB3YXRlci5vcGFjaXR5ID0gMDtcclxuICAgICAgICAgICAgICAgIGlmKHR5cGUpe1xyXG4gICAgICAgICAgICAgICAgICAgIHR1cm4uYW5nbGUgPSBkaXJlY3Rpb249PVwidXBcIj8wOi05MDtcclxuICAgICAgICAgICAgICAgICAgICB3YXRlci5hbmdsZSA9IGRpcmVjdGlvbj09XCJ1cFwiPzA6LTkwO1xyXG4gICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgZWxzZXtcclxuICAgICAgICAgICAgICAgICAgICB0dXJuLmFuZ2xlID0gZGlyZWN0aW9uPT1cInVwXCI/LTkwOjA7XHJcbiAgICAgICAgICAgICAgICAgICAgd2F0ZXIuYW5nbGUgPSBkaXJlY3Rpb249PVwidXBcIj8tOTA6MDtcclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICBlbHNlIGlmKHNwLmFuZ2xlID09IDkwKXtcclxuICAgICAgICAgICAgICAgIHR1cm4uYWN0aXZlID0gdHJ1ZTtcclxuICAgICAgICAgICAgICAgIHdhdGVyLmFjdGl2ZSA9IHRydWU7XHJcbiAgICAgICAgICAgICAgICB3YXRlci5vcGFjaXR5ID0gMDtcclxuICAgICAgICAgICAgICAgIGlmKHR5cGUpe1xyXG4gICAgICAgICAgICAgICAgICAgIHR1cm4uYW5nbGUgPSBkaXJlY3Rpb249PVwidXBcIj85MDoxODA7XHJcbiAgICAgICAgICAgICAgICAgICAgd2F0ZXIuYW5nbGUgPSBkaXJlY3Rpb249PVwidXBcIj85MDoxODA7XHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICBlbHNle1xyXG4gICAgICAgICAgICAgICAgICAgIHR1cm4uYW5nbGUgPSBkaXJlY3Rpb249PVwidXBcIj8xODA6OTA7XHJcbiAgICAgICAgICAgICAgICAgICAgd2F0ZXIuYW5nbGUgPSBkaXJlY3Rpb249PVwidXBcIj8xODA6OTA7XHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgXHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgZWxzZSBpZihzcC5hbmdsZSA9PSAwKXtcclxuICAgICAgICAgICAgICAgIHR1cm4uYWN0aXZlID10cnVlO1xyXG4gICAgICAgICAgICAgICAgdHVybi5nZXRDb21wb25lbnQoY2MuU3ByaXRlKS5zcHJpdGVGcmFtZSA9IHRoaXMuVUlbXCJfc3ByaXRlRnJhbWVzXCJdW1wiYTFcIl07XHJcbiAgICAgICAgICAgICAgICB0dXJuLmFuZ2xlID0gMDtcclxuICAgICAgICAgICAgICAgIGlmKHR5cGUpe1xyXG4gICAgICAgICAgICAgICAgICAgIHdhdGVyLmFjdGl2ZSA9IHRydWU7XHJcbiAgICAgICAgICAgICAgICAgICAgd2F0ZXIuZ2V0Q29tcG9uZW50KGNjLlNwcml0ZSkuc3ByaXRlRnJhbWUgPSB0aGlzLlVJW1wiX3Nwcml0ZUZyYW1lc1wiXVtcImJsb2NrMVwiXTtcclxuICAgICAgICAgICAgICAgICAgICB3YXRlci5vcGFjaXR5ID0gMDtcclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICBlbHNlIGlmKHNwLmFuZ2xlID09IC0xODApe1xyXG4gICAgICAgICAgICAgICAgdHVybi5hY3RpdmUgPXRydWU7XHJcbiAgICAgICAgICAgICAgICB0dXJuLmdldENvbXBvbmVudChjYy5TcHJpdGUpLnNwcml0ZUZyYW1lID0gdGhpcy5VSVtcIl9zcHJpdGVGcmFtZXNcIl1bXCJhMVwiXTtcclxuICAgICAgICAgICAgICAgIHR1cm4uYW5nbGUgPSAwO1xyXG4gICAgICAgICAgICAgICAgaWYodHlwZSl7XHJcbiAgICAgICAgICAgICAgICAgICAgd2F0ZXIuYWN0aXZlID0gdHJ1ZTtcclxuICAgICAgICAgICAgICAgICAgICB3YXRlci5nZXRDb21wb25lbnQoY2MuU3ByaXRlKS5zcHJpdGVGcmFtZSA9IHRoaXMuVUlbXCJfc3ByaXRlRnJhbWVzXCJdW1wiYmxvY2sxXCJdO1xyXG4gICAgICAgICAgICAgICAgICAgIHdhdGVyLm9wYWNpdHkgPSAwO1xyXG4gICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG4gICAgLy/mga/lo6TlhbfkvZPmiafooYzmlrnms5UgIOWklumDqOWPr+iwg+eUqFxyXG4gICAgc2V0X1hpX1NvaWxUeXBlKGRpcmVjdGlvbixlbmQsbmFtZSl7XHJcbiAgICAgICAgLy8gY29uc29sZS5sb2coXCLmga/lo6RcIixkaXJlY3Rpb24sbmFtZSx0aGlzLmJsb2NrX1R5cGUpO1xyXG4gICAgICAgIHZhciBqZyA9IHRoaXMucmVwZWF0Um9hZCh0cnVlLGRpcmVjdGlvbik7XHJcbiAgICAgICAgY29uc29sZS5sb2coXCLmga/lo6Tph43lpI3liKTmlq3nu5PmnpxcIixqZyk7XHJcbiAgICAgICAgaWYoamcgPT0gdHJ1ZSkgcmV0dXJuO1xyXG5cclxuICAgICAgICBpZih0aGlzLmJsb2NrX1R5cGUgPT0gY2MuRW51bShCbG9ja1R5cGUpLlN0YXJ0KXtcclxuICAgICAgICAgICAgdGhpcy5zZXRfWGlfU29pbChkaXJlY3Rpb24sZmFsc2UpO1xyXG4gICAgICAgICAgICByZXR1cm47XHJcbiAgICAgICAgfVxyXG5cclxuICAgICAgICBpZih0aGlzLmJsb2NrX1R5cGUgPT0gY2MuRW51bShCbG9ja1R5cGUpLk51bmphKXtcclxuICAgICAgICAgICAgdGhpcy5ibG9ja19UeXBlID0gY2MuRW51bShCbG9ja1R5cGUpLk5vbWFsO1xyXG4gICAgICAgICAgICB0aGlzLm5vZGUuZ2V0Q2hpbGRCeU5hbWUoXCJiZ1wiKS5nZXRDb21wb25lbnQoY2MuU3ByaXRlKS5zcHJpdGVGcmFtZSA9IG51bGw7XHJcbiAgICAgICAgICAgIHRoaXMubm9kZS5nZXRDb21wb25lbnQoY2MuU3ByaXRlKS5zcHJpdGVGcmFtZSA9ICB0aGlzLlVJW1wiX3Nwcml0ZUZyYW1lc1wiXVtcImJsb2NrX0JnXCJdO1xyXG4gICAgICAgIH1cclxuICAgICAgICBpZihlbmQgIT0gbnVsbCl7XHJcbiAgICAgICAgICAgIGlmKHRoaXMuYmxvY2tfVHlwZSA9PSBjYy5FbnVtKEJsb2NrVHlwZSkuRW5kKXtcclxuICAgICAgICAgICAgICAgIHRoaXMuZmluaXNoaSA9IHRydWU7XHJcbiAgICAgICAgICAgICAgICBzZXRUaW1lb3V0KCgpID0+IHtcclxuICAgICAgICAgICAgICAgICAgICB0aGlzLnNldF9YaV9Tb2lsKGRpcmVjdGlvbix0cnVlKTtcclxuICAgICAgICAgICAgICAgIH0sIDUwMCk7XHJcbiAgICAgICAgIFxyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIHNldFRpbWVvdXQoKCkgPT4ge1xyXG4gICAgICAgICAgICAgICAgaWYobmFtZSA9PSBcIndhdGVyXCIpIGNjLmZ4Lk5vdGlmaWNhdGlvbnMuZW1pdChjYy5meC5NZXNzYWdlLm5leHRXYXRlciwoZW5kKzEpKTtcclxuICAgICAgICAgICAgICAgIGVsc2UgY2MuZnguTm90aWZpY2F0aW9ucy5lbWl0KGNjLmZ4Lk1lc3NhZ2UubmV4dCwoZW5kKzEpKTtcclxuICAgICAgICAgICAgfSwgNDAwKTtcclxuICAgICAgICB9XHJcblxyXG4gICAgICAgIGlmKHRoaXMuYmxvY2tfVHlwZSAhPSBjYy5FbnVtKEJsb2NrVHlwZSkuRW5kICYmIHRoaXMuYmxvY2tfVHlwZSAhPSBjYy5FbnVtKEJsb2NrVHlwZSkuU3RhcnQpe1xyXG4gICAgICAgICAgICB0aGlzLmJsb2NrX1R5cGUgPSBjYy5FbnVtKEJsb2NrVHlwZSkuWGlfU29pbDtcclxuICAgICAgICB9IFxyXG4gICAgICAgIGVsc2V7XHJcbiAgICAgICAgfVxyXG4gICAgICAgIGxldCB0YXJnZXQgPSB0aGlzLm5vZGUuZ2V0Q2hpbGRCeU5hbWUoXCJYaV9Tb2lsXCIpOyBcclxuICAgICAgICB0aGlzLnBhdGhfVHlwZSA9IGRpcmVjdGlvbjtcclxuICAgICAgICB0YXJnZXQuYWN0aXZlID0gdHJ1ZTtcclxuICAgICAgICB0YXJnZXQub3BhY2l0eSA9IDA7XHJcbiAgICAgICAgY2MudHdlZW4odGFyZ2V0KVxyXG4gICAgICAgIC50bygwLjEse29wYWNpdHk6MjU1fSlcclxuICAgICAgICAudG8oMC4xLHtvcGFjaXR5OjB9KVxyXG4gICAgICAgIC5jYWxsKCgpID0+e1xyXG4gICAgICAgICAgICBpZihkaXJlY3Rpb24gIT0gbnVsbCAmJiBlbmQgPT0gbnVsbCl7XHJcbiAgICAgICAgICAgICAgICBsZXQgZGF0YSA9IHtcclxuICAgICAgICAgICAgICAgICAgICBvcmRlcjowLFxyXG4gICAgICAgICAgICAgICAgICAgIHRpbWU6Y2MuZnguR2FtZUNvbmZpZy5USU1FX0lORk8ud2F0ZXJTcGVlZFswXSxcclxuICAgICAgICAgICAgICAgICAgICB0eXBlOjAsXHJcbiAgICAgICAgICAgICAgICAgICAgY2lyY3VsYXRlOmZhbHNlXHJcbiAgICAgICAgICAgICAgICB9O1xyXG4gICAgICAgICAgICAgICAgaWYobmFtZSA9PSBcIndhdGVyXCIpe1xyXG4gICAgICAgICAgICAgICAgICAgIHRoaXMucnVuV2F0ZXIoZGF0YSk7XHJcbiAgICAgICAgICAgICAgICB9IFxyXG4gICAgICAgICAgICAgICAgZWxzZSB0aGlzLnJ1blJvYWQoZGF0YSk7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9KVxyXG4gICAgICAgIC5zdGFydCgpO1xyXG4gICAgfVxyXG4gICAgLy/liKTmlq3ph43lpI3ot6/lvoQgXHJcbiAgICByZXBlYXRSb2FkKHR5cGUsZGlyZWN0aW9uKXtcclxuICAgICAgICAvL+WmguaenOWPjOWQkemDveWNoOeUqOS6hui/mOi/m+adpeWwseeul+atu+S6hi0gXHJcbiAgICAgICAgdmFyIGpnID0gZmFsc2U7XHJcbiAgICAgICAgaWYodGhpcy5ub2RlLmdldENoaWxkQnlOYW1lKFwidmVydGljYWwyXCIpLmFjdGl2ZSA9PSB0cnVlICYmIHRoaXMubm9kZS5nZXRDaGlsZEJ5TmFtZShcImhvcml6b250YWwyXCIpLmFjdGl2ZSA9PSB0cnVlKXtcclxuICAgICAgICAgICAgLy8gYWxlcnQoXCLmsrvmsLTlpLHotKVcIik7XHJcbiAgICAgICAgICAgIGpnID0gdHJ1ZTtcclxuICAgICAgICAgICAgaWYodHlwZSl7XHJcbiAgICAgICAgICAgICAgICBjYy5meC5Ob3RpZmljYXRpb25zLmVtaXQoY2MuZnguTWVzc2FnZS5zaG93UmVzdWx0LFwibG9zZVwiKTtcclxuICAgICAgICAgICAgICAgIGNjLmZ4Lk5vdGlmaWNhdGlvbnMuZW1pdChjYy5meC5NZXNzYWdlLnNldERhdGEsZmFsc2UpO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG5cclxuICAgICAgICBlbHNlIGlmKHRoaXMubm9kZS5nZXRDaGlsZEJ5TmFtZShcInR1cm4yXCIpLmFjdGl2ZSA9PSB0cnVlICYmIHRoaXMuYmxvY2tfVHlwZSAhPSBjYy5FbnVtKEJsb2NrVHlwZSkuWGlfU29pbCl7XHJcbiAgICAgICAgICAgIC8vIGFsZXJ0KFwi5rK75rC05aSx6LSlXCIpO1xyXG4gICAgICAgICAgICBqZyA9IHRydWU7XHJcbiAgICAgICAgICAgIGlmKHR5cGUpe1xyXG4gICAgICAgICAgICAgICAgY2MuZnguTm90aWZpY2F0aW9ucy5lbWl0KGNjLmZ4Lk1lc3NhZ2Uuc2hvd1Jlc3VsdCxcImxvc2VcIik7XHJcbiAgICAgICAgICAgICAgICBjYy5meC5Ob3RpZmljYXRpb25zLmVtaXQoY2MuZnguTWVzc2FnZS5zZXREYXRhLGZhbHNlKTtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuXHJcbiAgICAgICAgaWYoZGlyZWN0aW9uKXtcclxuICAgICAgICAgICAgaWYodGhpcy5ub2RlLmdldENoaWxkQnlOYW1lKFwidmVydGljYWwyXCIpLmFjdGl2ZSA9PSB0cnVlICYmIHRoaXMuYmxvY2tfVHlwZSA9PSBjYy5FbnVtKEJsb2NrVHlwZSkuWGlfU29pbCAmJiAoZGlyZWN0aW9uID09IFwidXBcInx8IGRpcmVjdGlvbiA9PVwiZG93blwiKSl7XHJcbiAgICAgICAgICAgICAgICAvLyBhbGVydChcIuayu+awtOWksei0pVwiKTtcclxuICAgICAgICAgICAgICAgIGpnID0gdHJ1ZTtcclxuICAgICAgICAgICAgICAgIGlmKHR5cGUpe1xyXG4gICAgICAgICAgICAgICAgICAgIGNjLmZ4Lk5vdGlmaWNhdGlvbnMuZW1pdChjYy5meC5NZXNzYWdlLnNob3dSZXN1bHQsXCJsb3NlXCIpO1xyXG4gICAgICAgICAgICAgICAgICAgIGNjLmZ4Lk5vdGlmaWNhdGlvbnMuZW1pdChjYy5meC5NZXNzYWdlLnNldERhdGEsZmFsc2UpO1xyXG4gICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIGVsc2UgaWYodGhpcy5ub2RlLmdldENoaWxkQnlOYW1lKFwiaG9yaXpvbnRhbDJcIikuYWN0aXZlID09IHRydWUgJiYgdGhpcy5ibG9ja19UeXBlID09IGNjLkVudW0oQmxvY2tUeXBlKS5YaV9Tb2lsICYmIChkaXJlY3Rpb24gPT0gXCJyaWdodFwifHwgZGlyZWN0aW9uID09XCJsZWZ0XCIpKXtcclxuICAgICAgICAgICAgICAgIC8vIGFsZXJ0KFwi5rK75rC05aSx6LSlXCIpO1xyXG4gICAgICAgICAgICAgICAgamcgPSB0cnVlO1xyXG4gICAgICAgICAgICAgICAgaWYodHlwZSl7XHJcbiAgICAgICAgICAgICAgICAgICAgY2MuZnguTm90aWZpY2F0aW9ucy5lbWl0KGNjLmZ4Lk1lc3NhZ2Uuc2hvd1Jlc3VsdCxcImxvc2VcIik7XHJcbiAgICAgICAgICAgICAgICAgICAgY2MuZnguTm90aWZpY2F0aW9ucy5lbWl0KGNjLmZ4Lk1lc3NhZ2Uuc2V0RGF0YSxmYWxzZSk7XHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcblxyXG4gICAgICAgIHJldHVybiBqZztcclxuICAgIH1cclxuXHJcbiAgICAvL+S/ruetkei3r+e6v+aJp+ihjFxyXG4gICAgcnVuUm9hZChkYXRhKXtcclxuICAgICAgICBpZih0aGlzLnBhdGhfVHlwZSA9PSBcImVyclwiKXtcclxuICAgICAgICAgICAgc2V0VGltZW91dCgoKSA9PiB7XHJcbiAgICAgICAgICAgICAgICBpZihkYXRhLmNpcmN1bGF0ZSlcclxuICAgICAgICAgICAgICAgICAgICBjYy5meC5Ob3RpZmljYXRpb25zLmVtaXQoY2MuZnguTWVzc2FnZS5uZXh0LG9yZGVyKTtcclxuICAgICAgICAgICAgfSwgZGF0YS50aW1lKTtcclxuICAgICAgICAgICAgcmV0dXJuO1xyXG4gICAgICAgIH1cclxuICAgICAgICB2YXIgamcgPSB0aGlzLnJlcGVhdFJvYWQodHJ1ZSxudWxsKTtcclxuICAgICAgICBpZihqZyA9PSB0cnVlKSByZXR1cm47XHJcbiAgICAgICAgdmFyIHRhcmdldCA9IG51bGw7XHJcbiAgICAgICAgdmFyIHByb2dyZXNzID0gMTtcclxuICAgICAgICB2YXIgdGltZSA9IGRhdGEudGltZTtcclxuICAgICAgICB2YXIgb3JkZXIgPSBkYXRhLm9yZGVyICsgMTtcclxuICAgICAgICB2YXIgcmFuZG9tID0gTWF0aC5mbG9vcihNYXRoLnJhbmRvbSgpKjQgKyAxKTtcclxuICAgICAgICB0YXJnZXQgPSB0aGlzLm5vZGUuZ2V0Q2hpbGRCeU5hbWUoXCJ2ZXJ0aWNhbDJcIik7XHJcbiAgICAgICAgaWYodGFyZ2V0Lm5hbWUgPT0gXCJ2ZXJ0aWNhbFwiKXtcclxuICAgICAgICAgICAgbGV0IHdhdGVyMSA9IHRhcmdldC5nZXRDaGlsZEJ5TmFtZShcIndhdmVcIikuZ2V0Q2hpbGRCeU5hbWUoXCJ3YXRlcjFcIik7XHJcbiAgICAgICAgICAgIGxldCB3YXRlcjIgPSB0YXJnZXQuZ2V0Q2hpbGRCeU5hbWUoXCJ3YXZlXCIpLmdldENoaWxkQnlOYW1lKFwid2F0ZXIyXCIpO1xyXG4gICAgICAgICAgICBsZXQgd2F0ZXIzID0gdGFyZ2V0LmdldENoaWxkQnlOYW1lKFwid2F2ZVwiKS5nZXRDaGlsZEJ5TmFtZShcIndhdGVyM1wiKTtcclxuICAgICAgICAgICAgbGV0IHRpbWVEZWxheSA9IDAuMTU7XHJcbiAgICAgICAgICAgIHdhdGVyMS5ydW5BY3Rpb24oY2Muc2VxdWVuY2UoY2MubW92ZVRvKDAuNixjYy52Mih3YXRlcjEueCwxMjApKSxjYy5kZWxheVRpbWUodGltZURlbGF5KSxcclxuICAgICAgICAgICAgY2MuY2FsbEZ1bmMoKCk9PntcclxuICAgICAgICAgICAgICAgIHdhdGVyMS55ID0gLTEyMFxyXG4gICAgICAgICAgICB9KSkucmVwZWF0Rm9yZXZlcigpKTtcclxuICAgICAgICAgICAgd2F0ZXIyLnJ1bkFjdGlvbihjYy5zZXF1ZW5jZShjYy5tb3ZlVG8oMC42LGNjLnYyKHdhdGVyMi54LDEyMCkpLGNjLmRlbGF5VGltZSh0aW1lRGVsYXkpLFxyXG4gICAgICAgICAgICBjYy5jYWxsRnVuYygoKT0+e1xyXG4gICAgICAgICAgICAgICAgd2F0ZXIyLnkgPSAtMTIwXHJcbiAgICAgICAgICAgIH0pKS5yZXBlYXRGb3JldmVyKCkpO1xyXG4gICAgICAgICAgICB3YXRlcjMucnVuQWN0aW9uKGNjLnNlcXVlbmNlKGNjLm1vdmVUbygwLjYsY2MudjIod2F0ZXIzLngsMTIwKSksY2MuZGVsYXlUaW1lKHRpbWVEZWxheSksXHJcbiAgICAgICAgICAgIGNjLmNhbGxGdW5jKCgpPT57XHJcbiAgICAgICAgICAgICAgICB3YXRlcjMueSA9IC0xMjBcclxuICAgICAgICAgICAgfSkpLnJlcGVhdEZvcmV2ZXIoKSk7XHJcbiAgICAgICAgfVxyXG5cclxuICAgICAgICB2YXIgbmFtZSA9IFwiYVwiICsgcmFuZG9tO1xyXG4gICAgICAgIGlmKHRoaXMuYmxvY2tfVHlwZSAhPSBjYy5FbnVtKEJsb2NrVHlwZSkuUmVpbmZvcmNlKXRhcmdldC5nZXRDb21wb25lbnQoY2MuU3ByaXRlKS5zcHJpdGVGcmFtZSA9IHRoaXMuVUlbXCJfc3ByaXRlRnJhbWVzXCJdW25hbWVdO1xyXG5cclxuICAgICAgICBpZih0YXJnZXQuYWN0aXZlID09IHRydWUpe1xyXG4gICAgICAgICAgICB0YXJnZXQgPSB0aGlzLm5vZGUuZ2V0Q2hpbGRCeU5hbWUoXCJob3Jpem9udGFsMlwiKTtcclxuICAgICAgICAgICAgbmFtZSA9IFwiYlwiICsgcmFuZG9tO1xyXG4gICAgICAgICAgICBpZih0aGlzLmJsb2NrX1R5cGUgIT0gY2MuRW51bShCbG9ja1R5cGUpLlJlaW5mb3JjZSkgdGFyZ2V0LmdldENvbXBvbmVudChjYy5TcHJpdGUpLnNwcml0ZUZyYW1lID0gdGhpcy5VSVtcIl9zcHJpdGVGcmFtZXNcIl1bbmFtZV07XHJcbiAgICAgICAgfSBcclxuICAgICAgICAvLyBjb25zb2xlLmxvZyh0aGlzLnBhdGhfVHlwZSxkYXRhLm9yZGVyKTtcclxuICAgICAgICBpZih0aGlzLnBhdGhfVHlwZSA9PSBjYy5FbnVtKFBhdGhUeXBlKS51cCl7XHJcbiAgICAgICAgfVxyXG4gICAgICAgIGVsc2UgaWYodGhpcy5wYXRoX1R5cGUgPT0gY2MuRW51bShQYXRoVHlwZSkuZG93bil7XHJcbiAgICAgICAgICAgIHRhcmdldC5hbmdsZSA9IDE4MDtcclxuICAgICAgICB9XHJcbiAgICAgICAgZWxzZSBpZih0aGlzLnBhdGhfVHlwZSA9PSBjYy5FbnVtKFBhdGhUeXBlKS5sZWZ0KXtcclxuICAgICAgICAgICAgdGFyZ2V0LmFuZ2xlID0gOTA7XHJcbiAgICAgICAgICAgIG5hbWUgPSBcImJcIiArIHJhbmRvbTtcclxuICAgICAgICAgICAgaWYodGhpcy5ibG9ja19UeXBlICE9IGNjLkVudW0oQmxvY2tUeXBlKS5SZWluZm9yY2UpIHRhcmdldC5nZXRDb21wb25lbnQoY2MuU3ByaXRlKS5zcHJpdGVGcmFtZSA9IHRoaXMuVUlbXCJfc3ByaXRlRnJhbWVzXCJdW25hbWVdO1xyXG4gICAgICAgIH1cclxuICAgICAgICBlbHNlIGlmKHRoaXMucGF0aF9UeXBlID09IGNjLkVudW0oUGF0aFR5cGUpLnJpZ2h0KXtcclxuICAgICAgICAgICAgdGFyZ2V0LmFuZ2xlID0gMjcwO1xyXG4gICAgICAgICAgICBuYW1lID0gXCJiXCIgKyByYW5kb207XHJcbiAgICAgICAgICAgIGlmKHRoaXMuYmxvY2tfVHlwZSAhPSBjYy5FbnVtKEJsb2NrVHlwZSkuUmVpbmZvcmNlKSB0YXJnZXQuZ2V0Q29tcG9uZW50KGNjLlNwcml0ZSkuc3ByaXRlRnJhbWUgPSB0aGlzLlVJW1wiX3Nwcml0ZUZyYW1lc1wiXVtuYW1lXTtcclxuICAgICAgICB9XHJcbiAgICAgICAgZWxzZXtcclxuICAgICAgICAgICAgdGFyZ2V0ID0gdGhpcy5ub2RlLmdldENoaWxkQnlOYW1lKFwidHVybjJcIik7XHJcbiAgICAgICAgICAgIGlmKHRhcmdldC5uYW1lID09IFwidHVyblwiKXtcclxuICAgICAgICAgICAgICAgIGxldCB3YXRlciA9IHRhcmdldC5nZXRDaGlsZEJ5TmFtZShcIndhdmVcIikuZ2V0Q2hpbGRCeU5hbWUoXCJ3YXRlclwiKTtcclxuICAgICAgICAgICAgICAgIHdhdGVyLm9wYWNpdHkgPSAwXHJcbiAgICAgICAgICAgICAgICB3YXRlci5ydW5BY3Rpb24oY2Muc2VxdWVuY2UoY2Mucm90YXRlVG8oNy4yLC0xMDgwKSxjYy5kZWxheVRpbWUoMCkpLnJlcGVhdEZvcmV2ZXIoKSk7XHJcbiAgICAgICAgICAgICAgICBzZXRUaW1lb3V0KCgpID0+IHtcclxuICAgICAgICAgICAgICAgICAgICB3YXRlci5vcGFjaXR5ID0gMjU1O1xyXG4gICAgICAgICAgICAgICAgfSwgMjAwKTtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICBuYW1lID0gXCJjXCIgKyByYW5kb207XHJcbiAgICAgICAgICAgIGlmKHRoaXMuYmxvY2tfVHlwZSAhPSBjYy5FbnVtKEJsb2NrVHlwZSkuUmVpbmZvcmNlKXRhcmdldC5nZXRDb21wb25lbnQoY2MuU3ByaXRlKS5zcHJpdGVGcmFtZSA9IHRoaXMuVUlbXCJfc3ByaXRlRnJhbWVzXCJdW25hbWVdO1xyXG4gICAgICAgICAgICBwcm9ncmVzcyA9IDAuMjU7XHJcbiAgICAgICAgICAgIGlmKHRoaXMucGF0aF9UeXBlID09IGNjLkVudW0oUGF0aFR5cGUpLnVwX2xlZnQpe1xyXG4gICAgICAgICAgICAgICAgdGFyZ2V0LnNldFBvc2l0aW9uKC10aGlzLnBvc19TaGlmdGluZywtdGhpcy5wb3NfU2hpZnRpbmcpO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIGVsc2UgaWYodGhpcy5wYXRoX1R5cGUgPT0gY2MuRW51bShQYXRoVHlwZSkudXBfcmlnaHQpe1xyXG4gICAgICAgICAgICAgICAgdGFyZ2V0LnNjYWxlWCA9IC0xO1xyXG4gICAgICAgICAgICAgICAgdGFyZ2V0LnNldFBvc2l0aW9uKHRoaXMucG9zX1NoaWZ0aW5nLC10aGlzLnBvc19TaGlmdGluZyk7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgZWxzZSBpZih0aGlzLnBhdGhfVHlwZSA9PSBjYy5FbnVtKFBhdGhUeXBlKS5kb3duX2xlZnQpe1xyXG4gICAgICAgICAgICAgICAgdGFyZ2V0LmFuZ2xlID0gMTgwO1xyXG4gICAgICAgICAgICAgICAgdGFyZ2V0LnNjYWxlWCA9IC0xO1xyXG4gICAgICAgICAgICAgICAgdGFyZ2V0LnNldFBvc2l0aW9uKC10aGlzLnBvc19TaGlmdGluZyx0aGlzLnBvc19TaGlmdGluZyk7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgZWxzZSBpZih0aGlzLnBhdGhfVHlwZSA9PSBjYy5FbnVtKFBhdGhUeXBlKS5kb3duX3JpZ2h0KXtcclxuICAgICAgICAgICAgICAgIHRhcmdldC5hbmdsZSA9IDE4MDtcclxuICAgICAgICAgICAgICAgIHRhcmdldC5zZXRQb3NpdGlvbih0aGlzLnBvc19TaGlmdGluZyx0aGlzLnBvc19TaGlmdGluZyk7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgZWxzZSBpZih0aGlzLnBhdGhfVHlwZSA9PSBjYy5FbnVtKFBhdGhUeXBlKS5sZWZ0X3VwKXtcclxuICAgICAgICAgICAgICAgIHRhcmdldC5hbmdsZSA9IC05MDtcclxuICAgICAgICAgICAgICAgIHRhcmdldC5zY2FsZVkgPSAtMTtcclxuICAgICAgICAgICAgICAgIHRhcmdldC5zZXRQb3NpdGlvbih0aGlzLnBvc19TaGlmdGluZyx0aGlzLnBvc19TaGlmdGluZyk7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgZWxzZSBpZih0aGlzLnBhdGhfVHlwZSA9PSBjYy5FbnVtKFBhdGhUeXBlKS5sZWZ0X2Rvd24pe1xyXG4gICAgICAgICAgICAgICAgdGFyZ2V0LmFuZ2xlID0gOTA7XHJcbiAgICAgICAgICAgICAgICB0YXJnZXQuc2V0UG9zaXRpb24oLXRoaXMucG9zX1NoaWZ0aW5nLC10aGlzLnBvc19TaGlmdGluZyk7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgZWxzZSBpZih0aGlzLnBhdGhfVHlwZSA9PSBjYy5FbnVtKFBhdGhUeXBlKS5yaWdodF91cCl7XHJcbiAgICAgICAgICAgICAgICB0YXJnZXQuYW5nbGUgPSAtOTA7XHJcbiAgICAgICAgICAgICAgICB0YXJnZXQuc2V0UG9zaXRpb24oLXRoaXMucG9zX1NoaWZ0aW5nLHRoaXMucG9zX1NoaWZ0aW5nKTtcclxuICAgICBcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICBlbHNlIGlmKHRoaXMucGF0aF9UeXBlID09IGNjLkVudW0oUGF0aFR5cGUpLnJpZ2h0X2Rvd24pe1xyXG4gICAgICAgICAgICAgICAgdGFyZ2V0LmFuZ2xlID0gLTkwO1xyXG4gICAgICAgICAgICAgICAgdGFyZ2V0LnNjYWxlWCA9IC0xO1xyXG4gICAgICAgICAgICAgICAgdGFyZ2V0LnNldFBvc2l0aW9uKC10aGlzLnBvc19TaGlmdGluZywtdGhpcy5wb3NfU2hpZnRpbmcpO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgICAgIGlmKHRoaXMucGF0aF9UeXBlID09IFwiUmVpbmZvcmNlXCIpe1xyXG4gICAgICAgICAgICB0YXJnZXQgPSB0aGlzLm5vZGUuZ2V0Q2hpbGRCeU5hbWUoXCJSZWluZm9yY2VcIik7XHJcbiAgICAgICAgICAgIGlmKHRoaXMuYmxvY2tfVHlwZSA9PSBjYy5FbnVtKEJsb2NrVHlwZSkuUGVhayl7XHJcbiAgICAgICAgICAgICAgICBjYy5meC5Ob3RpZmljYXRpb25zLmVtaXQoY2MuZnguTWVzc2FnZS5zaG93UmVzdWx0LFwibG9zZVwiKTtcclxuICAgICAgICAgICAgICAgIGNjLmZ4Lk5vdGlmaWNhdGlvbnMuZW1pdChjYy5meC5NZXNzYWdlLnNldERhdGEsZmFsc2UpO1xyXG4gICAgICAgICAgICAgICAgcmV0dXJuO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIGlmKHRoaXMuYmxvY2tfVHlwZSAhPSBjYy5FbnVtKEJsb2NrVHlwZSkuRW5kKXRoaXMuYmxvY2tfVHlwZSA9IGNjLkVudW0oQmxvY2tUeXBlKS5SZWluZm9yY2U7XHJcbiAgICAgICAgICAgIHRoaXMubm9kZS5nZXRDaGlsZEJ5TmFtZShcInZlcnRpY2FsMlwiKS5nZXRDb21wb25lbnQoY2MuU3ByaXRlKS5zcHJpdGVGcmFtZSA9IHRoaXMuVUlbXCJfc3ByaXRlRnJhbWVzXCJdW1wiZTFcIl07XHJcbiAgICAgICAgICAgIHRoaXMubm9kZS5nZXRDaGlsZEJ5TmFtZShcInR1cm4yXCIpLmdldENvbXBvbmVudChjYy5TcHJpdGUpLnNwcml0ZUZyYW1lID0gdGhpcy5VSVtcIl9zcHJpdGVGcmFtZXNcIl1bXCJlM1wiXTtcclxuICAgICAgICAgICAgdGhpcy5ub2RlLmdldENoaWxkQnlOYW1lKFwiaG9yaXpvbnRhbDJcIikuZ2V0Q29tcG9uZW50KGNjLlNwcml0ZSkuc3ByaXRlRnJhbWUgPSB0aGlzLlVJW1wiX3Nwcml0ZUZyYW1lc1wiXVtcImUyXCJdO1xyXG4gICAgICAgICAgICB0YXJnZXQuYWN0aXZlID0gdHJ1ZTtcclxuICAgICAgICAgICAgdGFyZ2V0Lm9wYWNpdHkgPSAwO1xyXG4gICAgICAgICAgICBwcm9ncmVzcyA9IDE7XHJcbiAgICAgICAgICAgIGNjLnR3ZWVuKHRhcmdldClcclxuICAgICAgICAgICAgLnRvKGNjLmZ4LkdhbWVDb25maWcuVElNRV9JTkZPLlJlaW5mb3JjZVNwZWVkLHtvcGFjaXR5OjI1NX0pXHJcbiAgICAgICAgICAgIC5jYWxsKCgpID0+e1xyXG4gICAgICAgICAgICAgICAgaWYoZGF0YS5jaXJjdWxhdGUpXHJcbiAgICAgICAgICAgICAgICAgICAgY2MuZnguTm90aWZpY2F0aW9ucy5lbWl0KGNjLmZ4Lk1lc3NhZ2UuY2hhbmdlTWFwLG9yZGVyKTtcclxuICAgICAgICAgICAgICAgICAgICBjYy5meC5Ob3RpZmljYXRpb25zLmVtaXQoY2MuZnguTWVzc2FnZS5uZXh0LG9yZGVyKTtcclxuICAgICAgICAgICAgfSlcclxuICAgICAgICAgICAgLnN0YXJ0KCk7XHJcbiAgICAgICAgfVxyXG4gICAgICAgIGVsc2UgaWYodGhpcy5wYXRoX1R5cGUgPT0gXCJYaV9Tb2lsXCIpe1xyXG4gICAgICAgICAgICB0YXJnZXQuYWN0aXZlID0gZmFsc2U7XHJcbiAgICAgICAgICAgIGlmKHRoaXMuYmxvY2tfVHlwZSAhPSBjYy5FbnVtKEJsb2NrVHlwZSkuRW5kICYmIHRoaXMuYmxvY2tfVHlwZSAhPSBjYy5FbnVtKEJsb2NrVHlwZSkuU3RhcnQpXHJcbiAgICAgICAgICAgICAgICB0aGlzLmJsb2NrX1R5cGUgPSBjYy5FbnVtKEJsb2NrVHlwZSkuWGlfU29pbDtcclxuICAgICAgICAgICAgdGFyZ2V0ID0gdGhpcy5ub2RlLmdldENoaWxkQnlOYW1lKFwiWGlfU29pbFwiKTsgXHJcbiAgICAgICAgICAgIHRhcmdldC5hY3RpdmUgPSB0cnVlO1xyXG4gICAgICAgICAgICB0YXJnZXQub3BhY2l0eSA9IDA7XHJcbiAgICAgICAgICAgIGNjLnR3ZWVuKHRhcmdldClcclxuICAgICAgICAgICAgLnRvKDAuMDEse29wYWNpdHk6MX0pXHJcbiAgICAgICAgICAgIC50bygwLjAxLHtvcGFjaXR5OjB9KVxyXG4gICAgICAgICAgICAuY2FsbCgoKSA9PntcclxuICAgICAgICAgICAgICAgIGlmKGRhdGEuY2lyY3VsYXRlKXtcclxuICAgICAgICAgICAgICAgICAgICBjYy5meC5Ob3RpZmljYXRpb25zLmVtaXQoY2MuZnguTWVzc2FnZS5uZXh0LG9yZGVyKTtcclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgICAgIFxyXG4gICAgICAgICAgICB9KVxyXG4gICAgICAgICAgICAuc3RhcnQoKTtcclxuICAgICAgICB9XHJcbiAgICAgICAgZWxzZSBpZih0aGlzLnBhdGhfVHlwZSA9PSBcIkVuZFwiKXtcclxuICAgICAgICAgICAgdGFyZ2V0LmFjdGl2ZSA9IGZhbHNlO1xyXG4gICAgICAgICAgICBpZih0aGlzLmJsb2NrX1R5cGUgIT0gY2MuRW51bShCbG9ja1R5cGUpLkVuZCAmJiB0aGlzLmJsb2NrX1R5cGUgIT0gY2MuRW51bShCbG9ja1R5cGUpLlN0YXJ0KVxyXG4gICAgICAgICAgICAgICAgdGhpcy5ibG9ja19UeXBlID0gY2MuRW51bShCbG9ja1R5cGUpLlhpX1NvaWw7XHJcbiAgICAgICAgICAgIGxldCBwb3NUZW1wID0gZGF0YS5sYXN0O1xyXG4gICAgICAgICAgICB2YXIgZGlyZWN0aW9uID0gXCJ1cFwiO1xyXG4gICAgICAgICAgICBpZih0aGlzLnBvcy54IC0gcG9zVGVtcC54ID49IDEpe1xyXG4gICAgICAgICAgICAgICAgZGlyZWN0aW9uID0gXCJyaWdodFwiO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIGVsc2UgaWYodGhpcy5wb3MueCAtIHBvc1RlbXAueCA8PSAtMSl7XHJcbiAgICAgICAgICAgICAgICBkaXJlY3Rpb24gPSBcImxlZnRcIjtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICBlbHNlIGlmKHRoaXMucG9zLnkgLSBwb3NUZW1wLnkgPj0gMSl7XHJcbiAgICAgICAgICAgICAgICBkaXJlY3Rpb24gPSBcImRvd25cIjtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgIFxyXG4gICAgICAgICAgICBjb25zb2xlLmxvZyhcIue7k+adn+aWueWQkTpcIixkaXJlY3Rpb24pO1xyXG4gICAgICAgICAgICBpZighdGhpcy5maW5pc2hpKXtcclxuICAgICAgICAgICAgICAgIHRoaXMuZmluaXNoaSA9IHRydWU7XHJcbiAgICAgICAgICAgICAgICB0aGlzLnNldF9YaV9Tb2lsKGRpcmVjdGlvbix0cnVlKTtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgICAgICBlbHNle1xyXG4gICAgICAgICAgICB0YXJnZXQuYWN0aXZlID0gdHJ1ZTtcclxuICAgICAgICAgICAgaWYodGhpcy5ibG9ja19UeXBlICE9IGNjLkVudW0oQmxvY2tUeXBlKS5YaV9Tb2lsKXtcclxuICAgICAgICAgICAgICAgIHRhcmdldC5nZXRDb21wb25lbnQoY2MuU3ByaXRlKS5maWxsUmFuZ2UgPSAwO1xyXG4gICAgICAgICAgICAgICAgY2MudHdlZW4odGFyZ2V0LmdldENvbXBvbmVudChjYy5TcHJpdGUpKVxyXG4gICAgICAgICAgICAgICAgLnRvKHRpbWUse2ZpbGxSYW5nZTpwcm9ncmVzc30pXHJcbiAgICAgICAgICAgICAgICAuY2FsbCgoKSA9PntcclxuICAgICAgICAgICAgICAgICAgICBpZihkYXRhLmNpcmN1bGF0ZSlcclxuICAgICAgICAgICAgICAgICAgICAgICAgY2MuZnguTm90aWZpY2F0aW9ucy5lbWl0KGNjLmZ4Lk1lc3NhZ2UubmV4dCxvcmRlcik7XHJcbiAgICAgICAgICAgICAgICB9KVxyXG4gICAgICAgICAgICAgICAgLnN0YXJ0KCk7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgZWxzZXtcclxuICAgICAgICAgICAgICAgIHRhcmdldC5vcGFjaXR5ID0gMDtcclxuICAgICAgICAgICAgICAgIHRhcmdldC5nZXRDb21wb25lbnQoY2MuU3ByaXRlKS5maWxsUmFuZ2UgPSAxO1xyXG4gICAgICAgICAgICAgICAgY2MudHdlZW4odGFyZ2V0KVxyXG4gICAgICAgICAgICAgICAgLnRvKHRpbWUse29wYWNpdHk6MjU1fSlcclxuICAgICAgICAgICAgICAgIC5jYWxsKCgpID0+e1xyXG4gICAgICAgICAgICAgICAgICAgIGlmKGRhdGEuY2lyY3VsYXRlKVxyXG4gICAgICAgICAgICAgICAgICAgICAgICBjYy5meC5Ob3RpZmljYXRpb25zLmVtaXQoY2MuZnguTWVzc2FnZS5uZXh0LG9yZGVyKTtcclxuICAgICAgICAgICAgICAgIH0pXHJcbiAgICAgICAgICAgICAgICAuc3RhcnQoKTtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuXHJcbiAgICB9XHJcbiAgICAvL+a0quWzsOaJp+ihjFxyXG4gICAgcnVuV2F0ZXIoZGF0YSl7XHJcbiAgICAgICAgaWYodGhpcy5ub2RlLmdldENoaWxkQnlOYW1lKFwid2F0ZXJTdGFydFwiKS5hY3RpdmUgPT0gdHJ1ZSAmJiB0aGlzLmJsb2NrX1R5cGUgPT0gY2MuRW51bShCbG9ja1R5cGUpLlN0YXJ0KXtcclxuICAgICAgICAgICAgLy8gc3AuZ2V0Q2hpbGRCeU5hbWUoXCJ3YXRlclN0YXJ0XCIpLm9wYWNpdHkgPSAyNTU7XHJcbiAgICAgICAgICAgIGNjLnR3ZWVuKHRoaXMubm9kZS5nZXRDaGlsZEJ5TmFtZShcIndhdGVyU3RhcnRcIikpXHJcbiAgICAgICAgICAgIC50bygwLjIse29wYWNpdHk6MjU1fSlcclxuICAgICAgICAgICAgLnN0YXJ0KCk7XHJcbiAgICAgICAgfVxyXG5cclxuXHJcbiAgICAgICAgaWYodGhpcy5wYXRoX1R5cGUgPT0gXCJlcnJcIil7XHJcbiAgICAgICAgICAgIHNldFRpbWVvdXQoKCkgPT4ge1xyXG4gICAgICAgICAgICAgICAgaWYoZGF0YS5jaXJjdWxhdGUpXHJcbiAgICAgICAgICAgICAgICAgICAgY2MuZnguTm90aWZpY2F0aW9ucy5lbWl0KGNjLmZ4Lk1lc3NhZ2UubmV4dFdhdGVyLG9yZGVyKTtcclxuICAgICAgICAgICAgfSwgZGF0YS50aW1lKTtcclxuICAgICAgICAgICAgcmV0dXJuO1xyXG4gICAgICAgIH1cclxuICAgICAgICAvL+WmguaenOWPjOWQkemDveWNoOeUqOS6hui/mOi/m+adpeWwseeul+atu+S6hi0gXHJcbiAgICAgICAgaWYodGhpcy5ub2RlLmdldENoaWxkQnlOYW1lKFwidmVydGljYWxcIikuYWN0aXZlID09IHRydWUgJiYgdGhpcy5ub2RlLmdldENoaWxkQnlOYW1lKFwiaG9yaXpvbnRhbFwiKS5hY3RpdmUgPT0gdHJ1ZSl7XHJcbiAgICAgICAgICAgIC8vIGFsZXJ0KFwi5rK75rC05aSx6LSlXCIpO1xyXG4gICAgICAgICAgICBjYy5meC5Ob3RpZmljYXRpb25zLmVtaXQoY2MuZnguTWVzc2FnZS5zaG93UmVzdWx0LFwibG9zZVwiKTtcclxuICAgICAgICAgICAgY2MuZnguTm90aWZpY2F0aW9ucy5lbWl0KGNjLmZ4Lk1lc3NhZ2Uuc2V0RGF0YSxmYWxzZSk7XHJcbiAgICAgICAgICAgIC8vIGNjLmRpcmVjdG9yLmxvYWRTY2VuZShcIkdhbWVTY2VuZVwiKTtcclxuICAgICAgICAgICAgcmV0dXJuO1xyXG4gICAgICAgIH1cclxuXHJcbiAgICAgICAgZWxzZSBpZih0aGlzLm5vZGUuZ2V0Q2hpbGRCeU5hbWUoXCJ0dXJuXCIpLmFjdGl2ZSA9PSB0cnVlICYmIHRoaXMuYmxvY2tfVHlwZSAhPSBjYy5FbnVtKEJsb2NrVHlwZSkuWGlfU29pbCl7XHJcbiAgICAgICAgICAgIC8vIGFsZXJ0KFwi5rK75rC05aSx6LSlXCIpO1xyXG4gICAgICAgICAgICBjYy5meC5Ob3RpZmljYXRpb25zLmVtaXQoY2MuZnguTWVzc2FnZS5zaG93UmVzdWx0LFwibG9zZVwiKTtcclxuICAgICAgICAgICAgY2MuZnguTm90aWZpY2F0aW9ucy5lbWl0KGNjLmZ4Lk1lc3NhZ2Uuc2V0RGF0YSxmYWxzZSk7XHJcbiAgICAgICAgICAgIC8vIGNjLmRpcmVjdG9yLmxvYWRTY2VuZShcIkdhbWVTY2VuZVwiKTtcclxuICAgICAgICAgICAgcmV0dXJuO1xyXG4gICAgICAgIH1cclxuICAgICAgICB2YXIgdGFyZ2V0ID0gbnVsbDtcclxuICAgICAgICB2YXIgcHJvZ3Jlc3MgPSAxO1xyXG4gICAgICAgIHZhciB0aW1lID0gZGF0YS50aW1lO1xyXG4gICAgICAgIHZhciBvcmRlciA9IGRhdGEub3JkZXIgKyAxO1xyXG4gICAgICAgIHZhciByYW5kb20gPSBNYXRoLmZsb29yKE1hdGgucmFuZG9tKCkqNCArIDEpO1xyXG4gICAgICAgIHRhcmdldCA9IHRoaXMubm9kZS5nZXRDaGlsZEJ5TmFtZShcInZlcnRpY2FsXCIpO1xyXG4gICAgICAgIGlmKHRhcmdldC5uYW1lID09IFwidmVydGljYWxcIil7XHJcbiAgICAgICAgICAgIGxldCB3YXRlcjEgPSB0YXJnZXQuZ2V0Q2hpbGRCeU5hbWUoXCJ3YXZlXCIpLmdldENoaWxkQnlOYW1lKFwid2F0ZXIxXCIpO1xyXG4gICAgICAgICAgICBsZXQgd2F0ZXIyID0gdGFyZ2V0LmdldENoaWxkQnlOYW1lKFwid2F2ZVwiKS5nZXRDaGlsZEJ5TmFtZShcIndhdGVyMlwiKTtcclxuICAgICAgICAgICAgbGV0IHdhdGVyMyA9IHRhcmdldC5nZXRDaGlsZEJ5TmFtZShcIndhdmVcIikuZ2V0Q2hpbGRCeU5hbWUoXCJ3YXRlcjNcIik7XHJcbiAgICAgICAgICAgIGxldCB0aW1lRGVsYXkgPSAwLjE1O1xyXG4gICAgICAgICAgICB3YXRlcjEucnVuQWN0aW9uKGNjLnNlcXVlbmNlKGNjLm1vdmVUbygwLjYsY2MudjIod2F0ZXIxLngsMTIwKSksY2MuZGVsYXlUaW1lKHRpbWVEZWxheSksXHJcbiAgICAgICAgICAgIGNjLmNhbGxGdW5jKCgpPT57XHJcbiAgICAgICAgICAgICAgICB3YXRlcjEueSA9IC0xMjBcclxuICAgICAgICAgICAgfSkpLnJlcGVhdEZvcmV2ZXIoKSk7XHJcbiAgICAgICAgICAgIHdhdGVyMi5ydW5BY3Rpb24oY2Muc2VxdWVuY2UoY2MubW92ZVRvKDAuNixjYy52Mih3YXRlcjIueCwxMjApKSxjYy5kZWxheVRpbWUodGltZURlbGF5KSxcclxuICAgICAgICAgICAgY2MuY2FsbEZ1bmMoKCk9PntcclxuICAgICAgICAgICAgICAgIHdhdGVyMi55ID0gLTEyMFxyXG4gICAgICAgICAgICB9KSkucmVwZWF0Rm9yZXZlcigpKTtcclxuICAgICAgICAgICAgd2F0ZXIzLnJ1bkFjdGlvbihjYy5zZXF1ZW5jZShjYy5tb3ZlVG8oMC42LGNjLnYyKHdhdGVyMy54LDEyMCkpLGNjLmRlbGF5VGltZSh0aW1lRGVsYXkpLFxyXG4gICAgICAgICAgICBjYy5jYWxsRnVuYygoKT0+e1xyXG4gICAgICAgICAgICAgICAgd2F0ZXIzLnkgPSAtMTIwXHJcbiAgICAgICAgICAgIH0pKS5yZXBlYXRGb3JldmVyKCkpO1xyXG4gICAgICAgIH1cclxuXHJcbiAgICAgICAgdmFyIG5hbWUgPSBcImFcIiArIHJhbmRvbTtcclxuICAgICAgICAvLyBpZih0aGlzLmJsb2NrX1R5cGUgIT0gY2MuRW51bShCbG9ja1R5cGUpLlJlaW5mb3JjZSl0YXJnZXQuZ2V0Q29tcG9uZW50KGNjLlNwcml0ZSkuc3ByaXRlRnJhbWUgPSB0aGlzLlVJW1wiX3Nwcml0ZUZyYW1lc1wiXVtuYW1lXTtcclxuXHJcbiAgICAgICAgaWYodGFyZ2V0LmFjdGl2ZSA9PSB0cnVlKXtcclxuICAgICAgICAgICAgdGFyZ2V0ID0gdGhpcy5ub2RlLmdldENoaWxkQnlOYW1lKFwiaG9yaXpvbnRhbFwiKTtcclxuICAgICAgICAgICAgbGV0IHdhdGVyMSA9IHRhcmdldC5nZXRDaGlsZEJ5TmFtZShcIndhdmVcIikuZ2V0Q2hpbGRCeU5hbWUoXCJ3YXRlcjFcIik7XHJcbiAgICAgICAgICAgIGxldCB3YXRlcjIgPSB0YXJnZXQuZ2V0Q2hpbGRCeU5hbWUoXCJ3YXZlXCIpLmdldENoaWxkQnlOYW1lKFwid2F0ZXIyXCIpO1xyXG4gICAgICAgICAgICBsZXQgd2F0ZXIzID0gdGFyZ2V0LmdldENoaWxkQnlOYW1lKFwid2F2ZVwiKS5nZXRDaGlsZEJ5TmFtZShcIndhdGVyM1wiKTtcclxuICAgICAgICAgICAgbGV0IHRpbWVEZWxheSA9IDAuMTU7XHJcbiAgICAgICAgICAgIHdhdGVyMS5ydW5BY3Rpb24oY2Muc2VxdWVuY2UoY2MubW92ZVRvKDAuNixjYy52Mih3YXRlcjEueCwxMjApKSxjYy5kZWxheVRpbWUodGltZURlbGF5KSxcclxuICAgICAgICAgICAgY2MuY2FsbEZ1bmMoKCk9PntcclxuICAgICAgICAgICAgICAgIHdhdGVyMS55ID0gLTEyMFxyXG4gICAgICAgICAgICB9KSkucmVwZWF0Rm9yZXZlcigpKTtcclxuICAgICAgICAgICAgd2F0ZXIyLnJ1bkFjdGlvbihjYy5zZXF1ZW5jZShjYy5tb3ZlVG8oMC42LGNjLnYyKHdhdGVyMi54LDEyMCkpLGNjLmRlbGF5VGltZSh0aW1lRGVsYXkpLFxyXG4gICAgICAgICAgICBjYy5jYWxsRnVuYygoKT0+e1xyXG4gICAgICAgICAgICAgICAgd2F0ZXIyLnkgPSAtMTIwXHJcbiAgICAgICAgICAgIH0pKS5yZXBlYXRGb3JldmVyKCkpO1xyXG4gICAgICAgICAgICB3YXRlcjMucnVuQWN0aW9uKGNjLnNlcXVlbmNlKGNjLm1vdmVUbygwLjYsY2MudjIod2F0ZXIzLngsMTIwKSksY2MuZGVsYXlUaW1lKHRpbWVEZWxheSksXHJcbiAgICAgICAgICAgIGNjLmNhbGxGdW5jKCgpPT57XHJcbiAgICAgICAgICAgICAgICB3YXRlcjMueSA9IC0xMjBcclxuICAgICAgICAgICAgfSkpLnJlcGVhdEZvcmV2ZXIoKSk7XHJcbiAgICAgICAgICAgIG5hbWUgPSBcImJcIiArIHJhbmRvbTtcclxuICAgICAgICAgICAgLy9pZih0aGlzLmJsb2NrX1R5cGUgIT0gY2MuRW51bShCbG9ja1R5cGUpLlJlaW5mb3JjZSkgdGFyZ2V0LmdldENvbXBvbmVudChjYy5TcHJpdGUpLnNwcml0ZUZyYW1lID0gdGhpcy5VSVtcIl9zcHJpdGVGcmFtZXNcIl1bbmFtZV07XHJcbiAgICAgICAgfSBcclxuICAgICAgICAvLyBjb25zb2xlLmxvZyh0aGlzLnBhdGhfVHlwZSxkYXRhLm9yZGVyKTtcclxuICAgICAgICBpZih0aGlzLnBhdGhfVHlwZSA9PSBjYy5FbnVtKFBhdGhUeXBlKS51cCl7XHJcbiAgICAgICAgfVxyXG4gICAgICAgIGVsc2UgaWYodGhpcy5wYXRoX1R5cGUgPT0gY2MuRW51bShQYXRoVHlwZSkuZG93bil7XHJcbiAgICAgICAgICAgIHRhcmdldC5hbmdsZSA9IDE4MDtcclxuICAgICAgICB9XHJcbiAgICAgICAgZWxzZSBpZih0aGlzLnBhdGhfVHlwZSA9PSBjYy5FbnVtKFBhdGhUeXBlKS5sZWZ0KXtcclxuICAgICAgICAgICAgdGFyZ2V0LmFuZ2xlID0gOTA7XHJcbiAgICAgICAgICAgIG5hbWUgPSBcImJcIiArIHJhbmRvbTtcclxuICAgICAgICAgICAgLy9pZih0aGlzLmJsb2NrX1R5cGUgIT0gY2MuRW51bShCbG9ja1R5cGUpLlJlaW5mb3JjZSkgdGFyZ2V0LmdldENvbXBvbmVudChjYy5TcHJpdGUpLnNwcml0ZUZyYW1lID0gdGhpcy5VSVtcIl9zcHJpdGVGcmFtZXNcIl1bbmFtZV07XHJcbiAgICAgICAgfVxyXG4gICAgICAgIGVsc2UgaWYodGhpcy5wYXRoX1R5cGUgPT0gY2MuRW51bShQYXRoVHlwZSkucmlnaHQpe1xyXG4gICAgICAgICAgICB0YXJnZXQuYW5nbGUgPSAyNzA7XHJcbiAgICAgICAgICAgIG5hbWUgPSBcImJcIiArIHJhbmRvbTtcclxuICAgICAgICAgICAgLy9pZih0aGlzLmJsb2NrX1R5cGUgIT0gY2MuRW51bShCbG9ja1R5cGUpLlJlaW5mb3JjZSkgdGFyZ2V0LmdldENvbXBvbmVudChjYy5TcHJpdGUpLnNwcml0ZUZyYW1lID0gdGhpcy5VSVtcIl9zcHJpdGVGcmFtZXNcIl1bbmFtZV07XHJcbiAgICAgICAgfVxyXG4gICAgICAgIGVsc2V7XHJcbiAgICAgICAgICAgIHRhcmdldCA9IHRoaXMubm9kZS5nZXRDaGlsZEJ5TmFtZShcInR1cm5cIik7XHJcbiAgICAgICAgICAgIGlmKHRhcmdldC5uYW1lID09IFwidHVyblwiKXtcclxuICAgICAgICAgICAgICAgIGxldCB3YXRlciA9IHRhcmdldC5nZXRDaGlsZEJ5TmFtZShcIndhdmVcIikuZ2V0Q2hpbGRCeU5hbWUoXCJ3YXRlclwiKTtcclxuICAgICAgICAgICAgICAgIHdhdGVyLm9wYWNpdHkgPSAwXHJcbiAgICAgICAgICAgICAgICB3YXRlci5ydW5BY3Rpb24oY2Muc2VxdWVuY2UoY2Mucm90YXRlVG8oNy4yLC0xMDgwKSxjYy5kZWxheVRpbWUoMCkpLnJlcGVhdEZvcmV2ZXIoKSk7XHJcbiAgICAgICAgICAgICAgICBzZXRUaW1lb3V0KCgpID0+IHtcclxuICAgICAgICAgICAgICAgICAgICB3YXRlci5vcGFjaXR5ID0gMjU1O1xyXG4gICAgICAgICAgICAgICAgfSwgMjAwKTtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICBuYW1lID0gXCJjXCIgKyByYW5kb207XHJcbiAgICAgICAgICAgIC8vaWYodGhpcy5ibG9ja19UeXBlICE9IGNjLkVudW0oQmxvY2tUeXBlKS5SZWluZm9yY2UpdGFyZ2V0LmdldENvbXBvbmVudChjYy5TcHJpdGUpLnNwcml0ZUZyYW1lID0gdGhpcy5VSVtcIl9zcHJpdGVGcmFtZXNcIl1bbmFtZV07XHJcbiAgICAgICAgICAgIHByb2dyZXNzID0gMC4yNTtcclxuICAgICAgICAgICAgaWYodGhpcy5wYXRoX1R5cGUgPT0gY2MuRW51bShQYXRoVHlwZSkudXBfbGVmdCl7XHJcbiAgICAgICAgICAgICAgICB0YXJnZXQuc2V0UG9zaXRpb24oLXRoaXMucG9zX1NoaWZ0aW5nLC10aGlzLnBvc19TaGlmdGluZyk7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgZWxzZSBpZih0aGlzLnBhdGhfVHlwZSA9PSBjYy5FbnVtKFBhdGhUeXBlKS51cF9yaWdodCl7XHJcbiAgICAgICAgICAgICAgICB0YXJnZXQuc2NhbGVYID0gLTE7XHJcbiAgICAgICAgICAgICAgICB0YXJnZXQuc2V0UG9zaXRpb24odGhpcy5wb3NfU2hpZnRpbmcsLXRoaXMucG9zX1NoaWZ0aW5nKTtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICBlbHNlIGlmKHRoaXMucGF0aF9UeXBlID09IGNjLkVudW0oUGF0aFR5cGUpLmRvd25fbGVmdCl7XHJcbiAgICAgICAgICAgICAgICB0YXJnZXQuYW5nbGUgPSAxODA7XHJcbiAgICAgICAgICAgICAgICB0YXJnZXQuc2NhbGVYID0gLTE7XHJcbiAgICAgICAgICAgICAgICB0YXJnZXQuc2V0UG9zaXRpb24oLXRoaXMucG9zX1NoaWZ0aW5nLHRoaXMucG9zX1NoaWZ0aW5nKTtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICBlbHNlIGlmKHRoaXMucGF0aF9UeXBlID09IGNjLkVudW0oUGF0aFR5cGUpLmRvd25fcmlnaHQpe1xyXG4gICAgICAgICAgICAgICAgdGFyZ2V0LmFuZ2xlID0gMTgwO1xyXG4gICAgICAgICAgICAgICAgdGFyZ2V0LnNldFBvc2l0aW9uKHRoaXMucG9zX1NoaWZ0aW5nLHRoaXMucG9zX1NoaWZ0aW5nKTtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICBlbHNlIGlmKHRoaXMucGF0aF9UeXBlID09IGNjLkVudW0oUGF0aFR5cGUpLmxlZnRfdXApe1xyXG4gICAgICAgICAgICAgICAgdGFyZ2V0LmFuZ2xlID0gLTkwO1xyXG4gICAgICAgICAgICAgICAgdGFyZ2V0LnNjYWxlWSA9IC0xO1xyXG4gICAgICAgICAgICAgICAgdGFyZ2V0LnNldFBvc2l0aW9uKHRoaXMucG9zX1NoaWZ0aW5nLHRoaXMucG9zX1NoaWZ0aW5nKTtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICBlbHNlIGlmKHRoaXMucGF0aF9UeXBlID09IGNjLkVudW0oUGF0aFR5cGUpLmxlZnRfZG93bil7XHJcbiAgICAgICAgICAgICAgICB0YXJnZXQuYW5nbGUgPSA5MDtcclxuICAgICAgICAgICAgICAgIHRhcmdldC5zZXRQb3NpdGlvbigtdGhpcy5wb3NfU2hpZnRpbmcsLXRoaXMucG9zX1NoaWZ0aW5nKTtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICBlbHNlIGlmKHRoaXMucGF0aF9UeXBlID09IGNjLkVudW0oUGF0aFR5cGUpLnJpZ2h0X3VwKXtcclxuICAgICAgICAgICAgICAgIHRhcmdldC5hbmdsZSA9IC05MDtcclxuICAgICAgICAgICAgICAgIHRhcmdldC5zZXRQb3NpdGlvbigtdGhpcy5wb3NfU2hpZnRpbmcsdGhpcy5wb3NfU2hpZnRpbmcpO1xyXG4gICAgICAgIFxyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIGVsc2UgaWYodGhpcy5wYXRoX1R5cGUgPT0gY2MuRW51bShQYXRoVHlwZSkucmlnaHRfZG93bil7XHJcbiAgICAgICAgICAgICAgICB0YXJnZXQuYW5nbGUgPSAtOTA7XHJcbiAgICAgICAgICAgICAgICB0YXJnZXQuc2NhbGVYID0gLTE7XHJcbiAgICAgICAgICAgICAgICB0YXJnZXQuc2V0UG9zaXRpb24oLXRoaXMucG9zX1NoaWZ0aW5nLC10aGlzLnBvc19TaGlmdGluZyk7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcblxyXG4gICAgICAgIGlmKHRoaXMucGF0aF9UeXBlID09IFwiRW5kXCIpe1xyXG4gICAgICAgICAgICB0YXJnZXQuYWN0aXZlID0gZmFsc2U7XHJcbiAgICAgICAgICAgIGlmKHRoaXMuYmxvY2tfVHlwZSA9PSBjYy5FbnVtKEJsb2NrVHlwZSkuRW5kKXtcclxuICAgICAgICAgICAgICAgIGlmKHRoaXMubm9kZS5nZXRDaGlsZEJ5TmFtZShcIndhdGVyU3RhcnRcIikuYWN0aXZlID09IHRydWUgJiYgdGhpcy5ibG9ja19UeXBlID09IGNjLkVudW0oQmxvY2tUeXBlKS5FbmQpe1xyXG4gICAgICAgICAgICAgICAgICAgIGNjLnR3ZWVuKHRoaXMubm9kZS5nZXRDaGlsZEJ5TmFtZShcIndhdGVyU3RhcnRcIikpXHJcbiAgICAgICAgICAgICAgICAgICAgLnRvKDAuMix7b3BhY2l0eToyNTV9KVxyXG4gICAgICAgICAgICAgICAgICAgIC5jYWxsKCgpPT57XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIC8vIGFsZXJ0KFwi5rK75rC05oiQ5YqfXCIpO1xyXG4gICAgICAgICAgICAgICAgICAgICAgICBjYy5meC5Ob3RpZmljYXRpb25zLmVtaXQoY2MuZnguTWVzc2FnZS5zaG93UmVzdWx0LFwid2luXCIpO1xyXG4gICAgICAgICAgICAgICAgICAgICAgICBjYy5meC5Ob3RpZmljYXRpb25zLmVtaXQoY2MuZnguTWVzc2FnZS5zZXREYXRhLHRydWUpO1xyXG4gICAgICAgICAgICAgICAgICAgICAgICBcclxuICAgICAgICAgICAgICAgICAgICAgICAgaWYoY2MuZnguR2FtZUNvbmZpZy5HTV9JTkZPLmxldmVsIDwgNyl7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBjYy5meC5HYW1lQ29uZmlnLkdNX0lORk8ubGV2ZWwgKz0gMTtcclxuICAgICAgICAgICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgICAgICAgICBzZXRUaW1lb3V0KCgpID0+IHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8vIGNjLmRpcmVjdG9yLmxvYWRTY2VuZShcIkdhbWVTY2VuZVwiKTtcclxuICAgICAgICAgICAgICAgICAgICAgICAgfSwgNTAwKTtcclxuICAgICAgICAgICAgICAgICAgIFxyXG4gICAgICAgICAgICAgICAgICAgIH0pXHJcbiAgICAgICAgICAgICAgICAgICAgLnN0YXJ0KCk7XHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgZWxzZXtcclxuICAgICAgICAgICAgICAgIHRhcmdldCA9IHRoaXMubm9kZS5nZXRDaGlsZEJ5TmFtZShcIkVuZFwiKTsgXHJcbiAgICAgICAgICAgICAgICB0YXJnZXQuYWN0aXZlID0gdHJ1ZTtcclxuICAgICAgICAgICAgICAgIHRhcmdldC5vcGFjaXR5ID0gMDtcclxuXHJcbiAgICAgICAgICAgICAgICBsZXQgcG9zVGVtcCA9IGRhdGEubGFzdDtcclxuICAgICAgICAgICAgICAgIGlmKHRoaXMucG9zLnggLSBwb3NUZW1wLnggPj0gMSl7XHJcbiAgICAgICAgICAgICAgICAgICAgdGFyZ2V0LmFuZ2xlID0gLTkwO1xyXG5cclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgIGVsc2UgaWYodGhpcy5wb3MueCAtIHBvc1RlbXAueCA8PSAtMSl7XHJcbiAgICAgICAgICAgICAgICAgICAgdGFyZ2V0LmFuZ2xlID0gOTA7XHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICBlbHNlIGlmKHRoaXMucG9zLnkgLSBwb3NUZW1wLnkgPj0gMSl7XHJcbiAgICAgICAgICAgICAgICAgICAgdGFyZ2V0LmFuZ2xlID0gMTgwO1xyXG4gICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICBcclxuICAgICAgICAgICAgICAgIGNjLnR3ZWVuKHRhcmdldClcclxuICAgICAgICAgICAgICAgIC50bygwLjUse29wYWNpdHk6MjU1fSlcclxuICAgICAgICAgICAgICAgIC5jYWxsKCgpID0+e1xyXG4gICAgICAgICAgICAgICAgICAgIC8vIGFsZXJ0KFwi5rK75rC05aSx6LSlXCIpXHJcbiAgICAgICAgICAgICAgICAgICAgY2MuZnguTm90aWZpY2F0aW9ucy5lbWl0KGNjLmZ4Lk1lc3NhZ2Uuc2hvd1Jlc3VsdCxcImxvc2VcIik7XHJcbiAgICAgICAgICAgICAgICAgICAgY2MuZnguTm90aWZpY2F0aW9ucy5lbWl0KGNjLmZ4Lk1lc3NhZ2Uuc2V0RGF0YSxmYWxzZSk7XHJcbiAgICAgICAgICAgICAgICAgICAgLy8gY2MuZGlyZWN0b3IubG9hZFNjZW5lKFwiR2FtZVNjZW5lXCIpO1xyXG5cclxuICAgICAgICAgICAgICAgIH0pXHJcbiAgICAgICAgICAgICAgICAuc3RhcnQoKTtcclxuICAgICAgICAgICAgfVxyXG5cclxuICAgICAgICB9XHJcbiAgICAgICAgZWxzZXtcclxuICAgICAgICAgICAgdGFyZ2V0LmFjdGl2ZSA9IHRydWU7XHJcbiAgICAgICAgICAgIHRhcmdldC5nZXRDb21wb25lbnQoY2MuU3ByaXRlKS5maWxsUmFuZ2UgPSAwO1xyXG4gICAgICAgICAgICBjYy50d2Vlbih0YXJnZXQuZ2V0Q29tcG9uZW50KGNjLlNwcml0ZSkpXHJcbiAgICAgICAgICAgIC50byh0aW1lLHtmaWxsUmFuZ2U6cHJvZ3Jlc3N9KVxyXG4gICAgICAgICAgICAuY2FsbCgoKSA9PntcclxuICAgICAgICAgICAgICAgIGlmKGRhdGEuY2lyY3VsYXRlKVxyXG4gICAgICAgICAgICAgICAgICAgIGNjLmZ4Lk5vdGlmaWNhdGlvbnMuZW1pdChjYy5meC5NZXNzYWdlLm5leHRXYXRlcixvcmRlcik7XHJcbiAgICAgICAgICAgIH0pXHJcbiAgICAgICAgICAgIC5zdGFydCgpO1xyXG4gICAgICAgIH1cclxuXHJcbiAgICB9XHJcblxyXG4gICAgLy8gdXBkYXRlIChkdCkge31cclxufVxyXG4iXX0= -//------QC-SOURCE-SPLIT------ - - (function() { - var nodeEnv = typeof require !== 'undefined' && typeof process !== 'undefined'; - var __module = nodeEnv ? module : {exports:{}}; - var __filename = 'preview-scripts/assets/Script/Window.js'; - var __require = nodeEnv ? function (request) { - return cc.require(request); - } : function (request) { - return __quick_compile_project__.require(request, __filename); - }; - function __define (exports, require, module) { - if (!nodeEnv) {__quick_compile_project__.registerModule(__filename, module);}"use strict"; -cc._RF.push(module, '3bad2uyOw5MzLq3b5g9aHn2', 'Window'); -// Script/Window.ts - -"use strict"; -// Learn TypeScript: -// - https://docs.cocos.com/creator/manual/en/scripting/typescript.html -// Learn Attribute: -// - https://docs.cocos.com/creator/manual/en/scripting/reference/attributes.html -// Learn life-cycle callbacks: -// - https://docs.cocos.com/creator/manual/en/scripting/life-cycle-callbacks.html -var __extends = (this && this.__extends) || (function () { - var extendStatics = function (d, b) { - extendStatics = Object.setPrototypeOf || - ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) || - function (d, b) { for (var p in b) if (Object.prototype.hasOwnProperty.call(b, p)) d[p] = b[p]; }; - return extendStatics(d, b); - }; - return function (d, b) { - extendStatics(d, b); - function __() { this.constructor = d; } - d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __()); - }; -})(); -var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) { - var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d; - if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc); - else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r; - return c > 3 && r && Object.defineProperty(target, key, r), r; -}; -Object.defineProperty(exports, "__esModule", { value: true }); -var _a = cc._decorator, ccclass = _a.ccclass, property = _a.property; -var NewClass = /** @class */ (function (_super) { - __extends(NewClass, _super); - function NewClass() { - return _super !== null && _super.apply(this, arguments) || this; - } - // LIFE-CYCLE CALLBACKS: - // onLoad () {} - NewClass.prototype.start = function () { - }; - NewClass.prototype.init = function (data) { - var _this = this; - this.node.getChildByName("win").active = false; - this.node.getChildByName("lose").active = false; - this.node.getChildByName("finishi").active = false; - this.node.getChildByName(data).active = true; - var target = this.node.getChildByName(data); - target.opacity = 0; - target.scale = 2; - cc.tween(target) - .delay(0.2) - .to(0.4, { opacity: 255, scale: 1 }) - .delay(1.3) - .call(function () { - cc.tween(_this.node) - .to(0.3, { opacity: 0 }) - .call(function () { - _this.node.active = false; - cc.director.loadScene("GameScene"); - }) - .start(); - }) - .start(); - }; - NewClass = __decorate([ - ccclass - ], NewClass); - return NewClass; -}(cc.Component)); -exports.default = NewClass; - -cc._RF.pop(); - } - if (nodeEnv) { - __define(__module.exports, __require, __module); - } - else { - __quick_compile_project__.registerModuleFunc(__filename, function () { - __define(__module.exports, __require, __module); - }); - } - })(); -//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbImFzc2V0c1xcU2NyaXB0XFxXaW5kb3cudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7Ozs7Ozs7OztBQUFBLG9CQUFvQjtBQUNwQix3RUFBd0U7QUFDeEUsbUJBQW1CO0FBQ25CLGtGQUFrRjtBQUNsRiw4QkFBOEI7QUFDOUIsa0ZBQWtGOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7QUFFNUUsSUFBQSxLQUFzQixFQUFFLENBQUMsVUFBVSxFQUFsQyxPQUFPLGFBQUEsRUFBRSxRQUFRLGNBQWlCLENBQUM7QUFHMUM7SUFBc0MsNEJBQVk7SUFBbEQ7O0lBa0NBLENBQUM7SUFoQ0csd0JBQXdCO0lBRXhCLGVBQWU7SUFFZix3QkFBSyxHQUFMO0lBRUEsQ0FBQztJQUVELHVCQUFJLEdBQUosVUFBSyxJQUFJO1FBQVQsaUJBcUJDO1FBcEJHLElBQUksQ0FBQyxJQUFJLENBQUMsY0FBYyxDQUFDLEtBQUssQ0FBQyxDQUFDLE1BQU0sR0FBRyxLQUFLLENBQUM7UUFDL0MsSUFBSSxDQUFDLElBQUksQ0FBQyxjQUFjLENBQUMsTUFBTSxDQUFDLENBQUMsTUFBTSxHQUFHLEtBQUssQ0FBQztRQUNoRCxJQUFJLENBQUMsSUFBSSxDQUFDLGNBQWMsQ0FBQyxTQUFTLENBQUMsQ0FBQyxNQUFNLEdBQUcsS0FBSyxDQUFDO1FBQ25ELElBQUksQ0FBQyxJQUFJLENBQUMsY0FBYyxDQUFDLElBQUksQ0FBQyxDQUFDLE1BQU0sR0FBRyxJQUFJLENBQUM7UUFDN0MsSUFBSSxNQUFNLEdBQUcsSUFBSSxDQUFDLElBQUksQ0FBQyxjQUFjLENBQUMsSUFBSSxDQUFDLENBQUM7UUFDNUMsTUFBTSxDQUFDLE9BQU8sR0FBRyxDQUFDLENBQUM7UUFBQyxNQUFNLENBQUMsS0FBSyxHQUFHLENBQUMsQ0FBQztRQUNyQyxFQUFFLENBQUMsS0FBSyxDQUFDLE1BQU0sQ0FBQzthQUNmLEtBQUssQ0FBQyxHQUFHLENBQUM7YUFDVixFQUFFLENBQUMsR0FBRyxFQUFDLEVBQUMsT0FBTyxFQUFDLEdBQUcsRUFBQyxLQUFLLEVBQUMsQ0FBQyxFQUFDLENBQUM7YUFDN0IsS0FBSyxDQUFDLEdBQUcsQ0FBQzthQUNWLElBQUksQ0FBQztZQUNGLEVBQUUsQ0FBQyxLQUFLLENBQUMsS0FBSSxDQUFDLElBQUksQ0FBQztpQkFDbEIsRUFBRSxDQUFDLEdBQUcsRUFBQyxFQUFDLE9BQU8sRUFBQyxDQUFDLEVBQUMsQ0FBQztpQkFDbkIsSUFBSSxDQUFDO2dCQUNGLEtBQUksQ0FBQyxJQUFJLENBQUMsTUFBTSxHQUFHLEtBQUssQ0FBQztnQkFDekIsRUFBRSxDQUFDLFFBQVEsQ0FBQyxTQUFTLENBQUMsV0FBVyxDQUFDLENBQUM7WUFDdkMsQ0FBQyxDQUFDO2lCQUNELEtBQUssRUFBRSxDQUFDO1FBQ2IsQ0FBQyxDQUFDO2FBQ0QsS0FBSyxFQUFFLENBQUM7SUFDYixDQUFDO0lBL0JnQixRQUFRO1FBRDVCLE9BQU87T0FDYSxRQUFRLENBa0M1QjtJQUFELGVBQUM7Q0FsQ0QsQUFrQ0MsQ0FsQ3FDLEVBQUUsQ0FBQyxTQUFTLEdBa0NqRDtrQkFsQ29CLFFBQVEiLCJmaWxlIjoiIiwic291cmNlUm9vdCI6Ii8iLCJzb3VyY2VzQ29udGVudCI6WyIvLyBMZWFybiBUeXBlU2NyaXB0OlxyXG4vLyAgLSBodHRwczovL2RvY3MuY29jb3MuY29tL2NyZWF0b3IvbWFudWFsL2VuL3NjcmlwdGluZy90eXBlc2NyaXB0Lmh0bWxcclxuLy8gTGVhcm4gQXR0cmlidXRlOlxyXG4vLyAgLSBodHRwczovL2RvY3MuY29jb3MuY29tL2NyZWF0b3IvbWFudWFsL2VuL3NjcmlwdGluZy9yZWZlcmVuY2UvYXR0cmlidXRlcy5odG1sXHJcbi8vIExlYXJuIGxpZmUtY3ljbGUgY2FsbGJhY2tzOlxyXG4vLyAgLSBodHRwczovL2RvY3MuY29jb3MuY29tL2NyZWF0b3IvbWFudWFsL2VuL3NjcmlwdGluZy9saWZlLWN5Y2xlLWNhbGxiYWNrcy5odG1sXHJcblxyXG5jb25zdCB7Y2NjbGFzcywgcHJvcGVydHl9ID0gY2MuX2RlY29yYXRvcjtcclxuXHJcbkBjY2NsYXNzXHJcbmV4cG9ydCBkZWZhdWx0IGNsYXNzIE5ld0NsYXNzIGV4dGVuZHMgY2MuQ29tcG9uZW50IHtcclxuXHJcbiAgICAvLyBMSUZFLUNZQ0xFIENBTExCQUNLUzpcclxuXHJcbiAgICAvLyBvbkxvYWQgKCkge31cclxuXHJcbiAgICBzdGFydCAoKSB7XHJcblxyXG4gICAgfVxyXG5cclxuICAgIGluaXQoZGF0YSl7XHJcbiAgICAgICAgdGhpcy5ub2RlLmdldENoaWxkQnlOYW1lKFwid2luXCIpLmFjdGl2ZSA9IGZhbHNlO1xyXG4gICAgICAgIHRoaXMubm9kZS5nZXRDaGlsZEJ5TmFtZShcImxvc2VcIikuYWN0aXZlID0gZmFsc2U7XHJcbiAgICAgICAgdGhpcy5ub2RlLmdldENoaWxkQnlOYW1lKFwiZmluaXNoaVwiKS5hY3RpdmUgPSBmYWxzZTtcclxuICAgICAgICB0aGlzLm5vZGUuZ2V0Q2hpbGRCeU5hbWUoZGF0YSkuYWN0aXZlID0gdHJ1ZTtcclxuICAgICAgICB2YXIgdGFyZ2V0ID0gdGhpcy5ub2RlLmdldENoaWxkQnlOYW1lKGRhdGEpO1xyXG4gICAgICAgIHRhcmdldC5vcGFjaXR5ID0gMDsgdGFyZ2V0LnNjYWxlID0gMjtcclxuICAgICAgICBjYy50d2Vlbih0YXJnZXQpXHJcbiAgICAgICAgLmRlbGF5KDAuMilcclxuICAgICAgICAudG8oMC40LHtvcGFjaXR5OjI1NSxzY2FsZToxfSlcclxuICAgICAgICAuZGVsYXkoMS4zKVxyXG4gICAgICAgIC5jYWxsKCgpPT57XHJcbiAgICAgICAgICAgIGNjLnR3ZWVuKHRoaXMubm9kZSlcclxuICAgICAgICAgICAgLnRvKDAuMyx7b3BhY2l0eTowfSlcclxuICAgICAgICAgICAgLmNhbGwoKCkgPT57XHJcbiAgICAgICAgICAgICAgICB0aGlzLm5vZGUuYWN0aXZlID0gZmFsc2U7XHJcbiAgICAgICAgICAgICAgICBjYy5kaXJlY3Rvci5sb2FkU2NlbmUoXCJHYW1lU2NlbmVcIik7XHJcbiAgICAgICAgICAgIH0pXHJcbiAgICAgICAgICAgIC5zdGFydCgpO1xyXG4gICAgICAgIH0pXHJcbiAgICAgICAgLnN0YXJ0KCk7XHJcbiAgICB9XHJcblxyXG4gICAgLy8gdXBkYXRlIChkdCkge31cclxufVxyXG4iXX0= -//------QC-SOURCE-SPLIT------ - - (function() { - var nodeEnv = typeof require !== 'undefined' && typeof process !== 'undefined'; - var __module = nodeEnv ? module : {exports:{}}; - var __filename = 'preview-scripts/assets/Script/ControlManager.js'; - var __require = nodeEnv ? function (request) { - return cc.require(request); - } : function (request) { - return __quick_compile_project__.require(request, __filename); - }; - function __define (exports, require, module) { - if (!nodeEnv) {__quick_compile_project__.registerModule(__filename, module);}"use strict"; -cc._RF.push(module, 'e35abcX5VRAoItO6mgFcYyX', 'ControlManager'); -// Script/ControlManager.ts - -"use strict"; -// Learn TypeScript: -// - https://docs.cocos.com/creator/manual/en/scripting/typescript.html -// Learn Attribute: -// - https://docs.cocos.com/creator/manual/en/scripting/reference/attributes.html -// Learn life-cycle callbacks: -// - https://docs.cocos.com/creator/manual/en/scripting/life-cycle-callbacks.html -var __extends = (this && this.__extends) || (function () { - var extendStatics = function (d, b) { - extendStatics = Object.setPrototypeOf || - ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) || - function (d, b) { for (var p in b) if (Object.prototype.hasOwnProperty.call(b, p)) d[p] = b[p]; }; - return extendStatics(d, b); - }; - return function (d, b) { - extendStatics(d, b); - function __() { this.constructor = d; } - d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __()); - }; -})(); -var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) { - var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d; - if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc); - else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r; - return c > 3 && r && Object.defineProperty(target, key, r), r; -}; -Object.defineProperty(exports, "__esModule", { value: true }); -var _a = cc._decorator, ccclass = _a.ccclass, property = _a.property; -var NewClass = /** @class */ (function (_super) { - __extends(NewClass, _super); - function NewClass() { - var _this = _super !== null && _super.apply(this, arguments) || this; - _this.Map = null; - _this.tip = null; - _this.reinforce = null; - _this.soil = null; - return _this; - // update (dt) {} - } - // LIFE-CYCLE CALLBACKS: - // onLoad () {} - NewClass.prototype.start = function () { - this.tipArray = []; - this.controlArray = []; - this.canTouch = true; - this.Reinforce = false; - this.Soil = false; - }; - NewClass.prototype.setPosition = function (tip) { - tip.setPosition(30, -35); - if (this.tipArray.length > 0) { - var length = this.tipArray.length + 1; - var posY = Math.ceil(length / 8) - 1; - var posX = length - Math.floor(posY) * 8 - 1; - tip.setPosition(30 + 48 * posX, -35 - 48 * posY); - } - }; - //清空所有 - NewClass.prototype.removeAllTip = function () { - if (!this.canTouch) - return; - if (this.tipArray.length > 0) { - cc.fx.AudioManager._instance.playEffect("qingkong", null); - for (var i = 0; i < this.tipArray.length; i++) { - var tip = this.tipArray[i]; - tip.active = false; - tip.removeFromParent(this.Map); - tip = null; - } - this.tipArray = []; - this.controlArray = []; - var drawingReset = cc.fx.GameConfig.CLICK_DATA.drawingReset + 1; - cc.fx.GameConfig.CLICK_SET("drawingReset", drawingReset); - cc.fx.Notifications.emit(cc.fx.Message.removeTip, "remove"); - } - }; - //撤回一步 - NewClass.prototype.back_Click = function () { - if (!this.canTouch) - return; - if (this.tipArray.length > 0) { - cc.fx.AudioManager._instance.playEffect("chehui", null); - var tip = this.tipArray[this.tipArray.length - 1]; - tip.active = false; - tip.removeFromParent(this.Map); - tip = null; - this.tipArray.pop(); - this.controlArray.pop(); - var drawingBack = cc.fx.GameConfig.CLICK_DATA.drawingBack + 1; - cc.fx.GameConfig.CLICK_SET("drawingBack", drawingBack); - cc.fx.Notifications.emit(cc.fx.Message.removeTip, "back"); - } - }; - //点击事件 - NewClass.prototype.btn_Click = function (target, data) { - var GameManager = this.node.parent.getComponent("GameManager"); - if (GameManager.btnClick == true) { - GameManager.btnClick = false; - cc.fx.Notifications.emit(cc.fx.Message.guideNext); - } - cc.fx.Notifications.emit(cc.fx.Message.control, data); - if (!this.canTouch) - return; - var prefab = this.tip; - if (data == "reinforce" || data == "soil") { - prefab = this[data]; - if (data == "reinforce") { - if (this.Reinforce) { - this.Reinforce = false; - this.back_Click(); - return; - } - else { - cc.fx.AudioManager._instance.playEffect("jineng", null); - this.Reinforce = true; - this.Soil = false; - } - } - else if (data == "soil") { - if (this.Soil) { - this.Soil = false; - this.back_Click(); - return; - } - else { - cc.fx.AudioManager._instance.playEffect("jineng", null); - this.Soil = true; - this.Reinforce = false; - } - } - } - else { - cc.fx.AudioManager._instance.playEffect("fangxiang", null); - this.Reinforce = false; - this.Soil = false; - } - var tip = cc.instantiate(prefab); - if (data == "up") - tip.angle = 180; - if (data == "left") - tip.angle = -90; - if (data == "right") - tip.angle = 90; - tip.parent = this.Map; - if (this.controlArray[this.controlArray.length - 1] == "reinforce" || - this.controlArray[this.controlArray.length - 1] == "soil") { - if (data == "reinforce" || data == "soil") { - this.tipArray[this.tipArray.length - 1].removeFromParent(); - this.tipArray[this.tipArray.length - 1] = null; - this.tipArray.pop(); - this.controlArray.pop(); - } - } - this.setPosition(tip); - this.tipArray.push(tip); - this.controlArray.push(data); - }; - //点击开始 创建河道 - NewClass.prototype.start_Click = function () { - if (!this.canTouch) - return; - this.canTouch = false; - cc.fx.AudioManager._instance.playEffect("build", null); - cc.fx.Notifications.emit(cc.fx.Message.startGame, this.controlArray); - }; - __decorate([ - property(cc.Node) - ], NewClass.prototype, "Map", void 0); - __decorate([ - property(cc.Prefab) - ], NewClass.prototype, "tip", void 0); - __decorate([ - property(cc.Prefab) - ], NewClass.prototype, "reinforce", void 0); - __decorate([ - property(cc.Prefab) - ], NewClass.prototype, "soil", void 0); - NewClass = __decorate([ - ccclass - ], NewClass); - return NewClass; -}(cc.Component)); -exports.default = NewClass; - -cc._RF.pop(); - } - if (nodeEnv) { - __define(__module.exports, __require, __module); - } - else { - __quick_compile_project__.registerModuleFunc(__filename, function () { - __define(__module.exports, __require, __module); - }); - } - })(); -//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbImFzc2V0c1xcU2NyaXB0XFxDb250cm9sTWFuYWdlci50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7Ozs7Ozs7O0FBQUEsb0JBQW9CO0FBQ3BCLHdFQUF3RTtBQUN4RSxtQkFBbUI7QUFDbkIsa0ZBQWtGO0FBQ2xGLDhCQUE4QjtBQUM5QixrRkFBa0Y7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OztBQUU1RSxJQUFBLEtBQXNCLEVBQUUsQ0FBQyxVQUFVLEVBQWxDLE9BQU8sYUFBQSxFQUFFLFFBQVEsY0FBaUIsQ0FBQztBQUcxQztJQUFzQyw0QkFBWTtJQUFsRDtRQUFBLHFFQWdKQztRQTdJRyxTQUFHLEdBQVksSUFBSSxDQUFDO1FBRXBCLFNBQUcsR0FBYyxJQUFJLENBQUM7UUFFdEIsZUFBUyxHQUFjLElBQUksQ0FBQztRQUU1QixVQUFJLEdBQWMsSUFBSSxDQUFDOztRQXNJdkIsaUJBQWlCO0lBQ3JCLENBQUM7SUEvSEcsd0JBQXdCO0lBRXhCLGVBQWU7SUFFZix3QkFBSyxHQUFMO1FBQ0ksSUFBSSxDQUFDLFFBQVEsR0FBRyxFQUFFLENBQUM7UUFDbkIsSUFBSSxDQUFDLFlBQVksR0FBRyxFQUFFLENBQUM7UUFDdkIsSUFBSSxDQUFDLFFBQVEsR0FBRyxJQUFJLENBQUM7UUFDckIsSUFBSSxDQUFDLFNBQVMsR0FBRyxLQUFLLENBQUM7UUFDdkIsSUFBSSxDQUFDLElBQUksR0FBRyxLQUFLLENBQUM7SUFDdEIsQ0FBQztJQUVELDhCQUFXLEdBQVgsVUFBWSxHQUFHO1FBQ1gsR0FBRyxDQUFDLFdBQVcsQ0FBQyxFQUFFLEVBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQztRQUN4QixJQUFHLElBQUksQ0FBQyxRQUFRLENBQUMsTUFBTSxHQUFHLENBQUMsRUFBQztZQUN4QixJQUFJLE1BQU0sR0FBRyxJQUFJLENBQUMsUUFBUSxDQUFDLE1BQU0sR0FBQyxDQUFDLENBQUM7WUFDcEMsSUFBSSxJQUFJLEdBQUcsSUFBSSxDQUFDLElBQUksQ0FBQyxNQUFNLEdBQUMsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxDQUFDO1lBQ25DLElBQUksSUFBSSxHQUFHLE1BQU0sR0FBRyxJQUFJLENBQUMsS0FBSyxDQUFDLElBQUksQ0FBQyxHQUFDLENBQUMsR0FBRyxDQUFDLENBQUM7WUFDM0MsR0FBRyxDQUFDLFdBQVcsQ0FBQyxFQUFFLEdBQUcsRUFBRSxHQUFDLElBQUksRUFBQyxDQUFDLEVBQUUsR0FBRSxFQUFFLEdBQUMsSUFBSSxDQUFDLENBQUM7U0FDOUM7SUFDTCxDQUFDO0lBQ0QsTUFBTTtJQUNOLCtCQUFZLEdBQVo7UUFDSSxJQUFHLENBQUMsSUFBSSxDQUFDLFFBQVE7WUFBRSxPQUFPO1FBQzFCLElBQUcsSUFBSSxDQUFDLFFBQVEsQ0FBQyxNQUFNLEdBQUcsQ0FBQyxFQUFDO1lBQ3hCLEVBQUUsQ0FBQyxFQUFFLENBQUMsWUFBWSxDQUFDLFNBQVMsQ0FBQyxVQUFVLENBQUMsVUFBVSxFQUFDLElBQUksQ0FBQyxDQUFDO1lBQ3pELEtBQUksSUFBSSxDQUFDLEdBQUMsQ0FBQyxFQUFFLENBQUMsR0FBQyxJQUFJLENBQUMsUUFBUSxDQUFDLE1BQU0sRUFBQyxDQUFDLEVBQUUsRUFBQztnQkFDcEMsSUFBSSxHQUFHLEdBQUcsSUFBSSxDQUFDLFFBQVEsQ0FBQyxDQUFDLENBQUMsQ0FBQztnQkFDM0IsR0FBRyxDQUFDLE1BQU0sR0FBRyxLQUFLLENBQUM7Z0JBQ25CLEdBQUcsQ0FBQyxnQkFBZ0IsQ0FBQyxJQUFJLENBQUMsR0FBRyxDQUFDLENBQUM7Z0JBQy9CLEdBQUcsR0FBRyxJQUFJLENBQUM7YUFDZDtZQUNELElBQUksQ0FBQyxRQUFRLEdBQUcsRUFBRSxDQUFDO1lBQ25CLElBQUksQ0FBQyxZQUFZLEdBQUcsRUFBRSxDQUFDO1lBQ3ZCLElBQUksWUFBWSxHQUFHLEVBQUUsQ0FBQyxFQUFFLENBQUMsVUFBVSxDQUFDLFVBQVUsQ0FBQyxZQUFZLEdBQUcsQ0FBQyxDQUFDO1lBQ2hFLEVBQUUsQ0FBQyxFQUFFLENBQUMsVUFBVSxDQUFDLFNBQVMsQ0FBQyxjQUFjLEVBQUMsWUFBWSxDQUFDLENBQUM7WUFDeEQsRUFBRSxDQUFDLEVBQUUsQ0FBQyxhQUFhLENBQUMsSUFBSSxDQUFDLEVBQUUsQ0FBQyxFQUFFLENBQUMsT0FBTyxDQUFDLFNBQVMsRUFBQyxRQUFRLENBQUMsQ0FBQztTQUM5RDtJQUNMLENBQUM7SUFDRCxNQUFNO0lBQ04sNkJBQVUsR0FBVjtRQUNJLElBQUcsQ0FBQyxJQUFJLENBQUMsUUFBUTtZQUFFLE9BQU87UUFDMUIsSUFBRyxJQUFJLENBQUMsUUFBUSxDQUFDLE1BQU0sR0FBRyxDQUFDLEVBQUM7WUFDeEIsRUFBRSxDQUFDLEVBQUUsQ0FBQyxZQUFZLENBQUMsU0FBUyxDQUFDLFVBQVUsQ0FBQyxRQUFRLEVBQUMsSUFBSSxDQUFDLENBQUM7WUFDdkQsSUFBSSxHQUFHLEdBQUcsSUFBSSxDQUFDLFFBQVEsQ0FBQyxJQUFJLENBQUMsUUFBUSxDQUFDLE1BQU0sR0FBQyxDQUFDLENBQUMsQ0FBQztZQUNoRCxHQUFHLENBQUMsTUFBTSxHQUFHLEtBQUssQ0FBQztZQUNuQixHQUFHLENBQUMsZ0JBQWdCLENBQUMsSUFBSSxDQUFDLEdBQUcsQ0FBQyxDQUFDO1lBQy9CLEdBQUcsR0FBRyxJQUFJLENBQUM7WUFDWCxJQUFJLENBQUMsUUFBUSxDQUFDLEdBQUcsRUFBRSxDQUFDO1lBQ3BCLElBQUksQ0FBQyxZQUFZLENBQUMsR0FBRyxFQUFFLENBQUM7WUFDeEIsSUFBSSxXQUFXLEdBQUcsRUFBRSxDQUFDLEVBQUUsQ0FBQyxVQUFVLENBQUMsVUFBVSxDQUFDLFdBQVcsR0FBRyxDQUFDLENBQUM7WUFDOUQsRUFBRSxDQUFDLEVBQUUsQ0FBQyxVQUFVLENBQUMsU0FBUyxDQUFDLGFBQWEsRUFBQyxXQUFXLENBQUMsQ0FBQztZQUN0RCxFQUFFLENBQUMsRUFBRSxDQUFDLGFBQWEsQ0FBQyxJQUFJLENBQUMsRUFBRSxDQUFDLEVBQUUsQ0FBQyxPQUFPLENBQUMsU0FBUyxFQUFDLE1BQU0sQ0FBQyxDQUFDO1NBQzVEO0lBQ0wsQ0FBQztJQUVELE1BQU07SUFDTiw0QkFBUyxHQUFULFVBQVUsTUFBTSxFQUFDLElBQUk7UUFDakIsSUFBSSxXQUFXLEdBQUcsSUFBSSxDQUFDLElBQUksQ0FBQyxNQUFNLENBQUMsWUFBWSxDQUFDLGFBQWEsQ0FBQyxDQUFDO1FBQy9ELElBQUcsV0FBVyxDQUFDLFFBQVEsSUFBSSxJQUFJLEVBQUM7WUFDNUIsV0FBVyxDQUFDLFFBQVEsR0FBRyxLQUFLLENBQUM7WUFDN0IsRUFBRSxDQUFDLEVBQUUsQ0FBQyxhQUFhLENBQUMsSUFBSSxDQUFDLEVBQUUsQ0FBQyxFQUFFLENBQUMsT0FBTyxDQUFDLFNBQVMsQ0FBQyxDQUFDO1NBQ3JEO1FBQ0QsRUFBRSxDQUFDLEVBQUUsQ0FBQyxhQUFhLENBQUMsSUFBSSxDQUFDLEVBQUUsQ0FBQyxFQUFFLENBQUMsT0FBTyxDQUFDLE9BQU8sRUFBQyxJQUFJLENBQUMsQ0FBQztRQUNyRCxJQUFHLENBQUMsSUFBSSxDQUFDLFFBQVE7WUFBRSxPQUFPO1FBQzFCLElBQUksTUFBTSxHQUFHLElBQUksQ0FBQyxHQUFHLENBQUM7UUFDdEIsSUFBRyxJQUFJLElBQUksV0FBVyxJQUFJLElBQUksSUFBSSxNQUFNLEVBQUM7WUFDckMsTUFBTSxHQUFHLElBQUksQ0FBQyxJQUFJLENBQUMsQ0FBQztZQUNwQixJQUFHLElBQUksSUFBSSxXQUFXLEVBQUM7Z0JBQ25CLElBQUcsSUFBSSxDQUFDLFNBQVMsRUFBQztvQkFDZCxJQUFJLENBQUMsU0FBUyxHQUFHLEtBQUssQ0FBQztvQkFDdkIsSUFBSSxDQUFDLFVBQVUsRUFBRSxDQUFDO29CQUNsQixPQUFPO2lCQUNWO3FCQUFJO29CQUNELEVBQUUsQ0FBQyxFQUFFLENBQUMsWUFBWSxDQUFDLFNBQVMsQ0FBQyxVQUFVLENBQUMsUUFBUSxFQUFDLElBQUksQ0FBQyxDQUFDO29CQUN2RCxJQUFJLENBQUMsU0FBUyxHQUFHLElBQUksQ0FBQztvQkFDdEIsSUFBSSxDQUFDLElBQUksR0FBRyxLQUFLLENBQUM7aUJBQ3JCO2FBQ0o7aUJBQ0ksSUFBRyxJQUFJLElBQUksTUFBTSxFQUFDO2dCQUNuQixJQUFHLElBQUksQ0FBQyxJQUFJLEVBQUM7b0JBQ1QsSUFBSSxDQUFDLElBQUksR0FBRyxLQUFLLENBQUM7b0JBQ2xCLElBQUksQ0FBQyxVQUFVLEVBQUUsQ0FBQztvQkFDbEIsT0FBTztpQkFDVjtxQkFBSTtvQkFDRCxFQUFFLENBQUMsRUFBRSxDQUFDLFlBQVksQ0FBQyxTQUFTLENBQUMsVUFBVSxDQUFDLFFBQVEsRUFBQyxJQUFJLENBQUMsQ0FBQztvQkFDdkQsSUFBSSxDQUFDLElBQUksR0FBRyxJQUFJLENBQUM7b0JBQ2pCLElBQUksQ0FBQyxTQUFTLEdBQUcsS0FBSyxDQUFDO2lCQUMxQjthQUNKO1NBQ0o7YUFDRztZQUNBLEVBQUUsQ0FBQyxFQUFFLENBQUMsWUFBWSxDQUFDLFNBQVMsQ0FBQyxVQUFVLENBQUMsV0FBVyxFQUFDLElBQUksQ0FBQyxDQUFDO1lBQzFELElBQUksQ0FBQyxTQUFTLEdBQUcsS0FBSyxDQUFDO1lBQ3ZCLElBQUksQ0FBQyxJQUFJLEdBQUcsS0FBSyxDQUFDO1NBQ3JCO1FBQ0QsSUFBSSxHQUFHLEdBQUcsRUFBRSxDQUFDLFdBQVcsQ0FBQyxNQUFNLENBQUMsQ0FBQztRQUNqQyxJQUFHLElBQUksSUFBSSxJQUFJO1lBQUUsR0FBRyxDQUFDLEtBQUssR0FBRyxHQUFHLENBQUM7UUFDakMsSUFBRyxJQUFJLElBQUksTUFBTTtZQUFFLEdBQUcsQ0FBQyxLQUFLLEdBQUcsQ0FBQyxFQUFFLENBQUM7UUFDbkMsSUFBRyxJQUFJLElBQUksT0FBTztZQUFFLEdBQUcsQ0FBQyxLQUFLLEdBQUcsRUFBRSxDQUFDO1FBQ25DLEdBQUcsQ0FBQyxNQUFNLEdBQUcsSUFBSSxDQUFDLEdBQUcsQ0FBQztRQUV0QixJQUFHLElBQUksQ0FBQyxZQUFZLENBQUMsSUFBSSxDQUFDLFlBQVksQ0FBQyxNQUFNLEdBQUMsQ0FBQyxDQUFDLElBQUksV0FBVztZQUMzRCxJQUFJLENBQUMsWUFBWSxDQUFDLElBQUksQ0FBQyxZQUFZLENBQUMsTUFBTSxHQUFDLENBQUMsQ0FBQyxJQUFJLE1BQU0sRUFBQztZQUNwRCxJQUFHLElBQUksSUFBSSxXQUFXLElBQUksSUFBSSxJQUFJLE1BQU0sRUFBQztnQkFDckMsSUFBSSxDQUFDLFFBQVEsQ0FBQyxJQUFJLENBQUMsUUFBUSxDQUFDLE1BQU0sR0FBQyxDQUFDLENBQUMsQ0FBQyxnQkFBZ0IsRUFBRSxDQUFDO2dCQUN6RCxJQUFJLENBQUMsUUFBUSxDQUFDLElBQUksQ0FBQyxRQUFRLENBQUMsTUFBTSxHQUFDLENBQUMsQ0FBQyxHQUFHLElBQUksQ0FBQztnQkFDN0MsSUFBSSxDQUFDLFFBQVEsQ0FBQyxHQUFHLEVBQUUsQ0FBQztnQkFDcEIsSUFBSSxDQUFDLFlBQVksQ0FBQyxHQUFHLEVBQUUsQ0FBQzthQUMzQjtTQUNSO1FBQ0QsSUFBSSxDQUFDLFdBQVcsQ0FBQyxHQUFHLENBQUMsQ0FBQztRQUV0QixJQUFJLENBQUMsUUFBUSxDQUFDLElBQUksQ0FBQyxHQUFHLENBQUMsQ0FBQztRQUN4QixJQUFJLENBQUMsWUFBWSxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsQ0FBQztJQUVqQyxDQUFDO0lBRUQsV0FBVztJQUNYLDhCQUFXLEdBQVg7UUFDSSxJQUFHLENBQUMsSUFBSSxDQUFDLFFBQVE7WUFBRSxPQUFPO1FBQzFCLElBQUksQ0FBQyxRQUFRLEdBQUcsS0FBSyxDQUFDO1FBQ3RCLEVBQUUsQ0FBQyxFQUFFLENBQUMsWUFBWSxDQUFDLFNBQVMsQ0FBQyxVQUFVLENBQUMsT0FBTyxFQUFDLElBQUksQ0FBQyxDQUFDO1FBQ3RELEVBQUUsQ0FBQyxFQUFFLENBQUMsYUFBYSxDQUFDLElBQUksQ0FBQyxFQUFFLENBQUMsRUFBRSxDQUFDLE9BQU8sQ0FBQyxTQUFTLEVBQUMsSUFBSSxDQUFDLFlBQVksQ0FBQyxDQUFDO0lBQ3hFLENBQUM7SUExSUQ7UUFEQyxRQUFRLENBQUMsRUFBRSxDQUFDLElBQUksQ0FBQzt5Q0FDRTtJQUVwQjtRQURDLFFBQVEsQ0FBQyxFQUFFLENBQUMsTUFBTSxDQUFDO3lDQUNFO0lBRXRCO1FBREMsUUFBUSxDQUFDLEVBQUUsQ0FBQyxNQUFNLENBQUM7K0NBQ1E7SUFFNUI7UUFEQyxRQUFRLENBQUMsRUFBRSxDQUFDLE1BQU0sQ0FBQzswQ0FDRztJQVROLFFBQVE7UUFENUIsT0FBTztPQUNhLFFBQVEsQ0FnSjVCO0lBQUQsZUFBQztDQWhKRCxBQWdKQyxDQWhKcUMsRUFBRSxDQUFDLFNBQVMsR0FnSmpEO2tCQWhKb0IsUUFBUSIsImZpbGUiOiIiLCJzb3VyY2VSb290IjoiLyIsInNvdXJjZXNDb250ZW50IjpbIi8vIExlYXJuIFR5cGVTY3JpcHQ6XHJcbi8vICAtIGh0dHBzOi8vZG9jcy5jb2Nvcy5jb20vY3JlYXRvci9tYW51YWwvZW4vc2NyaXB0aW5nL3R5cGVzY3JpcHQuaHRtbFxyXG4vLyBMZWFybiBBdHRyaWJ1dGU6XHJcbi8vICAtIGh0dHBzOi8vZG9jcy5jb2Nvcy5jb20vY3JlYXRvci9tYW51YWwvZW4vc2NyaXB0aW5nL3JlZmVyZW5jZS9hdHRyaWJ1dGVzLmh0bWxcclxuLy8gTGVhcm4gbGlmZS1jeWNsZSBjYWxsYmFja3M6XHJcbi8vICAtIGh0dHBzOi8vZG9jcy5jb2Nvcy5jb20vY3JlYXRvci9tYW51YWwvZW4vc2NyaXB0aW5nL2xpZmUtY3ljbGUtY2FsbGJhY2tzLmh0bWxcclxuXHJcbmNvbnN0IHtjY2NsYXNzLCBwcm9wZXJ0eX0gPSBjYy5fZGVjb3JhdG9yO1xyXG5cclxuQGNjY2xhc3NcclxuZXhwb3J0IGRlZmF1bHQgY2xhc3MgTmV3Q2xhc3MgZXh0ZW5kcyBjYy5Db21wb25lbnQge1xyXG5cclxuICAgIEBwcm9wZXJ0eShjYy5Ob2RlKVxyXG4gICAgTWFwOiBjYy5Ob2RlID0gbnVsbDtcclxuICAgIEBwcm9wZXJ0eShjYy5QcmVmYWIpXHJcbiAgICB0aXA6IGNjLlByZWZhYiA9IG51bGw7XHJcbiAgICBAcHJvcGVydHkoY2MuUHJlZmFiKVxyXG4gICAgcmVpbmZvcmNlOiBjYy5QcmVmYWIgPSBudWxsO1xyXG4gICAgQHByb3BlcnR5KGNjLlByZWZhYilcclxuICAgIHNvaWw6IGNjLlByZWZhYiA9IG51bGw7XHJcbiAgICBcclxuXHJcbiAgICB0aXBBcnJheTphbnk7XHJcbiAgICBjb250cm9sQXJyYXk6YW55O1xyXG4gICAgY2FuVG91Y2g6Ym9vbGVhbjtcclxuICAgIFJlaW5mb3JjZTpib29sZWFuO1xyXG4gICAgU29pbDpib29sZWFuO1xyXG4gICAgLy8gTElGRS1DWUNMRSBDQUxMQkFDS1M6XHJcblxyXG4gICAgLy8gb25Mb2FkICgpIHt9XHJcblxyXG4gICAgc3RhcnQgKCkge1xyXG4gICAgICAgIHRoaXMudGlwQXJyYXkgPSBbXTtcclxuICAgICAgICB0aGlzLmNvbnRyb2xBcnJheSA9IFtdO1xyXG4gICAgICAgIHRoaXMuY2FuVG91Y2ggPSB0cnVlO1xyXG4gICAgICAgIHRoaXMuUmVpbmZvcmNlID0gZmFsc2U7XHJcbiAgICAgICAgdGhpcy5Tb2lsID0gZmFsc2U7XHJcbiAgICB9XHJcblxyXG4gICAgc2V0UG9zaXRpb24odGlwKXtcclxuICAgICAgICB0aXAuc2V0UG9zaXRpb24oMzAsLTM1KTtcclxuICAgICAgICBpZih0aGlzLnRpcEFycmF5Lmxlbmd0aCA+IDApe1xyXG4gICAgICAgICAgICBsZXQgbGVuZ3RoID0gdGhpcy50aXBBcnJheS5sZW5ndGgrMTtcclxuICAgICAgICAgICAgbGV0IHBvc1kgPSBNYXRoLmNlaWwobGVuZ3RoLzgpIC0gMTtcclxuICAgICAgICAgICAgbGV0IHBvc1ggPSBsZW5ndGggLSBNYXRoLmZsb29yKHBvc1kpKjggLSAxO1xyXG4gICAgICAgICAgICB0aXAuc2V0UG9zaXRpb24oMzAgKyA0OCpwb3NYLC0zNSAtNDgqcG9zWSk7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG4gICAgLy/muIXnqbrmiYDmnIlcclxuICAgIHJlbW92ZUFsbFRpcCgpe1xyXG4gICAgICAgIGlmKCF0aGlzLmNhblRvdWNoKSByZXR1cm47XHJcbiAgICAgICAgaWYodGhpcy50aXBBcnJheS5sZW5ndGggPiAwKXtcclxuICAgICAgICAgICAgY2MuZnguQXVkaW9NYW5hZ2VyLl9pbnN0YW5jZS5wbGF5RWZmZWN0KFwicWluZ2tvbmdcIixudWxsKTtcclxuICAgICAgICAgICAgZm9yKGxldCBpPTA7IGk8dGhpcy50aXBBcnJheS5sZW5ndGg7aSsrKXtcclxuICAgICAgICAgICAgICAgIGxldCB0aXAgPSB0aGlzLnRpcEFycmF5W2ldO1xyXG4gICAgICAgICAgICAgICAgdGlwLmFjdGl2ZSA9IGZhbHNlO1xyXG4gICAgICAgICAgICAgICAgdGlwLnJlbW92ZUZyb21QYXJlbnQodGhpcy5NYXApO1xyXG4gICAgICAgICAgICAgICAgdGlwID0gbnVsbDtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICB0aGlzLnRpcEFycmF5ID0gW107XHJcbiAgICAgICAgICAgIHRoaXMuY29udHJvbEFycmF5ID0gW107XHJcbiAgICAgICAgICAgIHZhciBkcmF3aW5nUmVzZXQgPSBjYy5meC5HYW1lQ29uZmlnLkNMSUNLX0RBVEEuZHJhd2luZ1Jlc2V0ICsgMTtcclxuICAgICAgICAgICAgY2MuZnguR2FtZUNvbmZpZy5DTElDS19TRVQoXCJkcmF3aW5nUmVzZXRcIixkcmF3aW5nUmVzZXQpO1xyXG4gICAgICAgICAgICBjYy5meC5Ob3RpZmljYXRpb25zLmVtaXQoY2MuZnguTWVzc2FnZS5yZW1vdmVUaXAsXCJyZW1vdmVcIik7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG4gICAgLy/mkqTlm57kuIDmraVcclxuICAgIGJhY2tfQ2xpY2soKXtcclxuICAgICAgICBpZighdGhpcy5jYW5Ub3VjaCkgcmV0dXJuO1xyXG4gICAgICAgIGlmKHRoaXMudGlwQXJyYXkubGVuZ3RoID4gMCl7XHJcbiAgICAgICAgICAgIGNjLmZ4LkF1ZGlvTWFuYWdlci5faW5zdGFuY2UucGxheUVmZmVjdChcImNoZWh1aVwiLG51bGwpO1xyXG4gICAgICAgICAgICBsZXQgdGlwID0gdGhpcy50aXBBcnJheVt0aGlzLnRpcEFycmF5Lmxlbmd0aC0xXTtcclxuICAgICAgICAgICAgdGlwLmFjdGl2ZSA9IGZhbHNlO1xyXG4gICAgICAgICAgICB0aXAucmVtb3ZlRnJvbVBhcmVudCh0aGlzLk1hcCk7XHJcbiAgICAgICAgICAgIHRpcCA9IG51bGw7XHJcbiAgICAgICAgICAgIHRoaXMudGlwQXJyYXkucG9wKCk7XHJcbiAgICAgICAgICAgIHRoaXMuY29udHJvbEFycmF5LnBvcCgpO1xyXG4gICAgICAgICAgICB2YXIgZHJhd2luZ0JhY2sgPSBjYy5meC5HYW1lQ29uZmlnLkNMSUNLX0RBVEEuZHJhd2luZ0JhY2sgKyAxO1xyXG4gICAgICAgICAgICBjYy5meC5HYW1lQ29uZmlnLkNMSUNLX1NFVChcImRyYXdpbmdCYWNrXCIsZHJhd2luZ0JhY2spO1xyXG4gICAgICAgICAgICBjYy5meC5Ob3RpZmljYXRpb25zLmVtaXQoY2MuZnguTWVzc2FnZS5yZW1vdmVUaXAsXCJiYWNrXCIpO1xyXG4gICAgICAgIH1cclxuICAgIH1cclxuXHJcbiAgICAvL+eCueWHu+S6i+S7tlxyXG4gICAgYnRuX0NsaWNrKHRhcmdldCxkYXRhKXtcclxuICAgICAgICB2YXIgR2FtZU1hbmFnZXIgPSB0aGlzLm5vZGUucGFyZW50LmdldENvbXBvbmVudChcIkdhbWVNYW5hZ2VyXCIpO1xyXG4gICAgICAgIGlmKEdhbWVNYW5hZ2VyLmJ0bkNsaWNrID09IHRydWUpe1xyXG4gICAgICAgICAgICBHYW1lTWFuYWdlci5idG5DbGljayA9IGZhbHNlO1xyXG4gICAgICAgICAgICBjYy5meC5Ob3RpZmljYXRpb25zLmVtaXQoY2MuZnguTWVzc2FnZS5ndWlkZU5leHQpO1xyXG4gICAgICAgIH1cclxuICAgICAgICBjYy5meC5Ob3RpZmljYXRpb25zLmVtaXQoY2MuZnguTWVzc2FnZS5jb250cm9sLGRhdGEpO1xyXG4gICAgICAgIGlmKCF0aGlzLmNhblRvdWNoKSByZXR1cm47XHJcbiAgICAgICAgbGV0IHByZWZhYiA9IHRoaXMudGlwO1xyXG4gICAgICAgIGlmKGRhdGEgPT0gXCJyZWluZm9yY2VcIiB8fCBkYXRhID09IFwic29pbFwiKXtcclxuICAgICAgICAgICAgcHJlZmFiID0gdGhpc1tkYXRhXTtcclxuICAgICAgICAgICAgaWYoZGF0YSA9PSBcInJlaW5mb3JjZVwiKXtcclxuICAgICAgICAgICAgICAgIGlmKHRoaXMuUmVpbmZvcmNlKXtcclxuICAgICAgICAgICAgICAgICAgICB0aGlzLlJlaW5mb3JjZSA9IGZhbHNlO1xyXG4gICAgICAgICAgICAgICAgICAgIHRoaXMuYmFja19DbGljaygpO1xyXG4gICAgICAgICAgICAgICAgICAgIHJldHVybjtcclxuICAgICAgICAgICAgICAgIH1lbHNle1xyXG4gICAgICAgICAgICAgICAgICAgIGNjLmZ4LkF1ZGlvTWFuYWdlci5faW5zdGFuY2UucGxheUVmZmVjdChcImppbmVuZ1wiLG51bGwpO1xyXG4gICAgICAgICAgICAgICAgICAgIHRoaXMuUmVpbmZvcmNlID0gdHJ1ZTtcclxuICAgICAgICAgICAgICAgICAgICB0aGlzLlNvaWwgPSBmYWxzZTtcclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgfSBcclxuICAgICAgICAgICAgZWxzZSBpZihkYXRhID09IFwic29pbFwiKXtcclxuICAgICAgICAgICAgICAgIGlmKHRoaXMuU29pbCl7XHJcbiAgICAgICAgICAgICAgICAgICAgdGhpcy5Tb2lsID0gZmFsc2U7XHJcbiAgICAgICAgICAgICAgICAgICAgdGhpcy5iYWNrX0NsaWNrKCk7XHJcbiAgICAgICAgICAgICAgICAgICAgcmV0dXJuO1xyXG4gICAgICAgICAgICAgICAgfWVsc2V7XHJcbiAgICAgICAgICAgICAgICAgICAgY2MuZnguQXVkaW9NYW5hZ2VyLl9pbnN0YW5jZS5wbGF5RWZmZWN0KFwiamluZW5nXCIsbnVsbCk7XHJcbiAgICAgICAgICAgICAgICAgICAgdGhpcy5Tb2lsID0gdHJ1ZTtcclxuICAgICAgICAgICAgICAgICAgICB0aGlzLlJlaW5mb3JjZSA9IGZhbHNlO1xyXG4gICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICB9IFxyXG4gICAgICAgIH1cclxuICAgICAgICBlbHNle1xyXG4gICAgICAgICAgICBjYy5meC5BdWRpb01hbmFnZXIuX2luc3RhbmNlLnBsYXlFZmZlY3QoXCJmYW5neGlhbmdcIixudWxsKTtcclxuICAgICAgICAgICAgdGhpcy5SZWluZm9yY2UgPSBmYWxzZTtcclxuICAgICAgICAgICAgdGhpcy5Tb2lsID0gZmFsc2U7XHJcbiAgICAgICAgfVxyXG4gICAgICAgIGxldCB0aXAgPSBjYy5pbnN0YW50aWF0ZShwcmVmYWIpO1xyXG4gICAgICAgIGlmKGRhdGEgPT0gXCJ1cFwiKSB0aXAuYW5nbGUgPSAxODA7XHJcbiAgICAgICAgaWYoZGF0YSA9PSBcImxlZnRcIikgdGlwLmFuZ2xlID0gLTkwO1xyXG4gICAgICAgIGlmKGRhdGEgPT0gXCJyaWdodFwiKSB0aXAuYW5nbGUgPSA5MDtcclxuICAgICAgICB0aXAucGFyZW50ID0gdGhpcy5NYXA7XHJcbiAgICBcclxuICAgICAgICBpZih0aGlzLmNvbnRyb2xBcnJheVt0aGlzLmNvbnRyb2xBcnJheS5sZW5ndGgtMV0gPT0gXCJyZWluZm9yY2VcIiB8fCBcclxuICAgICAgICAgICAgdGhpcy5jb250cm9sQXJyYXlbdGhpcy5jb250cm9sQXJyYXkubGVuZ3RoLTFdID09IFwic29pbFwiKXtcclxuICAgICAgICAgICAgICAgIGlmKGRhdGEgPT0gXCJyZWluZm9yY2VcIiB8fCBkYXRhID09IFwic29pbFwiKXtcclxuICAgICAgICAgICAgICAgICAgICB0aGlzLnRpcEFycmF5W3RoaXMudGlwQXJyYXkubGVuZ3RoLTFdLnJlbW92ZUZyb21QYXJlbnQoKTtcclxuICAgICAgICAgICAgICAgICAgICB0aGlzLnRpcEFycmF5W3RoaXMudGlwQXJyYXkubGVuZ3RoLTFdID0gbnVsbDtcclxuICAgICAgICAgICAgICAgICAgICB0aGlzLnRpcEFycmF5LnBvcCgpO1xyXG4gICAgICAgICAgICAgICAgICAgIHRoaXMuY29udHJvbEFycmF5LnBvcCgpO1xyXG4gICAgICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgICAgICB0aGlzLnNldFBvc2l0aW9uKHRpcCk7XHJcblxyXG4gICAgICAgIHRoaXMudGlwQXJyYXkucHVzaCh0aXApO1xyXG4gICAgICAgIHRoaXMuY29udHJvbEFycmF5LnB1c2goZGF0YSk7XHJcbiAgXHJcbiAgICB9XHJcblxyXG4gICAgLy/ngrnlh7vlvIDlp4sg5Yib5bu65rKz6YGTXHJcbiAgICBzdGFydF9DbGljaygpe1xyXG4gICAgICAgIGlmKCF0aGlzLmNhblRvdWNoKSByZXR1cm47XHJcbiAgICAgICAgdGhpcy5jYW5Ub3VjaCA9IGZhbHNlO1xyXG4gICAgICAgIGNjLmZ4LkF1ZGlvTWFuYWdlci5faW5zdGFuY2UucGxheUVmZmVjdChcImJ1aWxkXCIsbnVsbCk7XHJcbiAgICAgICAgY2MuZnguTm90aWZpY2F0aW9ucy5lbWl0KGNjLmZ4Lk1lc3NhZ2Uuc3RhcnRHYW1lLHRoaXMuY29udHJvbEFycmF5KTtcclxuICAgIH1cclxuXHJcbiAgICAvLyB1cGRhdGUgKGR0KSB7fVxyXG59XHJcbiJdfQ== -//------QC-SOURCE-SPLIT------ - - (function() { - var nodeEnv = typeof require !== 'undefined' && typeof process !== 'undefined'; - var __module = nodeEnv ? module : {exports:{}}; - var __filename = 'preview-scripts/assets/Script/GameManager.js'; - var __require = nodeEnv ? function (request) { - return cc.require(request); - } : function (request) { - return __quick_compile_project__.require(request, __filename); - }; - function __define (exports, require, module) { - if (!nodeEnv) {__quick_compile_project__.registerModule(__filename, module);}"use strict"; -cc._RF.push(module, 'b0432BA295DjIOcuitdGKO1', 'GameManager'); -// Script/GameManager.ts - -"use strict"; -var __extends = (this && this.__extends) || (function () { - var extendStatics = function (d, b) { - extendStatics = Object.setPrototypeOf || - ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) || - function (d, b) { for (var p in b) if (Object.prototype.hasOwnProperty.call(b, p)) d[p] = b[p]; }; - return extendStatics(d, b); - }; - return function (d, b) { - extendStatics(d, b); - function __() { this.constructor = d; } - d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __()); - }; -})(); -var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) { - var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d; - if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc); - else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r; - return c > 3 && r && Object.defineProperty(target, key, r), r; -}; -Object.defineProperty(exports, "__esModule", { value: true }); -var Block_1 = require("./Block"); -// 主游戏控制类 -var _a = cc._decorator, ccclass = _a.ccclass, property = _a.property; -var GameManager = /** @class */ (function (_super) { - __extends(GameManager, _super); - function GameManager() { - var _this = _super !== null && _super.apply(this, arguments) || this; - _this.Map = null; - _this.Block = null; - _this.Time = null; - _this.Countdown = null; - _this.Guide = null; - return _this; - } - GameManager.prototype.onLoad = function () { - }; - GameManager.prototype.start = function () { - cc.fx.GameConfig.CLICK_init(); - this.fit(); - this.init(); - }; - //处理地图数据 第一关完全随机,从第二关开始,赢了根据5秒洪峰来临增加难度步数,输了当前难度减步数 - GameManager.prototype.getMap = function () { - // var temp = []; - // for(let k=0; k= 5) { - map = this.getMapArray(arr, cc.fx.GameConfig.GM_INFO.min_Steps + 2, true); - } - else { - map = this.getMapArray(arr, cc.fx.GameConfig.GM_INFO.min_Steps + 1, true); - } - var random = Math.floor(Math.random() * map.length); - custom = map[random]; - console.log(custom, map); - } - //记录当前最小步数 - cc.fx.GameConfig.GM_INFO.min_Steps = cc.fx.GameConfig.LEVEL_INFO[cc.fx.GameConfig.GM_INFO.level][custom].min_steps; - cc.fx.GameConfig.GM_INFO.min_Time = 0; - return custom; - }; - //获取下一关难度,步数增加2或者1,如果没有则降到有. - GameManager.prototype.getMapArray = function (arr, min_steps, type) { - var map = []; - for (var i = 0; i < arr.length; i++) { - if (arr[i].min_steps == min_steps) { - map.push(i); - } - } - if (map.length == 0) { - if (type) - map = this.getMapArray(arr, min_steps - 1, type); - else - map = this.getMapArray(arr, min_steps + 1, type); - } - return map; - }; - //初始化数据 - GameManager.prototype.init = function () { - var name = cc.fx.GameConfig.GM_INFO.gameId + "_guide"; - var data = JSON.parse(localStorage.getItem(name)); - if (data != false) { - cc.fx.GameConfig.GM_INFO.guide = true; - cc.fx.StorageMessage.setStorage(name, cc.fx.GameConfig.GM_INFO.guide); - } - else { - cc.fx.GameConfig.GM_INFO.guide = cc.fx.StorageMessage.getStorage(name); - } - this.initMap(); - this.finishiTime = 0; - this.scoreTime = 0; - this.replaceTime = 0; - this.startTime = cc.fx.GameTool.getTime(); - this.countTime = cc.fx.GameConfig.TIME_INFO.totalTime; - this.waterTime = cc.fx.GameConfig.TIME_INFO.waterTime[cc.fx.GameConfig.GM_INFO.level]; - // if(this.countTime < this.waterTime) this.replaceTime = this.countTime; - this.Time.string = cc.fx.GameTool.getTimeMargin(this.countTime); - if (!cc.fx.GameConfig.GM_INFO.guide) { - this.Guide.active = false; - this.step = 0; - var head = this.node.getChildByName("Top").getChildByName("head"); - var progress = this.node.getChildByName("Top").getChildByName("progress").getComponent(cc.Sprite); - head.runAction(cc.moveTo(this.waterTime, cc.v2(310, head.y))); - this.waterTween = cc.tween(progress) - .to(this.waterTime, { fillRange: 1 }) - .start(); - this.schedule(this.updateWaterTime, 1); - this.schedule(this.updateCountDownTime, 1); - } - else { - this.Guide.active = true; - this.guideNext(); - } - }; - //初始化地图 - GameManager.prototype.initMap = function () { - cc.fx.GameConfig.GM_INFO.round += 1; - cc.fx.GameConfig.GM_INFO.fen = 0; - this.block_Array = []; - this.path_Array = []; - this.water_Array = []; - this.map_Array = []; - this.tip_Array = []; - this.plan_over = false; - this.map_Hight = 0; - this.map_Width = 0; - this.step = 0; - this.bgClick = false; - this.btnClick = false; - this.custom = 0; //9 - if (!cc.fx.GameConfig.GM_INFO.guide && cc.fx.GameConfig.GM_INFO.level == 0) { - cc.fx.GameConfig.GM_INFO.level = 1; - this.custom = this.getMap(); - } - else if (!cc.fx.GameConfig.GM_INFO.guide) { - this.custom = this.getMap(); - } - console.log(this.custom); - var arr = cc.fx.GameConfig.LEVEL_INFO[cc.fx.GameConfig.GM_INFO.level][this.custom].map; - if (cc.fx.GameConfig.GM_INFO.level == 0) { - this.Map.scale = 1.2; - } - this.node.getChildByName("Top").getChildByName("id").getComponent(cc.Label).string = - cc.fx.GameConfig.LEVEL_INFO[cc.fx.GameConfig.GM_INFO.level][this.custom].id; - //将地图x,y轴切换 - this.map_Array = arr[0].map(function (item, i) { - return arr.map(function (val) { return val[i]; }); - }); - this.map_Width = this.map_Array.length; - this.map_Hight = this.map_Array[0].length; - this.Map.x = (6 - this.map_Array.length) * 48; - this.Map.y = (this.map_Array[0].length - 6.5) * 48; - for (var i = 0; i < this.map_Array.length; i++) { - for (var j = 0; j < this.map_Array[i].length; j++) { - var block = cc.instantiate(this.Block); - block.parent = this.Map; - block.getComponent("Block").initData(this.map_Array[i][j], cc.v2(i, j), cc.v2(this.map_Width, this.map_Hight)); - if (this.map_Array[i][j] == cc.Enum(Block_1.BlockType).Start) { - this.path_Array.push(cc.v3(i, j, cc.Enum(Block_1.BlockType).Nomal)); - // this.water_Array.push(cc.v3(i,j,cc.Enum(BlockType).Nomal)); - } - block.setPosition(cc.v2(-block.width * 2.5 + i * block.width, block.height * 4 - j * block.height)); - this.block_Array.push(block); - } - } - }; - //开始后,按玩家操作,将路径中地图块放入数组中 - GameManager.prototype.setMap = function (data) { - for (var i = 0; i < data.length; i++) { - var start = this.path_Array[this.path_Array.length - 1]; - switch (data[i]) { - case "up": - this.path_Array.push(cc.v3(start.x, start.y - 1, cc.Enum(Block_1.BlockType).Nomal)); - break; - case "down": - this.path_Array.push(cc.v3(start.x, start.y + 1, cc.Enum(Block_1.BlockType).Nomal)); - break; - case "left": - this.path_Array.push(cc.v3(start.x - 1, start.y, cc.Enum(Block_1.BlockType).Nomal)); - break; - case "right": - this.path_Array.push(cc.v3(start.x + 1, start.y, cc.Enum(Block_1.BlockType).Nomal)); - break; - case "reinforce": - this.path_Array.push(cc.v3(start.x, start.y, cc.Enum(Block_1.BlockType).Reinforce)); - break; - case "soil": - this.path_Array.push(cc.v3(start.x, start.y, cc.Enum(Block_1.BlockType).Xi_Soil)); - break; - } - } - if (this.path_Array[this.path_Array.length - 1].z != 0) { - this.path_Array.pop(); - } - this.runRoad(0); - }; - //开始执行洪峰来了的动画 - GameManager.prototype.runRoad = function (order) { - var _this = this; - order = parseInt(order); - if (order > 0) { - if (this.path_Array[order - 1].z == 0) { - //console.log("1正常放入",this.path_Array[order-1].x,this.path_Array[order-1].y,this.path_Array[order-1].z) - this.changeWater(cc.v3(this.path_Array[order - 1].x, this.path_Array[order - 1].y, 0)); - if (order == this.path_Array.length - 1) { - this.changeWater(cc.v3(this.path_Array[order].x, this.path_Array[order].y, 0)); - // console.log("最后放入",this.path_Array[order].x,this.path_Array[order].y) - } - } - else { - //console.log("2插入",this.path_Array[order].x,this.path_Array[order].y,this.path_Array[order].z) - this.changeWater(cc.v3(this.path_Array[order].x, this.path_Array[order].y, 0)); - } - } - if (order <= this.path_Array.length - 1) { - var i = this.path_Array[order].x * this.map_Array[0].length + this.path_Array[order].y; - var direction = ""; - var circulate = true; - //最后一步结束 - if (order == this.path_Array.length - 1) { - circulate = false; - direction = "End"; - // console.log("进入结束"); - if (this.path_Array.length > 1) { - // console.log("准备出水"); - setTimeout(function () { - if (!_this.plan_over) { - _this.plan_over = true; - _this.unschedule(_this.updateWaterTime); - var head = _this.node.getChildByName("Top").getChildByName("head"); - var progress = _this.node.getChildByName("Top").getChildByName("progress").getComponent(cc.Sprite); - head.stopAllActions(); - head.setPosition(310, head.y); - if (_this.waterTween) - _this.waterTween.stop(); - progress.fillRange = 1; - cc.fx.GameConfig.GM_INFO.min_Time = _this.waterTime; - _this.runWater(0); - } - }, 500); - } - else { - direction = "err"; - console.log("进入结束err"); - } - } - else { - if (this.path_Array[order].z == 6 && order + 1 < this.path_Array.length) { - direction = "Reinforce"; - i = this.path_Array[order + 1].x * this.map_Array[0].length + this.path_Array[order + 1].y; - } - else if (order + 1 < this.path_Array.length) { - if (this.path_Array[order + 1].z == 5) { - direction = "Xi_Soil"; - } - else if (this.path_Array[order + 1].z == 6 && order == 0 && order + 1 < this.path_Array.length) { - direction = this.getDirection(order + 1, this.path_Array); - } - else { - direction = this.getDirection(order, this.path_Array); - } - } - else { - direction = this.getDirection(order, this.path_Array); - } - } - // console.log(order,this.path_Array[order].x,this.path_Array[order].y,i); - // console.log("步骤:",order,"方向",direction); - var jg = this.getBoundary(order, this.path_Array[order].x, this.path_Array[order].y, direction, this.path_Array); - // if(direction == "" || jg == false) return; - if (direction == "err" || direction == "" || jg == false) { - cc.fx.Notifications.emit(cc.fx.Message.showResult, "lose"); - cc.fx.Notifications.emit(cc.fx.Message.setData, false); + // @ts-ignore + if (isBytedance() && !tt.createInterstitialAd) { + console.warn('bytedance unsupport interstitial AD!'); + this._interstitial = null; return; } - var target = this.block_Array[i].getComponent("Block"); - target.setPath(direction); - if (order > 0 && order < this.path_Array.length - 1) { - if (this.path_Array[order + 1].z == 5) { - this.set_Soil(order + 1, this.path_Array, "road"); - circulate = false; - return; - } - else if (order == 1 && this.path_Array[order].z == 5) { - this.set_Soil(order, this.path_Array, "road"); - circulate = false; - return; - } + if (this._interstitial) { + this._interstitial.load(); } - var pos = cc.v2(); - if (direction == "End") { - if (order > 0) { - // if(this.path_Array[order-1].z == 0){ - pos = cc.v2(this.path_Array[order - 1].x, this.path_Array[order - 1].y); - // } + else { + if (isWechat()) { + // @ts-ignore + this._interstitial = wx.createInterstitialAd({ adUnitId: this._adUid }); } + else if (isBytedance()) { + // @ts-ignore + this._interstitial = tt.createInterstitialAd({ adUnitId: this._adUid }); + } + else { + this._interstitial = null; + } + (_a = this._interstitial) === null || _a === void 0 ? void 0 : _a.onLoad(function () { + console.log('load interstitial ad success'); + _this._interstitial.show().catch(function (err) { + console.log('catch interstitial ad error:', err); + }); + }); + (_b = this._interstitial) === null || _b === void 0 ? void 0 : _b.onError(function (err) { + console.log('interstitial ad on error:', err); + }); } - var data = { - order: order, - time: cc.fx.GameConfig.TIME_INFO.waterSpeed[cc.fx.GameConfig.GM_INFO.level], - type: this.path_Array[order].z, - circulate: circulate, - last: pos + }; + ADInterstitial.prototype.destory = function () { + var _a; + (_a = this._interstitial) === null || _a === void 0 ? void 0 : _a.destroy(); + }; + return ADInterstitial; + }()); + var ADBanner = /** @class */ (function () { + /** + * 抖音和微信都支持 + * 横幅广告。预估宽度默认为300,预估高度为140。如果你不确定就按默认值来。 + * @param adUid 广告UID,后端配置 + * @param isTop 是否在屏幕顶部展示。内部会自动居中计算位置。 + * @param bannerWidth 横幅广告的预估宽度。默认300 + * @param autoShow 广告加载完成后是否立刻显示,默认为不显示 + */ + function ADBanner(adUid, param, bannerWidth, autoShow) { + if (bannerWidth === void 0) { bannerWidth = 300; } + if (autoShow === void 0) { autoShow = false; } + this._adUid = adUid; + this.create(autoShow, bannerWidth, param); // 默认300比较合适 + } + Object.defineProperty(ADBanner.prototype, "aduid", { + get: function () { + return this._adUid; + }, + enumerable: false, + configurable: true + }); + ADBanner.prototype.create = function (autoShow, bannerWidth, param) { + var _this = this; + var _a, _b; + if (!isWechat() && !isBytedance()) { + this._banner = null; + return; + } + this.destroy(); + var winSize = getSysWinSize(); + var height = bannerWidth * 0.4; + var top = 0, left = 0; + if (typeof param === "boolean") { + left = (winSize.width - bannerWidth) / 2; + top = param ? 5 : (winSize.height - height); + } + else { + left = param.left; + top = param.top; + } + var params = { + adUnitId: this._adUid, + adIntervals: 30, + style: { left: left, top: top, width: bannerWidth } }; - target.runRoad(data); - } - }; - //判断边界。或者撞山,或者湿地没有加固 - GameManager.prototype.getBoundary = function (order, x, y, direction, road) { - var jg = true; - if (x < 0 || x >= this.map_Width || y < 0 || y >= this.map_Hight) { - jg = false; - // console.log("超过边界,游戏结束"); - // alert("超过边界,治水失败"); - cc.fx.Notifications.emit(cc.fx.Message.showResult, "lose"); - cc.fx.Notifications.emit(cc.fx.Message.setData, false); - } - else { - var i = road[order].x * this.map_Array[0].length + road[order].y; - var target = this.block_Array[i].getComponent("Block"); - if (target.block_Type == 3) { - jg = false; - // console.log("修筑山峰,游戏结束"); - // alert("修筑山峰,治水失败"); - cc.fx.Notifications.emit(cc.fx.Message.showResult, "lose"); - cc.fx.Notifications.emit(cc.fx.Message.setData, false); + if (isWechat()) { + // @ts-ignore + this._banner = wx.createBannerAd(params); } - else if (target.block_Type == 2 && direction != "Reinforce") { - jg = false; - // console.log("修筑未加固湿地,游戏结束"); - // alert("修筑未加固湿地,游戏结束"); - cc.fx.Notifications.emit(cc.fx.Message.showResult, "lose"); - cc.fx.Notifications.emit(cc.fx.Message.setData, false); - } - } - return jg; - }; - //开始执行洪峰来了的动画 - GameManager.prototype.runWater = function (order) { - order = parseInt(order); - if (order <= this.water_Array.length - 1) { - var i = this.water_Array[order].x * this.map_Array[0].length + this.water_Array[order].y; - var direction = ""; - var circulate = true; - //最后一步结束 - if (order == this.water_Array.length - 1) { - circulate = false; - direction = "End"; + else if (isBytedance()) { + // @ts-ignore + this._banner = tt.createBannerAd(params); } else { - if (this.water_Array[order].z == 6 && order + 1 < this.water_Array.length && order != 1) { - direction = "Reinforce"; - i = this.water_Array[order + 1].x * this.map_Array[0].length + this.water_Array[order + 1].y; - } - else if (order + 1 < this.water_Array.length) { - if (this.water_Array[order + 1].z == 5) { - direction = "Xi_Soil"; - } - else if (this.water_Array[order + 1].z == 6 && order == 0) { - direction = "Reinforce"; + this._banner = null; + } + (_a = this._banner) === null || _a === void 0 ? void 0 : _a.onError(function (err) { + console.log('ad banner error:', err); + }); + (_b = this._banner) === null || _b === void 0 ? void 0 : _b.onLoad(function () { + autoShow && _this._banner.show(); + }); + }; + ADBanner.prototype.show = function () { + var _a; + (_a = this._banner) === null || _a === void 0 ? void 0 : _a.show(); + }; + ADBanner.prototype.hide = function () { + var _a; + (_a = this._banner) === null || _a === void 0 ? void 0 : _a.hide(); + }; + ADBanner.prototype.destroy = function () { + var _a; + (_a = this._banner) === null || _a === void 0 ? void 0 : _a.destroy(); + }; + return ADBanner; + }()); + var ADCustom = /** @class */ (function () { + /** + * 由于原生模板广告在微信服务后端可以定制宽度大小,个数,缩放比例等,所以位置调整要根据设置的宽度来定。抖音不支持! + * @param adUid 广告UID,后端配置 + * @param top 从左上角开始,距离屏幕顶部的距离。注意:这个数据为设备屏幕宽度width。如果需要获取屏幕的像素,需要乘以设备像素比Pixel-Ratio,例如iPhone 13 Pro的Pixel-Ratio为3,像素为Width*3。 + * @param left 从左上角开始,距离屏幕最左边的距离。注意:这个数据为设备屏幕宽度width。如果需要获取屏幕的像素,需要乘以设备像素比Pixel-Ratio,例如iPhone 13 Pro的Pixel-Ratio为3,像素为Width*3。 + * @param scale 原生模板广告的尺寸,默认为1,即100%。此值在微信服务后端广告中获得,默认为100%,目前有100%,90%,80%三种,一般情况不用修改。若有修改,记得传入值,例如90%就传入0.9。 + */ + function ADCustom(adUid, top, left, scale) { + if (top === void 0) { top = 0; } + if (left === void 0) { left = 0; } + if (scale === void 0) { scale = 1.0; } + this._adUid = adUid; + this.createCustomAd(top, left, scale); + } + Object.defineProperty(ADCustom.prototype, "aduid", { + get: function () { + return this._adUid; + }, + enumerable: false, + configurable: true + }); + ADCustom.prototype.createCustomAd = function (top, left, scale) { + var _a; + if (!isWechat()) { // only wechat support custom ad + this._adCustom = null; + console.log('Only wechat support Custom Ad'); + return; + } + this.destroy(); + // 原生模板5个应用宽度为375,若设置了缩放比例,则宽度也需要设置 + // let width = 375 * this._scale; + // let newLeft = (sys.windowWidth - width) / 2; + // let newTop = sys.windowHeight / 2; // 120是预估高度 + // @ts-ignore + this._adCustom = wx.createCustomAd({ + adUnitId: this._adUid, + style: { left: left, top: top, fixed: true } + }); + (_a = this._adCustom) === null || _a === void 0 ? void 0 : _a.onError(function (err) { + console.log('ad custom error:', err); + }); + }; + ADCustom.prototype.show = function () { + var _a; + (_a = this._adCustom) === null || _a === void 0 ? void 0 : _a.show(); + }; + ADCustom.prototype.hide = function () { + var _a; + (_a = this._adCustom) === null || _a === void 0 ? void 0 : _a.hide(); + }; + ADCustom.prototype.destroy = function () { + var _a; + (_a = this._adCustom) === null || _a === void 0 ? void 0 : _a.destroy(); + }; + return ADCustom; + }()); + /** + * 视频广告用户点击行为结果 + */ + var EAdVideoResult; + (function (EAdVideoResult) { + /** + * 用户看完了广告,游戏可发放奖励。 + */ + EAdVideoResult[EAdVideoResult["ACCEPT"] = 0] = "ACCEPT"; + /** + * 用户中途关闭了广告,即未看完状态。不可发放奖励。 + */ + EAdVideoResult[EAdVideoResult["REJECT"] = 1] = "REJECT"; + /** + * 广告组件内部发生了错误。不可发放奖励。 + */ + EAdVideoResult[EAdVideoResult["ERROR"] = 2] = "ERROR"; + })(EAdVideoResult = MiniGameSdk.EAdVideoResult || (MiniGameSdk.EAdVideoResult = {})); + var ADVideo = /** @class */ (function () { + function ADVideo(adUid) { + this._adVideo = null; + this._adUid = adUid; + } + Object.defineProperty(ADVideo.prototype, "aduid", { + get: function () { + return this._adUid; + }, + enumerable: false, + configurable: true + }); + /** + * 由于微信和抖音视频广告机制不同,微信可以看的视频广告个数只有0和1个,抖音平台则可以看0~maxVideoCount + * @param onResult 两个参数:第一个res是EAdVideoResult定义,第二count是用户看了多少个视频广告。 + * @param target onResult的拥有者 + * @param maxVideoCount 可以连续看最大视频个数,可最大化商业效率。默认为3个。 + * @returns + */ + ADVideo.prototype.show = function (onResult, target, maxVideoCount) { + var _this = this; + var _a, _b, _c, _d, _e; + if (maxVideoCount === void 0) { maxVideoCount = 3; } + var callback = function (state, count) { + onResult === null || onResult === void 0 ? void 0 : onResult.call(target, state, count); + }; + if (!isWechat() && !isBytedance()) { + callback(EAdVideoResult.ACCEPT, 1); + this._adVideo = null; + return; + } + var onAdVideoClosed = function (res) { + var _a; + (_a = _this._adVideo) === null || _a === void 0 ? void 0 : _a.offClose(onAdVideoClosed); + if (isWechat()) { + if (res && res.isEnded || res === undefined) { + callback(EAdVideoResult.ACCEPT, 1); } else { - direction = this.getDirection(order, this.water_Array); + callback(EAdVideoResult.REJECT, 0); } } - else { - direction = this.getDirection(order, this.water_Array); - } - } - var jg = this.getBoundary(order, this.water_Array[order].x, this.water_Array[order].y, direction, this.water_Array); - if (direction == "" || jg == false || direction == "err") { - cc.fx.Notifications.emit(cc.fx.Message.showResult, "lose"); - cc.fx.Notifications.emit(cc.fx.Message.setData, false); - return; - } - var target = this.block_Array[i].getComponent("Block"); - target.setPath(direction); - if (order > 0 && order < this.water_Array.length - 1) { - if (this.water_Array[order + 1].z == 5) { - this.set_Soil(order + 1, this.water_Array, "water"); - circulate = false; - return; - } - else if (order == 1 && this.water_Array[order].z == 5) { - this.set_Soil(order, this.water_Array, "water"); - circulate = false; - return; - } - } - var pos = cc.v2(); - if (direction == "End") { - if (order > 0) { - if (this.water_Array[order - 1].z == 0) { - pos = cc.v2(this.water_Array[order - 1].x, this.water_Array[order - 1].y); + else if (isBytedance()) { + var resConverted = res; + if (resConverted && resConverted.count > 0) { + callback(EAdVideoResult.ACCEPT, resConverted.count); + } + else { + callback(EAdVideoResult.REJECT, 0); } } - } - var data = { - order: order, - time: cc.fx.GameConfig.TIME_INFO.waterSpeed[cc.fx.GameConfig.GM_INFO.level], - type: this.water_Array[order].z, - circulate: circulate, - last: pos }; - target.runWater(data); - } - }; - //获取息壤的格子的方向 - GameManager.prototype.getXi_Soil = function (order, road) { - var direction = null; - //如果息壤后面还有下一步的话 - if (order + 1 < road.length) { - direction = this.getDirection(order, road); - if (direction == "up" || direction == "right_up" || direction == "left_up") { - direction = "up"; + (_a = this._adVideo) === null || _a === void 0 ? void 0 : _a.offClose(onAdVideoClosed); + if (isWechat()) { + // @ts-ignore + this._adVideo = wx.createRewardedVideoAd({ + adUnitId: this._adUid + }); } - else if (direction == "down" || direction == "left_down" || direction == "right_down") { - direction = "down"; - } - else if (direction == "left" || direction == "up_left" || direction == "down_left") { - direction = "left"; - } - else if (direction == "right" || direction == "up_right" || direction == "down_right") { - direction = "right"; - } - } - return direction; - }; - //设置息壤 - GameManager.prototype.set_Soil = function (order, road, name) { - var direction = this.getXi_Soil(order, road); - var length = 0; - if (direction == "right") { - length = this.map_Width - 1; - for (var i = road[order].x; i <= length; i++) { - var n = i * this.map_Array[0].length + road[order].y; - var target = this.block_Array[n].getComponent("Block"); - if (target.block_Type == 3 || target.block_Type == 4) { - length = i - 1; - if (target.block_Type == 4) { - length += 1; - } - i = 10000; - break; - } - } - this.scheduleOnce; - } - else if (direction == "left") { - length = 0; - for (var i = road[order].x; i >= length; i--) { - var n = i * this.map_Array[0].length + road[order].y; - var target = this.block_Array[n].getComponent("Block"); - if (target.block_Type == 3 || target.block_Type == 4) { - length = i + 1; - if (target.block_Type == 4) { - length -= 1; - } - i = -1; - break; - } - } - } - else if (direction == "up") { - length = 0; - for (var i = road[order].y; i >= length; i--) { - var n = road[order].x * this.map_Array[0].length + i; - var target = this.block_Array[n].getComponent("Block"); - if (target.block_Type == 3 || target.block_Type == 4) { - length = i + 1; - if (target.block_Type == 4) { - length -= 1; - } - i = -1; - break; - } - } - } - else if (direction == "down") { - length = this.map_Hight - 1; - for (var i = road[order].y; i <= length; i++) { - var n = road[order].x * this.map_Array[0].length + i; - var target = this.block_Array[n].getComponent("Block"); - if (target.block_Type == 3 || target.block_Type == 4) { - length = i - 1; - if (target.block_Type == 4) { - length += 1; - } - i = 10000; - break; - } - } - } - // if(length == 0){ - // } - this.soil_Find(direction, order, length, road, name); - }; - //查找息壤蛮遗憾路径 - GameManager.prototype.soil_Find = function (direction, order, length, road, name) { - var start = road[order].x; - if (direction == "right") { - for (var i = start; i <= length; i++) { - var n = i * this.map_Array[0].length + road[order].y; - var target = this.block_Array[n].getComponent("Block"); - if (i == start) { - if (i == start && i == length) - target.set_Xi_SoilType(this.getDirection(order, road), order, name); - else - target.set_Xi_SoilType(this.getDirection(order, road), null, name); - var value = cc.v3(this.path_Array[order].x, this.path_Array[order].y, 0); - if (this.water_Array[this.water_Array.length - 1] != value) { - // console.log("特别插入:",this.path_Array[order].x,this.path_Array[order].y); - this.changeWater(value); - } - } - else { - var jg = null; - if (i == length) { - var number = i - start - 1; - this.changePath(order, number, false, road); - jg = order; - } - target.set_Xi_SoilType(direction, jg, name); - } - } - } - else if (direction == "left") { - for (var i = start; i >= length; i--) { - var n = i * this.map_Array[0].length + road[order].y; - var target = this.block_Array[n].getComponent("Block"); - if (i == start) { - if (i == start && i == length) - target.set_Xi_SoilType(this.getDirection(order, road), order, name); - else - target.set_Xi_SoilType(this.getDirection(order, road), null, name); - var value = cc.v3(this.path_Array[order].x, this.path_Array[order].y, 0); - if (this.water_Array[this.water_Array.length - 1] != value) { - // console.log("特别插入:",this.path_Array[order].x,this.path_Array[order].y); - this.changeWater(value); - } - } - else { - var jg = null; - if (i == length) { - var number = i - start + 1; - this.changePath(order, number, false, road); - jg = order; - } - target.set_Xi_SoilType(direction, jg, name); - } - } - } - else if (direction == "up") { - start = road[order].y; - for (var i = start; i >= length; i--) { - var n = road[order].x * this.map_Array[0].length + i; - var target = this.block_Array[n].getComponent("Block"); - if (i == start) { - if (i == start && i == length) - target.set_Xi_SoilType(this.getDirection(order, road), order, name); - else - target.set_Xi_SoilType(this.getDirection(order, road), null, name); - var value = cc.v3(this.path_Array[order].x, this.path_Array[order].y, 0); - if (this.water_Array[this.water_Array.length - 1] != value) { - // console.log("特别插入:",this.path_Array[order].x,this.path_Array[order].y); - this.changeWater(value); - } - } - else { - var jg = null; - if (i == length) { - var number = i - start + 1; - this.changePath(order, number, true, road); - jg = order; - } - // console.log("想上息壤插入:",this.path_Array[order].x,i); - target.set_Xi_SoilType(direction, jg, name); - } - } - } - else if (direction == "down") { - start = road[order].y; - for (var i = start; i <= length; i++) { - var n = road[order].x * this.map_Array[0].length + i; - var target = this.block_Array[n].getComponent("Block"); - if (i == start) { - if (i == start && i == length) - target.set_Xi_SoilType(this.getDirection(order, road), order, name); - else - target.set_Xi_SoilType(this.getDirection(order, road), null, name); - var value = cc.v3(this.path_Array[order].x, this.path_Array[order].y, 0); - if (this.water_Array[this.water_Array.length - 1] != value) { - // console.log("特别插入:",this.path_Array[order].x,this.path_Array[order].y); - this.changeWater(value); - } - } - else { - var jg = null; - if (i == length) { - var number = i - start - 1; - this.changePath(order, number, true, road); - jg = order; - } - target.set_Xi_SoilType(direction, jg, name); - } - } - } - }; - //改变水流地图 - GameManager.prototype.changeWater = function (value) { - var jg = true; - if (this.water_Array.length > 0) { - if (this.water_Array[this.water_Array.length - 1].x == value.x && this.water_Array[this.water_Array.length - 1].y == value.y) { - jg = false; - } - } - if (jg) - this.water_Array.push(value); - }; - //息壤过后改变修筑路径 - GameManager.prototype.changePath = function (order, number, direction, road) { - for (var i = (order + 1); i < road.length; i++) { - if (!direction) { - road[i].x += (number); + else if (isBytedance()) { + // @ts-ignore + this._adVideo = tt.createRewardedVideoAd({ + adUnitId: this._adUid, + multiton: true, + multitonRewardMsg: ['多1次奖励', '再多一次奖励', '再多一次奖励'], + multitonRewardTimes: maxVideoCount, + }); } else { - road[i].y += (number); + this._adVideo = null; } - } - if (direction) { - if (number < 0) { - for (var n = -number; n > 0; n--) { - this.changeWater(cc.v3(this.path_Array[order + 1].x, this.path_Array[order + 1].y + n, 0)); - // console.log("1特殊放入:",this.path_Array[order+1].x,this.path_Array[order+1].y+n) - } - } - else { - for (var n = number; n > 0; n--) { - this.changeWater(cc.v3(this.path_Array[order + 1].x, this.path_Array[order + 1].y - n, 0)); - // console.log("2特殊放入:",this.path_Array[order+1].x,this.path_Array[order+1].y-n) - } - } - } - else { - if (number < 0) { - for (var m = -number; m > 0; m--) { - this.changeWater(cc.v3(this.path_Array[order + 1].x + m, this.path_Array[order + 1].y, 0)); - // console.log("3特殊放入:",this.path_Array[order+1].x+m,this.path_Array[order+1].y) - } - } - else { - for (var m = number; m > 0; m--) { - this.changeWater(cc.v3(this.path_Array[order + 1].x - m, this.path_Array[order + 1].y, 0)); - // console.log("4特殊放入:",this.path_Array[order+1].x-m,this.path_Array[order+1].y) - } - } - } - }; - //获取洪峰方向 - GameManager.prototype.getDirection = function (order, road) { - var name = ""; - //入海口比较复杂单独判断 - if (order == 0) { - var nextX = road[order + 1].x - road[order].x; - var nextY = road[order].y - road[order + 1].y; - //在底边 - if (road[order].y == this.map_Array[0].length - 1) { - if (nextX == 0) { - if (nextY == 1) - name = "up"; - else if (nextY == -1) - name = "err"; - } - else if (nextX == 1) - name = "up_right"; - else if (nextX == -1) - name = "up_left"; - } - //在顶边 - else if (road[order].y == 0) { - if (nextX == 0) { - if (nextY == 1) - name = "err"; - else if (nextY == -1) - name = "down"; - } - else if (nextX == 1) - name = "down_right"; - else if (nextX == -1) - name = "down_left"; - } - //在左边 - else if (road[order].x == 0) { - if (nextX == 0) { - if (nextY == 1) - name = "right_up"; - else if (nextY == -1) - name = "right_down"; - } - else if (nextX == 1) - name = "right"; - else if (nextX == -1) - name = "err"; - } - //在右边 - else if (road[order].x == this.map_Array.length - 1) { - if (nextX == 0) { - if (nextY == 1) - name = "left_up"; - else if (nextY == -1) - name = "left_down"; - } - else if (nextX == 1) - name = "err"; - else if (nextX == -1) - name = "left"; - } - } - //不是第一步,已经走过一步 - else if (order > 0) { - var next = 1; - if (order + 2 < road.length) { - if (road[order + 1].z == 6) - next = 2; - } - //用于判断此点的上一个点,是为了判断当前方块洪水七点,以及下一个移动方向,判断洪终点方向 - var nextX = road[order + next].x - road[order].x; - var nextY = road[order].y - road[order + next].y; - var previousX = road[order].x - road[order - 1].x; - var previousY = road[order - 1].y - road[order].y; - if (previousX == 0 && previousY == 0) { - if (order > 1) { - previousX = road[order].x - road[order - 2].x; - previousY = road[order - 2].y - road[order].y; - } - else if (order + 1 < road.length) { - previousX = road[order + 1].x - road[order].x; - previousY = road[order].y - road[order + 1].y; - // console.log("息壤,上下坐标差距",previousX,previousY); - } - } - if (previousX == 0 && previousY >= 1) { - if (nextX == 0) { - if (nextY == 1) - name = "up"; - else if (nextY == -1) - name = "err"; - } - else if (nextX == 1) - name = "up_right"; - else if (nextX == -1) - name = "up_left"; - } - else if (previousX == 0 && previousY <= -1) { - if (nextX == 0) { - if (nextY == 1) - name = "err"; - else if (nextY == -1) - name = "down"; - } - else if (nextX == 1) - name = "down_right"; - else if (nextX == -1) - name = "down_left"; - } - else if (previousX >= 1 && previousY == 0) { - if (nextX == 0) { - if (nextY == 1) - name = "right_up"; - else if (nextY == -1) - name = "right_down"; - } - else if (nextX == 1) - name = "right"; - else if (nextX == -1) - name = "err"; - } - else if (previousX <= -1 && previousY == 0) { - if (nextX == 0) { - if (nextY == 1) - name = "left_up"; - else if (nextY == -1) - name = "left_down"; - } - else if (nextX == 1) - name = "err"; - else if (nextX == -1) - name = "left"; - } - } - return name; - }; - //根据是否全面屏,做独立适配方面 - GameManager.prototype.fit = function () { - var jg = this.setFit(); - if (!jg) { - this.Map.scale = 1.2; - } - else { - this.Map.scale = 1; - } - }; - //判断全面屏 - GameManager.prototype.getSetScreenResolutionFlag = function () { - var size = cc.winSize; - var width = size.width; - var height = size.height; - if ((height / width) > (16.2 / 9)) - return false; - return true; - }; - //判断全面屏适配 - GameManager.prototype.setFit = function () { - var flag = this.getSetScreenResolutionFlag(); - if (flag) { - } - else { - } - return flag; - }; - //返回首页 - GameManager.prototype.backScene = function () { - cc.director.loadScene("LoadScene"); - }; - //开始游戏 - GameManager.prototype.startGame = function (data) { - for (var i = 0; i < this.block_Array.length; i++) { - this.block_Array[i].getChildByName("tipWin").active = false; - this.block_Array[i].getChildByName("tipLose").active = false; - } - this.unschedule(this.updateCountDownTime); - var now = cc.fx.GameTool.getTime(); - var finishi = now - this.finishiTime; - var totalTime = now - this.startTime; - this.scoreTime = this.waterTime; - if (this.waterTime <= 0.5) - finishi = -1; - // console.log("submitTime:",finishi,this.finishiTime); - cc.fx.GameConfig.CLICK_SET("submitTime", finishi); - if (finishi == -1) - cc.fx.GameConfig.CLICK_SET("duration", cc.fx.GameConfig.TIME_INFO.waterTime[cc.fx.GameConfig.GM_INFO.level]); - else - cc.fx.GameConfig.CLICK_SET("duration", totalTime); - cc.fx.GameConfig.CLICK_SET("usedSteps", data.length); - this.setMap(data); - var arr = this.changeStep(data); - cc.fx.GameConfig.CLICK_SET("stepList", arr); - }; - //用于埋点记录 - GameManager.prototype.changeStep = function (data) { - var arr = []; - if (data.length > 0) { - for (var i = 0; i < data.length; i++) { - if (data[i] == "up") - arr[i] = "U"; - else if (data[i] == "down") - arr[i] = "D"; - else if (data[i] == "left") - arr[i] = "L"; - else if (data[i] == "right") - arr[i] = "R"; - else if (data[i] == "soil") - arr[i] = "X"; - else if (data[i] == "reinforce") - arr[i] = "F"; - } - } - return arr; - }; - //洪峰倒计时,计时器 - GameManager.prototype.updateWaterTime = function () { - var _this = this; - if (this.waterTime > 0) { - this.waterTime -= 1; - this.Countdown.string = cc.fx.GameTool.getTimeMargin(this.waterTime); - if (this.waterTime <= 0) { - this.unschedule(this.updateWaterTime); - if (!this.plan_over) { - this.waterTime = 0; - this.plan_over = true; - setTimeout(function () { - if (_this.water_Array.length == 0) { - cc.fx.Notifications.emit(cc.fx.Message.showResult, "lose"); - cc.fx.Notifications.emit(cc.fx.Message.setData, false); - } - else { - cc.fx.GameConfig.GM_INFO.min_Time = _this.waterTime; - _this.runWater(0); - } - }, 500); - } - } - } - }; - //如果是倒计时 调用此方法 - GameManager.prototype.updateCountDownTime = function () { - if (this.countTime > 0) { - this.countTime -= 1; - cc.fx.GameConfig.TIME_INFO.totalTime = this.countTime; - this.Time.string = cc.fx.GameTool.getTimeMargin(this.countTime); - if (this.countTime < 5) { - var over = this.node.getChildByName("Over"); - cc.tween(over) - .to(0.2, { opacity: 255 }) - .delay(0.1) - .to(0.2, { opacity: 0 }) - .start(); - } - if (this.countTime <= 0) { - this.countTime = 0; - this.setData(false); - this.unschedule(this.updateCountDownTime); - this.gameOver(); - } - } - }; - //上传每次操作数据 - GameManager.prototype.setData = function (success) { - //设置埋点数据 - cc.fx.GameConfig.CLICK_SET("mapId", cc.fx.GameConfig.LEVEL_INFO[cc.fx.GameConfig.GM_INFO.level][this.custom].id); - cc.fx.GameConfig.CLICK_SET("difficulty", cc.fx.GameConfig.GM_INFO.level); - cc.fx.GameConfig.CLICK_SET("optimizedSteps", cc.fx.GameConfig.LEVEL_INFO[cc.fx.GameConfig.GM_INFO.level][this.custom].min_steps); - cc.fx.GameConfig.CLICK_SET("round", cc.fx.GameConfig.GM_INFO.round); - cc.fx.GameConfig.CLICK_SET("timer", cc.fx.GameConfig.TIME_INFO.totalTime); - cc.fx.GameConfig.CLICK_SET("cumulativeScore", cc.fx.GameConfig.GM_INFO.score); - if (success != null) { - cc.fx.GameConfig.CLICK_SET("success", success); - cc.fx.GameConfig.GM_INFO.fen = this.getScore(); - if (!success) - cc.fx.GameConfig.GM_INFO.fen = 0; - cc.fx.GameConfig.CLICK_SET("getScore", cc.fx.GameConfig.GM_INFO.fen); - cc.fx.GameConfig.GM_INFO.score += cc.fx.GameConfig.GM_INFO.fen; - cc.fx.GameConfig.CLICK_SET("cumulativeScore", cc.fx.GameConfig.GM_INFO.score); - if (this.countTime != 0) - cc.fx.GameConfig.GM_INFO.successList.push(success); - } - cc.fx.GameTool.setGameData(); - }; - //计算得分 - GameManager.prototype.getScore = function () { - //最小步数 - var min = cc.fx.GameConfig.LEVEL_INFO[cc.fx.GameConfig.GM_INFO.level][this.custom].min_steps; - //实际使用步数 - var now = this.path_Array.length - 1; - if (now <= 0) - now = 0; - var x = (2.5 * min - now) / min; - var score = Math.pow(Math.pow(min, x), 0.5); - score = score * (this.scoreTime + 10) * 100; - return Math.floor(score); - }; - //上传排行榜数据 - GameManager.prototype.gameOver = function () { - var rate = 0; - var successList = cc.fx.GameConfig.GM_INFO.successList; - if (successList.length > 0) { - var success = 0; - for (var i = 0; i < successList.length; i++) { - if (successList[i] == true) - success += 1; - } - rate = success / successList.length; - } - rate = Math.floor(rate * 1000) / 10; - var data = { - score: cc.fx.GameConfig.GM_INFO.score, - rate: rate + (_b = this._adVideo) === null || _b === void 0 ? void 0 : _b.onLoad(function () { + console.log('Ad load success'); + }); + (_c = this._adVideo) === null || _c === void 0 ? void 0 : _c.onError(function (err) { + console.log('Ad video error:', err); + callback(EAdVideoResult.ERROR, 0); + }); + (_d = this._adVideo) === null || _d === void 0 ? void 0 : _d.onClose(onAdVideoClosed); + (_e = this._adVideo) === null || _e === void 0 ? void 0 : _e.show().catch(function () { + var _a; + (_a = _this._adVideo) === null || _a === void 0 ? void 0 : _a.load().then(function () { var _a; return (_a = _this._adVideo) === null || _a === void 0 ? void 0 : _a.show(); }).catch(function (err) { + console.log('Catch video ad error:', err); + callback(EAdVideoResult.ERROR, 0); + }); + }); }; - cc.fx.GameTool.setRank(data); - this.node.getChildByName("GameOver").active = true; - this.node.getChildByName("GameOver").opacity = 0; - cc.tween(this.node.getChildByName("GameOver")) - .to(0.4, { opacity: 255 }) - .delay(1) - .to(0.4, { opacity: 50 }) - .call(function () { - cc.director.loadScene("OverScene"); - }) - .start(); - }; - //展示结果 - GameManager.prototype.showResult = function (data) { - if (data == "lose") { - cc.fx.AudioManager._instance.playEffect("lose", null); - cc.fx.GameConfig.GM_INFO.min_Time = -1; + ADVideo.prototype.destory = function () { + var _a; + (_a = this._adVideo) === null || _a === void 0 ? void 0 : _a.destory(); + }; + return ADVideo; + }()); + var EAdBannerLocation; + (function (EAdBannerLocation) { + /** + * 屏幕顶部 + */ + EAdBannerLocation[EAdBannerLocation["TOP"] = 0] = "TOP"; + /** + * 屏幕底部 + */ + EAdBannerLocation[EAdBannerLocation["BOTTOM"] = 1] = "BOTTOM"; + })(EAdBannerLocation = MiniGameSdk.EAdBannerLocation || (MiniGameSdk.EAdBannerLocation = {})); + var AdvertManager = /** @class */ (function () { + function AdvertManager() { + this._customs = {}; } - else { - cc.fx.AudioManager._instance.playEffect("win", null); - } - this.node.getChildByName("Window").active = true; - this.node.getChildByName("Window").getComponent("Window").init(data); - }; - //记录反应时长,以及做步骤提示 - GameManager.prototype.clickSun = function (data) { - //如果没有记录过 回合开始到操作反应时长,则第一次记录, 后面不记录 - if (cc.fx.GameConfig.CLICK_DATA.startTime == 0) { - this.finishiTime = cc.fx.GameTool.getTime(); - var now = this.finishiTime - this.startTime; - // console.log("startTime:",now,this.startTime); - cc.fx.GameConfig.CLICK_SET("startTime", now); - } - if (cc.fx.GameConfig.GM_INFO.level > 3) - return; - //步骤提示 - var nowPos = this.path_Array[0]; - if (this.tip_Array.length != 0) { - if (this.tip_Array[this.tip_Array.length - 1] == null) { - this.tip_Array.push(null); - return; - } - nowPos = this.tip_Array[this.tip_Array.length - 1][this.tip_Array[this.tip_Array.length - 1].length - 1]; - if (nowPos) { - var n = nowPos.x * this.map_Array[0].length + nowPos.y; - var targetNode = this.block_Array[n]; - if (targetNode.getChildByName("tipLose").active == true) { - this.tip_Array.push(null); - return; + Object.defineProperty(AdvertManager, "instance", { + get: function () { + if (!AdvertManager._instance) { + AdvertManager._instance = new AdvertManager(); } + return AdvertManager._instance; + }, + enumerable: false, + configurable: true + }); + /** + * 预加载横幅广告,不会显示。只有你在调用showBanner时才会显示。 + * 可重复调用,但是会销毁上一次的实例。一般情况,全局有一个就行了,太多占用内存,而且没必要。 + * @param adUid 广告UID + * @param location 位置有两种情况:1、可以传入枚举值,默认上方; 2、可以自定义位置传入IPosition,注意IPosition中的top和left跟平台的top,left是一致(没有乘以设备像素比ratio),需要开发者自己调试位置 + * @param scale 默认为跟屏幕一样的宽度,可以通过设置缩放比例来调整大小。当然,平台有规定最大或最小宽度,函数内部会自动计算。 + */ + AdvertManager.prototype.loadBanner = function (adUid, location, scale) { + var _a; + if (location === void 0) { location = EAdBannerLocation.TOP; } + if (scale === void 0) { scale = 1.0; } + (_a = this._banner) === null || _a === void 0 ? void 0 : _a.destroy(); + var size = getSysWinSize(); + // 当 style.width 小于 300 时,会取作 300。 当 style.width 大于屏幕宽度时,会取作屏幕宽度。 + var width = size.width * scale; + width = width < 300 ? 300 : width; // 最小值矫正 + width = width > size.width ? size.width : width; //最大值矫正 + this._banner = typeof location === 'number' ? new ADBanner(adUid, location === EAdBannerLocation.TOP, width, false) : new ADBanner(adUid, location, width, false); + }; + /** + * 显示横幅广告 + */ + AdvertManager.prototype.showBanner = function () { + if (this._banner) { + this._banner.show(); } else { - return; + console.warn('MiniGameSDK: banner is null, you must call loadBanner(...) first!'); } - } - if (data == "up") { - var n = cc.v2(nowPos.x, nowPos.y - 1); - this.tipCan(n, data); - } - else if (data == "down") { - var n = cc.v2(nowPos.x, nowPos.y + 1); - this.tipCan(n, data); - } - else if (data == "left") { - var n = cc.v2(nowPos.x - 1, nowPos.y); - this.tipCan(n, data); - } - else if (data == "right") { - var n = cc.v2(nowPos.x + 1, nowPos.y); - this.tipCan(n, data); - } - else if (data == "reinforce") { - var n = cc.v3(nowPos.x, nowPos.y, 2); - this.tip_Array.push([n]); - } - else if (data == "soil") { - var n = cc.v3(nowPos.x, nowPos.y, 3); - this.tip_Array.push([n]); - } - }; - //提示是否错误 - GameManager.prototype.tipCan = function (pos, data) { - //先判断是否出边界 - if (pos.x < 0 || pos.x > this.map_Array.length - 1 || pos.y < 0 || pos.y > this.map_Array[0].length - 1) { - this.tip_Array.push(null); - return; - } - var n = pos.x * this.map_Array[0].length + pos.y; - var target = this.block_Array[n].getComponent("Block"); - target.node.getChildByName("tipWin").active = true; - // target.node.getChildByName("tipWin").opacity = 255; - // target.node.getChildByName("tipLose").opacity = 255; - //重复路回头路,或者山峰 - if (target.repeatRoad(false, null) == true || target.block_Type == 3) { - target.node.getChildByName("tipLose").active = true; - target.node.getChildByName("tipWin").active = false; - } - //湿地 上一步如果没用息壤或者加固 - else if (target.block_Type == 2) { - if (this.tip_Array.length > 1) { - if (this.tip_Array[this.tip_Array.length - 1][0].z == 0) { - target.node.getChildByName("tipLose").active = true; - target.node.getChildByName("tipWin").active = false; - } - } - } - if (this.tip_Array.length > 0) { - if (this.tip_Array[this.tip_Array.length - 1][0].z == 3) { - if (data == "up") { - var arr = []; - for (var i = pos.y; i >= 0; i--) { - var block = this.block_Array[pos.x * this.map_Array[0].length + i].getComponent("Block"); - if (block.block_Type == 3) { - i = -10000; - } - else { - block.node.getChildByName("tipWin").active = true; - arr.push(cc.v3(pos.x, i, 0)); - if (block.block_Type == 4) - i = -10000; - } - } - this.tip_Array.push(arr); - } - else if (data == "down") { - var arr = []; - for (var i = pos.y; i < this.map_Array[0].length; i++) { - var block = this.block_Array[pos.x * this.map_Array[0].length + i].getComponent("Block"); - if (block.block_Type == 3) { - i = 10000; - } - else { - block.node.getChildByName("tipWin").active = true; - arr.push(cc.v3(pos.x, i, 0)); - if (block.block_Type == 4) - i = 10000; - } - } - this.tip_Array.push(arr); - } - else if (data == "right") { - var arr = []; - for (var i = pos.x; i < this.map_Array.length; i++) { - var block = this.block_Array[i * this.map_Array[0].length + pos.y].getComponent("Block"); - if (block.block_Type == 3) { - i = 10000; - } - else { - block.node.getChildByName("tipWin").active = true; - arr.push(cc.v3(i, pos.y, 0)); - if (block.block_Type == 4) - i = 10000; - } - } - this.tip_Array.push(arr); - } - else if (data == "left") { - var arr = []; - for (var i = pos.x; i >= 0; i--) { - var block = this.block_Array[i * this.map_Array[0].length + pos.y].getComponent("Block"); - if (block.block_Type == 3) { - i = -10000; - } - else { - block.node.getChildByName("tipWin").active = true; - arr.push(cc.v3(i, pos.y, 0)); - if (block.block_Type == 4) - i = -10000; - } - } - this.tip_Array.push(arr); - } + }; + /** + * 隐藏横幅广告 + */ + AdvertManager.prototype.hideBanner = function () { + var _a; + (_a = this._banner) === null || _a === void 0 ? void 0 : _a.hide(); + }; + /** + * 弹出插屏广告 + * @param adUid 广告单元id + */ + AdvertManager.prototype.showInterstitial = function (adUid) { + var _a; + if (this._interstitial && this._interstitial.aduid === adUid) { + this._interstitial.show(); } else { - var posJg_1 = cc.v3(pos.x, pos.y, 0); - if (data == "reinforce") - pos.z = 2; - if (data == "soil") - pos.z = 3; - this.tip_Array.push([posJg_1]); + (_a = this._interstitial) === null || _a === void 0 ? void 0 : _a.destory(); + this._interstitial = new ADInterstitial(adUid); + this._interstitial.show(); } - // console.log(this.tip_Array); - return; + }; + /** + * 加载原生模板广告,不会显示。只有你在调用showCustom时才会显示。 + * 由于原生模板广告在微信服务后端可以定制宽度大小,个数,缩放比例等,所以位置调整要根据设置的宽度来定。抖音不支持本函数,会调用无效! + * @param adUid 广告ID + * @param location 位置有两种情况:1、可以传入枚举值,默认上方; 2、可以自定义位置传入IPosition,注意IPosition中的top和left跟平台的top,left是一致(没有乘以设备像素比ratio),需要开发者自己调试位置 + * @param scale 缩放比例,默认是1,即不缩放。这个缩放并不是自己填,而是根据微信MP后台你配置的原生模板广告的缩放比例填,目前有100%,90%,80%三种,一般情况不用修改。若有后台修改,记得传入值,例如90%就传入0.9。 + */ + AdvertManager.prototype.loadCustom = function (adUid, location, scale) { + if (location === void 0) { location = { top: 0, left: 0 }; } + if (scale === void 0) { scale = 1; } + // this._custom?.destroy(); + // this._custom = new ADCustom(adUid, location.top, location.left, scale); + if (this._customs[adUid]) { + console.log(adUid + " has been loaded."); + return; + } + this._customs[adUid] = new ADCustom(adUid, location.top, location.left, scale); + }; + /** + * 显示自定义广告。 + * @param adUid 广告的唯一标识符。使用此标识符来查找和显示特定的自定义广告。 + * + * 此方法尝试根据提供的adUid显示一个自定义广告。如果给定的adUid对应的自定义广告已加载, + * 则调用该广告的显示方法。如果广告未加载,则在控制台输出警告信息。 + */ + AdvertManager.prototype.showCustom = function (adUid) { + if (this._customs[adUid]) { + this._customs[adUid].show(); + } + else { + console.warn("You have not load " + adUid + " of Custom AD, can not show!"); + } + }; + /** + * 隐藏指定的自定义广告单元 + * + * 此方法用于隐藏通过广告单元标识符(adUid)指定的自定义广告。如果指定的广告单元已加载并显示, + * 则将其隐藏;如果广告单元未加载,则在控制台输出警告信息。 + * + * @param adUid 广告单元标识符,用于唯一标识一个自定义广告单元。 + */ + AdvertManager.prototype.hideCustom = function (adUid) { + if (this._customs[adUid]) { + this._customs[adUid].hide(); + } + else { + console.warn("You have not load " + adUid + " of Custom AD, can not hide!"); + } + }; + /** + * 由于微信和抖音视频广告机制不同,微信可以看的视频广告个数只有0和1个,抖音平台则可以看0~maxVideoCount + * @param adUid 广告ID。如果与上一次UID不同,则内部会重新创建实例。开发者完全不用关心这个细节。 + * @param onVideoResult 两个参数:第一个res是EAdVideoResult定义,第二count是用户看了多少个视频广告。 + * @param target onVideoResult的拥有者 + * @param maxVideoCount 最大视频个数。默认是3,仅对抖音平台生效。微信平台看完视频count的结果永远是1或0 + */ + AdvertManager.prototype.showVideo = function (adUid, onVideoResult, target, maxVideoCount) { + var _a; + if (maxVideoCount === void 0) { maxVideoCount = 3; } + if (this._video && this._video.aduid === adUid) { + this._video.show(onVideoResult, target, maxVideoCount); + } + else { + (_a = this._video) === null || _a === void 0 ? void 0 : _a.destory(); + this._video = new ADVideo(adUid); + this._video.show(onVideoResult, target, maxVideoCount); + } + }; + /** + * 销毁内部所有实例,清空内存 + */ + AdvertManager.prototype.destroyAll = function () { + var _a, _b, _c, _d; + (_a = this._banner) === null || _a === void 0 ? void 0 : _a.destroy(); + this._banner = null; + (_b = this._interstitial) === null || _b === void 0 ? void 0 : _b.destory(); + this._interstitial = null; + (_c = this._video) === null || _c === void 0 ? void 0 : _c.destory(); + this._video = null; + if (this._customs) { + for (var val in this._customs) { + (_d = this._customs[val]) === null || _d === void 0 ? void 0 : _d.destroy(); + } + this._customs = {}; + } + }; + return AdvertManager; + }()); + MiniGameSdk.AdvertManager = AdvertManager; + var EGameClubIcon; + (function (EGameClubIcon) { + /** 绿色图标 */ + EGameClubIcon["GREEN"] = "green"; + /** 红色图标 */ + EGameClubIcon["WHITE"] = "white"; + /** 有黑色圆角背景的白色图标 */ + EGameClubIcon["DARK"] = "dark"; + /** 有白色圆角背景的绿色图标 */ + EGameClubIcon["LIGHT"] = "light"; + })(EGameClubIcon = MiniGameSdk.EGameClubIcon || (MiniGameSdk.EGameClubIcon = {})); + var GameClub = /** @class */ (function () { + function GameClub() { } - var posJg = cc.v3(pos.x, pos.y, 0); - if (data == "reinforce") - pos.z = 2; - if (data == "soil") - pos.z = 3; - this.tip_Array.push([posJg]); - // console.log(this.tip_Array); - }; - //移除提示 - GameManager.prototype.removeTip = function (data) { - if (cc.fx.GameConfig.GM_INFO.level > 3) - return; - //分为撤回一步 和全部清空 - if (this.tip_Array.length > 0) { - if (data == "back") { - var target = this.tip_Array[this.tip_Array.length - 1]; - if (target == null) { - this.tip_Array.pop(); + Object.defineProperty(GameClub, "instance", { + get: function () { + if (!this._instance) { + this._instance = new GameClub(); + } + return this._instance; + }, + enumerable: false, + configurable: true + }); + /** + * 创建游戏圈按钮 + * @param icon + * @param position + * @param size + * @param openLink + */ + GameClub.prototype.create = function (icon, position, size, openLink) { + if (icon === void 0) { icon = EGameClubIcon.GREEN; } + if (position === void 0) { position = { top: 0, left: 0 }; } + if (size === void 0) { size = { width: 40, height: 40 }; } + if (isWechat()) { + // @ts-ignore + this._club = wx.createGameClubButton({ + icon: icon, + style: { + left: position.left, + top: position.top, + width: size.width, + height: size.height + }, + openlink: openLink + }); + } + }; + GameClub.prototype.show = function () { + var _a; + (_a = this._club) === null || _a === void 0 ? void 0 : _a.show(); + }; + GameClub.prototype.hide = function () { + var _a; + (_a = this._club) === null || _a === void 0 ? void 0 : _a.hide(); + }; + GameClub.prototype.destory = function () { + var _a; + (_a = this._club) === null || _a === void 0 ? void 0 : _a.destroy(); + }; + return GameClub; + }()); + MiniGameSdk.GameClub = GameClub; + /** + * 振动类型 + */ + var EVirbrateType; + (function (EVirbrateType) { + /** + * 短振动 + */ + EVirbrateType[EVirbrateType["SHORT"] = 0] = "SHORT"; + /** + * 长振动 + */ + EVirbrateType[EVirbrateType["LONG"] = 1] = "LONG"; + })(EVirbrateType = MiniGameSdk.EVirbrateType || (MiniGameSdk.EVirbrateType = {})); + /** + * 平台常用API合集 + */ + var API = /** @class */ (function () { + function API() { + } + /** + * 分享app给朋友,微信小游戏分享是没有onSuccess回调的。 + * @param title 标题 + * @param description 细节描述信息 + * @param imageUrl 图片地址 + * @param query 查询信息 + * @param onSuccess 抖音会回调,微信不会回调 + */ + API.shareAppToFriends = function (title, description, imageUrl, query, onSuccess) { + if (description === void 0) { description = ''; } + if (isWechat()) { + try { + //@ts-ignore + wx.shareAppMessage({ + title: title, + imageUrl: imageUrl, + query: query, + }); + } + catch (err) { + console.log("share faild: " + err); + } + } + if (isBytedance()) { + //@ts-ignore + tt.shareAppMessage({ + title: title, + desc: description, + imageUrl: imageUrl !== null && imageUrl !== void 0 ? imageUrl : '', + query: query !== null && query !== void 0 ? query : '', + success: function (res) { + console.log('share success:', res); + onSuccess === null || onSuccess === void 0 ? void 0 : onSuccess(); + }, + fail: function (res) { + console.log('share fail:', res); + } + }); + } + }; + /** + * 显示提示信息 + * @param title 标题 + * @param duration 时长(单位:秒) + * @returns + */ + API.showToast = function (title, duration) { + if (duration === void 0) { duration = 2; } + if (isWechat()) { + // @ts-ignore + wx.showToast({ + title: title, + icon: 'success', + duration: duration * 1000 + }); + } + if (isBytedance()) { + //@ts-ignore + tt.showToast({ + title: title, + duration: duration * 1000, + success: function (res) { + console.log("" + res); + }, + fail: function (res) { + console.log("showToast\u8C03\u7528\u5931\u8D25"); + }, + }); + } + }; + /** + * 设备震动效果,默认为短震动。注意:可能一些机型不会生效,具体看平台方的说明 + * @param type MiniGameSdk.API.EVirbrateType + */ + API.vibrate = function (type) { + if (type === void 0) { type = EVirbrateType.SHORT; } + if (isWechat()) { + switch (type) { + case EVirbrateType.SHORT: + //@ts-ignore + wx.vibrateShort({ + success: function (res) { + console.log('vibrate success:', res); + }, + fail: function (res) { + console.log('vibrateShort failed', res); + }, + }); + break; + case EVirbrateType.LONG: + //@ts-ignore + wx.vibrateLong({ + success: function (res) { + console.log('vibrate success', res); + }, + fail: function (res) { + console.log("vibrateLong failed", res); + }, + }); + break; + default: + break; + } + } + if (isBytedance()) { + switch (type) { + case EVirbrateType.SHORT: + //@ts-ignore + tt.vibrateShort({ + success: function (res) { + console.log('vibrate success:', res); + }, + fail: function (res) { + console.log('vibrateShort failed', res); + }, + }); + break; + case EVirbrateType.LONG: + //@ts-ignore + tt.vibrateLong({ + success: function (res) { + console.log('vibrate success', res); + }, + fail: function (res) { + console.log("vibrateLong failed", res); + }, + }); + break; + default: + break; + } + } + }; + /** + * 重启小游戏 + */ + API.reboot = function () { + if (isWechat()) { + //@ts-ignore + wx.restartMiniProgram({ + success: function () { + console.log('restart success'); + }, + fail: function () { + console.log('restart failed'); + } + }); + } + if (isBytedance()) { + try { + // @ts-ignore + tt.restartMiniProgramSync(); + } + catch (error) { + console.log("restartMiniProgramSync", error); + } + } + }; + /** + * 退出小游戏 + */ + API.exit = function () { + if (isWechat()) { + //@ts-ignore + wx.exitMiniProgram({ + success: function () { + console.log('exit success'); + }, + fail: function () { + console.log('exit failed'); + } + }); + } + if (isBytedance()) { + // @ts-ignore + tt.exitMiniProgram({ + success: function (res) { + console.log("exit success:", res === null || res === void 0 ? void 0 : res.data); + }, + fail: function (res) { + console.log("exit fail:", res === null || res === void 0 ? void 0 : res.errMsg); + }, + }); + } + }; + /** + * 显示转发按钮。通常在刚进入游戏的时候调用。 + * 主要是打开平台“...”这个按钮里面的分享菜单,一般默认是关闭的,需要调用这个函数打开。可以让用户分享你的游戏入口。 + */ + API.showShareMenu = function () { + if (isWechat()) { + //@ts-ignore + wx.showShareMenu({ + withShareTicket: true, + menus: ['shareAppMessage', 'shareTimeline'], + success: function () { }, + fail: function () { }, + complete: function () { } + }); + } + if (isBytedance()) { + //@ts-ignore + tt.showShareMenu({ + success: function (res) { + console.log("show menu is showing"); + }, + fail: function (err) { + console.log("showShareMenu:", err.errMsg); + }, + complete: function (res) { + console.log("showShareMenu complete"); + }, + }); + } + }; + /** + * 微信小游戏:跳转到另外一款小游戏 + * 抖音小游戏:跳转到指定的视频界面 + * @param targetId 微信小游戏appid或者视频界面 + */ + API.navigateTo = function (targetId, onSuccess) { + if (isWechat()) { + // @ts-ignore + wx.navigateToMiniProgram({ + appId: targetId, + extraData: { + foo: 'bar' + }, + envVersion: 'develop', + success: function (res) { + onSuccess === null || onSuccess === void 0 ? void 0 : onSuccess(); + } + }); + } + if (isBytedance()) { + // @ts-ignore + tt.navigateToVideoView({ + videoId: targetId, + success: function (res) { + onSuccess === null || onSuccess === void 0 ? void 0 : onSuccess(); + }, + fail: function (err) { + console.log("bytedance navigateToVideoView fail", err); + }, + }); + } + }; + /** + * 小游戏平台登录功能。微信返回code,抖音返回code和anonymousCode。用于登录的凭证,需要把这个code传回你的服务器程序中去调用code2Session + * @param callback (code, anonymousCode) 第一个参数为code,微信和抖音都支持;第二个参数为匿名设备ID,仅抖音支持,失败都返回null + */ + API.login = function (callback) { + var loginPlatform = function () { + if (isWechat()) { + //@ts-ignore + wx.login({ + success: function (res) { + if (res.code) { + API._loginCode = res.code; + API._loginAnonymousCode = null; + callback === null || callback === void 0 ? void 0 : callback(API._loginCode, API._loginAnonymousCode); + } + else { + console.log('login error:', res.errMsg); + } + }, + fail: function () { + API._loginCode = null; + API._loginAnonymousCode = null; + callback === null || callback === void 0 ? void 0 : callback(API._loginCode, API._loginAnonymousCode); + console.log('login fail'); + } + }); + } + else if (isBytedance()) { + //@ts-ignore + tt.login({ + force: true, + success: function (res) { + var _a, _b; + console.log("login " + res.code + " " + res.anonymousCode); + if (res.code) { + API._loginCode = (_a = res.code) === null || _a === void 0 ? void 0 : _a.toString(); + API._loginAnonymousCode = (_b = res.anonymousCode) === null || _b === void 0 ? void 0 : _b.toString(); + callback === null || callback === void 0 ? void 0 : callback(API._loginCode, API._loginAnonymousCode); + } + else { + console.log('login error:', res.errMsg); + } + }, + fail: function (res) { + API._loginCode = null; + API._loginAnonymousCode = null; + callback === null || callback === void 0 ? void 0 : callback(API._loginCode, API._loginAnonymousCode); + console.log("login fail", res); + }, + }); } else { - this.tip_Array.pop(); - for (var i = 0; i < target.length; i++) { - if (target[i]) { - if (target[0].z == 0) { - var n = target[i].x * this.map_Array[0].length + target[i].y; - var node = this.block_Array[n]; - node.getChildByName("tipWin").active = false; - node.getChildByName("tipLose").active = false; - } + API._loginCode = null; + API._loginAnonymousCode = null; + callback === null || callback === void 0 ? void 0 : callback(API._loginCode, API._loginAnonymousCode); + console.log('not mini game platform, login codes are all null'); + } + }; + if (!API._loginCode) { + loginPlatform(); + } + else { + if (isWechat()) { + //@ts-ignore + wx.checkSession({ + success: function () { + console.log("session is valid, use current code:", API._loginCode); + callback === null || callback === void 0 ? void 0 : callback(API._loginCode, API._loginAnonymousCode); + }, + fail: function () { + console.log("session expired"); + loginPlatform(); } - } + }); + } + else if (isBytedance()) { + //@ts-ignore + tt.checkSession({ + success: function () { + console.log("session is valid, user current code: " + API._loginCode + ", " + API._loginAnonymousCode); + callback === null || callback === void 0 ? void 0 : callback(API._loginCode, API._loginAnonymousCode); + }, + fail: function () { + console.log("session expired"); + loginPlatform(); + }, + }); + } + else { + console.log('not mini game platform, login null'); + callback === null || callback === void 0 ? void 0 : callback(null, null); } } - else if (data == "remove") { - for (var j = 0; j < this.tip_Array.length; j++) { - var target = this.tip_Array[j]; - if (target != null) { - for (var i = 0; i < target.length; i++) { - if (target[i]) { - var n = target[i].x * this.map_Array[0].length + target[i].y; - var node = this.block_Array[n]; - node.getChildByName("tipWin").active = false; - node.getChildByName("tipLose").active = false; - } - } - } - } - this.tip_Array = []; + }; + /** + * 调用微信云函数。由于参数需要自定义,所以为any,需要自行解释。函数只完成通道和处理一场的作用 + * @param callback 返回云函数调用结果。需要检查返回参数是否为空,失败的时候为空 + * @param name 云函数的名字 + * @param data 云函数的内容 + */ + API.callWechatCloudFunction = function (callback, name, data) { + if (!isWechat()) { + console.log('Not wechat platform, not support callWechatCloudFunction'); + return; } + this.login(function (code, anonymousCode) { + if (!API._hasInitWechatCloudFunction) { + //@ts-ignore + wx.cloud.init(); + API._hasInitWechatCloudFunction = true; + } + //@ts-ignore + wx.cloud.callFunction({ + name: name, + data: data, + success: function (res) { return callback === null || callback === void 0 ? void 0 : callback(res); }, + fail: function (err) { + console.log('wechat cloud function error:', err); + callback === null || callback === void 0 ? void 0 : callback(null); + } + }); + }); + }; + /** + * 存储用户信息,数据量不能大。可以考虑用于分数排行榜。用户之间可共享排行数据。 + * @param key + * @param value + */ + API.setUserCloudStorage = function (key, value) { + if (isWechat()) { + // @ts-ignore + wx.setUserCloudStorage({ + KVDataList: [{ key: key, value: value }], + success: function () { return console.log("set cloud storage success:" + key + ", value:" + value); }, + fail: function (err) { return console.log('set cloud storage error:', err); } + }); + } + if (isBytedance()) { + // @ts-ignore + tt.setUserCloudStorage({ + KVDataList: [{ key: key, value: value, }], + success: function () { return console.log("set cloud storage success:" + key + ", value:" + value); }, + fail: function (err) { return console.log('set cloud storage error:', err); } + }); + } + }; + API._loginCode = null; + API._loginAnonymousCode = null; + API._hasInitWechatCloudFunction = false; + return API; + }()); + MiniGameSdk.API = API; + /** + * 抖音侧边栏专属接口 + */ + var BytedanceSidebar = /** @class */ (function () { + function BytedanceSidebar() { } - }; - //获取引导名字 - GameManager.prototype.getGuideName = function () { - var name = "one"; - switch (this.step) { - case 1: - name = "one"; - this.btnClick = false; - this.bgClick = true; - break; - case 2: - name = "two"; - this.btnClick = false; - this.bgClick = true; - break; - case 3: - name = "three"; - this.btnClick = false; - this.bgClick = true; - break; - case 4: - name = "four"; - this.btnClick = false; - this.bgClick = true; - break; - case 5: - name = "five"; - this.btnClick = true; - this.bgClick = false; - break; - case 6: - name = "six"; - this.btnClick = true; - this.bgClick = false; - break; - case 7: - name = "seven"; - this.btnClick = false; - this.bgClick = true; - break; - case 8: - name = "eight"; - this.btnClick = false; - this.bgClick = true; - break; - case 9: - name = "nine"; - this.btnClick = false; - this.bgClick = true; - break; - case 10: - name = "ten"; - this.btnClick = true; - this.bgClick = false; - break; - case 11: - name = "eleven"; - this.btnClick = false; - this.bgClick = true; - break; - case 12: - name = "twelve"; - this.btnClick = true; - this.bgClick = false; - break; - case 13: - name = "thirteen"; - this.btnClick = true; - this.bgClick = false; - break; - case 14: - name = "fourteen"; - this.btnClick = true; - this.bgClick = false; - break; - case 15: - name = "fiveteen"; - this.btnClick = true; - this.bgClick = false; - break; - case 16: - name = "sixteen"; - this.btnClick = true; - this.bgClick = false; - break; - case 17: - name = "last"; - this.btnClick = true; - this.bgClick = false; - break; - } - return name; - }; - //引导下一步 - GameManager.prototype.guideNext = function () { - //每次先把所有的 - console.log(this.step, this.Guide.children.length); - if (this.step + 1 == this.Guide.children.length) { - cc.fx.GameConfig.GM_INFO.guide = false; - // cc.director.loadScene("GameScene"); - var name_1 = cc.fx.GameConfig.GM_INFO.gameId + "_guide"; - cc.fx.StorageMessage.setStorage(name_1, cc.fx.GameConfig.GM_INFO.guide); - } - if (this.step > 0) - this.Guide.children[this.step - 1].active = false; - this.step += 1; - var name = this.getGuideName(); - var target = this.Guide.getChildByName(name); - target.active = true; - var size = cc.winSize; - if (size.height > 1334) { - var height = (size.height - 1334) / 2; - target.getChildByName("sp").height += height; - } - }; - GameManager.prototype.onEnable = function () { - cc.fx.Notifications.on(cc.fx.Message.control, this.clickSun, this); - cc.fx.Notifications.on(cc.fx.Message.next, this.runRoad, this); - cc.fx.Notifications.on(cc.fx.Message.nextWater, this.runWater, this); - cc.fx.Notifications.on(cc.fx.Message.startGame, this.startGame, this); - cc.fx.Notifications.on(cc.fx.Message.changePath, this.changePath, this); - cc.fx.Notifications.on(cc.fx.Message.setData, this.setData, this); - cc.fx.Notifications.on(cc.fx.Message.guideNext, this.guideNext, this); - cc.fx.Notifications.on(cc.fx.Message.showResult, this.showResult, this); - cc.fx.Notifications.on(cc.fx.Message.removeTip, this.removeTip, this); - }; - GameManager.prototype.onDisable = function () { - cc.fx.Notifications.off(cc.fx.Message.control, this.clickSun); - cc.fx.Notifications.off(cc.fx.Message.next, this.runRoad); - cc.fx.Notifications.off(cc.fx.Message.nextWater, this.runWater); - cc.fx.Notifications.off(cc.fx.Message.startGame, this.startGame); - cc.fx.Notifications.off(cc.fx.Message.changePath, this.changePath); - cc.fx.Notifications.off(cc.fx.Message.setData, this.setData); - cc.fx.Notifications.off(cc.fx.Message.guideNext, this.guideNext); - cc.fx.Notifications.off(cc.fx.Message.showResult, this.showResult); - cc.fx.Notifications.off(cc.fx.Message.removeTip, this.removeTip); - }; - GameManager.prototype.update = function (dt) { - }; - __decorate([ - property(cc.Node) - ], GameManager.prototype, "Map", void 0); - __decorate([ - property(cc.Prefab) - ], GameManager.prototype, "Block", void 0); - __decorate([ - property(cc.Label) - ], GameManager.prototype, "Time", void 0); - __decorate([ - property(cc.Label) - ], GameManager.prototype, "Countdown", void 0); - __decorate([ - property(cc.Node) - ], GameManager.prototype, "Guide", void 0); - GameManager = __decorate([ - ccclass - ], GameManager); - return GameManager; -}(cc.Component)); -exports.default = GameManager; + /** + * 本游戏在抖音环境下启动监控,需要放在全局环境中,保证能第一时间启动。因为可能监听抖音失败(抖音小游戏官方的说明)! + * @param onResult 包含一个boolean参数的函数 + * @param target 上述函数的拥有者,如果是类的成员函数,需要传入this。普通或匿名函数忽略即可。 + */ + BytedanceSidebar.listenFromSidebar = function (onResult, target) { + if (!isBytedance()) { + onResult === null || onResult === void 0 ? void 0 : onResult.call(target, false); + return; + } + // @ts-ignore + tt.onShow(function (res) { + console.log('onShow launch res:', res); + if (res.scene === '021036') { + onResult === null || onResult === void 0 ? void 0 : onResult.call(target, true); + console.log('launch from sidebar'); + } + else { + onResult === null || onResult === void 0 ? void 0 : onResult.call(target, false); + console.log('NOT launch from douyin sidebar!'); + } + }); + // @ts-ignore + var options = tt.getLaunchOptionsSync(); + if (options && options.scene === '021036') { + onResult === null || onResult === void 0 ? void 0 : onResult.call(target, true); + } + }; + /** + * 检测抖音侧边栏是否存在 + * @param onResult 包含一个boolean参数的函数 + * @param target 上述函数的拥有者,如果是类的成员函数,需要传入this。普通或匿名函数忽略即可。 + * @returns + */ + BytedanceSidebar.checkSideBar = function (onResult, target) { + if (!isBytedance()) { + onResult === null || onResult === void 0 ? void 0 : onResult.call(target, false); + return; + } + //@ts-ignore + tt.checkScene({ + scene: "sidebar", + success: function (res) { + console.log("check scene success: ", res.isExist); + onResult === null || onResult === void 0 ? void 0 : onResult.call(target, res.isExist); + }, + fail: function (res) { + console.log("check scene fail:", res); + onResult === null || onResult === void 0 ? void 0 : onResult.call(target, false); + } + }); + }; + /** + * 跳转到抖音侧边栏 + * @param onResult 包含一个boolean参数的函数 + * @param target 上述函数的拥有者,如果是类的成员函数,需要传入this。普通或匿名函数忽略即可。 + * @returns + */ + BytedanceSidebar.navigateToSidebar = function (onResult, target) { + if (!isBytedance()) { + console.log("not douyin platform!"); + onResult === null || onResult === void 0 ? void 0 : onResult.call(target, false); + return; + } + // @ts-ignore + tt.navigateToScene({ + scene: "sidebar", + success: function () { + console.log("navigate success"); + onResult === null || onResult === void 0 ? void 0 : onResult.call(target, true); + }, + fail: function (res) { + console.log("navigate failed reason:", res); + onResult === null || onResult === void 0 ? void 0 : onResult.call(target, false); + }, + }); + }; + return BytedanceSidebar; + }()); + MiniGameSdk.BytedanceSidebar = BytedanceSidebar; +})(MiniGameSdk = exports.MiniGameSdk || (exports.MiniGameSdk = {})); cc._RF.pop(); } @@ -3269,13 +1156,13 @@ cc._RF.pop(); }); } })(); -//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbImFzc2V0c1xcU2NyaXB0XFxHYW1lTWFuYWdlci50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7QUFBQSxpQ0FBb0M7QUFFcEMsU0FBUztBQUNILElBQUEsS0FBc0IsRUFBRSxDQUFDLFVBQVUsRUFBbEMsT0FBTyxhQUFBLEVBQUUsUUFBUSxjQUFpQixDQUFDO0FBRTFDO0lBQXlDLCtCQUFZO0lBQXJEO1FBQUEscUVBbTBDQztRQWgwQ0csU0FBRyxHQUFZLElBQUksQ0FBQztRQUdwQixXQUFLLEdBQWMsSUFBSSxDQUFDO1FBR3hCLFVBQUksR0FBYSxJQUFJLENBQUM7UUFHdEIsZUFBUyxHQUFhLElBQUksQ0FBQztRQUczQixXQUFLLEdBQVksSUFBSSxDQUFDOztJQW96QzFCLENBQUM7SUEzeENHLDRCQUFNLEdBQU47SUFDQSxDQUFDO0lBQ0QsMkJBQUssR0FBTDtRQUNJLEVBQUUsQ0FBQyxFQUFFLENBQUMsVUFBVSxDQUFDLFVBQVUsRUFBRSxDQUFDO1FBQzlCLElBQUksQ0FBQyxHQUFHLEVBQUUsQ0FBQztRQUNYLElBQUksQ0FBQyxJQUFJLEVBQUUsQ0FBQztJQUNoQixDQUFDO0lBRUQsa0RBQWtEO0lBQ2xELDRCQUFNLEdBQU47UUFDSSxpQkFBaUI7UUFDakIsMkRBQTJEO1FBQzNELG9CQUFvQjtRQUNwQixrRUFBa0U7UUFDbEUscUVBQXFFO1FBQ3JFLFFBQVE7UUFDUixJQUFJO1FBQ0oscUJBQXFCO1FBRXJCLElBQUksTUFBTSxHQUFHLENBQUMsQ0FBQztRQUNmLElBQUksR0FBRyxHQUFHLEVBQUUsQ0FBQztRQUNiLElBQUcsRUFBRSxDQUFDLEVBQUUsQ0FBQyxVQUFVLENBQUMsT0FBTyxDQUFDLEtBQUssSUFBSSxDQUFDLEVBQUM7WUFDbkMsTUFBTSxHQUFHLElBQUksQ0FBQyxLQUFLLENBQUMsSUFBSSxDQUFDLE1BQU0sRUFBRSxHQUFFLEVBQUUsQ0FBQyxFQUFFLENBQUMsVUFBVSxD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QUMsQ0FBQyxDQUFBO1FBQ0YsSUFBSSxDQUFDLFNBQVMsR0FBRyxJQUFJLENBQUMsU0FBUyxDQUFDLE1BQU0sQ0FBQztRQUN2QyxJQUFJLENBQUMsU0FBUyxHQUFHLElBQUksQ0FBQyxTQUFTLENBQUMsQ0FBQyxDQUFDLENBQUMsTUFBTSxDQUFDO1FBRTFDLElBQUksQ0FBQyxHQUFHLENBQUMsQ0FBQyxHQUFFLENBQUMsQ0FBQyxHQUFHLElBQUksQ0FBQyxTQUFTLENBQUMsTUFBTSxDQUFDLEdBQUMsRUFBRSxDQUFDO1FBQzNDLElBQUksQ0FBQyxHQUFHLENBQUMsQ0FBQyxHQUFHLENBQUMsSUFBSSxDQUFDLFNBQVMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxNQUFNLEdBQUcsR0FBRyxDQUFDLEdBQUMsRUFBRSxDQUFDO1FBRWpELEtBQUksSUFBSSxDQUFDLEdBQUMsQ0FBQyxFQUFDLENBQUMsR0FBQyxJQUFJLENBQUMsU0FBUyxDQUFDLE1BQU0sRUFBQyxDQUFDLEVBQUUsRUFBQztZQUNwQyxLQUFJLElBQUksQ0FBQyxHQUFDLENBQUMsRUFBRSxDQUFDLEdBQUMsSUFBSSxDQUFDLFNBQVMsQ0FBRSxDQUFDLENBQUMsQ0FBQyxNQUFNLEVBQUMsQ0FBQyxFQUFFLEVBQUM7Z0JBQ3pDLElBQUksS0FBSyxHQUFHLEVBQUUsQ0FBQyxXQUFXLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxDQUFDO2dCQUN2QyxLQUFLLENBQUMsTUFBTSxHQUFFLElBQUksQ0FBQyxHQUFHLENBQUM7Z0JBQ3ZCLEtBQUssQ0FBQyxZQUFZLENBQUMsT0FBTyxDQUFDLENBQUMsUUFBUSxDQUFDLElBQUksQ0FBQyxTQUFTLENBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEVBQUMsRUFBRSxDQUFDLEVBQUUsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsRUFBRSxDQUFDLEVBQUUsQ0FBQyxJQUFJLENBQUMsU0FBUyxFQUFDLElBQUksQ0FBQyxTQUFTLENBQUMsQ0FBQyxDQUFDO2dCQUM1RyxJQUFHLElBQUksQ0FBQyxTQUFT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Q3JCLElBQUcsSUFBSSxDQUFDLEtBQUssR0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQztvQkFBRSxJQUFJLEdBQUcsQ0FBQyxDQUFDO2FBQ3JDO1lBRUQsNkNBQTZDO1lBQzdDLElBQUksS0FBSyxHQUFHLElBQUksQ0FBQyxLQUFLLEdBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxHQUFHLElBQUksQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLENBQUM7WUFDL0MsSUFBSSxLQUFLLEdBQUcsSUFBSSxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsR0FBRyxJQUFJLENBQUMsS0FBSyxHQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsQ0FBQTtZQUM5QyxJQUFJLFNBQVMsR0FBRyxJQUFJLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQyxHQUFHLElBQUksQ0FBQyxLQUFLLEdBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDO1lBQ2hELElBQUksU0FBUyxHQUFHLElBQUksQ0FBQyxLQUFLLEdBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxHQUFHLElBQUksQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLENBQUM7WUFDaEQsSUFBRyxTQUFTLElBQUksQ0FBQyxJQUFJLFNBQVMsSUFBSSxDQUFDLEVBQUM7Z0JBQ2hDLElBQUcsS0FBSyxHQUFHLENBQUMsRUFBQztvQkFDVCxTQUFTLEdBQUcsSUFBSSxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsR0FBRyxJQUFJLENBQUMsS0FBSyxHQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQztvQkFDNUMsU0FBUyxHQUFHLElBQUksQ0FBQyxLQUFLLEdBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxHQUFHLElBQUksQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLENBQUM7aUJBQy9DO3FCQUNJLElBQUcsS0FBSyxHQUFHLENBQUMsR0FBRyxJQUFJLENBQUMsTUFBTSxFQUFDO29CQUM1QixTQUFTLEdBQUcsSUFBSSxDQUFDLEtBQUssR0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEdB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RyxPQUFPLENBQUM7Z0JBQ2YsSUFBSSxDQUFDLFFBQVEsR0FBRyxLQUFLLENBQUM7Z0JBQ3RCLElBQUksQ0FBQyxPQUFPLEdBQUcsSUFBSSxDQUFDO2dCQUNwQixNQUFNO1lBQ1YsS0FBSyxDQUFDO2dCQUNGLElBQUksR0FBRyxNQUFNLENBQUM7Z0JBQ2QsSUFBSSxDQUFDLFFBQVEsR0FBRyxLQUFLLENBQUM7Z0JBQ3RCLElBQUksQ0FBQyxPQUFPLEdBQUcsSUFBSSxDQUFDO2dCQUNwQixNQUFNO1lBQ1YsS0FBSyxDQUFDO2dCQUNGLElBQUksR0FBRyxNQUFNLENBQUM7Z0JBQ2QsSUFBSSxDQUFDLFFBQVEsR0FBRyxJQUFJLENBQUM7Z0JBQ3JCLElBQUksQ0FBQyxPQUFPLEdBQUcsS0FBSyxDQUFDO2dCQUNyQixNQUFNO1lBQ1YsS0FBSyxDQUFDO2dCQUNGLElBQUksR0FBRyxLQUFLLENBQUM7Z0JBQ2IsSUFBSSxDQUFDLFFBQVEsR0FBRyxJQUFJLENBQUM7Z0JBQ3JCLElBQUksQ0FBQyxPQUFPLEdBQUcsS0FBSyxDQUFDO2dCQUNyQixNQUFNO1lBQ1YsS0FBSyxDQUFDO2dCQUNGLElBQUksR0FBRyxPQUFPLENBQUM7Z0JBQ2YsSUFBSSxDQUFDLFFBQVEsR0FBRyxLQUFLLENBQUM7Z0JBQ3RCLElBQUksQ0FBQyxPQUFPLEdBQUcsSUFBSSxDQUFDO2dCQUNwQixNQUFNO1lBQ1YsS0FBSyxDQUFDO2dCQUNGLElBQUksR0FBRyxPQUFPLENBQUM7Z0JBQ2YsSUFBSSxDQUFDLFFBQVEsR0FBRyxLQUFLLENBQUM7Z0JBQ3RCLElBQUksQ0FBQyxPQUFPLEdBQUcsSUFBSSxDQUFDO2dCQUNwQixNQUFNO1lBQ1YsS0FBSyxDQUFDO2dCQUNGLElBQUksR0FBRyxNQUFNLENBQUM7Z0JBQ2QsSUFBSSxDQUFDLFFBQVEsR0FBRyxLQUFLLENBQUM7Z0JBQ3RCLElBQUksQ0FBQyxPQUFPLEdBQUcsSUFBSSxDQUFDO2dCQUNwQixNQUFNO1lBQ1YsS0FBSyxFQUFFO2dCQUNILElBQUksR0FBRyxLQUFLLENBQUM7Z0JBQ2Is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LENBbjBDd0MsRUFBRSxDQUFDLFNBQVMsR0FtMENwRDtrQkFuMENvQixXQUFXIiwiZmlsZSI6IiIsInNvdXJjZVJvb3QiOiIvIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQmxvY2tUeXBlIH0gZnJvbSBcIi4vQmxvY2tcIjtcclxuXHJcbi8vIOS4u+a4uOaIj+aOp+WItuexu1xyXG5jb25zdCB7Y2NjbGFzcywgcHJvcGVydHl9ID0gY2MuX2RlY29yYXRvcjtcclxuQGNjY2xhc3NcclxuZXhwb3J0IGRlZmF1bHQgY2xhc3MgR2FtZU1hbmFnZXIgZXh0ZW5kcyBjYy5Db21wb25lbnQge1xyXG5cclxuICAgIEBwcm9wZXJ0eShjYy5Ob2RlKVxyXG4gICAgTWFwOiBjYy5Ob2RlID0gbnVsbDtcclxuXHJcbiAgICBAcHJvcGVydHkoY2MuUHJlZmFiKVxyXG4gICAgQmxvY2s6IGNjLlByZWZhYiA9IG51bGw7XHJcblxyXG4gICAgQHByb3BlcnR5KGNjLkxhYmVsKVxyXG4gICAgVGltZTogY2MuTGFiZWwgPSBudWxsO1xyXG5cclxuICAgIEBwcm9wZXJ0eShjYy5MYWJlbClcclxuICAgIENvdW50ZG93bjogY2MuTGFiZWwgPSBudWxsO1xyXG5cclxuICAgIEBwcm9wZXJ0eShjYy5Ob2RlKVxyXG4gICAgR3VpZGU6IGNjLk5vZGUgPSBudWxsO1xyXG5cclxuICAgIHN0ZXA6bnVtYmVyOyAgICAgICAgICAgIC8v5byV5a+85q2l6aqkXHJcbiAgICBiZ0NsaWNrOmJvb2xlYW4gICAgICAgICAvL+W8leWvvOaXtk1hc2vpga7nvanlj6/kuI3lj6/ku6Xngrnlh7tcclxuICAgIGJ0bkNsaWNrOmJvb2xlYW4gICAgICAgIC8v5byV5a+85pe277yM5oyJ6ZKu5Y+v5LiN5Y+v54K55Ye7XHJcbiAgICBjdXN0b206bnVtYmVyOyAgICAgICAgICAvL+W9k+WJjemavuW6pumaj+acuuWcsOWbvklEXHJcbiAgICBjb3VudFRpbWU6IG51bWJlcjsgICAgICAvL+aAu+WAkuiuoeaXtlxyXG4gICAgd2F0ZXJUaW1lOiBudW1iZXIgICAgICAgLy/mtKrls7DlgJLorqHml7ZcclxuICAgIHN0YXJ0VGltZTogbnVtYmVyOyAgICAgIC8v5ri45oiP5byA5aeL6K6h5pe2XHJcbiAgICByZXBsYWNlVGltZTogbnVtYmVyICAgICAvL+a0quWzsOWAkuiuoeaXtizlvZPmgLvliankvZnml7bpl7TlsI/kuo7mtKrls7DlgJLorqHml7bvvIznlKjkuo7mm7/ku6NcclxuICAgIGZpbmlzaGlUaW1lOm51bWJlcjsgICAgIC8v5o+Q5Lqk5pe26Ze0XHJcbiAgICBzY29yZVRpbWU6bnVtYmVyICAgICAgICAvL+eUqOS6juiuoeeul+aPkOS6pOWIsOa0quWzsOadpeeahOaXtumXtOW3rlxyXG4gICAgYmxvY2tfQXJyYXk6IGFueTsgICAgICAgLy/miYDmnInlnZfmlbDnu4RcclxuICAgIHBhdGhfQXJyYXk6IGFueTsgICAgICAgIC8v5L+u562R6Lev5b6EXHJcbiAgICB3YXRlcl9BcnJheTogYW55OyAgICAgICAvL+awtOa1gei3r+W+hFxyXG4gICAgbWFwX0FycmF5OiBhbnk7ICAgICAgICAgLy/lnLDlm77mlbDnu4RcclxuICAgIHdhdGVyX1BhdGhBcmF5OmFueTsgICAgIC8v5rSq5bOw6Lev5b6EXHJcbiAgICB0aXBfQXJyYXk6IGFueTsgICAgICAgICAvL+W8leWvvOaVsOe7hFxyXG4gICAgbWFwX0hpZ2h0Om51bWJlcjsgICAgICAgLy/lnLDlm77pq5jluqZcclxuICAgIG1hcF9XaWR0aDpudW1iZXI7ICAgICAgIC8v5Zyw5Zu+5a695bqmXHJcbiAgICBtaW5fVGltZTpudW1iZXI7ICAgICAgICAvL+S4iuS4gOaKiuWcsOWbvue7k+adn+aXtu+8jOi3neemu+a0quWzsOadpeS4tOaXtumXtCAoPjXnp5LmmK/kuKrliIbmsLTlsq0pXHJcbiAgICBtaW5fU3RlcHM6bnVtYmVyOyAgICAgICAvL+W9k+WJjeWcsOWbvuacgOS8mOatpeaVsFxyXG4gICAgcGxhbl9vdmVyOmJvb2xlYW47ICAgICAgLy/mmK/lkKbkv67lu7rlroxcclxuICAgIHdhdGVyVHdlZW46Y2MuVHdlZW47ICAgIC8v5rKz5rC05YCS6K6h5pe25Yqo55S7XHJcblxyXG4gICAgb25Mb2FkICgpIHtcclxuICAgIH1cclxuICAgIHN0YXJ0ICgpIHtcclxuICAgICAgICBjYy5meC5HYW1lQ29uZmlnLkNMSUNLX2luaXQoKTtcclxuICAgICAgICB0aGlzLmZpdCgpO1xyXG4gICAgICAgIHRoaXMuaW5pdCgpO1xyXG4gICAgfVxyXG5cclxuICAgIC8v5aSE55CG5Zyw5Zu+5pWw5o2uIOesrOS4gOWFs+WujOWFqOmaj+acuu+8jOS7juesrOS6jOWFs+W8gOWni++8jOi1ouS6huagueaNrjXnp5LmtKrls7DmnaXkuLTlop7liqDpmr7luqbmraXmlbDvvIzovpPkuoblvZPliY3pmr7luqblh4/mraXmlbBcclxuICAgIGdldE1hcCgpe1xyXG4gICAgICAgIC8vIHZhciB0ZW1wID0gW107XHJcbiAgICAgICAgLy8gZm9yKGxldCBrPTA7IGs8Y2MuZnguR2FtZUNvbmZpZy5MRVZFTF9JTkZPLmxlbmd0aDsgaysrKXtcclxuICAgICAgICAvLyAgICAgdGVtcFtrXSA9IFtdO1xyXG4gICAgICAgIC8vICAgICBmb3IobGV0IGo9MDsgajxjYy5meC5HYW1lQ29uZmlnLkxFVkVMX0lORk9ba10ubGVuZ3RoOyBqKyspe1xyXG4gICAgICAgIC8vICAgICAgICAgdGVtcFtrXS5wdXNoKGNjLmZ4LkdhbWVDb25maWcuTEVWRUxfSU5GT1trXVtqXS5taW5fc3RlcHMpO1xyXG4gICAgICAgIC8vICAgICB9XHJcbiAgICAgICAgLy8gfVxyXG4gICAgICAgIC8vIGNvbnNvbGUubG9nKHRlbXApO1xyXG5cclxuICAgICAgICB2YXIgY3VzdG9tID0gMDtcclxuICAgICAgICB2YXIgbWFwID0gW107XHJcbiAgICAgICAgaWYoY2MuZnguR2FtZUNvbmZpZy5HTV9JTkZPLmxldmVsID09IDEpe1xyXG4gICAgICAgICAgICBjdXN0b20gPSBNYXRoLmZsb29yKE1hdGgucmFuZG9tKCkqIGNjLmZ4LkdhbWVDb25maWcuTEVWRUxfSU5GT1tjYy5meC5HYW1lQ29uZmlnLkdNX0lORk8ubGV2ZWxdLmxlbmd0aCk7XHJcbiAgICAgICAgfVxyXG4gICAgICAgIGVsc2V7XHJcbiAgICAgICAgICAgIHZhciBhcnIgPSBjYy5meC5HYW1lQ29uZmlnLkxFVkVMX0lORk9bY2MuZnguR2FtZUNvbmZpZy5HTV9JTkZPLmxldmVsXTtcclxuICAgICAgICAgICAgaWYoY2MuZnguR2FtZUNvbmZpZy5HTV9JTkZPLm1pbl9UaW1lID09IC0xKXtcclxuICAgICAgICAgICAgICAgIG1hcCA9IHRoaXMuZ2V0TWFwQXJyYXkoYXJyLGNjLmZ4LkdhbWVDb25maWcuR01fSU5GTy5taW5fU3RlcHMgLSAxLGZhbHNlKTtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICBlbHNlIGlmKGNjLmZ4LkdhbWVDb25maWcuR01fSU5GTy5taW5fVGltZSA+PSA1KXtcclxuICAgICAgICAgICAgICAgIG1hcCA9IHRoaXMuZ2V0TWFwQXJyYXkoYXJyLGNjLmZ4LkdhbWVDb25maWcuR01fSU5GTy5taW5fU3RlcHMgKyAyLHRydWUpO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIGVsc2V7XHJcbiAgICAgICAgICAgICAgICBtYXAgPSB0aGlzLmdldE1hcEFycmF5KGFycixjYy5meC5HYW1lQ29uZmlnLkdNX0lORk8ubWluX1N0ZXBzICsgMSx0cnVlKTtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICB2YXIgcmFuZG9tID0gTWF0aC5mbG9vcihNYXRoLnJhbmRvbSgpKiBtYXAubGVuZ3RoKTtcclxuICAgICAgICAgICAgY3VzdG9tID0gbWFwW3JhbmRvbV07XHJcbiAgICAgICAgICAgIGNvbnNvbGUubG9nKGN1c3RvbSxtYXApO1xyXG4gICAgICAgIH1cclxuICAgICAgICAvL+iusOW9leW9k+WJjeacgOWwj+atpeaVsFxyXG4gICAgICAgIGNjLmZ4LkdhbWVDb25maWcuR01fSU5GTy5taW5fU3RlcHMgPSBjYy5meC5HYW1lQ29uZmlnLkxFVkVMX0lORk9bY2MuZnguR2FtZUNvbmZpZy5HTV9JTkZPLmxldmVsXVtjdXN0b21dLm1pbl9zdGVwcztcclxuICAgICAgICBjYy5meC5HYW1lQ29uZmlnLkdNX0lORk8ubWluX1RpbWUgPSAwO1xyXG4gICAgICAgIHJldHVybiBjdXN0b207XHJcbiAgICB9XHJcbiAgICAvL+iOt+WPluS4i+S4gOWFs+mavuW6pu+8jOatpeaVsOWinuWKoDLmiJbogIUx77yM5aaC5p6c5rKh5pyJ5YiZ6ZmN5Yiw5pyJLlxyXG4gICAgZ2V0TWFwQXJyYXkoYXJyLG1pbl9zdGVwcyx0eXBlKXtcclxuICAgICAgICB2YXIgbWFwID0gW107XHJcbiAgICAgICAgZm9yKGxldCBpPTA7IGk8YXJyLmxlbmd0aDsgaSsrKXtcclxuICAgICAgICAgICAgaWYoYXJyW2ldLm1pbl9zdGVwcyA9PSBtaW5fc3RlcHMpe1xyXG4gICAgICAgICAgICAgICAgbWFwLnB1c2goaSk7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICAgICAgaWYobWFwLmxlbmd0aCA9PSAwKXtcclxuICAgICAgICAgICAgaWYodHlwZSkgIG1hcCA9IHRoaXMuZ2V0TWFwQXJyYXkoYXJyLG1pbl9zdGVwcyAtIDEsdHlwZSk7XHJcbiAgICAgICAgICAgIGVsc2UgIG1hcCA9IHRoaXMuZ2V0TWFwQXJyYXkoYXJyLG1pbl9zdGVwcyArIDEsdHlwZSk7XHJcbiAgICAgICAgfVxyXG4gICAgICAgIHJldHVybiBtYXA7XHJcbiAgICB9XHJcblxyXG4gICAgLy/liJ3lp4vljJbmlbDmja5cclxuICAgIGluaXQoKXtcclxuICAgICAgICBsZXQgbmFtZSA9IGNjLmZ4LkdhbWVDb25maWcuR01fSU5GTy5nYW1lSWQgKyBcIl9ndWlkZVwiO1xyXG4gICAgICAgIHZhciBkYXRhID0gSlNPTi5wYXJzZShsb2NhbFN0b3JhZ2UuZ2V0SXRlbShuYW1lKSk7XHJcblxyXG4gICAgICAgIGlmKGRhdGEgIT0gZmFsc2Upe1xyXG4gICAgICAgICAgICBjYy5meC5HYW1lQ29uZmlnLkdNX0lORk8uZ3VpZGUgPSB0cnVlO1xyXG4gICAgICAgICAgICBjYy5meC5TdG9yYWdlTWVzc2FnZS5zZXRTdG9yYWdlKG5hbWUsY2MuZnguR2FtZUNvbmZpZy5HTV9JTkZPLmd1aWRlKTtcclxuICAgICAgICB9XHJcbiAgICAgICAgZWxzZXtcclxuICAgICAgICAgICAgY2MuZnguR2FtZUNvbmZpZy5HTV9JTkZPLmd1aWRlID0gY2MuZnguU3RvcmFnZU1lc3NhZ2UuZ2V0U3RvcmFnZShuYW1lKTtcclxuICAgICAgICB9XHJcblxyXG4gICAgICAgIHRoaXMuaW5pdE1hcCgpOyBcclxuICAgICAgICB0aGlzLmZpbmlzaGlUaW1lID0gMDtcclxuICAgICAgICB0aGlzLnNjb3JlVGltZSA9IDA7XHJcbiAgICAgICAgdGhpcy5yZXBsYWNlVGltZSA9IDA7XHJcbiAgICAgICAgdGhpcy5zdGFydFRpbWUgPSBjYy5meC5HYW1lVG9vbC5nZXRUaW1lKCk7XHJcbiAgICAgICAgdGhpcy5jb3VudFRpbWUgPSBjYy5meC5HYW1lQ29uZmlnLlRJTUVfSU5GTy50b3RhbFRpbWU7XHJcbiAgICAgICAgdGhpcy53YXRlclRpbWUgPSBjYy5meC5HYW1lQ29uZmlnLlRJTUVfSU5GTy53YXRlclRpbWVbY2MuZnguR2FtZUNvbmZpZy5HTV9JTkZPLmxldmVsXTtcclxuICAgICAgICAvLyBpZih0aGlzLmNvdW50VGltZSA8IHRoaXMud2F0ZXJUaW1lKSB0aGlzLnJlcGxhY2VUaW1lID0gdGhpcy5jb3VudFRpbWU7XHJcbiAgICAgICAgdGhpcy5UaW1lLnN0cmluZyA9ICBjYy5meC5HYW1lVG9vbC5nZXRUaW1lTWFyZ2luKHRoaXMuY291bnRUaW1lKTsgICAgXHJcblxyXG4gICAgICAgIGlmKCFjYy5meC5HYW1lQ29uZmlnLkdNX0lORk8uZ3VpZGUpe1xyXG4gICAgICAgICAgICB0aGlzLkd1aWRlLmFjdGl2ZSA9IGZhbHNlO1xyXG4gICAgICAgICAgICB0aGlzLnN0ZXAgPSAwO1xyXG4gICAgICAgICAgICB2YXIgaGVhZCA9IHRoaXMubm9kZS5nZXRDaGlsZEJ5TmFtZShcIlRvcFwiKS5nZXRDaGlsZEJ5TmFtZShcImhlYWRcIik7XHJcbiAgICAgICAgICAgIHZhciBwcm9ncmVzcyA9IHRoaXMubm9kZS5nZXRDaGlsZEJ5TmFtZShcIlRvcFwiKS5nZXRDaGlsZEJ5TmFtZShcInByb2dyZXNzXCIpLmdldENvbXBvbmVudChjYy5TcHJpdGUpO1xyXG4gICAgICAgICAgICBoZWFkLnJ1bkFjdGlvbihjYy5tb3ZlVG8odGhpcy53YXRlclRpbWUsY2MudjIoMzEwLGhlYWQueSkpKTtcclxuXHJcbiAgICAgICAgICAgIHRoaXMud2F0ZXJUd2VlbiA9IGNjLnR3ZWVuKHByb2dyZXNzKVxyXG4gICAgICAgICAgICAudG8odGhpcy53YXRlclRpbWUse2ZpbGxSYW5nZToxfSlcclxuICAgICAgICAgICAgLnN0YXJ0KCk7XHJcbiAgICAgICAgICAgIHRoaXMuc2NoZWR1bGUodGhpcy51cGRhdGVXYXRlclRpbWUsMSk7XHJcbiAgICAgICAgICAgIHRoaXMuc2NoZWR1bGUodGhpcy51cGRhdGVDb3VudERvd25UaW1lLDEpO1xyXG4gICAgICAgIH1cclxuICAgICAgICBlbHNle1xyXG4gICAgICAgICAgICB0aGlzLkd1aWRlLmFjdGl2ZSA9IHRydWU7XHJcbiAgICAgICAgICAgIHRoaXMuZ3VpZGVOZXh0KCk7XHJcbiAgICAgICAgfVxyXG5cclxuICAgIH1cclxuICAgIC8v5Yid5aeL5YyW5Zyw5Zu+XHJcbiAgICBpbml0TWFwKCl7XHJcbiAgICAgICAgY2MuZnguR2FtZUNvbmZpZy5HTV9JTkZPLnJvdW5kICs9IDE7XHJcbiAgICAgICAgY2MuZnguR2FtZUNvbmZpZy5HTV9JTkZPLmZlbiA9IDA7XHJcbiAgICAgICAgdGhpcy5ibG9ja19BcnJheSA9IFtdO1xyXG4gICAgICAgIHRoaXMucGF0aF9BcnJheSA9IFtdO1xyXG4gICAgICAgIHRoaXMud2F0ZXJfQXJyYXkgPSBbXTtcclxuICAgICAgICB0aGlzLm1hcF9BcnJheSA9IFtdO1xyXG4gICAgICAgIHRoaXMudGlwX0FycmF5ID0gW107XHJcbiAgICAgICAgdGhpcy5wbGFuX292ZXIgPSBmYWxzZTtcclxuICAgICAgICB0aGlzLm1hcF9IaWdodCA9IDA7XHJcbiAgICAgICAgdGhpcy5tYXBfV2lkdGggPSAwO1xyXG4gICAgICAgIHRoaXMuc3RlcCA9IDA7XHJcbiAgICAgICAgdGhpcy5iZ0NsaWNrID0gZmFsc2U7XHJcbiAgICAgICAgdGhpcy5idG5DbGljayA9IGZhbHNlO1xyXG4gICAgICAgIHRoaXMuY3VzdG9tID0gMDsgLy85XHJcbiAgICAgICAgaWYoIWNjLmZ4LkdhbWVDb25maWcuR01fSU5GTy5ndWlkZSAmJmNjLmZ4LkdhbWVDb25maWcuR01fSU5GTy5sZXZlbCA9PSAwICl7XHJcbiAgICAgICAgICAgIGNjLmZ4LkdhbWVDb25maWcuR01fSU5GTy5sZXZlbCA9IDE7XHJcbiAgICAgICAgICAgIHRoaXMuY3VzdG9tID0gdGhpcy5nZXRNYXAoKTtcclxuICAgICAgICB9XHJcbiAgICAgICAgZWxzZSBpZighY2MuZnguR2FtZUNvbmZpZy5HTV9JTkZPLmd1aWRlKXtcclxuICAgICAgICAgICAgdGhpcy5jdXN0b20gPSB0aGlzLmdldE1hcCgpO1xyXG4gICAgICAgIH1cclxuICAgICAgICBjb25zb2xlLmxvZyh0aGlzLmN1c3RvbSk7XHJcblxyXG4gICAgICAgIGxldCBhcnIgPSBjYy5meC5HYW1lQ29uZmlnLkxFVkVMX0lORk9bY2MuZnguR2FtZUNvbmZpZy5HTV9JTkZPLmxldmVsXVt0aGlzLmN1c3RvbV0ubWFwO1xyXG4gICAgICAgIGlmKGNjLmZ4LkdhbWVDb25maWcuR01fSU5GTy5sZXZlbCA9PSAwKXtcclxuICAgICAgICAgICAgdGhpcy5NYXAuc2NhbGUgPSAxLjI7XHJcbiAgICAgICAgfSBcclxuICAgICAgICB0aGlzLm5vZGUuZ2V0Q2hpbGRCeU5hbWUoXCJUb3BcIikuZ2V0Q2hpbGRCeU5hbWUoXCJpZFwiKS5nZXRDb21wb25lbnQoY2MuTGFiZWwpLnN0cmluZyA9IFxyXG4gICAgICAgIGNjLmZ4LkdhbWVDb25maWcuTEVWRUxfSU5GT1tjYy5meC5HYW1lQ29uZmlnLkdNX0lORk8ubGV2ZWxdW3RoaXMuY3VzdG9tXS5pZDtcclxuICAgICAgICAvL+WwhuWcsOWbvngseei9tOWIh+aNolxyXG4gICAgICAgIHRoaXMubWFwX0FycmF5ID0gYXJyWzBdLm1hcCgoaXRlbSwgaSkgPT4ge1xyXG4gICAgICAgICAgICByZXR1cm4gYXJyLm1hcCgodmFsKSA9PiB2YWxbaV0pXHJcbiAgICAgICAgfSlcclxuICAgICAgICB0aGlzLm1hcF9XaWR0aCA9IHRoaXMubWFwX0FycmF5Lmxlbmd0aDtcclxuICAgICAgICB0aGlzLm1hcF9IaWdodCA9IHRoaXMubWFwX0FycmF5WzBdLmxlbmd0aDtcclxuXHJcbiAgICAgICAgdGhpcy5NYXAueCA9KDYgLSB0aGlzLm1hcF9BcnJheS5sZW5ndGgpKjQ4O1xyXG4gICAgICAgIHRoaXMuTWFwLnkgPSAodGhpcy5tYXBfQXJyYXlbMF0ubGVuZ3RoIC0gNi41KSo0ODtcclxuXHJcbiAgICAgICAgZm9yKGxldCBpPTA7aTx0aGlzLm1hcF9BcnJheS5sZW5ndGg7aSsrKXtcclxuICAgICAgICAgICAgZm9yKGxldCBqPTA7IGo8dGhpcy5tYXBfQXJyYXkgW2ldLmxlbmd0aDtqKyspe1xyXG4gICAgICAgICAgICAgICAgbGV0IGJsb2NrID0gY2MuaW5zdGFudGlhdGUodGhpcy5CbG9jayk7XHJcbiAgICAgICAgICAgICAgICBibG9jay5wYXJlbnQ9IHRoaXMuTWFwO1xyXG4gICAgICAgICAgICAgICAgYmxvY2suZ2V0Q29tcG9uZW50KFwiQmxvY2tcIikuaW5pdERhdGEodGhpcy5tYXBfQXJyYXkgW2ldW2pdLGNjLnYyKGksaiksY2MudjIodGhpcy5tYXBfV2lkdGgsdGhpcy5tYXBfSGlnaHQpKTtcclxuICAgICAgICAgICAgICAgIGlmKHRoaXMubWFwX0FycmF5IFtpXVtqXSA9PSBjYy5FbnVtKEJsb2NrVHlwZSkuU3RhcnQpe1xyXG4gICAgICAgICAgICAgICAgICAgIHRoaXMucGF0aF9BcnJheS5wdXNoKGNjLnYzKGksaixjYy5FbnVtKEJsb2NrVHlwZSkuTm9tYWwpKTtcclxuICAgICAgICAgICAgICAgICAgICAvLyB0aGlzLndhdGVyX0FycmF5LnB1c2goY2MudjMoaSxqLGNjLkVudW0oQmxvY2tUeXBlKS5Ob21hbCkpO1xyXG4gICAgICAgICAgICAgICAgfSBcclxuICAgICAgICAgICAgICAgIGJsb2NrLnNldFBvc2l0aW9uKGNjLnYyKC1ibG9jay53aWR0aCoyLjUgKyBpKmJsb2NrLndpZHRoLGJsb2NrLmhlaWdodCo0IC0gaipibG9jay5oZWlnaHQpKTtcclxuICAgICAgICAgICAgICAgIHRoaXMuYmxvY2tfQXJyYXkucHVzaChibG9jayk7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcblxyXG4gICAgfVxyXG5cclxuICAgIC8v5byA5aeL5ZCO77yM5oyJ546p5a625pON5L2c77yM5bCG6Lev5b6E5Lit5Zyw5Zu+5Z2X5pS+5YWl5pWw57uE5LitXHJcbiAgICBzZXRNYXAoZGF0YSl7XHJcbiAgICAgICAgZm9yKGxldCBpPTA7IGk8ZGF0YS5sZW5ndGg7IGkrKyl7XHJcbiAgICAgICAgICAgIGxldCBzdGFydCA9IHRoaXMucGF0aF9BcnJheVt0aGlzLnBhdGhfQXJyYXkubGVuZ3RoLTFdO1xyXG4gICAgICAgICAgICBzd2l0Y2goZGF0YVtpXSl7XHJcbiAgICAgICAgICAgICAgICBjYXNlIFwidXBcIjpcclxuICAgICAgICAgICAgICAgICAgICB0aGlzLnBhdGhfQXJyYXkucHVzaChjYy52MyhzdGFydC54LHN0YXJ0LnktMSxjYy5FbnVtKEJsb2NrVHlwZSkuTm9tYWwpKTtcclxuICAgICAgICAgICAgICAgICAgICBicmVhaztcclxuICAgICAgICAgICAgICAgIGNhc2UgXCJkb3duXCI6XHJcbiAgICAgICAgICAgICAgICAgICAgdGhpcy5wYXRoX0FycmF5LnB1c2goY2MudjMoc3RhcnQueCxzdGFydC55KzEsY2MuRW51bShCbG9ja1R5cGUpLk5vbWFsKSk7XHJcbiAgICAgICAgICAgICAgICAgICAgYnJlYWs7XHJcbiAgICAgICAgICAgICAgICBjYXNlIFwibGVmdFwiOlxyXG4gICAgICAgICAgICAgICAgICAgIHRoaXMucGF0aF9BcnJheS5wdXNoKGNjLnYzKHN0YXJ0LngtMSxzdGFydC55LGNjLkVudW0oQmxvY2tUeXBlKS5Ob21hbCkpO1xyXG4gICAgICAgICAgICAgICAgICAgIGJyZWFrO1xyXG4gICAgICAgICAgICAgICAgY2FzZSBcInJpZ2h0XCI6XHJcbiAgICAgICAgICAgICAgICAgICAgdGhpcy5wYXRoX0FycmF5LnB1c2goY2MudjMoc3RhcnQueCsxLHN0YXJ0LnksY2MuRW51bShCbG9ja1R5cGUpLk5vbWFsKSk7XHJcbiAgICAgICAgICAgICAgICAgICAgYnJlYWs7XHJcbiAgICAgICAgICAgICAgICBjYXNlIFwicmVpbmZvcmNlXCI6XHJcbiAgICAgICAgICAgICAgICAgICAgdGhpcy5wYXRoX0FycmF5LnB1c2goY2MudjMoc3RhcnQueCxzdGFydC55LGNjLkVudW0oQmxvY2tUeXBlKS5SZWluZm9yY2UpKTtcclxuICAgICAgICAgICAgICAgICAgICBicmVhaztcclxuICAgICAgICAgICAgICAgIGNhc2UgXCJzb2lsXCI6XHJcbiAgICAgICAgICAgICAgICAgICAgdGhpcy5wYXRoX0FycmF5LnB1c2goY2MudjMoc3RhcnQueCxzdGFydC55LGNjLkVudW0oQmxvY2tUeXBlKS5YaV9Tb2lsKSk7XHJcbiAgICAgICAgICAgICAgICAgICAgYnJlYWs7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICAgICAgaWYodGhpcy5wYXRoX0FycmF5W3RoaXMucGF0aF9BcnJheS5sZW5ndGgtMV0ueiAhPSAwKXtcclxuICAgICAgICAgICAgdGhpcy5wYXRoX0FycmF5LnBvcCgpO1xyXG4gICAgICAgIH1cclxuICAgICAgICB0aGlzLnJ1blJvYWQoMCk7XHJcbiAgICB9XHJcbiAgICAvL+W8gOWni+aJp+ihjOa0quWzsOadpeS6hueahOWKqOeUu1xyXG4gICAgcnVuUm9hZChvcmRlcil7XHJcbiAgICAgICAgb3JkZXIgPSBwYXJzZUludChvcmRlcik7XHJcbiAgICAgICAgaWYob3JkZXIgPiAwKXtcclxuICAgICAgICAgICAgaWYodGhpcy5wYXRoX0FycmF5W29yZGVyLTFdLnogPT0gMCl7XHJcbiAgICAgICAgICAgICAgICAvL2NvbnNvbGUubG9nKFwiMeato+W4uOaUvuWFpVwiLHRoaXMucGF0aF9BcnJheVtvcmRlci0xXS54LHRoaXMucGF0aF9BcnJheVtvcmRlci0xXS55LHRoaXMucGF0aF9BcnJheVtvcmRlci0xXS56KVxyXG4gICAgICAgICAgICAgICAgdGhpcy5jaGFuZ2VXYXRlcihjYy52Myh0aGlzLnBhdGhfQXJyYXlbb3JkZXItMV0ueCx0aGlzLnBhdGhfQXJyYXlbb3JkZXItMV0ueSwwKSk7XHJcbiAgICAgICAgICAgICAgICBpZihvcmRlciA9PSB0aGlzLnBhdGhfQXJyYXkubGVuZ3RoLTEpe1xyXG4gICAgICAgICAgICAgICAgICAgIHRoaXMuY2hhbmdlV2F0ZXIoY2MudjModGhpcy5wYXRoX0FycmF5W29yZGVyXS54LHRoaXMucGF0aF9BcnJheVtvcmRlcl0ueSwwKSk7XHJcbiAgICAgICAgICAgICAgICAgICAgLy8gY29uc29sZS5sb2coXCLmnIDlkI7mlL7lhaVcIix0aGlzLnBhdGhfQXJyYXlbb3JkZXJdLngsdGhpcy5wYXRoX0FycmF5W29yZGVyXS55KVxyXG4gICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIGVsc2V7XHJcbiAgICAgICAgICAgICAgICAvL2NvbnNvbGUubG9nKFwiMuaPkuWFpVwiLHRoaXMucGF0aF9BcnJheVtvcmRlcl0ueCx0aGlzLnBhdGhfQXJyYXlbb3JkZXJdLnksdGhpcy5wYXRoX0FycmF5W29yZGVyXS56KVxyXG4gICAgICAgICAgICAgICAgdGhpcy5jaGFuZ2VXYXRlcihjYy52Myh0aGlzLnBhdGhfQXJyYXlbb3JkZXJdLngsdGhpcy5wYXRoX0FycmF5W29yZGVyXS55LDApKTtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH0gXHJcbiAgICAgICAgaWYob3JkZXIgPD0gdGhpcy5wYXRoX0FycmF5Lmxlbmd0aC0xKXtcclxuICAgICAgICAgICAgbGV0IGkgPSB0aGlzLnBhdGhfQXJyYXlbb3JkZXJdLngqdGhpcy5tYXBfQXJyYXlbMF0ubGVuZ3RoK3RoaXMucGF0aF9BcnJheVtvcmRlcl0ueTtcclxuICAgICAgICAgICAgbGV0IGRpcmVjdGlvbiA9IFwiXCI7XHJcbiAgICAgICAgICAgIGxldCBjaXJjdWxhdGUgPSB0cnVlO1xyXG4gICAgICAgICAgICAvL+acgOWQjuS4gOatpee7k+adn1xyXG4gICAgICAgICAgICBpZihvcmRlciA9PSB0aGlzLnBhdGhfQXJyYXkubGVuZ3RoLTEpe1xyXG4gICAgICAgICAgICAgICAgY2lyY3VsYXRlID0gZmFsc2U7XHJcbiAgICAgICAgICAgICAgICBkaXJlY3Rpb24gPSBcIkVuZFwiO1xyXG4gICAgICAgICAgICAgICAgLy8gY29uc29sZS5sb2coXCLov5vlhaXnu5PmnZ9cIik7XHJcbiAgICAgICAgICAgICAgICBpZih0aGlzLnBhdGhfQXJyYXkubGVuZ3RoID4gMSl7XHJcbiAgICAgICAgICAgICAgICAgICAgLy8gY29uc29sZS5sb2coXCLlh4blpIflh7rmsLRcIik7XHJcbiAgICAgICAgICAgICAgICAgICAgc2V0VGltZW91dCgoKSA9PiB7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIGlmKCF0aGlzLnBsYW5fb3Zlcil7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB0aGlzLnBsYW5fb3ZlciA9IHRydWU7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB0aGlzLnVuc2NoZWR1bGUodGhpcy51cGRhdGVXYXRlclRpbWUpO1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgdmFyIGhlYWQgPSB0aGlzLm5vZGUuZ2V0Q2hpbGRCeU5hbWUoXCJUb3BcIikuZ2V0Q2hpbGRCeU5hbWUoXCJoZWFkXCIpO1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgdmFyIHByb2dyZXNzID0gdGhpcy5ub2RlLmdldENoaWxkQnlOYW1lKFwiVG9wXCIpLmdldENoaWxkQnlOYW1lKFwicHJvZ3Jlc3NcIikuZ2V0Q29tcG9uZW50KGNjLlNwcml0ZSk7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBoZWFkLnN0b3BBbGxBY3Rpb25zKCk7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBoZWFkLnNldFBvc2l0aW9uKDMxMCxoZWFkLnkpO1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgaWYodGhpcy53YXRlclR3ZWVuKSB0aGlzLndhdGVyVHdlZW4uc3RvcCgpO1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgcHJvZ3Jlc3MuZmlsbFJhbmdlID0gMTtcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNjLmZ4LkdhbWVDb25maWcuR01fSU5GTy5taW5fVGltZSA9IHRoaXMud2F0ZXJUaW1lO1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgdGhpcy5ydW5XYXRlcigwKTsgXHJcbiAgICAgICAgICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgICAgICB9LCA1MDApO1xyXG4gICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgZWxzZXtcclxuICAgICAgICAgICAgICAgICAgICBkaXJlY3Rpb24gPSBcImVyclwiO1xyXG4gICAgICAgICAgICAgICAgICAgIGNvbnNvbGUubG9nKFwi6L+b5YWl57uT5p2fZXJyXCIpO1xyXG4gICAgICAgICAgICAgICAgfVxyXG5cclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICBlbHNle1xyXG4gICAgICAgICAgICAgICAgaWYodGhpcy5wYXRoX0FycmF5W29yZGVyXS56ID09IDYgJiYgb3JkZXIgKyAxIDwgdGhpcy5wYXRoX0FycmF5Lmxlbmd0aCApIHtcclxuICAgICAgICAgICAgICAgICAgICBkaXJlY3Rpb24gPSBcIlJlaW5mb3JjZVwiO1xyXG4gICAgICAgICAgICAgICAgICAgIGkgPSB0aGlzLnBhdGhfQXJyYXlbb3JkZXIrMV0ueCp0aGlzLm1hcF9BcnJheVswXS5sZW5ndGgrdGhpcy5wYXRoX0FycmF5W29yZGVyKzFdLnk7XHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICBlbHNlIGlmKG9yZGVyKzEgPCB0aGlzLnBhdGhfQXJyYXkubGVuZ3RoKXtcclxuICAgICAgICAgICAgICAgICAgICBpZih0aGlzLnBhdGhfQXJyYXlbb3JkZXIrMV0ueiA9PSA1KXtcclxuICAgICAgICAgICAgICAgICAgICAgICAgZGlyZWN0aW9uID0gXCJYaV9Tb2lsXCI7XHJcbiAgICAgICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgICAgIGVsc2UgaWYodGhpcy5wYXRoX0FycmF5W29yZGVyKzFdLnogPT0gNiAmJiBvcmRlciA9PSAwICYmIG9yZGVyICsgMSA8IHRoaXMucGF0aF9BcnJheS5sZW5ndGgpe1xyXG4gICAgICAgICAgICAgICAgICAgICAgICBkaXJlY3Rpb24gPSB0aGlzLmdldERpcmVjdGlvbihvcmRlcisxLHRoaXMucGF0aF9BcnJheSk7XHJcbiAgICAgICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgICAgIGVsc2V7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIGRpcmVjdGlvbiA9IHRoaXMuZ2V0RGlyZWN0aW9uKG9yZGVyLHRoaXMucGF0aF9BcnJheSk7XHJcbiAgICAgICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgZWxzZXtcclxuICAgICAgICAgICAgICAgICAgICBkaXJlY3Rpb24gPSB0aGlzLmdldERpcmVjdGlvbihvcmRlcix0aGlzLnBhdGhfQXJyYXkpO1xyXG4gICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIC8vIGNvbnNvbGUubG9nKG9yZGVyLHRoaXMucGF0aF9BcnJheVtvcmRlcl0ueCx0aGlzLnBhdGhfQXJyYXlbb3JkZXJdLnksaSk7XHJcbiBcclxuICAgICAgICAgICAgLy8gY29uc29sZS5sb2coXCLmraXpqqQ6XCIsb3JkZXIsXCLmlrnlkJFcIixkaXJlY3Rpb24pO1xyXG4gICAgICAgICAgICBsZXQgamcgPSB0aGlzLmdldEJvdW5kYXJ5KG9yZGVyLHRoaXMucGF0aF9BcnJheVtvcmRlcl0ueCx0aGlzLnBhdGhfQXJyYXlbb3JkZXJdLnksZGlyZWN0aW9uLHRoaXMucGF0aF9BcnJheSk7XHJcblxyXG4gICAgICAgICAgICAvLyBpZihkaXJlY3Rpb24gPT0gXCJcIiB8fCBqZyA9PSBmYWxzZSkgcmV0dXJuO1xyXG4gICAgICAgICAgICBpZihkaXJlY3Rpb24gPT0gXCJlcnJcIiB8fCBkaXJlY3Rpb24gPT0gXCJcIiB8fCBqZyA9PSBmYWxzZSl7XHJcbiAgICAgICAgICAgICAgICBjYy5meC5Ob3RpZmljYXRpb25zLmVtaXQoY2MuZnguTWVzc2FnZS5zaG93UmVzdWx0LFwibG9zZVwiKTtcclxuICAgICAgICAgICAgICAgIGNjLmZ4Lk5vdGlmaWNhdGlvbnMuZW1pdChjYy5meC5NZXNzYWdlLnNldERhdGEsZmFsc2UpO1xyXG4gICAgICAgICAgICAgICAgcmV0dXJuO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIGxldCB0YXJnZXQgPSB0aGlzLmJsb2NrX0FycmF5W2ldLmdldENvbXBvbmVudChcIkJsb2NrXCIpO1xyXG4gICAgXHJcbiAgICAgICAgICAgIHRhcmdldC5zZXRQYXRoKGRpcmVjdGlvbik7XHJcblxyXG4gICAgICAgICAgICBpZihvcmRlciA+IDAgJiYgb3JkZXIgPCB0aGlzLnBhdGhfQXJyYXkubGVuZ3RoLTEpe1xyXG4gICAgICAgICAgICAgICAgaWYodGhpcy5wYXRoX0FycmF5W29yZGVyKzFdLnogPT0gNSl7XHJcbiAgICAgICAgICAgICAgICAgICAgdGhpcy5zZXRfU29pbChvcmRlcisxLHRoaXMucGF0aF9BcnJheSxcInJvYWRcIik7XHJcbiAgICAgICAgICAgICAgICAgICAgY2lyY3VsYXRlID0gZmFsc2U7XHJcbiAgICAgICAgICAgICAgICAgICAgcmV0dXJuO1xyXG4gXHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICBlbHNlIGlmKG9yZGVyID09IDEgJiYgdGhpcy5wYXRoX0FycmF5W29yZGVyXS56ID09IDUpe1xyXG4gICAgICAgICAgICAgICAgICAgIHRoaXMuc2V0X1NvaWwob3JkZXIsdGhpcy5wYXRoX0FycmF5LFwicm9hZFwiKTtcclxuICAgICAgICAgICAgICAgICAgICBjaXJjdWxhdGUgPSBmYWxzZTtcclxuICAgICAgICAgICAgICAgICAgICByZXR1cm47XHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgbGV0IHBvcyA9IGNjLnYyKCk7XHJcbiAgICAgICAgICAgIGlmKGRpcmVjdGlvbiA9PSBcIkVuZFwiKXtcclxuICAgICAgICAgICAgICAgIGlmKG9yZGVyID4gMCl7XHJcbiAgICAgICAgICAgICAgICAgICAgLy8gaWYodGhpcy5wYXRoX0FycmF5W29yZGVyLTFdLnogPT0gMCl7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIHBvcyA9IGNjLnYyKHRoaXMucGF0aF9BcnJheVtvcmRlci0xXS54LCB0aGlzLnBhdGhfQXJyYXlbb3JkZXItMV0ueSk7XHJcbiAgICAgICAgICAgICAgICAgICAgLy8gfVxyXG4gICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIGxldCBkYXRhID0ge1xyXG4gICAgICAgICAgICAgICAgb3JkZXI6b3JkZXIsXHJcbiAgICAgICAgICAgICAgICB0aW1lOmNjLmZ4LkdhbWVDb25maWcuVElNRV9JTkZPLndhdGVyU3BlZWRbY2MuZnguR2FtZUNvbmZpZy5HTV9JTkZPLmxldmVsXSxcclxuICAgICAgICAgICAgICAgIHR5cGU6dGhpcy5wYXRoX0FycmF5W29yZGVyXS56LFxyXG4gICAgICAgICAgICAgICAgY2lyY3VsYXRlOmNpcmN1bGF0ZSxcclxuICAgICAgICAgICAgICAgIGxhc3Q6cG9zXHJcbiAgICAgICAgICAgIH07XHJcbiAgICAgICAgXHJcbiAgICAgICAgICAgIHRhcmdldC5ydW5Sb2FkKGRhdGEpO1xyXG4gICAgICAgIH1cclxuICAgIH1cclxuICAgIC8v5Yik5pat6L6555WM44CC5oiW6ICF5pKe5bGx77yM5oiW6ICF5rm/5Zyw5rKh5pyJ5Yqg5Zu6XHJcbiAgICBnZXRCb3VuZGFyeShvcmRlcix4LHksZGlyZWN0aW9uLHJvYWQpe1xyXG4gICAgICAgIGxldCBqZyA9IHRydWU7XHJcbiAgICAgICAgaWYoeCA8IDAgfHwgeCA+PSB0aGlzLm1hcF9XaWR0aCB8fCB5IDwgMCB8fCB5ID49IHRoaXMubWFwX0hpZ2h0KXtcclxuICAgICAgICAgICAgamcgPSBmYWxzZTtcclxuICAgICAgICAgICAgLy8gY29uc29sZS5sb2coXCLotoXov4fovrnnlYzvvIzmuLjmiI/nu5PmnZ9cIik7XHJcbiAgICAgICAgICAgIC8vIGFsZXJ0KFwi6LaF6L+H6L6555WM77yM5rK75rC05aSx6LSlXCIpO1xyXG4gICAgICAgICAgICBjYy5meC5Ob3RpZmljYXRpb25zLmVtaXQoY2MuZnguTWVzc2FnZS5zaG93UmVzdWx0LFwibG9zZVwiKTtcclxuICAgICAgICAgICAgY2MuZnguTm90aWZpY2F0aW9ucy5lbWl0KGNjLmZ4Lk1lc3NhZ2Uuc2V0RGF0YSxmYWxzZSk7XHJcbiAgICAgICAgfVxyXG4gICAgICAgIGVsc2Uge1xyXG4gICAgICAgICAgICBsZXQgaSA9IHJvYWRbb3JkZXJdLngqdGhpcy5tYXBfQXJyYXlbMF0ubGVuZ3RoK3JvYWRbb3JkZXJdLnk7XHJcbiAgICAgICAgICAgIGxldCB0YXJnZXQgPSB0aGlzLmJsb2NrX0FycmF5W2ldLmdldENvbXBvbmVudChcIkJsb2NrXCIpO1xyXG4gICAgICAgICAgICBpZih0YXJnZXQuYmxvY2tfVHlwZSA9PSAzKXtcclxuICAgICAgICAgICAgICAgIGpnID0gZmFsc2U7XHJcbiAgICAgICAgICAgICAgICAvLyBjb25zb2xlLmxvZyhcIuS/ruetkeWxseWzsO+8jOa4uOaIj+e7k+adn1wiKTtcclxuICAgICAgICAgICAgICAgIC8vIGFsZXJ0KFwi5L+u562R5bGx5bOw77yM5rK75rC05aSx6LSlXCIpO1xyXG4gICAgICAgICAgICAgICAgY2MuZnguTm90aWZpY2F0aW9ucy5lbWl0KGNjLmZ4Lk1lc3NhZ2Uuc2hvd1Jlc3VsdCxcImxvc2VcIik7XHJcbiAgICAgICAgICAgICAgICBjYy5meC5Ob3RpZmljYXRpb25zLmVtaXQoY2MuZnguTWVzc2FnZS5zZXREYXRhLGZhbHNlKTtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICBlbHNlIGlmKHRhcmdldC5ibG9ja19UeXBlID09IDIgJiYgZGlyZWN0aW9uICE9IFwiUmVpbmZvcmNlXCIpe1xyXG4gICAgICAgICAgICAgICAgamcgPSBmYWxzZTtcclxuICAgICAgICAgICAgICAgIC8vIGNvbnNvbGUubG9nKFwi5L+u562R5pyq5Yqg5Zu65rm/5ZywLOa4uOaIj+e7k+adn1wiKTtcclxuICAgICAgICAgICAgICAgIC8vIGFsZXJ0KFwi5L+u562R5pyq5Yqg5Zu65rm/5ZywLOa4uOaIj+e7k+adn1wiKTtcclxuICAgICAgICAgICAgICAgIGNjLmZ4Lk5vdGlmaWNhdGlvbnMuZW1pdChjYy5meC5NZXNzYWdlLnNob3dSZXN1bHQsXCJsb3NlXCIpO1xyXG4gICAgICAgICAgICAgICAgY2MuZnguTm90aWZpY2F0aW9ucy5lbWl0KGNjLmZ4Lk1lc3NhZ2Uuc2V0RGF0YSxmYWxzZSk7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICAgICAgcmV0dXJuIGpnO1xyXG4gICAgfVxyXG5cclxuICAgIC8v5byA5aeL5omn6KGM5rSq5bOw5p2l5LqG55qE5Yqo55S7XHJcbiAgICBydW5XYXRlcihvcmRlcil7XHJcbiAgICAgICAgb3JkZXIgPSBwYXJzZUludChvcmRlcik7XHJcbiAgICAgICAgXHJcbiAgICAgICAgaWYob3JkZXIgPD0gdGhpcy53YXRlcl9BcnJheS5sZW5ndGgtMSl7XHJcbiAgICAgICAgICAgIGxldCBpID0gdGhpcy53YXRlcl9BcnJheVtvcmRlcl0ueCp0aGlzLm1hcF9BcnJheVswXS5sZW5ndGgrdGhpcy53YXRlcl9BcnJheVtvcmRlcl0ueTtcclxuICAgICAgICAgICAgbGV0IGRpcmVjdGlvbiA9IFwiXCI7XHJcbiAgICAgICAgICAgIGxldCBjaXJjdWxhdGUgPSB0cnVlO1xyXG4gICAgICAgICAgICAvL+acgOWQjuS4gOatpee7k+adn1xyXG4gICAgICAgICAgICBpZihvcmRlciA9PSB0aGlzLndhdGVyX0FycmF5Lmxlbmd0aC0xKXtcclxuICAgICAgICAgICAgICAgIGNpcmN1bGF0ZSA9IGZhbHNlO1xyXG4gICAgICAgICAgICAgICAgZGlyZWN0aW9uID0gXCJFbmRcIjtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICBlbHNle1xyXG4gICAgICAgICAgICAgICAgaWYodGhpcy53YXRlcl9BcnJheVtvcmRlcl0ueiA9PSA2ICYmIG9yZGVyICsgMSA8IHRoaXMud2F0ZXJfQXJyYXkubGVuZ3RoICYmIG9yZGVyIT0xKSB7XHJcbiAgICAgICAgICAgICAgICAgICAgZGlyZWN0aW9uID0gXCJSZWluZm9yY2VcIjtcclxuICAgICAgICAgICAgICAgICAgICBpID0gdGhpcy53YXRlcl9BcnJheVtvcmRlcisxXS54KnRoaXMubWFwX0FycmF5WzBdLmxlbmd0aCt0aGlzLndhdGVyX0FycmF5W29yZGVyKzFdLnk7XHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICBlbHNlIGlmKG9yZGVyKzEgPCB0aGlzLndhdGVyX0FycmF5Lmxlbmd0aCl7XHJcbiAgICAgICAgICAgICAgICAgICAgaWYodGhpcy53YXRlcl9BcnJheVtvcmRlcisxXS56ID09IDUpe1xyXG4gICAgICAgICAgICAgICAgICAgICAgICBkaXJlY3Rpb24gPSBcIlhpX1NvaWxcIjtcclxuICAgICAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICAgICAgZWxzZSBpZih0aGlzLndhdGVyX0FycmF5W29yZGVyKzFdLnogPT0gNiAmJiBvcmRlciA9PSAwKXtcclxuICAgICAgICAgICAgICAgICAgICAgICAgZGlyZWN0aW9uID0gXCJSZWluZm9yY2VcIjtcclxuICAgICAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICAgICAgZWxzZXtcclxuICAgICAgICAgICAgICAgICAgICAgICAgZGlyZWN0aW9uID0gdGhpcy5nZXREaXJlY3Rpb24ob3JkZXIsdGhpcy53YXRlcl9BcnJheSk7XHJcbiAgICAgICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgZWxzZXtcclxuICAgICAgICAgICAgICAgICAgICBkaXJlY3Rpb24gPSB0aGlzLmdldERpcmVjdGlvbihvcmRlcix0aGlzLndhdGVyX0FycmF5KTtcclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICBsZXQgamcgPSB0aGlzLmdldEJvdW5kYXJ5KG9yZGVyLHRoaXMud2F0ZXJfQXJyYXlbb3JkZXJdLngsdGhpcy53YXRlcl9BcnJheVtvcmRlcl0ueSxkaXJlY3Rpb24sdGhpcy53YXRlcl9BcnJheSk7XHJcbiAgICAgICAgICAgIGlmKGRpcmVjdGlvbiA9PSBcIlwiIHx8IGpnID09IGZhbHNlIHx8IGRpcmVjdGlvbiA9PSBcImVyclwiKXtcclxuICAgICAgICAgICAgICAgIGNjLmZ4Lk5vdGlmaWNhdGlvbnMuZW1pdChjYy5meC5NZXNzYWdlLnNob3dSZXN1bHQsXCJsb3NlXCIpO1xyXG4gICAgICAgICAgICAgICAgY2MuZnguTm90aWZpY2F0aW9ucy5lbWl0KGNjLmZ4Lk1lc3NhZ2Uuc2V0RGF0YSxmYWxzZSk7XHJcbiAgICAgICAgICAgICAgICByZXR1cm47XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgbGV0IHRhcmdldCA9IHRoaXMuYmxvY2tfQXJyYXlbaV0uZ2V0Q29tcG9uZW50KFwiQmxvY2tcIik7XHJcbiAgICAgICAgICAgIHRhcmdldC5zZXRQYXRoKGRpcmVjdGlvbik7XHJcblxyXG4gICAgICAgICAgICBpZihvcmRlciA+IDAgJiYgb3JkZXIgPCB0aGlzLndhdGVyX0FycmF5Lmxlbmd0aC0xKXtcclxuICAgICAgICAgICAgICAgIGlmKHRoaXMud2F0ZXJfQXJyYXlbb3JkZXIrMV0ueiA9PSA1KXtcclxuICAgICAgICAgICAgICAgICAgICB0aGlzLnNldF9Tb2lsKG9yZGVyKzEsdGhpcy53YXRlcl9BcnJheSxcIndhdGVyXCIpO1xyXG4gICAgICAgICAgICAgICAgICAgIGNpcmN1bGF0ZSA9IGZhbHNlO1xyXG4gICAgICAgICAgICAgICAgICAgIHJldHVybjtcclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgIGVsc2UgaWYob3JkZXIgPT0gMSAmJiB0aGlzLndhdGVyX0FycmF5W29yZGVyXS56ID09IDUpe1xyXG4gICAgICAgICAgICAgICAgICAgIHRoaXMuc2V0X1NvaWwob3JkZXIsdGhpcy53YXRlcl9BcnJheSxcIndhdGVyXCIpO1xyXG4gICAgICAgICAgICAgICAgICAgIGNpcmN1bGF0ZSA9IGZhbHNlO1xyXG4gICAgICAgICAgICAgICAgICAgIHJldHVybjtcclxuICAgICAgICAgICAgICAgIH0gXHJcbiAgICAgICAgICAgIH1cclxuXHJcbiAgICAgICAgICAgIGxldCBwb3MgPSBjYy52MigpO1xyXG4gICAgICAgICAgICBpZihkaXJlY3Rpb24gPT0gXCJFbmRcIil7XHJcbiAgICAgICAgICAgICAgICBpZihvcmRlciA+IDApe1xyXG4gICAgICAgICAgICAgICAgICAgIGlmKHRoaXMud2F0ZXJfQXJyYXlbb3JkZXItMV0ueiA9PSAwKXtcclxuICAgICAgICAgICAgICAgICAgICAgICAgcG9zID0gY2MudjIodGhpcy53YXRlcl9BcnJheVtvcmRlci0xXS54LCB0aGlzLndhdGVyX0FycmF5W29yZGVyLTFdLnkpO1xyXG4gICAgICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICBsZXQgZGF0YSA9IHtcclxuICAgICAgICAgICAgICAgIG9yZGVyOm9yZGVyLFxyXG4gICAgICAgICAgICAgICAgdGltZTpjYy5meC5HYW1lQ29uZmlnLlRJTUVfSU5GTy53YXRlclNwZWVkW2NjLmZ4LkdhbWVDb25maWcuR01fSU5GTy5sZXZlbF0sXHJcbiAgICAgICAgICAgICAgICB0eXBlOnRoaXMud2F0ZXJfQXJyYXlbb3JkZXJdLnosXHJcbiAgICAgICAgICAgICAgICBjaXJjdWxhdGU6Y2lyY3VsYXRlLFxyXG4gICAgICAgICAgICAgICAgbGFzdDpwb3NcclxuICAgICAgICAgICAgfTtcclxuICAgICAgICAgICAgdGFyZ2V0LnJ1bldhdGVyKGRhdGEpO1xyXG4gICAgICAgIH1cclxuICAgIH1cclxuICAgIC8v6I635Y+W5oGv5aOk55qE5qC85a2Q55qE5pa55ZCRXHJcbiAgICBnZXRYaV9Tb2lsKG9yZGVyLHJvYWQpe1xyXG4gICAgICAgIHZhciBkaXJlY3Rpb24gPSBudWxsO1xyXG4gICAgICAgIC8v5aaC5p6c5oGv5aOk5ZCO6Z2i6L+Y5pyJ5LiL5LiA5q2l55qE6K+dXHJcbiAgICAgICAgaWYob3JkZXIgKyAxIDwgcm9hZC5sZW5ndGgpe1xyXG4gICAgICAgICAgICBkaXJlY3Rpb24gPSB0aGlzLmdldERpcmVjdGlvbihvcmRlcixyb2FkKTtcclxuICAgICAgICAgICAgaWYoZGlyZWN0aW9uID09IFwidXBcIiB8fCBkaXJlY3Rpb24gPT0gXCJyaWdodF91cFwiIHx8IGRpcmVjdGlvbiA9PSBcImxlZnRfdXBcIil7XHJcbiAgICAgICAgICAgICAgICBkaXJlY3Rpb24gPSBcInVwXCI7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgZWxzZSBpZihkaXJlY3Rpb24gPT0gXCJkb3duXCIgfHwgZGlyZWN0aW9uID09IFwibGVmdF9kb3duXCIgfHwgZGlyZWN0aW9uID09IFwicmlnaHRfZG93blwiKXtcclxuICAgICAgICAgICAgICAgIGRpcmVjdGlvbiA9IFwiZG93blwiO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIGVsc2UgaWYoZGlyZWN0aW9uID09IFwibGVmdFwiIHx8IGRpcmVjdGlvbiA9PSBcInVwX2xlZnRcIiB8fCBkaXJlY3Rpb24gPT0gXCJkb3duX2xlZnRcIil7XHJcbiAgICAgICAgICAgICAgICBkaXJlY3Rpb24gPSBcImxlZnRcIjtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICBlbHNlIGlmKGRpcmVjdGlvbiA9PSBcInJpZ2h0XCIgfHwgZGlyZWN0aW9uID09IFwidXBfcmlnaHRcIiB8fCBkaXJlY3Rpb24gPT0gXCJkb3duX3JpZ2h0XCIpe1xyXG4gICAgICAgICAgICAgICAgZGlyZWN0aW9uID0gXCJyaWdodFwiO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfSAgXHJcbiAgICAgICAgcmV0dXJuIGRpcmVjdGlvbjtcclxuICAgIH1cclxuICAgIC8v6K6+572u5oGv5aOkXHJcbiAgICBzZXRfU29pbChvcmRlcixyb2FkLG5hbWUpe1xyXG4gICAgICAgIHZhciBkaXJlY3Rpb24gPSB0aGlzLmdldFhpX1NvaWwob3JkZXIscm9hZCk7XHJcbiAgICAgICAgdmFyIGxlbmd0aCA9IDA7XHJcbiAgICAgICAgaWYoZGlyZWN0aW9uID09IFwicmlnaHRcIil7XHJcbiAgICAgICAgICAgIGxlbmd0aCA9IHRoaXMubWFwX1dpZHRoIC0gMTtcclxuICAgICAgICAgICAgZm9yKGxldCBpPXJvYWRbb3JkZXJdLng7aTw9bGVuZ3RoO2krKyl7XHJcbiAgICAgICAgICAgICAgICBsZXQgbiA9IGkqdGhpcy5tYXBfQXJyYXlbMF0ubGVuZ3RoK3JvYWRbb3JkZXJdLnk7XHJcbiAgICAgICAgICAgICAgICBsZXQgdGFyZ2V0ID0gdGhpcy5ibG9ja19BcnJheVtuXS5nZXRDb21wb25lbnQoXCJCbG9ja1wiKTtcclxuICAgICAgICAgICAgICAgIGlmKHRhcmdldC5ibG9ja19UeXBlID09IDMgfHwgdGFyZ2V0LmJsb2NrX1R5cGUgPT0gNCl7XHJcbiAgICAgICAgICAgICAgICAgICAgbGVuZ3RoID0gaS0xO1xyXG4gICAgICAgICAgICAgICAgICAgIGlmKHRhcmdldC5ibG9ja19UeXBlID09IDQpe1xyXG4gICAgICAgICAgICAgICAgICAgICAgICBsZW5ndGggKz0gMTtcclxuICAgICAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICAgICAgaSA9IDEwMDAwO1xyXG4gICAgICAgICAgICAgICAgICAgIGJyZWFrO1xyXG4gICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICB9dGhpcy5zY2hlZHVsZU9uY2VcclxuICAgICAgICB9IFxyXG4gICAgICAgIGVsc2UgaWYoZGlyZWN0aW9uID09IFwibGVmdFwiKXtcclxuICAgICAgICAgICAgbGVuZ3RoID0gMDtcclxuICAgICAgICAgICAgZm9yKGxldCBpPXJvYWRbb3JkZXJdLng7aT49bGVuZ3RoO2ktLSl7XHJcbiAgICAgICAgICAgICAgICBsZXQgbiA9IGkqdGhpcy5tYXBfQXJyYXlbMF0ubGVuZ3RoK3JvYWRbb3JkZXJdLnk7XHJcbiAgICAgICAgICAgICAgICBsZXQgdGFyZ2V0ID0gdGhpcy5ibG9ja19BcnJheVtuXS5nZXRDb21wb25lbnQoXCJCbG9ja1wiKTtcclxuICAgICAgICAgICAgICAgIGlmKHRhcmdldC5ibG9ja19UeXBlID09IDMgfHwgdGFyZ2V0LmJsb2NrX1R5cGUgPT0gNCl7XHJcbiAgICAgICAgICAgICAgICAgICAgbGVuZ3RoID0gIGkgKyAxO1xyXG4gICAgICAgICAgICAgICAgICAgIGlmKHRhcmdldC5ibG9ja19UeXBlID09IDQpe1xyXG4gICAgICAgICAgICAgICAgICAgICAgICBsZW5ndGggLT0gMTtcclxuICAgICAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICAgICAgaSA9IC0xO1xyXG4gICAgICAgICAgICAgICAgICAgIGJyZWFrO1xyXG4gICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfSBcclxuICAgICAgICBlbHNlIGlmKGRpcmVjdGlvbiA9PSBcInVwXCIpe1xyXG4gICAgICAgICAgICBsZW5ndGggPSAwO1xyXG4gICAgICAgICAgICBmb3IobGV0IGk9cm9hZFtvcmRlcl0ueTtpPj1sZW5ndGg7aS0tKXtcclxuICAgICAgICAgICAgICAgIGxldCBuID0gcm9hZFtvcmRlcl0ueCp0aGlzLm1hcF9BcnJheVswXS5sZW5ndGggKyBpO1xyXG4gICAgICAgICAgICAgICAgbGV0IHRhcmdldCA9IHRoaXMuYmxvY2tfQXJyYXlbbl0uZ2V0Q29tcG9uZW50KFwiQmxvY2tcIik7XHJcbiAgIFxyXG4gICAgICAgICAgICAgICAgaWYodGFyZ2V0LmJsb2NrX1R5cGUgPT0gMyB8fCB0YXJnZXQuYmxvY2tfVHlwZSA9PSA0KXtcclxuICAgICAgICAgICAgICAgICAgICBsZW5ndGggPSBpICsgMTtcclxuICAgICAgICAgICAgICAgICAgICBpZih0YXJnZXQuYmxvY2tfVHlwZSA9PSA0KXtcclxuICAgICAgICAgICAgICAgICAgICAgICAgbGVuZ3RoIC09IDE7XHJcbiAgICAgICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgICAgIGkgPSAtMTtcclxuICAgICAgICAgICAgICAgICAgICBicmVhaztcclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH0gXHJcbiAgICAgICAgZWxzZSBpZihkaXJlY3Rpb24gPT0gXCJkb3duXCIpe1xyXG4gICAgICAgICAgICBsZW5ndGggPSB0aGlzLm1hcF9IaWdodCAtIDE7XHJcbiAgICAgICAgICAgIGZvcihsZXQgaT1yb2FkW29yZGVyXS55O2k8PWxlbmd0aDtpKyspe1xyXG4gICAgICAgICAgICAgICAgbGV0IG4gPSByb2FkW29yZGVyXS54KnRoaXMubWFwX0FycmF5WzBdLmxlbmd0aCArIGk7XHJcbiAgICAgICAgICAgICAgICBsZXQgdGFyZ2V0ID0gdGhpcy5ibG9ja19BcnJheVtuXS5nZXRDb21wb25lbnQoXCJCbG9ja1wiKTtcclxuICAgIFxyXG4gICAgICAgICAgICAgICAgaWYodGFyZ2V0LmJsb2NrX1R5cGUgPT0gMyB8fCB0YXJnZXQuYmxvY2tfVHlwZSA9PSA0KXtcclxuICAgICAgICAgICAgICAgICAgICBsZW5ndGggPSBpLTE7XHJcbiAgICAgICAgICAgICAgICAgICAgaWYodGFyZ2V0LmJsb2NrX1R5cGUgPT0gNCl7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIGxlbmd0aCArPSAxO1xyXG4gICAgICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgICAgICBpID0gMTAwMDA7XHJcbiAgICAgICAgICAgICAgICAgICAgYnJlYWs7XHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9IFxyXG4gICAgICAgIC8vIGlmKGxlbmd0aCA9PSAwKXtcclxuICAgICAgICAgICBcclxuICAgICAgICAvLyB9XHJcblxyXG4gICAgICAgIHRoaXMuc29pbF9GaW5kKGRpcmVjdGlvbixvcmRlcixsZW5ndGgscm9hZCxuYW1lKTtcclxuICAgIH1cclxuICAgIC8v5p+l5om+5oGv5aOk6Juu6YGX5oa+6Lev5b6EXHJcbiAgICBzb2lsX0ZpbmQoZGlyZWN0aW9uLG9yZGVyLGxlbmd0aCxyb2FkLG5hbWUpe1xyXG4gICAgICAgIGxldCBzdGFydCA9IHJvYWRbb3JkZXJdLng7XHJcbiAgICAgICAgaWYoZGlyZWN0aW9uID09IFwicmlnaHRcIil7XHJcbiAgICAgICAgICAgIGZvcihsZXQgaSA9IHN0YXJ0OyBpPD1sZW5ndGg7IGkrKyl7XHJcbiAgICAgICAgICAgICAgICBsZXQgbiA9IGkqdGhpcy5tYXBfQXJyYXlbMF0ubGVuZ3RoK3JvYWRbb3JkZXJdLnk7XHJcbiAgICAgICAgICAgICAgICBsZXQgdGFyZ2V0ID0gdGhpcy5ibG9ja19BcnJheVtuXS5nZXRDb21wb25lbnQoXCJCbG9ja1wiKTtcclxuICAgICAgICAgICAgICAgIGlmKGkgPT0gc3RhcnQpe1xyXG4gICAgICAgICAgICAgICAgICAgIGlmKGkgPT0gc3RhcnQgJiYgaT09bGVuZ3RoKSB0YXJnZXQuc2V0X1hpX1NvaWxUeXBlKHRoaXMuZ2V0RGlyZWN0aW9uKG9yZGVyLHJvYWQpLG9yZGVyLG5hbWUpO1xyXG4gICAgICAgICAgICAgICAgICAgIGVsc2UgdGFyZ2V0LnNldF9YaV9Tb2lsVHlwZSh0aGlzLmdldERpcmVjdGlvbihvcmRlcixyb2FkKSxudWxsLG5hbWUpO1xyXG4gICAgICAgICAgICAgICAgICAgIGxldCB2YWx1ZSA9IGNjLnYzKHRoaXMucGF0aF9BcnJheVtvcmRlcl0ueCx0aGlzLnBhdGhfQXJyYXlbb3JkZXJdLnksMCk7XHJcbiAgICAgICAgICAgICAgICAgICAgaWYodGhpcy53YXRlcl9BcnJheVt0aGlzLndhdGVyX0FycmF5Lmxlbmd0aC0xXSAhPSB2YWx1ZSl7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIC8vIGNvbnNvbGUubG9nKFwi54m55Yir5o+S5YWlOlwiLHRoaXMucGF0aF9BcnJheVtvcmRlcl0ueCx0aGlzLnBhdGhfQXJyYXlbb3JkZXJdLnkpO1xyXG4gICAgICAgICAgICAgICAgICAgICAgICB0aGlzLmNoYW5nZVdhdGVyKHZhbHVlKTtcclxuICAgICAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICB9ICBcclxuICAgICAgICAgICAgICAgIGVsc2Uge1xyXG4gICAgICAgICAgICAgICAgICAgIGxldCBqZyA9IG51bGw7XHJcbiAgICAgICAgICAgICAgICAgICAgaWYoaSA9PSBsZW5ndGgpe1xyXG4gICAgICAgICAgICAgICAgICAgICAgICBsZXQgbnVtYmVyID0gaSAtIHN0YXJ0IC0xO1xyXG4gICAgICAgICAgICAgICAgICAgICAgICB0aGlzLmNoYW5nZVBhdGgob3JkZXIsbnVtYmVyLGZhbHNlLHJvYWQpO1xyXG4gICAgICAgICAgICAgICAgICAgICAgICBqZyA9IG9yZGVyO1xyXG4gICAgICAgICAgICAgICAgICAgIH0gXHJcbiAgICAgICAgICAgICAgICAgICAgdGFyZ2V0LnNldF9YaV9Tb2lsVHlwZShkaXJlY3Rpb24samcsbmFtZSk7XHJcbiAgICAgICAgICAgICAgICB9ICAgXHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9IFxyXG4gICAgICAgIGVsc2UgaWYoZGlyZWN0aW9uID09IFwibGVmdFwiKXtcclxuICAgICAgICAgICAgZm9yKGxldCBpID0gc3RhcnQ7IGk+PWxlbmd0aDsgaS0tKXtcclxuICAgICAgICAgICAgICAgIGxldCBuID0gaSp0aGlzLm1hcF9BcnJheVswXS5sZW5ndGgrcm9hZFtvcmRlcl0ueTtcclxuICAgICAgICAgICAgICAgIGxldCB0YXJnZXQgPSB0aGlzLmJsb2NrX0FycmF5W25dLmdldENvbXBvbmVudChcIkJsb2NrXCIpO1xyXG4gICAgICAgICAgICAgICAgaWYoaSA9PSBzdGFydCl7XHJcbiAgICAgICAgICAgICAgICAgICAgaWYoaSA9PSBzdGFydCAmJiBpPT1sZW5ndGgpIHRhcmdldC5zZXRfWGlfU29pbFR5cGUodGhpcy5nZXREaXJlY3Rpb24ob3JkZXIscm9hZCksb3JkZXIsbmFtZSk7XHJcbiAgICAgICAgICAgICAgICAgICAgZWxzZSB0YXJnZXQuc2V0X1hpX1NvaWxUeXBlKHRoaXMuZ2V0RGlyZWN0aW9uKG9yZGVyLHJvYWQpLG51bGwsbmFtZSk7XHJcbiAgICAgICAgICAgICAgICAgICAgbGV0IHZhbHVlID0gY2MudjModGhpcy5wYXRoX0FycmF5W29yZGVyXS54LHRoaXMucGF0aF9BcnJheVtvcmRlcl0ueSwwKTtcclxuICAgICAgICAgICAgICAgICAgICBpZih0aGlzLndhdGVyX0FycmF5W3RoaXMud2F0ZXJfQXJyYXkubGVuZ3RoLTFdICE9IHZhbHVlKXtcclxuICAgICAgICAgICAgICAgICAgICAgICAgLy8gY29uc29sZS5sb2coXCLnibnliKvmj5LlhaU6XCIsdGhpcy5wYXRoX0FycmF5W29yZGVyXS54LHRoaXMucGF0aF9BcnJheVtvcmRlcl0ueSk7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIHRoaXMuY2hhbmdlV2F0ZXIodmFsdWUpO1xyXG4gICAgICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgIH0gIFxyXG4gICAgICAgICAgICAgICAgZWxzZSB7XHJcbiAgICAgICAgICAgICAgICAgICAgbGV0IGpnID0gbnVsbDtcclxuICAgICAgICAgICAgICAgICAgICBpZihpID09IGxlbmd0aCl7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIGxldCBudW1iZXIgPSBpIC0gc3RhcnQgKyAxO1xyXG4gICAgICAgICAgICAgICAgICAgICAgICB0aGlzLmNoYW5nZVBhdGgob3JkZXIsbnVtYmVyLGZhbHNlLHJvYWQpO1xyXG4gICAgICAgICAgICAgICAgICAgICAgICBqZyA9IG9yZGVyO1xyXG4gICAgICAgICAgICAgICAgICAgIH0gXHJcbiAgICAgICAgICAgICAgICAgICAgdGFyZ2V0LnNldF9YaV9Tb2lsVHlwZShkaXJlY3Rpb24samcsbmFtZSk7XHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9IFxyXG4gICAgICAgIGVsc2UgaWYoZGlyZWN0aW9uID09IFwidXBcIil7XHJcbiAgICAgICAgICAgIHN0YXJ0ID0gcm9hZFtvcmRlcl0ueTtcclxuICAgICAgICAgICAgZm9yKGxldCBpID0gc3RhcnQ7IGk+PWxlbmd0aDsgaS0tKXtcclxuICAgICAgICAgICAgICAgIGxldCBuID0gcm9hZFtvcmRlcl0ueCp0aGlzLm1hcF9BcnJheVswXS5sZW5ndGgraTtcclxuICAgICAgICAgICAgICAgIGxldCB0YXJnZXQgPSB0aGlzLmJsb2NrX0FycmF5W25dLmdldENvbXBvbmVudChcIkJsb2NrXCIpO1xyXG4gICAgICAgICAgICAgICAgaWYoaSA9PSBzdGFydCl7XHJcbiAgICAgICAgICAgICAgICAgICAgaWYoaSA9PSBzdGFydCAmJiBpPT1sZW5ndGgpIHRhcmdldC5zZXRfWGlfU29pbFR5cGUodGhpcy5nZXREaXJlY3Rpb24ob3JkZXIscm9hZCksb3JkZXIsbmFtZSk7XHJcbiAgICAgICAgICAgICAgICAgICAgZWxzZSB0YXJnZXQuc2V0X1hpX1NvaWxUeXBlKHRoaXMuZ2V0RGlyZWN0aW9uKG9yZGVyLHJvYWQpLG51bGwsbmFtZSk7XHJcbiAgICAgICAgICAgICAgICAgICAgbGV0IHZhbHVlID0gY2MudjModGhpcy5wYXRoX0FycmF5W29yZGVyXS54LHRoaXMucGF0aF9BcnJheVtvcmRlcl0ueSwwKTtcclxuICAgICAgICAgICAgICAgICAgICBpZih0aGlzLndhdGVyX0FycmF5W3RoaXMud2F0ZXJfQXJyYXkubGVuZ3RoLTFdICE9IHZhbHVlKXtcclxuICAgICAgICAgICAgICAgICAgICAgICAgLy8gY29uc29sZS5sb2coXCLnibnliKvmj5LlhaU6XCIsdGhpcy5wYXRoX0FycmF5W29yZGVyXS54LHRoaXMucGF0aF9BcnJheVtvcmRlcl0ueSk7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIHRoaXMuY2hhbmdlV2F0ZXIodmFsdWUpO1xyXG4gICAgICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgIH0gIFxyXG4gICAgICAgICAgICAgICAgZWxzZSB7XHJcbiAgICAgICAgICAgICAgICAgICAgbGV0IGpnID0gbnVsbDtcclxuICAgICAgICAgICAgICAgICAgICBpZihpID09IGxlbmd0aCl7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIGxldCBudW1iZXIgPSBpIC0gc3RhcnQgKyAxO1xyXG4gICAgICAgICAgICAgICAgICAgICAgICB0aGlzLmNoYW5nZVBhdGgob3JkZXIsbnVtYmVyLHRydWUscm9hZCk7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIGpnID0gb3JkZXI7XHJcbiAgICAgICAgICAgICAgICAgICAgfSBcclxuICAgICAgICAgICAgICAgICAgICAvLyBjb25zb2xlLmxvZyhcIuaDs+S4iuaBr+WjpOaPkuWFpTpcIix0aGlzLnBhdGhfQXJyYXlbb3JkZXJdLngsaSk7XHJcbiAgICAgICAgICAgICAgICAgICAgdGFyZ2V0LnNldF9YaV9Tb2lsVHlwZShkaXJlY3Rpb24samcsbmFtZSk7XHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9IFxyXG4gICAgICAgIGVsc2UgaWYoZGlyZWN0aW9uID09IFwiZG93blwiKXtcclxuICAgICAgICAgICAgc3RhcnQgPSByb2FkW29yZGVyXS55O1xyXG4gICAgICAgICAgICBmb3IobGV0IGkgPSBzdGFydDsgaTw9bGVuZ3RoOyBpKyspe1xyXG4gICAgICAgICAgICAgICAgbGV0IG4gPSByb2FkW29yZGVyXS54KnRoaXMubWFwX0FycmF5WzBdLmxlbmd0aCtpO1xyXG4gICAgICAgICAgICAgICAgbGV0IHRhcmdldCA9IHRoaXMuYmxvY2tfQXJyYXlbbl0uZ2V0Q29tcG9uZW50KFwiQmxvY2tcIik7XHJcbiAgICAgICAgICAgICAgICBpZihpID09IHN0YXJ0KXtcclxuICAgICAgICAgICAgICAgICAgICBpZihpID09IHN0YXJ0ICYmIGk9PWxlbmd0aCkgdGFyZ2V0LnNldF9YaV9Tb2lsVHlwZSh0aGlzLmdldERpcmVjdGlvbihvcmRlcixyb2FkKSxvcmRlcixuYW1lKTtcclxuICAgICAgICAgICAgICAgICAgICBlbHNlIHRhcmdldC5zZXRfWGlfU29pbFR5cGUodGhpcy5nZXREaXJlY3Rpb24ob3JkZXIscm9hZCksbnVsbCxuYW1lKTtcclxuICAgICAgICAgICAgICAgICAgICBsZXQgdmFsdWUgPSBjYy52Myh0aGlzLnBhdGhfQXJyYXlbb3JkZXJdLngsdGhpcy5wYXRoX0FycmF5W29yZGVyXS55LDApO1xyXG4gICAgICAgICAgICAgICAgICAgIGlmKHRoaXMud2F0ZXJfQXJyYXlbdGhpcy53YXRlcl9BcnJheS5sZW5ndGgtMV0gIT0gdmFsdWUpe1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAvLyBjb25zb2xlLmxvZyhcIueJueWIq+aPkuWFpTpcIix0aGlzLnBhdGhfQXJyYXlbb3JkZXJdLngsdGhpcy5wYXRoX0FycmF5W29yZGVyXS55KTtcclxuICAgICAgICAgICAgICAgICAgICAgICAgdGhpcy5jaGFuZ2VXYXRlcih2YWx1ZSk7XHJcbiAgICAgICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgfSBcclxuICAgICAgICAgICAgICAgIGVsc2Uge1xyXG4gICAgICAgICAgICAgICAgICAgIGxldCBqZyA9IG51bGw7XHJcbiAgICAgICAgICAgICAgICAgICAgaWYoaSA9PSBsZW5ndGgpe1xyXG4gICAgICAgICAgICAgICAgICAgICAgICBsZXQgbnVtYmVyID0gaSAtIHN0YXJ0IC0gMTtcclxuICAgICAgICAgICAgICAgICAgICAgICAgdGhpcy5jaGFuZ2VQYXRoKG9yZGVyLG51bWJlcix0cnVlLHJvYWQpO1xyXG4gICAgICAgICAgICAgICAgICAgICAgICBqZyA9IG9yZGVyO1xyXG4gICAgICAgICAgICAgICAgICAgIH0gXHJcbiAgICAgICAgICAgICAgICAgICAgdGFyZ2V0LnNldF9YaV9Tb2lsVHlwZShkaXJlY3Rpb24samcsbmFtZSk7XHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9IFxyXG4gICAgfVxyXG5cclxuICAgIC8v5pS55Y+Y5rC05rWB5Zyw5Zu+XHJcbiAgICBjaGFuZ2VXYXRlcih2YWx1ZSl7XHJcbiAgICAgICAgbGV0IGpnID0gdHJ1ZTtcclxuICAgICAgICBpZih0aGlzLndhdGVyX0FycmF5Lmxlbmd0aCA+IDApe1xyXG4gICAgICAgICAgICBpZih0aGlzLndhdGVyX0FycmF5W3RoaXMud2F0ZXJfQXJyYXkubGVuZ3RoLTFdLnggPT0gdmFsdWUueCAmJiB0aGlzLndhdGVyX0FycmF5W3RoaXMud2F0ZXJfQXJyYXkubGVuZ3RoLTFdLnkgPT0gdmFsdWUueSl7XHJcbiAgICAgICAgICAgICAgICBqZyA9IGZhbHNlO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgICAgIGlmKGpnKSB0aGlzLndhdGVyX0FycmF5LnB1c2godmFsdWUpO1xyXG4gICAgfVxyXG5cclxuICAgIC8v5oGv5aOk6L+H5ZCO5pS55Y+Y5L+u562R6Lev5b6EXHJcbiAgICBjaGFuZ2VQYXRoKG9yZGVyLG51bWJlcixkaXJlY3Rpb24scm9hZCl7XHJcbiAgXHJcbiAgICAgICAgZm9yKGxldCBpID0gKG9yZGVyKzEpOyBpPHJvYWQubGVuZ3RoOyBpKyspe1xyXG4gICAgICAgICAgICBpZighZGlyZWN0aW9uKXtcclxuICAgICAgICAgICAgICAgIHJvYWRbaV0ueCArPSAobnVtYmVyKTtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICBlbHNle1xyXG4gICAgICAgICAgICAgICAgcm9hZFtpXS55ICs9IChudW1iZXIpO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgICAgIGlmKGRpcmVjdGlvbil7XHJcbiAgICAgICAgICAgIGlmKG51bWJlciA8IDApe1xyXG4gICAgICAgICAgICAgICAgZm9yKGxldCBuPSAtbnVtYmVyOyBuPjA7IG4tLSl7XHJcbiAgICAgICAgICAgICAgICAgICAgdGhpcy5jaGFuZ2VXYXRlcihjYy52Myh0aGlzLnBhdGhfQXJyYXlbb3JkZXIrMV0ueCx0aGlzLnBhdGhfQXJyYXlbb3JkZXIrMV0ueStuLDApKTtcclxuICAgICAgICAgICAgICAgICAgICAvLyBjb25zb2xlLmxvZyhcIjHnibnmrormlL7lhaU6XCIsdGhpcy5wYXRoX0FycmF5W29yZGVyKzFdLngsdGhpcy5wYXRoX0FycmF5W29yZGVyKzFdLnkrbilcclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICBlbHNleyBcclxuICAgICAgICAgICAgICAgIGZvcihsZXQgbj1udW1iZXI7IG4+MDsgbi0tKXtcclxuICAgICAgICAgICAgICAgICAgICB0aGlzLmNoYW5nZVdhdGVyKGNjLnYzKHRoaXMucGF0aF9BcnJheVtvcmRlcisxXS54LHRoaXMucGF0aF9BcnJheVtvcmRlcisxXS55LW4sMCkpO1xyXG4gICAgICAgICAgICAgICAgICAgIC8vIGNvbnNvbGUubG9nKFwiMueJueauiuaUvuWFpTpcIix0aGlzLnBhdGhfQXJyYXlbb3JkZXIrMV0ueCx0aGlzLnBhdGhfQXJyYXlbb3JkZXIrMV0ueS1uKVxyXG4gICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfWVsc2V7XHJcbiAgICAgICAgICAgIGlmKG51bWJlciA8IDApe1xyXG4gICAgICAgICAgICAgICAgZm9yKGxldCBtPSAtbnVtYmVyOyBtPjA7IG0tLSl7XHJcbiAgICAgICAgICAgICAgICAgICAgdGhpcy5jaGFuZ2VXYXRlcihjYy52Myh0aGlzLnBhdGhfQXJyYXlbb3JkZXIrMV0ueCttLHRoaXMucGF0aF9BcnJheVtvcmRlcisxXS55LDApKTtcclxuICAgICAgICAgICAgICAgICAgICAvLyBjb25zb2xlLmxvZyhcIjPnibnmrormlL7lhaU6XCIsdGhpcy5wYXRoX0FycmF5W29yZGVyKzFdLngrbSx0aGlzLnBhdGhfQXJyYXlbb3JkZXIrMV0ueSlcclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICBlbHNle1xyXG4gICAgICAgICAgICAgICAgZm9yKGxldCBtPW51bWJlcjsgbT4wOyBtLS0pe1xyXG4gICAgICAgICAgICAgICAgICAgIHRoaXMuY2hhbmdlV2F0ZXIoY2MudjModGhpcy5wYXRoX0FycmF5W29yZGVyKzFdLngtbSx0aGlzLnBhdGhfQXJyYXlbb3JkZXIrMV0ueSwwKSk7XHJcbiAgICAgICAgICAgICAgICAgICAgLy8gY29uc29sZS5sb2coXCI054m55q6K5pS+5YWlOlwiLHRoaXMucGF0aF9BcnJheVtvcmRlcisxXS54LW0sdGhpcy5wYXRoX0FycmF5W29yZGVyKzFdLnkpXHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICB9XHJcblxyXG5cclxuICAgIC8v6I635Y+W5rSq5bOw5pa55ZCRXHJcbiAgICBnZXREaXJlY3Rpb24ob3JkZXIscm9hZCl7XHJcbiAgICAgICAgdmFyIG5hbWUgPSBcIlwiO1xyXG4gICAgICAgIC8v5YWl5rW35Y+j5q+U6L6D5aSN5p2C5Y2V54us5Yik5patXHJcbiAgICAgICAgaWYob3JkZXIgPT0gMCl7XHJcbiAgICAgICAgICAgIGxldCBuZXh0WCA9IHJvYWRbb3JkZXIrMV0ueCAtIHJvYWRbb3JkZXJdLng7XHJcbiAgICAgICAgICAgIGxldCBuZXh0WSA9IHJvYWRbb3JkZXJdLnkgLSByb2FkW29yZGVyKzFdLnk7XHJcbiAgICAgICAgICAgIC8v5Zyo5bqV6L65XHJcbiAgICAgICAgICAgIGlmKHJvYWRbb3JkZXJdLnkgPT0gdGhpcy5tYXBfQXJyYXlbMF0ubGVuZ3RoLTEpe1xyXG4gICAgICAgICAgICAgICAgaWYobmV4dFggPT0gMCl7XHJcbiAgICAgICAgICAgICAgICAgICAgaWYobmV4dFkgPT0gMSluYW1lID0gXCJ1cFwiO1xyXG4gICAgICAgICAgICAgICAgICAgIGVsc2UgaWYobmV4dFkgPT0gLTEpIG5hbWUgPSBcImVyclwiO1xyXG4gICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgZWxzZSBpZihuZXh0WCA9PSAxKSBuYW1lID0gXCJ1cF9yaWdodFwiO1xyXG4gICAgICAgICAgICAgICAgZWxzZSBpZihuZXh0WCA9PSAtMSkgbmFtZSA9IFwidXBfbGVmdFwiO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIC8v5Zyo6aG26L65XHJcbiAgICAgICAgICAgIGVsc2UgaWYocm9hZFtvcmRlcl0ueSA9PSAwKXtcclxuICAgICAgICAgICAgICAgIGlmKG5leHRYID09IDApe1xyXG4gICAgICAgICAgICAgICAgICAgIGlmKG5leHRZID09IDEpbmFtZSA9IFwiZXJyXCI7XHJcbiAgICAgICAgICAgICAgICAgICAgZWxzZSBpZihuZXh0WSA9PSAtMSkgbmFtZSA9IFwiZG93blwiO1xyXG4gICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgZWxzZSBpZihuZXh0WCA9PSAxKSBuYW1lID0gXCJkb3duX3JpZ2h0XCI7XHJcbiAgICAgICAgICAgICAgICBlbHNlIGlmKG5leHRYID09IC0xKSBuYW1lID0gXCJkb3duX2xlZnRcIjtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAvL+WcqOW3pui+uVxyXG4gICAgICAgICAgICBlbHNlIGlmKHJvYWRbb3JkZXJdLnggPT0gMCl7XHJcbiAgICAgICAgICAgICAgICBpZihuZXh0WCA9PSAwKXtcclxuICAgICAgICAgICAgICAgICAgICBpZihuZXh0WSA9PSAxKW5hbWUgPSBcInJpZ2h0X3VwXCI7XHJcbiAgICAgICAgICAgICAgICAgICAgZWxzZSBpZihuZXh0WSA9PSAtMSkgbmFtZSA9IFwicmlnaHRfZG93blwiO1xyXG4gICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgZWxzZSBpZihuZXh0WCA9PSAxKSBuYW1lID0gXCJyaWdodFwiO1xyXG4gICAgICAgICAgICAgICAgZWxzZSBpZihuZXh0WCA9PSAtMSkgbmFtZSA9IFwiZXJyXCI7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgLy/lnKjlj7PovrlcclxuICAgICAgICAgICAgZWxzZSBpZihyb2FkW29yZGVyXS54ID09IHRoaXMubWFwX0FycmF5Lmxlbmd0aC0xKXtcclxuICAgICAgICAgICAgICAgIGlmKG5leHRYID09IDApe1xyXG4gICAgICAgICAgICAgICAgICAgIGlmKG5leHRZID09IDEpbmFtZSA9IFwibGVmdF91cFwiO1xyXG4gICAgICAgICAgICAgICAgICAgIGVsc2UgaWYobmV4dFkgPT0gLTEpIG5hbWUgPSBcImxlZnRfZG93blwiO1xyXG4gICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgZWxzZSBpZihuZXh0WCA9PSAxKSBuYW1lID0gXCJlcnJcIjtcclxuICAgICAgICAgICAgICAgIGVsc2UgaWYobmV4dFggPT0gLTEpIG5hbWUgPSBcImxlZnRcIjtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgICAgICAvL+S4jeaYr+esrOS4gOatpe+8jOW3sue7j+i1sOi/h+S4gOatpVxyXG4gICAgICAgIGVsc2UgaWYob3JkZXIgPiAwKXtcclxuICAgICAgICAgICAgdmFyIG5leHQgPSAxO1xyXG4gICAgICAgICAgICBpZihvcmRlcisyIDwgcm9hZC5sZW5ndGgpe1xyXG4gICAgICAgICAgICAgICAgaWYocm9hZFtvcmRlcisxXS56ID09IDYpIG5leHQgPSAyO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgIFxyXG4gICAgICAgICAgICAvL+eUqOS6juWIpOaWreatpOeCueeahOS4iuS4gOS4queCue+8jOaYr+S4uuS6huWIpOaWreW9k+WJjeaWueWdl+a0quawtOS4g+eCue+8jOS7peWPiuS4i+S4gOS4quenu+WKqOaWueWQke+8jOWIpOaWrea0que7iOeCueaWueWQkVxyXG4gICAgICAgICAgICBsZXQgbmV4dFggPSByb2FkW29yZGVyK25leHRdLnggLSByb2FkW29yZGVyXS54O1xyXG4gICAgICAgICAgICBsZXQgbmV4dFkgPSByb2FkW29yZGVyXS55IC0gcm9hZFtvcmRlcituZXh0XS55XHJcbiAgICAgICAgICAgIGxldCBwcmV2aW91c1ggPSByb2FkW29yZGVyXS54IC0gcm9hZFtvcmRlci0xXS54O1xyXG4gICAgICAgICAgICBsZXQgcHJldmlvdXNZID0gcm9hZFtvcmRlci0xXS55IC0gcm9hZFtvcmRlcl0ueTtcclxuICAgICAgICAgICAgaWYocHJldmlvdXNYID09IDAgJiYgcHJldmlvdXNZID09IDApe1xyXG4gICAgICAgICAgICAgICAgaWYob3JkZXIgPiAxKXtcclxuICAgICAgICAgICAgICAgICAgICBwcmV2aW91c1ggPSByb2FkW29yZGVyXS54IC0gcm9hZFtvcmRlci0yXS54O1xyXG4gICAgICAgICAgICAgICAgICAgIHByZXZpb3VzWSA9IHJvYWRbb3JkZXItMl0ueSAtIHJvYWRbb3JkZXJdLnk7XHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICBlbHNlIGlmKG9yZGVyICsgMSA8IHJvYWQubGVuZ3RoKXtcclxuICAgICAgICAgICAgICAgICAgICBwcmV2aW91c1ggPSByb2FkW29yZGVyKzFdLnggLSByb2FkW29yZGVyXS54O1xyXG4gICAgICAgICAgICAgICAgICAgIHByZXZpb3VzWSA9IHJvYWRbb3JkZXJdLnkgLSByb2FkW29yZGVyKzFdLnk7XHJcbiAgICAgICAgICAgICAgICAgICAgLy8gY29uc29sZS5sb2coXCLmga/lo6TvvIzkuIrkuIvlnZDmoIflt67ot51cIixwcmV2aW91c1gscHJldmlvdXNZKTtcclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICBpZihwcmV2aW91c1ggPT0gMCAmJiBwcmV2aW91c1kgPj0gMSl7XHJcbiAgICAgICAgICAgICAgICBpZihuZXh0WCA9PSAwKXtcclxuICAgICAgICAgICAgICAgICAgICBpZihuZXh0WSA9PSAxKW5hbWUgPSBcInVwXCI7XHJcbiAgICAgICAgICAgICAgICAgICAgZWxzZSBpZihuZXh0WSA9PSAtMSkgbmFtZSA9IFwiZXJyXCI7XHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICBlbHNlIGlmKG5leHRYID09IDEpIG5hbWUgPSBcInVwX3JpZ2h0XCI7XHJcbiAgICAgICAgICAgICAgICBlbHNlIGlmKG5leHRYID09IC0xKSBuYW1lID0gXCJ1cF9sZWZ0XCI7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgZWxzZSBpZihwcmV2aW91c1ggPT0gMCAmJiBwcmV2aW91c1kgPD0gLTEpe1xyXG4gICAgICAgICAgICAgICAgaWYobmV4dFggPT0gMCl7XHJcbiAgICAgICAgICAgICAgICAgICAgaWYobmV4dFkgPT0gMSluYW1lID0gXCJlcnJcIjtcclxuICAgICAgICAgICAgICAgICAgICBlbHNlIGlmKG5leHRZID09IC0xKSBuYW1lID0gXCJkb3duXCI7XHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICBlbHNlIGlmKG5leHRYID09IDEpIG5hbWUgPSBcImRvd25fcmlnaHRcIjtcclxuICAgICAgICAgICAgICAgIGVsc2UgaWYobmV4dFggPT0gLTEpIG5hbWUgPSBcImRvd25fbGVmdFwiO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIGVsc2UgaWYocHJldmlvdXNYID49IDEgJiYgcHJldmlvdXNZID09IDApe1xyXG4gICAgICAgICAgICAgICAgaWYobmV4dFggPT0gMCl7XHJcbiAgICAgICAgICAgICAgICAgICAgaWYobmV4dFkgPT0gMSluYW1lID0gXCJyaWdodF91cFwiO1xyXG4gICAgICAgICAgICAgICAgICAgIGVsc2UgaWYobmV4dFkgPT0gLTEpIG5hbWUgPSBcInJpZ2h0X2Rvd25cIjtcclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgIGVsc2UgaWYobmV4dFggPT0gMSkgbmFtZSA9IFwicmlnaHRcIjtcclxuICAgICAgICAgICAgICAgIGVsc2UgaWYobmV4dFggPT0gLTEpIG5hbWUgPSBcImVyclwiO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIGVsc2UgaWYocHJldmlvdXNYIDw9IC0xICYmIHByZXZpb3VzWSA9PSAwKXtcclxuICAgICAgICAgICAgICAgIGlmKG5leHRYID09IDApe1xyXG4gICAgICAgICAgICAgICAgICAgIGlmKG5leHRZID09IDEpbmFtZSA9IFwibGVmdF91cFwiO1xyXG4gICAgICAgICAgICAgICAgICAgIGVsc2UgaWYobmV4dFkgPT0gLTEpIG5hbWUgPSBcImxlZnRfZG93blwiO1xyXG4gICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgZWxzZSBpZihuZXh0WCA9PSAxKSBuYW1lID0gXCJlcnJcIjtcclxuICAgICAgICAgICAgICAgIGVsc2UgaWYobmV4dFggPT0gLTEpIG5hbWUgPSBcImxlZnRcIjtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuXHJcbiAgICAgICAgcmV0dXJuIG5hbWUgO1xyXG4gICAgfVxyXG5cclxuICAgIC8v5qC55o2u5piv5ZCm5YWo6Z2i5bGP77yM5YGa54us56uL6YCC6YWN5pa56Z2iXHJcbiAgICBmaXQoKXtcclxuICAgICAgICB2YXIgamcgPSB0aGlzLnNldEZpdCgpO1xyXG4gICAgICAgIGlmKCFqZyl7XHJcbiAgICAgICAgICAgIHRoaXMuTWFwLnNjYWxlID0gMS4yO1xyXG4gICAgICAgIH1lbHNle1xyXG4gICAgICAgICAgICB0aGlzLk1hcC5zY2FsZSA9IDE7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG4gICAgLy/liKTmlq3lhajpnaLlsY9cclxuICAgIGdldFNldFNjcmVlblJlc29sdXRpb25GbGFnICgpIHtcclxuICAgICAgICBsZXQgc2l6ZSA9IGNjLndpblNpemU7XHJcbiAgICAgICAgbGV0IHdpZHRoID0gc2l6ZS53aWR0aDtcclxuICAgICAgICBsZXQgaGVpZ2h0ID0gc2l6ZS5oZWlnaHQ7XHJcbiAgICAgICAgaWYgKChoZWlnaHQgLyB3aWR0aCkgPiAoMTYuMiAvIDkpKSByZXR1cm4gZmFsc2U7XHJcbiAgICAgICAgcmV0dXJuIHRydWU7XHJcbiAgICB9XHJcbiAgICAvL+WIpOaWreWFqOmdouWxj+mAgumFjVxyXG4gICAgc2V0Rml0ICgpIHtcclxuICAgICAgICBsZXQgZmxhZyA9IHRoaXMuZ2V0U2V0U2NyZWVuUmVzb2x1dGlvbkZsYWcoKTtcclxuICAgICAgICBpZiAoZmxhZykge1xyXG4gICAgICAgIH0gZWxzZSB7XHJcbiAgICAgICAgfVxyXG4gICAgICAgIHJldHVybiBmbGFnO1xyXG4gICAgfVxyXG4gICAgLy/ov5Tlm57pppbpobVcclxuICAgIGJhY2tTY2VuZSgpe1xyXG4gICAgICAgIGNjLmRpcmVjdG9yLmxvYWRTY2VuZShcIkxvYWRTY2VuZVwiKTtcclxuICAgIH1cclxuXHJcbiAgICAvL+W8gOWni+a4uOaIj1xyXG4gICAgc3RhcnRHYW1lKGRhdGEpe1xyXG4gICAgICAgIGZvcihsZXQgaT0wOyBpPHRoaXMuYmxvY2tfQXJyYXkubGVuZ3RoO2krKyl7XHJcbiAgICAgICAgICAgIHRoaXMuYmxvY2tfQXJyYXlbaV0uZ2V0Q2hpbGRCeU5hbWUoXCJ0aXBXaW5cIikuYWN0aXZlID0gZmFsc2U7XHJcbiAgICAgICAgICAgIHRoaXMuYmxvY2tfQXJyYXlbaV0uZ2V0Q2hpbGRCeU5hbWUoXCJ0aXBMb3NlXCIpLmFjdGl2ZSA9IGZhbHNlO1xyXG4gICAgICAgIH1cclxuICAgICAgICB0aGlzLnVuc2NoZWR1bGUodGhpcy51cGRhdGVDb3VudERvd25UaW1lKTtcclxuICAgICAgICB2YXIgbm93ID0gY2MuZnguR2FtZVRvb2wuZ2V0VGltZSgpO1xyXG4gICAgICAgIHZhciBmaW5pc2hpID0gbm93IC0gdGhpcy5maW5pc2hpVGltZTtcclxuICAgICAgICB2YXIgdG90YWxUaW1lID0gbm93IC0gdGhpcy5zdGFydFRpbWU7XHJcbiAgICAgICAgdGhpcy5zY29yZVRpbWUgPSB0aGlzLndhdGVyVGltZTtcclxuICAgICAgICBpZih0aGlzLndhdGVyVGltZSA8PSAwLjUpIGZpbmlzaGkgPSAtMTtcclxuICAgICAgICAvLyBjb25zb2xlLmxvZyhcInN1Ym1pdFRpbWU6XCIsZmluaXNoaSx0aGlzLmZpbmlzaGlUaW1lKTtcclxuICAgICAgICBjYy5meC5HYW1lQ29uZmlnLkNMSUNLX1NFVChcInN1Ym1pdFRpbWVcIixmaW5pc2hpKTtcclxuICAgICAgICBpZihmaW5pc2hpID09IC0xKSBcclxuICAgICAgICAgICAgY2MuZnguR2FtZUNvbmZpZy5DTElDS19TRVQoXCJkdXJhdGlvblwiLGNjLmZ4LkdhbWVDb25maWcuVElNRV9JTkZPLndhdGVyVGltZVtjYy5meC5HYW1lQ29uZmlnLkdNX0lORk8ubGV2ZWxdKTtcclxuICAgICAgICBlbHNlIFxyXG4gICAgICAgICAgICBjYy5meC5HYW1lQ29uZmlnLkNMSUNLX1NFVChcImR1cmF0aW9uXCIsdG90YWxUaW1lKTtcclxuICAgICAgICAgICAgXHJcbiAgICAgICAgY2MuZnguR2FtZUNvbmZpZy5DTElDS19TRVQoXCJ1c2VkU3RlcHNcIixkYXRhLmxlbmd0aCk7XHJcbiAgICAgICAgdGhpcy5zZXRNYXAoZGF0YSk7XHJcbiAgXHJcbiAgICAgICAgdmFyIGFyciA9IHRoaXMuY2hhbmdlU3RlcChkYXRhKTtcclxuICAgICAgICBjYy5meC5HYW1lQ29uZmlnLkNMSUNLX1NFVChcInN0ZXBMaXN0XCIsYXJyKTtcclxuICAgIH1cclxuXHJcbiAgICAvL+eUqOS6juWfi+eCueiusOW9lVxyXG4gICAgY2hhbmdlU3RlcChkYXRhKXtcclxuICAgICAgICB2YXIgYXJyID0gW107XHJcbiAgICAgICAgaWYoZGF0YS5sZW5ndGggPiAwKXtcclxuICAgICAgICAgICAgZm9yKGxldCBpPTA7IGk8ZGF0YS5sZW5ndGg7IGkrKyl7XHJcbiAgICAgICAgICAgICAgICBpZihkYXRhW2ldID09IFwidXBcIikgYXJyW2ldID0gXCJVXCI7XHJcbiAgICAgICAgICAgICAgICBlbHNlIGlmKGRhdGFbaV0gPT0gXCJkb3duXCIpIGFycltpXSA9IFwiRFwiO1xyXG4gICAgICAgICAgICAgICAgZWxzZSBpZihkYXRhW2ldID09IFwibGVmdFwiKSBhcnJbaV0gPSBcIkxcIjtcclxuICAgICAgICAgICAgICAgIGVsc2UgaWYoZGF0YVtpXSA9PSBcInJpZ2h0XCIpIGFycltpXSA9IFwiUlwiO1xyXG4gICAgICAgICAgICAgICAgZWxzZSBpZihkYXRhW2ldID09IFwic29pbFwiKSBhcnJbaV0gPSBcIlhcIjtcclxuICAgICAgICAgICAgICAgIGVsc2UgaWYoZGF0YVtpXSA9PSBcInJlaW5mb3JjZVwiKSBhcnJbaV0gPSBcIkZcIjtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgICAgICByZXR1cm4gYXJyO1xyXG4gICAgfVxyXG4gICAgLy/mtKrls7DlgJLorqHml7bvvIzorqHml7blmahcclxuICAgIHVwZGF0ZVdhdGVyVGltZSgpe1xyXG4gICAgICAgIGlmICh0aGlzLndhdGVyVGltZSA+IDApIHtcclxuICAgICAgICAgICAgdGhpcy53YXRlclRpbWUgLT0gMTtcclxuICAgICAgICAgICAgdGhpcy5Db3VudGRvd24uc3RyaW5nID0gIGNjLmZ4LkdhbWVUb29sLmdldFRpbWVNYXJnaW4odGhpcy53YXRlclRpbWUpO1xyXG4gICAgICAgICAgICBpZih0aGlzLndhdGVyVGltZSA8PSAwKXtcclxuICAgICAgICAgICAgICAgIHRoaXMudW5zY2hlZHVsZSh0aGlzLnVwZGF0ZVdhdGVyVGltZSk7XHJcbiAgICAgICAgICAgICAgICBpZighdGhpcy5wbGFuX292ZXIpe1xyXG4gICAgICAgICAgICAgICAgICAgIHRoaXMud2F0ZXJUaW1lID0gMDtcclxuICAgICAgICAgICAgICAgICAgICB0aGlzLnBsYW5fb3ZlciA9IHRydWU7XHJcbiAgICAgICAgICAgICAgICAgICAgc2V0VGltZW91dCgoKSA9PiB7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIGlmKHRoaXMud2F0ZXJfQXJyYXkubGVuZ3RoID09IDApe1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgY2MuZnguTm90aWZpY2F0aW9ucy5lbWl0KGNjLmZ4Lk1lc3NhZ2Uuc2hvd1Jlc3VsdCxcImxvc2VcIik7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBjYy5meC5Ob3RpZmljYXRpb25zLmVtaXQoY2MuZnguTWVzc2FnZS5zZXREYXRhLGZhbHNlKTtcclxuICAgICAgICAgICAgICAgICAgICAgICAgfSAgICAgICAgIFxyXG4gICAgICAgICAgICAgICAgICAgICAgICBlbHNle1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgY2MuZnguR2FtZUNvbmZpZy5HTV9JTkZPLm1pbl9UaW1lID0gdGhpcy53YXRlclRpbWU7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB0aGlzLnJ1bldhdGVyKDApOyBcclxuICAgICAgICAgICAgICAgICAgICAgICAgfSAgIFxyXG4gICAgICAgICAgICAgICAgICAgIH0sIDUwMCk7XHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICB9XHJcblxyXG4gICAgLy/lpoLmnpzmmK/lgJLorqHml7Yg6LCD55So5q2k5pa55rOVXHJcbiAgICB1cGRhdGVDb3VudERvd25UaW1lICgpIHtcclxuICAgICAgICBpZiAodGhpcy5jb3VudFRpbWUgPiAwKSB7XHJcbiAgICAgICAgICAgIHRoaXMuY291bnRUaW1lIC09IDE7XHJcbiAgICAgICAgICAgIGNjLmZ4LkdhbWVDb25maWcuVElNRV9JTkZPLnRvdGFsVGltZSA9IHRoaXMuY291bnRUaW1lO1xyXG4gICAgICAgICAgICB0aGlzLlRpbWUuc3RyaW5nID0gIGNjLmZ4LkdhbWVUb29sLmdldFRpbWVNYXJnaW4odGhpcy5jb3VudFRpbWUpO1xyXG4gICAgICAgICAgICBpZih0aGlzLmNvdW50VGltZSA8IDUpe1xyXG4gICAgICAgICAgICAgICAgbGV0IG92ZXIgPSB0aGlzLm5vZGUuZ2V0Q2hpbGRCeU5hbWUoXCJPdmVyXCIpO1xyXG4gICAgICAgICAgICAgICAgY2MudHdlZW4ob3ZlcilcclxuICAgICAgICAgICAgICAgIC50bygwLjIse29wYWNpdHk6MjU1fSlcclxuICAgICAgICAgICAgICAgIC5kZWxheSgwLjEpXHJcbiAgICAgICAgICAgICAgICAudG8oMC4yLHtvcGFjaXR5OjB9KVxyXG4gICAgICAgICAgICAgICAgLnN0YXJ0KCk7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgaWYodGhpcy5jb3VudFRpbWUgPD0gMCl7XHJcbiAgICAgICAgICAgICAgICB0aGlzLmNvdW50VGltZSA9IDA7XHJcbiAgICAgICAgICAgICAgICB0aGlzLnNldERhdGEoZmFsc2UpO1xyXG4gICAgICAgICAgICAgICAgdGhpcy51bnNjaGVkdWxlKHRoaXMudXBkYXRlQ291bnREb3duVGltZSk7XHJcbiAgICAgICAgICAgICAgICB0aGlzLmdhbWVPdmVyKCk7ICAgIFxyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG4gICAgLy/kuIrkvKDmr4/mrKHmk43kvZzmlbDmja5cclxuICAgIHNldERhdGEoc3VjY2Vzcyl7XHJcbiAgICAgICAgLy/orr7nva7ln4vngrnmlbDmja5cclxuICAgICAgICBjYy5meC5HYW1lQ29uZmlnLkNMSUNLX1NFVChcIm1hcElkXCIsY2MuZnguR2FtZUNvbmZpZy5MRVZFTF9JTkZPW2NjLmZ4LkdhbWVDb25maWcuR01fSU5GTy5sZXZlbF1bdGhpcy5jdXN0b21dLmlkKTtcclxuICAgICAgICBjYy5meC5HYW1lQ29uZmlnLkNMSUNLX1NFVChcImRpZmZpY3VsdHlcIixjYy5meC5HYW1lQ29uZmlnLkdNX0lORk8ubGV2ZWwpO1xyXG4gICAgICAgIGNjLmZ4LkdhbWVDb25maWcuQ0xJQ0tfU0VUKFwib3B0aW1pemVkU3RlcHNcIixjYy5meC5HYW1lQ29uZmlnLkxFVkVMX0lORk9bY2MuZnguR2FtZUNvbmZpZy5HTV9JTkZPLmxldmVsXVt0aGlzLmN1c3RvbV0ubWluX3N0ZXBzKTtcclxuICAgICAgICBjYy5meC5HYW1lQ29uZmlnLkNMSUNLX1NFVChcInJvdW5kXCIsY2MuZnguR2FtZUNvbmZpZy5HTV9JTkZPLnJvdW5kKTtcclxuICAgICAgICBjYy5meC5HYW1lQ29uZmlnLkNMSUNLX1NFVChcInRpbWVyXCIsY2MuZnguR2FtZUNvbmZpZy5USU1FX0lORk8udG90YWxUaW1lKTtcclxuICAgICAgICBjYy5meC5HYW1lQ29uZmlnLkNMSUNLX1NFVChcImN1bXVsYXRpdmVTY29yZVwiLGNjLmZ4LkdhbWVDb25maWcuR01fSU5GTy5zY29yZSk7XHJcbiAgICAgICAgaWYoc3VjY2VzcyAhPSBudWxsKXtcclxuICAgICAgICAgICAgY2MuZnguR2FtZUNvbmZpZy5DTElDS19TRVQoXCJzdWNjZXNzXCIsc3VjY2Vzcyk7XHJcbiAgICAgICAgICAgIGNjLmZ4LkdhbWVDb25maWcuR01fSU5GTy5mZW4gPSB0aGlzLmdldFNjb3JlKCk7XHJcbiAgICAgICAgICAgIGlmKCFzdWNjZXNzKSBjYy5meC5HYW1lQ29uZmlnLkdNX0lORk8uZmVuID0gMDtcclxuICAgICAgICAgICAgY2MuZnguR2FtZUNvbmZpZy5DTElDS19TRVQoXCJnZXRTY29yZVwiLGNjLmZ4LkdhbWVDb25maWcuR01fSU5GTy5mZW4pO1xyXG4gICAgICAgICAgICBjYy5meC5HYW1lQ29uZmlnLkdNX0lORk8uc2NvcmUgKz0gY2MuZnguR2FtZUNvbmZpZy5HTV9JTkZPLmZlbjtcclxuICAgICAgICAgICAgY2MuZnguR2FtZUNvbmZpZy5DTElDS19TRVQoXCJjdW11bGF0aXZlU2NvcmVcIixjYy5meC5HYW1lQ29uZmlnLkdNX0lORk8uc2NvcmUpO1xyXG4gICAgICAgICAgICBpZih0aGlzLmNvdW50VGltZSAhPSAwKWNjLmZ4LkdhbWVDb25maWcuR01fSU5GTy5zdWNjZXNzTGlzdC5wdXNoKHN1Y2Nlc3MpO1xyXG4gICAgICAgIH1cclxuICAgICAgICBjYy5meC5HYW1lVG9vbC5zZXRHYW1lRGF0YSgpO1xyXG4gICAgICAgIFxyXG4gICAgfVxyXG4gICAgLy/orqHnrpflvpfliIZcclxuICAgIGdldFNjb3JlKCl7XHJcbiAgICAgICAgLy/mnIDlsI/mraXmlbBcclxuICAgICAgICBsZXQgbWluID0gY2MuZnguR2FtZUNvbmZpZy5MRVZFTF9JTkZPW2NjLmZ4LkdhbWVDb25maWcuR01fSU5GTy5sZXZlbF1bdGhpcy5jdXN0b21dLm1pbl9zdGVwcztcclxuICAgICAgICAvL+WunumZheS9v+eUqOatpeaVsFxyXG4gICAgICAgIGxldCBub3cgPSB0aGlzLnBhdGhfQXJyYXkubGVuZ3RoLTE7XHJcbiAgICAgICAgaWYobm93IDw9MCkgbm93ID0gMDtcclxuICAgICAgICB2YXIgeCA9ICgyLjUqbWluIC0gbm93KSAvIG1pbjtcclxuICAgICAgICBsZXQgc2NvcmUgPSBNYXRoLnBvdyhtaW4seCkgKiogMC41O1xyXG4gICAgICAgIHNjb3JlID0gc2NvcmUgKiAodGhpcy5zY29yZVRpbWUgKyAxMCkqMTAwO1xyXG4gICAgICAgIHJldHVybiBNYXRoLmZsb29yKHNjb3JlKTtcclxuICAgIH1cclxuXHJcbiAgICAvL+S4iuS8oOaOkuihjOamnOaVsOaNrlxyXG4gICAgZ2FtZU92ZXIoKXtcclxuICAgICAgICB2YXIgcmF0ZSA9IDA7XHJcbiAgICAgICAgdmFyIHN1Y2Nlc3NMaXN0ID0gY2MuZnguR2FtZUNvbmZpZy5HTV9JTkZPLnN1Y2Nlc3NMaXN0O1xyXG4gICAgICAgIGlmKHN1Y2Nlc3NMaXN0Lmxlbmd0aCA+IDApe1xyXG4gICAgICAgICAgICB2YXIgc3VjY2VzcyA9IDA7XHJcbiAgICAgICAgICAgIGZvcihsZXQgaT0wOyBpPHN1Y2Nlc3NMaXN0Lmxlbmd0aDsgaSsrKXtcclxuICAgICAgICAgICAgICAgIGlmKHN1Y2Nlc3NMaXN0W2ldID09IHRydWUpIHN1Y2Nlc3MgKz0gMTtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICByYXRlID0gc3VjY2Vzcy9zdWNjZXNzTGlzdC5sZW5ndGg7XHJcbiAgICAgICAgfVxyXG4gICAgICAgIHJhdGUgPSBNYXRoLmZsb29yKHJhdGUgKiAxMDAwKS8xMDtcclxuICAgICAgICBsZXQgZGF0YSA9IHtcclxuICAgICAgICAgICAgc2NvcmU6IGNjLmZ4LkdhbWVDb25maWcuR01fSU5GTy5zY29yZSxcclxuICAgICAgICAgICAgcmF0ZTogcmF0ZVxyXG4gICAgICAgIH1cclxuICAgICAgICBjYy5meC5HYW1lVG9vbC5zZXRSYW5rKGRhdGEpO1xyXG4gICAgICAgIHRoaXMubm9kZS5nZXRDaGlsZEJ5TmFtZShcIkdhbWVPdmVyXCIpLmFjdGl2ZSA9IHRydWU7XHJcbiAgICAgICAgdGhpcy5ub2RlLmdldENoaWxkQnlOYW1lKFwiR2FtZU92ZXJcIikub3BhY2l0eSA9IDA7XHJcbiAgICAgICAgY2MudHdlZW4odGhpcy5ub2RlLmdldENoaWxkQnlOYW1lKFwiR2FtZU92ZXJcIikpXHJcbiAgICAgICAgLnRvKDAuNCx7b3BhY2l0eToyNTV9KVxyXG4gICAgICAgIC5kZWxheSgxKVxyXG4gICAgICAgIC50bygwLjQse29wYWNpdHk6NTB9KVxyXG4gICAgICAgIC5jYWxsKCgpID0+e1xyXG4gICAgICAgICAgICBjYy5kaXJlY3Rvci5sb2FkU2NlbmUoXCJPdmVyU2NlbmVcIik7XHJcbiAgICAgICAgfSlcclxuICAgICAgICAuc3RhcnQoKVxyXG4gICAgfVxyXG4gICAgLy/lsZXnpLrnu5PmnpxcclxuICAgIHNob3dSZXN1bHQoZGF0YSl7XHJcbiAgICAgICAgaWYoZGF0YSA9PSBcImxvc2VcIil7XHJcbiAgICAgICAgICAgIGNjLmZ4LkF1ZGlvTWFuYWdlci5faW5zdGFuY2UucGxheUVmZmVjdChcImxvc2VcIixudWxsKTtcclxuICAgICAgICAgICAgY2MuZnguR2FtZUNvbmZpZy5HTV9JTkZPLm1pbl9UaW1lID0gLTE7XHJcbiAgICAgICAgfSBcclxuICAgICAgICBlbHNle1xyXG4gICAgICAgICAgICBjYy5meC5BdWRpb01hbmFnZXIuX2luc3RhbmNlLnBsYXlFZmZlY3QoXCJ3aW5cIixudWxsKTtcclxuICAgICAgICB9XHJcbiAgICAgICAgdGhpcy5ub2RlLmdldENoaWxkQnlOYW1lKFwiV2luZG93XCIpLmFjdGl2ZSA9IHRydWU7XHJcbiAgICAgICAgdGhpcy5ub2RlLmdldENoaWxkQnlOYW1lKFwiV2luZG93XCIpLmdldENvbXBvbmVudChcIldpbmRvd1wiKS5pbml0KGRhdGEpO1xyXG5cclxuICAgIH1cclxuICAgIC8v6K6w5b2V5Y+N5bqU5pe26ZW/77yM5Lul5Y+K5YGa5q2l6aqk5o+Q56S6XHJcbiAgICBjbGlja1N1bihkYXRhKXtcclxuICAgICAgICAvL+WmguaenOayoeacieiusOW9lei/hyDlm57lkIjlvIDlp4vliLDmk43kvZzlj43lupTml7bplb/vvIzliJnnrKzkuIDmrKHorrDlvZXvvIwg5ZCO6Z2i5LiN6K6w5b2VXHJcbiAgICAgICAgaWYoY2MuZnguR2FtZUNvbmZpZy5DTElDS19EQVRBLnN0YXJ0VGltZSA9PSAwKXtcclxuICAgICAgICAgICAgdGhpcy5maW5pc2hpVGltZSA9IGNjLmZ4LkdhbWVUb29sLmdldFRpbWUoKTtcclxuICAgICAgICAgICAgdmFyIG5vdyAgPSB0aGlzLmZpbmlzaGlUaW1lIC0gdGhpcy5zdGFydFRpbWU7XHJcbiAgICAgICAgICAgIC8vIGNvbnNvbGUubG9nKFwic3RhcnRUaW1lOlwiLG5vdyx0aGlzLnN0YXJ0VGltZSk7XHJcbiAgICAgICAgICAgIGNjLmZ4LkdhbWVDb25maWcuQ0xJQ0tfU0VUKFwic3RhcnRUaW1lXCIsbm93KTtcclxuICAgICAgICB9XHJcbiAgICAgICAgaWYoY2MuZnguR2FtZUNvbmZpZy5HTV9JTkZPLmxldmVsID4gMykgcmV0dXJuO1xyXG4gICAgICAgIC8v5q2l6aqk5o+Q56S6XHJcbiAgICAgICAgdmFyIG5vd1BvcyA9IHRoaXMucGF0aF9BcnJheVswXTtcclxuICAgICAgICBpZih0aGlzLnRpcF9BcnJheS5sZW5ndGggIT0gMCl7XHJcbiAgICAgICAgICAgIGlmKHRoaXMudGlwX0FycmF5W3RoaXMudGlwX0FycmF5Lmxlbmd0aC0xXSA9PSBudWxsKXtcclxuICAgICAgICAgICAgICAgIHRoaXMudGlwX0FycmF5LnB1c2gobnVsbCk7XHJcbiAgICAgICAgICAgICAgICByZXR1cm47XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgbm93UG9zID0gdGhpcy50aXBfQXJyYXlbdGhpcy50aXBfQXJyYXkubGVuZ3RoLTFdW3RoaXMudGlwX0FycmF5W3RoaXMudGlwX0FycmF5Lmxlbmd0aC0xXS5sZW5ndGgtMV07XHJcbiAgICAgICAgICAgIGlmKG5vd1Bvcyl7XHJcbiAgICAgICAgICAgICAgICBsZXQgbiA9IG5vd1Bvcy54KnRoaXMubWFwX0FycmF5WzBdLmxlbmd0aCtub3dQb3MueTtcclxuICAgICAgICAgICAgICAgIGxldCB0YXJnZXROb2RlID0gdGhpcy5ibG9ja19BcnJheVtuXTtcclxuICAgICAgICAgICAgICAgIGlmKHRhcmdldE5vZGUuZ2V0Q2hpbGRCeU5hbWUoXCJ0aXBMb3NlXCIpLmFjdGl2ZSA9PSB0cnVlKXtcclxuICAgICAgICAgICAgICAgICAgICB0aGlzLnRpcF9BcnJheS5wdXNoKG51bGwpO1xyXG4gICAgICAgICAgICAgICAgICAgIHJldHVybjtcclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICBlbHNle1xyXG4gICAgICAgICAgICAgICAgcmV0dXJuO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfSBcclxuXHJcbiAgICAgICAgaWYoZGF0YSA9PSBcInVwXCIpe1xyXG4gICAgICAgICAgICBsZXQgbiA9IGNjLnYyKG5vd1Bvcy54LG5vd1Bvcy55LTEpO1xyXG4gICAgICAgICAgICB0aGlzLnRpcENhbihuLGRhdGEpO1xyXG4gICAgICAgIH1cclxuICAgICAgICBlbHNlIGlmKGRhdGEgPT0gXCJkb3duXCIpe1xyXG4gICAgICAgICAgICBsZXQgbiA9IGNjLnYyKG5vd1Bvcy54LG5vd1Bvcy55KzEpO1xyXG4gICAgICAgICAgICB0aGlzLnRpcENhbihuLGRhdGEpO1xyXG4gICAgICAgIH1cclxuICAgICAgICBlbHNlIGlmKGRhdGEgPT0gXCJsZWZ0XCIpe1xyXG4gICAgICAgICAgICBsZXQgbiA9IGNjLnYyKG5vd1Bvcy54LTEsbm93UG9zLnkpO1xyXG4gICAgICAgICAgICB0aGlzLnRpcENhbihuLGRhdGEpO1xyXG4gICAgICAgIH1cclxuICAgICAgICBlbHNlIGlmKGRhdGEgPT0gXCJyaWdodFwiKXtcclxuICAgICAgICAgICAgbGV0IG4gPSBjYy52Mihub3dQb3MueCsxLG5vd1Bvcy55KTtcclxuICAgICAgICAgICAgdGhpcy50aXBDYW4obixkYXRhKTtcclxuICAgICAgICB9XHJcbiAgICAgICAgZWxzZSBpZihkYXRhID09IFwicmVpbmZvcmNlXCIpe1xyXG4gICAgICAgICAgICBsZXQgbiA9IGNjLnYzKG5vd1Bvcy54LG5vd1Bvcy55LDIpO1xyXG4gICAgICAgICAgICB0aGlzLnRpcF9BcnJheS5wdXNoKFtuXSk7XHJcbiAgICAgICAgfVxyXG4gICAgICAgIGVsc2UgaWYoZGF0YSA9PSBcInNvaWxcIil7XHJcbiAgICAgICAgICAgIGxldCBuID0gY2MudjMobm93UG9zLngsbm93UG9zLnksMyk7XHJcbiAgICAgICAgICAgIHRoaXMudGlwX0FycmF5LnB1c2goW25dKTtcclxuICAgICAgICB9XHJcbiAgICBcclxuICAgIH1cclxuICAgIC8v5o+Q56S65piv5ZCm6ZSZ6K+vXHJcbiAgICB0aXBDYW4ocG9zLGRhdGEpe1xyXG4gICAgICAgIFxyXG4gICAgICAgIC8v5YWI5Yik5pat5piv5ZCm5Ye66L6555WMXHJcbiAgICAgICAgaWYocG9zLnggPDAgfHwgcG9zLnggPnRoaXMubWFwX0FycmF5Lmxlbmd0aC0xIHx8IHBvcy55IDwwIHx8IHBvcy55ID4gdGhpcy5tYXBfQXJyYXlbMF0ubGVuZ3RoLTEgKXtcclxuICAgICAgICAgICAgdGhpcy50aXBfQXJyYXkucHVzaChudWxsKTtcclxuICAgICAgICAgICAgcmV0dXJuO1xyXG4gICAgICAgIH0gICBcclxuICAgICAgICBsZXQgbiA9IHBvcy54KnRoaXMubWFwX0FycmF5WzBdLmxlbmd0aCtwb3MueTtcclxuICAgICAgICBsZXQgdGFyZ2V0ID0gdGhpcy5ibG9ja19BcnJheVtuXS5nZXRDb21wb25lbnQoXCJCbG9ja1wiKTtcclxuICAgICAgICB0YXJnZXQubm9kZS5nZXRDaGlsZEJ5TmFtZShcInRpcFdpblwiKS5hY3RpdmUgPSB0cnVlO1xyXG4gICAgICAgIC8vIHRhcmdldC5ub2RlLmdldENoaWxkQnlOYW1lKFwidGlwV2luXCIpLm9wYWNpdHkgPSAyNTU7XHJcbiAgICAgICAgLy8gdGFyZ2V0Lm5vZGUuZ2V0Q2hpbGRCeU5hbWUoXCJ0aXBMb3NlXCIpLm9wYWNpdHkgPSAyNTU7XHJcblxyXG4gICAgICAgIC8v6YeN5aSN6Lev5Zue5aS06Lev77yM5oiW6ICF5bGx5bOwXHJcbiAgICAgICAgaWYodGFyZ2V0LnJlcGVhdFJvYWQoZmFsc2UsbnVsbCkgPT0gdHJ1ZSB8fCB0YXJnZXQuYmxvY2tfVHlwZSA9PSAzKXtcclxuICAgICAgICAgICAgdGFyZ2V0Lm5vZGUuZ2V0Q2hpbGRCeU5hbWUoXCJ0aXBMb3NlXCIpLmFjdGl2ZSA9IHRydWU7XHJcbiAgICAgICAgICAgIHRhcmdldC5ub2RlLmdldENoaWxkQnlOYW1lKFwidGlwV2luXCIpLmFjdGl2ZSA9IGZhbHNlO1xyXG4gICAgICAgIH1cclxuICAgICAgICAvL+a5v+WcsCDkuIrkuIDmraXlpoLmnpzmsqHnlKjmga/lo6TmiJbogIXliqDlm7pcclxuICAgICAgICBlbHNlIGlmKHRhcmdldC5ibG9ja19UeXBlID09IDIpe1xyXG4gICAgICAgICAgICBpZih0aGlzLnRpcF9BcnJheS5sZW5ndGggPiAxKXtcclxuICAgICAgICAgICAgICAgIGlmKHRoaXMudGlwX0FycmF5W3RoaXMudGlwX0FycmF5Lmxlbmd0aC0xXVswXS56ID09IDApe1xyXG4gICAgICAgICAgICAgICAgICAgIHRhcmdldC5ub2RlLmdldENoaWxkQnlOYW1lKFwidGlwTG9zZVwiKS5hY3RpdmUgPSB0cnVlO1xyXG4gICAgICAgICAgICAgICAgICAgIHRhcmdldC5ub2RlLmdldENoaWxkQnlOYW1lKFwidGlwV2luXCIpLmFjdGl2ZSA9IGZhbHNlO1xyXG4gICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG5cclxuICAgICAgICBpZih0aGlzLnRpcF9BcnJheS5sZW5ndGggPiAwKXtcclxuICAgICAgICAgICAgaWYodGhpcy50aXBfQXJyYXlbdGhpcy50aXBfQXJyYXkubGVuZ3RoLTFdWzBdLnogPT0gMyl7XHJcbiAgICAgICAgICAgICAgICBpZihkYXRhID09IFwidXBcIil7XHJcbiAgICAgICAgICAgICAgICAgICAgdmFyIGFyciA9IFtdO1xyXG4gICAgICAgICAgICAgICAgICAgIGZvcihsZXQgaT1wb3MueTsgaSA+PTA7aS0tKXtcclxuICAgICAgICAgICAgICAgICAgICAgICAgbGV0IGJsb2NrID0gdGhpcy5ibG9ja19BcnJheVtwb3MueCp0aGlzLm1hcF9BcnJheVswXS5sZW5ndGgraV0uZ2V0Q29tcG9uZW50KFwiQmxvY2tcIik7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIGlmKGJsb2NrLmJsb2NrX1R5cGUgPT0gMyl7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBpID0gLTEwMDAwO1xyXG4gICAgICAgICAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIGVsc2V7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBibG9jay5ub2RlLmdldENoaWxkQnlOYW1lKFwidGlwV2luXCIpLmFjdGl2ZSA9IHRydWU7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBhcnIucHVzaChjYy52Myhwb3MueCxpLDApKTtcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGlmKCBibG9jay5ibG9ja19UeXBlID09IDQpIGkgPSAtMTAwMDA7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICAgICAgdGhpcy50aXBfQXJyYXkucHVzaChhcnIpO1xyXG4gICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgZWxzZSBpZihkYXRhID09IFwiZG93blwiKXtcclxuICAgICAgICAgICAgICAgICAgICB2YXIgYXJyID0gW107XHJcbiAgICAgICAgICAgICAgICAgICAgZm9yKGxldCBpPXBvcy55OyBpPHRoaXMubWFwX0FycmF5WzBdLmxlbmd0aDtpKyspe1xyXG4gICAgICAgICAgICAgICAgICAgICAgICBsZXQgYmxvY2sgPSB0aGlzLmJsb2NrX0FycmF5W3Bvcy54KnRoaXMubWFwX0FycmF5WzBdLmxlbmd0aCtpXS5nZXRDb21wb25lbnQoXCJCbG9ja1wiKTtcclxuICAgICAgICAgICAgICAgICAgICAgICAgaWYoYmxvY2suYmxvY2tfVHlwZSA9PSAzKXtcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGkgPSAxMDAwMDtcclxuICAgICAgICAgICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgICAgICAgICBlbHNle1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgYmxvY2subm9kZS5nZXRDaGlsZEJ5TmFtZShcInRpcFdpblwiKS5hY3RpdmUgPSB0cnVlO1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgYXJyLnB1c2goY2MudjMocG9zLngsaSwwKSk7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBpZiggYmxvY2suYmxvY2tfVHlwZSA9PSA0KSBpID0gMTAwMDA7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICAgICAgdGhpcy50aXBfQXJyYXkucHVzaChhcnIpO1xyXG4gICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgZWxzZSBpZihkYXRhID09IFwicmlnaHRcIil7XHJcbiAgICAgICAgICAgICAgICAgICAgdmFyIGFyciA9IFtdO1xyXG4gICAgICAgICAgICAgICAgICAgIGZvcihsZXQgaT1wb3MueDsgaTx0aGlzLm1hcF9BcnJheS5sZW5ndGg7aSsrKXtcclxuICAgICAgICAgICAgICAgICAgICAgICAgbGV0IGJsb2NrID0gdGhpcy5ibG9ja19BcnJheVtpKnRoaXMubWFwX0FycmF5WzBdLmxlbmd0aCtwb3MueV0uZ2V0Q29tcG9uZW50KFwiQmxvY2tcIik7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIGlmKGJsb2NrLmJsb2NrX1R5cGUgPT0gMyl7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBpID0gMTAwMDA7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgICAgICAgICAgZWxzZXtcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGJsb2NrLm5vZGUuZ2V0Q2hpbGRCeU5hbWUoXCJ0aXBXaW5cIikuYWN0aXZlID0gdHJ1ZTtcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGFyci5wdXNoKGNjLnYzKGkscG9zLnksMCkpO1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgaWYoIGJsb2NrLmJsb2NrX1R5cGUgPT0gNCkgaSA9IDEwMDAwO1xyXG4gICAgICAgICAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgICAgIHRoaXMudGlwX0FycmF5LnB1c2goYXJyKTtcclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgIGVsc2UgaWYoZGF0YSA9PSBcImxlZnRcIil7XHJcbiAgICAgICAgICAgICAgICAgICAgdmFyIGFyciA9IFtdO1xyXG4gICAgICAgICAgICAgICAgICAgIGZvcihsZXQgaT1wb3MueDsgaT49MCA7aS0tKXtcclxuICAgICAgICAgICAgICAgICAgICAgICAgbGV0IGJsb2NrID0gdGhpcy5ibG9ja19BcnJheVtpKnRoaXMubWFwX0FycmF5WzBdLmxlbmd0aCtwb3MueV0uZ2V0Q29tcG9uZW50KFwiQmxvY2tcIik7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIGlmKGJsb2NrLmJsb2NrX1R5cGUgPT0gMyl7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBpID0gLTEwMDAwO1xyXG4gICAgICAgICAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIGVsc2V7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBibG9jay5ub2RlLmdldENoaWxkQnlOYW1lKFwidGlwV2luXCIpLmFjdGl2ZSA9IHRydWU7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBhcnIucHVzaChjYy52MyhpLHBvcy55LDApKTtcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGlmKCBibG9jay5ibG9ja19UeXBlID09IDQpIGkgPSAtMTAwMDA7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICAgICAgdGhpcy50aXBfQXJyYXkucHVzaChhcnIpO1xyXG4gICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIGVsc2V7XHJcbiAgICAgICAgICAgICAgICBsZXQgcG9zSmcgPSBjYy52Myhwb3MueCxwb3MueSwwKTtcclxuICAgICAgICAgICAgICAgIGlmKGRhdGEgPT0gXCJyZWluZm9yY2VcIikgcG9zLnogPSAyO1xyXG4gICAgICAgICAgICAgICAgaWYoZGF0YSA9PSBcInNvaWxcIikgcG9zLnogPSAzOyBcclxuICAgICAgICAgICAgICAgIHRoaXMudGlwX0FycmF5LnB1c2goW3Bvc0pnXSk7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgLy8gY29uc29sZS5sb2codGhpcy50aXBfQXJyYXkpO1xyXG4gICAgICAgICAgICByZXR1cm47XHJcbiAgICAgICAgfVxyXG5cclxuICAgICAgICBsZXQgcG9zSmcgPSBjYy52Myhwb3MueCxwb3MueSwwKTtcclxuICAgICAgICBpZihkYXRhID09IFwicmVpbmZvcmNlXCIpIHBvcy56ID0gMjtcclxuICAgICAgICBpZihkYXRhID09IFwic29pbFwiKSBwb3MueiA9IDM7IFxyXG4gICAgICAgIHRoaXMudGlwX0FycmF5LnB1c2goW3Bvc0pnXSk7XHJcbiAgICAgICAgLy8gY29uc29sZS5sb2codGhpcy50aXBfQXJyYXkpO1xyXG4gICAgfVxyXG5cclxuICAgIC8v56e76Zmk5o+Q56S6XHJcbiAgICByZW1vdmVUaXAoZGF0YSl7XHJcbiAgICAgICAgaWYoY2MuZnguR2FtZUNvbmZpZy5HTV9JTkZPLmxldmVsID4gMykgcmV0dXJuO1xyXG4gICAgICAgIC8v5YiG5Li65pKk5Zue5LiA5q2lIOWSjOWFqOmDqOa4heepulxyXG4gICAgICAgIGlmKHRoaXMudGlwX0FycmF5Lmxlbmd0aCA+IDApe1xyXG4gICAgICAgICAgICBpZihkYXRhID09IFwiYmFja1wiKXtcclxuICAgICAgICAgICAgICAgIGxldCB0YXJnZXQgPSB0aGlzLnRpcF9BcnJheVt0aGlzLnRpcF9BcnJheS5sZW5ndGgtMV07XHJcbiAgICAgICAgICAgICAgICBpZih0YXJnZXQgPT0gbnVsbCl7XHJcbiAgICAgICAgICAgICAgICAgICAgdGhpcy50aXBfQXJyYXkucG9wKCk7XHJcbiAgICAgICAgICAgICAgICB9IFxyXG4gICAgICAgICAgICAgICAgZWxzZXtcclxuICAgICAgICAgICAgICAgICAgICB0aGlzLnRpcF9BcnJheS5wb3AoKTtcclxuICAgICAgICAgICAgICAgICAgICBmb3IobGV0IGk9MDsgaTx0YXJnZXQubGVuZ3RoO2krKyl7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIGlmKHRhcmdldFtpXSl7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBpZiggdGFyZ2V0WzBdLnogPT0gMCl7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbGV0IG4gPSB0YXJnZXRbaV0ueCp0aGlzLm1hcF9BcnJheVswXS5sZW5ndGgrdGFyZ2V0W2ldLnk7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbGV0IG5vZGUgPSB0aGlzLmJsb2NrX0FycmF5W25dO1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG5vZGUuZ2V0Q2hpbGRCeU5hbWUoXCJ0aXBXaW5cIikuYWN0aXZlID0gZmFsc2U7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbm9kZS5nZXRDaGlsZEJ5TmFtZShcInRpcExvc2VcIikuYWN0aXZlID0gZmFsc2U7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB9XHJcblxyXG4gICAgICAgICAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICB9IFxyXG4gICAgICAgICAgICBlbHNlIGlmKGRhdGEgPT0gXCJyZW1vdmVcIil7XHJcbiAgICAgICAgICAgICAgICBmb3IobGV0IGogPTA7IGo8dGhpcy50aXBfQXJyYXkubGVuZ3RoOyBqKyspe1xyXG4gICAgICAgICAgICAgICAgICAgIGxldCB0YXJnZXQgPSB0aGlzLnRpcF9BcnJheVtqXTtcclxuICAgICAgICAgICAgICAgICAgICBpZih0YXJnZXQgIT0gbnVsbCl7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIGZvcihsZXQgaT0wOyBpPHRhcmdldC5sZW5ndGg7aSsrKXtcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGlmKHRhcmdldFtpXSl7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbGV0IG4gPSB0YXJnZXRbaV0ueCp0aGlzLm1hcF9BcnJheVswXS5sZW5ndGgrdGFyZ2V0W2ldLnk7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbGV0IG5vZGUgPSB0aGlzLmJsb2NrX0FycmF5W25dO1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG5vZGUuZ2V0Q2hpbGRCeU5hbWUoXCJ0aXBXaW5cIikuYWN0aXZlID0gZmFsc2U7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbm9kZS5nZXRDaGlsZEJ5TmFtZShcInRpcExvc2VcIikuYWN0aXZlID0gZmFsc2U7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICB0aGlzLnRpcF9BcnJheSA9IFtdO1xyXG4gICAgICAgICAgICB9IFxyXG4gICAgICAgIH1cclxuICAgIH1cclxuXHJcbiAgICAvL+iOt+WPluW8leWvvOWQjeWtl1xyXG4gICAgZ2V0R3VpZGVOYW1lKCl7XHJcbiAgICAgICAgdmFyIG5hbWUgPSBcIm9uZVwiO1xyXG4gICAgICAgIHN3aXRjaCh0aGlzLnN0ZXApe1xyXG4gICAgICAgICAgICBjYXNlIDE6XHJcbiAgICAgICAgICAgICAgICBuYW1lID0gXCJvbmVcIjtcclxuICAgICAgICAgICAgICAgIHRoaXMuYnRuQ2xpY2sgPSBmYWxzZTtcclxuICAgICAgICAgICAgICAgIHRoaXMuYmdDbGljayA9IHRydWU7XHJcbiAgICAgICAgICAgICAgICBicmVhaztcclxuICAgICAgICAgICAgY2FzZSAyOlxyXG4gICAgICAgICAgICAgICAgbmFtZSA9IFwidHdvXCI7XHJcbiAgICAgICAgICAgICAgICB0aGlzLmJ0bkNsaWNrID0gZmFsc2U7XHJcbiAgICAgICAgICAgICAgICB0aGlzLmJnQ2xpY2sgPSB0cnVlO1xyXG4gICAgICAgICAgICAgICAgYnJlYWs7XHJcbiAgICAgICAgICAgIGNhc2UgMzpcclxuICAgICAgICAgICAgICAgIG5hbWUgPSBcInRocmVlXCI7XHJcbiAgICAgICAgICAgICAgICB0aGlzLmJ0bkNsaWNrID0gZmFsc2U7XHJcbiAgICAgICAgICAgICAgICB0aGlzLmJnQ2xpY2sgPSB0cnVlO1xyXG4gICAgICAgICAgICAgICAgYnJlYWs7XHJcbiAgICAgICAgICAgIGNhc2UgNDpcclxuICAgICAgICAgICAgICAgIG5hbWUgPSBcImZvdXJcIjtcclxuICAgICAgICAgICAgICAgIHRoaXMuYnRuQ2xpY2sgPSBmYWxzZTtcclxuICAgICAgICAgICAgICAgIHRoaXMuYmdDbGljayA9IHRydWU7XHJcbiAgICAgICAgICAgICAgICBicmVhaztcclxuICAgICAgICAgICAgY2FzZSA1OlxyXG4gICAgICAgICAgICAgICAgbmFtZSA9IFwiZml2ZVwiO1xyXG4gICAgICAgICAgICAgICAgdGhpcy5idG5DbGljayA9IHRydWU7XHJcbiAgICAgICAgICAgICAgICB0aGlzLmJnQ2xpY2sgPSBmYWxzZTtcclxuICAgICAgICAgICAgICAgIGJyZWFrO1xyXG4gICAgICAgICAgICBjYXNlIDY6XHJcbiAgICAgICAgICAgICAgICBuYW1lID0gXCJzaXhcIjtcclxuICAgICAgICAgICAgICAgIHRoaXMuYnRuQ2xpY2sgPSB0cnVlO1xyXG4gICAgICAgICAgICAgICAgdGhpcy5iZ0NsaWNrID0gZmFsc2U7XHJcbiAgICAgICAgICAgICAgICBicmVhaztcclxuICAgICAgICAgICAgY2FzZSA3OlxyXG4gICAgICAgICAgICAgICAgbmFtZSA9IFwic2V2ZW5cIjtcclxuICAgICAgICAgICAgICAgIHRoaXMuYnRuQ2xpY2sgPSBmYWxzZTtcclxuICAgICAgICAgICAgICAgIHRoaXMuYmdDbGljayA9IHRydWU7XHJcbiAgICAgICAgICAgICAgICBicmVhaztcclxuICAgICAgICAgICAgY2FzZSA4OlxyXG4gICAgICAgICAgICAgICAgbmFtZSA9IFwiZWlnaHRcIjtcclxuICAgICAgICAgICAgICAgIHRoaXMuYnRuQ2xpY2sgPSBmYWxzZTtcclxuICAgICAgICAgICAgICAgIHRoaXMuYmdDbGljayA9IHRydWU7XHJcbiAgICAgICAgICAgICAgICBicmVhaztcclxuICAgICAgICAgICAgY2FzZSA5OlxyXG4gICAgICAgICAgICAgICAgbmFtZSA9IFwibmluZVwiO1xyXG4gICAgICAgICAgICAgICAgdGhpcy5idG5DbGljayA9IGZhbHNlO1xyXG4gICAgICAgICAgICAgICAgdGhpcy5iZ0NsaWNrID0gdHJ1ZTtcclxuICAgICAgICAgICAgICAgIGJyZWFrO1xyXG4gICAgICAgICAgICBjYXNlIDEwOlxyXG4gICAgICAgICAgICAgICAgbmFtZSA9IFwidGVuXCI7XHJcbiAgICAgICAgICAgICAgICB0aGlzLmJ0bkNsaWNrID0gdHJ1ZTtcclxuICAgICAgICAgICAgICAgIHRoaXMuYmdDbGljayA9IGZhbHNlO1xyXG4gICAgICAgICAgICAgICAgYnJlYWs7XHJcbiAgICAgICAgICAgIGNhc2UgMTE6XHJcbiAgICAgICAgICAgICAgICBuYW1lID0gXCJlbGV2ZW5cIjtcclxuICAgICAgICAgICAgICAgIHRoaXMuYnRuQ2xpY2sgPSBmYWxzZTtcclxuICAgICAgICAgICAgICAgIHRoaXMuYmdDbGljayA9IHRydWU7XHJcbiAgICAgICAgICAgICAgICBicmVhaztcclxuICAgICAgICAgICAgY2FzZSAxMjpcclxuICAgICAgICAgICAgICAgIG5hbWUgPSBcInR3ZWx2ZVwiO1xyXG4gICAgICAgICAgICAgICAgdGhpcy5idG5DbGljayA9IHRydWU7XHJcbiAgICAgICAgICAgICAgICB0aGlzLmJnQ2xpY2sgPSBmYWxzZTtcclxuICAgICAgICAgICAgICAgIGJyZWFrO1xyXG4gICAgICAgICAgICBjYXNlIDEzOlxyXG4gICAgICAgICAgICAgICAgbmFtZSA9IFwidGhpcnRlZW5cIjtcclxuICAgICAgICAgICAgICAgIHRoaXMuYnRuQ2xpY2sgPSB0cnVlO1xyXG4gICAgICAgICAgICAgICAgdGhpcy5iZ0NsaWNrID0gZmFsc2U7XHJcbiAgICAgICAgICAgICAgICBicmVhaztcclxuICAgICAgICAgICAgY2FzZSAxNDpcclxuICAgICAgICAgICAgICAgIG5hbWUgPSBcImZvdXJ0ZWVuXCI7XHJcbiAgICAgICAgICAgICAgICB0aGlzLmJ0bkNsaWNrID0gdHJ1ZTtcclxuICAgICAgICAgICAgICAgIHRoaXMuYmdDbGljayA9IGZhbHNlO1xyXG4gICAgICAgICAgICAgICAgYnJlYWs7XHJcbiAgICAgICAgICAgIGNhc2UgMTU6XHJcbiAgICAgICAgICAgICAgICBuYW1lID0gXCJmaXZldGVlblwiO1xyXG4gICAgICAgICAgICAgICAgdGhpcy5idG5DbGljayA9IHRydWU7XHJcbiAgICAgICAgICAgICAgICB0aGlzLmJnQ2xpY2sgPSBmYWxzZTtcclxuICAgICAgICAgICAgICAgIGJyZWFrO1xyXG4gICAgICAgICAgICBjYXNlIDE2OlxyXG4gICAgICAgICAgICAgICAgbmFtZSA9IFwic2l4dGVlblwiO1xyXG4gICAgICAgICAgICAgICAgdGhpcy5idG5DbGljayA9IHRydWU7XHJcbiAgICAgICAgICAgICAgICB0aGlzLmJnQ2xpY2sgPSBmYWxzZTtcclxuICAgICAgICAgICAgICAgIGJyZWFrO1xyXG4gICAgICAgICAgICBjYXNlIDE3OlxyXG4gICAgICAgICAgICAgICAgbmFtZSA9IFwibGFzdFwiO1xyXG4gICAgICAgICAgICAgICAgdGhpcy5idG5DbGljayA9IHRydWU7XHJcbiAgICAgICAgICAgICAgICB0aGlzLmJnQ2xpY2sgPSBmYWxzZTtcclxuICAgICAgICAgICAgICAgIGJyZWFrO1xyXG4gICAgICAgIH1cclxuXHJcbiAgICAgICAgcmV0dXJuIG5hbWU7XHJcbiAgICB9XHJcbiAgICAvL+W8leWvvOS4i+S4gOatpVxyXG4gICAgZ3VpZGVOZXh0KCl7XHJcbiAgICAgICAgLy/mr4/mrKHlhYjmiormiYDmnInnmoRcclxuICAgICAgICBjb25zb2xlLmxvZyh0aGlzLnN0ZXAsdGhpcy5HdWlkZS5jaGlsZHJlbi5sZW5ndGgpO1xyXG4gICAgICAgIGlmKHRoaXMuc3RlcCArIDEgID09ICB0aGlzLkd1aWRlLmNoaWxkcmVuLmxlbmd0aCl7XHJcbiAgICAgICAgICAgIGNjLmZ4LkdhbWVDb25maWcuR01fSU5GTy5ndWlkZSA9IGZhbHNlO1xyXG4gICAgICAgICAgICAvLyBjYy5kaXJlY3Rvci5sb2FkU2NlbmUoXCJHYW1lU2NlbmVcIik7XHJcbiAgICAgICAgICAgIGxldCBuYW1lID0gY2MuZnguR2FtZUNvbmZpZy5HTV9JTkZPLmdhbWVJZCArIFwiX2d1aWRlXCI7XHJcbiAgICAgICAgICAgIGNjLmZ4LlN0b3JhZ2VNZXNzYWdlLnNldFN0b3JhZ2UobmFtZSxjYy5meC5HYW1lQ29uZmlnLkdNX0lORk8uZ3VpZGUpO1xyXG4gICAgICAgIH1cclxuICAgICAgICBpZih0aGlzLnN0ZXAgPiAwKSB0aGlzLkd1aWRlLmNoaWxkcmVuW3RoaXMuc3RlcC0xXS5hY3RpdmUgPSBmYWxzZTtcclxuICAgICAgICB0aGlzLnN0ZXAgKz0gMTtcclxuICAgICAgICBsZXQgbmFtZSA9IHRoaXMuZ2V0R3VpZGVOYW1lKCk7XHJcbiAgIFxyXG4gICAgICAgIHZhciB0YXJnZXQgPSB0aGlzLkd1aWRlLmdldENoaWxkQnlOYW1lKG5hbWUpO1xyXG4gICAgICAgIHRhcmdldC5hY3RpdmUgPSB0cnVlO1xyXG4gICAgICAgIGxldCBzaXplID0gY2Mud2luU2l6ZTtcclxuXHJcbiAgICAgICAgaWYoc2l6ZS5oZWlnaHQgPiAxMzM0KXtcclxuICAgICAgICAgICAgbGV0IGhlaWdodCA9IChzaXplLmhlaWdodCAtIDEzMzQpLzI7XHJcbiAgICAgICAgICAgIHRhcmdldC5nZXRDaGlsZEJ5TmFtZShcInNwXCIpLmhlaWdodCArPSBoZWlnaHQ7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG5cclxuICAgIG9uRW5hYmxlICgpIHtcclxuICAgICAgICBjYy5meC5Ob3RpZmljYXRpb25zLm9uKGNjLmZ4Lk1lc3NhZ2UuY29udHJvbCwgdGhpcy5jbGlja1N1biwgdGhpcyk7XHJcbiAgICAgICAgY2MuZnguTm90aWZpY2F0aW9ucy5vbihjYy5meC5NZXNzYWdlLm5leHQsIHRoaXMucnVuUm9hZCwgdGhpcyk7XHJcbiAgICAgICAgY2MuZnguTm90aWZpY2F0aW9ucy5vbihjYy5meC5NZXNzYWdlLm5leHRXYXRlciwgdGhpcy5ydW5XYXRlciwgdGhpcyk7XHJcbiAgICAgICAgY2MuZnguTm90aWZpY2F0aW9ucy5vbihjYy5meC5NZXNzYWdlLnN0YXJ0R2FtZSwgdGhpcy5zdGFydEdhbWUsIHRoaXMpO1xyXG4gICAgICAgIGNjLmZ4Lk5vdGlmaWNhdGlvbnMub24oY2MuZnguTWVzc2FnZS5jaGFuZ2VQYXRoLCB0aGlzLmNoYW5nZVBhdGgsIHRoaXMpO1xyXG4gICAgICAgIGNjLmZ4Lk5vdGlmaWNhdGlvbnMub24oY2MuZnguTWVzc2FnZS5zZXREYXRhLCB0aGlzLnNldERhdGEsIHRoaXMpO1xyXG4gICAgICAgIGNjLmZ4Lk5vdGlmaWNhdGlvbnMub24oY2MuZnguTWVzc2FnZS5ndWlkZU5leHQsIHRoaXMuZ3VpZGVOZXh0LCB0aGlzKTtcclxuICAgICAgICBjYy5meC5Ob3RpZmljYXRpb25zLm9uKGNjLmZ4Lk1lc3NhZ2Uuc2hvd1Jlc3VsdCwgdGhpcy5zaG93UmVzdWx0LCB0aGlzKTtcclxuICAgICAgICBjYy5meC5Ob3RpZmljYXRpb25zLm9uKGNjLmZ4Lk1lc3NhZ2UucmVtb3ZlVGlwLCB0aGlzLnJlbW92ZVRpcCwgdGhpcyk7XHJcbiAgICB9XHJcbiAgICBvbkRpc2FibGUgKCkge1xyXG4gICAgICAgIGNjLmZ4Lk5vdGlmaWNhdGlvbnMub2ZmKGNjLmZ4Lk1lc3NhZ2UuY29udHJvbCwgdGhpcy5jbGlja1N1bik7XHJcbiAgICAgICAgY2MuZnguTm90aWZpY2F0aW9ucy5vZmYoY2MuZnguTWVzc2FnZS5uZXh0LCB0aGlzLnJ1blJvYWQpO1xyXG4gICAgICAgIGNjLmZ4Lk5vdGlmaWNhdGlvbnMub2ZmKGNjLmZ4Lk1lc3NhZ2UubmV4dFdhdGVyLCB0aGlzLnJ1bldhdGVyKTtcclxuICAgICAgICBjYy5meC5Ob3RpZmljYXRpb25zLm9mZihjYy5meC5NZXNzYWdlLnN0YXJ0R2FtZSwgdGhpcy5zdGFydEdhbWUpO1xyXG4gICAgICAgIGNjLmZ4Lk5vdGlmaWNhdGlvbnMub2ZmKGNjLmZ4Lk1lc3NhZ2UuY2hhbmdlUGF0aCwgdGhpcy5jaGFuZ2VQYXRoKTtcclxuICAgICAgICBjYy5meC5Ob3RpZmljYXRpb25zLm9mZihjYy5meC5NZXNzYWdlLnNldERhdGEsIHRoaXMuc2V0RGF0YSk7XHJcbiAgICAgICAgY2MuZnguTm90aWZpY2F0aW9ucy5vZmYoY2MuZnguTWVzc2FnZS5ndWlkZU5leHQsIHRoaXMuZ3VpZGVOZXh0KTtcclxuICAgICAgICBjYy5meC5Ob3RpZmljYXRpb25zLm9mZihjYy5meC5NZXNzYWdlLnNob3dSZXN1bHQsIHRoaXMuc2hvd1Jlc3VsdCk7XHJcbiAgICAgICAgY2MuZnguTm90aWZpY2F0aW9ucy5vZmYoY2MuZnguTWVzc2FnZS5yZW1vdmVUaXAsIHRoaXMucmVtb3ZlVGlwKTtcclxuICAgIH1cclxuICAgIHVwZGF0ZSAoZHQpIHtcclxuXHJcbiAgIFxyXG4gICAgfVxyXG59XHJcbiJdfQ== +//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbImFzc2V0c1xcU2NyaXB0XFxTZGtcXE1pbmlHYW1lU2RrLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7Ozs7Ozs7Ozs7Ozs7OztBQUFBOztHQUVHO0FBQ0gsSUFBaUIsV0FBVyxDQW1sQzNCO0FBbmxDRCxXQUFpQixXQUFXO0lBWXhCLFNBQWdCLFFBQVE7UUFDcEIsWUFBWTtRQUNaLE9BQU8sTUFBTSxDQUFDLEVBQUUsS0FBSyxJQUFJLElBQUksTUFBTSxDQUFDLEVBQUUsS0FBSyxTQUFTLENBQUM7SUFDekQsQ0FBQztJQUhlLG9CQUFRLFdBR3ZCLENBQUE7SUFFRCxTQUFnQixXQUFXO1FBQ3ZCLFlBQVk7UUFDWixPQUFPLE1BQU0sQ0FBQyxFQUFFLEtBQUssSUFBSSxJQUFJLE1BQU0sQ0FBQyxFQUFFLEtBQUssU0FBUyxDQUFDO0lBQ3pELENBQUM7SUFIZSx1QkFBVyxjQUcxQixDQUFBO0lBRUQsU0FBUyxhQUFhO1FBQ2xCLElBQUksR0FBUSxDQUFDO1FBQ2IsSUFBSSxRQUFRLEVBQUUsRUFBRTtZQUNaLGFBQWE7WUFDYixHQUFHLEdBQUcsRUFBRSxDQUFDLGlCQUFpQixFQUFFLENBQUM7U0FDaEM7YUFBTSxJQUFJLFdBQVcsRUFBRSxFQUFFO1lBQ3RCLGFBQWE7WUFDYixHQUFHLEdBQUcsRUFBRSxDQUFDLGlCQUFpQixFQUFFLENBQUM7U0FDaEM7UUFFRCxJQUFJLElBQUksR0FBVSxFQUFFLEtBQUssRUFBRSxDQUFDLEVBQUUsTUFBTSxFQUFFLENBQUMsRUFBRSxDQUFDO1FBQzFDLElBQUksR0FBRyxFQUFFO1lBQ0wsSUFBSSxDQUFDLEtBQUssR0FBRyxHQUFHLENBQUMsV0FBVyxDQUFDO1lBQzdCLElBQUksQ0FBQyxNQUFNLEdBQUcsR0FBRyxDQUFDLFlBQVksQ0FBQztTQUNsQztRQUVELE9BQU8sSUFBSSxDQUFDO0lBQ2hCLENBQUM7SUFFRDs7T0FFRztJQUNIO1FBUUksd0JBQVksS0FBYTtZQUNyQixJQUFJLENBQUMsTUFBTSxHQUFHLEtB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QyxHQUFHLENBQUMseUJBQXlCLEVBQUUsR0FBRyxDQUFDLENBQUM7b0JBQzVDLFFBQVEsYUFBUixRQUFRLHVCQUFSLFFBQVEsQ0FBRSxJQUFJLENBQUMsTUFBTSxFQUFFLEtBQUssRUFBRTtnQkFDbEMsQ0FBQzthQUNKLENBQUMsQ0FBQztRQUNQLENBQUM7UUFDTCx1QkFBQztJQUFELENBbkZBLEFBbUZDLElBQUE7SUFuRlksNEJBQWdCLG1CQW1GNUIsQ0FBQTtBQUVMLENBQUMsRUFubENnQixXQUFXLEdBQVgsbUJBQVcsS0FBWCxtQkFBVyxRQW1sQzNCIiwiZmlsZSI6IiIsInNvdXJjZVJvb3QiOiIvIiwic291cmNlc0NvbnRlbnQiOlsiLyoqXHJcbiAqIOWwj+a4uOaIj+W5s+WPsFNES+W3peWFt+Wwgeijhe+8jOebruWJjeWPquaUr+aMgeW+ruS/oeWSjOaKlumfs+W5s+WPsFxyXG4gKi9cclxuZXhwb3J0IG5hbWVzcGFjZSBNaW5pR2FtZVNkayB7XHJcblxyXG4gICAgaW50ZXJmYWNlIElTaXplIHtcclxuICAgICAgICB3aWR0aDogbnVtYmVyO1xyXG4gICAgICAgIGhlaWdodDogbnVtYmVyO1xyXG4gICAgfVxyXG5cclxuICAgIGV4cG9ydCBpbnRlcmZhY2UgSVBvc2l0aW9uIHtcclxuICAgICAgICB0b3A6IG51bWJlcjtcclxuICAgICAgICBsZWZ0OiBudW1iZXI7XHJcbiAgICB9XHJcblxyXG4gICAgZXhwb3J0IGZ1bmN0aW9uIGlzV2VjaGF0KCk6IGJvb2xlYW4ge1xyXG4gICAgICAgIC8vQHRzLWlnbm9yZVxyXG4gICAgICAgIHJldHVybiB3aW5kb3cud3ggIT09IG51bGwgJiYgd2luZG93Lnd4ICE9PSB1bmRlZmluZWQ7XHJcbiAgICB9XHJcblxyXG4gICAgZXhwb3J0IGZ1bmN0aW9uIGlzQnl0ZWRhbmNlKCk6IGJvb2xlYW4ge1xyXG4gICAgICAgIC8vQHRzLWlnbm9yZVxyXG4gICAgICAgIHJldHVybiB3aW5kb3cudHQgIT09IG51bGwgJiYgd2luZG93LnR0ICE9PSB1bmRlZmluZWQ7XHJcbiAgICB9XHJcblxyXG4gICAgZnVuY3Rpb24gZ2V0U3lzV2luU2l6ZSgpOiBJU2l6ZSB7XHJcbiAgICAgICAgbGV0IHN5czogYW55O1xyXG4gICAgICAgIGlmIChpc1dlY2hhdCgpKSB7XHJcbiAgICAgICAgICAgIC8vIEB0cy1pZ25vcmVcclxuICAgICAgICAgICAgc3lzID0gd3guZ2V0U3lzdGVtSW5mb1N5bmMoKTtcclxuICAgICAgICB9IGVsc2UgaWYgKGlzQnl0ZWRhbmNlKCkpIHtcclxuICAgICAgICAgICAgLy8gQHRzLWlnbm9yZVxyXG4gICAgICAgICAgICBzeXMgPSB0dC5nZXRTeXN0ZW1JbmZvU3luYygpO1xyXG4gICAgICAgIH1cclxuXHJcbiAgICAgICAgbGV0IHNpemU6IElTaXplID0geyB3aWR0aDogMCwgaGVpZ2h0OiAwIH07XHJcbiAgICAgICAgaWYgKHN5cykge1xyXG4gICAgICAgICAgICBzaXplLndpZHRoID0gc3lzLndpbmRvd1dpZHRoO1xyXG4gICAgICAgICAgICBzaXplLmhlaWdodCA9IHN5cy53aW5kb3dIZWlnaHQ7XHJcbiAgICAgICAgfVxyXG5cclxuICAgICAgICByZXR1cm4gc2l6ZTtcclxuICAgIH1cclxuXHJcbiAgICAvKipcclxuICAgICAqIOaPkuWxj+W5v+WRiuOAguW+ruS/oeaKlumfs+mDveaUr+aMge+8gVxyXG4gICAgICovXHJcbiAgICBjbGFzcyBBREludGVyc3RpdGlhbCB7XHJcbiAgICAgICAgcHJpdmF0ZSBfYWRVaWQ6IHN0cmluZztcclxuICAgICAgICBwcml2YXRlIF9pbnRlcnN0aXRpYWw6IGFueTtcclxuXHJcbiAgICAgICAgZ2V0IGFkdWlkKCkge1xyXG4gICAgICAgICAgICByZXR1cm4gdGhpcy5fYWRVaWQ7XHJcbiAgICAgICAgfVxyXG5cclxuICAgICAgICBjb25zdHJ1Y3RvcihhZFVpZDogc3RyaW5nKSB7XHJcbiAgICAgICAgICAgIHRoaXMuX2FkVWlkID0gYWRVaWQ7XHJcbiAgICAgICAgfVxyXG5cclxuICAgICAgICBzaG93KCkge1xyXG4gICAgICAgICAgICAvLyBAdHMtaWdub3JlXHJcbiAgICAgICAgICAgIGlmIChpc1dlY2hhdCgpICYmICF3eC5jcmVhdGVJbnRlcnN0aXRpYWxBZCkge1xyXG4gICAgICAgICAgICAgICAgY29uc29sZS53YXJuKCd3ZWNoYXQgdW5zdXBwb3J0IGludGVyc3RpdGlhbCBBRCEnKTtcclxuICAgICAgICAgICAgICAgIHRoaXMuX2ludGVyc3RpdGlhbCA9IG51bGw7XHJcbiAgICAgICAgICAgICAgICByZXR1cm47XHJcbiAgICAgICAgICAgIH1cclxuXHJcbiAgICAgICAgICAgIC8vIEB0cy1pZ25vcmVcclxuICAgICAgICAgICAgaWYgKGlzQnl0ZWRhbmNlKCkgJiYgIXR0LmNyZWF0ZUludGVyc3RpdGlhbEFkKSB7XHJcbiAgICAgICAgICAgICAgICBjb25zb2xlLndhcm4oJ2J5dGVkYW5jZSB1bnN1cHBvcnQgaW50ZXJzdGl0aWFsIEFEIScpO1xyXG4gICAgICAgICAgICAgICAgdGhpcy5faW50ZXJzdGl0aWFsID0gbnVsbDtcclxuICAgICAgICAgICAgICAgIHJldHVybjtcclxuICAgICAgICAgICAgfVxyXG5cclxuXHJcbiAgICAgICAgICAgIGlmICh0aGlzLl9pbnRlcnN0aXRpYWwpIHtcclxuICAgICAgICAgICAgICAgIHRoaXMuX2ludGVyc3RpdGlhbC5sb2FkKCk7XHJcbiAgICAgICAgICAgIH0gZWxzZSB7XHJcbiAgICAgICAgICAgICAgICBpZiAoaXNXZWNoYXQoKSkge1xyXG4gICAgICAgICAgICAgICAgICAgIC8vIEB0cy1pZ25vcmVcclxuICAgICAgICAgICAgICAgICAgICB0aGlzLl9pbnRlcnN0aXRpYWwgPSB3eC5jcmVhdGVJbnRlcnN0aXRpYWxBZCh7IGFkVW5pdElkOiB0aGlzLl9hZFVpZCB9KTtcclxuICAgICAgICAgICAgICAgIH0gZWxzZSBpZiAoaXNCeXRlZGFuY2UoKSkge1xyXG4gICAgICAgICAgICAgICAgICAgIC8vIEB0cy1pZ25vcmVcclxuICAgICAgICAgICAgICAgICAgICB0aGlzLl9pbnRlcnN0aXRpYWwgPSB0dC5jcmVhdGVJbnRlcnN0aXRpYWxBZCh7IGFkVW5pdElkOiB0aGlzLl9hZFVpZCB9KTtcclxuICAgICAgICAgICAgICAgIH0gZWxzZSB7XHJcbiAgICAgICAgICAgICAgICAgICAgdGhpcy5faW50ZXJzdGl0aWFsID0gbnVsbDtcclxuICAgICAgICAgICAgICAgIH1cclxuXHJcbiAgICAgICAgICAgICAgICB0aGlzLl9pbnRlcnN0aXRpYWw/Lm9uTG9hZCgoKSA9PiB7XHJcbiAgICAgICAgICAgICAgICAgICAgY29uc29sZS5sb2coJ2xvYWQgaW50ZXJzdGl0aWFsIGFkIHN1Y2Nlc3MnKTtcclxuICAgICAgICAgICAgICAgICAgICB0aGlzLl9pbnRlcnN0aXRpYWwuc2hvdygpLmNhdGNoKChlcnI6IGFueSkgPT4ge1xyXG4gICAgICAgICAgICAgICAgICAgICAgICBjb25zb2xlLmxvZygnY2F0Y2ggaW50ZXJzdGl0aWFsIGFkIGVycm9yOicsIGVycik7XHJcbiAgICAgICAgICAgICAgICAgICAgfSk7XHJcbiAgICAgICAgICAgICAgICB9KTtcclxuXHJcbiAgICAgICAgICAgICAgICB0aGlzLl9pbnRlcnN0aXRpYWw/Lm9uRXJyb3IoKGVycjogYW55KSA9PiB7XHJcbiAgICAgICAgICAgICAgICAgICAgY29uc29sZS5sb2coJ2ludGVyc3RpdGlhbCBhZCBvbiBlcnJvcjonLCBlcnIpO1xyXG4gICAgICAgICAgICAgICAgfSk7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICAgICAgZGVzdG9yeSgpIHtcclxuICAgICAgICAgICAgdGhpcy5faW50ZXJzdGl0aWFsPy5kZXN0cm95KCk7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG5cclxuICAgIGNsYXNzIEFEQmFubmVyIHtcclxuICAgICAgICBwcml2YXRlIF9hZFVpZDogc3RyaW5nO1xyXG4gICAgICAgIHByaXZhdGUgX2Jhbm5lcjogYW55O1xyXG5cclxuICAgICAgICBnZXQgYWR1aWQoKSB7XHJcbiAgICAgICAgICAgIHJldHVybiB0aGlzLl9hZFVpZDtcclxuICAgICAgICB9XHJcblxyXG4gICAgICAgIC8qKlxyXG4gICAgICAgICAqIOaKlumfs+WSjOW+ruS/oemDveaUr+aMgVxyXG4gICAgICAgICAqIOaoquW5heW5v+WRiuOAgumihOS8sOWuveW6pum7mOiupOS4ujMwMO+8jOmihOS8sOmrmOW6puS4ujE0MOOAguWmguaenOS9oOS4jeehruWumuWwseaMiem7mOiupOWAvOadpeOAglxyXG4gICAgICAgICAqIEBwYXJhbSBhZFVpZCDlub/lkYpVSUTvvIzlkI7nq6/phY3nva5cclxuICAgICAgICAgKiBAcGFyYW0gaXNUb3Ag5piv5ZCm5Zyo5bGP5bmV6aG26YOo5bGV56S644CC5YaF6YOo5Lya6Ieq5Yqo5bGF5Lit6K6h566X5L2N572u44CCXHJcbiAgICAgICAgICogQHBhcmFtIGJhbm5lcldpZHRoIOaoquW5heW5v+WRiueahOmihOS8sOWuveW6puOAgum7mOiupDMwMFxyXG4gICAgICAgICAqIEBwYXJhbSBhdXRvU2hvdyDlub/lkYrliqDovb3lrozmiJDlkI7mmK/lkKbnq4vliLvmmL7npLrvvIzpu5jorqTkuLrkuI3mmL7npLpcclxuICAgICAgICAgKi9cclxuICAgICAgICBjb25zdHJ1Y3RvcihhZFVpZDogc3RyaW5nLCBwYXJhbTogYm9vbGVhbiB8IElQb3NpdGlvbiwgYmFubmVyV2lkdGg6IG51bWJlciA9IDMwMCwgYXV0b1Nob3c6IGJvb2xlYW4gPSBmYWxzZSkge1xyXG4gICAgICAgICAgICB0aGlzLl9hZFVpZCA9IGFkVWlkO1xyXG4gICAgICAgICAgICB0aGlzLmNyZWF0ZShhdXRvU2hvdywgYmFubmVyV2lkdGgsIHBhcmFtKTsgLy8g6buY6K6kMzAw5q+U6L6D5ZCI6YCCXHJcbiAgICAgICAgfVxyXG5cclxuICAgICAgICBwcml2YXRlIGNyZWF0ZShhdXRvU2hvdzogYm9vbGVhbiwgYmFubmVyV2lkdGg6IG51bWJlciwgcGFyYW06IGJvb2xlYW4gfCBJUG9zaXRpb24pIHtcclxuICAgICAgICAgICAgaWYgKCFpc1dlY2hhdCgpICYmICFpc0J5dGVkYW5jZSgpKSB7XHJcbiAgICAgICAgICAgICAgICB0aGlzLl9iYW5uZXIgPSBudWxsO1xyXG4gICAgICAgICAgICAgICAgcmV0dXJuO1xyXG4gICAgICAgICAgICB9XHJcblxyXG4gICAgICAgICAgICB0aGlzLmRlc3Ryb3koKTtcclxuXHJcbiAgICAgICAgICAgIGxldCB3aW5TaXplID0gZ2V0U3lzV2luU2l6ZSgpO1xyXG5cclxuICAgICAgICAgICAgbGV0IGhlaWdodCA9IGJhbm5lcldpZHRoICogMC40O1xyXG4gICAgICAgICAgICBsZXQgdG9wID0gMCwgbGVmdCA9IDA7XHJcblxyXG4gICAgICAgICAgICBpZiAodHlwZW9mIHBhcmFtID09PSBcImJvb2xlYW5cIikge1xyXG4gICAgICAgICAgICAgICAgbGVmdCA9ICh3aW5TaXplLndpZHRoIC0gYmFubmVyV2lkdGgpIC8gMlxyXG4gICAgICAgICAgICAgICAgdG9wID0gcGFyYW0gPyA1IDogKHdpblNpemUuaGVpZ2h0IC0gaGVpZ2h0KTtcclxuICAgICAgICAgICAgfSBlbHNlIHtcclxuICAgICAgICAgICAgICAgIGxlZnQgPSBwYXJhbS5sZWZ0O1xyXG4gICAgICAgICAgICAgICAgdG9wID0gcGFyYW0udG9wO1xyXG4gICAgICAgICAgICB9XHJcblxyXG4gICAgICAgICAgICBsZXQgcGFyYW1zID0ge1xyXG4gICAgICAgICAgICAgICAgYWRVbml0SWQ6IHRoaXMuX2FkVWlkLFxyXG4gICAgICAgICAgICAgICAgYWRJbnRlcnZhbHM6IDMwLC8vIOiHquWKqOWIt+aWsOmikeeOh+S4jeiDveWwj+S6jjMw56eSXHJcbiAgICAgICAgICAgICAgICBzdHlsZTogeyBsZWZ0OiBsZWZ0LCB0b3A6IHRvcCwgd2lkdGg6IGJhbm5lcldpZHRoIH1cclxuICAgICAgICAgICAgfVxyXG5cclxuICAgICAgICAgICAgaWYgKGlzV2VjaGF0KCkpIHtcclxuICAgICAgICAgICAgICAgIC8vIEB0cy1pZ25vcmVcclxuICAgICAgICAgICAgICAgIHRoaXMuX2Jhbm5lciA9IHd4LmNyZWF0ZUJhbm5lckFkKHBhcmFtcyk7XHJcbiAgICAgICAgICAgIH0gZWxzZSBpZiAoaXNCeXRlZGFuY2UoKSkge1xyXG4gICAgICAgICAgICAgICAgLy8gQHRzLWlnbm9yZVxyXG4gICAgICAgICAgICAgICAgdGhpcy5fYmFubmVyID0gdHQuY3JlYXRlQmFubmVyQWQocGFyYW1zKTtcclxuICAgICAgICAgICAgfSBlbHNlIHtcclxuICAgICAgICAgICAgICAgIHRoaXMuX2Jhbm5lciA9IG51bGw7XHJcbiAgICAgICAgICAgIH1cclxuXHJcbiAgICAgICAgICAgIHRoaXMuX2Jhbm5lcj8ub25FcnJvcigoZXJyOiBhbnkpID0+IHtcclxuICAgICAgICAgICAgICAgIGNvbnNvbGUubG9nKCdhZCBiYW5uZXIgZXJyb3I6JywgZXJyKTtcclxuICAgICAgICAgICAgfSk7XHJcblxyXG4gICAgICAgICAgICB0aGlzLl9iYW5uZXI/Lm9uTG9hZCgoKSA9PiB7XHJcbiAgICAgICAgICAgICAgICBhdXRvU2hvdyAmJiB0aGlzLl9iYW5uZXIuc2hvdygpO1xyXG4gICAgICAgICAgICB9KTtcclxuICAgICAgICB9XHJcblxyXG4gICAgICAgIHNob3coKSB7XHJcbiAgICAgICAgICAgIHRoaXMuX2Jhbm5lcj8uc2hvdygpO1xyXG4gICAgICAgIH1cclxuXHJcbiAgICAgICAgaGlkZSgpIHtcclxuICAgICAgICAgICAgdGhpcy5fYmFubmVyPy5oaWRlKCk7XHJcbiAgICAgICAgfVxyXG5cclxuICAgICAgICBkZXN0cm95KCkge1xyXG4gICAgICAgICAgICB0aGlzLl9iYW5uZXI/LmRlc3Ryb3koKTtcclxuICAgICAgICB9XHJcbiAgICB9XHJcblxyXG4gICAgY2xhc3MgQURDdXN0b20ge1xyXG4gICAgICAgIHByaXZhdGUgX2FkVWlkOiBzdHJpbmc7XHJcbiAgICAgICAgcHJpdmF0ZSBfYWRDdXN0b206IGFueTtcclxuXHJcbiAgICAgICAgZ2V0IGFkdWlkKCkge1xyXG4gICAgICAgICAgICByZXR1cm4gdGhpcy5fYWRVaWQ7XHJcbiAgICAgICAgfVxyXG4gICAgICAgIC8qKlxyXG4gICAgICAgICAqIOeUseS6juWOn+eUn+aooeadv+W5v+WRiuWcqOW+ruS/oeacjeWKoeWQjuerr+WPr+S7peWumuWItuWuveW6puWkp+Wwj++8jOS4quaVsO+8jOe8qeaUvuavlOS+i+etie+8jOaJgOS7peS9jee9ruiwg+aVtOimgeagueaNruiuvue9rueahOWuveW6puadpeWumuOAguaKlumfs+S4jeaUr+aMge+8gVxyXG4gICAgICAgICAqIEBwYXJhbSBhZFVpZCDlub/lkYpVSUTvvIzlkI7nq6/phY3nva5cclxuICAgICAgICAgKiBAcGFyYW0gdG9wIOS7juW3puS4iuinkuW8gOWni++8jOi3neemu+Wxj+W5lemhtumDqOeahOi3neemu+OAguazqOaEj++8mui/meS4quaVsOaNruS4uuiuvuWkh+Wxj+W5leWuveW6pndpZHRo44CC5aaC5p6c6ZyA6KaB6I635Y+W5bGP5bmV55qE5YOP57Sg77yM6ZyA6KaB5LmY5Lul6K6+5aSH5YOP57Sg5q+UUGl4ZWwtUmF0aW/vvIzkvovlpoJpUGhvbmUgMTMgUHJv55qEUGl4ZWwtUmF0aW/kuLoz77yM5YOP57Sg5Li6V2lkdGgqM+OAglxyXG4gICAgICAgICAqIEBwYXJhbSBsZWZ0IOS7juW3puS4iuinkuW8gOWni++8jOi3neemu+Wxj+W5leacgOW3pui+ueeahOi3neemu+OAguazqOaEj++8mui/meS4quaVsOaNruS4uuiuvuWkh+Wxj+W5leWuveW6pndpZHRo44CC5aaC5p6c6ZyA6KaB6I635Y+W5bGP5bmV55qE5YOP57Sg77yM6ZyA6KaB5LmY5Lul6K6+5aSH5YOP57Sg5q+UUGl4ZWwtUmF0aW/vvIzkvovlpoJpUGhvbmUgMTMgUHJv55qEUGl4ZWwtUmF0aW/kuLoz77yM5YOP57Sg5Li6V2lkdGgqM+OAglxyXG4gICAgICAgICAqIEBwYXJhbSBzY2FsZSDljp/nlJ/mqKHmnb/lub/lkYrnmoTlsLrlr7jvvIzpu5jorqTkuLox77yM5Y2zMTAwJeOAguatpOWAvOWcqOW+ruS/oeacjeWKoeWQjuerr+W5v+WRiuS4reiOt+W+l++8jOm7mOiupOS4ujEwMCXvvIznm67liY3mnIkxMDAl77yMOTAl77yMODAl5LiJ56eN77yM5LiA6Iis5oOF5Ya15LiN55So5L+u5pS544CC6Iul5pyJ5L+u5pS577yM6K6w5b6X5Lyg5YWl5YC877yM5L6L5aaCOTAl5bCx5Lyg5YWlMC4544CCXHJcbiAgICAgICAgICovXHJcbiAgICAgICAgY29uc3RydWN0b3IoYWRVaWQ6IHN0cmluZywgdG9wOiBudW1iZXIgPSAwLCBsZWZ0OiBudW1iZXIgPSAwLCBzY2FsZTogbnVtYmVyID0gMS4wKSB7XHJcbiAgICAgICAgICAgIHRoaXMuX2FkVWlkID0gYWRVaWQ7XHJcbiAgICAgICAgICAgIHRoaXMuY3JlYXRlQ3VzdG9tQWQodG9wLCBsZWZ0LCBzY2FsZSk7XHJcbiAgICAgICAgfVxyXG5cclxuICAgICAgICBwcml2YXRlIGNyZWF0ZUN1c3RvbUFkKHRvcDogbnVtYmVyLCBsZWZ0OiBudW1iZXIsIHNjYWxlOiBudW1iZXIpIHtcclxuICAgICAgICAgICAgaWYgKCFpc1dlY2hhdCgpKSB7IC8vIG9ubHkgd2VjaGF0IHN1cHBvcnQgY3VzdG9tIGFkXHJcbiAgICAgICAgICAgICAgICB0aGlzLl9hZEN1c3RvbSA9IG51bGw7XHJcbiAgICAgICAgICAgICAgICBjb25zb2xlLmxvZygnT25seSB3ZWNoYXQgc3VwcG9ydCBDdXN0b20gQWQnKTtcclxuICAgICAgICAgICAgICAgIHJldHVybjtcclxuICAgICAgICAgICAgfVxyXG5cclxuICAgICAgICAgICAgdGhpcy5kZXN0cm95KCk7XHJcbiAgICAgICAgICAgIC8vIOWOn+eUn+aooeadvzXkuKrlupTnlKjlrr3luqbkuLozNzXvvIzoi6Xorr7nva7kuobnvKnmlL7mr5TkvovvvIzliJnlrr3luqbkuZ/pnIDopoHorr7nva5cclxuICAgICAgICAgICAgLy8gbGV0IHdpZHRoID0gMzc1ICogdGhpcy5fc2NhbGU7XHJcbiAgICAgICAgICAgIC8vIGxldCBuZXdMZWZ0ID0gKHN5cy53aW5kb3dXaWR0aCAtIHdpZHRoKSAvIDI7XHJcbiAgICAgICAgICAgIC8vIGxldCBuZXdUb3AgPSBzeXMud2luZG93SGVpZ2h0IC8gMjsgLy8gMTIw5piv6aKE5Lyw6auY5bqmXHJcblxyXG4gICAgICAgICAgICAvLyBAdHMtaWdub3JlXHJcbiAgICAgICAgICAgIHRoaXMuX2FkQ3VzdG9tID0gd3guY3JlYXRlQ3VzdG9tQWQoe1xyXG4gICAgICAgICAgICAgICAgYWRVbml0SWQ6IHRoaXMuX2FkVWlkLFxyXG4gICAgICAgICAgICAgICAgc3R5bGU6IHsgbGVmdDogbGVmdCwgdG9wOiB0b3AsIGZpeGVkOiB0cnVlIH1cclxuICAgICAgICAgICAgfSk7XHJcblxyXG4gICAgICAgICAgICB0aGlzLl9hZEN1c3RvbT8ub25FcnJvcigoZXJyOiBhbnkpID0+IHtcclxuICAgICAgICAgICAgICAgIGNvbnNvbGUubG9nKCdhZCBjdXN0b20gZXJyb3I6JywgZXJyKTtcclxuICAgICAgICAgICAgfSk7XHJcbiAgICAgICAgfVxyXG4gICAgICAgIHNob3coKSB7XHJcbiAgICAgICAgICAgIHRoaXMuX2FkQ3VzdG9tPy5zaG93KCk7XHJcbiAgICAgICAgfVxyXG5cclxuICAgICAgICBoaWRlKCkge1xyXG4gICAgICAgICAgICB0aGlzLl9hZEN1c3RvbT8uaGlkZSgpO1xyXG4gICAgICAgIH1cclxuXHJcbiAgICAgICAgZGVzdHJveSgpIHtcclxuICAgICAgICAgICAgdGhpcy5fYWRDdXN0b20/LmRlc3Ryb3koKTtcclxuICAgICAgICB9XHJcbiAgICB9XHJcblxyXG5cclxuICAgIC8qKlxyXG4gICAgICog6KeG6aKR5bm/5ZGK55So5oi354K55Ye76KGM5Li657uT5p6cXHJcbiAgICAgKi9cclxuICAgIGV4cG9ydCBlbnVtIEVBZFZpZGVvUmVzdWx0IHtcclxuICAgICAgICAvKipcclxuICAgICAgICAgKiDnlKjmiLfnnIvlrozkuoblub/lkYrvvIzmuLjmiI/lj6/lj5HmlL7lpZblirHjgIJcclxuICAgICAgICAgKi9cclxuICAgICAgICBBQ0NFUFQsXHJcblxyXG4gICAgICAgIC8qKlxyXG4gICAgICAgICAqIOeUqOaIt+S4remAlOWFs+mXreS6huW5v+WRiu+8jOWNs+acqueci+WujOeKtuaAgeOAguS4jeWPr+WPkeaUvuWlluWKseOAglxyXG4gICAgICAgICAqL1xyXG4gICAgICAgIFJFSkVDVCxcclxuXHJcbiAgICAgICAgLyoqXHJcbiAgICAgICAgICog5bm/5ZGK57uE5Lu25YaF6YOo5Y+R55Sf5LqG6ZSZ6K+v44CC5LiN5Y+v5Y+R5pS+5aWW5Yqx44CCXHJcbiAgICAgICAgICovXHJcbiAgICAgICAgRVJST1IsXHJcbiAgICB9XHJcblxyXG4gICAgY2xhc3MgQURWaWRlbyB7XHJcbiAgICAgICAgcHJpdmF0ZSBfYWRVaWQ6IHN0cmluZztcclxuICAgICAgICBwcml2YXRlIF9hZFZpZGVvOiBhbnkgPSBudWxsO1xyXG5cclxuICAgICAgICBnZXQgYWR1aWQoKSB7XHJcbiAgICAgICAgICAgIHJldHVybiB0aGlzLl9hZFVpZDtcclxuICAgICAgICB9XHJcblxyXG4gICAgICAgIGNvbnN0cnVjdG9yKGFkVWlkOiBzdHJpbmcpIHtcclxuICAgICAgICAgICAgdGhpcy5fYWRVaWQgPSBhZFVpZDtcclxuICAgICAgICB9XHJcblxyXG4gICAgICAgIC8qKlxyXG4gICAgICAgICAqIOeUseS6juW+ruS/oeWSjOaKlumfs+inhumikeW5v+WRiuacuuWItuS4jeWQjO+8jOW+ruS/oeWPr+S7peeci+eahOinhumikeW5v+WRiuS4quaVsOWPquaciTDlkowx5Liq77yM5oqW6Z+z5bmz5Y+w5YiZ5Y+v5Lul55yLMH5tYXhWaWRlb0NvdW50XHJcbiAgICAgICAgICogQHBhcmFtIG9uUmVzdWx0IOS4pOS4quWPguaVsO+8muesrOS4gOS4qnJlc+aYr0VBZFZpZGVvUmVzdWx05a6a5LmJ77yM56ys5LqMY291bnTmmK/nlKjmiLfnnIvkuoblpJrlsJHkuKrop4bpopHlub/lkYrjgIJcclxuICAgICAgICAgKiBAcGFyYW0gdGFyZ2V0IG9uUmVzdWx055qE5oul5pyJ6ICFXHJcbiAgICAgICAgICogQHBhcmFtIG1heFZpZGVvQ291bnQg5Y+v5Lul6L+e57ut55yL5pyA5aSn6KeG6aKR5Liq5pWw77yM5Y+v5pyA5aSn5YyW5ZWG5Lia5pWI546H44CC6buY6K6k5Li6M+S4quOAglxyXG4gICAgICAgICAqIEByZXR1cm5zIFxyXG4gICAgICAgICAqL1xyXG4gICAgICAgIHNob3cob25SZXN1bHQ6IChyZXM6IEVBZFZpZGVvUmVzdWx0LCBjb3VudDogbnVtYmVyKSA9PiB2b2lkLCB0YXJnZXQ/OiBhbnksIG1heFZpZGVvQ291bnQ6IG51bWJlciA9IDMpOiB2b2lkIHtcclxuICAgICAgICAgICAgbGV0IGNhbGxiYWNrID0gKHN0YXRlOiBFQWRWaWRlb1Jlc3VsdCwgY291bnQ6IG51bWJlcikgPT4ge1xyXG4gICAgICAgICAgICAgICAgb25SZXN1bHQ/LmNhbGwodGFyZ2V0LCBzdGF0ZSwgY291bnQpO1xyXG4gICAgICAgICAgICB9XHJcblxyXG4gICAgICAgICAgICBpZiAoIWlzV2VjaGF0KCkgJiYgIWlzQnl0ZWRhbmNlKCkpIHtcclxuICAgICAgICAgICAgICAgIGNhbGxiYWNrKEVBZFZpZGVvUmVzdWx0LkFDQ0VQVCwgMSk7XHJcbiAgICAgICAgICAgICAgICB0aGlzLl9hZFZpZGVvID0gbnVsbDtcclxuICAgICAgICAgICAgICAgIHJldHVybjtcclxuICAgICAgICAgICAgfVxyXG5cclxuICAgICAgICAgICAgbGV0IG9uQWRWaWRlb0Nsb3NlZCA9IChyZXM6IGFueSkgPT4ge1xyXG4gICAgICAgICAgICAgICAgdGhpcy5fYWRWaWRlbz8ub2ZmQ2xvc2Uob25BZFZpZGVvQ2xvc2VkKTtcclxuICAgICAgICAgICAgICAgIGlmIChpc1dlY2hhdCgpKSB7XHJcbiAgICAgICAgICAgICAgICAgICAgaWYgKHJlcyAmJiByZXMuaXNFbmRlZCB8fCByZXMgPT09IHVuZGVmaW5lZCkge1xyXG4gICAgICAgICAgICAgICAgICAgICAgICBjYWxsYmFjayhFQWRWaWRlb1Jlc3VsdC5BQ0NFUFQsIDEpO1xyXG4gICAgICAgICAgICAgICAgICAgIH0gZWxzZSB7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIGNhbGxiYWNrKEVBZFZpZGVvUmVzdWx0LlJFSkVDVCwgMCk7XHJcbiAgICAgICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgfSBlbHNlIGlmIChpc0J5dGVkYW5jZSgpKSB7XHJcbiAgICAgICAgICAgICAgICAgICAgbGV0IHJlc0NvbnZlcnRlZCA9IHJlcyBhcyB7IGlzRW5kZWQ6IGJvb2xlYW4sIGNvdW50OiBudW1iZXIgfTtcclxuICAgICAgICAgICAgICAgICAgICBpZiAocmVzQ29udmVydGVkICYmIHJlc0NvbnZlcnRlZC5jb3VudCA+IDApIHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgY2FsbGJhY2soRUFkVmlkZW9SZXN1bHQuQUNDRVBULCByZXNDb252ZXJ0ZWQuY291bnQpO1xyXG4gICAgICAgICAgICAgICAgICAgIH0gZWxzZSB7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIGNhbGxiYWNrKEVBZFZpZGVvUmVzdWx0LlJFSkVDVCwgMCk7XHJcbiAgICAgICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICB9XHJcblxyXG4gICAgICAgICAgICB0aGlzLl9hZFZpZGVvPy5vZmZDbG9zZShvbkFkVmlkZW9DbG9zZWQpO1xyXG5cclxuICAgICAgICAgICAgaWYgKGlzV2VjaGF0KCkpIHtcclxuICAgICAgICAgICAgICAgIC8vIEB0cy1pZ25vcmVcclxuICAgICAgICAgICAgICAgIHRoaXMuX2FkVmlkZW8gPSB3eC5jcmVhdGVSZXdhcmRlZFZpZGVvQWQoe1xyXG4gICAgICAgICAgICAgICAgICAgIGFkVW5pdElkOiB0aGlzLl9hZFVpZFxyXG4gICAgICAgICAgICAgICAgfSk7XHJcbiAgICAgICAgICAgIH0gZWxzZSBpZiAoaXNCeXRlZGFuY2UoKSkge1xyXG4gICAgICAgICAgICAgICAgLy8gQHRzLWlnbm9yZVxyXG4gICAgICAgICAgICAgICAgdGhpcy5fYWRWaWRlbyA9IHR0LmNyZWF0ZVJld2FyZGVkVmlkZW9BZCh7XHJcbiAgICAgICAgICAgICAgICAgICAgYWRVbml0SWQ6IHRoaXMuX2FkVWlkLFxyXG4gICAgICAgICAgICAgICAgICAgIG11bHRpdG9uOiB0cnVlLFxyXG4gICAgICAgICAgICAgICAgICAgIG11bHRpdG9uUmV3YXJkTXNnOiBbJ+WkmjHmrKHlpZblirEnLCAn5YaN5aSa5LiA5qyh5aWW5YqxJywgJ+WGjeWkmuS4gOasoeWlluWKsSddLFxyXG4gICAgICAgICAgICAgICAgICAgIG11bHRpdG9uUmV3YXJkVGltZXM6IG1heFZpZGVvQ291bnQsXHJcbiAgICAgICAgICAgICAgICB9KTtcclxuICAgICAgICAgICAgfSBlbHNlIHtcclxuICAgICAgICAgICAgICAgIHRoaXMuX2FkVmlkZW8gPSBudWxsO1xyXG4gICAgICAgICAgICB9XHJcblxyXG5cclxuICAgICAgICAgICAgdGhpcy5fYWRWaWRlbz8ub25Mb2FkKCgpID0+IHtcclxuICAgICAgICAgICAgICAgIGNvbnNvbGUubG9nKCdBZCBsb2FkIHN1Y2Nlc3MnKTtcclxuICAgICAgICAgICAgfSk7XHJcblxyXG4gICAgICAgICAgICB0aGlzLl9hZFZpZGVvPy5vbkVycm9yKChlcnI6IHsgZXJyTXNnOiBzdHJpbmcsIGVyckNvZGU6IG51bWJlciB9KSA9PiB7XHJcbiAgICAgICAgICAgICAgICBjb25zb2xlLmxvZygnQWQgdmlkZW8gZXJyb3I6JywgZXJyKTtcclxuICAgICAgICAgICAgICAgIGNhbGxiYWNrKEVBZFZpZGVvUmVzdWx0LkVSUk9SLCAwKTtcclxuICAgICAgICAgICAgfSk7XHJcblxyXG4gICAgICAgICAgICB0aGlzLl9hZFZpZGVvPy5vbkNsb3NlKG9uQWRWaWRlb0Nsb3NlZCk7XHJcblxyXG4gICAgICAgICAgICB0aGlzLl9hZFZpZGVvPy5zaG93KCkuY2F0Y2goKCkgPT4ge1xyXG4gICAgICAgICAgICAgICAgdGhpcy5fYWRWaWRlbz8ubG9hZCgpLnRoZW4oKCkgPT5cclxuICAgICAgICAgICAgICAgICAgICB0aGlzLl9hZFZpZGVvPy5zaG93KCkpLmNhdGNoKChlcnI6IHsgZXJyTXNnOiBzdHJpbmcsIGVyckNvZGU6IG51bWJlciB9KSA9PiB7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIGNvbnNvbGUubG9nKCdDYXRjaCB2aWRlbyBhZCBlcnJvcjonLCBlcnIpO1xyXG4gICAgICAgICAgICAgICAgICAgICAgICBjYWxsYmFjayhFQWRWaWRlb1Jlc3VsdC5FUlJPUiwgMCk7XHJcbiAgICAgICAgICAgICAgICAgICAgfSk7XHJcbiAgICAgICAgICAgIH0pO1xyXG4gICAgICAgIH1cclxuXHJcbiAgICAgICAgZGVzdG9yeSgpIHtcclxuICAgICAgICAgICAgdGhpcy5fYWRWaWRlbz8uZGVzdG9yeSgpO1xyXG4gICAgICAgIH1cclxuICAgIH1cclxuXHJcbiAgICBleHBvcnQgZW51bSBFQWRCYW5uZXJMb2NhdGlvbiB7XHJcbiAgICAgICAgLyoqXHJcbiAgICAgICAgICog5bGP5bmV6aG26YOoXHJcbiAgICAgICAgICovXHJcbiAgICAgICAgVE9QLFxyXG5cclxuICAgICAgICAvKipcclxuICAgICAgICAgKiDlsY/luZXlupXpg6hcclxuICAgICAgICAgKi9cclxuICAgICAgICBCT1RUT00sXHJcbiAgICB9XHJcblxyXG4gICAgZXhwb3J0IGNsYXNzIEFkdmVydE1hbmFnZXIge1xyXG5cclxuICAgICAgICBwcml2YXRlIHN0YXRpYyBfaW5zdGFuY2U6IEFkdmVydE1hbmFnZXI7XHJcblxyXG4gICAgICAgIHN0YXRpYyBnZXQgaW5zdGFuY2UoKTogQWR2ZXJ0TWFuYWdlciB7XHJcbiAgICAgICAgICAgIGlmICghQWR2ZXJ0TWFuYWdlci5faW5zdGFuY2UpIHtcclxuICAgICAgICAgICAgICAgIEFkdmVydE1hbmFnZXIuX2luc3RhbmNlID0gbmV3IEFkdmVydE1hbmFnZXIoKTtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICByZXR1cm4gQWR2ZXJ0TWFuYWdlci5faW5zdGFuY2U7XHJcbiAgICAgICAgfVxyXG5cclxuICAgICAgICBwcml2YXRlIF92aWRlbzogQURWaWRlbztcclxuICAgICAgICBwcml2YXRlIF9pbnRlcnN0aXRpYWw6IEFESW50ZXJzdGl0aWFsO1xyXG4gICAgICAgIHByaXZhdGUgX2Jhbm5lcjogQURCYW5uZXI7XHJcbiAgICAgICAgcHJpdmF0ZSBfY3VzdG9tczogUmVjb3JkPHN0cmluZywgQURDdXN0b20+ID0ge307XHJcblxyXG4gICAgICAgIHByaXZhdGUgY29uc3RydWN0b3IoKSB7XHJcblxyXG4gICAgICAgIH1cclxuXHJcbiAgICAgICAgLyoqXHJcbiAgICAgICAgICog6aKE5Yqg6L295qiq5bmF5bm/5ZGK77yM5LiN5Lya5pi+56S644CC5Y+q5pyJ5L2g5Zyo6LCD55Soc2hvd0Jhbm5lcuaXtuaJjeS8muaYvuekuuOAglxyXG4gICAgICAgICAqIOWPr+mHjeWkjeiwg+eUqO+8jOS9huaYr+S8mumUgOavgeS4iuS4gOasoeeahOWunuS+i+OAguS4gOiIrOaDheWGte+8jOWFqOWxgOacieS4gOS4quWwseihjOS6hu+8jOWkquWkmuWNoOeUqOWGheWtmO+8jOiAjOS4lOayoeW/heimgeOAglxyXG4gICAgICAgICAqIEBwYXJhbSBhZFVpZCDlub/lkYpVSURcclxuICAgICAgICAgKiBAcGFyYW0gbG9jYXRpb24g5L2N572u5pyJ5Lik56eN5oOF5Ya177yaMeOAgeWPr+S7peS8oOWFpeaemuS4vuWAvO+8jOm7mOiupOS4iuaWuTsgMuOAgeWPr+S7peiHquWumuS5ieS9jee9ruS8oOWFpUlQb3NpdGlvbu+8jOazqOaEj0lQb3NpdGlvbuS4reeahHRvcOWSjGxlZnTot5/lubPlj7DnmoR0b3AsbGVmdOaYr+S4gOiHtO+8iOayoeacieS5mOS7peiuvuWkh+WDj+e0oOavlHJhdGlv77yJ77yM6ZyA6KaB5byA5Y+R6ICF6Ieq5bex6LCD6K+V5L2N572uXHJcbiAgICAgICAgICogQHBhcmFtIHNjYWxlIOm7mOiupOS4uui3n+Wxj+W5leS4gOagt+eahOWuveW6pu+8jOWPr+S7pemAmui/h+iuvue9rue8qeaUvuavlOS+i+adpeiwg+aVtOWkp+Wwj+OAguW9k+eEtu+8jOW5s+WPsOacieinhOWumuacgOWkp+aIluacgOWwj+WuveW6pu+8jOWHveaVsOWGhemDqOS8muiHquWKqOiuoeeul+OAglxyXG4gICAgICAgICAqL1xyXG4gICAgICAgIHB1YmxpYyBsb2FkQmFubmVyKGFkVWlkOiBzdHJpbmcsIGxvY2F0aW9uOiBFQWRCYW5uZXJMb2NhdGlvbiB8IElQb3NpdGlvbiA9IEVBZEJhbm5lckxvY2F0aW9uLlRPUCwgc2NhbGU6IG51bWJlciA9IDEuMCkge1xyXG4gICAgICAgICAgICB0aGlzLl9iYW5uZXI/LmRlc3Ryb3koKTtcclxuICAgICAgICAgICAgbGV0IHNpemU6IElTaXplID0gZ2V0U3lzV2luU2l6ZSgpO1xyXG4gICAgICAgICAgICAvLyDlvZMgc3R5bGUud2lkdGgg5bCP5LqOIDMwMCDml7bvvIzkvJrlj5bkvZwgMzAw44CCIOW9kyBzdHlsZS53aWR0aCDlpKfkuo7lsY/luZXlrr3luqbml7bvvIzkvJrlj5bkvZzlsY/luZXlrr3luqbjgIJcclxuICAgICAgICAgICAgbGV0IHdpZHRoID0gc2l6ZS53aWR0aCAqIHNjYWxlO1xyXG4gICAgICAgICAgICB3aWR0aCA9IHdpZHRoIDwgMzAwID8gMzAwIDogd2lkdGg7IC8vIOacgOWwj+WAvOefq+ato1xyXG4gICAgICAgICAgICB3aWR0aCA9IHdpZHRoID4gc2l6ZS53aWR0aCA/IHNpemUud2lkdGggOiB3aWR0aDsgLy/mnIDlpKflgLznn6vmraNcclxuICAgICAgICAgICAgdGhpcy5fYmFubmVyID0gdHlwZW9mIGxvY2F0aW9uID09PSAnbnVtYmVyJyA/IG5ldyBBREJhbm5lcihhZFVpZCwgbG9jYXRpb24gPT09IEVBZEJhbm5lckxvY2F0aW9uLlRPUCwgd2lkdGgsIGZhbHNlKSA6IG5ldyBBREJhbm5lcihhZFVpZCwgbG9jYXRpb24sIHdpZHRoLCBmYWxzZSk7XHJcbiAgICAgICAgfVxyXG5cclxuICAgICAgICAvKipcclxuICAgICAgICAgKiDmmL7npLrmqKrluYXlub/lkYpcclxuICAgICAgICAgKi9cclxuICAgICAgICBwdWJsaWMgc2hvd0Jhbm5lcigpIHtcclxuICAgICAgICAgICAgaWYgKHRoaXMuX2Jhbm5lcikge1xyXG4gICAgICAgICAgICAgICAgdGhpcy5fYmFubmVyLnNob3coKTtcclxuICAgICAgICAgICAgfSBlbHNlIHtcclxuICAgICAgICAgICAgICAgIGNvbnNvbGUud2FybignTWluaUdhbWVTREs6IGJhbm5lciBpcyBudWxsLCB5b3UgbXVzdCBjYWxsIGxvYWRCYW5uZXIoLi4uKSBmaXJzdCEnKTtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuXHJcbiAgICAgICAgLyoqXHJcbiAgICAgICAgICog6ZqQ6JeP5qiq5bmF5bm/5ZGKXHJcbiAgICAgICAgICovXHJcbiAgICAgICAgcHVibGljIGhpZGVCYW5uZXIoKSB7XHJcbiAgICAgICAgICAgIHRoaXMuX2Jhbm5lcj8uaGlkZSgpO1xyXG4gICAgICAgIH1cclxuXHJcbiAgICAgICAgLyoqXHJcbiAgICAgICAgICog5by55Ye65o+S5bGP5bm/5ZGKXHJcbiAgICAgICAgICogQHBhcmFtIGFkVWlkIOW5v+WRiuWNleWFg2lkXHJcbiAgICAgICAgICovXHJcbiAgICAgICAgcHVibGljIHNob3dJbnRlcnN0aXRpYWwoYWRVaWQ6IHN0cmluZykge1xyXG4gICAgICAgICAgICBpZiAodGhpcy5faW50ZXJzdGl0aWFsICYmIHRoaXMuX2ludGVyc3RpdGlhbC5hZHVpZCA9PT0gYWRVaWQpIHtcclxuICAgICAgICAgICAgICAgIHRoaXMuX2ludGVyc3RpdGlhbC5zaG93KCk7XHJcbiAgICAgICAgICAgIH0gZWxzZSB7XHJcbiAgICAgICAgICAgICAgICB0aGlzLl9pbnRlcnN0aXRpYWw/LmRlc3RvcnkoKTtcclxuICAgICAgICAgICAgICAgIHRoaXMuX2ludGVyc3RpdGlhbCA9IG5ldyBBREludGVyc3RpdGlhbChhZFVpZCk7XHJcbiAgICAgICAgICAgICAgICB0aGlzLl9pbnRlcnN0aXRpYWwuc2hvdygpO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG5cclxuICAgICAgICAvKipcclxuICAgICAgICAgKiDliqDovb3ljp/nlJ/mqKHmnb/lub/lkYrvvIzkuI3kvJrmmL7npLrjgILlj6rmnInkvaDlnKjosIPnlKhzaG93Q3VzdG9t5pe25omN5Lya5pi+56S644CCXHJcbiAgICAgICAgICog55Sx5LqO5Y6f55Sf5qih5p2/5bm/5ZGK5Zyo5b6u5L+h5pyN5Yqh5ZCO56uv5Y+v5Lul5a6a5Yi25a695bqm5aSn5bCP77yM5Liq5pWw77yM57yp5pS+5q+U5L6L562J77yM5omA5Lul5L2N572u6LCD5pW06KaB5qC55o2u6K6+572u55qE5a695bqm5p2l5a6a44CC5oqW6Z+z5LiN5pSv5oyB5pys5Ye95pWw77yM5Lya6LCD55So5peg5pWI77yBXHJcbiAgICAgICAgICogQHBhcmFtIGFkVWlkIOW5v+WRiklEXHJcbiAgICAgICAgICogQHBhcmFtIGxvY2F0aW9uIOS9jee9ruacieS4pOenjeaDheWGte+8mjHjgIHlj6/ku6XkvKDlhaXmnprkuL7lgLzvvIzpu5jorqTkuIrmlrk7IDLjgIHlj6/ku6Xoh6rlrprkuYnkvY3nva7kvKDlhaVJUG9zaXRpb27vvIzms6jmhI9JUG9zaXRpb27kuK3nmoR0b3DlkoxsZWZ06Lef5bmz5Y+w55qEdG9wLGxlZnTmmK/kuIDoh7TvvIjmsqHmnInkuZjku6Xorr7lpIflg4/ntKDmr5RyYXRpb++8ie+8jOmcgOimgeW8gOWPkeiAheiHquW3seiwg+ivleS9jee9rlxyXG4gICAgICAgICAqIEBwYXJhbSBzY2FsZSDnvKnmlL7mr5TkvovvvIzpu5jorqTmmK8x77yM5Y2z5LiN57yp5pS+44CC6L+Z5Liq57yp5pS+5bm25LiN5piv6Ieq5bex5aGr77yM6ICM5piv5qC55o2u5b6u5L+hTVDlkI7lj7DkvaDphY3nva7nmoTljp/nlJ/mqKHmnb/lub/lkYrnmoTnvKnmlL7mr5TkvovloavvvIznm67liY3mnIkxMDAl77yMOTAl77yMODAl5LiJ56eN77yM5LiA6Iis5oOF5Ya15LiN55So5L+u5pS544CC6Iul5pyJ5ZCO5Y+w5L+u5pS577yM6K6w5b6X5Lyg5YWl5YC877yM5L6L5aaCOTAl5bCx5Lyg5YWlMC4544CCXHJcbiAgICAgICAgICovXHJcbiAgICAgICAgcHVibGljIGxvYWRDdXN0b20oYWRVaWQ6IHN0cmluZywgbG9jYXRpb246IElQb3NpdGlvbiA9IHsgdG9wOiAwLCBsZWZ0OiAwIH0sIHNjYWxlOiBudW1iZXIgPSAxKSB7XHJcbiAgICAgICAgICAgIC8vIHRoaXMuX2N1c3RvbT8uZGVzdHJveSgpO1xyXG4gICAgICAgICAgICAvLyB0aGlzLl9jdXN0b20gPSBuZXcgQURDdXN0b20oYWRVaWQsIGxvY2F0aW9uLnRvcCwgbG9jYXRpb24ubGVmdCwgc2NhbGUpO1xyXG4gICAgICAgICAgICBpZiAodGhpcy5fY3VzdG9tc1thZFVpZF0pIHtcclxuICAgICAgICAgICAgICAgIGNvbnNvbGUubG9nKGAke2FkVWlkfSBoYXMgYmVlbiBsb2FkZWQuYCk7XHJcbiAgICAgICAgICAgICAgICByZXR1cm47XHJcbiAgICAgICAgICAgIH1cclxuXHJcbiAgICAgICAgICAgIHRoaXMuX2N1c3RvbXNbYWRVaWRdID0gbmV3IEFEQ3VzdG9tKGFkVWlkLCBsb2NhdGlvbi50b3AsIGxvY2F0aW9uLmxlZnQsIHNjYWxlKTtcclxuICAgICAgICB9XHJcblxyXG4gICAgICAgIC8qKlxyXG4gICAgICAgICAqIOaYvuekuuiHquWumuS5ieW5v+WRiuOAglxyXG4gICAgICAgICAqIEBwYXJhbSBhZFVpZCDlub/lkYrnmoTllK/kuIDmoIfor4bnrKbjgILkvb/nlKjmraTmoIfor4bnrKbmnaXmn6Xmib7lkozmmL7npLrnibnlrprnmoToh6rlrprkuYnlub/lkYrjgIJcclxuICAgICAgICAgKiBcclxuICAgICAgICAgKiDmraTmlrnms5XlsJ3or5XmoLnmja7mj5DkvpvnmoRhZFVpZOaYvuekuuS4gOS4quiHquWumuS5ieW5v+WRiuOAguWmguaenOe7meWumueahGFkVWlk5a+55bqU55qE6Ieq5a6a5LmJ5bm/5ZGK5bey5Yqg6L2977yMXHJcbiAgICAgICAgICog5YiZ6LCD55So6K+l5bm/5ZGK55qE5pi+56S65pa55rOV44CC5aaC5p6c5bm/5ZGK5pyq5Yqg6L2977yM5YiZ5Zyo5o6n5Yi25Y+w6L6T5Ye66K2m5ZGK5L+h5oGv44CCXHJcbiAgICAgICAgICovXHJcbiAgICAgICAgcHVibGljIHNob3dDdXN0b20oYWRVaWQ6IHN0cmluZykge1xyXG4gICAgICAgICAgICBpZiAodGhpcy5fY3VzdG9tc1thZFVpZF0pIHtcclxuICAgICAgICAgICAgICAgIHRoaXMuX2N1c3RvbXNbYWRVaWRdLnNob3coKTtcclxuICAgICAgICAgICAgfSBlbHNlIHtcclxuICAgICAgICAgICAgICAgIGNvbnNvbGUud2FybihgWW91IGhhdmUgbm90IGxvYWQgJHthZFVpZH0gb2YgQ3VzdG9tIEFELCBjYW4gbm90IHNob3chYCk7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcblxyXG4gICAgICAgIC8qKlxyXG4gICAgICAgICAqIOmakOiXj+aMh+WumueahOiHquWumuS5ieW5v+WRiuWNleWFg1xyXG4gICAgICAgICAqIFxyXG4gICAgICAgICAqIOatpOaWueazleeUqOS6jumakOiXj+mAmui/h+W5v+WRiuWNleWFg+agh+ivhuespu+8iGFkVWlk77yJ5oyH5a6a55qE6Ieq5a6a5LmJ5bm/5ZGK44CC5aaC5p6c5oyH5a6a55qE5bm/5ZGK5Y2V5YWD5bey5Yqg6L295bm25pi+56S677yMXHJcbiAgICAgICAgICog5YiZ5bCG5YW26ZqQ6JeP77yb5aaC5p6c5bm/5ZGK5Y2V5YWD5pyq5Yqg6L2977yM5YiZ5Zyo5o6n5Yi25Y+w6L6T5Ye66K2m5ZGK5L+h5oGv44CCXHJcbiAgICAgICAgICogXHJcbiAgICAgICAgICogQHBhcmFtIGFkVWlkIOW5v+WRiuWNleWFg+agh+ivhuespu+8jOeUqOS6juWUr+S4gOagh+ivhuS4gOS4quiHquWumuS5ieW5v+WRiuWNleWFg+OAglxyXG4gICAgICAgICAqL1xyXG4gICAgICAgIHB1YmxpYyBoaWRlQ3VzdG9tKGFkVWlkOiBzdHJpbmcpIHtcclxuICAgICAgICAgICAgaWYgKHRoaXMuX2N1c3RvbXNbYWRVaWRdKSB7XHJcbiAgICAgICAgICAgICAgICB0aGlzLl9jdXN0b21zW2FkVWlkXS5oaWRlKCk7XHJcbiAgICAgICAgICAgIH0gZWxzZSB7XHJcbiAgICAgICAgICAgICAgICBjb25zb2xlLndhcm4oYFlvdSBoYXZlIG5vdCBsb2FkICR7YWRVaWR9IG9mIEN1c3RvbSBBRCwgY2FuIG5vdCBoaWRlIWApO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG5cclxuICAgICAgICAvKipcclxuICAgICAgICAgKiDnlLHkuo7lvq7kv6Hlkozmipbpn7Pop4bpopHlub/lkYrmnLrliLbkuI3lkIzvvIzlvq7kv6Hlj6/ku6XnnIvnmoTop4bpopHlub/lkYrkuKrmlbDlj6rmnIkw5ZKMMeS4qu+8jOaKlumfs+W5s+WPsOWImeWPr+S7peecizB+bWF4VmlkZW9Db3VudFxyXG4gICAgICAgICAqIEBwYXJhbSBhZFVpZCDlub/lkYpJROOAguWmguaenOS4juS4iuS4gOasoVVJROS4jeWQjO+8jOWImeWGhemDqOS8mumHjeaWsOWIm+W7uuWunuS+i+OAguW8gOWPkeiAheWujOWFqOS4jeeUqOWFs+W/g+i/meS4que7huiKguOAglxyXG4gICAgICAgICAqIEBwYXJhbSBvblZpZGVvUmVzdWx0IOS4pOS4quWPguaVsO+8muesrOS4gOS4qnJlc+aYr0VBZFZpZGVvUmVzdWx05a6a5LmJ77yM56ys5LqMY291bnTmmK/nlKjmiLfnnIvkuoblpJrlsJHkuKrop4bpopHlub/lkYrjgIIgXHJcbiAgICAgICAgICogQHBhcmFtIHRhcmdldCBvblZpZGVvUmVzdWx055qE5oul5pyJ6ICFXHJcbiAgICAgICAgICogQHBhcmFtIG1heFZpZGVvQ291bnQg5pyA5aSn6KeG6aKR5Liq5pWw44CC6buY6K6k5pivM++8jOS7heWvueaKlumfs+W5s+WPsOeUn+aViOOAguW+ruS/oeW5s+WPsOeci+WujOinhumikWNvdW5055qE57uT5p6c5rC46L+c5pivMeaIljBcclxuICAgICAgICAgKi9cclxuICAgICAgICBwdWJsaWMgc2hvd1ZpZGVvKGFkVWlkOiBzdHJpbmcsIG9uVmlkZW9SZXN1bHQ6IChyZXM6IEVBZFZpZGVvUmVzdWx0LCBjb3VudDogbnVtYmVyKSA9PiB2b2lkLCB0YXJnZXQ/OiBhbnksIG1heFZpZGVvQ291bnQ6IG51bWJlciA9IDMpIHtcclxuICAgICAgICAgICAgaWYgKHRoaXMuX3ZpZGVvICYmIHRoaXMuX3ZpZGVvLmFkdWlkID09PSBhZFVpZCkge1xyXG4gICAgICAgICAgICAgICAgdGhpcy5fdmlkZW8uc2hvdyhvblZpZGVvUmVzdWx0LCB0YXJnZXQsIG1heFZpZGVvQ291bnQpO1xyXG4gICAgICAgICAgICB9IGVsc2Uge1xyXG4gICAgICAgICAgICAgICAgdGhpcy5fdmlkZW8/LmRlc3RvcnkoKTtcclxuICAgICAgICAgICAgICAgIHRoaXMuX3ZpZGVvID0gbmV3IEFEVmlkZW8oYWRVaWQpO1xyXG4gICAgICAgICAgICAgICAgdGhpcy5fdmlkZW8uc2hvdyhvblZpZGVvUmVzdWx0LCB0YXJnZXQsIG1heFZpZGVvQ291bnQpO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG5cclxuICAgICAgICAvKipcclxuICAgICAgICAgKiDplIDmr4HlhoXpg6jmiYDmnInlrp7kvovvvIzmuIXnqbrlhoXlrZhcclxuICAgICAgICAgKi9cclxuICAgICAgICBwdWJsaWMgZGVzdHJveUFsbCgpIHtcclxuICAgICAgICAgICAgdGhpcy5fYmFubmVyPy5kZXN0cm95KCk7XHJcbiAgICAgICAgICAgIHRoaXMuX2Jhbm5lciA9IG51bGw7XHJcblxyXG4gICAgICAgICAgICB0aGlzLl9pbnRlcnN0aXRpYWw/LmRlc3RvcnkoKTtcclxuICAgICAgICAgICAgdGhpcy5faW50ZXJzdGl0aWFsID0gbnVsbDtcclxuXHJcbiAgICAgICAgICAgIHRoaXMuX3ZpZGVvPy5kZXN0b3J5KCk7XHJcbiAgICAgICAgICAgIHRoaXMuX3ZpZGVvID0gbnVsbDtcclxuXHJcbiAgICAgICAgICAgIGlmICh0aGlzLl9jdXN0b21zKSB7XHJcbiAgICAgICAgICAgICAgICBmb3IgKGxldCB2YWwgaW4gdGhpcy5fY3VzdG9tcykge1xyXG4gICAgICAgICAgICAgICAgICAgIHRoaXMuX2N1c3RvbXNbdmFsXT8uZGVzdHJveSgpO1xyXG4gICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgdGhpcy5fY3VzdG9tcyA9IHt9O1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG5cclxuICAgIGV4cG9ydCBlbnVtIEVHYW1lQ2x1Ykljb24ge1xyXG4gICAgICAgIC8qKiDnu7/oibLlm77moIcgKi9cclxuICAgICAgICBHUkVFTiA9ICdncmVlbicsXHJcblxyXG4gICAgICAgIC8qKiDnuqLoibLlm77moIcgKi9cclxuICAgICAgICBXSElURSA9ICd3aGl0ZScsXHJcblxyXG4gICAgICAgIC8qKiDmnInpu5HoibLlnIbop5Log4zmma/nmoTnmb3oibLlm77moIcgKi9cclxuICAgICAgICBEQVJLID0gJ2RhcmsnLFxyXG5cclxuICAgICAgICAvKiog5pyJ55m96Imy5ZyG6KeS6IOM5pmv55qE57u/6Imy5Zu+5qCHICovXHJcbiAgICAgICAgTElHSFQgPSAnbGlnaHQnXHJcbiAgICB9XHJcblxyXG4gICAgZXhwb3J0IGNsYXNzIEdhbWVDbHViIHtcclxuICAgICAgICBwcml2YXRlIHN0YXRpYyBfaW5zdGFuY2U6IEdhbWVDbHViO1xyXG5cclxuICAgICAgICBzdGF0aWMgZ2V0IGluc3RhbmNlKCk6IEdhbWVDbHViIHtcclxuICAgICAgICAgICAgaWYgKCF0aGlzLl9pbnN0YW5jZSkge1xyXG4gICAgICAgICAgICAgICAgdGhpcy5faW5zdGFuY2UgPSBuZXcgR2FtZUNsdWIoKTtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICByZXR1cm4gdGhpcy5faW5zdGFuY2U7XHJcbiAgICAgICAgfVxyXG5cclxuICAgICAgICBwcml2YXRlIF9jbHViOiBhbnk7XHJcblxyXG4gICAgICAgIHByaXZhdGUgY29uc3RydWN0b3IoKSB7XHJcblxyXG4gICAgICAgIH1cclxuXHJcbiAgICAgICAgLyoqXHJcbiAgICAgICAgICog5Yib5bu65ri45oiP5ZyI5oyJ6ZKuXHJcbiAgICAgICAgICogQHBhcmFtIGljb24gXHJcbiAgICAgICAgICogQHBhcmFtIHBvc2l0aW9uIFxyXG4gICAgICAgICAqIEBwYXJhbSBzaXplIFxyXG4gICAgICAgICAqIEBwYXJhbSBvcGVuTGluayBcclxuICAgICAgICAgKi9cclxuICAgICAgICBjcmVhdGUoaWNvbjogRUdhbWVDbHViSWNvbiA9IEVHYW1lQ2x1Ykljb24uR1JFRU4sIHBvc2l0aW9uOiBJUG9zaXRpb24gPSB7IHRvcDogMCwgbGVmdDogMCB9LCBzaXplOiBJU2l6ZSA9IHsgd2lkdGg6IDQwLCBoZWlnaHQ6IDQwIH0sIG9wZW5MaW5rPzogc3RyaW5nKSB7XHJcbiAgICAgICAgICAgIGlmIChpc1dlY2hhdCgpKSB7XHJcbiAgICAgICAgICAgICAgICAvLyBAdHMtaWdub3JlXHJcbiAgICAgICAgICAgICAgICB0aGlzLl9jbHViID0gd3guY3JlYXRlR2FtZUNsdWJCdXR0b24oe1xyXG4gICAgICAgICAgICAgICAgICAgIGljb246IGljb24sXHJcbiAgICAgICAgICAgICAgICAgICAgc3R5bGU6IHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgbGVmdDogcG9zaXRpb24ubGVmdCxcclxuICAgICAgICAgICAgICAgICAgICAgICAgdG9wOiBwb3NpdGlvbi50b3AsXHJcbiAgICAgICAgICAgICAgICAgICAgICAgIHdpZHRoOiBzaXplLndpZHRoLFxyXG4gICAgICAgICAgICAgICAgICAgICAgICBoZWlnaHQ6IHNpemUuaGVpZ2h0XHJcbiAgICAgICAgICAgICAgICAgICAgfSxcclxuICAgICAgICAgICAgICAgICAgICBvcGVubGluazogb3BlbkxpbmtcclxuICAgICAgICAgICAgICAgIH0pO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG5cclxuICAgICAgICBzaG93KCkge1xyXG4gICAgICAgICAgICB0aGlzLl9jbHViPy5zaG93KCk7XHJcbiAgICAgICAgfVxyXG5cclxuICAgICAgICBoaWRlKCkge1xyXG4gICAgICAgICAgICB0aGlzLl9jbHViPy5oaWRlKCk7XHJcbiAgICAgICAgfVxyXG5cclxuICAgICAgICBkZXN0b3J5KCkge1xyXG4gICAgICAgICAgICB0aGlzLl9jbHViPy5kZXN0cm95KCk7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG5cclxuXHJcbiAgICAvKipcclxuICAgICAqIOaMr+WKqOexu+Wei1xyXG4gICAgICovXHJcbiAgICBleHBvcnQgZW51bSBFVmlyYnJhdGVUeXBlIHtcclxuICAgICAgICAvKipcclxuICAgICAgICAgKiDnn63mjK/liqhcclxuICAgICAgICAgKi9cclxuICAgICAgICBTSE9SVCxcclxuXHJcbiAgICAgICAgLyoqXHJcbiAgICAgICAgICog6ZW/5oyv5YqoXHJcbiAgICAgICAgICovXHJcbiAgICAgICAgTE9OR1xyXG4gICAgfVxyXG5cclxuICAgIC8qKlxyXG4gICAgICog5bmz5Y+w5bi455SoQVBJ5ZCI6ZuGXHJcbiAgICAgKi9cclxuICAgIGV4cG9ydCBjbGFzcyBBUEkge1xyXG4gICAgICAgIHByaXZhdGUgc3RhdGljIF9sb2dpbkNvZGU6IHN0cmluZyA9IG51bGw7XHJcbiAgICAgICAgcHJpdmF0ZSBzdGF0aWMgX2xvZ2luQW5vbnltb3VzQ29kZTogc3RyaW5nID0gbnVsbDtcclxuICAgICAgICBwcml2YXRlIHN0YXRpYyBfaGFzSW5pdFdlY2hhdENsb3VkRnVuY3Rpb246IGJvb2xlYW4gPSBmYWxzZTtcclxuXHJcblxyXG4gICAgICAgIC8qKlxyXG4gICAgICAgICAqIOWIhuS6q2FwcOe7meaci+WPi++8jOW+ruS/oeWwj+a4uOaIj+WIhuS6q+aYr+ayoeaciW9uU3VjY2Vzc+Wbnuiwg+eahOOAglxyXG4gICAgICAgICAqIEBwYXJhbSB0aXRsZSDmoIfpophcclxuICAgICAgICAgKiBAcGFyYW0gZGVzY3JpcHRpb24g57uG6IqC5o+P6L+w5L+h5oGvIFxyXG4gICAgICAgICAqIEBwYXJhbSBpbWFnZVVybCDlm77niYflnLDlnYBcclxuICAgICAgICAgKiBAcGFyYW0gcXVlcnkg5p+l6K+i5L+h5oGvXHJcbiAgICAgICAgICogQHBhcmFtIG9uU3VjY2VzcyDmipbpn7PkvJrlm57osIPvvIzlvq7kv6HkuI3kvJrlm57osINcclxuICAgICAgICAgKi9cclxuICAgICAgICBzdGF0aWMgc2hhcmVBcHBUb0ZyaWVuZHModGl0bGU6IHN0cmluZywgZGVzY3JpcHRpb246IHN0cmluZyA9ICcnLCBpbWFnZVVybD86IHN0cmluZywgcXVlcnk/OiBzdHJpbmcsIG9uU3VjY2Vzcz86ICgpID0+IHZvaWQpIHtcclxuICAgICAgICAgICAgaWYgKGlzV2VjaGF0KCkpIHtcclxuICAgICAgICAgICAgICAgIHRyeSB7XHJcbiAgICAgICAgICAgICAgICAgICAgLy9AdHMtaWdub3JlXHJcbiAgICAgICAgICAgICAgICAgICAgd3guc2hhcmVBcHBNZXNzYWdlKHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgdGl0bGU6IHRpdGxlLFxyXG4gICAgICAgICAgICAgICAgICAgICAgICBpbWFnZVVybDogaW1hZ2VVcmwsXHJcbiAgICAgICAgICAgICAgICAgICAgICAgIHF1ZXJ5OiBxdWVyeSxcclxuICAgICAgICAgICAgICAgICAgICB9KTtcclxuICAgICAgICAgICAgICAgIH0gY2F0Y2ggKGVycikge1xyXG4gICAgICAgICAgICAgICAgICAgIGNvbnNvbGUubG9nKGBzaGFyZSBmYWlsZDogJHtlcnJ9YCk7XHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIH1cclxuXHJcbiAgICAgICAgICAgIGlmIChpc0J5dGVkYW5jZSgpKSB7XHJcbiAgICAgICAgICAgICAgICAvL0B0cy1pZ25vcmVcclxuICAgICAgICAgICAgICAgIHR0LnNoYXJlQXBwTWVzc2FnZSh7XHJcbiAgICAgICAgICAgICAgICAgICAgdGl0bGU6IHRpdGxlLFxyXG4gICAgICAgICAgICAgICAgICAgIGRlc2M6IGRlc2NyaXB0aW9uLFxyXG4gICAgICAgICAgICAgICAgICAgIGltYWdlVXJsOiBpbWFnZVVybCA/PyAnJyxcclxuICAgICAgICAgICAgICAgICAgICBxdWVyeTogcXVlcnkgPz8gJycsXHJcbiAgICAgICAgICAgICAgICAgICAgc3VjY2VzcyhyZXM6IGFueSkge1xyXG4gICAgICAgICAgICAgICAgICAgICAgICBjb25zb2xlLmxvZygnc2hhcmUgc3VjY2VzczonLCByZXMpO1xyXG4gICAgICAgICAgICAgICAgICAgICAgICBvblN1Y2Nlc3M/LigpO1xyXG4gICAgICAgICAgICAgICAgICAgIH0sXHJcbiAgICAgICAgICAgICAgICAgICAgZmFpbChyZXM6IGFueSkge1xyXG4gICAgICAgICAgICAgICAgICAgICAgICBjb25zb2xlLmxvZygnc2hhcmUgZmFpbDonLCByZXMpO1xyXG4gICAgICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgIH0pO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG5cclxuICAgICAgICAvKipcclxuICAgICAgICAgKiDmmL7npLrmj5DnpLrkv6Hmga9cclxuICAgICAgICAgKiBAcGFyYW0gdGl0bGUg5qCH6aKYXHJcbiAgICAgICAgICogQHBhcmFtIGR1cmF0aW9uIOaXtumVv++8iOWNleS9je+8muenku+8iVxyXG4gICAgICAgICAqIEByZXR1cm5zIFxyXG4gICAgICAgICAqL1xyXG4gICAgICAgIHN0YXRpYyBzaG93VG9hc3QodGl0bGU6IHN0cmluZywgZHVyYXRpb246IG51bWJlciA9IDIpIHtcclxuICAgICAgICAgICAgaWYgKGlzV2VjaGF0KCkpIHtcclxuICAgICAgICAgICAgICAgIC8vIEB0cy1pZ25vcmVcclxuICAgICAgICAgICAgICAgIHd4LnNob3dUb2FzdCh7XHJcbiAgICAgICAgICAgICAgICAgICAgdGl0bGU6IHRpdGxlLFxyXG4gICAgICAgICAgICAgICAgICAgIGljb246ICdzdWNjZXNzJyxcclxuICAgICAgICAgICAgICAgICAgICBkdXJhdGlvbjogZHVyYXRpb24gKiAxMDAwXHJcbiAgICAgICAgICAgICAgICB9KTtcclxuICAgICAgICAgICAgfVxyXG5cclxuICAgICAgICAgICAgaWYgKGlzQnl0ZWRhbmNlKCkpIHtcclxuICAgICAgICAgICAgICAgIC8vQHRzLWlnbm9yZVxyXG4gICAgICAgICAgICAgICAgdHQuc2hvd1RvYXN0KHtcclxuICAgICAgICAgICAgICAgICAgICB0aXRsZTogdGl0bGUsXHJcbiAgICAgICAgICAgICAgICAgICAgZHVyYXRpb246IGR1cmF0aW9uICogMTAwMCxcclxuICAgICAgICAgICAgICAgICAgICBzdWNjZXNzKHJlczogYW55KSB7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIGNvbnNvbGUubG9nKGAke3Jlc31gKTtcclxuICAgICAgICAgICAgICAgICAgICB9LFxyXG4gICAgICAgICAgICAgICAgICAgIGZhaWwocmVzOiBhbnkpIHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgY29uc29sZS5sb2coYHNob3dUb2FzdOiwg+eUqOWksei0pWApO1xyXG4gICAgICAgICAgICAgICAgICAgIH0sXHJcbiAgICAgICAgICAgICAgICB9KTtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuXHJcbiAgICAgICAgLyoqXHJcbiAgICAgICAgICog6K6+5aSH6ZyH5Yqo5pWI5p6c77yM6buY6K6k5Li655+t6ZyH5Yqo44CC5rOo5oSP77ya5Y+v6IO95LiA5Lqb5py65Z6L5LiN5Lya55Sf5pWI77yM5YW35L2T55yL5bmz5Y+w5pa555qE6K+05piOXHJcbiAgICAgICAgICogQHBhcmFtIHR5cGUgTWluaUdhbWVTZGsuQVBJLkVWaXJicmF0ZVR5cGVcclxuICAgICAgICAgKi9cclxuICAgICAgICBzdGF0aWMgdmlicmF0ZSh0eXBlOiBFVmlyYnJhdGVUeXBlID0gRVZpcmJyYXRlVHlwZS5TSE9SVCkge1xyXG4gICAgICAgICAgICBpZiAoaXNXZWNoYXQoKSkge1xyXG4gICAgICAgICAgICAgICAgc3dpdGNoICh0eXBlKSB7XHJcbiAgICAgICAgICAgICAgICAgICAgY2FzZSBFVmlyYnJhdGVUeXBlLlNIT1JUOlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAvL0B0cy1pZ25vcmVcclxuICAgICAgICAgICAgICAgICAgICAgICAgd3gudmlicmF0ZVNob3J0KHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN1Y2Nlc3MocmVzOiBhbnkpIHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb25zb2xlLmxvZygndmlicmF0ZSBzdWNjZXNzOicsIHJlcyk7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB9LFxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgZmFpbChyZXM6IGFueSkge1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnNvbGUubG9nKCd2aWJyYXRlU2hvcnQgZmFpbGVkJywgcmVzKTtcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0sXHJcbiAgICAgICAgICAgICAgICAgICAgICAgIH0pO1xyXG4gICAgICAgICAgICAgICAgICAgICAgICBicmVhaztcclxuICAgICAgICAgICAgICAgICAgICBjYXNlIEVWaXJicmF0ZVR5cGUuTE9ORzpcclxuICAgICAgICAgICAgICAgICAgICAgICAgLy9AdHMtaWdub3JlXHJcbiAgICAgICAgICAgICAgICAgICAgICAgIHd4LnZpYnJhdGVMb25nKHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN1Y2Nlc3MocmVzOiBhbnkpIHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb25zb2xlLmxvZygndmlicmF0ZSBzdWNjZXNzJywgcmVzKTtcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0sXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBmYWlsKHJlczogYW55KSB7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY29uc29sZS5sb2coYHZpYnJhdGVMb25nIGZhaWxlZGAsIHJlcyk7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB9LFxyXG4gICAgICAgICAgICAgICAgICAgICAgICB9KTtcclxuICAgICAgICAgICAgICAgICAgICAgICAgYnJlYWs7XHJcbiAgICAgICAgICAgICAgICAgICAgZGVmYXVsdDpcclxuICAgICAgICAgICAgICAgICAgICAgICAgYnJlYWs7XHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIH1cclxuXHJcbiAgICAgICAgICAgIGlmIChpc0J5dGVkYW5jZSgpKSB7XHJcbiAgICAgICAgICAgICAgICBzd2l0Y2ggKHR5cGUpIHtcclxuICAgICAgICAgICAgICAgICAgICBjYXNlIEVWaXJicmF0ZVR5cGUuU0hPUlQ6XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIC8vQHRzLWlnbm9yZVxyXG4gICAgICAgICAgICAgICAgICAgICAgICB0dC52aWJyYXRlU2hvcnQoe1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgc3VjY2VzcyhyZXM6IGFueSkge1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnNvbGUubG9nKCd2aWJyYXRlIHN1Y2Nlc3M6JywgcmVzKTtcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0sXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBmYWlsKHJlczogYW55KSB7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY29uc29sZS5sb2coJ3ZpYnJhdGVTaG9ydCBmYWlsZWQnLCByZXMpO1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgfSxcclxuICAgICAgICAgICAgICAgICAgICAgICAgfSk7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIGJyZWFrO1xyXG4gICAgICAgICAgICAgICAgICAgIGNhc2UgRVZpcmJyYXRlVHlwZS5MT05HOlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAvL0B0cy1pZ25vcmVcclxuICAgICAgICAgICAgICAgICAgICAgICAgdHQudmlicmF0ZUxvbmcoe1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgc3VjY2VzcyhyZXM6IGFueSkge1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnNvbGUubG9nKCd2aWJyYXRlIHN1Y2Nlc3MnLCByZXMpO1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgfSxcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGZhaWwocmVzOiBhbnkpIHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb25zb2xlLmxvZyhgdmlicmF0ZUxvbmcgZmFpbGVkYCwgcmVzKTtcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0sXHJcbiAgICAgICAgICAgICAgICAgICAgICAgIH0pO1xyXG4gICAgICAgICAgICAgICAgICAgICAgICBicmVhaztcclxuICAgICAgICAgICAgICAgICAgICBkZWZhdWx0OlxyXG4gICAgICAgICAgICAgICAgICAgICAgICBicmVhaztcclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuXHJcbiAgICAgICAgLyoqXHJcbiAgICAgICAgICog6YeN5ZCv5bCP5ri45oiPXHJcbiAgICAgICAgICovXHJcbiAgICAgICAgc3RhdGljIHJlYm9vdCgpIHtcclxuICAgICAgICAgICAgaWYgKGlzV2VjaGF0KCkpIHtcclxuICAgICAgICAgICAgICAgIC8vQHRzLWlnbm9yZVxyXG4gICAgICAgICAgICAgICAgd3gucmVzdGFydE1pbmlQcm9ncmFtKHtcclxuICAgICAgICAgICAgICAgICAgICBzdWNjZXNzOiAoKSA9PiB7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIGNvbnNvbGUubG9nKCdyZXN0YXJ0IHN1Y2Nlc3MnKTtcclxuICAgICAgICAgICAgICAgICAgICB9LFxyXG5cclxuICAgICAgICAgICAgICAgICAgICBmYWlsOiAoKSA9PiB7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIGNvbnNvbGUubG9nKCdyZXN0YXJ0IGZhaWxlZCcpO1xyXG4gICAgICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgIH0pXHJcbiAgICAgICAgICAgIH1cclxuXHJcbiAgICAgICAgICAgIGlmIChpc0J5dGVkYW5jZSgpKSB7XHJcbiAgICAgICAgICAgICAgICB0cnkge1xyXG4gICAgICAgICAgICAgICAgICAgIC8vIEB0cy1pZ25vcmVcclxuICAgICAgICAgICAgICAgICAgICB0dC5yZXN0YXJ0TWluaVByb2dyYW1TeW5jKCk7XHJcbiAgICAgICAgICAgICAgICB9IGNhdGNoIChlcnJvcikge1xyXG4gICAgICAgICAgICAgICAgICAgIGNvbnNvbGUubG9nKGByZXN0YXJ0TWluaVByb2dyYW1TeW5jYCwgZXJyb3IpO1xyXG4gICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG5cclxuICAgICAgICAvKipcclxuICAgICAgICAgKiDpgIDlh7rlsI/muLjmiI9cclxuICAgICAgICAgKi9cclxuICAgICAgICBzdGF0aWMgZXhpdCgpIHtcclxuICAgICAgICAgICAgaWYgKGlzV2VjaGF0KCkpIHtcclxuICAgICAgICAgICAgICAgIC8vQHRzLWlnbm9yZVxyXG4gICAgICAgICAgICAgICAgd3guZXhpdE1pbmlQcm9ncmFtKHtcclxuICAgICAgICAgICAgICAgICAgICBzdWNjZXNzOiAoKSA9PiB7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIGNvbnNvbGUubG9nKCdleGl0IHN1Y2Nlc3MnKTtcclxuICAgICAgICAgICAgICAgICAgICB9LFxyXG4gICAgICAgICAgICAgICAgICAgIGZhaWw6ICgpID0+IHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgY29uc29sZS5sb2coJ2V4aXQgZmFpbGVkJyk7XHJcbiAgICAgICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgfSk7XHJcbiAgICAgICAgICAgIH1cclxuXHJcbiAgICAgICAgICAgIGlmIChpc0J5dGVkYW5jZSgpKSB7XHJcbiAgICAgICAgICAgICAgICAvLyBAdHMtaWdub3JlXHJcbiAgICAgICAgICAgICAgICB0dC5leGl0TWluaVByb2dyYW0oe1xyXG4gICAgICAgICAgICAgICAgICAgIHN1Y2Nlc3MocmVzOiBhbnkpIHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgY29uc29sZS5sb2coXCJleGl0IHN1Y2Nlc3M6XCIsIHJlcz8uZGF0YSk7XHJcbiAgICAgICAgICAgICAgICAgICAgfSxcclxuICAgICAgICAgICAgICAgICAgICBmYWlsKHJlczogYW55KSB7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIGNvbnNvbGUubG9nKFwiZXhpdCBmYWlsOlwiLCByZXM/LmVyck1zZyk7XHJcbiAgICAgICAgICAgICAgICAgICAgfSxcclxuICAgICAgICAgICAgICAgIH0pO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG5cclxuICAgICAgICAvKipcclxuICAgICAgICAgKiDmmL7npLrovazlj5HmjInpkq7jgILpgJrluLjlnKjliJrov5vlhaXmuLjmiI/nmoTml7blgJnosIPnlKjjgIJcclxuICAgICAgICAgKiDkuLvopoHmmK/miZPlvIDlubPlj7DigJwuLi7igJ3ov5nkuKrmjInpkq7ph4zpnaLnmoTliIbkuqvoj5zljZXvvIzkuIDoiKzpu5jorqTmmK/lhbPpl63nmoTvvIzpnIDopoHosIPnlKjov5nkuKrlh73mlbDmiZPlvIDjgILlj6/ku6XorqnnlKjmiLfliIbkuqvkvaDnmoTmuLjmiI/lhaXlj6PjgIJcclxuICAgICAgICAgKi9cclxuICAgICAgICBzdGF0aWMgc2hvd1NoYXJlTWVudSgpIHtcclxuICAgICAgICAgICAgaWYgKGlzV2VjaGF0KCkpIHtcclxuICAgICAgICAgICAgICAgIC8vQHRzLWlnbm9yZVxyXG4gICAgICAgICAgICAgICAgd3guc2hvd1NoYXJlTWVudSh7XHJcbiAgICAgICAgICAgICAgICAgICAgd2l0aFNoYXJlVGlja2V0OiB0cnVlLFxyXG4gICAgICAgICAgICAgICAgICAgIG1lbnVzOiBbJ3NoYXJlQXBwTWVzc2FnZScsICdzaGFyZVRpbWVsaW5lJ10sXHJcbiAgICAgICAgICAgICAgICAgICAgc3VjY2VzczogKCkgPT4geyB9LFxyXG4gICAgICAgICAgICAgICAgICAgIGZhaWw6ICgpID0+IHsgfSxcclxuICAgICAgICAgICAgICAgICAgICBjb21wbGV0ZTogKCkgPT4geyB9XHJcbiAgICAgICAgICAgICAgICB9KTtcclxuICAgICAgICAgICAgfVxyXG5cclxuICAgICAgICAgICAgaWYgKGlzQnl0ZWRhbmNlKCkpIHtcclxuICAgICAgICAgICAgICAgIC8vQHRzLWlnbm9yZVxyXG4gICAgICAgICAgICAgICAgdHQuc2hvd1NoYXJlTWVudSh7XHJcbiAgICAgICAgICAgICAgICAgICAgc3VjY2VzcyhyZXM6IGFueSkge1xyXG4gICAgICAgICAgICAgICAgICAgICAgICBjb25zb2xlLmxvZyhcInNob3cgbWVudSBpcyBzaG93aW5nXCIpO1xyXG4gICAgICAgICAgICAgICAgICAgIH0sXHJcbiAgICAgICAgICAgICAgICAgICAgZmFpbChlcnI6IGFueSkge1xyXG4gICAgICAgICAgICAgICAgICAgICAgICBjb25zb2xlLmxvZyhcInNob3dTaGFyZU1lbnU6XCIsIGVyci5lcnJNc2cpO1xyXG4gICAgICAgICAgICAgICAgICAgIH0sXHJcbiAgICAgICAgICAgICAgICAgICAgY29tcGxldGUocmVzOiBhbnkpIHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgY29uc29sZS5sb2coXCJzaG93U2hhcmVNZW51IGNvbXBsZXRlXCIpO1xyXG4gICAgICAgICAgICAgICAgICAgIH0sXHJcbiAgICAgICAgICAgICAgICB9KTtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuXHJcbiAgICAgICAgLyoqXHJcbiAgICAgICAgICog5b6u5L+h5bCP5ri45oiP77ya6Lez6L2s5Yiw5Y+m5aSW5LiA5qy+5bCP5ri45oiPXHJcbiAgICAgICAgICog5oqW6Z+z5bCP5ri45oiP77ya6Lez6L2s5Yiw5oyH5a6a55qE6KeG6aKR55WM6Z2iXHJcbiAgICAgICAgICogQHBhcmFtIHRhcmdldElkIOW+ruS/oeWwj+a4uOaIj2FwcGlk5oiW6ICF6KeG6aKR55WM6Z2iXHJcbiAgICAgICAgICovXHJcbiAgICAgICAgc3RhdGljIG5hdmlnYXRlVG8odGFyZ2V0SWQ6IHN0cmluZywgb25TdWNjZXNzPzogKCkgPT4gdm9pZCkge1xyXG4gICAgICAgICAgICBpZiAoaXNXZWNoYXQoKSkge1xyXG4gICAgICAgICAgICAgICAgLy8gQHRzLWlnbm9yZVxyXG4gICAgICAgICAgICAgICAgd3gubmF2aWdhdGVUb01pbmlQcm9ncmFtKHtcclxuICAgICAgICAgICAgICAgICAgICBhcHBJZDogdGFyZ2V0SWQsXHJcbiAgICAgICAgICAgICAgICAgICAgZXh0cmFEYXRhOiB7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIGZvbzogJ2JhcidcclxuICAgICAgICAgICAgICAgICAgICB9LFxyXG4gICAgICAgICAgICAgICAgICAgIGVudlZlcnNpb246ICdkZXZlbG9wJyxcclxuICAgICAgICAgICAgICAgICAgICBzdWNjZXNzKHJlczogYW55KSB7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIG9uU3VjY2Vzcz8uKCk7XHJcbiAgICAgICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgfSk7XHJcbiAgICAgICAgICAgIH1cclxuXHJcbiAgICAgICAgICAgIGlmIChpc0J5dGVkYW5jZSgpKSB7XHJcbiAgICAgICAgICAgICAgICAvLyBAdHMtaWdub3JlXHJcbiAgICAgICAgICAgICAgICB0dC5uYXZpZ2F0ZVRvVmlkZW9WaWV3KHtcclxuICAgICAgICAgICAgICAgICAgICB2aWRlb0lkOiB0YXJnZXRJZCxcclxuICAgICAgICAgICAgICAgICAgICBzdWNjZXNzOiAocmVzOiBhbnkpID0+IHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgb25TdWNjZXNzPy4oKTtcclxuICAgICAgICAgICAgICAgICAgICB9LFxyXG4gICAgICAgICAgICAgICAgICAgIGZhaWw6IChlcnI6IGFueSkgPT4ge1xyXG4gICAgICAgICAgICAgICAgICAgICAgICBjb25zb2xlLmxvZyhcImJ5dGVkYW5jZSBuYXZpZ2F0ZVRvVmlkZW9WaWV3IGZhaWxcIiwgZXJyKTtcclxuICAgICAgICAgICAgICAgICAgICB9LFxyXG4gICAgICAgICAgICAgICAgfSk7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcblxyXG5cclxuICAgICAgICAvKipcclxuICAgICAgICAgKiDlsI/muLjmiI/lubPlj7DnmbvlvZXlip/og73jgILlvq7kv6Hov5Tlm55jb2Rl77yM5oqW6Z+z6L+U5ZueY29kZeWSjGFub255bW91c0NvZGXjgILnlKjkuo7nmbvlvZXnmoTlh63or4HvvIzpnIDopoHmiorov5nkuKpjb2Rl5Lyg5Zue5L2g55qE5pyN5Yqh5Zmo56iL5bqP5Lit5Y676LCD55SoY29kZTJTZXNzaW9uXHJcbiAgICAgICAgICogQHBhcmFtIGNhbGxiYWNrIChjb2RlLCBhbm9ueW1vdXNDb2RlKSDnrKzkuIDkuKrlj4LmlbDkuLpjb2Rl77yM5b6u5L+h5ZKM5oqW6Z+z6YO95pSv5oyB77yb56ys5LqM5Liq5Y+C5pWw5Li65Yy/5ZCN6K6+5aSHSUTvvIzku4Xmipbpn7PmlK/mjIHvvIzlpLHotKXpg73ov5Tlm55udWxsXHJcbiAgICAgICAgICovXHJcbiAgICAgICAgc3RhdGljIGxvZ2luKGNhbGxiYWNrOiAoY29kZTogc3RyaW5nLCBhbm9ueW1vdXNDb2RlOiBzdHJpbmcpID0+IHZvaWQpIHtcclxuICAgICAgICAgICAgbGV0IGxvZ2luUGxhdGZvcm0gPSAoKSA9PiB7XHJcbiAgICAgICAgICAgICAgICBpZiAoaXNXZWNoYXQoKSkge1xyXG4gICAgICAgICAgICAgICAgICAgIC8vQHRzLWlnbm9yZVxyXG4gICAgICAgICAgICAgICAgICAgIHd4LmxvZ2luKHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgc3VjY2VzczogKHJlczogeyBjb2RlOiBhbnk7IGVyck1zZzogYW55OyB9KSA9PiB7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBpZiAocmVzLmNvZGUpIHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBBUEkuX2xvZ2luQ29kZSA9IHJlcy5jb2RlO1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIEFQSS5fbG9naW5Bbm9ueW1vdXNDb2RlID0gbnVsbDtcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjYWxsYmFjaz8uKEFQSS5fbG9naW5Db2RlLCBBUEkuX2xvZ2luQW5vbnltb3VzQ29kZSk7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB9IGVsc2Uge1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnNvbGUubG9nKCdsb2dpbiBlcnJvcjonLCByZXMuZXJyTXNnKVxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgICAgICAgICB9LFxyXG5cclxuICAgICAgICAgICAgICAgICAgICAgICAgZmFpbDogKCkgPT4ge1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgQVBJLl9sb2dpbkNvZGUgPSBudWxsO1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgQVBJLl9sb2dpbkFub255bW91c0NvZGUgPSBudWxsO1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgY2FsbGJhY2s/LihBUEkuX2xvZ2luQ29kZSwgQVBJLl9sb2dpbkFub255bW91c0NvZGUpO1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgY29uc29sZS5sb2coJ2xvZ2luIGZhaWwnKVxyXG4gICAgICAgICAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICAgICAgfSk7XHJcbiAgICAgICAgICAgICAgICB9IGVsc2UgaWYgKGlzQnl0ZWRhbmNlKCkpIHtcclxuICAgICAgICAgICAgICAgICAgICAvL0B0cy1pZ25vcmVcclxuICAgICAgICAgICAgICAgICAgICB0dC5sb2dpbih7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIGZvcmNlOiB0cnVlLFxyXG4gICAgICAgICAgICAgICAgICAgICAgICBzdWNjZXNzKHJlczogYW55KSB7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb25zb2xlLmxvZyhgbG9naW4gJHtyZXMuY29kZX0gJHtyZXMuYW5vbnltb3VzQ29kZX1gKTtcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGlmIChyZXMuY29kZSkge1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIEFQSS5fbG9naW5Db2RlID0gcmVzLmNvZGU/LnRvU3RyaW5nKCk7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgQVBJLl9sb2dpbkFub255bW91c0NvZGUgPSByZXMuYW5vbnltb3VzQ29kZT8udG9TdHJpbmcoKTtcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjYWxsYmFjaz8uKEFQSS5fbG9naW5Db2RlLCBBUEkuX2xvZ2luQW5vbnltb3VzQ29kZSk7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB9IGVsc2Uge1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnNvbGUubG9nKCdsb2dpbiBlcnJvcjonLCByZXMuZXJyTXNnKVxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgICAgICAgICB9LFxyXG4gICAgICAgICAgICAgICAgICAgICAgICBmYWlsKHJlczogYW55KSB7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBBUEkuX2xvZ2luQ29kZSA9IG51bGw7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBBUEkuX2xvZ2luQW5vbnltb3VzQ29kZSA9IG51bGw7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBjYWxsYmFjaz8uKEFQSS5fbG9naW5Db2RlLCBBUEkuX2xvZ2luQW5vbnltb3VzQ29kZSk7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb25zb2xlLmxvZyhgbG9naW4gZmFpbGAsIHJlcyk7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIH0sXHJcbiAgICAgICAgICAgICAgICAgICAgfSk7XHJcbiAgICAgICAgICAgICAgICB9IGVsc2Uge1xyXG4gICAgICAgICAgICAgICAgICAgIEFQSS5fbG9naW5Db2RlID0gbnVsbDtcclxuICAgICAgICAgICAgICAgICAgICBBUEkuX2xvZ2luQW5vbnltb3VzQ29kZSA9IG51bGw7XHJcbiAgICAgICAgICAgICAgICAgICAgY2FsbGJhY2s/LihBUEkuX2xvZ2luQ29kZSwgQVBJLl9sb2dpbkFub255bW91c0NvZGUpO1xyXG4gICAgICAgICAgICAgICAgICAgIGNvbnNvbGUubG9nKCdub3QgbWluaSBnYW1lIHBsYXRmb3JtLCBsb2dpbiBjb2RlcyBhcmUgYWxsIG51bGwnKTtcclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgfVxyXG5cclxuXHJcblxyXG4gICAgICAgICAgICBpZiAoIUFQSS5fbG9naW5Db2RlKSB7XHJcbiAgICAgICAgICAgICAgICBsb2dpblBsYXRmb3JtKCk7XHJcbiAgICAgICAgICAgIH0gZWxzZSB7XHJcbiAgICAgICAgICAgICAgICBpZiAoaXNXZWNoYXQoKSkge1xyXG4gICAgICAgICAgICAgICAgICAgIC8vQHRzLWlnbm9yZVxyXG4gICAgICAgICAgICAgICAgICAgIHd4LmNoZWNrU2Vzc2lvbih7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIHN1Y2Nlc3MoKSB7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb25zb2xlLmxvZyhgc2Vzc2lvbiBpcyB2YWxpZCwgdXNlIGN1cnJlbnQgY29kZTpgLCBBUEkuX2xvZ2luQ29kZSk7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBjYWxsYmFjaz8uKEFQSS5fbG9naW5Db2RlLCBBUEkuX2xvZ2luQW5vbnltb3VzQ29kZSk7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIH0sXHJcbiAgICAgICAgICAgICAgICAgICAgICAgIGZhaWwoKSB7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb25zb2xlLmxvZyhgc2Vzc2lvbiBleHBpcmVkYCk7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBsb2dpblBsYXRmb3JtKCk7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgICAgICB9KTtcclxuICAgICAgICAgICAgICAgIH0gZWxzZSBpZiAoaXNCeXRlZGFuY2UoKSkge1xyXG4gICAgICAgICAgICAgICAgICAgIC8vQHRzLWlnbm9yZVxyXG4gICAgICAgICAgICAgICAgICAgIHR0LmNoZWNrU2Vzc2lvbih7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIHN1Y2Nlc3MoKSB7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb25zb2xlLmxvZyhgc2Vzc2lvbiBpcyB2YWxpZCwgdXNlciBjdXJyZW50IGNvZGU6ICR7QVBJLl9sb2dpbkNvZGV9LCAke0FQSS5fbG9naW5Bbm9ueW1vdXNDb2RlfWApO1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgY2FsbGJhY2s/LihBUEkuX2xvZ2luQ29kZSwgQVBJLl9sb2dpbkFub255bW91c0NvZGUpO1xyXG4gICAgICAgICAgICAgICAgICAgICAgICB9LFxyXG4gICAgICAgICAgICAgICAgICAgICAgICBmYWlsKCkge1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgY29uc29sZS5sb2coYHNlc3Npb24gZXhwaXJlZGApO1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgbG9naW5QbGF0Zm9ybSgpO1xyXG4gICAgICAgICAgICAgICAgICAgICAgICB9LFxyXG4gICAgICAgICAgICAgICAgICAgIH0pO1xyXG5cclxuICAgICAgICAgICAgICAgIH0gZWxzZSB7XHJcbiAgICAgICAgICAgICAgICAgICAgY29uc29sZS5sb2coJ25vdCBtaW5pIGdhbWUgcGxhdGZvcm0sIGxvZ2luIG51bGwnKTtcclxuICAgICAgICAgICAgICAgICAgICBjYWxsYmFjaz8uKG51bGwsIG51bGwpO1xyXG4gICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG5cclxuICAgICAgICAvKipcclxuICAgICAgICAgKiDosIPnlKjlvq7kv6HkupHlh73mlbDjgILnlLHkuo7lj4LmlbDpnIDopoHoh6rlrprkuYnvvIzmiYDku6XkuLphbnnvvIzpnIDopoHoh6rooYzop6Pph4rjgILlh73mlbDlj6rlrozmiJDpgJrpgZPlkozlpITnkIbkuIDlnLrnmoTkvZznlKhcclxuICAgICAgICAgKiBAcGFyYW0gY2FsbGJhY2sg6L+U5Zue5LqR5Ye95pWw6LCD55So57uT5p6c44CC6ZyA6KaB5qOA5p+l6L+U5Zue5Y+C5pWw5piv5ZCm5Li656m677yM5aSx6LSl55qE5pe25YCZ5Li656m6XHJcbiAgICAgICAgICogQHBhcmFtIG5hbWUg5LqR5Ye95pWw55qE5ZCN5a2XXHJcbiAgICAgICAgICogQHBhcmFtIGRhdGEg5LqR5Ye95pWw55qE5YaF5a65XHJcbiAgICAgICAgICovXHJcbiAgICAgICAgc3RhdGljIGNhbGxXZWNoYXRDbG91ZEZ1bmN0aW9uKGNhbGxiYWNrOiAocmVzOiBhbnkpID0+IHZvaWQsIG5hbWU6IHN0cmluZywgZGF0YToge30pIHtcclxuICAgICAgICAgICAgaWYgKCFpc1dlY2hhdCgpKSB7XHJcbiAgICAgICAgICAgICAgICBjb25zb2xlLmxvZygnTm90IHdlY2hhdCBwbGF0Zm9ybSwgbm90IHN1cHBvcnQgY2FsbFdlY2hhdENsb3VkRnVuY3Rpb24nKTtcclxuICAgICAgICAgICAgICAgIHJldHVybjtcclxuICAgICAgICAgICAgfVxyXG5cclxuICAgICAgICAgICAgdGhpcy5sb2dpbigoY29kZTogc3RyaW5nLCBhbm9ueW1vdXNDb2RlOiBzdHJpbmcpID0+IHtcclxuICAgICAgICAgICAgICAgIGlmICghQVBJLl9oYXNJbml0V2VjaGF0Q2xvdWRGdW5jdGlvbikge1xyXG4gICAgICAgICAgICAgICAgICAgIC8vQHRzLWlnbm9yZVxyXG4gICAgICAgICAgICAgICAgICAgIHd4LmNsb3VkLmluaXQoKTtcclxuICAgICAgICAgICAgICAgICAgICBBUEkuX2hhc0luaXRXZWNoYXRDbG91ZEZ1bmN0aW9uID0gdHJ1ZTtcclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgIC8vQHRzLWlnbm9yZVxyXG4gICAgICAgICAgICAgICAgd3guY2xvdWQuY2FsbEZ1bmN0aW9uKHtcclxuICAgICAgICAgICAgICAgICAgICBuYW1lOiBuYW1lLFxyXG4gICAgICAgICAgICAgICAgICAgIGRhdGE6IGRhdGEsXHJcbiAgICAgICAgICAgICAgICAgICAgc3VjY2VzczogKHJlczogYW55KSA9PiBjYWxsYmFjaz8uKHJlcyksXHJcbiAgICAgICAgICAgICAgICAgICAgZmFpbDogKGVycjogYW55KSA9PiB7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIGNvbnNvbGUubG9nKCd3ZWNoYXQgY2xvdWQgZnVuY3Rpb24gZXJyb3I6JywgZXJyKTtcclxuICAgICAgICAgICAgICAgICAgICAgICAgY2FsbGJhY2s/LihudWxsKTtcclxuICAgICAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICB9KTtcclxuICAgICAgICAgICAgfSk7XHJcbiAgICAgICAgfVxyXG5cclxuICAgICAgICAvKipcclxuICAgICAgICAgKiDlrZjlgqjnlKjmiLfkv6Hmga/vvIzmlbDmja7ph4/kuI3og73lpKfjgILlj6/ku6XogIPomZHnlKjkuo7liIbmlbDmjpLooYzmppzjgILnlKjmiLfkuYvpl7Tlj6/lhbHkuqvmjpLooYzmlbDmja7jgIJcclxuICAgICAgICAgKiBAcGFyYW0ga2V5IFxyXG4gICAgICAgICAqIEBwYXJhbSB2YWx1ZSBcclxuICAgICAgICAgKi9cclxuICAgICAgICBzdGF0aWMgc2V0VXNlckNsb3VkU3RvcmFnZShrZXk6IHN0cmluZywgdmFsdWU6IHN0cmluZykge1xyXG4gICAgICAgICAgICBpZiAoaXNXZWNoYXQoKSkge1xyXG4gICAgICAgICAgICAgICAgLy8gQHRzLWlnbm9yZVxyXG4gICAgICAgICAgICAgICAgd3guc2V0VXNlckNsb3VkU3RvcmFnZSh7XHJcbiAgICAgICAgICAgICAgICAgICAgS1ZEYXRhTGlzdDogW3sga2V5OiBrZXksIHZhbHVlOiB2YWx1ZSB9XSxcclxuICAgICAgICAgICAgICAgICAgICBzdWNjZXNzOiAoKSA9PiBjb25zb2xlLmxvZyhgc2V0IGNsb3VkIHN0b3JhZ2Ugc3VjY2Vzczoke2tleX0sIHZhbHVlOiR7dmFsdWV9YCksXHJcbiAgICAgICAgICAgICAgICAgICAgZmFpbDogKGVycjogYW55KSA9PiBjb25zb2xlLmxvZygnc2V0IGNsb3VkIHN0b3JhZ2UgZXJyb3I6JywgZXJyKVxyXG4gICAgICAgICAgICAgICAgfSk7XHJcbiAgICAgICAgICAgIH1cclxuXHJcbiAgICAgICAgICAgIGlmIChpc0J5dGVkYW5jZSgpKSB7XHJcbiAgICAgICAgICAgICAgICAvLyBAdHMtaWdub3JlXHJcbiAgICAgICAgICAgICAgICB0dC5zZXRVc2VyQ2xvdWRTdG9yYWdlKHtcclxuICAgICAgICAgICAgICAgICAgICBLVkRhdGFMaXN0OiBbeyBrZXk6IGtleSwgdmFsdWU6IHZhbHVlLCB9XSxcclxuICAgICAgICAgICAgICAgICAgICBzdWNjZXNzOiAoKSA9PiBjb25zb2xlLmxvZyhgc2V0IGNsb3VkIHN0b3JhZ2Ugc3VjY2Vzczoke2tleX0sIHZhbHVlOiR7dmFsdWV9YCksXHJcbiAgICAgICAgICAgICAgICAgICAgZmFpbDogKGVycjogYW55KSA9PiBjb25zb2xlLmxvZygnc2V0IGNsb3VkIHN0b3JhZ2UgZXJyb3I6JywgZXJyKVxyXG4gICAgICAgICAgICAgICAgfSk7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICB9XHJcblxyXG5cclxuICAgIC8qKlxyXG4gICAgICog5oqW6Z+z5L6n6L655qCP5LiT5bGe5o6l5Y+jXHJcbiAgICAgKi9cclxuICAgIGV4cG9ydCBjbGFzcyBCeXRlZGFuY2VTaWRlYmFyIHtcclxuICAgICAgICAvKipcclxuICAgICAgICAgKiDmnKzmuLjmiI/lnKjmipbpn7Pnjq/looPkuIvlkK/liqjnm5HmjqfvvIzpnIDopoHmlL7lnKjlhajlsYDnjq/looPkuK3vvIzkv53or4Hog73nrKzkuIDml7bpl7TlkK/liqjjgILlm6DkuLrlj6/og73nm5HlkKzmipbpn7PlpLHotKXvvIjmipbpn7PlsI/muLjmiI/lrpjmlrnnmoTor7TmmI7vvInvvIFcclxuICAgICAgICAgKiBAcGFyYW0gb25SZXN1bHQg5YyF5ZCr5LiA5LiqYm9vbGVhbuWPguaVsOeahOWHveaVsFxyXG4gICAgICAgICAqIEBwYXJhbSB0YXJnZXQg5LiK6L+w5Ye95pWw55qE5oul5pyJ6ICF77yM5aaC5p6c5piv57G755qE5oiQ5ZGY5Ye95pWw77yM6ZyA6KaB5Lyg5YWldGhpc+OAguaZrumAmuaIluWMv+WQjeWHveaVsOW/veeVpeWNs+WPr+OAglxyXG4gICAgICAgICAqL1xyXG4gICAgICAgIHN0YXRpYyBsaXN0ZW5Gcm9tU2lkZWJhcihvblJlc3VsdDogKHN1Y2Nlc3M6IGJvb2xlYW4pID0+IHZvaWQsIHRhcmdldD86IGFueSkge1xyXG4gICAgICAgICAgICBpZiAoIWlzQnl0ZWRhbmNlKCkpIHtcclxuICAgICAgICAgICAgICAgIG9uUmVzdWx0Py5jYWxsKHRhcmdldCwgZmFsc2UpO1xyXG4gICAgICAgICAgICAgICAgcmV0dXJuO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIC8vIEB0cy1pZ25vcmVcclxuICAgICAgICAgICAgdHQub25TaG93KChyZXM6IGFueSkgPT4ge1xyXG4gICAgICAgICAgICAgICAgY29uc29sZS5sb2coJ29uU2hvdyBsYXVuY2ggcmVzOicsIHJlcyk7XHJcbiAgICAgICAgICAgICAgICBpZiAocmVzLnNjZW5lID09PSAnMDIxMDM2Jykge1xyXG4gICAgICAgICAgICAgICAgICAgIG9uUmVzdWx0Py5jYWxsKHRhcmdldCwgdHJ1ZSk7XHJcbiAgICAgICAgICAgICAgICAgICAgY29uc29sZS5sb2coJ2xhdW5jaCBmcm9tIHNpZGViYXInKTtcclxuICAgICAgICAgICAgICAgIH0gZWxzZSB7XHJcbiAgICAgICAgICAgICAgICAgICAgb25SZXN1bHQ/LmNhbGwodGFyZ2V0LCBmYWxzZSk7XHJcbiAgICAgICAgICAgICAgICAgICAgY29uc29sZS5sb2coJ05PVCBsYXVuY2ggZnJvbSBkb3V5aW4gc2lkZWJhciEnKTtcclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgfSk7XHJcblxyXG4gICAgICAgICAgICAvLyBAdHMtaWdub3JlXHJcbiAgICAgICAgICAgIGxldCBvcHRpb25zID0gdHQuZ2V0TGF1bmNoT3B0aW9uc1N5bmMoKTtcclxuICAgICAgICAgICAgaWYgKG9wdGlvbnMgJiYgb3B0aW9ucy5zY2VuZSA9PT0gJzAyMTAzNicpIHtcclxuICAgICAgICAgICAgICAgIG9uUmVzdWx0Py5jYWxsKHRhcmdldCwgdHJ1ZSk7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcblxyXG4gICAgICAgIC8qKlxyXG4gICAgICAgICAqIOajgOa1i+aKlumfs+S+p+i+ueagj+aYr+WQpuWtmOWcqFxyXG4gICAgICAgICAqIEBwYXJhbSBvblJlc3VsdCDljIXlkKvkuIDkuKpib29sZWFu5Y+C5pWw55qE5Ye95pWwXHJcbiAgICAgICAgICogQHBhcmFtIHRhcmdldCDkuIrov7Dlh73mlbDnmoTmi6XmnInogIXvvIzlpoLmnpzmmK/nsbvnmoTmiJDlkZjlh73mlbDvvIzpnIDopoHkvKDlhaV0aGlz44CC5pmu6YCa5oiW5Yy/5ZCN5Ye95pWw5b+955Wl5Y2z5Y+v44CCXHJcbiAgICAgICAgICogQHJldHVybnMgXHJcbiAgICAgICAgICovXHJcbiAgICAgICAgc3RhdGljIGNoZWNrU2lkZUJhcihvblJlc3VsdDogKHN1Y2Nlc3M6IGJvb2xlYW4pID0+IHZvaWQsIHRhcmdldD86IGFueSkge1xyXG4gICAgICAgICAgICBpZiAoIWlzQnl0ZWRhbmNlKCkpIHtcclxuICAgICAgICAgICAgICAgIG9uUmVzdWx0Py5jYWxsKHRhcmdldCwgZmFsc2UpO1xyXG4gICAgICAgICAgICAgICAgcmV0dXJuO1xyXG4gICAgICAgICAgICB9XHJcblxyXG4gICAgICAgICAgICAvL0B0cy1pZ25vcmVcclxuICAgICAgICAgICAgdHQuY2hlY2tTY2VuZSh7XHJcbiAgICAgICAgICAgICAgICBzY2VuZTogXCJzaWRlYmFyXCIsXHJcbiAgICAgICAgICAgICAgICBzdWNjZXNzOiAocmVzOiBhbnkpID0+IHtcclxuICAgICAgICAgICAgICAgICAgICBjb25zb2xlLmxvZyhcImNoZWNrIHNjZW5lIHN1Y2Nlc3M6IFwiLCByZXMuaXNFeGlzdCk7XHJcbiAgICAgICAgICAgICAgICAgICAgb25SZXN1bHQ/LmNhbGwodGFyZ2V0LCA8Ym9vbGVhbj5yZXMuaXNFeGlzdCk7XHJcblxyXG4gICAgICAgICAgICAgICAgfSxcclxuICAgICAgICAgICAgICAgIGZhaWw6IChyZXM6IGFueSkgPT4ge1xyXG4gICAgICAgICAgICAgICAgICAgIGNvbnNvbGUubG9nKFwiY2hlY2sgc2NlbmUgZmFpbDpcIiwgcmVzKTtcclxuICAgICAgICAgICAgICAgICAgICBvblJlc3VsdD8uY2FsbCh0YXJnZXQsIGZhbHNlKTtcclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgfSk7XHJcbiAgICAgICAgfVxyXG5cclxuICAgICAgICAvKipcclxuICAgICAgICAgKiDot7PovazliLDmipbpn7PkvqfovrnmoI9cclxuICAgICAgICAgKiBAcGFyYW0gb25SZXN1bHQg5YyF5ZCr5LiA5LiqYm9vbGVhbuWPguaVsOeahOWHveaVsFxyXG4gICAgICAgICAqIEBwYXJhbSB0YXJnZXQg5LiK6L+w5Ye95pWw55qE5oul5pyJ6ICF77yM5aaC5p6c5piv57G755qE5oiQ5ZGY5Ye95pWw77yM6ZyA6KaB5Lyg5YWldGhpc+OAguaZrumAmuaIluWMv+WQjeWHveaVsOW/veeVpeWNs+WPr+OAglxyXG4gICAgICAgICAqIEByZXR1cm5zIFxyXG4gICAgICAgICAqL1xyXG4gICAgICAgIHN0YXRpYyBuYXZpZ2F0ZVRvU2lkZWJhcihvblJlc3VsdDogKHN1Y2Nlc3M6IGJvb2xlYW4pID0+IHZvaWQsIHRhcmdldD86IGFueSkge1xyXG4gICAgICAgICAgICBpZiAoIWlzQnl0ZWRhbmNlKCkpIHtcclxuICAgICAgICAgICAgICAgIGNvbnNvbGUubG9nKFwibm90IGRvdXlpbiBwbGF0Zm9ybSFcIik7XHJcbiAgICAgICAgICAgICAgICBvblJlc3VsdD8uY2FsbCh0YXJnZXQsIGZhbHNlKTtcclxuICAgICAgICAgICAgICAgIHJldHVybjtcclxuICAgICAgICAgICAgfVxyXG5cclxuICAgICAgICAgICAgLy8gQHRzLWlnbm9yZVxyXG4gICAgICAgICAgICB0dC5uYXZpZ2F0ZVRvU2NlbmUoe1xyXG4gICAgICAgICAgICAgICAgc2NlbmU6IFwic2lkZWJhclwiLFxyXG4gICAgICAgICAgICAgICAgc3VjY2VzczogKCkgPT4ge1xyXG4gICAgICAgICAgICAgICAgICAgIGNvbnNvbGUubG9nKFwibmF2aWdhdGUgc3VjY2Vzc1wiKTtcclxuICAgICAgICAgICAgICAgICAgICBvblJlc3VsdD8uY2FsbCh0YXJnZXQsIHRydWUpO1xyXG4gICAgICAgICAgICAgICAgfSxcclxuICAgICAgICAgICAgICAgIGZhaWw6IChyZXM6IGFueSkgPT4ge1xyXG4gICAgICAgICAgICAgICAgICAgIGNvbnNvbGUubG9nKFwibmF2aWdhdGUgZmFpbGVkIHJlYXNvbjpcIiwgcmVzKTtcclxuICAgICAgICAgICAgICAgICAgICBvblJlc3VsdD8uY2FsbCh0YXJnZXQsIGZhbHNlKTtcclxuICAgICAgICAgICAgICAgIH0sXHJcbiAgICAgICAgICAgIH0pO1xyXG4gICAgICAgIH1cclxuICAgIH1cclxuXHJcbn0iXX0= //------QC-SOURCE-SPLIT------ (function() { var nodeEnv = typeof require !== 'undefined' && typeof process !== 'undefined'; var __module = nodeEnv ? module : {exports:{}}; - var __filename = 'preview-scripts/assets/Script/Load.js'; + var __filename = 'preview-scripts/assets/Script/module/GameStart/GameAppStart.js'; var __require = nodeEnv ? function (request) { return cc.require(request); } : function (request) { @@ -3283,78 +1170,103 @@ cc._RF.pop(); }; function __define (exports, require, module) { if (!nodeEnv) {__quick_compile_project__.registerModule(__filename, module);}"use strict"; -cc._RF.push(module, '454adgphRpA6oq5lB6Cg1fK', 'Load'); -// Script/Load.ts +cc._RF.push(module, '61d4ccY2ztLMYIh8WvqPPAw', 'GameAppStart'); +// Script/module/GameStart/GameAppStart.ts "use strict"; -var __extends = (this && this.__extends) || (function () { - var extendStatics = function (d, b) { - extendStatics = Object.setPrototypeOf || - ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) || - function (d, b) { for (var p in b) if (Object.prototype.hasOwnProperty.call(b, p)) d[p] = b[p]; }; - return extendStatics(d, b); - }; - return function (d, b) { - extendStatics(d, b); - function __() { this.constructor = d; } - d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __()); - }; -})(); -var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) { - var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d; - if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc); - else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r; - return c > 3 && r && Object.defineProperty(target, key, r), r; -}; Object.defineProperty(exports, "__esModule", { value: true }); -var _a = cc._decorator, ccclass = _a.ccclass, property = _a.property, requireComponent = _a.requireComponent; -var NewClass = /** @class */ (function (_super) { - __extends(NewClass, _super); - function NewClass() { - var _this = _super !== null && _super.apply(this, arguments) || this; - _this.localTest = false; - _this.clientTestVersion = "1.0.0"; - _this.testVersion = null; - return _this; +var GameConfig_1 = require("../Config/GameConfig"); +var HttpUtil_1 = require("../Crypto/HttpUtil"); +var AudioManager_1 = require("../Music/AudioManager"); +var Notification_1 = require("../Notification/Notification"); +var Storage_1 = require("../Storage/Storage"); +var GameTool_1 = require("../Tool/GameTool"); +window.initMgr = function () { + if (cc.fx) { + return; } - NewClass.prototype.start = function () { - cc.debug.setDisplayStats(false); - window.initMgr(); - cc.fx.GameConfig.init(this.localTest); - // cc.fx.AudioManager.Instance.init(); - this.testVersion.string = this.clientTestVersion; + cc.fx = {}; + console.log("1初始化"); + //基础状态信息 + cc.fx.StateInfo = { + debugMode: true, + networkConnected: true, + networkType: 'none', + isOnForeground: true //当前是否是在前台 }; - //开始游戏,跳转至引导页面 - NewClass.prototype.startGame = function () { - cc.director.loadScene("GameScene"); - // cc.director.loadScene("GuideScene"); + //应用系统信息 + //配置文件 + cc.fx.GameConfig = GameConfig_1.GameConfig; + cc.fx.HttpUtil = HttpUtil_1.default; + cc.fx.GameTool = GameTool_1.GameTool; + cc.fx.AudioManager = AudioManager_1.default; + cc.fx.Notifications = Notification_1.Notifications; + cc.fx.StorageMessage = Storage_1.StorageMessage; + cc.fx.ShareInfo = { + queryId: -1 //分享id }; - //备用,用来测试跳转 指定关卡 - NewClass.prototype.clickBtn = function (event, data) { - cc.fx.GameConfig.GM_INFO.custom = parseInt(data); - cc.director.loadScene("GameScene"); + cc.fx.Message = { + control: "10001", + startGame: "10002", + next: "10003", + changePath: "10004", + changeMap: "10005", + nextWater: "10006", + addEnd: "10007", + setData: "10008", + guideNext: "10009", + showResult: "10010", + removeTip: "10011" //执行撤回或者后退动作,移除提示 }; - //打开排行榜 - NewClass.prototype.openRank = function () { - cc.director.loadScene("RankScene"); + /* + * 客户端埋点分享类型 + */ + cc.fx.BurialShareType = { + Default: "default", + Invite: "invite", + DailyInviteRoomJoin: 'invite_join_room', + DailyInviteFriend: 'invite_friend', + DailyInviteGroup: 'invate_group', + DailyInviteGroupAlive: 'invate_alive', + DailyInviteGroupReward: 'invate_rewared', + DailyInviteGroupBox: 'invate_box', + DailyInviteGroupBall: 'invate_ball', + MatchResult: 'matchResult', + MatchFix5: 'MatchFix5', + MatchFix20: 'MatchFix20', + MatchFix100: 'MatchFix100', + MatchFix500: 'MatchFix500', + NewerRedEnvelope: 'newerRedEnvelope', + CoinRoomResult: 'coinRoomResult', + HighRate: "highRate", + CoinRoomWinStreak: 'coinRoomWinStreak', + CoinRoomBankruptcy1: 'coinRoomBankruptcy1', + CoinRoomBankruptcy2: 'coinRoomBankruptcy2', + CoinRoomBankruptcy3: 'coinRoomBankruptcy3', }; - NewClass.prototype.update = function (dt) { + /* + * 分享到哪儿给奖励 group frined all + */ + cc.fx.ShareWhereReward = { + Group: "group", + Friend: "friend", + All: "all", }; - __decorate([ - property(false) - ], NewClass.prototype, "localTest", void 0); - __decorate([ - property("") - ], NewClass.prototype, "clientTestVersion", void 0); - __decorate([ - property(cc.Label) - ], NewClass.prototype, "testVersion", void 0); - NewClass = __decorate([ - ccclass - ], NewClass); - return NewClass; -}(cc.Component)); -exports.default = NewClass; + //用于存储消息的ID + cc.fx.storageType = cc.Enum({ + storageTypeCustom: 1000101, + }); + //用于存储提示语 按照步骤提示 + cc.fx.tipType = cc.Enum({ + tipOne: '神农氏回到家中,开始整理今天收集来的物品。当他第一次拿出或说出一种植物时,请告诉他这是新植物。', + tipTwo: '如果他拿出或说出的植物你今天看到过,请告诉他上次是看到的;如果你听他说过,则请告诉他上次是听到的。', + tipErrNew: '这是这局游戏第一次出现{植物}', + tipErrOld: '{植物}刚才出现过呢', + tipErrHear: '上次遇到{植物}时,似乎不是听到的吧', + tipErrSee: '上次遇到{植物}时,似乎不是看到的吧', + tipErrLast: '之前确实看到过{植物},但最近一次似乎不是看到的呢', + }); +}; cc._RF.pop(); } @@ -3367,7 +1279,7 @@ cc._RF.pop(); }); } })(); -//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbImFzc2V0c1xcU2NyaXB0XFxMb2FkLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OztBQUNNLElBQUEsS0FBd0MsRUFBRSxDQUFDLFVBQVUsRUFBcEQsT0FBTyxhQUFBLEVBQUUsUUFBUSxjQUFBLEVBQUUsZ0JBQWdCLHNCQUFpQixDQUFDO0FBRzVEO0lBQXNDLDRCQUFZO0lBQWxEO1FBQUEscUVBb0NDO1FBakNHLGVBQVMsR0FBWSxLQUFLLENBQUM7UUFHM0IsdUJBQWlCLEdBQVcsT0FBTyxDQUFDO1FBR3BDLGlCQUFXLEdBQWEsSUFBSSxDQUFDOztJQTJCakMsQ0FBQztJQXpCRyx3QkFBSyxHQUFMO1FBQ0ksRUFBRSxDQUFDLEtBQUssQ0FBQyxlQUFlLENBQUMsS0FBSyxDQUFDLENBQUM7UUFDaEMsTUFBTSxDQUFDLE9BQU8sRUFBRSxDQUFDO1FBQ2pCLEVBQUUsQ0FBQyxFQUFFLENBQUMsVUFBVSxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsU0FBUyxDQUFDLENBQUM7UUFDdEMsc0NBQXNDO1FBQ3RDLElBQUksQ0FBQyxXQUFXLENBQUMsTUFBTSxHQUFHLElBQUksQ0FBQyxpQkFBaUIsQ0FBQztJQUNyRCxDQUFDO0lBRUQsY0FBYztJQUNkLDRCQUFTLEdBQVQ7UUFDSSxFQUFFLENBQUMsUUFBUSxDQUFDLFNBQVMsQ0FBQyxXQUFXLENBQUMsQ0FBQztRQUNuQyx1Q0FBdUM7SUFDM0MsQ0FBQztJQUNELGdCQUFnQjtJQUNoQiwyQkFBUSxHQUFSLFVBQVMsS0FBSyxFQUFDLElBQUk7UUFDZixFQUFFLENBQUMsRUFBRSxDQUFDLFVBQVUsQ0FBQyxPQUFPLENBQUMsTUFBTSxHQUFHLFFBQVEsQ0FBQyxJQUFJLENBQUMsQ0FBQztRQUNqRCxFQUFFLENBQUMsUUFBUSxDQUFDLFNBQVMsQ0FBQyxXQUFXLENBQUMsQ0FBQztJQUN2QyxDQUFDO0lBQ0QsT0FBTztJQUNQLDJCQUFRLEdBQVI7UUFDSSxFQUFFLENBQUMsUUFBUSxDQUFDLFNBQVMsQ0FBQyxXQUFXLENBQUMsQ0FBQztJQUN2QyxDQUFDO0lBRVMseUJBQU0sR0FBaEIsVUFBaUIsRUFBVTtJQUMzQixDQUFDO0lBaENEO1FBREMsUUFBUSxDQUFDLEtBQUssQ0FBQzsrQ0FDVztJQUczQjtRQURDLFFBQVEsQ0FBQyxFQUFFLENBQUM7dURBQ3VCO0lBR3BDO1FBREMsUUFBUSxDQUFDLEVBQUUsQ0FBQyxLQUFLLENBQUM7aURBQ1U7SUFUWixRQUFRO1FBRDVCLE9BQU87T0FDYSxRQUFRLENBb0M1QjtJQUFELGVBQUM7Q0FwQ0QsQUFvQ0MsQ0FwQ3FDLEVBQUUsQ0FBQyxTQUFTLEdBb0NqRDtrQkFwQ29CLFFBQVEiLCJmaWxlIjoiIiwic291cmNlUm9vdCI6Ii8iLCJzb3VyY2VzQ29udGVudCI6WyJcclxuY29uc3Qge2NjY2xhc3MsIHByb3BlcnR5LCByZXF1aXJlQ29tcG9uZW50fSA9IGNjLl9kZWNvcmF0b3I7XHJcblxyXG5AY2NjbGFzc1xyXG5leHBvcnQgZGVmYXVsdCBjbGFzcyBOZXdDbGFzcyBleHRlbmRzIGNjLkNvbXBvbmVudCB7XHJcblxyXG4gICAgQHByb3BlcnR5KGZhbHNlKVxyXG4gICAgbG9jYWxUZXN0OiBib29sZWFuID0gZmFsc2U7XHJcblxyXG4gICAgQHByb3BlcnR5KFwiXCIpXHJcbiAgICBjbGllbnRUZXN0VmVyc2lvbjogc3RyaW5nID0gXCIxLjAuMFwiO1xyXG5cclxuICAgIEBwcm9wZXJ0eShjYy5MYWJlbClcclxuICAgIHRlc3RWZXJzaW9uOiBjYy5MYWJlbCA9IG51bGw7XHJcblxyXG4gICAgc3RhcnQgKCkge1xyXG4gICAgICAgIGNjLmRlYnVnLnNldERpc3BsYXlTdGF0cyhmYWxzZSk7XHJcbiAgICAgICAgd2luZG93LmluaXRNZ3IoKTtcclxuICAgICAgICBjYy5meC5HYW1lQ29uZmlnLmluaXQodGhpcy5sb2NhbFRlc3QpO1xyXG4gICAgICAgIC8vIGNjLmZ4LkF1ZGlvTWFuYWdlci5JbnN0YW5jZS5pbml0KCk7XHJcbiAgICAgICAgdGhpcy50ZXN0VmVyc2lvbi5zdHJpbmcgPSB0aGlzLmNsaWVudFRlc3RWZXJzaW9uO1xyXG4gICAgfVxyXG5cclxuICAgIC8v5byA5aeL5ri45oiP77yM6Lez6L2s6Iez5byV5a+86aG16Z2iXHJcbiAgICBzdGFydEdhbWUoKXtcclxuICAgICAgICBjYy5kaXJlY3Rvci5sb2FkU2NlbmUoXCJHYW1lU2NlbmVcIik7XHJcbiAgICAgICAgLy8gY2MuZGlyZWN0b3IubG9hZFNjZW5lKFwiR3VpZGVTY2VuZVwiKTtcclxuICAgIH1cclxuICAgIC8v5aSH55So77yM55So5p2l5rWL6K+V6Lez6L2sIOaMh+WumuWFs+WNoVxyXG4gICAgY2xpY2tCdG4oZXZlbnQsZGF0YSl7XHJcbiAgICAgICAgY2MuZnguR2FtZUNvbmZpZy5HTV9JTkZPLmN1c3RvbSA9IHBhcnNlSW50KGRhdGEpO1xyXG4gICAgICAgIGNjLmRpcmVjdG9yLmxvYWRTY2VuZShcIkdhbWVTY2VuZVwiKTtcclxuICAgIH0gICBcclxuICAgIC8v5omT5byA5o6S6KGM5qacXHJcbiAgICBvcGVuUmFuaygpe1xyXG4gICAgICAgIGNjLmRpcmVjdG9yLmxvYWRTY2VuZShcIlJhbmtTY2VuZVwiKTtcclxuICAgIH1cclxuICAgIFxyXG4gICAgcHJvdGVjdGVkIHVwZGF0ZShkdDogbnVtYmVyKTogdm9pZCB7XHJcbiAgICB9XHJcbn1cclxuIl19 +//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbImFzc2V0c1xcU2NyaXB0XFxtb2R1bGVcXEdhbWVTdGFydFxcR2FtZUFwcFN0YXJ0LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7Ozs7Ozs7Ozs7Ozs7O0FBQUEsbURBQWtEO0FBQ2xELCtDQUEwQztBQUMxQyxzREFBaUQ7QUFDakQsNkRBQTZEO0FBQzdELDhDQUFvRDtBQUNwRCw2Q0FBNEM7QUFHNUMsTUFBTSxDQUFDLE9BQU8sR0FBRztJQUNiLElBQUcsRUFBRSxDQUFDLEVBQUUsRUFDUjtRQUNJLE9BQU87S0FDVjtJQUNELEVBQUUsQ0FBQyxFQUFFLEdBQUcsRUFBRSxDQUFDO0lBQ1gsT0FBTyxDQUFDLEdBQUcsQ0FBQyxNQUFNLENBQUMsQ0FBQztJQUVwQixRQUFRO0lBQ1IsRUFBRSxDQUFDLEVBQUUsQ0FBQyxTQUFTLEdBQUc7UUFDZCxTQUFTLEVBQUUsSUFBSTtRQUNmLGdCQUFnQixFQUFFLElBQUk7UUFDdEIsV0FBVyxFQUFFLE1BQU07UUFDbkIsY0FBYyxFQUFFLElBQUksQ0FBTSxVQUFVO0tBQ3ZDLENBQUM7SUFFRixRQUFRO0lBQ1IsTUFBTTtJQUVOLEVBQUUsQ0FBQyxFQUFFLENBQUMsVUFBVSxHQUFHLHVCQUFVLENBQUM7SUFDOUIsRUFBRSxDQUFDLEVBQUUsQ0FBQyxRQUFRLEdBQUcsa0JBQVEsQ0FBQztJQUMxQixFQUFFLENBQUMsRUFBRSxDQUFDLFFBQVEsR0FBRyxtQkFBUSxDQUFDO0lBQzFCLEVBQUUsQ0FBQyxFQUFFLENBQUMsWUFBWSxHQUFHLHNCQUFZLENBQUM7SUFDbEMsRUFBRSxDQUFDLEVBQUUsQ0FBQyxhQUFhLEdBQUcsNEJBQWEsQ0FBQztJQUNwQyxFQUFFLENBQUMsRUFBRSxDQUFDLGNBQWMsR0FBRyx3QkFBYyxDQUFDO0lBRXRDLEVBQUUsQ0FBQyxFQUFFLENBQUMsU0FBUyxHQUFHO1FBQ2QsT0FBTyxFQUFHLENBQUMsQ0FBQyxDQUFjLE1BQU07S0FDbkMsQ0FBQztJQUVGLEVBQUUsQ0FBQyxFQUFFLENBQUMsT0FBTyxHQUFHO1FBQ1osT0FBTyxFQUFFLE9BQU87UUFDaEIsU0FBUyxFQUFDLE9BQU87UUFDakIsSUFBSSxFQUFFLE9BQU87UUFDYixVQUFVLEVBQUUsT0FBTztRQUNuQixTQUFTLEVBQUUsT0FBTztRQUNsQixTQUFTLEVBQUUsT0FBTztRQUNsQixNQUFNLEVBQUUsT0FBTztRQUNmLE9BQU8sRUFBRSxPQUFPO1FBQ2hCLFNBQVMsRUFBRSxPQUFPO1FBQ2xCLFVBQVUsRUFBRSxPQUFPO1FBQ25CLFNBQVMsRUFBRSxPQUFPLENBQVUsaUJBQWlCO0tBQ2hELENBQUE7SUFFRDs7TUFFRTtJQUNGLEVBQUUsQ0FBQyxFQUFFLENBQUMsZUFBZSxHQUFHO1FBQ3BCLE9BQU8sRUFBRyxTQUFTO1FBQ25CLE1BQU0sRUFBRyxRQUFRO1FBRWpCLG1CQUFtQixFQUFDLGtCQUFrQjtRQUN0QyxpQkFBaUIsRUFBRyxlQUFlO1FBQ25DLGdCQUFnQixFQUFHLGNBQWM7UUFDakMscUJBQXFCLEVBQUUsY0FBYztRQUNyQyxzQkFBc0IsRUFBRSxnQkFBZ0I7UUFDeEMsbUJBQW1CLEVBQUUsWUFBWTtRQUNqQyxvQkFBb0IsRUFBRSxhQUFhO1FBRW5DLFdBQVcsRUFBRyxhQUFhO1FBQzNCLFNBQVMsRUFBRSxXQUFXO1FBQ3RCLFVBQVUsRUFBRSxZQUFZO1FBQ3hCLFdBQVcsRUFBRSxhQUFhO1FBQzFCLFdBQVcsRUFBRSxhQUFhO1FBQzFCLGdCQUFnQixFQUFFLGtCQUFrQjtRQUNwQyxjQUFjLEVBQUUsZ0JBQWdCO1FBQ2hDLFFBQVEsRUFBRyxVQUFVO1FBQ3JCLGlCQUFpQixFQUFFLG1CQUFtQjtRQUN0QyxtQkFBbUIsRUFBRSxxQkFBcUI7UUFDMUMsbUJBQW1CLEVBQUUscUJBQXFCO1FBQzFDLG1CQUFtQixFQUFFLHFCQUFxQjtLQUM3QyxDQUFDO0lBRUY7O09BRUc7SUFDSCxFQUFFLENBQUMsRUFBRSxDQUFDLGdCQUFnQixHQUFHO1FBQ3JCLEtBQUssRUFBRSxPQUFPO1FBQ2QsTUFBTSxFQUFHLFFBQVE7UUFDakIsR0FBRyxFQUFHLEtBQUs7S0FDZCxDQUFDO0lBRUYsV0FBVztJQUNYLEVBQUUsQ0FBQyxFQUFFLENBQUMsV0FBVyxHQUFHLEVBQUUsQ0FBQyxJQUFJLENBQUM7UUFDM0IsaUJBQWlCLEVBQUUsT0FBTztLQUM3QixDQUFDLENBQUM7SUFFQSxpQkFBaUI7SUFDakIsRUFBRSxDQUFDLEVBQUUsQ0FBQyxPQUFPLEdBQUcsRUFBRSxDQUFDLElBQUksQ0FBQztRQUNwQixNQUFNLEVBQUUsaURBQWlEO1FBQ3pELE1BQU0sRUFBRSxtREFBbUQ7UUFDM0QsU0FBUyxFQUFFLGlCQUFpQjtRQUM1QixTQUFTLEVBQUUsWUFBWTtRQUN2QixVQUFVLEVBQUUsb0JBQW9CO1FBQ2hDLFNBQVMsRUFBRSxvQkFBb0I7UUFDL0IsVUFBVSxFQUFFLDJCQUEyQjtLQUUxQyxDQUFDLENBQUM7QUFFUCxDQUFDLENBQUMiLCJmaWxlIjoiIiwic291cmNlUm9vdCI6Ii8iLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBHYW1lQ29uZmlnIH0gZnJvbSBcIi4uL0NvbmZpZy9HYW1lQ29uZmlnXCI7XHJcbmltcG9ydCBIdHRwVXRpbCBmcm9tIFwiLi4vQ3J5cHRvL0h0dHBVdGlsXCI7XHJcbmltcG9ydCBBdWRpb01hbmFnZXIgZnJvbSBcIi4uL011c2ljL0F1ZGlvTWFuYWdlclwiO1xyXG5pbXBvcnQgeyBOb3RpZmljYXRpb25zIH0gZnJvbSBcIi4uL05vdGlmaWNhdGlvbi9Ob3RpZmljYXRpb25cIjtcclxuaW1wb3J0IHsgU3RvcmFnZU1lc3NhZ2UgfSBmcm9tIFwiLi4vU3RvcmFnZS9TdG9yYWdlXCI7XHJcbmltcG9ydCB7IEdhbWVUb29sIH0gZnJvbSBcIi4uL1Rvb2wvR2FtZVRvb2xcIjtcclxuXHJcblxyXG53aW5kb3cuaW5pdE1nciA9IGZ1bmN0aW9uKCkge1xyXG4gICAgaWYoY2MuZngpXHJcbiAgICB7XHJcbiAgICAgICAgcmV0dXJuO1xyXG4gICAgfVxyXG4gICAgY2MuZnggPSB7fTtcclxuICAgIGNvbnNvbGUubG9nKFwiMeWIneWni+WMllwiKTtcclxuXHJcbiAgICAvL+WfuuehgOeKtuaAgeS/oeaBr1xyXG4gICAgY2MuZnguU3RhdGVJbmZvID0ge1xyXG4gICAgICAgIGRlYnVnTW9kZTogdHJ1ZSxcclxuICAgICAgICBuZXR3b3JrQ29ubmVjdGVkOiB0cnVlLCAgIC8v572R57uc54q25oCBXHJcbiAgICAgICAgbmV0d29ya1R5cGU6ICdub25lJywgICAgICAvL+e9kee7nOexu+Wei1xyXG4gICAgICAgIGlzT25Gb3JlZ3JvdW5kOiB0cnVlICAgICAgLy/lvZPliY3mmK/lkKbmmK/lnKjliY3lj7BcclxuICAgIH07XHJcblxyXG4gICAgLy/lupTnlKjns7vnu5/kv6Hmga9cclxuICAgIC8v6YWN572u5paH5Lu2XHJcblxyXG4gICAgY2MuZnguR2FtZUNvbmZpZyA9IEdhbWVDb25maWc7XHJcbiAgICBjYy5meC5IdHRwVXRpbCA9IEh0dHBVdGlsO1xyXG4gICAgY2MuZnguR2FtZVRvb2wgPSBHYW1lVG9vbDtcclxuICAgIGNjLmZ4LkF1ZGlvTWFuYWdlciA9IEF1ZGlvTWFuYWdlcjtcclxuICAgIGNjLmZ4Lk5vdGlmaWNhdGlvbnMgPSBOb3RpZmljYXRpb25zO1xyXG4gICAgY2MuZnguU3RvcmFnZU1lc3NhZ2UgPSBTdG9yYWdlTWVzc2FnZTtcclxuXHJcbiAgICBjYy5meC5TaGFyZUluZm8gPSB7XHJcbiAgICAgICAgcXVlcnlJZCA6IC0xICAgICAgICAgICAgICAvL+WIhuS6q2lkXHJcbiAgICB9O1xyXG5cclxuICAgIGNjLmZ4Lk1lc3NhZ2UgPSB7XHJcbiAgICAgICAgY29udHJvbDogXCIxMDAwMVwiLCAgICAgICAvL+S8oOmAkuaTjeS9nOaOp+WItlxyXG4gICAgICAgIHN0YXJ0R2FtZTpcIjEwMDAyXCIsICAgICAgLy/kvKDpgJLlvIDlp4vlu7rnrZFcclxuICAgICAgICBuZXh0OiBcIjEwMDAzXCIgLCAgICAgICAgICAvL+S8oOmAkuaJp+ihjOS4i+S4gOS4quagvOWtkOa0quawtOa1gei/h1xyXG4gICAgICAgIGNoYW5nZVBhdGg6IFwiMTAwMDRcIiwgICAgICAgLy/kvKDpgJLmk43kvZzmjqfliLZcclxuICAgICAgICBjaGFuZ2VNYXA6IFwiMTAwMDVcIiwgICAgICAgICAvL+aUueWPmOmCo+WcsOWbvlxyXG4gICAgICAgIG5leHRXYXRlcjogXCIxMDAwNlwiICwgICAgICAgICAgLy/kvKDpgJLmiafooYzkuIvkuIDkuKrmoLzlrZDmtKrmsLTmtYHov4dcclxuICAgICAgICBhZGRFbmQ6IFwiMTAwMDdcIiAsICAgICAgICAgIC8v5re75Yqg57uT5p2f54K5XHJcbiAgICAgICAgc2V0RGF0YTogXCIxMDAwOFwiICwgICAgICAgICAvL+S4iuS8oOWIhuaVsFxyXG4gICAgICAgIGd1aWRlTmV4dDogXCIxMDAwOVwiICwgICAgICAgIC8v5byV5a+86L+b5YWl5LiL5LiA5q2lXHJcbiAgICAgICAgc2hvd1Jlc3VsdDogXCIxMDAxMFwiLCAgICAgICAgICAvL+Wxleekuuayu+awtOe7k+aenFxyXG4gICAgICAgIHJlbW92ZVRpcDogXCIxMDAxMVwiICAgICAgICAgIC8v5omn6KGM5pKk5Zue5oiW6ICF5ZCO6YCA5Yqo5L2c77yM56e76Zmk5o+Q56S6XHJcbiAgICB9XHJcblxyXG4gICAgLypcclxuICAgICAgICAqIOWuouaIt+err+Wfi+eCueWIhuS6q+exu+Wei1xyXG4gICAgKi9cclxuICAgIGNjLmZ4LkJ1cmlhbFNoYXJlVHlwZSA9IHtcclxuICAgICAgICBEZWZhdWx0IDogXCJkZWZhdWx0XCIsICAgICAgICAvL+m7mOiupOWIhuS6q+exu+WeiyzliIbkuqvliLDnvqRcclxuICAgICAgICBJbnZpdGUgOiBcImludml0ZVwiLCAgICAgICAgICAvLyDpgoDor7flpb3lj4tcclxuXHJcbiAgICAgICAgRGFpbHlJbnZpdGVSb29tSm9pbjonaW52aXRlX2pvaW5fcm9vbScsIC8v6YKA6K+35aW95Y+L5Yqg5YWlXHJcbiAgICAgICAgRGFpbHlJbnZpdGVGcmllbmQgOiAnaW52aXRlX2ZyaWVuZCcsIC8vIOaXpeW4uOmCgOivt+WlveWPi1xyXG4gICAgICAgIERhaWx5SW52aXRlR3JvdXAgOiAnaW52YXRlX2dyb3VwJywgLy8g5pel5bi45YiG5Lqr576kXHJcbiAgICAgICAgRGFpbHlJbnZpdGVHcm91cEFsaXZlOiAnaW52YXRlX2FsaXZlJywgLy/ml6XluLjliIbkuqvnvqTlpI3mtLtcclxuICAgICAgICBEYWlseUludml0ZUdyb3VwUmV3YXJkOiAnaW52YXRlX3Jld2FyZWQnLC8v5YiG5Lqr5aWW5Yqx57+75YCNXHJcbiAgICAgICAgRGFpbHlJbnZpdGVHcm91cEJveDogJ2ludmF0ZV9ib3gnLCAgLy/lrp3nrrHliIbkuqvlpZblirFcclxuICAgICAgICBEYWlseUludml0ZUdyb3VwQmFsbDogJ2ludmF0ZV9iYWxsJywgIC8v5YiG5Lqr6aKG5Y+W55CD55CDXHJcblxyXG4gICAgICAgIE1hdGNoUmVzdWx0IDogJ21hdGNoUmVzdWx0JywgIC8vIOavlOi1m+e7k+eul+WIhuS6q1xyXG4gICAgICAgIE1hdGNoRml4NTogJ01hdGNoRml4NScsICAgICAgICAgICAgICAgICAgICAgICAgICAvLyA15YWD57qi5YyF6LWbXHJcbiAgICAgICAgTWF0Y2hGaXgyMDogJ01hdGNoRml4MjAnLCAgICAgICAgICAgICAgICAgICAgICAgIC8vIDIw5YWD57qi5YyF6LWbXHJcbiAgICAgICAgTWF0Y2hGaXgxMDA6ICdNYXRjaEZpeDEwMCcsICAgICAgICAgICAgICAgICAgICAgIC8vIDEwMOWFg+e6ouWMhei1m1xyXG4gICAgICAgIE1hdGNoRml4NTAwOiAnTWF0Y2hGaXg1MDAnLCAgICAgICAgICAgICAgICAgICAgICAvLyA1MDDlhYPnuqLljIXotZtcclxuICAgICAgICBOZXdlclJlZEVudmVsb3BlOiAnbmV3ZXJSZWRFbnZlbG9wZScsICAgICAgICAgICAgLy8g5paw5omL57qi5YyFXHJcbiAgICAgICAgQ29pblJvb21SZXN1bHQ6ICdjb2luUm9vbVJlc3VsdCcsICAgICAgICAgICAgICAgIC8vIOmHkeW4geahjOe7k+eul1xyXG4gICAgICAgIEhpZ2hSYXRlIDogXCJoaWdoUmF0ZVwiLC8v6auY5YCN5YiG5LqrXHJcbiAgICAgICAgQ29pblJvb21XaW5TdHJlYWs6ICdjb2luUm9vbVdpblN0cmVhaycsICAgICAgICAgLy8g6L+e6IOcXHJcbiAgICAgICAgQ29pblJvb21CYW5rcnVwdGN5MTogJ2NvaW5Sb29tQmFua3J1cHRjeTEnLCAgICAgICAgIC8vIOmHkeW4geahjOegtOS6p1xyXG4gICAgICAgIENvaW5Sb29tQmFua3J1cHRjeTI6ICdjb2luUm9vbUJhbmtydXB0Y3kyJywgICAgICAgICAvLyDph5HluIHmoYznoLTkuqdcclxuICAgICAgICBDb2luUm9vbUJhbmtydXB0Y3kzOiAnY29pblJvb21CYW5rcnVwdGN5MycsICAgICAgICAgLy8g6YeR5biB5qGM56C05LqnXHJcbiAgICB9O1xyXG5cclxuICAgIC8qXHJcbiAgICAgKiDliIbkuqvliLDlk6rlhL/nu5nlpZblirEgZ3JvdXAgZnJpbmVkIGFsbFxyXG4gICAgICovXHJcbiAgICBjYy5meC5TaGFyZVdoZXJlUmV3YXJkID0ge1xyXG4gICAgICAgIEdyb3VwIDpcImdyb3VwXCIsIC8v5b6u5L+h576kXHJcbiAgICAgICAgRnJpZW5kIDogXCJmcmllbmRcIiwvL+WlveWPi1xyXG4gICAgICAgIEFsbCA6IFwiYWxsXCIsIC8v5LiN5Yy65YiGXHJcbiAgICB9O1xyXG5cclxuICAgIC8v55So5LqO5a2Y5YKo5raI5oGv55qESURcclxuICAgIGNjLmZ4LnN0b3JhZ2VUeXBlID0gY2MuRW51bSh7XHJcblx0ICAgIHN0b3JhZ2VUeXBlQ3VzdG9tOiAxMDAwMTAxLCAvL+eUqOS6juWtmOWCqOWFs+WNoeetiee6p1xyXG5cdH0pO1xyXG5cclxuICAgIC8v55So5LqO5a2Y5YKo5o+Q56S66K+tICDmjInnhafmraXpqqTmj5DnpLpcclxuICAgIGNjLmZ4LnRpcFR5cGUgPSBjYy5FbnVtKHtcclxuICAgICAgICB0aXBPbmU6ICfnpZ7lhpzmsI/lm57liLDlrrbkuK3vvIzlvIDlp4vmlbTnkIbku4rlpKnmlLbpm4bmnaXnmoTnianlk4HjgILlvZPku5bnrKzkuIDmrKHmi7/lh7rmiJbor7Tlh7rkuIDnp43mpI3nianml7bvvIzor7flkYror4nku5bov5nmmK/mlrDmpI3nianjgIInLFxyXG4gICAgICAgIHRpcFR3bzogJ+WmguaenOS7luaLv+WHuuaIluivtOWHuueahOakjeeJqeS9oOS7iuWkqeeci+WIsOi/h++8jOivt+WRiuivieS7luS4iuasoeaYr+eci+WIsOeahO+8m+WmguaenOS9oOWQrOS7luivtOi/h++8jOWImeivt+WRiuivieS7luS4iuasoeaYr+WQrOWIsOeahOOAgicsIC8v55So5LqO5a2Y5YKo5YWz5Y2h562J57qnXHJcbiAgICAgICAgdGlwRXJyTmV3OiAn6L+Z5piv6L+Z5bGA5ri45oiP56ys5LiA5qyh5Ye6546we+akjeeJqX0nLFxyXG4gICAgICAgIHRpcEVyck9sZDogJ3vmpI3nial95Yia5omN5Ye6546w6L+H5ZGiJyxcclxuICAgICAgICB0aXBFcnJIZWFyOiAn5LiK5qyh6YGH5Yiwe+akjeeJqX3ml7bvvIzkvLzkuY7kuI3mmK/lkKzliLDnmoTlkKcnLFxyXG4gICAgICAgIHRpcEVyclNlZTogJ+S4iuasoemBh+WIsHvmpI3nial95pe277yM5Ly85LmO5LiN5piv55yL5Yiw55qE5ZCnJyxcclxuICAgICAgICB0aXBFcnJMYXN0OiAn5LmL5YmN56Gu5a6e55yL5Yiw6L+He+akjeeJqX3vvIzkvYbmnIDov5HkuIDmrKHkvLzkuY7kuI3mmK/nnIvliLDnmoTlkaInLFxyXG5cclxuICAgIH0pO1xyXG5cclxufTsiXX0= //------QC-SOURCE-SPLIT------ (function() { @@ -3578,7 +1490,7 @@ cc._RF.pop(); (function() { var nodeEnv = typeof require !== 'undefined' && typeof process !== 'undefined'; var __module = nodeEnv ? module : {exports:{}}; - var __filename = 'preview-scripts/assets/Script/Map.js'; + var __filename = 'preview-scripts/assets/Script/Mask.js'; var __require = nodeEnv ? function (request) { return cc.require(request); } : function (request) { @@ -3586,8 +1498,8 @@ cc._RF.pop(); }; function __define (exports, require, module) { if (!nodeEnv) {__quick_compile_project__.registerModule(__filename, module);}"use strict"; -cc._RF.push(module, '2234assp7RIvpDgrnqljp2R', 'Map'); -// Script/Map.ts +cc._RF.push(module, '81171JxkddO6ZzuXLu/FZen', 'Mask'); +// Script/Mask.ts "use strict"; // Learn TypeScript: @@ -3622,59 +1534,18 @@ var NewClass = /** @class */ (function (_super) { function NewClass() { return _super !== null && _super.apply(this, arguments) || this; } - NewClass.prototype.onLoad = function () { - }; + // LIFE-CYCLE CALLBACKS: + // onLoad () {} NewClass.prototype.start = function () { - this.initMap(); - }; - NewClass.prototype.initMap = function () { - this.setMapInfo(); - }; - //根据关卡设置地图大小 - NewClass.prototype.setMapInfo = function () { - switch (cc.fx.GameConfig.custom) { - case 0: - this.vertical = 4; - this.horizontal = 4; - this.passTime = 0.3; - break; - case 1: - this.vertical = 5; - this.horizontal = 5; - this.passTime = 0.25; - break; - case 2: - this.vertical = 5; - this.horizontal = 5; - this.passTime = 0.2; - break; - case 3: - this.vertical = 5; - this.horizontal = 5; - this.passTime = 0.18; - break; - case 4: - this.vertical = 6; - this.horizontal = 6; - this.passTime = 0.16; - break; - case 5: - this.vertical = 6; - this.horizontal = 7; - this.passTime = 0.14; - break; - case 6: - this.vertical = 6; - this.horizontal = 8; - this.passTime = 0.12; - break; - case 7: - this.vertical = 6; - this.horizontal = 9; - this.passTime = 0.1; - break; + var GameManager = this.node.parent.parent.parent.getComponent("GameManager"); + if (GameManager.bgClick == true) { + GameManager.bgClick = false; + this.node.on(cc.Node.EventType.TOUCH_START, this.onClick, this); } }; + NewClass.prototype.onClick = function () { + cc.fx.Notifications.emit(cc.fx.Message.guideNext); + }; NewClass = __decorate([ ccclass ], NewClass); @@ -3693,1446 +1564,7 @@ cc._RF.pop(); }); } })(); -//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbImFzc2V0c1xcU2NyaXB0XFxNYXAudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7Ozs7Ozs7OztBQUFBLG9CQUFvQjtBQUNwQix3RUFBd0U7QUFDeEUsbUJBQW1CO0FBQ25CLGtGQUFrRjtBQUNsRiw4QkFBOEI7QUFDOUIsa0ZBQWtGOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7QUFFNUUsSUFBQSxLQUFzQixFQUFFLENBQUMsVUFBVSxFQUFsQyxPQUFPLGFBQUEsRUFBRSxRQUFRLGNBQWlCLENBQUM7QUFLMUM7SUFBc0MsNEJBQVk7SUFBbEQ7O0lBbUVBLENBQUM7SUEzREcseUJBQU0sR0FBTjtJQUVBLENBQUM7SUFFRCx3QkFBSyxHQUFMO1FBQ0csSUFBSSxDQUFDLE9BQU8sRUFBRSxDQUFDO0lBQ2xCLENBQUM7SUFFRCwwQkFBTyxHQUFQO1FBQ0ksSUFBSSxDQUFDLFVBQVUsRUFBRSxDQUFDO0lBQ3RCLENBQUM7SUFFRCxZQUFZO0lBQ1osNkJBQVUsR0FBVjtRQUNJLFFBQU8sRUFBRSxDQUFDLEVBQUUsQ0FBQyxVQUFVLENBQUMsTUFBTSxFQUFDO1lBQzNCLEtBQUssQ0FBQztnQkFDRixJQUFJLENBQUMsUUFBUSxHQUFHLENBQUMsQ0FBQztnQkFDbEIsSUFBSSxDQUFDLFVBQVUsR0FBRyxDQUFDLENBQUM7Z0JBQ3BCLElBQUksQ0FBQyxRQUFRLEdBQUcsR0FBRyxDQUFDO2dCQUN4QixNQUFNO1lBQ04sS0FBSyxDQUFDO2dCQUNGLElBQUksQ0FBQyxRQUFRLEdBQUcsQ0FBQyxDQUFDO2dCQUNsQixJQUFJLENBQUMsVUFBVSxHQUFHLENBQUMsQ0FBQztnQkFDcEIsSUFBSSxDQUFDLFFBQVEsR0FBRyxJQUFJLENBQUM7Z0JBQ3pCLE1BQU07WUFDTixLQUFLLENBQUM7Z0JBQ0YsSUFBSSxDQUFDLFFBQVEsR0FBRyxDQUFDLENBQUM7Z0JBQ2xCLElBQUksQ0FBQyxVQUFVLEdBQUcsQ0FBQyxDQUFDO2dCQUNwQixJQUFJLENBQUMsUUFBUSxHQUFHLEdBQUcsQ0FBQztnQkFDeEIsTUFBTTtZQUNOLEtBQUssQ0FBQztnQkFDRixJQUFJLENBQUMsUUFBUSxHQUFHLENBQUMsQ0FBQztnQkFDbEIsSUFBSSxDQUFDLFVBQVUsR0FBRyxDQUFDLENBQUM7Z0JBQ3BCLElBQUksQ0FBQyxRQUFRLEdBQUcsSUFBSSxDQUFDO2dCQUN6QixNQUFNO1lBQ04sS0FBSyxDQUFDO2dCQUNGLElBQUksQ0FBQyxRQUFRLEdBQUcsQ0FBQyxDQUFDO2dCQUNsQixJQUFJLENBQUMsVUFBVSxHQUFHLENBQUMsQ0FBQztnQkFDcEIsSUFBSSxDQUFDLFFBQVEsR0FBRyxJQUFJLENBQUM7Z0JBQ3pCLE1BQU07WUFDTixLQUFLLENBQUM7Z0JBQ0YsSUFBSSxDQUFDLFFBQVEsR0FBRyxDQUFDLENBQUM7Z0JBQ2xCLElBQUksQ0FBQyxVQUFVLEdBQUcsQ0FBQyxDQUFDO2dCQUNwQixJQUFJLENBQUMsUUFBUSxHQUFHLElBQUksQ0FBQztnQkFDekIsTUFBTTtZQUNOLEtBQUssQ0FBQztnQkFDRixJQUFJLENBQUMsUUFBUSxHQUFHLENBQUMsQ0FBQztnQkFDbEIsSUFBSSxDQUFDLFVBQVUsR0FBRyxDQUFDLENBQUM7Z0JBQ3BCLElBQUksQ0FBQyxRQUFRLEdBQUcsSUFBSSxDQUFDO2dCQUN6QixNQUFNO1lBQ04sS0FBSyxDQUFDO2dCQUNGLElBQUksQ0FBQyxRQUFRLEdBQUcsQ0FBQyxDQUFDO2dCQUNsQixJQUFJLENBQUMsVUFBVSxHQUFHLENBQUMsQ0FBQztnQkFDcEIsSUFBSSxDQUFDLFFBQVEsR0FBRyxHQUFHLENBQUM7Z0JBQ3hCLE1BQU07U0FDVDtJQUNMLENBQUM7SUFoRWdCLFFBQVE7UUFENUIsT0FBTztPQUNhLFFBQVEsQ0FtRTVCO0lBQUQsZUFBQztDQW5FRCxBQW1FQyxDQW5FcUMsRUFBRSxDQUFDLFNBQVMsR0FtRWpEO2tCQW5Fb0IsUUFBUSIsImZpbGUiOiIiLCJzb3VyY2VSb290IjoiLyIsInNvdXJjZXNDb250ZW50IjpbIi8vIExlYXJuIFR5cGVTY3JpcHQ6XHJcbi8vICAtIGh0dHBzOi8vZG9jcy5jb2Nvcy5jb20vY3JlYXRvci9tYW51YWwvZW4vc2NyaXB0aW5nL3R5cGVzY3JpcHQuaHRtbFxyXG4vLyBMZWFybiBBdHRyaWJ1dGU6XHJcbi8vICAtIGh0dHBzOi8vZG9jcy5jb2Nvcy5jb20vY3JlYXRvci9tYW51YWwvZW4vc2NyaXB0aW5nL3JlZmVyZW5jZS9hdHRyaWJ1dGVzLmh0bWxcclxuLy8gTGVhcm4gbGlmZS1jeWNsZSBjYWxsYmFja3M6XHJcbi8vICAtIGh0dHBzOi8vZG9jcy5jb2Nvcy5jb20vY3JlYXRvci9tYW51YWwvZW4vc2NyaXB0aW5nL2xpZmUtY3ljbGUtY2FsbGJhY2tzLmh0bWxcclxuXHJcbmNvbnN0IHtjY2NsYXNzLCBwcm9wZXJ0eX0gPSBjYy5fZGVjb3JhdG9yO1xyXG5cclxuXHJcblxyXG5AY2NjbGFzc1xyXG5leHBvcnQgZGVmYXVsdCBjbGFzcyBOZXdDbGFzcyBleHRlbmRzIGNjLkNvbXBvbmVudCB7XHJcblxyXG4gICAgLy8gTElGRS1DWUNMRSBDQUxMQkFDS1M6XHJcbiAgICBob3Jpem9udGFsOm51bWJlcjsgIC8v5qiq5ZCRICBcclxuICAgIHZlcnRpY2FsOm51bWJlcjsgICAgLy/nurXlkJFcclxuICAgIHBhc3NUaW1lOm51bWJlcjtcclxuICAgIG5vd1BvczpjYy5WZWMyO1xyXG5cclxuICAgIG9uTG9hZCAoKSB7XHJcblxyXG4gICAgfVxyXG5cclxuICAgIHN0YXJ0ICgpIHtcclxuICAgICAgIHRoaXMuaW5pdE1hcCgpO1xyXG4gICAgfVxyXG5cclxuICAgIGluaXRNYXAoKXtcclxuICAgICAgICB0aGlzLnNldE1hcEluZm8oKTtcclxuICAgIH1cclxuXHJcbiAgICAvL+agueaNruWFs+WNoeiuvue9ruWcsOWbvuWkp+Wwj1xyXG4gICAgc2V0TWFwSW5mbygpe1xyXG4gICAgICAgIHN3aXRjaChjYy5meC5HYW1lQ29uZmlnLmN1c3RvbSl7XHJcbiAgICAgICAgICAgIGNhc2UgMDpcclxuICAgICAgICAgICAgICAgIHRoaXMudmVydGljYWwgPSA0O1xyXG4gICAgICAgICAgICAgICAgdGhpcy5ob3Jpem9udGFsID0gNDtcclxuICAgICAgICAgICAgICAgIHRoaXMucGFzc1RpbWUgPSAwLjM7XHJcbiAgICAgICAgICAgIGJyZWFrO1xyXG4gICAgICAgICAgICBjYXNlIDE6XHJcbiAgICAgICAgICAgICAgICB0aGlzLnZlcnRpY2FsID0gNTtcclxuICAgICAgICAgICAgICAgIHRoaXMuaG9yaXpvbnRhbCA9IDU7XHJcbiAgICAgICAgICAgICAgICB0aGlzLnBhc3NUaW1lID0gMC4yNTtcclxuICAgICAgICAgICAgYnJlYWs7XHJcbiAgICAgICAgICAgIGNhc2UgMjpcclxuICAgICAgICAgICAgICAgIHRoaXMudmVydGljYWwgPSA1O1xyXG4gICAgICAgICAgICAgICAgdGhpcy5ob3Jpem9udGFsID0gNTtcclxuICAgICAgICAgICAgICAgIHRoaXMucGFzc1RpbWUgPSAwLjI7XHJcbiAgICAgICAgICAgIGJyZWFrO1xyXG4gICAgICAgICAgICBjYXNlIDM6XHJcbiAgICAgICAgICAgICAgICB0aGlzLnZlcnRpY2FsID0gNTtcclxuICAgICAgICAgICAgICAgIHRoaXMuaG9yaXpvbnRhbCA9IDU7XHJcbiAgICAgICAgICAgICAgICB0aGlzLnBhc3NUaW1lID0gMC4xODtcclxuICAgICAgICAgICAgYnJlYWs7XHJcbiAgICAgICAgICAgIGNhc2UgNDpcclxuICAgICAgICAgICAgICAgIHRoaXMudmVydGljYWwgPSA2O1xyXG4gICAgICAgICAgICAgICAgdGhpcy5ob3Jpem9udGFsID0gNjtcclxuICAgICAgICAgICAgICAgIHRoaXMucGFzc1RpbWUgPSAwLjE2O1xyXG4gICAgICAgICAgICBicmVhaztcclxuICAgICAgICAgICAgY2FzZSA1OlxyXG4gICAgICAgICAgICAgICAgdGhpcy52ZXJ0aWNhbCA9IDY7XHJcbiAgICAgICAgICAgICAgICB0aGlzLmhvcml6b250YWwgPSA3O1xyXG4gICAgICAgICAgICAgICAgdGhpcy5wYXNzVGltZSA9IDAuMTQ7XHJcbiAgICAgICAgICAgIGJyZWFrO1xyXG4gICAgICAgICAgICBjYXNlIDY6XHJcbiAgICAgICAgICAgICAgICB0aGlzLnZlcnRpY2FsID0gNjtcclxuICAgICAgICAgICAgICAgIHRoaXMuaG9yaXpvbnRhbCA9IDg7XHJcbiAgICAgICAgICAgICAgICB0aGlzLnBhc3NUaW1lID0gMC4xMjtcclxuICAgICAgICAgICAgYnJlYWs7XHJcbiAgICAgICAgICAgIGNhc2UgNzpcclxuICAgICAgICAgICAgICAgIHRoaXMudmVydGljYWwgPSA2O1xyXG4gICAgICAgICAgICAgICAgdGhpcy5ob3Jpem9udGFsID0gOTtcclxuICAgICAgICAgICAgICAgIHRoaXMucGFzc1RpbWUgPSAwLjE7XHJcbiAgICAgICAgICAgIGJyZWFrO1xyXG4gICAgICAgIH1cclxuICAgIH1cclxuXHJcbiAgICAvLyB1cGRhdGUgKGR0KSB7fVxyXG59XHJcbiJdfQ== -//------QC-SOURCE-SPLIT------ - - (function() { - var nodeEnv = typeof require !== 'undefined' && typeof process !== 'undefined'; - var __module = nodeEnv ? module : {exports:{}}; - var __filename = 'preview-scripts/tiledmap-optimize-resource/Script/TmoAssembler.js'; - var __require = nodeEnv ? function (request) { - return cc.require(request); - } : function (request) { - return __quick_compile_project__.require(request, __filename); - }; - function __define (exports, require, module) { - if (!nodeEnv) {__quick_compile_project__.registerModule(__filename, module);}"use strict"; -cc._RF.push(module, '18d1c5ObBtCeaysyO5bMIgb', 'TmoAssembler'); -// Script/TmoAssembler.js - -"use strict"; - -exports.__esModule = true; -exports.TmoAssembler = void 0; - -function _defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if ("value" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } - -function _createClass(Constructor, protoProps, staticProps) { if (protoProps) _defineProperties(Constructor.prototype, protoProps); if (staticProps) _defineProperties(Constructor, staticProps); return Constructor; } - -function _inheritsLoose(subClass, superClass) { subClass.prototype = Object.create(superClass.prototype); subClass.prototype.constructor = subClass; _setPrototypeOf(subClass, superClass); } - -function _setPrototypeOf(o, p) { _setPrototypeOf = Object.setPrototypeOf || function _setPrototypeOf(o, p) { o.__proto__ = p; return o; }; return _setPrototypeOf(o, p); } - -var gfx = cc.gfx; // 颜色去除 + 物件图集合批 - -var vfmtPosUvIndex = new gfx.VertexFormat([{ - name: gfx.ATTR_POSITION, - type: gfx.ATTR_TYPE_FLOAT32, - num: 2 -}, { - name: gfx.ATTR_UV0, - type: gfx.ATTR_TYPE_FLOAT32, - num: 2 -}, { - name: "a_texture_idx", - type: gfx.ATTR_TYPE_FLOAT32, - num: 1 -}]); // 仅物件图集合批 - -var vfmtPosUvColorIndex = new gfx.VertexFormat([{ - name: gfx.ATTR_POSITION, - type: gfx.ATTR_TYPE_FLOAT32, - num: 2 -}, { - name: gfx.ATTR_UV0, - type: gfx.ATTR_TYPE_FLOAT32, - num: 2 -}, { - name: "a_texture_idx", - type: gfx.ATTR_TYPE_FLOAT32, - num: 1 -}, { - name: gfx.ATTR_COLOR, - type: gfx.ATTR_TYPE_UINT8, - num: 4, - normalize: true -}]); - -var TmoAssembler = /*#__PURE__*/function (_cc$Assembler) { - _inheritsLoose(TmoAssembler, _cc$Assembler); - - function TmoAssembler() { - return _cc$Assembler.apply(this, arguments) || this; - } - - var _proto = TmoAssembler.prototype; - - _proto.init = function init(comp) { - _cc$Assembler.prototype.init.call(this, comp); - - this._noColor = comp.isNoColor(); - this.updateColor = this._noColor ? undefined : this.updateColorFunc; - this.uvOffset = 2; - this.colorOffset = 5; - this.textureIndexOffset = 4; - this.floatsPerVert = this._noColor ? 5 : 6; - this.indicesCount = 6; - this.verticesCount = 4; - this._renderData = new cc.RenderData(); - - this._renderData.init(this); - - this.initLocal(); - this.initData(); - }; - - _proto.initLocal = function initLocal() { - this._local = []; - this._local.length = 4; - }; - - _proto.initData = function initData() { - var data = this._renderData; - data.createFlexData(0, this.verticesCount, this.indicesCount, this.getVfmt()); // 填充顶点索引信息 - - var indices = data.iDatas[0]; - var count = indices.length / 6; - - for (var i = 0, idx = 0; i < count; i++) { - var vertextID = i * 4; - indices[idx++] = vertextID; - indices[idx++] = vertextID + 1; - indices[idx++] = vertextID + 2; - indices[idx++] = vertextID + 1; - indices[idx++] = vertextID + 3; - indices[idx++] = vertextID + 2; - } - }; - - _proto.getBuffer = function getBuffer() { - return cc.renderer._handle.getBuffer("mesh", this.getVfmt()); - }; - - _proto.getVfmt = function getVfmt() { - return this._noColor ? vfmtPosUvIndex : vfmtPosUvColorIndex; - }; - - _proto.updateRenderData = function updateRenderData(sprite) { - this.packToDynamicAtlas(sprite, sprite._spriteFrame); - - if (sprite._vertsDirty) { - this.updateUVs(sprite); - this.updateVerts(sprite); - this.updateTextureIdx(sprite); - sprite._vertsDirty = false; - } - } - /** - * 填充textureIndex数据 - * @param {cc.Sprite} sprite - */ - ; - - _proto.updateTextureIdx = function updateTextureIdx(sprite) { - var textureIdx = sprite._textureIdx; - var verts = this._renderData.vDatas[0]; - var verticesCount = this.verticesCount; - var floatsPerVert = this.floatsPerVert; - var textureIndexOffset = this.textureIndexOffset; - - for (var i = 0; i < verticesCount; i++) { - var index = i * floatsPerVert + textureIndexOffset; - verts[index] = textureIdx; - } - }; - - _proto.updateUVs = function updateUVs(sprite) { - var uv = sprite._spriteFrame.uv; - var uvOffset = this.uvOffset; - var floatsPerVert = this.floatsPerVert; - var verts = this._renderData.vDatas[0]; - - for (var i = 0; i < 4; i++) { - var srcOffset = i * 2; - var dstOffset = floatsPerVert * i + uvOffset; - verts[dstOffset] = uv[srcOffset]; - verts[dstOffset + 1] = uv[srcOffset + 1]; - } - }; - - _proto.updateVerts = function updateVerts(sprite) { - var node = sprite.node, - cw = node.width, - ch = node.height, - appx = node.anchorX * cw, - appy = node.anchorY * ch, - l, - b, - r, - t; - - if (sprite.trim) { - l = -appx; - b = -appy; - r = cw - appx; - t = ch - appy; - } else { - var frame = sprite.spriteFrame, - ow = frame._originalSize.width, - oh = frame._originalSize.height, - rw = frame._rect.width, - rh = frame._rect.height, - offset = frame._offset, - scaleX = cw / ow, - scaleY = ch / oh; - var trimLeft = offset.x + (ow - rw) / 2; - var trimRight = offset.x - (ow - rw) / 2; - var trimBottom = offset.y + (oh - rh) / 2; - var trimTop = offset.y - (oh - rh) / 2; - l = trimLeft * scaleX - appx; - b = trimBottom * scaleY - appy; - r = cw + trimRight * scaleX - appx; - t = ch + trimTop * scaleY - appy; - } - - var local = this._local; - local[0] = l; - local[1] = b; - local[2] = r; - local[3] = t; - this.updateWorldVerts(sprite); - }; - - _proto.updateColorFunc = function updateColorFunc(comp, color) { - var uintVerts = this._renderData.uintVDatas[0]; - if (!uintVerts) return; - color = color != null ? color : comp.node.color._val; - var floatsPerVert = this.floatsPerVert; - var colorOffset = this.colorOffset; - - for (var i = colorOffset, l = uintVerts.length; i < l; i += floatsPerVert) { - uintVerts[i] = color; - } - }; - - _proto.updateWorldVerts = function updateWorldVerts(comp) { - if (CC_NATIVERENDERER) { - // 原生平台兼容代码 复制于jsb-engine.js中的cc.Assembler2D.prototype.updateWorldVerts - var local = this._local; - var verts = this._renderData.vDatas[0]; - var vl = local[0], - vr = local[2], - vb = local[1], - vt = local[3]; - var floatsPerVert = this.floatsPerVert; - var vertexOffset = 0; // left bottom - - verts[vertexOffset] = vl; - verts[vertexOffset + 1] = vb; - vertexOffset += floatsPerVert; // right bottom - - verts[vertexOffset] = vr; - verts[vertexOffset + 1] = vb; - vertexOffset += floatsPerVert; // left top - - verts[vertexOffset] = vl; - verts[vertexOffset + 1] = vt; - vertexOffset += floatsPerVert; // right top - - verts[vertexOffset] = vr; - verts[vertexOffset + 1] = vt; - } else { - var _local = this._local; - var _verts = this._renderData.vDatas[0]; - var matrix = comp.node._worldMatrix; - var matrixm = matrix.m, - a = matrixm[0], - b = matrixm[1], - c = matrixm[4], - d = matrixm[5], - tx = matrixm[12], - ty = matrixm[13]; - var _vl = _local[0], - _vr = _local[2], - _vb = _local[1], - _vt = _local[3]; - var _floatsPerVert = this.floatsPerVert; - var _vertexOffset = 0; - var justTranslate = a === 1 && b === 0 && c === 0 && d === 1; - - if (justTranslate) { - // left bottom - _verts[_vertexOffset] = _vl + tx; - _verts[_vertexOffset + 1] = _vb + ty; - _vertexOffset += _floatsPerVert; // right bottom - - _verts[_vertexOffset] = _vr + tx; - _verts[_vertexOffset + 1] = _vb + ty; - _vertexOffset += _floatsPerVert; // left top - - _verts[_vertexOffset] = _vl + tx; - _verts[_vertexOffset + 1] = _vt + ty; - _vertexOffset += _floatsPerVert; // right top - - _verts[_vertexOffset] = _vr + tx; - _verts[_vertexOffset + 1] = _vt + ty; - } else { - var al = a * _vl, - ar = a * _vr, - bl = b * _vl, - br = b * _vr, - cb = c * _vb, - ct = c * _vt, - db = d * _vb, - dt = d * _vt; // left bottom - - _verts[_vertexOffset] = al + cb + tx; - _verts[_vertexOffset + 1] = bl + db + ty; - _vertexOffset += _floatsPerVert; // right bottom - - _verts[_vertexOffset] = ar + cb + tx; - _verts[_vertexOffset + 1] = br + db + ty; - _vertexOffset += _floatsPerVert; // left top - - _verts[_vertexOffset] = al + ct + tx; - _verts[_vertexOffset + 1] = bl + dt + ty; - _vertexOffset += _floatsPerVert; // right top - - _verts[_vertexOffset] = ar + ct + tx; - _verts[_vertexOffset + 1] = br + dt + ty; - } - } - }; - - _proto.fillBuffers = function fillBuffers(comp, renderer) { - if (renderer.worldMatDirty) { - this.updateWorldVerts(comp); - } - - var renderData = this._renderData; - var vData = renderData.vDatas[0]; - var iData = renderData.iDatas[0]; - var buffer = this.getBuffer(renderer); - var offsetInfo = buffer.request(this.verticesCount, this.indicesCount); // buffer data may be realloc, need get reference after request. - // fill vertices - - var vertexOffset = offsetInfo.byteOffset >> 2, - vbuf = buffer._vData; - - if (vData.length + vertexOffset > vbuf.length) { - vbuf.set(vData.subarray(0, vbuf.length - vertexOffset), vertexOffset); - } else { - vbuf.set(vData, vertexOffset); - } // fill indices - - - var ibuf = buffer._iData, - indiceOffset = offsetInfo.indiceOffset, - vertexId = offsetInfo.vertexOffset; - - for (var i = 0, l = iData.length; i < l; i++) { - ibuf[indiceOffset++] = vertexId + iData[i]; - } - }; - - _proto.packToDynamicAtlas = function packToDynamicAtlas(comp, frame) { - if (CC_TEST) return; - - if (!frame._original && cc.dynamicAtlasManager && frame._texture.packable) { - var packedFrame = cc.dynamicAtlasManager.insertSpriteFrame(frame); - - if (packedFrame) { - frame._setDynamicAtlasFrame(packedFrame); - } - } - - var material = comp._materials[0]; - if (!material) return; - - if (material.getProperty('texture') !== frame._texture) { - // texture was packed to dynamic atlas, should update uvs - comp._vertsDirty = true; - - comp._updateMaterial(); - } - }; - - _createClass(TmoAssembler, [{ - key: "verticesFloats", - get: function get() { - return this.verticesCount * this.floatsPerVert; - } - }]); - - return TmoAssembler; -}(cc.Assembler); - -exports.TmoAssembler = TmoAssembler; - -cc._RF.pop(); - } - if (nodeEnv) { - __define(__module.exports, __require, __module); - } - else { - __quick_compile_project__.registerModuleFunc(__filename, function () { - __define(__module.exports, __require, __module); - }); - } - })(); -//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbInBhY2thZ2VzXFxUaWxlZE1hcE9wdGltaXplclxccmVzb3VyY2VcXFNjcmlwdFxcVG1vQXNzZW1ibGVyLmpzIl0sIm5hbWVzIjpbImdmeCIsImNjIiwidmZtdFBvc1V2SW5kZXgiLCJWZXJ0ZXhGb3JtYXQiLCJuYW1lIiwiQVRUUl9QT1NJVElPTiIsInR5cGUiLCJBVFRSX1RZUEVfRkxPQVQzMiIsIm51bSIsIkFUVFJfVVYwIiwidmZtdFBvc1V2Q29sb3JJbmRleCIsIkFUVFJfQ09MT1IiLCJBVFRSX1RZUEVfVUlOVDgiLCJub3JtYWxpemUiLCJUbW9Bc3NlbWJsZXIiLCJpbml0IiwiY29tcCIsIl9ub0NvbG9yIiwiaXNOb0NvbG9yIiwidXBkYXRlQ29sb3IiLCJ1bmRlZmluZWQiLCJ1cGRhdGVDb2xvckZ1bmMiLCJ1dk9mZnNldCIsImNvbG9yT2Zmc2V0IiwidGV4dHVyZUluZGV4T2Zmc2V0IiwiZmxvYXRzUGVyVmVydCIsImluZGljZXNDb3VudCIsInZlcnRpY2VzQ291bnQiLCJfcmVuZGVyRGF0YSIsIlJlbmRlckRhdGEiLCJpbml0TG9jYWwiLCJpbml0RGF0YSIsIl9sb2NhbCIsImxlbmd0aCIsImRhdGEiLCJjcmVhdGVGbGV4RGF0YSIsImdldFZmbXQiLCJpbmRpY2VzIiwiaURhdGFzIiwiY291bnQiLCJpIiwiaWR4IiwidmVydGV4dElEIiwiZ2V0QnVmZmVyIiwicmVuZGVyZXIiLCJfaGFuZGxlIiwidXBkYXRlUmVuZGVyRGF0YSIsInNwcml0ZSIsInBhY2tUb0R5bmFtaWNBdGxhcyIsIl9zcHJpdGVGcmFtZSIsIl92ZXJ0c0RpcnR5IiwidXBkYXRlVVZzIiwidXBkYXRlVmVydHMiLCJ1cGRhdGVUZXh0dXJlSWR4IiwidGV4dHVyZUlkeCIsIl90ZXh0dXJlSWR4IiwidmVydHMiLCJ2RGF0YXMiLCJpbmRleCIsInV2Iiwic3JjT2Zmc2V0IiwiZHN0T2Zmc2V0Iiwibm9kZSIsImN3Iiwid2lkdGgiLCJjaCIsImhlaWdodCIsImFwcHgiLCJhbmNob3JYIiwiYXBweSIsImFuY2hvclkiLCJsIiwiYiIsInIiLCJ0IiwidHJpbSIsImZyYW1lIiwic3ByaXRlRnJhbWUiLCJvdyIsIl9vcmlnaW5hbFNpemUiLCJvaCIsInJ3IiwiX3JlY3QiLCJyaCIsIm9mZnNldCIsIl9vZmZzZXQiLCJzY2FsZVgiLCJzY2FsZVkiLCJ0cmltTGVmdCIsIngiLCJ0cmltUmlnaHQiLCJ0cmltQm90dG9tIiwieSIsInRyaW1Ub3AiLCJsb2NhbCIsInVwZGF0ZVdvcmxkVmVydHMiLCJjb2xvciIsInVpbnRWZXJ0cyIsInVpbnRWRGF0YXMiLCJfdmFsIiwiQ0NfTkFUSVZFUkVOREVSRVIiLCJ2bCIsInZyIiwidmIiLCJ2dCIsInZlcnRleE9mZnNldCIsIm1hdHJpeCIsIl93b3JsZE1hdHJpeCIsIm1hdHJpeG0iLCJtIiwiYSIsImMiLCJkIiwidHgiLCJ0eSIsImp1c3RUcmFuc2xhdGUiLCJhbCIsImFyIiwiYmwiLCJiciIsImNiIiwiY3QiLCJkYiIsImR0IiwiZmlsbEJ1ZmZlcnMiLCJ3b3JsZE1hdERpcnR5IiwicmVuZGVyRGF0YSIsInZEYXRhIiwiaURhdGEiLCJidWZmZXIiLCJvZmZzZXRJbmZvIiwicmVxdWVzdCIsImJ5dGVPZmZzZXQiLCJ2YnVmIiwiX3ZEYXRhIiwic2V0Iiwic3ViYXJyYXkiLCJpYnVmIiwiX2lEYXRhIiwiaW5kaWNlT2Zmc2V0IiwidmVydGV4SWQiLCJDQ19URVNUIiwiX29yaWdpbmFsIiwiZHluYW1pY0F0bGFzTWFuYWdlciIsIl90ZXh0dXJlIiwicGFja2FibGUiLCJwYWNrZWRGcmFtZSIsImluc2VydFNwcml0ZUZyYW1lIiwiX3NldER5bmFtaWNBdGxhc0ZyYW1lIiwibWF0ZXJpYWwiLCJfbWF0ZXJpYWxzIiwiZ2V0UHJvcGVydHkiLCJfdXBkYXRlTWF0ZXJpYWwiLCJBc3NlbWJsZXIiXSwibWFwcGluZ3MiOiI7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7QUFBQSxJQUFJQSxHQUFHLEdBQUdDLEVBQUUsQ0FBQ0QsR0FBYixFQUNBOztBQUNBLElB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RSxFQUEyRTtBQUN2RSxVQUFJQyxXQUFXLEdBQUdqSixFQUFFLENBQUM4SSxtQkFBSCxDQUF1QkksaUJBQXZCLENBQXlDdkUsS0FBekMsQ0FBbEI7O0FBQ0EsVUFBSXNFLFdBQUosRUFBaUI7QUFDYnRFLFFBQUFBLEtBQUssQ0FBQ3dFLHFCQUFOLENBQTRCRixXQUE1QjtBQUNIO0FBQ0o7O0FBQ0QsUUFBSUcsUUFBUSxHQUFHckksSUFBSSxDQUFDc0ksVUFBTCxDQUFnQixDQUFoQixDQUFmO0FBQ0EsUUFBSSxDQUFDRCxRQUFMLEVBQWU7O0FBRWYsUUFBSUEsUUFBUSxDQUFDRSxXQUFULENBQXFCLFNBQXJCLE1BQW9DM0UsS0FBSyxDQUFDb0UsUUFBOUMsRUFBd0Q7QUFDcEQ7QUFDQWhJLE1BQUFBLElBQUksQ0FBQ2tDLFdBQUwsR0FBbUIsSUFBbkI7O0FBQ0FsQyxNQUFBQSxJQUFJLENBQUN3SSxlQUFMO0FBQ0g7QUFDSjs7OztTQXBKRCxlQUFxQjtBQUNqQixhQUFPLEtBQUs3SCxhQUFMLEdBQXFCLEtBQUtGLGFBQWpDO0FBQ0g7Ozs7RUFwSTZCeEIsRUFBRSxDQUFDd0oiLCJzb3VyY2VSb290IjoiLyIsInNvdXJjZXNDb250ZW50IjpbImxldCBnZnggPSBjYy5nZng7XHJcbi8vIOminOiJsuWOu+mZpCArIOeJqeS7tuWbvumbhuWQiOaJuVxyXG52YXIgdmZtdFBvc1V2SW5kZXggPSBuZXcgZ2Z4LlZlcnRleEZvcm1hdChbXHJcbiAgICB7IG5hbWU6IGdmeC5BVFRSX1BPU0lUSU9OLCB0eXBlOiBnZnguQVRUUl9UWVBFX0ZMT0FUMzIsIG51bTogMiB9LFxyXG4gICAgeyBuYW1lOiBnZnguQVRUUl9VVjAsIHR5cGU6IGdmeC5BVFRSX1RZUEVfRkxPQVQzMiwgbnVtOiAyIH0sXHJcbiAgICB7IG5hbWU6IFwiYV90ZXh0dXJlX2lkeFwiLCB0eXBlOiBnZnguQVRUUl9UWVBFX0ZMT0FUMzIsIG51bTogMSB9LFxyXG5dKTtcclxuXHJcbi8vIOS7heeJqeS7tuWbvumbhuWQiOaJuVxyXG52YXIgdmZtdFBvc1V2Q29sb3JJbmRleCA9IG5ldyBnZnguVmVydGV4Rm9ybWF0KFtcclxuICAgIHsgbmFtZTogZ2Z4LkFUVFJfUE9TSVRJT04sIHR5cGU6IGdmeC5BVFRSX1RZUEVfRkxPQVQzMiwgbnVtOiAyIH0sXHJcbiAgICB7IG5hbWU6IGdmeC5BVFRSX1VWMCwgdHlwZTogZ2Z4LkFUVFJfVFlQRV9GTE9BVDMyLCBudW06IDIgfSxcclxuICAgIHsgbmFtZTogXCJhX3RleHR1cmVfaWR4XCIsIHR5cGU6IGdmeC5BVFRSX1RZUEVfRkxPQVQzMiwgbnVtOiAxIH0sXHJcbiAgICB7IG5hbWU6IGdmeC5BVFRSX0NPTE9SLCB0eXBlOiBnZnguQVRUUl9UWVBFX1VJTlQ4LCBudW06IDQsIG5vcm1hbGl6ZTogdHJ1ZSB9LFxyXG5dKTtcclxuXHJcbmV4cG9ydCBjbGFzcyBUbW9Bc3NlbWJsZXIgZXh0ZW5kcyBjYy5Bc3NlbWJsZXIge1xyXG4gICAgaW5pdChjb21wKSB7XHJcbiAgICAgICAgc3VwZXIuaW5pdChjb21wKTtcclxuXHJcbiAgICAgICAgdGhpcy5fbm9Db2xvciA9IGNvbXAuaXNOb0NvbG9yKCk7XHJcbiAgICAgICAgdGhpcy51cGRhdGVDb2xvciA9IHRoaXMuX25vQ29sb3IgPyB1bmRlZmluZWQgOiB0aGlzLnVwZGF0ZUNvbG9yRnVuYztcclxuXHJcbiAgICAgICAgdGhpcy51dk9mZnNldCA9IDI7XHJcbiAgICAgICAgdGhpcy5jb2xvck9mZnNldCA9IDU7XHJcbiAgICAgICAgdGhpcy50ZXh0dXJlSW5kZXhPZmZzZXQgPSA0O1xyXG4gICAgICAgIHRoaXMuZmxvYXRzUGVyVmVydCA9IHRoaXMuX25vQ29sb3IgPyA1IDogNjtcclxuXHJcbiAgICAgICAgdGhpcy5pbmRpY2VzQ291bnQgPSA2O1xyXG4gICAgICAgIHRoaXMudmVydGljZXNDb3VudCA9IDQ7XHJcblxyXG4gICAgICAgIHRoaXMuX3JlbmRlckRhdGEgPSBuZXcgY2MuUmVuZGVyRGF0YSgpO1xyXG4gICAgICAgIHRoaXMuX3JlbmRlckRhdGEuaW5pdCh0aGlzKTtcclxuXHJcbiAgICAgICAgdGhpcy5pbml0TG9jYWwoKTtcclxuICAgICAgICB0aGlzLmluaXREYXRhKCk7XHJcbiAgICB9XHJcblxyXG4gICAgaW5pdExvY2FsKCkge1xyXG4gICAgICAgIHRoaXMuX2xvY2FsID0gW107XHJcbiAgICAgICAgdGhpcy5fbG9jYWwubGVuZ3RoID0gNDtcclxuICAgIH1cclxuXHJcbiAgICBpbml0RGF0YSgpIHtcclxuICAgICAgICBsZXQgZGF0YSA9IHRoaXMuX3JlbmRlckRhdGE7XHJcbiAgICAgICAgZGF0YS5jcmVhdGVGbGV4RGF0YSgwLCB0aGlzLnZlcnRpY2VzQ291bnQsIHRoaXMuaW5kaWNlc0NvdW50LCB0aGlzLmdldFZmbXQoKSk7XHJcblxyXG4gICAgICAgIC8vIOWhq+WFhemhtueCuee0ouW8leS/oeaBr1xyXG4gICAgICAgIGxldCBpbmRpY2VzID0gZGF0YS5pRGF0YXNbMF07XHJcbiAgICAgICAgbGV0IGNvdW50ID0gaW5kaWNlcy5sZW5ndGggLyA2O1xyXG4gICAgICAgIGZvciAobGV0IGkgPSAwLCBpZHggPSAwOyBpIDwgY291bnQ7IGkrKykge1xyXG4gICAgICAgICAgICBsZXQgdmVydGV4dElEID0gaSAqIDQ7XHJcbiAgICAgICAgICAgIGluZGljZXNbaWR4KytdID0gdmVydGV4dElEO1xyXG4gICAgICAgICAgICBpbmRpY2VzW2lkeCsrXSA9IHZlcnRleHRJRCArIDE7XHJcbiAgICAgICAgICAgIGluZGljZXNbaWR4KytdID0gdmVydGV4dElEICsgMjtcclxuICAgICAgICAgICAgaW5kaWNlc1tpZHgrK10gPSB2ZXJ0ZXh0SUQgKyAxO1xyXG4gICAgICAgICAgICBpbmRpY2VzW2lkeCsrXSA9IHZlcnRleHRJRCArIDM7XHJcbiAgICAgICAgICAgIGluZGljZXNbaWR4KytdID0gdmVydGV4dElEICsgMjtcclxuICAgICAgICB9XHJcbiAgICB9XHJcblxyXG4gICAgZ2V0QnVmZmVyKCkge1xyXG4gICAgICAgIHJldHVybiBjYy5yZW5kZXJlci5faGFuZGxlLmdldEJ1ZmZlcihcIm1lc2hcIiwgdGhpcy5nZXRWZm10KCkpO1xyXG4gICAgfVxyXG5cclxuICAgIGdldFZmbXQoKSB7XHJcbiAgICAgICAgcmV0dXJuIHRoaXMuX25vQ29sb3IgPyB2Zm10UG9zVXZJbmRleCA6IHZmbXRQb3NVdkNvbG9ySW5kZXg7XHJcbiAgICB9XHJcblxyXG4gICAgdXBkYXRlUmVuZGVyRGF0YShzcHJpdGUpIHtcclxuICAgICAgICB0aGlzLnBhY2tUb0R5bmFtaWNBdGxhcyhzcHJpdGUsIHNwcml0ZS5fc3ByaXRlRnJhbWUpO1xyXG5cclxuICAgICAgICBpZiAoc3ByaXRlLl92ZXJ0c0RpcnR5KSB7XHJcbiAgICAgICAgICAgIHRoaXMudXBkYXRlVVZzKHNwcml0ZSk7XHJcbiAgICAgICAgICAgIHRoaXMudXBkYXRlVmVydHMoc3ByaXRlKTtcclxuICAgICAgICAgICAgdGhpcy51cGRhdGVUZXh0dXJlSWR4KHNwcml0ZSk7XHJcbiAgICAgICAgICAgIHNwcml0ZS5fdmVydHNEaXJ0eSA9IGZhbHNlO1xyXG4gICAgICAgIH1cclxuICAgIH1cclxuXHJcbiAgICAvKipcclxuICAgICAqIOWhq+WFhXRleHR1cmVJbmRleOaVsOaNrlxyXG4gICAgICogQHBhcmFtIHtjYy5TcHJpdGV9IHNwcml0ZSBcclxuICAgICAqL1xyXG4gICAgdXBkYXRlVGV4dHVyZUlkeChzcHJpdGUpIHtcclxuICAgICAgICBsZXQgdGV4dHVyZUlkeCA9IHNwcml0ZS5fdGV4dHVyZUlkeDtcclxuICAgICAgICBsZXQgdmVydHMgPSB0aGlzLl9yZW5kZXJEYXRhLnZEYXRhc1swXTtcclxuXHJcbiAgICAgICAgbGV0IHZlcnRpY2VzQ291bnQgPSB0aGlzLnZlcnRpY2VzQ291bnQ7XHJcbiAgICAgICAgbGV0IGZsb2F0c1BlclZlcnQgPSB0aGlzLmZsb2F0c1BlclZlcnQ7XHJcbiAgICAgICAgbGV0IHRleHR1cmVJbmRleE9mZnNldCA9IHRoaXMudGV4dHVyZUluZGV4T2Zmc2V0O1xyXG5cclxuICAgICAgICBmb3IgKGxldCBpID0gMDsgaSA8IHZlcnRpY2VzQ291bnQ7IGkrKykge1xyXG4gICAgICAgICAgICBsZXQgaW5kZXggPSBpICogZmxvYXRzUGVyVmVydCArIHRleHR1cmVJbmRleE9mZnNldDtcclxuICAgICAgICAgICAgdmVydHNbaW5kZXhdID0gdGV4dHVyZUlkeDtcclxuICAgICAgICB9XHJcbiAgICB9XHJcblxyXG4gICAgdXBkYXRlVVZzKHNwcml0ZSkge1xyXG4gICAgICAgIGxldCB1diA9IHNwcml0ZS5fc3ByaXRlRnJhbWUudXY7XHJcbiAgICAgICAgbGV0IHV2T2Zmc2V0ID0gdGhpcy51dk9mZnNldDtcclxuICAgICAgICBsZXQgZmxvYXRzUGVyVmVydCA9IHRoaXMuZmxvYXRzUGVyVmVydDtcclxuICAgICAgICBsZXQgdmVydHMgPSB0aGlzLl9yZW5kZXJEYXRhLnZEYXRhc1swXTtcclxuICAgICAgICBmb3IgKGxldCBpID0gMDsgaSA8IDQ7IGkrKykge1xyXG4gICAgICAgICAgICBsZXQgc3JjT2Zmc2V0ID0gaSAqIDI7XHJcbiAgICAgICAgICAgIGxldCBkc3RPZmZzZXQgPSBmbG9hdHNQZXJWZXJ0ICogaSArIHV2T2Zmc2V0O1xyXG4gICAgICAgICAgICB2ZXJ0c1tkc3RPZmZzZXRdID0gdXZbc3JjT2Zmc2V0XTtcclxuICAgICAgICAgICAgdmVydHNbZHN0T2Zmc2V0ICsgMV0gPSB1dltzcmNPZmZzZXQgKyAxXTtcclxuICAgICAgICB9XHJcbiAgICB9XHJcblxyXG4gICAgdXBkYXRlVmVydHMoc3ByaXRlKSB7XHJcbiAgICAgICAgbGV0IG5vZGUgPSBzcHJpdGUubm9kZSxcclxuICAgICAgICAgICAgY3cgPSBub2RlLndpZHRoLCBjaCA9IG5vZGUuaGVpZ2h0LFxyXG4gICAgICAgICAgICBhcHB4ID0gbm9kZS5hbmNob3JYICogY3csIGFwcHkgPSBub2RlLmFuY2hvclkgKiBjaCxcclxuICAgICAgICAgICAgbCwgYiwgciwgdDtcclxuICAgICAgICBpZiAoc3ByaXRlLnRyaW0pIHtcclxuICAgICAgICAgICAgbCA9IC1hcHB4O1xyXG4gICAgICAgICAgICBiID0gLWFwcHk7XHJcbiAgICAgICAgICAgIHIgPSBjdyAtIGFwcHg7XHJcbiAgICAgICAgICAgIHQgPSBjaCAtIGFwcHk7XHJcbiAgICAgICAgfVxyXG4gICAgICAgIGVsc2Uge1xyXG4gICAgICAgICAgICBsZXQgZnJhbWUgPSBzcHJpdGUuc3ByaXRlRnJhbWUsXHJcbiAgICAgICAgICAgICAgICBvdyA9IGZyYW1lLl9vcmlnaW5hbFNpemUud2lkdGgsIG9oID0gZnJhbWUuX29yaWdpbmFsU2l6ZS5oZWlnaHQsXHJcbiAgICAgICAgICAgICAgICBydyA9IGZyYW1lLl9yZWN0LndpZHRoLCByaCA9IGZyYW1lLl9yZWN0LmhlaWdodCxcclxuICAgICAgICAgICAgICAgIG9mZnNldCA9IGZyYW1lLl9vZmZzZXQsXHJcbiAgICAgICAgICAgICAgICBzY2FsZVggPSBjdyAvIG93LCBzY2FsZVkgPSBjaCAvIG9oO1xyXG4gICAgICAgICAgICBsZXQgdHJpbUxlZnQgPSBvZmZzZXQueCArIChvdyAtIHJ3KSAvIDI7XHJcbiAgICAgICAgICAgIGxldCB0cmltUmlnaHQgPSBvZmZzZXQueCAtIChvdyAtIHJ3KSAvIDI7XHJcbiAgICAgICAgICAgIGxldCB0cmltQm90dG9tID0gb2Zmc2V0LnkgKyAob2ggLSByaCkgLyAyO1xyXG4gICAgICAgICAgICBsZXQgdHJpbVRvcCA9IG9mZnNldC55IC0gKG9oIC0gcmgpIC8gMjtcclxuICAgICAgICAgICAgbCA9IHRyaW1MZWZ0ICogc2NhbGVYIC0gYXBweDtcclxuICAgICAgICAgICAgYiA9IHRyaW1Cb3R0b20gKiBzY2FsZVkgLSBhcHB5O1xyXG4gICAgICAgICAgICByID0gY3cgKyB0cmltUmlnaHQgKiBzY2FsZVggLSBhcHB4O1xyXG4gICAgICAgICAgICB0ID0gY2ggKyB0cmltVG9wICogc2NhbGVZIC0gYXBweTtcclxuICAgICAgICB9XHJcblxyXG4gICAgICAgIGxldCBsb2NhbCA9IHRoaXMuX2xvY2FsO1xyXG4gICAgICAgIGxvY2FsWzBdID0gbDtcclxuICAgICAgICBsb2NhbFsxXSA9IGI7XHJcbiAgICAgICAgbG9jYWxbMl0gPSByO1xyXG4gICAgICAgIGxvY2FsWzNdID0gdDtcclxuICAgICAgICB0aGlzLnVwZGF0ZVdvcmxkVmVydHMoc3ByaXRlKTtcclxuICAgIH1cclxuXHJcbiAgICBnZXQgdmVydGljZXNGbG9hdHMoKSB7XHJcbiAgICAgICAgcmV0dXJuIHRoaXMudmVydGljZXNDb3VudCAqIHRoaXMuZmxvYXRzUGVyVmVydDtcclxuICAgIH1cclxuXHJcbiAgICB1cGRhdGVDb2xvckZ1bmMoY29tcCwgY29sb3IpIHtcclxuICAgICAgICBsZXQgdWludFZlcnRzID0gdGhpcy5fcmVuZGVyRGF0YS51aW50VkRhdGFzWzBdO1xyXG4gICAgICAgIGlmICghdWludFZlcnRzKSByZXR1cm47XHJcbiAgICAgICAgY29sb3IgPSBjb2xvciAhPSBudWxsID8gY29sb3IgOiBjb21wLm5vZGUuY29sb3IuX3ZhbDtcclxuICAgICAgICBsZXQgZmxvYXRzUGVyVmVydCA9IHRoaXMuZmxvYXRzUGVyVmVydDtcclxuICAgICAgICBsZXQgY29sb3JPZmZzZXQgPSB0aGlzLmNvbG9yT2Zmc2V0O1xyXG4gICAgICAgIGZvciAobGV0IGkgPSBjb2xvck9mZnNldCwgbCA9IHVpbnRWZXJ0cy5sZW5ndGg7IGkgPCBsOyBpICs9IGZsb2F0c1BlclZlcnQpIHtcclxuICAgICAgICAgICAgdWludFZlcnRzW2ldID0gY29sb3I7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG5cclxuICAgIHVwZGF0ZVdvcmxkVmVydHMoY29tcCkge1xyXG4gICAgICAgIGlmIChDQ19OQVRJVkVSRU5ERVJFUikge1xyXG4gICAgICAgICAgICAvLyDljp/nlJ/lubPlj7Dlhbzlrrnku6PnoIEg5aSN5Yi25LqOanNiLWVuZ2luZS5qc+S4reeahGNjLkFzc2VtYmxlcjJELnByb3RvdHlwZS51cGRhdGVXb3JsZFZlcnRzXHJcbiAgICAgICAgICAgIHZhciBsb2NhbCA9IHRoaXMuX2xvY2FsO1xyXG4gICAgICAgICAgICB2YXIgdmVydHMgPSB0aGlzLl9yZW5kZXJEYXRhLnZEYXRhc1swXTtcclxuICAgICAgICAgICAgdmFyIHZsID0gbG9jYWxbMF0sXHJcbiAgICAgICAgICAgICAgICB2ciA9IGxvY2FsWzJdLFxyXG4gICAgICAgICAgICAgICAgdmIgPSBsb2NhbFsxXSxcclxuICAgICAgICAgICAgICAgIHZ0ID0gbG9jYWxbM107XHJcbiAgICAgICAgICAgIHZhciBmbG9hdHNQZXJWZXJ0ID0gdGhpcy5mbG9hdHNQZXJWZXJ0O1xyXG4gICAgICAgICAgICB2YXIgdmVydGV4T2Zmc2V0ID0gMDsgLy8gbGVmdCBib3R0b21cclxuXHJcbiAgICAgICAgICAgIHZlcnRzW3ZlcnRleE9mZnNldF0gPSB2bDtcclxuICAgICAgICAgICAgdmVydHNbdmVydGV4T2Zmc2V0ICsgMV0gPSB2YjtcclxuICAgICAgICAgICAgdmVydGV4T2Zmc2V0ICs9IGZsb2F0c1BlclZlcnQ7IC8vIHJpZ2h0IGJvdHRvbVxyXG5cclxuICAgICAgICAgICAgdmVydHNbdmVydGV4T2Zmc2V0XSA9IHZyO1xyXG4gICAgICAgICAgICB2ZXJ0c1t2ZXJ0ZXhPZmZzZXQgKyAxXSA9IHZiO1xyXG4gICAgICAgICAgICB2ZXJ0ZXhPZmZzZXQgKz0gZmxvYXRzUGVyVmVydDsgLy8gbGVmdCB0b3BcclxuXHJcbiAgICAgICAgICAgIHZlcnRzW3ZlcnRleE9mZnNldF0gPSB2bDtcclxuICAgICAgICAgICAgdmVydHNbdmVydGV4T2Zmc2V0ICsgMV0gPSB2dDtcclxuICAgICAgICAgICAgdmVydGV4T2Zmc2V0ICs9IGZsb2F0c1BlclZlcnQ7IC8vIHJpZ2h0IHRvcFxyXG5cclxuICAgICAgICAgICAgdmVydHNbdmVydGV4T2Zmc2V0XSA9IHZyO1xyXG4gICAgICAgICAgICB2ZXJ0c1t2ZXJ0ZXhPZmZzZXQgKyAxXSA9IHZ0O1xyXG4gICAgICAgIH0gZWxzZSB7XHJcbiAgICAgICAgICAgIGxldCBsb2NhbCA9IHRoaXMuX2xvY2FsO1xyXG4gICAgICAgICAgICBsZXQgdmVydHMgPSB0aGlzLl9yZW5kZXJEYXRhLnZEYXRhc1swXTtcclxuXHJcbiAgICAgICAgICAgIGxldCBtYXRyaXggPSBjb21wLm5vZGUuX3dvcmxkTWF0cml4O1xyXG4gICAgICAgICAgICBsZXQgbWF0cml4bSA9IG1hdHJpeC5tLFxyXG4gICAgICAgICAgICAgICAgYSA9IG1hdHJpeG1bMF0sIGIgPSBtYXRyaXhtWzFdLCBjID0gbWF0cml4bVs0XSwgZCA9IG1hdHJpeG1bNV0sXHJcbiAgICAgICAgICAgICAgICB0eCA9IG1hdHJpeG1bMTJdLCB0eSA9IG1hdHJpeG1bMTNdO1xyXG5cclxuICAgICAgICAgICAgbGV0IHZsID0gbG9jYWxbMF0sIHZyID0gbG9jYWxbMl0sXHJcbiAgICAgICAgICAgICAgICB2YiA9IGxvY2FsWzFdLCB2dCA9IGxvY2FsWzNdO1xyXG5cclxuICAgICAgICAgICAgbGV0IGZsb2F0c1BlclZlcnQgPSB0aGlzLmZsb2F0c1BlclZlcnQ7XHJcbiAgICAgICAgICAgIGxldCB2ZXJ0ZXhPZmZzZXQgPSAwO1xyXG4gICAgICAgICAgICBsZXQganVzdFRyYW5zbGF0ZSA9IGEgPT09IDEgJiYgYiA9PT0gMCAmJiBjID09PSAwICYmIGQgPT09IDE7XHJcblxyXG4gICAgICAgICAgICBpZiAoanVzdFRyYW5zbGF0ZSkge1xyXG4gICAgICAgICAgICAgICAgLy8gbGVmdCBib3R0b21cclxuICAgICAgICAgICAgICAgIHZlcnRzW3ZlcnRleE9mZnNldF0gPSB2bCArIHR4O1xyXG4gICAgICAgICAgICAgICAgdmVydHNbdmVydGV4T2Zmc2V0ICsgMV0gPSB2YiArIHR5O1xyXG4gICAgICAgICAgICAgICAgdmVydGV4T2Zmc2V0ICs9IGZsb2F0c1BlclZlcnQ7XHJcbiAgICAgICAgICAgICAgICAvLyByaWdodCBib3R0b21cclxuICAgICAgICAgICAgICAgIHZlcnRzW3ZlcnRleE9mZnNldF0gPSB2ciArIHR4O1xyXG4gICAgICAgICAgICAgICAgdmVydHNbdmVydGV4T2Zmc2V0ICsgMV0gPSB2YiArIHR5O1xyXG4gICAgICAgICAgICAgICAgdmVydGV4T2Zmc2V0ICs9IGZsb2F0c1BlclZlcnQ7XHJcbiAgICAgICAgICAgICAgICAvLyBsZWZ0IHRvcFxyXG4gICAgICAgICAgICAgICAgdmVydHNbdmVydGV4T2Zmc2V0XSA9IHZsICsgdHg7XHJcbiAgICAgICAgICAgICAgICB2ZXJ0c1t2ZXJ0ZXhPZmZzZXQgKyAxXSA9IHZ0ICsgdHk7XHJcbiAgICAgICAgICAgICAgICB2ZXJ0ZXhPZmZzZXQgKz0gZmxvYXRzUGVyVmVydDtcclxuICAgICAgICAgICAgICAgIC8vIHJpZ2h0IHRvcFxyXG4gICAgICAgICAgICAgICAgdmVydHNbdmVydGV4T2Zmc2V0XSA9IHZyICsgdHg7XHJcbiAgICAgICAgICAgICAgICB2ZXJ0c1t2ZXJ0ZXhPZmZzZXQgKyAxXSA9IHZ0ICsgdHk7XHJcbiAgICAgICAgICAgIH0gZWxzZSB7XHJcbiAgICAgICAgICAgICAgICBsZXQgYWwgPSBhICogdmwsIGFyID0gYSAqIHZyLFxyXG4gICAgICAgICAgICAgICAgICAgIGJsID0gYiAqIHZsLCBiciA9IGIgKiB2cixcclxuICAgICAgICAgICAgICAgICAgICBjYiA9IGMgKiB2YiwgY3QgPSBjICogdnQsXHJcbiAgICAgICAgICAgICAgICAgICAgZGIgPSBkICogdmIsIGR0ID0gZCAqIHZ0O1xyXG5cclxuICAgICAgICAgICAgICAgIC8vIGxlZnQgYm90dG9tXHJcbiAgICAgICAgICAgICAgICB2ZXJ0c1t2ZXJ0ZXhPZmZzZXRdID0gYWwgKyBjYiArIHR4O1xyXG4gICAgICAgICAgICAgICAgdmVydHNbdmVydGV4T2Zmc2V0ICsgMV0gPSBibCArIGRiICsgdHk7XHJcbiAgICAgICAgICAgICAgICB2ZXJ0ZXhPZmZzZXQgKz0gZmxvYXRzUGVyVmVydDtcclxuICAgICAgICAgICAgICAgIC8vIHJpZ2h0IGJvdHRvbVxyXG4gICAgICAgICAgICAgICAgdmVydHNbdmVydGV4T2Zmc2V0XSA9IGFyICsgY2IgKyB0eDtcclxuICAgICAgICAgICAgICAgIHZlcnRzW3ZlcnRleE9mZnNldCArIDFdID0gYnIgKyBkYiArIHR5O1xyXG4gICAgICAgICAgICAgICAgdmVydGV4T2Zmc2V0ICs9IGZsb2F0c1BlclZlcnQ7XHJcbiAgICAgICAgICAgICAgICAvLyBsZWZ0IHRvcFxyXG4gICAgICAgICAgICAgICAgdmVydHNbdmVydGV4T2Zmc2V0XSA9IGFsICsgY3QgKyB0eDtcclxuICAgICAgICAgICAgICAgIHZlcnRzW3ZlcnRleE9mZnNldCArIDFdID0gYmwgKyBkdCArIHR5O1xyXG4gICAgICAgICAgICAgICAgdmVydGV4T2Zmc2V0ICs9IGZsb2F0c1BlclZlcnQ7XHJcbiAgICAgICAgICAgICAgICAvLyByaWdodCB0b3BcclxuICAgICAgICAgICAgICAgIHZlcnRzW3ZlcnRleE9mZnNldF0gPSBhciArIGN0ICsgdHg7XHJcbiAgICAgICAgICAgICAgICB2ZXJ0c1t2ZXJ0ZXhPZmZzZXQgKyAxXSA9IGJyICsgZHQgKyB0eTtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgIH1cclxuXHJcbiAgICBmaWxsQnVmZmVycyhjb21wLCByZW5kZXJlcikge1xyXG4gICAgICAgIGlmIChyZW5kZXJlci53b3JsZE1hdERpcnR5KSB7XHJcbiAgICAgICAgICAgIHRoaXMudXBkYXRlV29ybGRWZXJ0cyhjb21wKTtcclxuICAgICAgICB9XHJcblxyXG4gICAgICAgIGxldCByZW5kZXJEYXRhID0gdGhpcy5fcmVuZGVyRGF0YTtcclxuICAgICAgICBsZXQgdkRhdGEgPSByZW5kZXJEYXRhLnZEYXRhc1swXTtcclxuICAgICAgICBsZXQgaURhdGEgPSByZW5kZXJEYXRhLmlEYXRhc1swXTtcclxuXHJcbiAgICAgICAgbGV0IGJ1ZmZlciA9IHRoaXMuZ2V0QnVmZmVyKHJlbmRlcmVyKTtcclxuICAgICAgICBsZXQgb2Zmc2V0SW5mbyA9IGJ1ZmZlci5yZXF1ZXN0KHRoaXMudmVydGljZXNDb3VudCwgdGhpcy5pbmRpY2VzQ291bnQpO1xyXG5cclxuICAgICAgICAvLyBidWZmZXIgZGF0YSBtYXkgYmUgcmVhbGxvYywgbmVlZCBnZXQgcmVmZXJlbmNlIGFmdGVyIHJlcXVlc3QuXHJcblxyXG4gICAgICAgIC8vIGZpbGwgdmVydGljZXNcclxuICAgICAgICBsZXQgdmVydGV4T2Zmc2V0ID0gb2Zmc2V0SW5mby5ieXRlT2Zmc2V0ID4+IDIsXHJcbiAgICAgICAgICAgIHZidWYgPSBidWZmZXIuX3ZEYXRhO1xyXG5cclxuICAgICAgICBpZiAodkRhdGEubGVuZ3RoICsgdmVydGV4T2Zmc2V0ID4gdmJ1Zi5sZW5ndGgpIHtcclxuICAgICAgICAgICAgdmJ1Zi5zZXQodkRhdGEuc3ViYXJyYXkoMCwgdmJ1Zi5sZW5ndGggLSB2ZXJ0ZXhPZmZzZXQpLCB2ZXJ0ZXhPZmZzZXQpO1xyXG4gICAgICAgIH0gZWxzZSB7XHJcbiAgICAgICAgICAgIHZidWYuc2V0KHZEYXRhLCB2ZXJ0ZXhPZmZzZXQpO1xyXG4gICAgICAgIH1cclxuXHJcbiAgICAgICAgLy8gZmlsbCBpbmRpY2VzXHJcbiAgICAgICAgbGV0IGlidWYgPSBidWZmZXIuX2lEYXRhLFxyXG4gICAgICAgICAgICBpbmRpY2VPZmZzZXQgPSBvZmZzZXRJbmZvLmluZGljZU9mZnNldCxcclxuICAgICAgICAgICAgdmVydGV4SWQgPSBvZmZzZXRJbmZvLnZlcnRleE9mZnNldDtcclxuICAgICAgICBmb3IgKGxldCBpID0gMCwgbCA9IGlEYXRhLmxlbmd0aDsgaSA8IGw7IGkrKykge1xyXG4gICAgICAgICAgICBpYnVmW2luZGljZU9mZnNldCsrXSA9IHZlcnRleElkICsgaURhdGFbaV07XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG5cclxuICAgIHBhY2tUb0R5bmFtaWNBdGxhcyhjb21wLCBmcmFtZSkge1xyXG4gICAgICAgIGlmIChDQ19URVNUKSByZXR1cm47XHJcblxyXG4gICAgICAgIGlmICghZnJhbWUuX29yaWdpbmFsICYmIGNjLmR5bmFtaWNBdGxhc01hbmFnZXIgJiYgZnJhbWUuX3RleHR1cmUucGFja2FibGUpIHtcclxuICAgICAgICAgICAgbGV0IHBhY2tlZEZyYW1lID0gY2MuZHluYW1pY0F0bGFzTWFuYWdlci5pbnNlcnRTcHJpdGVGcmFtZShmcmFtZSk7XHJcbiAgICAgICAgICAgIGlmIChwYWNrZWRGcmFtZSkge1xyXG4gICAgICAgICAgICAgICAgZnJhbWUuX3NldER5bmFtaWNBdGxhc0ZyYW1lKHBhY2tlZEZyYW1lKTtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgICAgICBsZXQgbWF0ZXJpYWwgPSBjb21wLl9tYXRlcmlhbHNbMF07XHJcbiAgICAgICAgaWYgKCFtYXRlcmlhbCkgcmV0dXJuO1xyXG5cclxuICAgICAgICBpZiAobWF0ZXJpYWwuZ2V0UHJvcGVydHkoJ3RleHR1cmUnKSAhPT0gZnJhbWUuX3RleHR1cmUpIHtcclxuICAgICAgICAgICAgLy8gdGV4dHVyZSB3YXMgcGFja2VkIHRvIGR5bmFtaWMgYXRsYXMsIHNob3VsZCB1cGRhdGUgdXZzXHJcbiAgICAgICAgICAgIGNvbXAuX3ZlcnRzRGlydHkgPSB0cnVlO1xyXG4gICAgICAgICAgICBjb21wLl91cGRhdGVNYXRlcmlhbCgpO1xyXG4gICAgICAgIH1cclxuICAgIH1cclxufSJdfQ== -//------QC-SOURCE-SPLIT------ - - (function() { - var nodeEnv = typeof require !== 'undefined' && typeof process !== 'undefined'; - var __module = nodeEnv ? module : {exports:{}}; - var __filename = 'preview-scripts/tiledmap-optimize-resource/Script/TmoTiledMap.js'; - var __require = nodeEnv ? function (request) { - return cc.require(request); - } : function (request) { - return __quick_compile_project__.require(request, __filename); - }; - function __define (exports, require, module) { - if (!nodeEnv) {__quick_compile_project__.registerModule(__filename, module);}"use strict"; -cc._RF.push(module, '0b9eetmSUdJRZCQS91TYCw/', 'TmoTiledMap'); -// Script/TmoTiledMap.js - -"use strict"; - -// Learn cc.Class: -// - https://docs.cocos.com/creator/manual/en/scripting/class.html -// Learn Attribute: -// - https://docs.cocos.com/creator/manual/en/scripting/reference/attributes.html -// Learn life-cycle callbacks: -// - https://docs.cocos.com/creator/manual/en/scripting/life-cycle-callbacks.html -var TmoTiledLayer = require("./TmoTiledLayer"); - -var TmoObjectGroup = require("./TmoObjectGroup"); - -cc.Class({ - "extends": cc.TiledMap, - properties: { - objectMaterial: cc.Material, - noColor: true, - singleTexture: true, - _objectTextures: [] - }, - _applyFile: function _applyFile() { - if (!this.objectMaterial) { - cc.error("TiledmapOptimize: 未设置objectMaterial!"); - return; - } - - this._super(); - }, - _buildLayerAndGroup: function _buildLayerAndGroup() { - var tilesets = this._tilesets; - var texGrids = this._texGrids; - var animations = this._animations; - texGrids.length = 0; - - for (var i = 0, l = tilesets.length; i < l; ++i) { - var tilesetInfo = tilesets[i]; - if (!tilesetInfo) continue; - cc.TiledMap.fillTextureGrids(tilesetInfo, texGrids, i); - } - - this._fillAniGrids(texGrids, animations); - - var layers = this._layers; - var groups = this._groups; - var images = this._images; - var oldNodeNames = {}; - - for (var _i = 0, n = layers.length; _i < n; _i++) { - oldNodeNames[layers[_i].node._name] = true; - } - - for (var _i2 = 0, _n = groups.length; _i2 < _n; _i2++) { - oldNodeNames[groups[_i2].node._name] = true; - } - - for (var _i3 = 0, _n2 = images.length; _i3 < _n2; _i3++) { - oldNodeNames[images[_i3]._name] = true; - } - - layers = this._layers = []; - groups = this._groups = []; - images = this._images = []; - var mapInfo = this._mapInfo; - var node = this.node; - var layerInfos = mapInfo.getAllChildren(); - var textures = this._textures; - var maxWidth = 0; - var maxHeight = 0; - this._objectTextures = []; - var firstTmxLayer = null; - - if (layerInfos && layerInfos.length > 0) { - for (var _i4 = 0, len = layerInfos.length; _i4 < len; _i4++) { - var layerInfo = layerInfos[_i4]; - var name = layerInfo.name; - var child = this.node.getChildByName(name); - oldNodeNames[name] = false; - - if (!child) { - child = new cc.Node(); - child.name = name; - node.addChild(child); - } - - child.setSiblingIndex(_i4); - child.active = layerInfo.visible; - - if (layerInfo instanceof cc.TMXLayerInfo) { - // 此处修改 改为创建MyTiledLayer - var layer = child.getComponent(TmoTiledLayer); - - if (!layer) { - layer = child.addComponent(TmoTiledLayer); - } // 修改结束 - // 此处修改 传递firstTmxLayer 记录firstTmxLayer - - - layer._init(layerInfo, mapInfo, tilesets, textures, texGrids, this, firstTmxLayer); - - firstTmxLayer = firstTmxLayer || layer; // 修改结束 - // tell the layerinfo to release the ownership of the tiles map. - - layerInfo.ownTiles = false; - layers.push(layer); - } else if (layerInfo instanceof cc.TMXObjectGroupInfo) { - var group = child.getComponent(TmoObjectGroup); - - if (!group) { - group = child.addComponent(TmoObjectGroup); - } - - group._init(layerInfo, mapInfo, texGrids, this); - - groups.push(group); - } else if (layerInfo instanceof cc.TMXImageLayerInfo) { - var texture = layerInfo.sourceImage; - child.opacity = layerInfo.opacity; - child.layerInfo = layerInfo; - child._offset = cc.v2(layerInfo.offset.x, -layerInfo.offset.y); - var image = child.getComponent(cc.Sprite); - - if (!image) { - image = child.addComponent(cc.Sprite); - } - - var spf = image.spriteFrame || new cc.SpriteFrame(); - spf.setTexture(texture); - image.spriteFrame = spf; - child.width = texture.width; - child.height = texture.height; - images.push(child); - } - - maxWidth = Math.max(maxWidth, child.width); - maxHeight = Math.max(maxHeight, child.height); - } - } // 设置材质的texture属性 - - - var objectTextures = this._objectTextures; - - for (var _i5 = 0; _i5 < objectTextures.length; _i5++) { - var idx = _i5 === 0 ? '' : _i5; - this.objectMaterial.setProperty("texture" + idx, objectTextures[_i5], 0); - } - - var children = node.children; - - for (var _i6 = 0, _n3 = children.length; _i6 < _n3; _i6++) { - var c = children[_i6]; - - if (oldNodeNames[c._name]) { - c.destroy(); - } - } - - this.node.width = maxWidth; - this.node.height = maxHeight; - - this._syncAnchorPoint(); - }, - getObjectMaterial: function getObjectMaterial() { - return this.objectMaterial; - }, - isNoColor: function isNoColor() { - return this.noColor; - }, - isSingleTexture: function isSingleTexture() { - return this.singleTexture; - }, - getObjectTextures: function getObjectTextures() { - return this._objectTextures; - } -}); - -cc._RF.pop(); - } - if (nodeEnv) { - __define(__module.exports, __require, __module); - } - else { - __quick_compile_project__.registerModuleFunc(__filename, function () { - __define(__module.exports, __require, __module); - }); - } - })(); -//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbInBhY2thZ2VzXFxUaWxlZE1hcE9wdGltaXplclxccmVzb3VyY2VcXFNjcmlwdFxcVG1vVGlsZWRNYXAuanMiXSwibmFtZXMiOlsiVG1vVGlsZWRMYXllciIsInJlcXVpcmUiLCJUbW9PYmplY3RHcm91cCIsImNjIiwiQ2xhc3MiLCJUaWxlZE1hcCIsInByb3BlcnRpZXMiLCJvYmplY3RNYXRlcmlhbCIsIk1hdGVyaWFsIiwibm9Db2xvciIsInNpbmdsZVRleHR1cmUiLCJfb2JqZWN0VGV4dHVyZXMiLCJfYXBwbHlGaWxlIiwiZXJyb3IiLCJfc3VwZXIiLCJfYnVpbGRMYXllckFuZEdyb3VwIiwidGlsZXNldHMiLCJfdGlsZXNldHMiLCJ0ZXhHcmlkcyIsIl90ZXhHcmlkcyIsImFuaW1hdGlvbnMiLCJfYW5pbWF0aW9ucyIsImxlbmd0aCIsImkiLCJsIiwidGlsZXNldEluZm8iLCJmaWxsVGV4dHVyZUdyaWRzIiwiX2ZpbGxBbmlHcmlkcyIsImxheWVycyIsIl9sYXllcnMiLCJncm91cHMiLCJfZ3JvdXBzIiwiaW1hZ2VzIiwiX2ltYWdlcyIsIm9sZE5vZGVOYW1lcyIsIm4iLCJub2RlIiwiX25hbWUiLCJtYXBJbmZvIiwiX21hcEluZm8iLCJsYXllckluZm9zIiwiZ2V0QWxsQ2hpbGRyZW4iLCJ0ZXh0dXJlcyIsIl90ZXh0dXJlcyIsIm1heFdpZHRoIiwibWF4SGVpZ2h0IiwiZmlyc3RUbXhMYXllciIsImxlbiIsImxheWVySW5mbyIsIm5hbWUiLCJjaGlsZCIsImdldENoaWxkQnlOYW1lIiwiTm9kZSIsImFkZENoaWxkIiwic2V0U2libGluZ0luZGV4IiwiYWN0aXZlIiwidmlzaWJsZSIsIlRNWExheWVySW5mbyIsImxheWVyIiwiZ2V0Q29tcG9uZW50IiwiYWRkQ29tcG9uZW50IiwiX2luaXQiLCJvd25UaWxlcyIsInB1c2giLCJUTVhPYmplY3RHcm91cEluZm8iLCJncm91cCIsIlRNWEltYWdlTGF5ZXJJbmZvIiwidGV4dHVyZSIsInNvdXJjZUltYWdlIiwib3BhY2l0eSIsIl9vZmZzZXQiLCJ2MiIsIm9mZnNldCIsIngiLCJ5IiwiaW1hZ2UiLCJTcHJpdGUiLCJzcGYiLCJzcHJpdGVGcmFtZSIsIlNwcml0ZUZyYW1lIiwic2V0VGV4dHVyZSIsIndpZHRoIiwiaGVpZ2h0IiwiTWF0aCIsIm1heCIsIm9iamVjdFRleHR1cmVzIiwiaWR4Iiwic2V0UHJvcGVydHkiLCJjaGlsZHJlbiIsImMiLCJkZXN0cm95IiwiX3N5bmNBbmNob3JQb2ludCIsImdldE9iamVjdE1hdGVyaWFsIiwiaXNOb0NvbG9yIiwiaXNTaW5nbGVUZXh0dXJlIiwiZ2V0T2JqZWN0VGV4dHVyZXMiXSwibWFwcGluZ3MiOiI7Ozs7Ozs7Ozs7Ozs7Ozs7O0FBQUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsSUFBTUEsYUFBYSxHQUFHQyxPQUFPLENBQUMsaUJBQUQsQ0FBN0I7O0FBQ0EsSUFBTUMsY0FBYyxHQUFHRCxPQUFPLENBQUMsa0JBQUQsQ0FBOUI7O0FBQ0FFLEVBQUUsQ0FBQ0MsS0FBSCxDQUFTO0FBQ0wsYUFBU0QsRUFBRSxDQUFDRSxRQURQO0FBRUxDLEVBQUFBLFVBQVUsRUFBRTtBQUNSQyxJQUFBQSxjQUFjLEVBQUVKLEVBQUUsQ0FBQ0ssUUFEWDtBQUVSQyxJQUFBQSxPQUFPLEVBQUUsSUFGRDtBQUdSQyxJQUFBQSxhQUFhLEVBQUUsSUFIUDtBQUtSQyxJQUFBQSxlQUFlLEVBQUU7QUFMVCxHQUZQO0FBV0xDLEVBQUFBLFVBQVUsRUFBRSxzQkFBWTtBQUNwQixRQUFJLENBQUMsS0FBS0wsY0FBVixFQUEwQjtBQUN0QkosTUFBQUEsRUFBRSxDQUFDVSxLQUFILENBQVMsc0NBQVQ7QUFDQTtBQUNIOztBQUVELFNBQUtDLE1BQUw7QUFDSCxHQWxCSTtBQW9CTEMsRUFBQUEsbUJBQW1CLEVBQUUsK0JBQVk7QUFDN0IsUUFBSUMsUUFBUSxHQUFHLEtBQUtDLFNBQXBCO0FBQ0EsUUFBSUMsUUFBUSxHQUFHLEtBQUtDLFNBQXBCO0FBQ0EsUUFBSUMsVUFBVSxHQUFHLEtB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SDtBQUNKOztBQUVELFNBQUt0RCxJQUFMLENBQVU2QyxLQUFWLEdBQWtCckMsUUFBbEI7QUFDQSxTQUFLUixJQUFMLENBQVU4QyxNQUFWLEdBQW1CckMsU0FBbkI7O0FBQ0EsU0FBSzhDLGdCQUFMO0FBQ0gsR0FqSkk7QUFtSkxDLEVBQUFBLGlCQUFpQixFQUFFLDZCQUFZO0FBQzNCLFdBQU8sS0FBS3JGLGNBQVo7QUFDSCxHQXJKSTtBQXVKTHNGLEVBQUFBLFNBQVMsRUFBRSxxQkFBWTtBQUNuQixXQUFPLEtBQUtwRixPQUFaO0FBQ0gsR0F6Skk7QUEySkxxRixFQUFBQSxlQUFlLEVBQUUsMkJBQVk7QUFDekIsV0FBTyxLQUFLcEYsYUFBWjtBQUNILEdBN0pJO0FBK0pMcUYsRUFBQUEsaUJBQWlCLEVBQUUsNkJBQVk7QUFDM0IsV0FBTyxLQUFLcEYsZUFBWjtBQUNIO0FBaktJLENBQVQiLCJzb3VyY2VSb290IjoiLyIsInNvdXJjZXNDb250ZW50IjpbIi8vIExlYXJuIGNjLkNsYXNzOlxyXG4vLyAgLSBodHRwczovL2RvY3MuY29jb3MuY29tL2NyZWF0b3IvbWFudWFsL2VuL3NjcmlwdGluZy9jbGFzcy5odG1sXHJcbi8vIExlYXJuIEF0dHJpYnV0ZTpcclxuLy8gIC0gaHR0cHM6Ly9kb2NzLmNvY29zLmNvbS9jcmVhdG9yL21hbnVhbC9lbi9zY3JpcHRpbmcvcmVmZXJlbmNlL2F0dHJpYnV0ZXMuaHRtbFxyXG4vLyBMZWFybiBsaWZlLWN5Y2xlIGNhbGxiYWNrczpcclxuLy8gIC0gaHR0cHM6Ly9kb2NzLmNvY29zLmNvbS9jcmVhdG9yL21hbnVhbC9lbi9zY3JpcHRpbmcvbGlmZS1jeWNsZS1jYWxsYmFja3MuaHRtbFxyXG5jb25zdCBUbW9UaWxlZExheWVyID0gcmVxdWlyZShcIi4vVG1vVGlsZWRMYXllclwiKTtcclxuY29uc3QgVG1vT2JqZWN0R3JvdXAgPSByZXF1aXJlKFwiLi9UbW9PYmplY3RHcm91cFwiKTtcclxuY2MuQ2xhc3Moe1xyXG4gICAgZXh0ZW5kczogY2MuVGlsZWRNYXAsXHJcbiAgICBwcm9wZXJ0aWVzOiB7XHJcbiAgICAgICAgb2JqZWN0TWF0ZXJpYWw6IGNjLk1hdGVyaWFsLFxyXG4gICAgICAgIG5vQ29sb3I6IHRydWUsXHJcbiAgICAgICAgc2luZ2xlVGV4dHVyZTogdHJ1ZSxcclxuXHJcbiAgICAgICAgX29iamVjdFRleHR1cmVzOiBbXSxcclxuICAgIH0sXHJcbiAgICBcclxuXHJcbiAgICBfYXBwbHlGaWxlOiBmdW5jdGlvbiAoKSB7XHJcbiAgICAgICAgaWYgKCF0aGlzLm9iamVjdE1hdGVyaWFsKSB7XHJcbiAgICAgICAgICAgIGNjLmVycm9yKFwiVGlsZWRtYXBPcHRpbWl6ZTog5pyq6K6+572ub2JqZWN0TWF0ZXJpYWwhXCIpO1xyXG4gICAgICAgICAgICByZXR1cm47XHJcbiAgICAgICAgfVxyXG5cclxuICAgICAgICB0aGlzLl9zdXBlcigpO1xyXG4gICAgfSxcclxuXHJcbiAgICBfYnVpbGRMYXllckFuZEdyb3VwOiBmdW5jdGlvbiAoKSB7XHJcbiAgICAgICAgbGV0IHRpbGVzZXRzID0gdGhpcy5fdGlsZXNldHM7XHJcbiAgICAgICAgbGV0IHRleEdyaWRzID0gdGhpcy5fdGV4R3JpZHM7XHJcbiAgICAgICAgbGV0IGFuaW1hdGlvbnMgPSB0aGlzLl9hbmltYXRpb25zO1xyXG4gICAgICAgIHRleEdyaWRzLmxlbmd0aCA9IDA7XHJcbiAgICAgICAgZm9yIChsZXQgaSA9IDAsIGwgPSB0aWxlc2V0cy5sZW5ndGg7IGkgPCBsOyArK2kpIHtcclxuICAgICAgICAgICAgbGV0IHRpbGVzZXRJbmZvID0gdGlsZXNldHNbaV07XHJcbiAgICAgICAgICAgIGlmICghdGlsZXNldEluZm8pIGNvbnRpbnVlO1xyXG4gICAgICAgICAgICBjYy5UaWxlZE1hcC5maWxsVGV4dHVyZUdyaWRzKHRpbGVzZXRJbmZvLCB0ZXhHcmlkcywgaSk7XHJcbiAgICAgICAgfVxyXG4gICAgICAgIHRoaXMuX2ZpbGxBbmlHcmlkcyh0ZXhHcmlkcywgYW5pbWF0aW9ucyk7XHJcblxyXG4gICAgICAgIGxldCBsYXllcnMgPSB0aGlzLl9sYXllcnM7XHJcbiAgICAgICAgbGV0IGdyb3VwcyA9IHRoaXMuX2dyb3VwcztcclxuICAgICAgICBsZXQgaW1hZ2VzID0gdGhpcy5faW1hZ2VzO1xyXG4gICAgICAgIGxldCBvbGROb2RlTmFtZXMgPSB7fTtcclxuICAgICAgICBmb3IgKGxldCBpID0gMCwgbiA9IGxheWVycy5sZW5ndGg7IGkgPCBuOyBpKyspIHtcclxuICAgICAgICAgICAgb2xkTm9kZU5hbWVzW2xheWVyc1tpXS5ub2RlLl9uYW1lXSA9IHRydWU7XHJcbiAgICAgICAgfVxyXG4gICAgICAgIGZvciAobGV0IGkgPSAwLCBuID0gZ3JvdXBzLmxlbmd0aDsgaSA8IG47IGkrKykge1xyXG4gICAgICAgICAgICBvbGROb2RlTmFtZXNbZ3JvdXBzW2ldLm5vZGUuX25hbWVdID0gdHJ1ZTtcclxuICAgICAgICB9XHJcbiAgICAgICAgZm9yIChsZXQgaSA9IDAsIG4gPSBpbWFnZXMubGVuZ3RoOyBpIDwgbjsgaSsrKSB7XHJcbiAgICAgICAgICAgIG9sZE5vZGVOYW1lc1tpbWFnZXNbaV0uX25hbWVdID0gdHJ1ZTtcclxuICAgICAgICB9XHJcblxyXG4gICAgICAgIGxheWVycyA9IHRoaXMuX2xheWVycyA9IFtdO1xyXG4gICAgICAgIGdyb3VwcyA9IHRoaXMuX2dyb3VwcyA9IFtdO1xyXG4gICAgICAgIGltYWdlcyA9IHRoaXMuX2ltYWdlcyA9IFtdO1xyXG5cclxuICAgICAgICBsZXQgbWFwSW5mbyA9IHRoaXMuX21hcEluZm87XHJcbiAgICAgICAgbGV0IG5vZGUgPSB0aGlzLm5vZGU7XHJcbiAgICAgICAgbGV0IGxheWVySW5mb3MgPSBtYXBJbmZvLmdldEFsbENoaWxkcmVuKCk7XHJcbiAgICAgICAgbGV0IHRleHR1cmVzID0gdGhpcy5fdGV4dHVyZXM7XHJcbiAgICAgICAgbGV0IG1heFdpZHRoID0gMDtcclxuICAgICAgICBsZXQgbWF4SGVpZ2h0ID0gMDtcclxuXHJcbiAgICAgICAgdGhpcy5fb2JqZWN0VGV4dHVyZXMgPSBbXTtcclxuICAgICAgICBsZXQgZmlyc3RUbXhMYXllciA9IG51bGw7XHJcblxyXG4gICAgICAgIGlmIChsYXllckluZm9zICYmIGxheWVySW5mb3MubGVuZ3RoID4gMCkge1xyXG4gICAgICAgICAgICBmb3IgKGxldCBpID0gMCwgbGVuID0gbGF5ZXJJbmZvcy5sZW5ndGg7IGkgPCBsZW47IGkrKykge1xyXG4gICAgICAgICAgICAgICAgbGV0IGxheWVySW5mbyA9IGxheWVySW5mb3NbaV07XHJcbiAgICAgICAgICAgICAgICBsZXQgbmFtZSA9IGxheWVySW5mby5uYW1lO1xyXG5cclxuICAgICAgICAgICAgICAgIGxldCBjaGlsZCA9IHRoaXMubm9kZS5nZXRDaGlsZEJ5TmFtZShuYW1lKTtcclxuICAgICAgICAgICAgICAgIG9sZE5vZGVOYW1lc1tuYW1lXSA9IGZhbHNlO1xyXG5cclxuICAgICAgICAgICAgICAgIGlmICghY2hpbGQpIHtcclxuICAgICAgICAgICAgICAgICAgICBjaGlsZCA9IG5ldyBjYy5Ob2RlKCk7XHJcbiAgICAgICAgICAgICAgICAgICAgY2hpbGQubmFtZSA9IG5hbWU7XHJcbiAgICAgICAgICAgICAgICAgICAgbm9kZS5hZGRDaGlsZChjaGlsZCk7XHJcbiAgICAgICAgICAgICAgICB9XHJcblxyXG4gICAgICAgICAgICAgICAgY2hpbGQuc2V0U2libGluZ0luZGV4KGkpO1xyXG4gICAgICAgICAgICAgICAgY2hpbGQuYWN0aXZlID0gbGF5ZXJJbmZvLnZpc2libGU7XHJcblxyXG4gICAgICAgICAgICAgICAgaWYgKGxheWVySW5mbyBpbnN0YW5jZW9mIGNjLlRNWExheWVySW5mbykge1xyXG4gICAgICAgICAgICAgICAgICAgIC8vIOatpOWkhOS/ruaUuSDmlLnkuLrliJvlu7pNeVRpbGVkTGF5ZXJcclxuICAgICAgICAgICAgICAgICAgICBsZXQgbGF5ZXIgPSBjaGlsZC5nZXRDb21wb25lbnQoVG1vVGlsZWRMYXllcik7XHJcbiAgICAgICAgICAgICAgICAgICAgaWYgKCFsYXllcikge1xyXG4gICAgICAgICAgICAgICAgICAgICAgICBsYXllciA9IGNoaWxkLmFkZENvbXBvbmVudChUbW9UaWxlZExheWVyKTtcclxuICAgICAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICAgICAgLy8g5L+u5pS557uT5p2fXHJcbiAgICAgICAgICAgICAgICAgICAgLy8g5q2k5aSE5L+u5pS5IOS8oOmAkmZpcnN0VG14TGF5ZXIg6K6w5b2VZmlyc3RUbXhMYXllclxyXG4gICAgICAgICAgICAgICAgICAgIGxheWVyLl9pbml0KGxheWVySW5mbywgbWFwSW5mbywgdGlsZXNldHMsIHRleHR1cmVzLCB0ZXhHcmlkcywgdGhpcywgZmlyc3RUbXhMYXllcik7XHJcbiAgICAgICAgICAgICAgICAgICAgZmlyc3RUbXhMYXllciA9IGZpcnN0VG14TGF5ZXIgfHwgbGF5ZXI7XHJcbiAgICAgICAgICAgICAgICAgICAgLy8g5L+u5pS557uT5p2fXHJcblxyXG4gICAgICAgICAgICAgICAgICAgIC8vIHRlbGwgdGhlIGxheWVyaW5mbyB0byByZWxlYXNlIHRoZSBvd25lcnNoaXAgb2YgdGhlIHRpbGVzIG1hcC5cclxuICAgICAgICAgICAgICAgICAgICBsYXllckluZm8ub3duVGlsZXMgPSBmYWxzZTtcclxuICAgICAgICAgICAgICAgICAgICBsYXllcnMucHVzaChsYXllcik7XHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICBlbHNlIGlmIChsYXllckluZm8gaW5zdGFuY2VvZiBjYy5UTVhPYmplY3RHcm91cEluZm8pIHtcclxuICAgICAgICAgICAgICAgICAgICBsZXQgZ3JvdXAgPSBjaGlsZC5nZXRDb21wb25lbnQoVG1vT2JqZWN0R3JvdXApO1xyXG4gICAgICAgICAgICAgICAgICAgIGlmICghZ3JvdXApIHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgZ3JvdXAgPSBjaGlsZC5hZGRDb21wb25lbnQoVG1vT2JqZWN0R3JvdXApO1xyXG4gICAgICAgICAgICAgICAgICAgIH1cclxuXHJcbiAgICAgICAgICAgICAgICAgICAgZ3JvdXAuX2luaXQobGF5ZXJJbmZvLCBtYXBJbmZvLCB0ZXhHcmlkcywgdGhpcyk7XHJcbiAgICAgICAgICAgICAgICAgICAgZ3JvdXBzLnB1c2goZ3JvdXApO1xyXG4gICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgZWxzZSBpZiAobGF5ZXJJbmZvIGluc3RhbmNlb2YgY2MuVE1YSW1hZ2VMYXllckluZm8pIHtcclxuICAgICAgICAgICAgICAgICAgICBsZXQgdGV4dHVyZSA9IGxheWVySW5mby5zb3VyY2VJbWFnZTtcclxuICAgICAgICAgICAgICAgICAgICBjaGlsZC5vcGFjaXR5ID0gbGF5ZXJJbmZvLm9wYWNpdHk7XHJcbiAgICAgICAgICAgICAgICAgICAgY2hpbGQubGF5ZXJJbmZvID0gbGF5ZXJJbmZvO1xyXG4gICAgICAgICAgICAgICAgICAgIGNoaWxkLl9vZmZzZXQgPSBjYy52MihsYXllckluZm8ub2Zmc2V0LngsIC1sYXllckluZm8ub2Zmc2V0LnkpO1xyXG5cclxuICAgICAgICAgICAgICAgICAgICBsZXQgaW1hZ2UgPSBjaGlsZC5nZXRDb21wb25lbnQoY2MuU3ByaXRlKTtcclxuICAgICAgICAgICAgICAgICAgICBpZiAoIWltYWdlKSB7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIGltYWdlID0gY2hpbGQuYWRkQ29tcG9uZW50KGNjLlNwcml0ZSk7XHJcbiAgICAgICAgICAgICAgICAgICAgfVxyXG5cclxuICAgICAgICAgICAgICAgICAgICBsZXQgc3BmID0gaW1hZ2Uuc3ByaXRlRnJhbWUgfHwgbmV3IGNjLlNwcml0ZUZyYW1lKCk7XHJcbiAgICAgICAgICAgICAgICAgICAgc3BmLnNldFRleHR1cmUodGV4dHVyZSk7XHJcbiAgICAgICAgICAgICAgICAgICAgaW1hZ2Uuc3ByaXRlRnJhbWUgPSBzcGY7XHJcblxyXG4gICAgICAgICAgICAgICAgICAgIGNoaWxkLndpZHRoID0gdGV4dHVyZS53aWR0aDtcclxuICAgICAgICAgICAgICAgICAgICBjaGlsZC5oZWlnaHQgPSB0ZXh0dXJlLmhlaWdodDtcclxuICAgICAgICAgICAgICAgICAgICBpbWFnZXMucHVzaChjaGlsZCk7XHJcbiAgICAgICAgICAgICAgICB9XHJcblxyXG4gICAgICAgICAgICAgICAgbWF4V2lkdGggPSBNYXRoLm1heChtYXhXaWR0aCwgY2hpbGQud2lkdGgpO1xyXG4gICAgICAgICAgICAgICAgbWF4SGVpZ2h0ID0gTWF0aC5tYXgobWF4SGVpZ2h0LCBjaGlsZC5oZWlnaHQpO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG5cclxuICAgICAgICAvLyDorr7nva7mnZDotKjnmoR0ZXh0dXJl5bGe5oCnXHJcbiAgICAgICAgbGV0IG9iamVjdFRleHR1cmVzID0gdGhpcy5fb2JqZWN0VGV4dHVyZXM7XHJcbiAgICAgICAgZm9yIChsZXQgaSA9IDA7IGkgPCBvYmplY3RUZXh0dXJlcy5sZW5ndGg7IGkrKykge1xyXG4gICAgICAgICAgICBsZXQgaWR4ID0gaSA9PT0gMCA/ICcnIDogaTtcclxuICAgICAgICAgICAgdGhpcy5vYmplY3RNYXRlcmlhbC5zZXRQcm9wZXJ0eShgdGV4dHVyZSR7aWR4fWAsIG9iamVjdFRleHR1cmVzW2ldLCAwKTtcclxuICAgICAgICB9XHJcblxyXG4gICAgICAgIGxldCBjaGlsZHJlbiA9IG5vZGUuY2hpbGRyZW47XHJcbiAgICAgICAgZm9yIChsZXQgaSA9IDAsIG4gPSBjaGlsZHJlbi5sZW5ndGg7IGkgPCBuOyBpKyspIHtcclxuICAgICAgICAgICAgbGV0IGMgPSBjaGlsZHJlbltpXTtcclxuICAgICAgICAgICAgaWYgKG9sZE5vZGVOYW1lc1tjLl9uYW1lXSkge1xyXG4gICAgICAgICAgICAgICAgYy5kZXN0cm95KCk7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcblxyXG4gICAgICAgIHRoaXMubm9kZS53aWR0aCA9IG1heFdpZHRoO1xyXG4gICAgICAgIHRoaXMubm9kZS5oZWlnaHQgPSBtYXhIZWlnaHQ7XHJcbiAgICAgICAgdGhpcy5fc3luY0FuY2hvclBvaW50KCk7XHJcbiAgICB9LFxyXG5cclxuICAgIGdldE9iamVjdE1hdGVyaWFsOiBmdW5jdGlvbiAoKSB7XHJcbiAgICAgICAgcmV0dXJuIHRoaXMub2JqZWN0TWF0ZXJpYWw7XHJcbiAgICB9LFxyXG5cclxuICAgIGlzTm9Db2xvcjogZnVuY3Rpb24gKCkge1xyXG4gICAgICAgIHJldHVybiB0aGlzLm5vQ29sb3I7XHJcbiAgICB9LFxyXG5cclxuICAgIGlzU2luZ2xlVGV4dHVyZTogZnVuY3Rpb24gKCkge1xyXG4gICAgICAgIHJldHVybiB0aGlzLnNpbmdsZVRleHR1cmU7XHJcbiAgICB9LFxyXG5cclxuICAgIGdldE9iamVjdFRleHR1cmVzOiBmdW5jdGlvbiAoKSB7XHJcbiAgICAgICAgcmV0dXJuIHRoaXMuX29iamVjdFRleHR1cmVzO1xyXG4gICAgfVxyXG59KTsiXX0= -//------QC-SOURCE-SPLIT------ - - (function() { - var nodeEnv = typeof require !== 'undefined' && typeof process !== 'undefined'; - var __module = nodeEnv ? module : {exports:{}}; - var __filename = 'preview-scripts/assets/Script/module/GameStart/GameAppStart.js'; - var __require = nodeEnv ? function (request) { - return cc.require(request); - } : function (request) { - return __quick_compile_project__.require(request, __filename); - }; - function __define (exports, require, module) { - if (!nodeEnv) {__quick_compile_project__.registerModule(__filename, module);}"use strict"; -cc._RF.push(module, '61d4ccY2ztLMYIh8WvqPPAw', 'GameAppStart'); -// Script/module/GameStart/GameAppStart.ts - -"use strict"; -Object.defineProperty(exports, "__esModule", { value: true }); -var GameConfig_1 = require("../Config/GameConfig"); -var HttpUtil_1 = require("../Crypto/HttpUtil"); -var AudioManager_1 = require("../Music/AudioManager"); -var Notification_1 = require("../Notification/Notification"); -var Storage_1 = require("../Storage/Storage"); -var GameTool_1 = require("../Tool/GameTool"); -window.initMgr = function () { - if (cc.fx) { - return; - } - cc.fx = {}; - console.log("1初始化"); - //基础状态信息 - cc.fx.StateInfo = { - debugMode: true, - networkConnected: true, - networkType: 'none', - isOnForeground: true //当前是否是在前台 - }; - //应用系统信息 - //配置文件 - cc.fx.GameConfig = GameConfig_1.GameConfig; - cc.fx.HttpUtil = HttpUtil_1.default; - cc.fx.GameTool = GameTool_1.GameTool; - cc.fx.AudioManager = AudioManager_1.default; - cc.fx.Notifications = Notification_1.Notifications; - cc.fx.StorageMessage = Storage_1.StorageMessage; - cc.fx.ShareInfo = { - queryId: -1 //分享id - }; - cc.fx.Message = { - control: "10001", - startGame: "10002", - next: "10003", - changePath: "10004", - changeMap: "10005", - nextWater: "10006", - addEnd: "10007", - setData: "10008", - guideNext: "10009", - showResult: "10010", - removeTip: "10011" //执行撤回或者后退动作,移除提示 - }; - /* - * 客户端埋点分享类型 - */ - cc.fx.BurialShareType = { - Default: "default", - Invite: "invite", - DailyInviteRoomJoin: 'invite_join_room', - DailyInviteFriend: 'invite_friend', - DailyInviteGroup: 'invate_group', - DailyInviteGroupAlive: 'invate_alive', - DailyInviteGroupReward: 'invate_rewared', - DailyInviteGroupBox: 'invate_box', - DailyInviteGroupBall: 'invate_ball', - MatchResult: 'matchResult', - MatchFix5: 'MatchFix5', - MatchFix20: 'MatchFix20', - MatchFix100: 'MatchFix100', - MatchFix500: 'MatchFix500', - NewerRedEnvelope: 'newerRedEnvelope', - CoinRoomResult: 'coinRoomResult', - HighRate: "highRate", - CoinRoomWinStreak: 'coinRoomWinStreak', - CoinRoomBankruptcy1: 'coinRoomBankruptcy1', - CoinRoomBankruptcy2: 'coinRoomBankruptcy2', - CoinRoomBankruptcy3: 'coinRoomBankruptcy3', - }; - /* - * 分享到哪儿给奖励 group frined all - */ - cc.fx.ShareWhereReward = { - Group: "group", - Friend: "friend", - All: "all", - }; - //用于存储消息的ID - cc.fx.storageType = cc.Enum({ - storageTypeCustom: 1000101, - }); - //用于存储提示语 按照步骤提示 - cc.fx.tipType = cc.Enum({ - tipOne: '神农氏回到家中,开始整理今天收集来的物品。当他第一次拿出或说出一种植物时,请告诉他这是新植物。', - tipTwo: '如果他拿出或说出的植物你今天看到过,请告诉他上次是看到的;如果你听他说过,则请告诉他上次是听到的。', - tipErrNew: '这是这局游戏第一次出现{植物}', - tipErrOld: '{植物}刚才出现过呢', - tipErrHear: '上次遇到{植物}时,似乎不是听到的吧', - tipErrSee: '上次遇到{植物}时,似乎不是看到的吧', - tipErrLast: '之前确实看到过{植物},但最近一次似乎不是看到的呢', - }); -}; - -cc._RF.pop(); - } - if (nodeEnv) { - __define(__module.exports, __require, __module); - } - else { - __quick_compile_project__.registerModuleFunc(__filename, function () { - __define(__module.exports, __require, __module); - }); - } - })(); -//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbImFzc2V0c1xcU2NyaXB0XFxtb2R1bGVcXEdhbWVTdGFydFxcR2FtZUFwcFN0YXJ0LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7Ozs7Ozs7Ozs7Ozs7O0FBQUEsbURBQWtEO0FBQ2xELCtDQUEwQztBQUMxQyxzREFBaUQ7QUFDakQsNkRBQTZEO0FBQzdELDhDQUFvRDtBQUNwRCw2Q0FBNEM7QUFHNUMsTUFBTSxDQUFDLE9BQU8sR0FBRztJQUNiLElBQUcsRUFBRSxDQUFDLEVBQUUsRUFDUjtRQUNJLE9BQU87S0FDVjtJQUNELEVBQUUsQ0FBQyxFQUFFLEdBQUcsRUFBRSxDQUFDO0lBQ1gsT0FBTyxDQUFDLEdBQUcsQ0FBQyxNQUFNLENBQUMsQ0FBQztJQUVwQixRQUFRO0lBQ1IsRUFBRSxDQUFDLEVBQUUsQ0FBQyxTQUFTLEdBQUc7UUFDZCxTQUFTLEVBQUUsSUFBSTtRQUNmLGdCQUFnQixFQUFFLElBQUk7UUFDdEIsV0FBVyxFQUFFLE1BQU07UUFDbkIsY0FBYyxFQUFFLElBQUksQ0FBTSxVQUFVO0tBQ3ZDLENBQUM7SUFFRixRQUFRO0lBQ1IsTUFBTTtJQUVOLEVBQUUsQ0FBQyxFQUFFLENBQUMsVUFBVSxHQUFHLHVCQUFVLENBQUM7SUFDOUIsRUFBRSxDQUFDLEVBQUUsQ0FBQyxRQUFRLEdBQUcsa0JBQVEsQ0FBQztJQUMxQixFQUFFLENBQUMsRUFBRSxDQUFDLFFBQVEsR0FBRyxtQkFBUSxDQUFDO0lBQzFCLEVBQUUsQ0FBQyxFQUFFLENBQUMsWUFBWSxHQUFHLHNCQUFZLENBQUM7SUFDbEMsRUFBRSxDQUFDLEVBQUUsQ0FBQyxhQUFhLEdBQUcsNEJBQWEsQ0FBQztJQUNwQyxFQUFFLENBQUMsRUFBRSxDQUFDLGNBQWMsR0FBRyx3QkFBYyxDQUFDO0lBRXRDLEVBQUUsQ0FBQyxFQUFFLENBQUMsU0FBUyxHQUFHO1FBQ2QsT0FBTyxFQUFHLENBQUMsQ0FBQyxDQUFjLE1BQU07S0FDbkMsQ0FBQztJQUVGLEVBQUUsQ0FBQyxFQUFFLENBQUMsT0FBTyxHQUFHO1FBQ1osT0FBTyxFQUFFLE9BQU87UUFDaEIsU0FBUyxFQUFDLE9BQU87UUFDakIsSUFBSSxFQUFFLE9BQU87UUFDYixVQUFVLEVBQUUsT0FBTztRQUNuQixTQUFTLEVBQUUsT0FBTztRQUNsQixTQUFTLEVBQUUsT0FBTztRQUNsQixNQUFNLEVBQUUsT0FBTztRQUNmLE9BQU8sRUFBRSxPQUFPO1FBQ2hCLFNBQVMsRUFBRSxPQUFPO1FBQ2xCLFVBQVUsRUFBRSxPQUFPO1FBQ25CLFNBQVMsRUFBRSxPQUFPLENBQVUsaUJBQWlCO0tBQ2hELENBQUE7SUFFRDs7TUFFRTtJQUNGLEVBQUUsQ0FBQyxFQUFFLENBQUMsZUFBZSxHQUFHO1FBQ3BCLE9BQU8sRUFBRyxTQUFTO1FBQ25CLE1BQU0sRUFBRyxRQUFRO1FBRWpCLG1CQUFtQixFQUFDLGtCQUFrQjtRQUN0QyxpQkFBaUIsRUFBRyxlQUFlO1FBQ25DLGdCQUFnQixFQUFHLGNBQWM7UUFDakMscUJBQXFCLEVBQUUsY0FBYztRQUNyQyxzQkFBc0IsRUFBRSxnQkFBZ0I7UUFDeEMsbUJBQW1CLEVBQUUsWUFBWTtRQUNqQyxvQkFBb0IsRUFBRSxhQUFhO1FBRW5DLFdBQVcsRUFBRyxhQUFhO1FBQzNCLFNBQVMsRUFBRSxXQUFXO1FBQ3RCLFVBQVUsRUFBRSxZQUFZO1FBQ3hCLFdBQVcsRUFBRSxhQUFhO1FBQzFCLFdBQVcsRUFBRSxhQUFhO1FBQzFCLGdCQUFnQixFQUFFLGtCQUFrQjtRQUNwQyxjQUFjLEVBQUUsZ0JBQWdCO1FBQ2hDLFFBQVEsRUFBRyxVQUFVO1FBQ3JCLGlCQUFpQixFQUFFLG1CQUFtQjtRQUN0QyxtQkFBbUIsRUFBRSxxQkFBcUI7UUFDMUMsbUJBQW1CLEVBQUUscUJBQXFCO1FBQzFDLG1CQUFtQixFQUFFLHFCQUFxQjtLQUM3QyxDQUFDO0lBRUY7O09BRUc7SUFDSCxFQUFFLENBQUMsRUFBRSxDQUFDLGdCQUFnQixHQUFHO1FBQ3JCLEtBQUssRUFBRSxPQUFPO1FBQ2QsTUFBTSxFQUFHLFFBQVE7UUFDakIsR0FBRyxFQUFHLEtBQUs7S0FDZCxDQUFDO0lBRUYsV0FBVztJQUNYLEVBQUUsQ0FBQyxFQUFFLENBQUMsV0FBVyxHQUFHLEVBQUUsQ0FBQyxJQUFJLENBQUM7UUFDM0IsaUJBQWlCLEVBQUUsT0FBTztLQUM3QixDQUFDLENBQUM7SUFFQSxpQkFBaUI7SUFDakIsRUFBRSxDQUFDLEVBQUUsQ0FBQyxPQUFPLEdBQUcsRUFBRSxDQUFDLElBQUksQ0FBQztRQUNwQixNQUFNLEVBQUUsaURBQWlEO1FBQ3pELE1BQU0sRUFBRSxtREFBbUQ7UUFDM0QsU0FBUyxFQUFFLGlCQUFpQjtRQUM1QixTQUFTLEVBQUUsWUFBWTtRQUN2QixVQUFVLEVBQUUsb0JBQW9CO1FBQ2hDLFNBQVMsRUFBRSxvQkFBb0I7UUFDL0IsVUFBVSxFQUFFLDJCQUEyQjtLQUUxQyxDQUFDLENBQUM7QUFFUCxDQUFDLENBQUMiLCJmaWxlIjoiIiwic291cmNlUm9vdCI6Ii8iLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBHYW1lQ29uZmlnIH0gZnJvbSBcIi4uL0NvbmZpZy9HYW1lQ29uZmlnXCI7XHJcbmltcG9ydCBIdHRwVXRpbCBmcm9tIFwiLi4vQ3J5cHRvL0h0dHBVdGlsXCI7XHJcbmltcG9ydCBBdWRpb01hbmFnZXIgZnJvbSBcIi4uL011c2ljL0F1ZGlvTWFuYWdlclwiO1xyXG5pbXBvcnQgeyBOb3RpZmljYXRpb25zIH0gZnJvbSBcIi4uL05vdGlmaWNhdGlvbi9Ob3RpZmljYXRpb25cIjtcclxuaW1wb3J0IHsgU3RvcmFnZU1lc3NhZ2UgfSBmcm9tIFwiLi4vU3RvcmFnZS9TdG9yYWdlXCI7XHJcbmltcG9ydCB7IEdhbWVUb29sIH0gZnJvbSBcIi4uL1Rvb2wvR2FtZVRvb2xcIjtcclxuXHJcblxyXG53aW5kb3cuaW5pdE1nciA9IGZ1bmN0aW9uKCkge1xyXG4gICAgaWYoY2MuZngpXHJcbiAgICB7XHJcbiAgICAgICAgcmV0dXJuO1xyXG4gICAgfVxyXG4gICAgY2MuZnggPSB7fTtcclxuICAgIGNvbnNvbGUubG9nKFwiMeWIneWni+WMllwiKTtcclxuXHJcbiAgICAvL+WfuuehgOeKtuaAgeS/oeaBr1xyXG4gICAgY2MuZnguU3RhdGVJbmZvID0ge1xyXG4gICAgICAgIGRlYnVnTW9kZTogdHJ1ZSxcclxuICAgICAgICBuZXR3b3JrQ29ubmVjdGVkOiB0cnVlLCAgIC8v572R57uc54q25oCBXHJcbiAgICAgICAgbmV0d29ya1R5cGU6ICdub25lJywgICAgICAvL+e9kee7nOexu+Wei1xyXG4gICAgICAgIGlzT25Gb3JlZ3JvdW5kOiB0cnVlICAgICAgLy/lvZPliY3mmK/lkKbmmK/lnKjliY3lj7BcclxuICAgIH07XHJcblxyXG4gICAgLy/lupTnlKjns7vnu5/kv6Hmga9cclxuICAgIC8v6YWN572u5paH5Lu2XHJcblxyXG4gICAgY2MuZnguR2FtZUNvbmZpZyA9IEdhbWVDb25maWc7XHJcbiAgICBjYy5meC5IdHRwVXRpbCA9IEh0dHBVdGlsO1xyXG4gICAgY2MuZnguR2FtZVRvb2wgPSBHYW1lVG9vbDtcclxuICAgIGNjLmZ4LkF1ZGlvTWFuYWdlciA9IEF1ZGlvTWFuYWdlcjtcclxuICAgIGNjLmZ4Lk5vdGlmaWNhdGlvbnMgPSBOb3RpZmljYXRpb25zO1xyXG4gICAgY2MuZnguU3RvcmFnZU1lc3NhZ2UgPSBTdG9yYWdlTWVzc2FnZTtcclxuXHJcbiAgICBjYy5meC5TaGFyZUluZm8gPSB7XHJcbiAgICAgICAgcXVlcnlJZCA6IC0xICAgICAgICAgICAgICAvL+WIhuS6q2lkXHJcbiAgICB9O1xyXG5cclxuICAgIGNjLmZ4Lk1lc3NhZ2UgPSB7XHJcbiAgICAgICAgY29udHJvbDogXCIxMDAwMVwiLCAgICAgICAvL+S8oOmAkuaTjeS9nOaOp+WItlxyXG4gICAgICAgIHN0YXJ0R2FtZTpcIjEwMDAyXCIsICAgICAgLy/kvKDpgJLlvIDlp4vlu7rnrZFcclxuICAgICAgICBuZXh0OiBcIjEwMDAzXCIgLCAgICAgICAgICAvL+S8oOmAkuaJp+ihjOS4i+S4gOS4quagvOWtkOa0quawtOa1gei/h1xyXG4gICAgICAgIGNoYW5nZVBhdGg6IFwiMTAwMDRcIiwgICAgICAgLy/kvKDpgJLmk43kvZzmjqfliLZcclxuICAgICAgICBjaGFuZ2VNYXA6IFwiMTAwMDVcIiwgICAgICAgICAvL+aUueWPmOmCo+WcsOWbvlxyXG4gICAgICAgIG5leHRXYXRlcjogXCIxMDAwNlwiICwgICAgICAgICAgLy/kvKDpgJLmiafooYzkuIvkuIDkuKrmoLzlrZDmtKrmsLTmtYHov4dcclxuICAgICAgICBhZGRFbmQ6IFwiMTAwMDdcIiAsICAgICAgICAgIC8v5re75Yqg57uT5p2f54K5XHJcbiAgICAgICAgc2V0RGF0YTogXCIxMDAwOFwiICwgICAgICAgICAvL+S4iuS8oOWIhuaVsFxyXG4gICAgICAgIGd1aWRlTmV4dDogXCIxMDAwOVwiICwgICAgICAgIC8v5byV5a+86L+b5YWl5LiL5LiA5q2lXHJcbiAgICAgICAgc2hvd1Jlc3VsdDogXCIxMDAxMFwiLCAgICAgICAgICAvL+Wxleekuuayu+awtOe7k+aenFxyXG4gICAgICAgIHJlbW92ZVRpcDogXCIxMDAxMVwiICAgICAgICAgIC8v5omn6KGM5pKk5Zue5oiW6ICF5ZCO6YCA5Yqo5L2c77yM56e76Zmk5o+Q56S6XHJcbiAgICB9XHJcblxyXG4gICAgLypcclxuICAgICAgICAqIOWuouaIt+err+Wfi+eCueWIhuS6q+exu+Wei1xyXG4gICAgKi9cclxuICAgIGNjLmZ4LkJ1cmlhbFNoYXJlVHlwZSA9IHtcclxuICAgICAgICBEZWZhdWx0IDogXCJkZWZhdWx0XCIsICAgICAgICAvL+m7mOiupOWIhuS6q+exu+WeiyzliIbkuqvliLDnvqRcclxuICAgICAgICBJbnZpdGUgOiBcImludml0ZVwiLCAgICAgICAgICAvLyDpgoDor7flpb3lj4tcclxuXHJcbiAgICAgICAgRGFpbHlJbnZpdGVSb29tSm9pbjonaW52aXRlX2pvaW5fcm9vbScsIC8v6YKA6K+35aW95Y+L5Yqg5YWlXHJcbiAgICAgICAgRGFpbHlJbnZpdGVGcmllbmQgOiAnaW52aXRlX2ZyaWVuZCcsIC8vIOaXpeW4uOmCgOivt+WlveWPi1xyXG4gICAgICAgIERhaWx5SW52aXRlR3JvdXAgOiAnaW52YXRlX2dyb3VwJywgLy8g5pel5bi45YiG5Lqr576kXHJcbiAgICAgICAgRGFpbHlJbnZpdGVHcm91cEFsaXZlOiAnaW52YXRlX2FsaXZlJywgLy/ml6XluLjliIbkuqvnvqTlpI3mtLtcclxuICAgICAgICBEYWlseUludml0ZUdyb3VwUmV3YXJkOiAnaW52YXRlX3Jld2FyZWQnLC8v5YiG5Lqr5aWW5Yqx57+75YCNXHJcbiAgICAgICAgRGFpbHlJbnZpdGVHcm91cEJveDogJ2ludmF0ZV9ib3gnLCAgLy/lrp3nrrHliIbkuqvlpZblirFcclxuICAgICAgICBEYWlseUludml0ZUdyb3VwQmFsbDogJ2ludmF0ZV9iYWxsJywgIC8v5YiG5Lqr6aKG5Y+W55CD55CDXHJcblxyXG4gICAgICAgIE1hdGNoUmVzdWx0IDogJ21hdGNoUmVzdWx0JywgIC8vIOavlOi1m+e7k+eul+WIhuS6q1xyXG4gICAgICAgIE1hdGNoRml4NTogJ01hdGNoRml4NScsICAgICAgICAgICAgICAgICAgICAgICAgICAvLyA15YWD57qi5YyF6LWbXHJcbiAgICAgICAgTWF0Y2hGaXgyMDogJ01hdGNoRml4MjAnLCAgICAgICAgICAgICAgICAgICAgICAgIC8vIDIw5YWD57qi5YyF6LWbXHJcbiAgICAgICAgTWF0Y2hGaXgxMDA6ICdNYXRjaEZpeDEwMCcsICAgICAgICAgICAgICAgICAgICAgIC8vIDEwMOWFg+e6ouWMhei1m1xyXG4gICAgICAgIE1hdGNoRml4NTAwOiAnTWF0Y2hGaXg1MDAnLCAgICAgICAgICAgICAgICAgICAgICAvLyA1MDDlhYPnuqLljIXotZtcclxuICAgICAgICBOZXdlclJlZEVudmVsb3BlOiAnbmV3ZXJSZWRFbnZlbG9wZScsICAgICAgICAgICAgLy8g5paw5omL57qi5YyFXHJcbiAgICAgICAgQ29pblJvb21SZXN1bHQ6ICdjb2luUm9vbVJlc3VsdCcsICAgICAgICAgICAgICAgIC8vIOmHkeW4geahjOe7k+eul1xyXG4gICAgICAgIEhpZ2hSYXRlIDogXCJoaWdoUmF0ZVwiLC8v6auY5YCN5YiG5LqrXHJcbiAgICAgICAgQ29pblJvb21XaW5TdHJlYWs6ICdjb2luUm9vbVdpblN0cmVhaycsICAgICAgICAgLy8g6L+e6IOcXHJcbiAgICAgICAgQ29pblJvb21CYW5rcnVwdGN5MTogJ2NvaW5Sb29tQmFua3J1cHRjeTEnLCAgICAgICAgIC8vIOmHkeW4geahjOegtOS6p1xyXG4gICAgICAgIENvaW5Sb29tQmFua3J1cHRjeTI6ICdjb2luUm9vbUJhbmtydXB0Y3kyJywgICAgICAgICAvLyDph5HluIHmoYznoLTkuqdcclxuICAgICAgICBDb2luUm9vbUJhbmtydXB0Y3kzOiAnY29pblJvb21CYW5rcnVwdGN5MycsICAgICAgICAgLy8g6YeR5biB5qGM56C05LqnXHJcbiAgICB9O1xyXG5cclxuICAgIC8qXHJcbiAgICAgKiDliIbkuqvliLDlk6rlhL/nu5nlpZblirEgZ3JvdXAgZnJpbmVkIGFsbFxyXG4gICAgICovXHJcbiAgICBjYy5meC5TaGFyZVdoZXJlUmV3YXJkID0ge1xyXG4gICAgICAgIEdyb3VwIDpcImdyb3VwXCIsIC8v5b6u5L+h576kXHJcbiAgICAgICAgRnJpZW5kIDogXCJmcmllbmRcIiwvL+WlveWPi1xyXG4gICAgICAgIEFsbCA6IFwiYWxsXCIsIC8v5LiN5Yy65YiGXHJcbiAgICB9O1xyXG5cclxuICAgIC8v55So5LqO5a2Y5YKo5raI5oGv55qESURcclxuICAgIGNjLmZ4LnN0b3JhZ2VUeXBlID0gY2MuRW51bSh7XHJcblx0ICAgIHN0b3JhZ2VUeXBlQ3VzdG9tOiAxMDAwMTAxLCAvL+eUqOS6juWtmOWCqOWFs+WNoeetiee6p1xyXG5cdH0pO1xyXG5cclxuICAgIC8v55So5LqO5a2Y5YKo5o+Q56S66K+tICDmjInnhafmraXpqqTmj5DnpLpcclxuICAgIGNjLmZ4LnRpcFR5cGUgPSBjYy5FbnVtKHtcclxuICAgICAgICB0aXBPbmU6ICfnpZ7lhpzmsI/lm57liLDlrrbkuK3vvIzlvIDlp4vmlbTnkIbku4rlpKnmlLbpm4bmnaXnmoTnianlk4HjgILlvZPku5bnrKzkuIDmrKHmi7/lh7rmiJbor7Tlh7rkuIDnp43mpI3nianml7bvvIzor7flkYror4nku5bov5nmmK/mlrDmpI3nianjgIInLFxyXG4gICAgICAgIHRpcFR3bzogJ+WmguaenOS7luaLv+WHuuaIluivtOWHuueahOakjeeJqeS9oOS7iuWkqeeci+WIsOi/h++8jOivt+WRiuivieS7luS4iuasoeaYr+eci+WIsOeahO+8m+WmguaenOS9oOWQrOS7luivtOi/h++8jOWImeivt+WRiuivieS7luS4iuasoeaYr+WQrOWIsOeahOOAgicsIC8v55So5LqO5a2Y5YKo5YWz5Y2h562J57qnXHJcbiAgICAgICAgdGlwRXJyTmV3OiAn6L+Z5piv6L+Z5bGA5ri45oiP56ys5LiA5qyh5Ye6546we+akjeeJqX0nLFxyXG4gICAgICAgIHRpcEVyck9sZDogJ3vmpI3nial95Yia5omN5Ye6546w6L+H5ZGiJyxcclxuICAgICAgICB0aXBFcnJIZWFyOiAn5LiK5qyh6YGH5Yiwe+akjeeJqX3ml7bvvIzkvLzkuY7kuI3mmK/lkKzliLDnmoTlkKcnLFxyXG4gICAgICAgIHRpcEVyclNlZTogJ+S4iuasoemBh+WIsHvmpI3nial95pe277yM5Ly85LmO5LiN5piv55yL5Yiw55qE5ZCnJyxcclxuICAgICAgICB0aXBFcnJMYXN0OiAn5LmL5YmN56Gu5a6e55yL5Yiw6L+He+akjeeJqX3vvIzkvYbmnIDov5HkuIDmrKHkvLzkuY7kuI3mmK/nnIvliLDnmoTlkaInLFxyXG5cclxuICAgIH0pO1xyXG5cclxufTsiXX0= -//------QC-SOURCE-SPLIT------ - - (function() { - var nodeEnv = typeof require !== 'undefined' && typeof process !== 'undefined'; - var __module = nodeEnv ? module : {exports:{}}; - var __filename = 'preview-scripts/tiledmap-optimize-resource/Script/TmoObjectGroup.js'; - var __require = nodeEnv ? function (request) { - return cc.require(request); - } : function (request) { - return __quick_compile_project__.require(request, __filename); - }; - function __define (exports, require, module) { - if (!nodeEnv) {__quick_compile_project__.registerModule(__filename, module);}"use strict"; -cc._RF.push(module, '30e2eSQWDNKI69FbaYfN62j', 'TmoObjectGroup'); -// Script/TmoObjectGroup.js - -"use strict"; - -exports.__esModule = true; -exports["default"] = void 0; - -// Learn cc.Class: -// - https://docs.cocos.com/creator/manual/en/scripting/class.html -// Learn Attribute: -// - https://docs.cocos.com/creator/manual/en/scripting/reference/attributes.html -// Learn life-cycle callbacks: -// - https://docs.cocos.com/creator/manual/en/scripting/life-cycle-callbacks.html -var TmoSprite = require("./TmoSprite"); - -var _default = cc.Class({ - "extends": cc.TiledObjectGroup, - _init: function _init(groupInfo, mapInfo, texGrids, tiledMap) { - var TiledMap = cc.TiledMap; - var TMXObjectType = TiledMap.TMXObjectType; - var Orientation = TiledMap.Orientation; - var StaggerAxis = TiledMap.StaggerAxis; - var TileFlag = TiledMap.TileFlag; - var FLIPPED_MASK = TileFlag.FLIPPED_MASK; - var FLAG_HORIZONTAL = TileFlag.HORIZONTAL; - var FLAG_VERTICAL = TileFlag.VERTICAL; - this._groupName = groupInfo.name; - this._positionOffset = groupInfo.offset; - this._mapInfo = mapInfo; - this._properties = groupInfo.getProperties(); - this._offset = cc.v2(groupInfo.offset.x, -groupInfo.offset.y); - this._opacity = groupInfo._opacity; - var mapSize = mapInfo._mapSize; - var tileSize = mapInfo._tileSize; - var width = 0, - height = 0; - - if (mapInfo.orientation === Orientation.HEX) { - if (mapInfo.getStaggerAxis() === StaggerAxis.STAGGERAXIS_X) { - height = tileSize.height * (mapSize.height + 0.5); - width = (tileSize.width + mapInfo.getHexSideLength()) * Math.floor(mapSize.width / 2) + tileSize.width * (mapSize.width % 2); - } else { - width = tileSize.width * (mapSize.width + 0.5); - height = (tileSize.height + mapInfo.getHexSideLength()) * Math.floor(mapSize.height / 2) + tileSize.height * (mapSize.height % 2); - } - } else if (mapInfo.orientation === Orientation.ISO) { - var wh = mapSize.width + mapSize.height; - width = tileSize.width * 0.5 * wh; - height = tileSize.height * 0.5 * wh; - } else { - width = mapSize.width * tileSize.width; - height = mapSize.height * tileSize.height; - } - - this.node.setContentSize(width, height); - var leftTopX = width * this.node.anchorX; - var leftTopY = height * (1 - this.node.anchorY); - var objects = groupInfo._objects; - var aliveNodes = {}; // 生成映射Map { Texture2D: textureIndex } - - var textureIndexMap = new Map(); - var objectTextures = tiledMap.getObjectTextures(); - objectTextures.forEach(function (texture, idx) { - return textureIndexMap.set(texture, idx); - }); - - for (var i = 0, l = objects.length; i < l; i++) { - var object = objects[i]; - var objType = object.type; - object.offset = cc.v2(object.x, object.y); - var points = object.points || object.polylinePoints; - - if (points) { - for (var pi = 0; pi < points.length; pi++) { - points[pi].y *= -1; - } - } - - if (Orientation.ISO !== mapInfo.orientation) { - object.y = height - object.y; - } else { - var posIdxX = object.x / tileSize.height; - var posIdxY = object.y / tileSize.height; - object.x = tileSize.width * 0.5 * (mapSize.height + posIdxX - posIdxY); - object.y = tileSize.height * 0.5 * (mapSize.width + mapSize.height - posIdxX - posIdxY); - } - - if (objType === TMXObjectType.TEXT) { - var textName = "text" + object.id; - aliveNodes[textName] = true; - var textNode = this.node.getChildByName(textName); - - if (!textNode) { - textNode = new cc.Node(); - } - - textNode.active = object.visible; - textNode.anchorX = 0; - textNode.anchorY = 1; - textNode.angle = -object.rotation; - textNode.x = object.x - leftTopX; - textNode.y = object.y - leftTopY; - textNode.name = textName; - textNode.parent = this.node; - textNode.color = object.color; - textNode.opacity = this._opacity; - textNode.setSiblingIndex(i); - var label = textNode.getComponent(cc.Label); - - if (!label) { - label = textNode.addComponent(cc.Label); - } - - label.overflow = cc.Label.Overflow.SHRINK; - label.lineHeight = object.height; - label.string = object.text; - label.horizontalAlign = object.halign; - label.verticalAlign = object.valign; - label.fontSize = object.pixelsize; - textNode.width = object.width; - textNode.height = object.height; - } - - if (objType === TMXObjectType.IMAGE) { - var gid = object.gid; - var grid = texGrids[(gid & FLIPPED_MASK) >>> 0]; - if (!grid) continue; - var tileset = grid.tileset; - var imgName = "img" + object.id; - aliveNodes[imgName] = true; - var imgNode = this.node.getChildByName(imgName); - var imgWidth = object.width || grid.width; - var imgHeight = object.height || grid.height; - var tileOffsetX = tileset.tileOffset.x; - var tileOffsetY = tileset.tileOffset.y; // Delete image nodes implemented as private nodes - // Use cc.Node to implement node-level requirements - - if (imgNode instanceof cc.PrivateNode) { - imgNode.removeFromParent(); - imgNode.destroy(); - imgNode = null; - } - - if (!imgNode) { - imgNode = new cc.Node(); - } - - if (Orientation.ISO == mapInfo.orientation) { - imgNode.anchorX = 0.5 + tileOffsetX / imgWidth; - imgNode.anchorY = tileOffsetY / imgHeight; - } else { - imgNode.anchorX = tileOffsetX / imgWidth; - imgNode.anchorY = tileOffsetY / imgHeight; - } - - imgNode.active = object.visible; - imgNode.angle = -object.rotation; - imgNode.x = object.x - leftTopX; - imgNode.y = object.y - leftTopY; - imgNode.name = imgName; - imgNode.parent = this.node; - imgNode.opacity = this._opacity; - imgNode.setSiblingIndex(i); - imgNode._tiledMap = tiledMap; - var sp = imgNode.getComponent(TmoSprite); - - if (!sp) { - sp = imgNode.addComponent(TmoSprite); - } - - var spf = sp.spriteFrame; - - if (!spf) { - spf = new cc.SpriteFrame(); - } - - if ((gid & FLAG_HORIZONTAL) >>> 0) { - spf.setFlipX(true); - } else { - spf.setFlipX(false); - } - - if ((gid & FLAG_VERTICAL) >>> 0) { - spf.setFlipY(true); - } else { - spf.setFlipY(false); - } - - var sourceImage = grid.tileset.sourceImage; - spf.setTexture(sourceImage, cc.rect(grid)); - sp.spriteFrame = spf; - sp.setVertsDirty(); // object group may has no width or height info - - imgNode.width = imgWidth; - imgNode.height = imgHeight; // 收集图集 更新textureIndexMap - - if (!textureIndexMap.has(sourceImage)) { - textureIndexMap.set(sourceImage, objectTextures.length); - objectTextures.push(sourceImage); - } // 设置textureIndex - - - var textureIndex = textureIndexMap.get(sourceImage); - sp.setTextureIdx(textureIndex + 1); - } - } - - this._objects = objects; // destroy useless node - - var children = this.node.children; - var uselessExp = /^(?:img|text)\d+$/; - - for (var _i = 0, n = children.length; _i < n; _i++) { - var c = children[_i]; - var cName = c._name; - var isUseless = uselessExp.test(cName); - if (isUseless && !aliveNodes[cName]) c.destroy(); - } - } -}); - -exports["default"] = _default; -module.exports = exports["default"]; - -cc._RF.pop(); - } - if (nodeEnv) { - __define(__module.exports, __require, __module); - } - else { - __quick_compile_project__.registerModuleFunc(__filename, function () { - __define(__module.exports, __require, __module); - }); - } - })(); -//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbInBhY2thZ2VzXFxUaWxlZE1hcE9wdGltaXplclxccmVzb3VyY2VcXFNjcmlwdFxcVG1vT2JqZWN0R3JvdXAuanMiXSwibmFtZXMiOlsiVG1vU3ByaXRlIiwicmVxdWlyZSIsImNjIiwiQ2xhc3MiLCJUaWxlZE9iamVjdEdyb3VwIiwiX2luaXQiLCJncm91cEluZm8iLCJtYXBJbmZvIiwidGV4R3JpZHMiLCJ0aWxlZE1hcCIsIlRpbGVkTWFwIiwiVE1YT2JqZWN0VHlwZSIsIk9yaWVudGF0aW9uIiwiU3RhZ2dlckF4aXMiLCJUaWxlRmxhZyIsIkZMSVBQRURfTUFTSyIsIkZMQUdfSE9SSVpPTlRBTCIsIkhPUklaT05UQUwiLCJGTEFHX1ZFUlRJQ0FMIiwiVkVSVElDQUwiLCJfZ3JvdXBOYW1lIiwibmFtZSIsIl9wb3NpdGlvbk9mZnNldCIsIm9mZnNldCIsIl9tYXBJbmZvIiwiX3Byb3BlcnRpZXMiLCJnZXRQcm9wZXJ0aWVzIiwiX29mZnNldCIsInYyIiwieCIsInkiLCJfb3BhY2l0eSIsIm1hcFNpemUiLCJfbWFwU2l6ZSIsInRpbGVTaXplIiwiX3RpbGVTaXplIiwid2lkdGgiLCJoZWlnaHQiLCJvcmllbnRhdGlvbiIsIkhFWCIsImdldFN0YWdnZXJBeGlzIiwiU1RBR0dFUkFYSVNfWCIsImdldEhleFNpZGVMZW5ndGgiLCJNYXRoIiwiZmxvb3IiLCJJU08iLCJ3aCIsIm5vZGUiLCJzZXRDb250ZW50U2l6ZSIsImxlZnRUb3BYIiwiYW5jaG9yWCIsImxlZnRUb3BZIiwiYW5jaG9yWSIsIm9iamVjdHMiLCJfb2JqZWN0cyIsImFsaXZlTm9kZXMiLCJ0ZXh0dXJlSW5kZXhNYXAiLCJNYXAiLCJvYmplY3RUZXh0dXJlcyIsImdldE9iamVjdFRleHR1cmVzIiwiZm9yRWFjaCIsInRleHR1cmUiLCJpZHgiLCJzZXQiLCJpIiwibCIsImxlbmd0aCIsIm9iamVjdCIsIm9ialR5cGUiLCJ0eXBlIiwicG9pbnRzIiwicG9seWxpbmVQb2ludHMiLCJwaSIsInBvc0lkeFgiLCJwb3NJZHhZIiwiVEVYVCIsInRleHROYW1lIiwiaWQiLCJ0ZXh0Tm9kZSIsImdldENoaWxkQnlOYW1lIiwiTm9kZSIsImFjdGl2ZSIsInZpc2libGUiLCJhbmdsZSIsInJvdGF0aW9uIiwicGFyZW50IiwiY29sb3IiLCJvcGFjaXR5Iiwic2V0U2libGluZ0luZGV4IiwibGFiZWwiLCJnZXRDb21wb25lbnQiLCJMYWJlbCIsImFkZENvbXBvbmVudCIsIm92ZXJmbG93IiwiT3ZlcmZsb3ciLCJTSFJJTksiLCJsaW5lSGVpZ2h0Iiwic3RyaW5nIiwidGV4dCIsImhvcml6b250YWxBbGlnbiIsImhhbGlnbiIsInZlcnRpY2FsQWxpZ24iLCJ2YWxpZ24iLCJmb250U2l6ZSIsInBpeGVsc2l6ZSIsIklNQUdFIiwiZ2lkIiwiZ3JpZCIsInRpbGVzZXQiLCJpbWdOYW1lIiwiaW1nTm9kZSIsImltZ1dpZHRoIiwiaW1nSGVpZ2h0IiwidGlsZU9mZnNldFgiLCJ0aWxlT2Zmc2V0IiwidGlsZU9mZnNldFkiLCJQcml2YXRlTm9kZSIsInJlbW92ZUZyb21QYXJlbnQiLCJkZXN0cm95IiwiX3RpbGVkTWFwIiwic3AiLCJzcGYiLCJzcHJpdGVGcmFtZSIsIlNwcml0ZUZyYW1lIiwic2V0RmxpcFgiLCJzZXRGbGlwWSIsInNvdXJjZUltYWdlIiwic2V0VGV4dHVyZSIsInJlY3QiLCJzZXRWZXJ0c0RpcnR5IiwiaGFzIiwicHVzaCIsInRleHR1cmVJbmRleCIsImdldCIsInNldFRleHR1cmVJZHgiLCJjaGlsZHJlbiIsInVzZWxlc3NFeHAiLCJuIiwiYyIsImNOYW1lIiwiX25hbWUiLCJpc1VzZWxlc3MiLCJ0ZXN0Il0sIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7Ozs7Ozs7Ozs7OztBQUFBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUVBLElBQU1BLFNBQVMsR0FBR0MsT0FBTyxDQUFDLGFBQUQsQ0FBekI7O2VBRWVDLEVBQUUsQ0FBQ0MsS0FBSCxDQUFTO0FBQ3BCLGFBQVNELEVBQUUsQ0FBQ0UsZ0JBRFE7QUFH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QyxFQUFpRDtBQUM3QyxVQUFJMEUsQ0FBQyxHQUFHSCxRQUFRLENBQUN2RSxFQUFELENBQWhCO0FBQ0EsVUFBSTJFLEtBQUssR0FBR0QsQ0FBQyxDQUFDRSxLQUFkO0FBQ0EsVUFBSUMsU0FBUyxHQUFHTCxVQUFVLENBQUNNLElBQVgsQ0FBZ0JILEtBQWhCLENBQWhCO0FBQ0EsVUFBSUUsU0FBUyxJQUFJLENBQUN0RixVQUFVLENBQUNvRixLQUFELENBQTVCLEVBQXFDRCxDQUFDLENBQUNwQixPQUFGO0FBQ3hDO0FBRUo7QUEvTW1CLENBQVQiLCJzb3VyY2VSb290IjoiLyIsInNvdXJjZXNDb250ZW50IjpbIi8vIExlYXJuIGNjLkNsYXNzOlxyXG4vLyAgLSBodHRwczovL2RvY3MuY29jb3MuY29tL2NyZWF0b3IvbWFudWFsL2VuL3NjcmlwdGluZy9jbGFzcy5odG1sXHJcbi8vIExlYXJuIEF0dHJpYnV0ZTpcclxuLy8gIC0gaHR0cHM6Ly9kb2NzLmNvY29zLmNvbS9jcmVhdG9yL21hbnVhbC9lbi9zY3JpcHRpbmcvcmVmZXJlbmNlL2F0dHJpYnV0ZXMuaHRtbFxyXG4vLyBMZWFybiBsaWZlLWN5Y2xlIGNhbGxiYWNrczpcclxuLy8gIC0gaHR0cHM6Ly9kb2NzLmNvY29zLmNvbS9jcmVhdG9yL21hbnVhbC9lbi9zY3JpcHRpbmcvbGlmZS1jeWNsZS1jYWxsYmFja3MuaHRtbFxyXG5cclxuY29uc3QgVG1vU3ByaXRlID0gcmVxdWlyZShcIi4vVG1vU3ByaXRlXCIpO1xyXG5cclxuZXhwb3J0IGRlZmF1bHQgY2MuQ2xhc3Moe1xyXG4gICAgZXh0ZW5kczogY2MuVGlsZWRPYmplY3RHcm91cCxcclxuXHJcbiAgICBfaW5pdChncm91cEluZm8sIG1hcEluZm8sIHRleEdyaWRzLCB0aWxlZE1hcCkge1xyXG4gICAgICAgIGNvbnN0IFRpbGVkTWFwID0gY2MuVGlsZWRNYXA7XHJcbiAgICAgICAgY29uc3QgVE1YT2JqZWN0VHlwZSA9IFRpbGVkTWFwLlRNWE9iamVjdFR5cGU7XHJcbiAgICAgICAgY29uc3QgT3JpZW50YXRpb24gPSBUaWxlZE1hcC5PcmllbnRhdGlvbjtcclxuICAgICAgICBjb25zdCBTdGFnZ2VyQXhpcyA9IFRpbGVkTWFwLlN0YWdnZXJBeGlzO1xyXG4gICAgICAgIGNvbnN0IFRpbGVGbGFnID0gVGlsZWRNYXAuVGlsZUZsYWc7XHJcbiAgICAgICAgY29uc3QgRkxJUFBFRF9NQVNLID0gVGlsZUZsYWcuRkxJUFBFRF9NQVNLO1xyXG4gICAgICAgIGNvbnN0IEZMQUdfSE9SSVpPTlRBTCA9IFRpbGVGbGFnLkhPUklaT05UQUw7XHJcbiAgICAgICAgY29uc3QgRkxBR19WRVJUSUNBTCA9IFRpbGVGbGFnLlZFUlRJQ0FMO1xyXG5cclxuICAgICAgICB0aGlzLl9ncm91cE5hbWUgPSBncm91cEluZm8ubmFtZTtcclxuICAgICAgICB0aGlzLl9wb3NpdGlvbk9mZnNldCA9IGdyb3VwSW5mby5vZmZzZXQ7XHJcbiAgICAgICAgdGhpcy5fbWFwSW5mbyA9IG1hcEluZm87XHJcbiAgICAgICAgdGhpcy5fcHJvcGVydGllcyA9IGdyb3VwSW5mby5nZXRQcm9wZXJ0aWVzKCk7XHJcbiAgICAgICAgdGhpcy5fb2Zmc2V0ID0gY2MudjIoZ3JvdXBJbmZvLm9mZnNldC54LCAtZ3JvdXBJbmZvLm9mZnNldC55KTtcclxuICAgICAgICB0aGlzLl9vcGFjaXR5ID0gZ3JvdXBJbmZvLl9vcGFjaXR5O1xyXG5cclxuICAgICAgICBsZXQgbWFwU2l6ZSA9IG1hcEluZm8uX21hcFNpemU7XHJcbiAgICAgICAgbGV0IHRpbGVTaXplID0gbWFwSW5mby5fdGlsZVNpemU7XHJcbiAgICAgICAgbGV0IHdpZHRoID0gMCwgaGVpZ2h0ID0gMDtcclxuICAgICAgICBpZiAobWFwSW5mby5vcmllbnRhdGlvbiA9PT0gT3JpZW50YXRpb24uSEVYKSB7XHJcbiAgICAgICAgICAgIGlmIChtYXBJbmZvLmdldFN0YWdnZXJBeGlzKCkgPT09IFN0YWdnZXJBeGlzLlNUQUdHRVJBWElTX1gpIHtcclxuICAgICAgICAgICAgICAgIGhlaWdodCA9IHRpbGVTaXplLmhlaWdodCAqIChtYXBTaXplLmhlaWdodCArIDAuNSk7XHJcbiAgICAgICAgICAgICAgICB3aWR0aCA9ICh0aWxlU2l6ZS53aWR0aCArIG1hcEluZm8uZ2V0SGV4U2lkZUxlbmd0aCgpKSAqIE1hdGguZmxvb3IobWFwU2l6ZS53aWR0aCAvIDIpICsgdGlsZVNpemUud2lkdGggKiAobWFwU2l6ZS53aWR0aCAlIDIpO1xyXG4gICAgICAgICAgICB9IGVsc2Uge1xyXG4gICAgICAgICAgICAgICAgd2lkdGggPSB0aWxlU2l6ZS53aWR0aCAqIChtYXBTaXplLndpZHRoICsgMC41KTtcclxuICAgICAgICAgICAgICAgIGhlaWdodCA9ICh0aWxlU2l6ZS5oZWlnaHQgKyBtYXBJbmZvLmdldEhleFNpZGVMZW5ndGgoKSkgKiBNYXRoLmZsb29yKG1hcFNpemUuaGVpZ2h0IC8gMikgKyB0aWxlU2l6ZS5oZWlnaHQgKiAobWFwU2l6ZS5oZWlnaHQgJSAyKTtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH0gZWxzZSBpZiAobWFwSW5mby5vcmllbnRhdGlvbiA9PT0gT3JpZW50YXRpb24uSVNPKSB7XHJcbiAgICAgICAgICAgIGxldCB3aCA9IG1hcFNpemUud2lkdGggKyBtYXBTaXplLmhlaWdodDtcclxuICAgICAgICAgICAgd2lkdGggPSB0aWxlU2l6ZS53aWR0aCAqIDAuNSAqIHdoO1xyXG4gICAgICAgICAgICBoZWlnaHQgPSB0aWxlU2l6ZS5oZWlnaHQgKiAwLjUgKiB3aDtcclxuICAgICAgICB9IGVsc2Uge1xyXG4gICAgICAgICAgICB3aWR0aCA9IG1hcFNpemUud2lkdGggKiB0aWxlU2l6ZS53aWR0aDtcclxuICAgICAgICAgICAgaGVpZ2h0ID0gbWFwU2l6ZS5oZWlnaHQgKiB0aWxlU2l6ZS5oZWlnaHQ7XHJcbiAgICAgICAgfVxyXG4gICAgICAgIHRoaXMubm9kZS5zZXRDb250ZW50U2l6ZSh3aWR0aCwgaGVpZ2h0KTtcclxuXHJcbiAgICAgICAgbGV0IGxlZnRUb3BYID0gd2lkdGggKiB0aGlzLm5vZGUuYW5jaG9yWDtcclxuICAgICAgICBsZXQgbGVmdFRvcFkgPSBoZWlnaHQgKiAoMSAtIHRoaXMubm9kZS5hbmNob3JZKTtcclxuXHJcbiAgICAgICAgbGV0IG9iamVjdHMgPSBncm91cEluZm8uX29iamVjdHM7XHJcbiAgICAgICAgbGV0IGFsaXZlTm9kZXMgPSB7fTtcclxuXHJcbiAgICAgICAgLy8g55Sf5oiQ5pig5bCETWFwICAgeyBUZXh0dXJlMkQ6IHRleHR1cmVJbmRleCB9XHJcbiAgICAgICAgbGV0IHRleHR1cmVJbmRleE1hcCA9IG5ldyBNYXAoKTtcclxuICAgICAgICBsZXQgb2JqZWN0VGV4dHVyZXMgPSB0aWxlZE1hcC5nZXRPYmplY3RUZXh0dXJlcygpO1xyXG4gICAgICAgIG9iamVjdFRleHR1cmVzLmZvckVhY2goKHRleHR1cmUsIGlkeCkgPT4gdGV4dHVyZUluZGV4TWFwLnNldCh0ZXh0dXJlLCBpZHgpKTtcclxuXHJcbiAgICAgICAgZm9yIChsZXQgaSA9IDAsIGwgPSBvYmplY3RzLmxlbmd0aDsgaSA8IGw7IGkrKykge1xyXG4gICAgICAgICAgICBsZXQgb2JqZWN0ID0gb2JqZWN0c1tpXTtcclxuICAgICAgICAgICAgbGV0IG9ialR5cGUgPSBvYmplY3QudHlwZTtcclxuICAgICAgICAgICAgb2JqZWN0Lm9mZnNldCA9IGNjLnYyKG9iamVjdC54LCBvYmplY3QueSk7XHJcblxyXG4gICAgICAgICAgICBsZXQgcG9pbnRzID0gb2JqZWN0LnBvaW50cyB8fCBvYmplY3QucG9seWxpbmVQb2ludHM7XHJcbiAgICAgICAgICAgIGlmIChwb2ludHMpIHtcclxuICAgICAgICAgICAgICAgIGZvciAobGV0IHBpID0gMDsgcGkgPCBwb2ludHMubGVuZ3RoOyBwaSsrKSB7XHJcbiAgICAgICAgICAgICAgICAgICAgcG9pbnRzW3BpXS55ICo9IC0xO1xyXG4gICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICB9XHJcblxyXG4gICAgICAgICAgICBpZiAoT3JpZW50YXRpb24uSVNPICE9PSBtYXBJbmZvLm9yaWVudGF0aW9uKSB7XHJcbiAgICAgICAgICAgICAgICBvYmplY3QueSA9IGhlaWdodCAtIG9iamVjdC55O1xyXG4gICAgICAgICAgICB9IGVsc2Uge1xyXG4gICAgICAgICAgICAgICAgbGV0IHBvc0lkeFggPSBvYmplY3QueCAvIHRpbGVTaXplLmhlaWdodDtcclxuICAgICAgICAgICAgICAgIGxldCBwb3NJZHhZID0gb2JqZWN0LnkgLyB0aWxlU2l6ZS5oZWlnaHQ7XHJcbiAgICAgICAgICAgICAgICBvYmplY3QueCA9IHRpbGVTaXplLndpZHRoICogMC41ICogKG1hcFNpemUuaGVpZ2h0ICsgcG9zSWR4WCAtIHBvc0lkeFkpO1xyXG4gICAgICAgICAgICAgICAgb2JqZWN0LnkgPSB0aWxlU2l6ZS5oZWlnaHQgKiAwLjUgKiAobWFwU2l6ZS53aWR0aCArIG1hcFNpemUuaGVpZ2h0IC0gcG9zSWR4WCAtIHBvc0lkeFkpO1xyXG4gICAgICAgICAgICB9XHJcblxyXG4gICAgICAgICAgICBpZiAob2JqVHlwZSA9PT0gVE1YT2JqZWN0VHlwZS5URVhUKSB7XHJcbiAgICAgICAgICAgICAgICBsZXQgdGV4dE5hbWUgPSBcInRleHRcIiArIG9iamVjdC5pZDtcclxuICAgICAgICAgICAgICAgIGFsaXZlTm9kZXNbdGV4dE5hbWVdID0gdHJ1ZTtcclxuXHJcbiAgICAgICAgICAgICAgICBsZXQgdGV4dE5vZGUgPSB0aGlzLm5vZGUuZ2V0Q2hpbGRCeU5hbWUodGV4dE5hbWUpO1xyXG4gICAgICAgICAgICAgICAgaWYgKCF0ZXh0Tm9kZSkge1xyXG4gICAgICAgICAgICAgICAgICAgIHRleHROb2RlID0gbmV3IGNjLk5vZGUoKTtcclxuICAgICAgICAgICAgICAgIH1cclxuXHJcbiAgICAgICAgICAgICAgICB0ZXh0Tm9kZS5hY3RpdmUgPSBvYmplY3QudmlzaWJsZTtcclxuICAgICAgICAgICAgICAgIHRleHROb2RlLmFuY2hvclggPSAwO1xyXG4gICAgICAgICAgICAgICAgdGV4dE5vZGUuYW5jaG9yWSA9IDE7XHJcbiAgICAgICAgICAgICAgICB0ZXh0Tm9kZS5hbmdsZSA9IC1vYmplY3Qucm90YXRpb247XHJcbiAgICAgICAgICAgICAgICB0ZXh0Tm9kZS54ID0gb2JqZWN0LnggLSBsZWZ0VG9wWDtcclxuICAgICAgICAgICAgICAgIHRleHROb2RlLnkgPSBvYmplY3QueSAtIGxlZnRUb3BZO1xyXG4gICAgICAgICAgICAgICAgdGV4dE5vZGUubmFtZSA9IHRleHROYW1lO1xyXG4gICAgICAgICAgICAgICAgdGV4dE5vZGUucGFyZW50ID0gdGhpcy5ub2RlO1xyXG4gICAgICAgICAgICAgICAgdGV4dE5vZGUuY29sb3IgPSBvYmplY3QuY29sb3I7XHJcbiAgICAgICAgICAgICAgICB0ZXh0Tm9kZS5vcGFjaXR5ID0gdGhpcy5fb3BhY2l0eTtcclxuICAgICAgICAgICAgICAgIHRleHROb2RlLnNldFNpYmxpbmdJbmRleChpKTtcclxuXHJcbiAgICAgICAgICAgICAgICBsZXQgbGFiZWwgPSB0ZXh0Tm9kZS5nZXRDb21wb25lbnQoY2MuTGFiZWwpO1xyXG4gICAgICAgICAgICAgICAgaWYgKCFsYWJlbCkge1xyXG4gICAgICAgICAgICAgICAgICAgIGxhYmVsID0gdGV4dE5vZGUuYWRkQ29tcG9uZW50KGNjLkxhYmVsKTtcclxuICAgICAgICAgICAgICAgIH1cclxuXHJcbiAgICAgICAgICAgICAgICBsYWJlbC5vdmVyZmxvdyA9IGNjLkxhYmVsLk92ZXJmbG93LlNIUklOSztcclxuICAgICAgICAgICAgICAgIGxhYmVsLmxpbmVIZWlnaHQgPSBvYmplY3QuaGVpZ2h0O1xyXG4gICAgICAgICAgICAgICAgbGFiZWwuc3RyaW5nID0gb2JqZWN0LnRleHQ7XHJcbiAgICAgICAgICAgICAgICBsYWJlbC5ob3Jpem9udGFsQWxpZ24gPSBvYmplY3QuaGFsaWduO1xyXG4gICAgICAgICAgICAgICAgbGFiZWwudmVydGljYWxBbGlnbiA9IG9iamVjdC52YWxpZ247XHJcbiAgICAgICAgICAgICAgICBsYWJlbC5mb250U2l6ZSA9IG9iamVjdC5waXhlbHNpemU7XHJcblxyXG4gICAgICAgICAgICAgICAgdGV4dE5vZGUud2lkdGggPSBvYmplY3Qud2lkdGg7XHJcbiAgICAgICAgICAgICAgICB0ZXh0Tm9kZS5oZWlnaHQgPSBvYmplY3QuaGVpZ2h0O1xyXG4gICAgICAgICAgICB9XHJcblxyXG4gICAgICAgICAgICBpZiAob2JqVHlwZSA9PT0gVE1YT2JqZWN0VHlwZS5JTUFHRSkge1xyXG4gICAgICAgICAgICAgICAgbGV0IGdpZCA9IG9iamVjdC5naWQ7XHJcbiAgICAgICAgICAgICAgICBsZXQgZ3JpZCA9IHRleEdyaWRzWyhnaWQgJiBGTElQUEVEX01BU0spID4+PiAwXTtcclxuICAgICAgICAgICAgICAgIGlmICghZ3JpZCkgY29udGludWU7XHJcbiAgICAgICAgICAgICAgICBsZXQgdGlsZXNldCA9IGdyaWQudGlsZXNldDtcclxuICAgICAgICAgICAgICAgIGxldCBpbWdOYW1lID0gXCJpbWdcIiArIG9iamVjdC5pZDtcclxuICAgICAgICAgICAgICAgIGFsaXZlTm9kZXNbaW1nTmFtZV0gPSB0cnVlO1xyXG4gICAgICAgICAgICAgICAgbGV0IGltZ05vZGUgPSB0aGlzLm5vZGUuZ2V0Q2hpbGRCeU5hbWUoaW1nTmFtZSk7XHJcbiAgICAgICAgICAgICAgICBsZXQgaW1nV2lkdGggPSBvYmplY3Qud2lkdGggfHwgZ3JpZC53aWR0aDtcclxuICAgICAgICAgICAgICAgIGxldCBpbWdIZWlnaHQgPSBvYmplY3QuaGVpZ2h0IHx8IGdyaWQuaGVpZ2h0O1xyXG4gICAgICAgICAgICAgICAgbGV0IHRpbGVPZmZzZXRYID0gdGlsZXNldC50aWxlT2Zmc2V0Lng7XHJcbiAgICAgICAgICAgICAgICBsZXQgdGlsZU9mZnNldFkgPSB0aWxlc2V0LnRpbGVPZmZzZXQueTtcclxuXHJcbiAgICAgICAgICAgICAgICAvLyBEZWxldGUgaW1hZ2Ugbm9kZXMgaW1wbGVtZW50ZWQgYXMgcHJpdmF0ZSBub2Rlc1xyXG4gICAgICAgICAgICAgICAgLy8gVXNlIGNjLk5vZGUgdG8gaW1wbGVtZW50IG5vZGUtbGV2ZWwgcmVxdWlyZW1lbnRzXHJcbiAgICAgICAgICAgICAgICBpZiAoaW1nTm9kZSBpbnN0YW5jZW9mIGNjLlByaXZhdGVOb2RlKSB7XHJcbiAgICAgICAgICAgICAgICAgICAgaW1nTm9kZS5yZW1vdmVGcm9tUGFyZW50KCk7XHJcbiAgICAgICAgICAgICAgICAgICAgaW1nTm9kZS5kZXN0cm95KCk7XHJcbiAgICAgICAgICAgICAgICAgICAgaW1nTm9kZSA9IG51bGw7XHJcbiAgICAgICAgICAgICAgICB9XHJcblxyXG4gICAgICAgICAgICAgICAgaWYgKCFpbWdOb2RlKSB7XHJcbiAgICAgICAgICAgICAgICAgICAgaW1nTm9kZSA9IG5ldyBjYy5Ob2RlKCk7XHJcbiAgICAgICAgICAgICAgICB9XHJcblxyXG4gICAgICAgICAgICAgICAgaWYgKE9yaWVudGF0aW9uLklTTyA9PSBtYXBJbmZvLm9yaWVudGF0aW9uKSB7XHJcbiAgICAgICAgICAgICAgICAgICAgaW1nTm9kZS5hbmNob3JYID0gMC41ICsgdGlsZU9mZnNldFggLyBpbWdXaWR0aDtcclxuICAgICAgICAgICAgICAgICAgICBpbWdOb2RlLmFuY2hvclkgPSB0aWxlT2Zmc2V0WSAvIGltZ0hlaWdodDtcclxuICAgICAgICAgICAgICAgIH0gZWxzZSB7XHJcbiAgICAgICAgICAgICAgICAgICAgaW1nTm9kZS5hbmNob3JYID0gdGlsZU9mZnNldFggLyBpbWdXaWR0aDtcclxuICAgICAgICAgICAgICAgICAgICBpbWdOb2RlLmFuY2hvclkgPSB0aWxlT2Zmc2V0WSAvIGltZ0hlaWdodDtcclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgIGltZ05vZGUuYWN0aXZlID0gb2JqZWN0LnZpc2libGU7XHJcbiAgICAgICAgICAgICAgICBpbWdOb2RlLmFuZ2xlID0gLW9iamVjdC5yb3RhdGlvbjtcclxuICAgICAgICAgICAgICAgIGltZ05vZGUueCA9IG9iamVjdC54IC0gbGVmdFRvcFg7XHJcbiAgICAgICAgICAgICAgICBpbWdOb2RlLnkgPSBvYmplY3QueSAtIGxlZnRUb3BZO1xyXG4gICAgICAgICAgICAgICAgaW1nTm9kZS5uYW1lID0gaW1nTmFtZTtcclxuICAgICAgICAgICAgICAgIGltZ05vZGUucGFyZW50ID0gdGhpcy5ub2RlO1xyXG4gICAgICAgICAgICAgICAgaW1nTm9kZS5vcGFjaXR5ID0gdGhpcy5fb3BhY2l0eTtcclxuICAgICAgICAgICAgICAgIGltZ05vZGUuc2V0U2libGluZ0luZGV4KGkpO1xyXG4gICAgICAgICAgICAgICAgaW1nTm9kZS5fdGlsZWRNYXAgPSB0aWxlZE1hcDtcclxuXHJcblxyXG4gICAgICAgICAgICAgICAgbGV0IHNwID0gaW1nTm9kZS5nZXRDb21wb25lbnQoVG1vU3ByaXRlKTtcclxuICAgICAgICAgICAgICAgIGlmICghc3ApIHtcclxuICAgICAgICAgICAgICAgICAgICBzcCA9IGltZ05vZGUuYWRkQ29tcG9uZW50KFRtb1Nwcml0ZSk7XHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICBsZXQgc3BmID0gc3Auc3ByaXRlRnJhbWU7XHJcbiAgICAgICAgICAgICAgICBpZiAoIXNwZikge1xyXG4gICAgICAgICAgICAgICAgICAgIHNwZiA9IG5ldyBjYy5TcHJpdGVGcmFtZSgpO1xyXG4gICAgICAgICAgICAgICAgfVxyXG5cclxuICAgICAgICAgICAgICAgIGlmICgoZ2lkICYgRkxBR19IT1JJWk9OVEFMKSA+Pj4gMCkge1xyXG4gICAgICAgICAgICAgICAgICAgIHNwZi5zZXRGbGlwWCh0cnVlKTtcclxuICAgICAgICAgICAgICAgIH0gZWxzZSB7XHJcbiAgICAgICAgICAgICAgICAgICAgc3BmLnNldEZsaXBYKGZhbHNlKTtcclxuICAgICAgICAgICAgICAgIH1cclxuXHJcbiAgICAgICAgICAgICAgICBpZiAoKGdpZCAmIEZMQUdfVkVSVElDQUwpID4+PiAwKSB7XHJcbiAgICAgICAgICAgICAgICAgICAgc3BmLnNldEZsaXBZKHRydWUpO1xyXG4gICAgICAgICAgICAgICAgfSBlbHNlIHtcclxuICAgICAgICAgICAgICAgICAgICBzcGYuc2V0RmxpcFkoZmFsc2UpO1xyXG4gICAgICAgICAgICAgICAgfVxyXG5cclxuICAgICAgICAgICAgICAgIGxldCBzb3VyY2VJbWFnZSA9IGdyaWQudGlsZXNldC5zb3VyY2VJbWFnZTtcclxuICAgICAgICAgICAgICAgIHNwZi5zZXRUZXh0dXJlKHNvdXJjZUltYWdlLCBjYy5yZWN0KGdyaWQpKTtcclxuICAgICAgICAgICAgICAgIHNwLnNwcml0ZUZyYW1lID0gc3BmO1xyXG4gICAgICAgICAgICAgICAgc3Auc2V0VmVydHNEaXJ0eSgpO1xyXG5cclxuICAgICAgICAgICAgICAgIC8vIG9iamVjdCBncm91cCBtYXkgaGFzIG5vIHdpZHRoIG9yIGhlaWdodCBpbmZvXHJcbiAgICAgICAgICAgICAgICBpbWdOb2RlLndpZHRoID0gaW1nV2lkdGg7XHJcbiAgICAgICAgICAgICAgICBpbWdOb2RlLmhlaWdodCA9IGltZ0hlaWdodDtcclxuXHJcbiAgICAgICAgICAgICAgICAvLyDmlLbpm4blm77pm4Yg5pu05pawdGV4dHVyZUluZGV4TWFwXHJcbiAgICAgICAgICAgICAgICBpZiAoIXRleHR1cmVJbmRleE1hcC5oYXMoc291cmNlSW1hZ2UpKSB7XHJcbiAgICAgICAgICAgICAgICAgICAgdGV4dHVyZUluZGV4TWFwLnNldChzb3VyY2VJbWFnZSwgb2JqZWN0VGV4dHVyZXMubGVuZ3RoKTtcclxuICAgICAgICAgICAgICAgICAgICBvYmplY3RUZXh0dXJlcy5wdXNoKHNvdXJjZUltYWdlKTtcclxuICAgICAgICAgICAgICAgIH1cclxuXHJcbiAgICAgICAgICAgICAgICAvLyDorr7nva50ZXh0dXJlSW5kZXhcclxuICAgICAgICAgICAgICAgIGxldCB0ZXh0dXJlSW5kZXggPSB0ZXh0dXJlSW5kZXhNYXAuZ2V0KHNvdXJjZUltYWdlKTtcclxuICAgICAgICAgICAgICAgIHNwLnNldFRleHR1cmVJZHgodGV4dHVyZUluZGV4ICsgMSk7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICAgICAgdGhpcy5fb2JqZWN0cyA9IG9iamVjdHM7XHJcblxyXG5cclxuICAgICAgICAvLyBkZXN0cm95IHVzZWxlc3Mgbm9kZVxyXG4gICAgICAgIGxldCBjaGlsZHJlbiA9IHRoaXMubm9kZS5jaGlsZHJlbjtcclxuICAgICAgICBsZXQgdXNlbGVzc0V4cCA9IC9eKD86aW1nfHRleHQpXFxkKyQvO1xyXG4gICAgICAgIGZvciAobGV0IGkgPSAwLCBuID0gY2hpbGRyZW4ubGVuZ3RoOyBpIDwgbjsgaSsrKSB7XHJcbiAgICAgICAgICAgIGxldCBjID0gY2hpbGRyZW5baV07XHJcbiAgICAgICAgICAgIGxldCBjTmFtZSA9IGMuX25hbWU7XHJcbiAgICAgICAgICAgIGxldCBpc1VzZWxlc3MgPSB1c2VsZXNzRXhwLnRlc3QoY05hbWUpO1xyXG4gICAgICAgICAgICBpZiAoaXNVc2VsZXNzICYmICFhbGl2ZU5vZGVzW2NOYW1lXSkgYy5kZXN0cm95KCk7XHJcbiAgICAgICAgfVxyXG5cclxuICAgIH1cclxufSk7XHJcbiJdfQ== -//------QC-SOURCE-SPLIT------ - - (function() { - var nodeEnv = typeof require !== 'undefined' && typeof process !== 'undefined'; - var __module = nodeEnv ? module : {exports:{}}; - var __filename = 'preview-scripts/assets/Script/module/Crypto/HttpUtil.js'; - var __require = nodeEnv ? function (request) { - return cc.require(request); - } : function (request) { - return __quick_compile_project__.require(request, __filename); - }; - function __define (exports, require, module) { - if (!nodeEnv) {__quick_compile_project__.registerModule(__filename, module);}"use strict"; -cc._RF.push(module, '771a32aQBNGVKd3+66gyTKA', 'HttpUtil'); -// Script/module/Crypto/HttpUtil.ts - -"use strict"; -var __extends = (this && this.__extends) || (function () { - var extendStatics = function (d, b) { - extendStatics = Object.setPrototypeOf || - ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) || - function (d, b) { for (var p in b) if (Object.prototype.hasOwnProperty.call(b, p)) d[p] = b[p]; }; - return extendStatics(d, b); - }; - return function (d, b) { - extendStatics(d, b); - function __() { this.constructor = d; } - d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __()); - }; -})(); -var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) { - var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d; - if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc); - else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r; - return c > 3 && r && Object.defineProperty(target, key, r), r; -}; -var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) { - function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); } - return new (P || (P = Promise))(function (resolve, reject) { - function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } } - function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } } - function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); } - step((generator = generator.apply(thisArg, _arguments || [])).next()); - }); -}; -var __generator = (this && this.__generator) || function (thisArg, body) { - var _ = { label: 0, sent: function() { if (t[0] & 1) throw t[1]; return t[1]; }, trys: [], ops: [] }, f, y, t, g; - return g = { next: verb(0), "throw": verb(1), "return": verb(2) }, typeof Symbol === "function" && (g[Symbol.iterator] = function() { return this; }), g; - function verb(n) { return function (v) { return step([n, v]); }; } - function step(op) { - if (f) throw new TypeError("Generator is already executing."); - while (_) try { - if (f = 1, y && (t = op[0] & 2 ? y["return"] : op[0] ? y["throw"] || ((t = y["return"]) && t.call(y), 0) : y.next) && !(t = t.call(y, op[1])).done) return t; - if (y = 0, t) op = [op[0] & 2, t.value]; - switch (op[0]) { - case 0: case 1: t = op; break; - case 4: _.label++; return { value: op[1], done: false }; - case 5: _.label++; y = op[1]; op = [0]; continue; - case 7: op = _.ops.pop(); _.trys.pop(); continue; - default: - if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) { _ = 0; continue; } - if (op[0] === 3 && (!t || (op[1] > t[0] && op[1] < t[3]))) { _.label = op[1]; break; } - if (op[0] === 6 && _.label < t[1]) { _.label = t[1]; t = op; break; } - if (t && _.label < t[2]) { _.label = t[2]; _.ops.push(op); break; } - if (t[2]) _.ops.pop(); - _.trys.pop(); continue; - } - op = body.call(thisArg, _); - } catch (e) { op = [6, e]; y = 0; } finally { f = t = 0; } - if (op[0] & 5) throw op[1]; return { value: op[0] ? op[1] : void 0, done: true }; - } -}; -Object.defineProperty(exports, "__esModule", { value: true }); -var _a = cc._decorator, ccclass = _a.ccclass, property = _a.property; -var CryptoJS = require("./crypto-js.min.js"); //引用AES源码js -var BASE_URL = "https://api.sparkus.cn"; -//只负责网络接口 次类只负责和后端交互,不负责处理数据 数据处理在GameTool -var HttpUtil = /** @class */ (function (_super) { - __extends(HttpUtil, _super); - function HttpUtil() { - return _super !== null && _super.apply(this, arguments) || this; - } - HttpUtil_1 = HttpUtil; - HttpUtil.getShareInfo = function (shareUrl) { - return __awaiter(this, void 0, Promise, function () { - var time, url; - return __generator(this, function (_a) { - console.log("设置分享链接:", shareUrl); - time = Math.floor((new Date().getTime()) / 1000); - url = HttpUtil_1.apiSign("/api/share/cfg?gameId=" + config.gameId + "&time=" + time + "&url=" + shareUrl, {}); - return [2 /*return*/, this.post(url, null, null)]; - }); - }); - }; - //排行榜 - HttpUtil.rankData = function (type, callback, data) { - return __awaiter(this, void 0, Promise, function () { - var time, url; - return __generator(this, function (_a) { - time = Math.floor((new Date().getTime()) / 1000); - url = HttpUtil_1.apiSign("/api/get/rank/data?gameId=" + config.gameId + "&dataType=" + type + "&time=" + time, data); - this.post(url, data, callback); - return [2 /*return*/]; - }); - }); - }; - HttpUtil.uploadUserLogData = function (data, callback) { - return __awaiter(this, void 0, Promise, function () { - var url; - return __generator(this, function (_a) { - url = '/log/collect/data'; - this.post(url, data, callback); - return [2 /*return*/]; - }); - }); - }; - //暂时用不到 - HttpUtil.getUserRecord = function (data, callback) { - return __awaiter(this, void 0, Promise, function () { - var time, url; - return __generator(this, function (_a) { - time = Math.floor((new Date().getTime()) / 1000); - url = HttpUtil_1.apiSign("/api/get/user/data?gameId=" + config.gameId + "&time=" + time, data); - this.post(url, data, callback); - return [2 /*return*/]; - }); - }); - }; - HttpUtil.post = function (url, data, callback) { - return __awaiter(this, void 0, void 0, function () { - var response; - return __generator(this, function (_a) { - switch (_a.label) { - case 0: return [4 /*yield*/, this.fetchData(url, data, 'POST')]; - case 1: - response = _a.sent(); - callback && callback(response); - return [2 /*return*/]; - } - }); - }); - }; - HttpUtil.get = function (url, callback) { - return __awaiter(this, void 0, void 0, function () { - var response; - return __generator(this, function (_a) { - switch (_a.label) { - case 0: return [4 /*yield*/, this.fetchData(url, null, 'GET')]; - case 1: - response = _a.sent(); - callback && callback(response); - return [2 /*return*/]; - } - }); - }); - }; - HttpUtil.fetchData = function (url, data, method) { - return __awaiter(this, void 0, void 0, function () { - var fullUrl, headers, options, response, error_1; - return __generator(this, function (_a) { - switch (_a.label) { - case 0: - fullUrl = "" + BASE_URL + url; - headers = { 'Content-Type': 'application/json' }; - options = { - method: method, - headers: headers, - body: data ? JSON.stringify(data) : null, - }; - _a.label = 1; - case 1: - _a.trys.push([1, 4, , 5]); - return [4 /*yield*/, fetch(fullUrl, options)]; - case 2: - response = _a.sent(); - if (!response.ok) { - throw new Error("HTTP error! status: " + response.status); - } - return [4 /*yield*/, response.json()]; - case 3: return [2 /*return*/, _a.sent()]; - case 4: - error_1 = _a.sent(); - console.error('Fetch error:', error_1); - return [2 /*return*/, null]; - case 5: return [2 /*return*/]; - } - }); - }); - }; - /** - * - * @param url {string} 接口地址 - * @param params {object} 需要加密的参数对象 - */ - HttpUtil.apiSign = function (url, params) { - if (params === void 0) { params = {}; } - var convertUrl = url.trim(); - if (convertUrl.indexOf('?') === -1) { - convertUrl += '?'; - } - // 传入参数转换拼接字符串 - var postStr = getQueryString(params); - var signedStr = genSignStr(convertUrl, postStr); - var encryptStr = "sign=" + signedStr; - var encryptSignStr = fxCry.encryptByDES(encryptStr, config.secretKey); - encryptSignStr = encodeURIComponent(encryptSignStr); - return urlencode(convertUrl) + "&_p=" + encryptSignStr; - }; - var HttpUtil_1; - HttpUtil = HttpUtil_1 = __decorate([ - ccclass - ], HttpUtil); - return HttpUtil; -}(cc.Component)); -exports.default = HttpUtil; -function responseHandler(response) { - return response.data; -} -// 响应拦截器 -// Rq.interceptors.response.use(responseHandler) -var config = { - gameId: "100012", - secretKey: "onnfPKJW", - EK: "hui231%1" -}; -var Crypoto = /** @class */ (function () { - function Crypoto() { - // 加密的向明值,自己根据项目实际情况定,需要跟后端开发保持一致 - this.keyHex = this.getHetKey(); - } - Crypoto.prototype.getHetKey = function () { - return CryptoJS.enc.Utf8.parse(config.EK); - }; - /** DES加密 */ - Crypoto.prototype.encryptByDES = function (message, secret) { - if (!message) { - return message; - } - var key = secret ? CryptoJS.enc.Utf8.parse(secret) : this.keyHex; - var encrypted = CryptoJS.DES.encrypt(message, key, { - mode: CryptoJS.mode.ECB, - padding: CryptoJS.pad.Pkcs7 - }); - return encrypted.toString(); - }; - /** DES解密 */ - Crypoto.prototype.decryptByDES = function (message, secret) { - var key = secret ? CryptoJS.enc.Utf8.parse(secret) : this.keyHex; - var decrypted = CryptoJS.DES.decrypt({ - ciphertext: CryptoJS.enc.Base64.parse(message) - }, key, { - mode: CryptoJS.mode.ECB, - padding: CryptoJS.pad.Pkcs7 - }); - return decrypted.toString(CryptoJS.enc.Utf8); - }; - /** hmacSHA256加密 */ - Crypoto.prototype.hmacSha256 = function (message, secret) { - var keyHex = secret ? CryptoJS.enc.Utf8.parse(secret) : this.keyHex; - var hash = CryptoJS.HmacSHA256(message, keyHex); - return hash.toString(); - }; - /** hmacSHA256验证 */ - Crypoto.prototype.verifyHmacSha256 = function (message, signature) { - var hash = CryptoJS.HmacSHA256(message, this.keyHex); - return hash.toString() === signature; - }; - /** CBC加密 */ - Crypoto.prototype.encryptCBC = function (word) { - if (!word) { - return word; - } - var srcs = CryptoJS.enc.Utf8.parse(word); - var encrypted = CryptoJS.AES.encrypt(srcs, this.keyHex, { - iv: this.keyHex, - mode: CryptoJS.mode.CBC, - padding: CryptoJS.pad.ZeroPadding - }); - return encrypted.toString(); - }; - /** CBC解密 */ - Crypoto.prototype.decryptCBC = function (word) { - if (!word) { - return word; - } - var encryptedHexStr = CryptoJS.enc.Hex.parse(word); - var srcs = CryptoJS.enc.Base64.stringify(encryptedHexStr); - var decrypt = CryptoJS.AES.decrypt(srcs, this.keyHex, { - iv: this.keyHex, - mode: CryptoJS.mode.CBC, - padding: CryptoJS.pad.ZeroPadding - }); - var decryptedStr = decrypt.toString(CryptoJS.enc.Utf8); - return decryptedStr.toString(); - }; - return Crypoto; -}()); -var fxCry = new Crypoto(); -function isEmpty(data) { - return data === "" || data === null || data === undefined || data.length === 0 || JSON.stringify(data) == "{}"; -} -function getQueryString(obj) { - // 首先对对象的键进行排序并过滤空值 - var sortedKeys = Object.keys(obj).sort(); - var sortedObj = {}; - for (var i = 0; i < sortedKeys.length; i++) { - if (isEmpty(obj[sortedKeys[i]])) { - continue; - } - sortedObj[sortedKeys[i]] = obj[sortedKeys[i]]; - } - // 然后将排序后的对象转换为查询字符串 - var params = []; - for (var key in sortedObj) { - params.push(encodeURIComponent(key) + "=" + encodeURIComponent(sortedObj[key])); - } - return params.join('&'); -} -/** - * 组装签名字符串 - * @param string url: 请求地址 - * @param string postStr: post参数的a=1&b=2 - * @returns - */ -function genSignStr(url, postStr) { - var lessUrl = url.replace('?', ''); - lessUrl = lessUrl + "&" + postStr; - return encodeURIComponent(fxCry.hmacSha256(lessUrl)); -} -// 对参数进行统一urlencode -function urlencode(url) { - var _a = url.split("?", 2), baseUrl = _a[0], queryString = _a[1]; - var params = new URLSearchParams(queryString); - return baseUrl + "?" + params.toString(); -} - -cc._RF.pop(); - } - if (nodeEnv) { - __define(__module.exports, __require, __module); - } - else { - __quick_compile_project__.registerModuleFunc(__filename, function () { - __define(__module.exports, __require, __module); - }); - } - })(); -//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbImFzc2V0c1xcU2NyaXB0XFxtb2R1bGVcXENyeXB0b1xcSHR0cFV0aWwudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O0FBQ00sSUFBQSxLQUFzQixFQUFFLENBQUMsVUFBVSxFQUFsQyxPQUFPLGFBQUEsRUFBRSxRQUFRLGNBQWlCLENBQUM7QUFDMUMsNkNBQWdELENBQUUsV0FBVztBQUU3RCxJQUFNLFFBQVEsR0FBRyx3QkFBd0IsQ0FBQztBQUMxQywwQ0FBMEM7QUFFMUM7SUFBc0MsNEJBQVk7SUFBbEQ7O0lBOEVBLENBQUM7aUJBOUVvQixRQUFRO0lBQ1gscUJBQVksR0FBMUIsVUFBMkIsUUFBZ0I7dUNBQUcsT0FBTzs7O2dCQUNuRCxPQUFPLENBQUMsR0FBRyxDQUFDLFNBQVMsRUFBQyxRQUFRLENBQUMsQ0FBQztnQkFDMUIsSUFBSSxHQUFHLElBQUksQ0FBQyxLQUFLLENBQUMsQ0FBQyxJQUFJLElBQUksRUFBRSxDQUFDLE9BQU8sRUFBRSxDQUFDLEdBQUcsSUFBSSxDQUFDLENBQUE7Z0JBQ2hELEdBQUcsR0FBRyxVQUFRLENBQUMsT0FBTyxDQUFDLDJCQUF5QixNQUFNLENBQUMsTUFBTSxjQUFTLElBQUksYUFBUSxRQUFVLEVBQUMsRUFBRSxDQUFDLENBQUE7Z0JBQ3RHLHNCQUFPLElBQUksQ0FBQyxJQUFJLENBQUMsR0FBRyxFQUFDLElBQUksRUFBQyxJQUFJLENBQUMsRUFBQzs7O0tBQ2pDO0lBQ0QsS0FBSztJQUNRLGlCQUFRLEdBQXJCLFVBQXNCLElBQUksRUFBQyxRQUFRLEVBQUMsSUFBSTt1Q0FBRyxPQUFPOzs7Z0JBQzFDLElBQUksR0FBRyxJQUFJLENBQUMsS0FBSyxDQUFDLENBQUMsSUFBSSxJQUFJLEVBQUUsQ0FBQyxPQUFPLEVBQUUsQ0FBQyxHQUFHLElBQUksQ0FBQyxDQUFBO2dCQUNoRCxHQUFHLEdBQUcsVUFBUSxDQUFDLE9BQU8sQ0FBQywrQkFBNkIsTUFBTSxDQUFDLE1BQU0sa0JBQWEsSUFBSSxjQUFTLElBQU0sRUFBRSxJQUFJLENBQUMsQ0FBQTtnQkFDOUcsSUFBSSxDQUFDLElBQUksQ0FBQyxHQUFHLEVBQUMsSUFBSSxFQUFDLFFBQVEsQ0FBQyxDQUFDOzs7O0tBQzlCO0lBRVksMEJBQWlCLEdBQTlCLFVBQStCLElBQUksRUFBQyxRQUFRO3VDQUFHLE9BQU87OztnQkFDOUMsR0FBRyxHQUFHLG1CQUFtQixDQUFDO2dCQUNoQyxJQUFJLENBQUMsSUFBSSxDQUFDLEdBQUcsRUFBQyxJQUFJLEVBQUMsUUFBUSxDQUFDLENBQUM7Ozs7S0FDOUI7SUFDRCxPQUFPO0lBQ00sc0JBQWEsR0FBMUIsVUFBMkIsSUFBSSxFQUFDLFFBQVE7dUNBQUcsT0FBTzs7O2dCQUMxQyxJQUFJLEdBQUcsSUFBSSxDQUFDLEtBQUssQ0FBQyxDQUFDLElBQUksSUFBSSxFQUFFLENBQUMsT0FBTyxFQUFFLENBQUMsR0FBRyxJQUFJLENBQUMsQ0FBQTtnQkFDaEQsR0FBRyxHQUFHLFVBQVEsQ0FBQyxPQUFPLENBQUMsK0JBQTZCLE1BQU0sQ0FBQyxNQUFNLGNBQVMsSUFBTSxFQUFFLElBQUksQ0FBQyxDQUFBO2dCQUM3RixJQUFJLENBQUMsSUFBSSxDQUFDLEdBQUcsRUFBQyxJQUFJLEVBQUMsUUFBUSxDQUFDLENBQUM7Ozs7S0FDOUI7SUFDVSxhQUFJLEdBQWpCLFVBQWtCLEdBQUcsRUFBRSxJQUFJLEVBQUUsUUFBUTs7Ozs7NEJBQ2xCLHFCQUFNLElBQUksQ0FBQyxTQUFTLENBQUMsR0FBRyxFQUFFLElBQUksRUFBRSxNQUFNLENBQUMsRUFBQTs7d0JBQWxELFFBQVEsR0FBRyxTQUF1Qzt3QkFDeEQsUUFBUSxJQUFJLFFBQVEsQ0FBQyxRQUFRLENBQUMsQ0FBQzs7Ozs7S0FDaEM7SUFFWSxZQUFHLEdBQWhCLFVBQWlCLEdBQUcsRUFBRSxRQUFROzs7Ozs0QkFDWCxxQkFBTSxJQUFJLENBQUMsU0FBUyxDQUFDLEdBQUcsRUFBRSxJQUFJLEVBQUUsS0FBSyxDQUFDLEVBQUE7O3dCQUFqRCxRQUFRLEdBQUcsU0FBc0M7d0JBQ3ZELFFBQVEsSUFBSSxRQUFRLENBQUMsUUFBUSxDQUFDLENBQUM7Ozs7O0tBQ2hDO0lBRVksa0JBQVMsR0FBdEIsVUFBdUIsR0FBRyxFQUFFLElBQUksRUFBRSxNQUFNOzs7Ozs7d0JBQ2hDLE9BQU8sR0FBRyxLQUFHLFFBQVEsR0FBRyxHQUFLLENBQUM7d0JBQzlCLE9BQU8sR0FBRyxFQUFFLGNBQWMsRUFBRSxrQkFBa0IsRUFBRSxDQUFDO3dCQUNqRCxPQUFPLEdBQUc7NEJBQ2QsTUFBTSxRQUFBOzRCQUNOLE9BQU8sU0FBQTs0QkFDUCxJQUFJLEVBQUUsSUFBSSxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsU0FBUyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJO3lCQUN6QyxDQUFDOzs7O3dCQUdpQixxQkFBTSxLQUFLLENBQUMsT0FBTyxFQUFFLE9BQU8sQ0FBQyxFQUFBOzt3QkFBeEMsUUFBUSxHQUFHLFNBQTZCO3dCQUM5QyxJQUFJLENBQUMsUUFBUSxDQUFDLEVBQUUsRUFBRTs0QkFDaEIsTUFBTSxJQUFJLEtBQUssQ0FBQyx5QkFBdUIsUUFBUSxDQUFDLE1BQVEsQ0FBQyxDQUFDO3lCQUMzRDt3QkFDTSxxQkFBTSxRQUFRLENBQUMsSUFBSSxFQUFFLEVBQUE7NEJBQTVCLHNCQUFPLFNBQXFCLEVBQUM7Ozt3QkFFN0IsT0FBTyxDQUFDLEtBQUssQ0FBQyxjQUFjLEVBQUUsT0FBSyxDQUFDLENBQUM7d0JBQ3JDLHNCQUFPLElBQUksRUFBQzs7Ozs7S0FFZjtJQUVEOzs7O0tBSUM7SUFDTSxnQkFBTyxHQUFkLFVBQWUsR0FBVyxFQUFFLE1BQVc7UUFBWCx1QkFBQSxFQUFBLFdBQVc7UUFFckMsSUFBSSxVQUFVLEdBQUcsR0FBRyxDQUFDLElBQUksRUFBRSxDQUFBO1FBQzNCLElBQUksVUFBVSxDQUFDLE9BQU8sQ0FBQyxHQUFHLENBQUMsS0FBSyxDQUFDLENBQUMsRUFBRTtZQUNsQyxVQUFVLElBQUksR0FBRyxDQUFBO1NBQ2xCO1FBRUQsY0FBYztRQUNkLElBQUksT0FBTyxHQUFJLGNBQWMsQ0FBQyxNQUFNLENBQUMsQ0FBQTtRQUVyQyxJQUFNLFNBQVMsR0FBRyxVQUFVLENBQUMsVUFBVSxFQUFFLE9BQU8sQ0FBQyxDQUFBO1FBQ2pELElBQU0sVUFBVSxHQUFHLFVBQVEsU0FBVyxDQUFBO1FBRXRDLElBQUksY0FBYyxHQUFHLEtBQUssQ0FBQyxZQUFZLENBQUMsVUFBVSxFQUFFLE1BQU0sQ0FBQyxTQUFTLENBQUMsQ0FBQTtRQUNyRSxjQUFjLEdBQUcsa0JBQWtCLENBQUMsY0FBYyxDQUFDLENBQUE7UUFFbkQsT0FBVSxTQUFTLENBQUMsVUFBVSxDQUFDLFlBQU8sY0FBZ0IsQ0FBQTtJQUN4RCxDQUFDOztJQTdFa0IsUUFBUTtRQUQ1QixPQUFPO09BQ2EsUUFBUSxDQThFNUI7SUFBRCxlQUFDO0NBOUVELEFBOEVDLENBOUVxQyxFQUFFLENBQUMsU0FBUyxHQThFakQ7a0JBOUVvQixRQUFRO0FBZ0Y3QixTQUFTLGVBQWUsQ0FBQyxRQUF1QjtJQUM5QyxPQUFPLFFBQVEsQ0FBQyxJQUFJLENBQUE7QUFDdEIsQ0FBQztBQUNELFFBQVE7QUFDUixnREFBZ0Q7QUFDaEQsSUFBTSxNQUFNLEdBQUc7SUFDYixNQUFNLEVBQUUsUUFBUTtJQUNoQixTQUFTLEVBQUUsVUFBVTtJQUNyQixFQUFFLEVBQUMsVUFBVTtDQUNkLENBQUM7QUFRRjtJQUFBO1FBQ0ksaUNBQWlDO1FBQ3pCLFdBQU0sR0FBRyxJQUFJLENBQUMsU0FBUyxFQUFFLENBQUE7SUEyRXJDLENBQUM7SUExRVcsMkJBQVMsR0FBakI7UUFDSSxPQUFPLFFBQVEsQ0FBQyxHQUFHLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxNQUFNLENBQUMsRUFBRSxDQUFDLENBQUM7SUFDOUMsQ0FBQztJQUVELFlBQVk7SUFDWiw4QkFBWSxHQUFaLFVBQWEsT0FBZSxFQUFFLE1BQWU7UUFDM0MsSUFBRyxDQUFDLE9BQU8sRUFBRTtZQUNYLE9BQU8sT0FBTyxDQUFBO1NBQ2Y7UUFDRCxJQUFNLEdBQUcsR0FBRyxNQUFNLENBQUEsQ0FBQyxDQUFDLFFBQVEsQ0FBQyxHQUFHLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxNQUFNLENBQUMsQ0FBQSxDQUFDLENBQUMsSUFBSSxDQUFDLE1BQU0sQ0FBQTtRQUNoRSxJQUFNLFNBQVMsR0FBRyxRQUFRLENBQUMsR0FBRyxDQUFDLE9BQU8sQ0FBQyxPQUFPLEVBQUUsR0FBRyxFQUFFO1lBQ25ELElBQUksRUFBRSxRQUFRLENBQUMsSUFBSSxDQUFDLEdBQUc7WUFDdkIsT0FBTyxFQUFFLFFBQVEsQ0FBQyxHQUFHLENBQUMsS0FBSztTQUM1QixDQUFDLENBQUM7UUFDSCxPQUFPLFNBQVMsQ0FBQyxRQUFRLEVBQUUsQ0FBQTtJQUM3QixDQUFDO0lBRUQsWUFBWTtJQUNaLDhCQUFZLEdBQVosVUFBYSxPQUFlLEVBQUUsTUFBZTtRQUMzQyxJQUFNLEdBQUcsR0FBRyxNQUFNLENBQUEsQ0FBQyxDQUFDLFFBQVEsQ0FBQyxHQUFHLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxNQUFNLENBQUMsQ0FBQSxDQUFDLENBQUMsSUFBSSxDQUFDLE1BQU0sQ0FBQTtRQUVoRSxJQUFNLFNBQVMsR0FBRyxRQUFRLENBQUMsR0FBRyxDQUFDLE9BQU8sQ0FBQztZQUNyQyxVQUFVLEVBQUUsUUFBUSxDQUFDLEdBQUcsQ0FBQyxNQUFNLENBQUMsS0FBSyxDQUFDLE9BQU8sQ0FBQztTQUMvQyxFQUFFLEdBQUcsRUFBRTtZQUNOLElBQUksRUFBRSxRQUFRLENBQUMsSUFBSSxDQUFDLEdBQUc7WUFDdkIsT0FBTyxFQUFFLFFBQVEsQ0FBQyxHQUFHLENBQUMsS0FBSztTQUM1QixDQUFDLENBQUE7UUFFRixPQUFPLFNBQVMsQ0FBQyxRQUFRLENBQUMsUUFBUSxDQUFDLEdBQUcsQ0FBQyxJQUFJLENBQUMsQ0FBQTtJQUM5QyxDQUFDO0lBRUQsbUJBQW1CO0lBQ25CLDRCQUFVLEdBQVYsVUFBVyxPQUFlLEVBQUUsTUFBZTtRQUN6QyxJQUFNLE1BQU0sR0FBRyxNQUFNLENBQUEsQ0FBQyxDQUFDLFFBQVEsQ0FBQyxHQUFHLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxNQUFNLENBQUMsQ0FBQSxDQUFDLENBQUMsSUFBSSxDQUFDLE1BQU0sQ0FBQTtRQUVuRSxJQUFNLElBQUksR0FBRyxRQUFRLENBQUMsVUFBVSxDQUFDLE9BQU8sRUFBRSxNQUFNLENBQUMsQ0FBQztRQUNsRCxPQUFPLElBQUksQ0FBQyxRQUFRLEVBQUUsQ0FBQTtJQUN4QixDQUFDO0lBRUQsbUJBQW1CO0lBQ25CLGtDQUFnQixHQUFoQixVQUFpQixPQUFlLEVBQUUsU0FBaUI7UUFDakQsSUFBTSxJQUFJLEdBQUcsUUFBUSxDQUFDLFVBQVUsQ0FBQyxPQUFPLEVBQUUsSUFBSSxDQUFDLE1BQU0sQ0FBQyxDQUFDO1FBQ3ZELE9BQU8sSUFBSSxDQUFDLFFBQVEsRUFBRSxLQUFLLFNBQVMsQ0FBQTtJQUN0QyxDQUFDO0lBRUQsWUFBWTtJQUNaLDRCQUFVLEdBQVYsVUFBVyxJQUFZO1FBQ25CLElBQUksQ0FBQyxJQUFJLEVBQUU7WUFDUCxPQUFPLElBQUksQ0FBQztTQUNmO1FBQ0QsSUFBTSxJQUFJLEdBQUcsUUFBUSxDQUFDLEdBQUcsQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLElBQUksQ0FBQyxDQUFDO1FBQzNDLElBQU0sU0FBUyxHQUFHLFFBQVEsQ0FBQyxHQUFHLENBQUMsT0FBTyxDQUFDLElBQUksRUFBRSxJQUFJLENBQUMsTUFBTSxFQUFFO1lBQ3RELEVBQUUsRUFBRSxJQUFJLENBQUMsTUFBTTtZQUNmLElBQUksRUFBRSxRQUFRLENBQUMsSUFBSSxDQUFDLEdBQUc7WUFDdkIsT0FBTyxFQUFFLFFBQVEsQ0FBQyxHQUFHLENBQUMsV0FBVztTQUNwQyxDQUFDLENBQUM7UUFDSCxPQUFPLFNBQVMsQ0FBQyxRQUFRLEVBQUUsQ0FBQztJQUNoQyxDQUFDO0lBRUQsWUFBWTtJQUNaLDRCQUFVLEdBQVYsVUFBVyxJQUFZO1FBQ25CLElBQUksQ0FBQyxJQUFJLEVBQUU7WUFDUCxPQUFPLElBQUksQ0FBQztTQUNmO1FBQ0QsSUFBTSxlQUFlLEdBQUcsUUFBUSxDQUFDLEdBQUcsQ0FBQyxHQUFHLENBQUMsS0FBSyxDQUFDLElBQUksQ0FBQyxDQUFDO1FBQ3JELElBQU0sSUFBSSxHQUFHLFFBQVEsQ0FBQyxHQUFHLENBQUMsTUFBTSxDQUFDLFNBQVMsQ0FBQyxlQUFlLENBQUMsQ0FBQztRQUM1RCxJQUFNLE9BQU8sR0FBRyxRQUFRLENBQUMsR0FBRyxDQUFDLE9BQU8sQ0FBQyxJQUFJLEVBQUUsSUFBSSxDQUFDLE1BQU0sRUFBRTtZQUNwRCxFQUFFLEVBQUUsSUFBSSxDQUFDLE1BQU07WUFDZixJQUFJLEVBQUUsUUFBUSxDQUFDLElBQUksQ0FBQyxHQUFHO1lBQ3ZCLE9BQU8sRUFBRSxRQUFRLENBQUMsR0FBRyxDQUFDLFdBQVc7U0FDcEMsQ0FBQyxDQUFDO1FBQ0gsSUFBTSxZQUFZLEdBQUcsT0FBTyxDQUFDLFFBQVEsQ0FBQyxRQUFRLENBQUMsR0FBRyxDQUFDLElBQUksQ0FBQyxDQUFDO1FBQ3pELE9BQU8sWUFBWSxDQUFDLFFBQVEsRUFBRSxDQUFDO0lBQ25DLENBQUM7SUFDTCxjQUFDO0FBQUQsQ0E3RUEsQUE2RUMsSUFBQTtBQUNELElBQU0sS0FBSyxHQUFHLElBQUksT0FBTyxFQUFFLENBQUM7QUFFNUIsU0FBUyxPQUFPLENBQUMsSUFBSTtJQUNuQixPQUFPLElBQUksS0FBSyxFQUFFLElBQUksSUFBSSxLQUFLLElBQUksSUFBSSxJQUFJLEtBQUssU0FBUyxJQUFJLElBQUksQ0FBQyxNQUFNLEtBQUssQ0FBQyxJQUFJLElBQUksQ0FBQyxTQUFTLENBQUMsSUFBSSxDQUFDLElBQUksSUFBSSxDQUFBO0FBQ2hILENBQUM7QUFFRCxTQUFTLGNBQWMsQ0FBQyxHQUFHO0lBQ3pCLG1CQUFtQjtJQUNuQixJQUFNLFVBQVUsR0FBRyxNQUFNLENBQUMsSUFBSSxDQUFDLEdBQUcsQ0FBQyxDQUFDLElBQUksRUFBRSxDQUFDO0lBQzNDLElBQU0sU0FBUyxHQUFHLEVBQUUsQ0FBQztJQUNyQixLQUFLLElBQUksQ0FBQyxHQUFHLENBQUMsRUFBRSxDQUFDLEdBQUcsVUFBVSxDQUFDLE1BQU0sRUFBRSxDQUFDLEVBQUUsRUFBRTtRQUMxQyxJQUFJLE9BQU8sQ0FBQyxHQUFHLENBQUMsVUFBVSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsRUFBRTtZQUMvQixTQUFTO1NBQ1Y7UUFDRCxTQUFTLENBQUMsVUFBVSxDQUFDLENBQUMsQ0FBQyxDQUFDLEdBQUcsR0FBRyxDQUFDLFVBQVUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDO0tBQy9DO0lBRUQsb0JBQW9CO0lBQ3BCLElBQU0sTUFBTSxHQUFHLEVBQUUsQ0FBQztJQUNsQixLQUFLLElBQU0sR0FBRyxJQUFJLFNBQVMsRUFBRTtRQUMzQixNQUFNLENBQUMsSUFBSSxDQUFJLGtCQUFrQixDQUFDLEdBQUcsQ0FBQyxTQUFJLGtCQUFrQixDQUFDLFNBQVMsQ0FBQyxHQUFHLENBQUMsQ0FBRyxDQUFDLENBQUM7S0FDakY7SUFDRCxPQUFPLE1BQU0sQ0FBQyxJQUFJLENBQUMsR0FBRyxDQUFDLENBQUM7QUFDMUIsQ0FBQztBQUdEOzs7OztHQUtHO0FBRUgsU0FBUyxVQUFVLENBQUMsR0FBVyxFQUFFLE9BQWU7SUFDOUMsSUFBSSxPQUFPLEdBQUcsR0FBRyxDQUFDLE9BQU8sQ0FBQyxHQUFHLEVBQUUsRUFBRSxDQUFDLENBQUE7SUFDbEMsT0FBTyxHQUFHLE9BQU8sR0FBRyxHQUFHLEdBQUcsT0FBTyxDQUFBO0lBQ2pDLE9BQU8sa0JBQWtCLENBQUMsS0FBSyxDQUFDLFVBQVUsQ0FBQyxPQUFPLENBQUMsQ0FBQyxDQUFBO0FBQ3RELENBQUM7QUFDRCxtQkFBbUI7QUFDbkIsU0FBUyxTQUFTLENBQUMsR0FBVztJQUN0QixJQUFBLEtBQXlCLEdBQUcsQ0FBQyxLQUFLLENBQUMsR0FBRyxFQUFFLENBQUMsQ0FBQyxFQUF6QyxPQUFPLFFBQUEsRUFBRSxXQUFXLFFBQXFCLENBQUM7SUFDakQsSUFBTSxNQUFNLEdBQUcsSUFBSSxlQUFlLENBQUMsV0FBVyxDQUFDLENBQUM7SUFDaEQsT0FBVSxPQUFPLFNBQUksTUFBTSxDQUFDLFFBQVEsRUFBSSxDQUFDO0FBQzNDLENBQUMiLCJmaWxlIjoiIiwic291cmNlUm9vdCI6Ii8iLCJzb3VyY2VzQ29udGVudCI6WyJcclxuY29uc3Qge2NjY2xhc3MsIHByb3BlcnR5fSA9IGNjLl9kZWNvcmF0b3I7XHJcbmltcG9ydCBDcnlwdG9KUyA9IHJlcXVpcmUoJy4vY3J5cHRvLWpzLm1pbi5qcycpOyAgLy/lvJXnlKhBRVPmupDnoIFqc1xyXG5cclxuY29uc3QgQkFTRV9VUkwgPSBcImh0dHBzOi8vYXBpLnNwYXJrdXMuY25cIjtcclxuLy/lj6rotJ/otKPnvZHnu5zmjqXlj6Mg5qyh57G75Y+q6LSf6LSj5ZKM5ZCO56uv5Lqk5LqS77yM5LiN6LSf6LSj5aSE55CG5pWw5o2uIOaVsOaNruWkhOeQhuWcqEdhbWVUb29sXHJcbkBjY2NsYXNzXHJcbmV4cG9ydCBkZWZhdWx0IGNsYXNzIEh0dHBVdGlsIGV4dGVuZHMgY2MuQ29tcG9uZW50IHtcclxuICAgIHN0YXRpYyBhc3luYyAgZ2V0U2hhcmVJbmZvKHNoYXJlVXJsOiBzdHJpbmcpOiBQcm9taXNlPGFueT4ge1xyXG4gICAgICBjb25zb2xlLmxvZyhcIuiuvue9ruWIhuS6q+mTvuaOpTpcIixzaGFyZVVybCk7XHJcbiAgICAgIGNvbnN0IHRpbWUgPSBNYXRoLmZsb29yKChuZXcgRGF0ZSgpLmdldFRpbWUoKSkgLyAxMDAwKVxyXG4gICAgICBjb25zdCB1cmwgPSBIdHRwVXRpbC5hcGlTaWduKGAvYXBpL3NoYXJlL2NmZz9nYW1lSWQ9JHtjb25maWcuZ2FtZUlkfSZ0aW1lPSR7dGltZX0mdXJsPSR7c2hhcmVVcmx9YCx7fSlcclxuICAgICAgcmV0dXJuIHRoaXMucG9zdCh1cmwsbnVsbCxudWxsKTtcclxuICAgIH1cclxuICAgIC8v5o6S6KGM5qacXHJcbiAgICBzdGF0aWMgYXN5bmMgcmFua0RhdGEodHlwZSxjYWxsYmFjayxkYXRhKTogUHJvbWlzZTxhbnk+IHtcclxuICAgICAgY29uc3QgdGltZSA9IE1hdGguZmxvb3IoKG5ldyBEYXRlKCkuZ2V0VGltZSgpKSAvIDEwMDApXHJcbiAgICAgIGNvbnN0IHVybCA9IEh0dHBVdGlsLmFwaVNpZ24oYC9hcGkvZ2V0L3JhbmsvZGF0YT9nYW1lSWQ9JHtjb25maWcuZ2FtZUlkfSZkYXRhVHlwZT0ke3R5cGV9JnRpbWU9JHt0aW1lfWAsIGRhdGEpXHJcbiAgICAgIHRoaXMucG9zdCh1cmwsZGF0YSxjYWxsYmFjayk7XHJcbiAgICB9XHJcbiAgXHJcbiAgICBzdGF0aWMgYXN5bmMgdXBsb2FkVXNlckxvZ0RhdGEoZGF0YSxjYWxsYmFjayk6IFByb21pc2U8YW55PiB7XHJcbiAgICAgIGNvbnN0IHVybCA9ICcvbG9nL2NvbGxlY3QvZGF0YSc7XHJcbiAgICAgIHRoaXMucG9zdCh1cmwsZGF0YSxjYWxsYmFjayk7XHJcbiAgICB9XHJcbiAgICAvL+aaguaXtueUqOS4jeWIsFxyXG4gICAgc3RhdGljIGFzeW5jIGdldFVzZXJSZWNvcmQoZGF0YSxjYWxsYmFjayk6IFByb21pc2U8YW55PiB7XHJcbiAgICAgIGNvbnN0IHRpbWUgPSBNYXRoLmZsb29yKChuZXcgRGF0ZSgpLmdldFRpbWUoKSkgLyAxMDAwKVxyXG4gICAgICBjb25zdCB1cmwgPSBIdHRwVXRpbC5hcGlTaWduKGAvYXBpL2dldC91c2VyL2RhdGE/Z2FtZUlkPSR7Y29uZmlnLmdhbWVJZH0mdGltZT0ke3RpbWV9YCwgZGF0YSlcclxuICAgICAgdGhpcy5wb3N0KHVybCxkYXRhLGNhbGxiYWNrKTtcclxuICAgIH1cclxuICBzdGF0aWMgYXN5bmMgcG9zdCh1cmwsIGRhdGEsIGNhbGxiYWNrKSB7XHJcbiAgICBjb25zdCByZXNwb25zZSA9IGF3YWl0IHRoaXMuZmV0Y2hEYXRhKHVybCwgZGF0YSwgJ1BPU1QnKTtcclxuICAgIGNhbGxiYWNrICYmIGNhbGxiYWNrKHJlc3BvbnNlKTtcclxuICB9XHJcblxyXG4gIHN0YXRpYyBhc3luYyBnZXQodXJsLCBjYWxsYmFjaykge1xyXG4gICAgY29uc3QgcmVzcG9uc2UgPSBhd2FpdCB0aGlzLmZldGNoRGF0YSh1cmwsIG51bGwsICdHRVQnKTtcclxuICAgIGNhbGxiYWNrICYmIGNhbGxiYWNrKHJlc3BvbnNlKTtcclxuICB9XHJcblxyXG4gIHN0YXRpYyBhc3luYyBmZXRjaERhdGEodXJsLCBkYXRhLCBtZXRob2QpIHtcclxuICAgIGNvbnN0IGZ1bGxVcmwgPSBgJHtCQVNFX1VSTH0ke3VybH1gO1xyXG4gICAgY29uc3QgaGVhZGVycyA9IHsgJ0NvbnRlbnQtVHlwZSc6ICdhcHBsaWNhdGlvbi9qc29uJyB9O1xyXG4gICAgY29uc3Qgb3B0aW9ucyA9IHtcclxuICAgICAgbWV0aG9kLFxyXG4gICAgICBoZWFkZXJzLFxyXG4gICAgICBib2R5OiBkYXRhID8gSlNPTi5zdHJpbmdpZnkoZGF0YSkgOiBudWxsLFxyXG4gICAgfTtcclxuXHJcbiAgICB0cnkge1xyXG4gICAgICBjb25zdCByZXNwb25zZSA9IGF3YWl0IGZldGNoKGZ1bGxVcmwsIG9wdGlvbnMpO1xyXG4gICAgICBpZiAoIXJlc3BvbnNlLm9rKSB7XHJcbiAgICAgICAgdGhyb3cgbmV3IEVycm9yKGBIVFRQIGVycm9yISBzdGF0dXM6ICR7cmVzcG9uc2Uuc3RhdHVzfWApO1xyXG4gICAgICB9XHJcbiAgICAgIHJldHVybiBhd2FpdCByZXNwb25zZS5qc29uKCk7XHJcbiAgICB9IGNhdGNoIChlcnJvcikge1xyXG4gICAgICBjb25zb2xlLmVycm9yKCdGZXRjaCBlcnJvcjonLCBlcnJvcik7XHJcbiAgICAgIHJldHVybiBudWxsO1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgLyoqXHJcbiAqIFxyXG4gKiBAcGFyYW0gdXJsIHtzdHJpbmd9IOaOpeWPo+WcsOWdgFxyXG4gKiBAcGFyYW0gcGFyYW1zIHtvYmplY3R9IOmcgOimgeWKoOWvhueahOWPguaVsOWvueixoVxyXG4gKi9cclxuICBzdGF0aWMgYXBpU2lnbih1cmw6IHN0cmluZywgcGFyYW1zID0ge30pIHtcclxuXHJcbiAgICBsZXQgY29udmVydFVybCA9IHVybC50cmltKClcclxuICAgIGlmIChjb252ZXJ0VXJsLmluZGV4T2YoJz8nKSA9PT0gLTEpIHtcclxuICAgICAgY29udmVydFVybCArPSAnPydcclxuICAgIH1cclxuICAgIFxyXG4gICAgLy8g5Lyg5YWl5Y+C5pWw6L2s5o2i5ou85o6l5a2X56ym5LiyXHJcbiAgICBsZXQgcG9zdFN0ciA9ICBnZXRRdWVyeVN0cmluZyhwYXJhbXMpXHJcbiAgXHJcbiAgICBjb25zdCBzaWduZWRTdHIgPSBnZW5TaWduU3RyKGNvbnZlcnRVcmwsIHBvc3RTdHIpXHJcbiAgICBjb25zdCBlbmNyeXB0U3RyID0gYHNpZ249JHtzaWduZWRTdHJ9YFxyXG5cclxuICAgIGxldCBlbmNyeXB0U2lnblN0ciA9IGZ4Q3J5LmVuY3J5cHRCeURFUyhlbmNyeXB0U3RyLCBjb25maWcuc2VjcmV0S2V5KVxyXG4gICAgZW5jcnlwdFNpZ25TdHIgPSBlbmNvZGVVUklDb21wb25lbnQoZW5jcnlwdFNpZ25TdHIpXHJcblxyXG4gICAgcmV0dXJuIGAke3VybGVuY29kZShjb252ZXJ0VXJsKX0mX3A9JHtlbmNyeXB0U2lnblN0cn1gXHJcbiAgfVxyXG59XHJcblxyXG5mdW5jdGlvbiByZXNwb25zZUhhbmRsZXIocmVzcG9uc2U6IHsgZGF0YTogYW55IH0pIHtcclxuICByZXR1cm4gcmVzcG9uc2UuZGF0YVxyXG59XHJcbi8vIOWTjeW6lOaLpuaIquWZqFxyXG4vLyBScS5pbnRlcmNlcHRvcnMucmVzcG9uc2UudXNlKHJlc3BvbnNlSGFuZGxlcilcclxuY29uc3QgY29uZmlnID0ge1xyXG4gIGdhbWVJZDogXCIxMDAwMTJcIixcclxuICBzZWNyZXRLZXk6IFwib25uZlBLSldcIixcclxuICBFSzpcImh1aTIzMSUxXCJcclxufTtcclxuXHJcbmludGVyZmFjZSBDcnlwb3RvVHlwZSB7XHJcbiAgZW5jcnlwdEJ5REVTOiBhbnlcclxuICBkZWNyeXB0QnlERVM6IGFueVxyXG4gIGhtYWNTaGEyNTY6IGFueVxyXG59XHJcbiBcclxuY2xhc3MgQ3J5cG90byBpbXBsZW1lbnRzIENyeXBvdG9UeXBlIHtcclxuICAgIC8vIOWKoOWvhueahOWQkeaYjuWAvO+8jOiHquW3seagueaNrumhueebruWunumZheaDheWGteWumu+8jOmcgOimgei3n+WQjuerr+W8gOWPkeS/neaMgeS4gOiHtFxyXG4gICAgcHJpdmF0ZSBrZXlIZXggPSB0aGlzLmdldEhldEtleSgpXHJcbiAgICBwcml2YXRlIGdldEhldEtleSgpIHtcclxuICAgICAgICByZXR1cm4gQ3J5cHRvSlMuZW5jLlV0ZjgucGFyc2UoY29uZmlnLkVLKTtcclxuICAgIH1cclxuXHJcbiAgICAvKiogREVT5Yqg5a+GICovXHJcbiAgICBlbmNyeXB0QnlERVMobWVzc2FnZTogc3RyaW5nLCBzZWNyZXQ/OiBzdHJpbmcpIHtcclxuICAgICAgaWYoIW1lc3NhZ2UpIHtcclxuICAgICAgICByZXR1cm4gbWVzc2FnZVxyXG4gICAgICB9XHJcbiAgICAgIGNvbnN0IGtleSA9IHNlY3JldD8gQ3J5cHRvSlMuZW5jLlV0ZjgucGFyc2Uoc2VjcmV0KTogdGhpcy5rZXlIZXhcclxuICAgICAgY29uc3QgZW5jcnlwdGVkID0gQ3J5cHRvSlMuREVTLmVuY3J5cHQobWVzc2FnZSwga2V5LCB7XHJcbiAgICAgICAgbW9kZTogQ3J5cHRvSlMubW9kZS5FQ0IsXHJcbiAgICAgICAgcGFkZGluZzogQ3J5cHRvSlMucGFkLlBrY3M3XHJcbiAgICAgIH0pO1xyXG4gICAgICByZXR1cm4gZW5jcnlwdGVkLnRvU3RyaW5nKClcclxuICAgIH1cclxuXHJcbiAgICAvKiogREVT6Kej5a+GICovXHJcbiAgICBkZWNyeXB0QnlERVMobWVzc2FnZTogc3RyaW5nLCBzZWNyZXQ/OiBzdHJpbmcpIHtcclxuICAgICAgY29uc3Qga2V5ID0gc2VjcmV0PyBDcnlwdG9KUy5lbmMuVXRmOC5wYXJzZShzZWNyZXQpOiB0aGlzLmtleUhleFxyXG5cclxuICAgICAgY29uc3QgZGVjcnlwdGVkID0gQ3J5cHRvSlMuREVTLmRlY3J5cHQoe1xyXG4gICAgICAgIGNpcGhlcnRleHQ6IENyeXB0b0pTLmVuYy5CYXNlNjQucGFyc2UobWVzc2FnZSlcclxuICAgICAgfSwga2V5LCB7XHJcbiAgICAgICAgbW9kZTogQ3J5cHRvSlMubW9kZS5FQ0IsXHJcbiAgICAgICAgcGFkZGluZzogQ3J5cHRvSlMucGFkLlBrY3M3XHJcbiAgICAgIH0pXHJcblxyXG4gICAgICByZXR1cm4gZGVjcnlwdGVkLnRvU3RyaW5nKENyeXB0b0pTLmVuYy5VdGY4KVxyXG4gICAgfVxyXG5cclxuICAgIC8qKiBobWFjU0hBMjU25Yqg5a+GICovXHJcbiAgICBobWFjU2hhMjU2KG1lc3NhZ2U6IHN0cmluZywgc2VjcmV0Pzogc3RyaW5nKSB7XHJcbiAgICAgIGNvbnN0IGtleUhleCA9IHNlY3JldD8gQ3J5cHRvSlMuZW5jLlV0ZjgucGFyc2Uoc2VjcmV0KTogdGhpcy5rZXlIZXhcclxuICAgICAgXHJcbiAgICAgIGNvbnN0IGhhc2ggPSBDcnlwdG9KUy5IbWFjU0hBMjU2KG1lc3NhZ2UsIGtleUhleCk7XHJcbiAgICAgIHJldHVybiBoYXNoLnRvU3RyaW5nKClcclxuICAgIH1cclxuXHJcbiAgICAvKiogaG1hY1NIQTI1NumqjOivgSAqL1xyXG4gICAgdmVyaWZ5SG1hY1NoYTI1NihtZXNzYWdlOiBzdHJpbmcsIHNpZ25hdHVyZTogc3RyaW5nKSB7XHJcbiAgICAgIGNvbnN0IGhhc2ggPSBDcnlwdG9KUy5IbWFjU0hBMjU2KG1lc3NhZ2UsIHRoaXMua2V5SGV4KTtcclxuICAgICAgcmV0dXJuIGhhc2gudG9TdHJpbmcoKSA9PT0gc2lnbmF0dXJlXHJcbiAgICB9XHJcbiBcclxuICAgIC8qKiBDQkPliqDlr4YgKi9cclxuICAgIGVuY3J5cHRDQkMod29yZDogc3RyaW5nKSB7XHJcbiAgICAgICAgaWYgKCF3b3JkKSB7XHJcbiAgICAgICAgICAgIHJldHVybiB3b3JkO1xyXG4gICAgICAgIH1cclxuICAgICAgICBjb25zdCBzcmNzID0gQ3J5cHRvSlMuZW5jLlV0ZjgucGFyc2Uod29yZCk7XHJcbiAgICAgICAgY29uc3QgZW5jcnlwdGVkID0gQ3J5cHRvSlMuQUVTLmVuY3J5cHQoc3JjcywgdGhpcy5rZXlIZXgsIHtcclxuICAgICAgICAgICAgaXY6IHRoaXMua2V5SGV4LFxyXG4gICAgICAgICAgICBtb2RlOiBDcnlwdG9KUy5tb2RlLkNCQyxcclxuICAgICAgICAgICAgcGFkZGluZzogQ3J5cHRvSlMucGFkLlplcm9QYWRkaW5nXHJcbiAgICAgICAgfSk7XHJcbiAgICAgICAgcmV0dXJuIGVuY3J5cHRlZC50b1N0cmluZygpOyBcclxuICAgIH1cclxuIFxyXG4gICAgLyoqIENCQ+ino+WvhiAqL1xyXG4gICAgZGVjcnlwdENCQyh3b3JkOiBzdHJpbmcpIHtcclxuICAgICAgICBpZiAoIXdvcmQpIHtcclxuICAgICAgICAgICAgcmV0dXJuIHdvcmQ7XHJcbiAgICAgICAgfVxyXG4gICAgICAgIGNvbnN0IGVuY3J5cHRlZEhleFN0ciA9IENyeXB0b0pTLmVuYy5IZXgucGFyc2Uod29yZCk7XHJcbiAgICAgICAgY29uc3Qgc3JjcyA9IENyeXB0b0pTLmVuYy5CYXNlNjQuc3RyaW5naWZ5KGVuY3J5cHRlZEhleFN0cik7XHJcbiAgICAgICAgY29uc3QgZGVjcnlwdCA9IENyeXB0b0pTLkFFUy5kZWNyeXB0KHNyY3MsIHRoaXMua2V5SGV4LCB7XHJcbiAgICAgICAgICAgIGl2OiB0aGlzLmtleUhleCxcclxuICAgICAgICAgICAgbW9kZTogQ3J5cHRvSlMubW9kZS5DQkMsXHJcbiAgICAgICAgICAgIHBhZGRpbmc6IENyeXB0b0pTLnBhZC5aZXJvUGFkZGluZ1xyXG4gICAgICAgIH0pO1xyXG4gICAgICAgIGNvbnN0IGRlY3J5cHRlZFN0ciA9IGRlY3J5cHQudG9TdHJpbmcoQ3J5cHRvSlMuZW5jLlV0ZjgpO1xyXG4gICAgICAgIHJldHVybiBkZWNyeXB0ZWRTdHIudG9TdHJpbmcoKTtcclxuICAgIH1cclxufVxyXG5jb25zdCBmeENyeSA9IG5ldyBDcnlwb3RvKCk7XHJcblxyXG5mdW5jdGlvbiBpc0VtcHR5KGRhdGEpIHtcclxuICByZXR1cm4gZGF0YSA9PT0gXCJcIiB8fCBkYXRhID09PSBudWxsIHx8IGRhdGEgPT09IHVuZGVmaW5lZCB8fCBkYXRhLmxlbmd0aCA9PT0gMCB8fCBKU09OLnN0cmluZ2lmeShkYXRhKSA9PSBcInt9XCJcclxufVxyXG5cclxuZnVuY3Rpb24gZ2V0UXVlcnlTdHJpbmcob2JqKSB7XHJcbiAgLy8g6aaW5YWI5a+55a+56LGh55qE6ZSu6L+b6KGM5o6S5bqP5bm26L+H5ruk56m65YC8XHJcbiAgY29uc3Qgc29ydGVkS2V5cyA9IE9iamVjdC5rZXlzKG9iaikuc29ydCgpO1xyXG4gIGNvbnN0IHNvcnRlZE9iaiA9IHt9O1xyXG4gIGZvciAobGV0IGkgPSAwOyBpIDwgc29ydGVkS2V5cy5sZW5ndGg7IGkrKykge1xyXG4gICAgaWYgKGlzRW1wdHkob2JqW3NvcnRlZEtleXNbaV1dKSkge1xyXG4gICAgICBjb250aW51ZTtcclxuICAgIH1cclxuICAgIHNvcnRlZE9ialtzb3J0ZWRLZXlzW2ldXSA9IG9ialtzb3J0ZWRLZXlzW2ldXTtcclxuICB9XHJcbiAgXHJcbiAgLy8g54S25ZCO5bCG5o6S5bqP5ZCO55qE5a+56LGh6L2s5o2i5Li65p+l6K+i5a2X56ym5LiyXHJcbiAgY29uc3QgcGFyYW1zID0gW107XHJcbiAgZm9yIChjb25zdCBrZXkgaW4gc29ydGVkT2JqKSB7XHJcbiAgICBwYXJhbXMucHVzaChgJHtlbmNvZGVVUklDb21wb25lbnQoa2V5KX09JHtlbmNvZGVVUklDb21wb25lbnQoc29ydGVkT2JqW2tleV0pfWApO1xyXG4gIH1cclxuICByZXR1cm4gcGFyYW1zLmpvaW4oJyYnKTtcclxufVxyXG5cclxuXHJcbi8qKlxyXG4gKiDnu4Too4Xnrb7lkI3lrZfnrKbkuLJcclxuICogQHBhcmFtIHN0cmluZyB1cmw6IOivt+axguWcsOWdgCBcclxuICogQHBhcmFtIHN0cmluZyBwb3N0U3RyOiBwb3N05Y+C5pWw55qEYT0xJmI9MiBcclxuICogQHJldHVybnMgXHJcbiAqL1xyXG5cclxuZnVuY3Rpb24gZ2VuU2lnblN0cih1cmw6IHN0cmluZywgcG9zdFN0cjogc3RyaW5nKTogc3RyaW5nIHtcclxuICBsZXQgbGVzc1VybCA9IHVybC5yZXBsYWNlKCc/JywgJycpXHJcbiAgbGVzc1VybCA9IGxlc3NVcmwgKyBcIiZcIiArIHBvc3RTdHJcclxuICByZXR1cm4gZW5jb2RlVVJJQ29tcG9uZW50KGZ4Q3J5LmhtYWNTaGEyNTYobGVzc1VybCkpXHJcbn1cclxuLy8g5a+55Y+C5pWw6L+b6KGM57uf5LiAdXJsZW5jb2RlXHJcbmZ1bmN0aW9uIHVybGVuY29kZSh1cmw6IHN0cmluZyk6IHN0cmluZyB7XHJcbiAgY29uc3QgW2Jhc2VVcmwsIHF1ZXJ5U3RyaW5nXSA9IHVybC5zcGxpdChcIj9cIiwgMik7XHJcbiAgY29uc3QgcGFyYW1zID0gbmV3IFVSTFNlYXJjaFBhcmFtcyhxdWVyeVN0cmluZyk7XHJcbiAgcmV0dXJuIGAke2Jhc2VVcmx9PyR7cGFyYW1zLnRvU3RyaW5nKCl9YDtcclxufVxyXG5cclxuXHJcblxyXG4iXX0= -//------QC-SOURCE-SPLIT------ - - (function() { - var nodeEnv = typeof require !== 'undefined' && typeof process !== 'undefined'; - var __module = nodeEnv ? module : {exports:{}}; - var __filename = 'preview-scripts/assets/Script/module/RankList/ItemRender.js'; - var __require = nodeEnv ? function (request) { - return cc.require(request); - } : function (request) { - return __quick_compile_project__.require(request, __filename); - }; - function __define (exports, require, module) { - if (!nodeEnv) {__quick_compile_project__.registerModule(__filename, module);}"use strict"; -cc._RF.push(module, 'ca0f9k0oBVDbpQC+OMNTF3m', 'ItemRender'); -// Script/module/RankList/ItemRender.ts - -"use strict"; -var __extends = (this && this.__extends) || (function () { - var extendStatics = function (d, b) { - extendStatics = Object.setPrototypeOf || - ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) || - function (d, b) { for (var p in b) if (Object.prototype.hasOwnProperty.call(b, p)) d[p] = b[p]; }; - return extendStatics(d, b); - }; - return function (d, b) { - extendStatics(d, b); - function __() { this.constructor = d; } - d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __()); - }; -})(); -var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) { - var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d; - if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc); - else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r; - return c > 3 && r && Object.defineProperty(target, key, r), r; -}; -Object.defineProperty(exports, "__esModule", { value: true }); -var _a = cc._decorator, ccclass = _a.ccclass, property = _a.property; -var ItemRender = /** @class */ (function (_super) { - __extends(ItemRender, _super); - function ItemRender() { - var _this = _super !== null && _super.apply(this, arguments) || this; - /**数据 */ - _this.data = null; - /**索引 0表示第一项*/ - _this.itemIndex = 0; - return _this; - } - /**数据改变时调用 */ - ItemRender.prototype.dataChanged = function () { - cc.fx.GameTool.subName(this.data.name, 6); - this.node.getChildByName("rankLab").getComponent(cc.Label).string = this.data.rank + ""; - this.node.getChildByName("nameLab").getComponent(cc.Label).string = this.data.name + ""; - this.node.getChildByName("totalLab").getComponent(cc.Label).string = this.data.total; - var timeTemp = cc.fx.GameTool.getTimeShenNong(this.data.time); - // this.node.getChildByName("timeLab").getComponent(cc.Label).string = timeTemp + ""; - this.node.getChildByName("rank").getChildByName("one").active = false; - this.node.getChildByName("rank").getChildByName("two").active = false; - this.node.getChildByName("rank").getChildByName("three").active = false; - if (this.data.rank == 1) { - this.node.getChildByName("rank").getChildByName("one").active = true; - this.node.getChildByName("rankLab").active = false; - } - else if (this.data.rank == 2) { - this.node.getChildByName("rank").getChildByName("two").active = true; - this.node.getChildByName("rankLab").active = false; - } - else if (this.data.rank == 3) { - this.node.getChildByName("rank").getChildByName("three").active = true; - this.node.getChildByName("rankLab").active = false; - } - else { - this.node.getChildByName("rankLab").active = true; - } - this.setPic(); - }; - ItemRender.prototype.setPic = function () { - var _this = this; - this.node.getChildByName("pic").getChildByName("icon").active = false; - this.node.getChildByName("pic").getChildByName("pic").active = false; - var self = this; - var url = this.data.pic; - fetch(url) - .then(function (response) { - return response.headers.get('Content-Length'); - }) - .then(function (errNo) { - // console.log(this.data.rank,'X-Info:', errNo); // 输出X-ErrNo的值 - if (errNo == "5093") { - // console.log(this.data.rank,"没头像"); - _this.node.getChildByName("pic").getChildByName("icon").active = true; - } - }) - .catch(function (error) { - // console.error('Error fetching X-Info:', error); - }); - cc.assetManager.loadRemote(url, { ext: '.png' }, function (err, texture) { - if (texture) { - _this.node.getChildByName("pic").getChildByName("pic").active = true; - var sprite = _this.node.getChildByName("pic").getChildByName("pic").getComponent(cc.Sprite); - sprite.spriteFrame = new cc.SpriteFrame(texture); - // console.log(this.data.rank,"设置头像成功",err); - } - else { - // console.log("设置头像失败",url); - console.log(err, texture); - } - }); - }; - ItemRender = __decorate([ - ccclass - ], ItemRender); - return ItemRender; -}(cc.Component)); -exports.default = ItemRender; - -cc._RF.pop(); - } - if (nodeEnv) { - __define(__module.exports, __require, __module); - } - else { - __quick_compile_project__.registerModuleFunc(__filename, function () { - __define(__module.exports, __require, __module); - }); - } - })(); -//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbImFzc2V0c1xcU2NyaXB0XFxtb2R1bGVcXFJhbmtMaXN0XFxJdGVtUmVuZGVyLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OztBQUdNLElBQUEsS0FBd0IsRUFBRSxDQUFDLFVBQVUsRUFBbkMsT0FBTyxhQUFBLEVBQUUsUUFBUSxjQUFrQixDQUFDO0FBRzVDO0lBQXdDLDhCQUFZO0lBQXBEO1FBQUEscUVBcUVDO1FBcEVHLFFBQVE7UUFDRCxVQUFJLEdBQU8sSUFBSSxDQUFDO1FBQ3ZCLGNBQWM7UUFDUCxlQUFTLEdBQVUsQ0FBQyxDQUFDOztJQWlFaEMsQ0FBQztJQS9ERyxhQUFhO0lBQ04sZ0NBQVcsR0FBbEI7UUFDSSxFQUFFLENBQUMsRUFBRSxDQUFDLFFBQVEsQ0FBQyxPQUFPLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxJQUFJLEVBQUMsQ0FBQyxDQUFDLENBQUM7UUFDekMsSUFBSSxDQUFDLElBQUksQ0FBQyxjQUFjLENBQUMsU0FBUyxDQUFDLENBQUMsWUFBWSxDQUFDLEVBQUUsQ0FBQyxLQUFLLENBQUMsQ0FBQyxNQUFNLEdBQUcsSUFBSSxDQUFDLElBQUksQ0FBQyxJQUFJLEdBQUcsRUFBRSxDQUFDO1FBQ3hGLElBQUksQ0FBQyxJQUFJLENBQUMsY0FBYyxDQUFDLFNBQVMsQ0FBQyxDQUFDLFlBQVksQ0FBQyxFQUFFLENBQUMsS0FBSyxDQUFDLENBQUMsTUFBTSxHQUFHLElBQUksQ0FBQyxJQUFJLENBQUMsSUFBSSxHQUFHLEVBQUUsQ0FBQztRQUN4RixJQUFJLENBQUMsSUFBSSxDQUFDLGNBQWMsQ0FBQyxVQUFVLENBQUMsQ0FBQyxZQUFZLENBQUMsRUFBRSxDQUFDLEtBQUssQ0FBQyxDQUFDLE1BQU0sR0FBRyxJQUFJLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQztRQUNyRixJQUFJLFFBQVEsR0FBRyxFQUFFLENBQUMsRUFBRSxDQUFDLFFBQVEsQ0FBQyxlQUFlLENBQUMs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LENBQUMsQ0FBQztRQUNILEVBQUUsQ0FBQyxZQUFZLENBQUMsVUFBVSxDQUFDLEdBQUcsRUFBRSxFQUFDLEdBQUcsRUFBQyxNQUFNLEVBQUMsRUFBQyxVQUFDLEdBQUcsRUFBRSxPQUFvQjtZQUNuRSxJQUFHLE9BQU8sRUFBQztnQkFDUCxLQUFJLENBQUMsSUFBSSxDQUFDLGNBQWMsQ0FBQyxLQUFLLENBQUMsQ0FBQyxjQUFjLENBQUMsS0FBSyxDQUFDLENBQUMsTUFBTSxHQUFFLElBQUksQ0FBQztnQkFDbkUsSUFBSSxNQUFNLEdBQUcsS0FBSSxDQUFDLElBQUksQ0FBQyxjQUFjLENBQUMsS0FBSyxDQUFDLENBQUMsY0FBYyxDQUFDLEtBQUssQ0FBQyxDQUFDLFlBQVksQ0FBQyxFQUFFLENBQUMsTUFBTSxDQUFDLENBQUM7Z0JBQzNGLE1BQU0sQ0FBQyxXQUFXLEdBQUcsSUFBSSxFQUFFLENBQUMsV0FBVyxDQUFDLE9BQU8sQ0FBQyxDQUFDO2dCQUNqRCw0Q0FBNEM7YUFDL0M7aUJBQ0c7Z0JBQ0EsNkJBQTZCO2dCQUM3QixPQUFPLENBQUMsR0FBRyxDQUFDLEdBQUcsRUFBQyxPQUFPLENBQUMsQ0FBQTthQUMzQjtRQUNMLENBQUMsQ0FBQyxDQUFBO0lBQ04sQ0FBQztJQWxFZ0IsVUFBVTtRQUQ5QixPQUFPO09BQ2EsVUFBVSxDQXFFOUI7SUFBRCxpQkFBQztDQXJFRCxBQXFFQyxDQXJFdUMsRUFBRSxDQUFDLFNBQVMsR0FxRW5EO2tCQXJFb0IsVUFBVSIsImZpbGUiOiIiLCJzb3VyY2VSb290IjoiLyIsInNvdXJjZXNDb250ZW50IjpbIlxyXG5pbXBvcnQgTGlzdCwgeyBMaXN0VHlwZSB9IGZyb20gXCIuL0xpc3RcIjtcclxuXHJcbmNvbnN0IHsgY2NjbGFzcywgcHJvcGVydHkgfSA9IGNjLl9kZWNvcmF0b3I7XHJcblxyXG5AY2NjbGFzc1xyXG5leHBvcnQgZGVmYXVsdCBjbGFzcyBJdGVtUmVuZGVyIGV4dGVuZHMgY2MuQ29tcG9uZW50IHtcclxuICAgIC8qKuaVsOaNriAqL1xyXG4gICAgcHVibGljIGRhdGE6YW55ID0gbnVsbDtcclxuICAgIC8qKue0ouW8lSAw6KGo56S656ys5LiA6aG5Ki9cclxuICAgIHB1YmxpYyBpdGVtSW5kZXg6bnVtYmVyID0gMDsgICAgXHJcblxyXG4gICAgLyoq5pWw5o2u5pS55Y+Y5pe26LCD55SoICovXHJcbiAgICBwdWJsaWMgZGF0YUNoYW5nZWQoKXtcclxuICAgICAgICBjYy5meC5HYW1lVG9vbC5zdWJOYW1lKHRoaXMuZGF0YS5uYW1lLDYpO1xyXG4gICAgICAgIHRoaXMubm9kZS5nZXRDaGlsZEJ5TmFtZShcInJhbmtMYWJcIikuZ2V0Q29tcG9uZW50KGNjLkxhYmVsKS5zdHJpbmcgPSB0aGlzLmRhdGEucmFuayArIFwiXCI7XHJcbiAgICAgICAgdGhpcy5ub2RlLmdldENoaWxkQnlOYW1lKFwibmFtZUxhYlwiKS5nZXRDb21wb25lbnQoY2MuTGFiZWwpLnN0cmluZyA9IHRoaXMuZGF0YS5uYW1lICsgXCJcIjtcclxuICAgICAgICB0aGlzLm5vZGUuZ2V0Q2hpbGRCeU5hbWUoXCJ0b3RhbExhYlwiKS5nZXRDb21wb25lbnQoY2MuTGFiZWwpLnN0cmluZyA9IHRoaXMuZGF0YS50b3RhbDtcclxuICAgICAgICBsZXQgdGltZVRlbXAgPSBjYy5meC5HYW1lVG9vbC5nZXRUaW1lU2hlbk5vbmcodGhpcy5kYXRhLnRpbWUpO1xyXG4gICAgICAgIC8vIHRoaXMubm9kZS5nZXRDaGlsZEJ5TmFtZShcInRpbWVMYWJcIikuZ2V0Q29tcG9uZW50KGNjLkxhYmVsKS5zdHJpbmcgPSB0aW1lVGVtcCArIFwiXCI7XHJcbiAgICAgICAgdGhpcy5ub2RlLmdldENoaWxkQnlOYW1lKFwicmFua1wiKS5nZXRDaGlsZEJ5TmFtZShcIm9uZVwiKS5hY3RpdmUgPSBmYWxzZTtcclxuICAgICAgICB0aGlzLm5vZGUuZ2V0Q2hpbGRCeU5hbWUoXCJyYW5rXCIpLmdldENoaWxkQnlOYW1lKFwidHdvXCIpLmFjdGl2ZSA9IGZhbHNlO1xyXG4gICAgICAgIHRoaXMubm9kZS5nZXRDaGlsZEJ5TmFtZShcInJhbmtcIikuZ2V0Q2hpbGRCeU5hbWUoXCJ0aHJlZVwiKS5hY3RpdmUgPSBmYWxzZTtcclxuICAgICAgICBpZih0aGlzLmRhdGEucmFuayA9PSAxKXtcclxuICAgICAgICAgICAgdGhpcy5ub2RlLmdldENoaWxkQnlOYW1lKFwicmFua1wiKS5nZXRDaGlsZEJ5TmFtZShcIm9uZVwiKS5hY3RpdmUgPSB0cnVlO1xyXG4gICAgICAgICAgICB0aGlzLm5vZGUuZ2V0Q2hpbGRCeU5hbWUoXCJyYW5rTGFiXCIpLmFjdGl2ZSA9IGZhbHNlO1xyXG4gICAgICAgIH1cclxuICAgICAgICBlbHNlIGlmKHRoaXMuZGF0YS5yYW5rID09IDIpe1xyXG4gICAgICAgICAgICB0aGlzLm5vZGUuZ2V0Q2hpbGRCeU5hbWUoXCJyYW5rXCIpLmdldENoaWxkQnlOYW1lKFwidHdvXCIpLmFjdGl2ZSA9IHRydWU7XHJcbiAgICAgICAgICAgIHRoaXMubm9kZS5nZXRDaGlsZEJ5TmFtZShcInJhbmtMYWJcIikuYWN0aXZlID0gZmFsc2U7XHJcbiAgICAgICAgfVxyXG4gICAgICAgIGVsc2UgaWYodGhpcy5kYXRhLnJhbmsgPT0gMyl7XHJcbiAgICAgICAgICAgIHRoaXMubm9kZS5nZXRDaGlsZEJ5TmFtZShcInJhbmtcIikuZ2V0Q2hpbGRCeU5hbWUoXCJ0aHJlZVwiKS5hY3RpdmUgPSB0cnVlO1xyXG4gICAgICAgICAgICB0aGlzLm5vZGUuZ2V0Q2hpbGRCeU5hbWUoXCJyYW5rTGFiXCIpLmFjdGl2ZSA9IGZhbHNlO1xyXG4gICAgICAgIH1lbHNle1xyXG4gICAgICAgICAgICB0aGlzLm5vZGUuZ2V0Q2hpbGRCeU5hbWUoXCJyYW5rTGFiXCIpLmFjdGl2ZSA9IHRydWU7XHJcbiAgICAgICAgfVxyXG4gICAgICAgIHRoaXMuc2V0UGljKCk7XHJcbiAgICB9ICAgXHJcbiAgICBcclxuICAgIHB1YmxpYyBzZXRQaWMoKXtcclxuICAgICAgICB0aGlzLm5vZGUuZ2V0Q2hpbGRCeU5hbWUoXCJwaWNcIikuZ2V0Q2hpbGRCeU5hbWUoXCJpY29uXCIpLmFjdGl2ZSA9IGZhbHNlO1xyXG4gICAgICAgIHRoaXMubm9kZS5nZXRDaGlsZEJ5TmFtZShcInBpY1wiKS5nZXRDaGlsZEJ5TmFtZShcInBpY1wiKS5hY3RpdmU9IGZhbHNlO1xyXG4gICAgICAgIHZhciBzZWxmID0gdGhpcztcclxuICAgICAgICBsZXQgdXJsID0gdGhpcy5kYXRhLnBpYztcclxuICAgICAgICBmZXRjaCh1cmwpXHJcbiAgICAgICAgLnRoZW4ocmVzcG9uc2UgPT4ge1xyXG4gICAgICAgICAgICByZXR1cm4gcmVzcG9uc2UuaGVhZGVycy5nZXQoJ0NvbnRlbnQtTGVuZ3RoJyk7XHJcbiAgICAgICAgfSlcclxuXHJcbiAgICAgICAgLnRoZW4oZXJyTm8gPT4ge1xyXG4gICAgICAgICAgICAvLyBjb25zb2xlLmxvZyh0aGlzLmRhdGEucmFuaywnWC1JbmZvOicsIGVyck5vKTsgLy8g6L6T5Ye6WC1FcnJOb+eahOWAvFxyXG4gICAgICAgICAgICBpZihlcnJObyA9PSBcIjUwOTNcIil7XHJcbiAgICAgICAgICAgICAgICAvLyBjb25zb2xlLmxvZyh0aGlzLmRhdGEucmFuayxcIuayoeWktOWDj1wiKTtcclxuICAgICAgICAgICAgICAgIHRoaXMubm9kZS5nZXRDaGlsZEJ5TmFtZShcInBpY1wiKS5nZXRDaGlsZEJ5TmFtZShcImljb25cIikuYWN0aXZlID0gdHJ1ZTtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH0pXHJcbiAgICAgICAgLmNhdGNoKGVycm9yID0+IHtcclxuICAgICAgICAgICAgLy8gY29uc29sZS5lcnJvcignRXJyb3IgZmV0Y2hpbmcgWC1JbmZvOicsIGVycm9yKTtcclxuICAgICAgICB9KTtcclxuICAgICAgICBjYy5hc3NldE1hbmFnZXIubG9hZFJlbW90ZSh1cmwsIHtleHQ6Jy5wbmcnfSwoZXJyLCB0ZXh0dXJlOmNjLlRleHR1cmUyRCkgPT4ge1xyXG4gICAgICAgICAgICBpZih0ZXh0dXJlKXtcclxuICAgICAgICAgICAgICAgIHRoaXMubm9kZS5nZXRDaGlsZEJ5TmFtZShcInBpY1wiKS5nZXRDaGlsZEJ5TmFtZShcInBpY1wiKS5hY3RpdmU9IHRydWU7XHJcbiAgICAgICAgICAgICAgICB2YXIgc3ByaXRlID0gdGhpcy5ub2RlLmdldENoaWxkQnlOYW1lKFwicGljXCIpLmdldENoaWxkQnlOYW1lKFwicGljXCIpLmdldENvbXBvbmVudChjYy5TcHJpdGUpO1xyXG4gICAgICAgICAgICAgICAgc3ByaXRlLnNwcml0ZUZyYW1lID0gbmV3IGNjLlNwcml0ZUZyYW1lKHRleHR1cmUpO1xyXG4gICAgICAgICAgICAgICAgLy8gY29uc29sZS5sb2codGhpcy5kYXRhLnJhbmssXCLorr7nva7lpLTlg4/miJDlip9cIixlcnIpO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIGVsc2V7XHJcbiAgICAgICAgICAgICAgICAvLyBjb25zb2xlLmxvZyhcIuiuvue9ruWktOWDj+Wksei0pVwiLHVybCk7XHJcbiAgICAgICAgICAgICAgICBjb25zb2xlLmxvZyhlcnIsdGV4dHVyZSlcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH0pXHJcbiAgICB9XHJcblxyXG5cclxufVxyXG4iXX0= +//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbImFzc2V0c1xcU2NyaXB0XFxNYXNrLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7Ozs7Ozs7Ozs7Ozs7QUFBQSxvQkFBb0I7QUFDcEIsd0VBQXdFO0FBQ3hFLG1CQUFtQjtBQUNuQixrRkFBa0Y7QUFDbEYsOEJBQThCO0FBQzlCLGtGQUFrRjs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O0FBRTVFLElBQUEsS0FBc0IsRUFBRSxDQUFDLFVBQVUsRUFBbEMsT0FBTyxhQUFBLEVBQUUsUUFBUSxjQUFpQixDQUFDO0FBRzFDO0lBQXNDLDRCQUFZO0lBQWxEOztJQXFCQSxDQUFDO0lBbkJHLHdCQUF3QjtJQUV4QixlQUFlO0lBRWYsd0JBQUssR0FBTDtRQUNJLElBQUksV0FBVyxHQUFHLElBQUksQ0FBQyxJQUFJLENBQUMsTUFBTSxDQUFDLE1BQU0sQ0FBQyxNQUFNLENBQUMsWUFBWSxDQUFDLGFBQWEsQ0FBQyxDQUFDO1FBRTdFLElBQUcsV0FBVyxDQUFDLE9BQU8sSUFBSSxJQUFJLEVBQUM7WUFDM0IsV0FBVyxDQUFDLE9BQU8sR0FBRyxLQUFLLENBQUM7WUFDNUIsSUFBSSxDQUFDLElBQUksQ0FBQyxFQUFFLENBQUMsRUFBRSxDQUFDLElBQUksQ0FBQyxTQUFTLENBQUMsV0FBVyxFQUFFLElBQUksQ0FBQyxPQUFPLEVBQUUsSUFBSSxDQUFDLENBQUM7U0FDbkU7SUFFTCxDQUFDO0lBRUQsMEJBQU8sR0FBUDtRQUNJLEVBQUUsQ0FBQyxFQUFFLENBQUMsYUFBYSxDQUFDLElBQUksQ0FBQyxFQUFFLENBQUMsRUFBRSxDQUFDLE9BQU8sQ0FBQyxTQUFTLENBQUMsQ0FBQztJQUN0RCxDQUFDO0lBbEJnQixRQUFRO1FBRDVCLE9BQU87T0FDYSxRQUFRLENBcUI1QjtJQUFELGVBQUM7Q0FyQkQsQUFxQkMsQ0FyQnFDLEVBQUUsQ0FBQyxTQUFTLEdBcUJqRDtrQkFyQm9CLFFBQVEiLCJmaWxlIjoiIiwic291cmNlUm9vdCI6Ii8iLCJzb3VyY2VzQ29udGVudCI6WyIvLyBMZWFybiBUeXBlU2NyaXB0OlxyXG4vLyAgLSBodHRwczovL2RvY3MuY29jb3MuY29tL2NyZWF0b3IvbWFudWFsL2VuL3NjcmlwdGluZy90eXBlc2NyaXB0Lmh0bWxcclxuLy8gTGVhcm4gQXR0cmlidXRlOlxyXG4vLyAgLSBodHRwczovL2RvY3MuY29jb3MuY29tL2NyZWF0b3IvbWFudWFsL2VuL3NjcmlwdGluZy9yZWZlcmVuY2UvYXR0cmlidXRlcy5odG1sXHJcbi8vIExlYXJuIGxpZmUtY3ljbGUgY2FsbGJhY2tzOlxyXG4vLyAgLSBodHRwczovL2RvY3MuY29jb3MuY29tL2NyZWF0b3IvbWFudWFsL2VuL3NjcmlwdGluZy9saWZlLWN5Y2xlLWNhbGxiYWNrcy5odG1sXHJcblxyXG5jb25zdCB7Y2NjbGFzcywgcHJvcGVydHl9ID0gY2MuX2RlY29yYXRvcjtcclxuXHJcbkBjY2NsYXNzXHJcbmV4cG9ydCBkZWZhdWx0IGNsYXNzIE5ld0NsYXNzIGV4dGVuZHMgY2MuQ29tcG9uZW50IHtcclxuXHJcbiAgICAvLyBMSUZFLUNZQ0xFIENBTExCQUNLUzpcclxuXHJcbiAgICAvLyBvbkxvYWQgKCkge31cclxuXHJcbiAgICBzdGFydCAoKSB7XHJcbiAgICAgICAgbGV0IEdhbWVNYW5hZ2VyID0gdGhpcy5ub2RlLnBhcmVudC5wYXJlbnQucGFyZW50LmdldENvbXBvbmVudChcIkdhbWVNYW5hZ2VyXCIpO1xyXG5cclxuICAgICAgICBpZihHYW1lTWFuYWdlci5iZ0NsaWNrID09IHRydWUpe1xyXG4gICAgICAgICAgICBHYW1lTWFuYWdlci5iZ0NsaWNrID0gZmFsc2U7XHJcbiAgICAgICAgICAgIHRoaXMubm9kZS5vbihjYy5Ob2RlLkV2ZW50VHlwZS5UT1VDSF9TVEFSVCwgdGhpcy5vbkNsaWNrLCB0aGlzKTtcclxuICAgICAgICB9XHJcblxyXG4gICAgfVxyXG5cclxuICAgIG9uQ2xpY2soKXtcclxuICAgICAgICBjYy5meC5Ob3RpZmljYXRpb25zLmVtaXQoY2MuZnguTWVzc2FnZS5ndWlkZU5leHQpO1xyXG4gICAgfVxyXG5cclxuICAgIC8vIHVwZGF0ZSAoZHQpIHt9XHJcbn1cclxuIl19 //------QC-SOURCE-SPLIT------ (function() { @@ -5213,7 +1645,7 @@ cc._RF.pop(); (function() { var nodeEnv = typeof require !== 'undefined' && typeof process !== 'undefined'; var __module = nodeEnv ? module : {exports:{}}; - var __filename = 'preview-scripts/assets/Script/module/Storage/Storage.js'; + var __filename = 'preview-scripts/assets/migration/use_v2.1-2.2.1_cc.Toggle_event.js'; var __require = nodeEnv ? function (request) { return cc.require(request); } : function (request) { @@ -5221,37 +1653,27 @@ cc._RF.pop(); }; function __define (exports, require, module) { if (!nodeEnv) {__quick_compile_project__.registerModule(__filename, module);}"use strict"; -cc._RF.push(module, '1002938VFRJd70RiAno9Iys', 'Storage'); -// Script/module/Storage/Storage.ts +cc._RF.push(module, '7a231Rz0d9LBYYgY3bDYlLB', 'use_v2.1-2.2.1_cc.Toggle_event'); +// migration/use_v2.1-2.2.1_cc.Toggle_event.js "use strict"; -Object.defineProperty(exports, "__esModule", { value: true }); -exports.StorageMessage = void 0; -//缓存浏览器数据 -var StorageMessage = { - getStorage: function (key) { - var result = null; - if (cc.sys.localStorage.getItem(key)) { - var result = cc.sys.localStorage.getItem(key); - } - if (result) { - result = JSON.parse(result); - } - return result; - }, - setStorage: function (key, value) { - //主动拉起分享接口 - var temp = JSON.stringify(value); - cc.sys.localStorage.setItem(key, temp); - }, - removeStorage: function (key) { - //主动删除消息接口 - if (cc.sys.localStorage.getItem(key)) { - cc.sys.localStorage.removeItem(key); - } - }, -}; -exports.StorageMessage = StorageMessage; + +/* + * This script is automatically generated by Cocos Creator and is only used for projects compatible with the v2.1.0 ~ 2.2.1 version. + * You do not need to manually add this script in any other project. + * If you don't use cc.Toggle in your project, you can delete this script directly. + * If your project is hosted in VCS such as git, submit this script together. + * + * 此脚本由 Cocos Creator 自动生成,仅用于兼容 v2.1.0 ~ 2.2.1 版本的工程, + * 你无需在任何其它项目中手动添加此脚本。 + * 如果你的项目中没用到 Toggle,可直接删除该脚本。 + * 如果你的项目有托管于 git 等版本库,请将此脚本一并上传。 + */ +if (cc.Toggle) { + // Whether to trigger 'toggle' and 'checkEvents' events when modifying 'toggle.isChecked' in the code + // 在代码中修改 'toggle.isChecked' 时是否触发 'toggle' 与 'checkEvents' 事件 + cc.Toggle._triggerEventInScript_isChecked = true; +} cc._RF.pop(); } @@ -5264,13 +1686,13 @@ cc._RF.pop(); }); } })(); -//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbImFzc2V0c1xcU2NyaXB0XFxtb2R1bGVcXFN0b3JhZ2VcXFN0b3JhZ2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7Ozs7Ozs7Ozs7O0FBQUEsU0FBUztBQUNULElBQUksY0FBYyxHQUFHO0lBQ2pCLFVBQVUsRUFBRyxVQUFTLEdBQUc7UUFDckIsSUFBSSxNQUFNLEdBQUcsSUFBSSxDQUFDO1FBQ2xCLElBQUcsRUFBRSxDQUFDLEdBQUcsQ0FBQyxZQUFZLENBQUMsT0FBTyxDQUFDLEdBQUcsQ0FBQyxFQUFDO1lBQ2xDLElBQUksTUFBTSxHQUFHLEVBQUUsQ0FBQyxHQUFHLENBQUMsWUFBWSxDQUFDLE9BQU8sQ0FBQyxHQUFHLENBQUMsQ0FBQztTQUMvQztRQUVELElBQUcsTUFBTSxFQUFDO1lBQ1IsTUFBTSxHQUFHLElBQUksQ0FBQyxLQUFLLENBQUMsTUFBTSxDQUFDLENBQUM7U0FDN0I7UUFDRCxPQUFPLE1BQU0sQ0FBQztJQUNsQixDQUFDO0lBQ0QsVUFBVSxFQUFHLFVBQVMsR0FBRyxFQUFDLEtBQUs7UUFDM0IsVUFBVTtRQUNWLElBQUksSUFBSSxHQUFHLElBQUksQ0FBQyxTQUFTLENBQUMsS0FBSyxDQUFDLENBQUM7UUFDakMsRUFBRSxDQUFDLEdBQUcsQ0FBQyxZQUFZLENBQUMsT0FBTyxDQUFDLEdBQUcsRUFBRSxJQUFJLENBQUMsQ0FBQTtJQUMxQyxDQUFDO0lBQ0QsYUFBYSxFQUFHLFVBQVMsR0FBRztRQUMxQixVQUFVO1FBQ1YsSUFBRyxFQUFFLENBQUMsR0FBRyxDQUFDLFlBQVksQ0FBQyxPQUFPLENBQUMsR0FBRyxDQUFDLEVBQUM7WUFDbEMsRUFBRSxDQUFDLEdBQUcsQ0FBQyxZQUFZLENBQUMsVUFBVSxDQUFDLEdBQUcsQ0FBQyxDQUFBO1NBQ3BDO0lBQ0gsQ0FBQztDQUNKLENBQUM7QUFFTyx3Q0FBYyIsImZpbGUiOiIiLCJzb3VyY2VSb290IjoiLyIsInNvdXJjZXNDb250ZW50IjpbIi8v57yT5a2Y5rWP6KeI5Zmo5pWw5o2uXG52YXIgU3RvcmFnZU1lc3NhZ2UgPSB7XG4gICAgZ2V0U3RvcmFnZSA6IGZ1bmN0aW9uKGtleSl7XG4gICAgICAgIHZhciByZXN1bHQgPSBudWxsO1xuICAgICAgICBpZihjYy5zeXMubG9jYWxTdG9yYWdlLmdldEl0ZW0oa2V5KSl7XG4gICAgICAgICAgdmFyIHJlc3VsdCA9IGNjLnN5cy5sb2NhbFN0b3JhZ2UuZ2V0SXRlbShrZXkpO1xuICAgICAgICB9XG4gICAgICAgIFxuICAgICAgICBpZihyZXN1bHQpe1xuICAgICAgICAgIHJlc3VsdCA9IEpTT04ucGFyc2UocmVzdWx0KTtcbiAgICAgICAgfVxuICAgICAgICByZXR1cm4gcmVzdWx0O1xuICAgIH0sXG4gICAgc2V0U3RvcmFnZSA6IGZ1bmN0aW9uKGtleSx2YWx1ZSl7XG4gICAgICAgIC8v5Li75Yqo5ouJ6LW35YiG5Lqr5o6l5Y+jXG4gICAgICAgIHZhciB0ZW1wID0gSlNPTi5zdHJpbmdpZnkodmFsdWUpO1xuICAgICAgICBjYy5zeXMubG9jYWxTdG9yYWdlLnNldEl0ZW0oa2V5LCB0ZW1wKVxuICAgIH0sXG4gICAgcmVtb3ZlU3RvcmFnZSA6IGZ1bmN0aW9uKGtleSl7XG4gICAgICAvL+S4u+WKqOWIoOmZpOa2iOaBr+aOpeWPo1xuICAgICAgaWYoY2Muc3lzLmxvY2FsU3RvcmFnZS5nZXRJdGVtKGtleSkpe1xuICAgICAgICBjYy5zeXMubG9jYWxTdG9yYWdlLnJlbW92ZUl0ZW0oa2V5KVxuICAgICAgfVxuICAgIH0sXG59O1xuXG5leHBvcnQgeyBTdG9yYWdlTWVzc2FnZSB9OyJdfQ== +//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbImFzc2V0c1xcbWlncmF0aW9uXFx1c2VfdjIuMS0yLjIuMV9jYy5Ub2dnbGVfZXZlbnQuanMiXSwibmFtZXMiOlsiY2MiLCJUb2dnbGUiLCJfdHJpZ2dlckV2ZW50SW5TY3JpcHRfaXNDaGVja2VkIl0sIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7Ozs7Ozs7OztBQUFBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFFQSxJQUFJQSxFQUFFLENBQUNDLE1BQVAsRUFBZTtBQUNYO0FBQ0E7QUFDQUQsRUFBQUEsRUFBRSxDQUFDQyxNQUFILENBQVVDLCtCQUFWLEdBQTRDLElBQTVDO0FBQ0giLCJzb3VyY2VSb290IjoiLyIsInNvdXJjZXNDb250ZW50IjpbIi8qXHJcbiAqIFRoaXMgc2NyaXB0IGlzIGF1dG9tYXRpY2FsbHkgZ2VuZXJhdGVkIGJ5IENvY29zIENyZWF0b3IgYW5kIGlzIG9ubHkgdXNlZCBmb3IgcHJvamVjdHMgY29tcGF0aWJsZSB3aXRoIHRoZSB2Mi4xLjAg772eIDIuMi4xIHZlcnNpb24uXHJcbiAqIFlvdSBkbyBub3QgbmVlZCB0byBtYW51YWxseSBhZGQgdGhpcyBzY3JpcHQgaW4gYW55IG90aGVyIHByb2plY3QuXHJcbiAqIElmIHlvdSBkb24ndCB1c2UgY2MuVG9nZ2xlIGluIHlvdXIgcHJvamVjdCwgeW91IGNhbiBkZWxldGUgdGhpcyBzY3JpcHQgZGlyZWN0bHkuXHJcbiAqIElmIHlvdXIgcHJvamVjdCBpcyBob3N0ZWQgaW4gVkNTIHN1Y2ggYXMgZ2l0LCBzdWJtaXQgdGhpcyBzY3JpcHQgdG9nZXRoZXIuXHJcbiAqXHJcbiAqIOatpOiEmuacrOeUsSBDb2NvcyBDcmVhdG9yIOiHquWKqOeUn+aIkO+8jOS7heeUqOS6juWFvOWuuSB2Mi4xLjAgfiAyLjIuMSDniYjmnKznmoTlt6XnqIvvvIxcclxuICog5L2g5peg6ZyA5Zyo5Lu75L2V5YW25a6D6aG555uu5Lit5omL5Yqo5re75Yqg5q2k6ISa5pys44CCXHJcbiAqIOWmguaenOS9oOeahOmhueebruS4reayoeeUqOWIsCBUb2dnbGXvvIzlj6/nm7TmjqXliKDpmaTor6XohJrmnKzjgIJcclxuICog5aaC5p6c5L2g55qE6aG555uu5pyJ5omY566h5LqOIGdpdCDnrYnniYjmnKzlupPvvIzor7flsIbmraTohJrmnKzkuIDlubbkuIrkvKDjgIJcclxuICovXHJcblxyXG5pZiAoY2MuVG9nZ2xlKSB7XHJcbiAgICAvLyBXaGV0aGVyIHRvIHRyaWdnZXIgJ3RvZ2dsZScgYW5kICdjaGVja0V2ZW50cycgZXZlbnRzIHdoZW4gbW9kaWZ5aW5nICd0b2dnbGUuaXNDaGVja2VkJyBpbiB0aGUgY29kZVxyXG4gICAgLy8g5Zyo5Luj56CB5Lit5L+u5pS5ICd0b2dnbGUuaXNDaGVja2VkJyDml7bmmK/lkKbop6blj5EgJ3RvZ2dsZScg5LiOICdjaGVja0V2ZW50cycg5LqL5Lu2XHJcbiAgICBjYy5Ub2dnbGUuX3RyaWdnZXJFdmVudEluU2NyaXB0X2lzQ2hlY2tlZCA9IHRydWU7XHJcbn1cclxuIl19 //------QC-SOURCE-SPLIT------ (function() { var nodeEnv = typeof require !== 'undefined' && typeof process !== 'undefined'; var __module = nodeEnv ? module : {exports:{}}; - var __filename = 'preview-scripts/assets/Script/module/Config/GameConfig.js'; + var __filename = 'preview-scripts/assets/Script/module/Tool/GameTool.js'; var __require = nodeEnv ? function (request) { return cc.require(request); } : function (request) { @@ -5278,243 +1700,335 @@ cc._RF.pop(); }; function __define (exports, require, module) { if (!nodeEnv) {__quick_compile_project__.registerModule(__filename, module);}"use strict"; -cc._RF.push(module, 'c5692vnhwNF5J9nI7VNKQNW', 'GameConfig'); -// Script/module/Config/GameConfig.ts +cc._RF.push(module, '43bfcJ6/25Fs4fHUE0PeBOX', 'GameTool'); +// Script/module/Tool/GameTool.ts "use strict"; -var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) { - var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d; - if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc); - else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r; - return c > 3 && r && Object.defineProperty(target, key, r), r; -}; Object.defineProperty(exports, "__esModule", { value: true }); -exports.GameConfig = void 0; -var share_1 = require("../Share/share"); -var _a = cc._decorator, ccclass = _a.ccclass, property = _a.property; -var GameConfig = /** @class */ (function () { - function GameConfig() { - } - GameConfig_1 = GameConfig; - Object.defineProperty(GameConfig, "Instance", { - //游戏内信息 - get: function () { - if (this._instance == null) { - this._instance = new GameConfig_1(); +exports.GameTool = void 0; +//最大工具类 各种公共方法,以及处理上传,获取后端接口数据 +var GameTool = { + _startTime: 0, + _endTime: 0, + _totalTime: 0, + //获取userId + Authentication: function () { + var name = "user_" + cc.fx.GameConfig.GM_INFO.gameId; + var data = JSON.parse(localStorage.getItem(name)); + if (data == "undifend" || data == null || data == "") { + var urlNow = window.location.href; + if (!this.containsTrain(urlNow)) { + var url = "https://api.sparkus.cn/api/user/auth/login?domain=hui32579WdYPsgYq&callback=" + location.href; + window.location.href = url; } - return this._instance; - }, - enumerable: false, - configurable: true - }); - //getSeedRandom - GameConfig.init = function (Authentication) { - this.CLICK_init(); - this.LEVEL_INFO_init(); - this.GM_INFO_init(); - var self = this; - // cc.resources.load('Json/CLICK_DATA', (err: any, res: cc.JsonAsset) => { - // if (err) { - // return; - // } - // let jsonData: object = res.json!; - // self.CLICK_DATA = jsonData["data"]; - // }) - // cc.resources.load('Json/LEVEL_INFO', (err: any, res: cc.JsonAsset) => { - // if (err) { - // return; - // } - // let jsonData: object = res.json!; - // self.LEVEL_INFO = jsonData["data"]; - // }) - // cc.resources.load('Json/GM_INFO', (err: any, res: cc.JsonAsset) => { - // if (err) { - // if(!Authentication) self.Authentication(); - // return; - // } - // let jsonData: object = res.json!; - // self.GM_INFO = jsonData["data"]; - // cc.fx.GameTool.getCustom(false); - // if(!Authentication) self.Authentication(); - // }) - //GAME_DATA 废弃了,暂时不删除以防后面修改回 一整局传一次 - this.GAME_DATA = []; - this.CUSTOM_INFO = [ - //第一难度 - { - moveSpeed: 0, - waitTime: 20, - fastPath: 5 //最短路径 - }, - //第二难度 - { - moveSpeed: 0, - waitTime: 20, - fastPath: 5 //最短路径 - }, - //第三难度 - { - moveSpeed: 0, - waitTime: 20, - fastPath: 5 //最短路径 - }, - //第四难度 - { - moveSpeed: 0, - waitTime: 20, - fastPath: 5 //最短路径 - }, - //第五难度 - { - moveSpeed: 0, - waitTime: 20, - fastPath: 5 //最短路径 - }, - //第六难度 - { - moveSpeed: 0, - waitTime: 20, - fastPath: 5 //最短路径 - }, - //第七难度 - { - moveSpeed: 0, - waitTime: 20, - fastPath: 5 //最短路径 - }, - //第八难度 - { - moveSpeed: 0, - waitTime: 20, - fastPath: 5 //最短路径 - }, - //第九难度 - { - moveSpeed: 0, - waitTime: 20, - fastPath: 5 //最短路径 - }, - //第十难度 - { - moveSpeed: 0, - waitTime: 20, - fastPath: 5 //最短路径 + } + else { + cc.fx.StorageMessage.setStorage(name, data); + cc.fx.GameConfig.GM_INFO.userId = parseInt(data.userId); + } + }, + containsTrain: function (str) { + return /from=train/i.test(str); + }, + //埋点上传 + setGameData: function () { + //GAME_DATA 初始化 每次清零 + cc.fx.GameConfig.GAME_DATA = []; + cc.fx.GameConfig.GAME_DATA.push(cc.fx.GameConfig.CLICK_DATA); + cc.fx.GameConfig.CLICK_init(); + var data = cc.fx.GameConfig.GAME_DATA; + var matchId = this.getMatchId(); + var postData = { + "gameId": cc.fx.GameConfig.GM_INFO.gameId, + "userId": cc.fx.GameConfig.GM_INFO.userId, + "matchId": matchId, + "data": data + }; + // console.log("上传数据:",data); + cc.fx.HttpUtil.uploadUserLogData(postData, function () { }); + }, + //上传排行榜 type为1 + setRank: function (data) { + //GAME_DATA 初始化 每次清零 + var postData = { + "gameId": cc.fx.GameConfig.GM_INFO.gameId, + "userId": cc.fx.GameConfig.GM_INFO.userId, + "type": 1, + "score": data.score, + "accuracy": data.date, + "success": cc.fx.GameConfig.GM_INFO.success + }; + cc.fx.HttpUtil.rankData(1, function () { }, postData); + }, + //获取排行榜 type为2 + getRank: function (data, callback) { + var rankLength = data.length; + var postData = { + "gameId": cc.fx.GameConfig.GM_INFO.gameId, + "userId": cc.fx.GameConfig.GM_INFO.userId, + "page": 1, + "pageSize": rankLength + }; + //回调进getRankData + cc.fx.HttpUtil.rankData(2, function (data) { callback(data); }, postData); + }, + //获取matchId 用于上传每次点击数据里面记录id方便查询 + getMatchId: function () { + var matchId = cc.sys.localStorage.getItem("matchId"); + var tempId = matchId; + if (matchId == "undifend" || matchId == null) { + matchId = this.setMatchId(); + } + else { + if (this.containsNanana(matchId) == true) { + matchId = this.setMatchId(); + } + else { + var char = parseInt(tempId.substring(10, tempId.length)); + if (cc.fx.GameConfig.GM_INFO.level == 1) { + char += 1; + matchId = tempId.slice(0, 10) + char + ""; + if (this.containsNanana(matchId)) + matchId = this.setMatchId(); + cc.fx.GameConfig.GM_INFO.matchId = matchId; + cc.sys.localStorage.setItem("matchId", matchId); + } + } + } + if (this.containsNanana(matchId) == true) { + matchId = this.setMatchId(); + } + return matchId; + }, + //检测matchId 如果有缓存以前的nanana数据清除 + containsNanana: function (str) { + return /na/i.test(str); + }, + //重新设置MatchId + setMatchId: function () { + // 定义包含可用字符的字符集 + var characters = 'abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789'; + // 创建一个数组以保存随机字符 + var uuidArray = []; + // 循环10次 生成10位的UUID + for (var i = 0; i < 10; i++) { + // 生成随机索引,范围是字符集的长度 + var randomIndex = Math.floor(Math.random() * characters.length); + // 从字符集中获取随机字符 + var randomChar = characters.charAt(randomIndex); + // 将字符添加到数组中 + uuidArray.push(randomChar); + } + var data = uuidArray.join('') + 1 + ""; + cc.sys.localStorage.setItem("matchNumber", 1); + cc.sys.localStorage.setItem("matchId", data); + cc.fx.GameConfig.GM_INFO.matchId = data; + return data; + }, + //截取名字 + subName: function (name, length) { + if (name.length > length) { + name = name.substring(0, length) + "..."; + } + return name; + }, + //设置头像 + setPic: function (node, pic) { + node.active = false; + var url = pic; + setTimeout(function () { + fetch(url) + .then(function (response) { + return response.headers.get('Content-Length'); + }) + .then(function (errNo) { + if (errNo == "5093") { + node.active = true; + } + }) + .catch(function (error) { + // console.error('Error fetching X-Info:', error); + }); + }, 100); + cc.assetManager.loadRemote(url, { ext: '.png' }, function (err, texture) { + if (texture) { + node.active = true; + node.getComponent(cc.Sprite).spriteFrame = new cc.SpriteFrame(texture); + } + else { + console.log(err, texture); + } + }); + }, + //第一个参数把目标带进来处理,第二个参数为名字长度,不同场景不同需求 + //名字4短,小排行,名字6长,大排行 + getRankData: function (data, target, nameLength) { + target.listData = data.data.list; + target.selfData = data.data.info; + var rankData = []; + var self = false; + cc.fx.GameTool.setPic(target.selfNode.getChildByName("pic").getChildByName("icon"), target.selfData.pic); + for (var i = 0; i <= target.listData.length - 1; i++) { + rankData.push({ rank: (i + 1), name: target.listData[i].nickName, total: target.listData[i].score, time: null, pic: target.listData[i].pic }); + if (cc.fx.GameConfig.GM_INFO.userId == target.listData[i].userId) { + self = true; + target.rankNumber = i; + target.selfNode.getChildByName("rankLab").getComponent(cc.Label).string = (i + 1) + ""; + } + if (i == (target.listData.length - 1) && self == false) { + target.rankNumber = i; + target.selfNode.getChildByName("rankLab").getComponent(cc.Label).string = "99+"; + } + } + cc.fx.GameTool.subName(target.selfData.nickName, nameLength); + target.selfNode.getChildByName("nameLab").getComponent(cc.Label).string = target.selfData.nickName; + target.selfNode.getChildByName("totalLab").getComponent(cc.Label).string = target.selfData.score; + var timeTemp = cc.fx.GameTool.getTimeShenNong(target.selfData.totleTimes); + // target.selfNode.getChildByName("timeLab").getComponent(cc.Label).string = timeTemp + ""; + switch (target.selfNode.getChildByName("rankLab").getComponent(cc.Label).string) { + case "1": + target.selfNode.getChildByName("rank").getChildByName("one").active = true; + break; + case "2": + target.selfNode.getChildByName("rank").getChildByName("two").active = true; + break; + case "3": + target.selfNode.getChildByName("rank").getChildByName("three").active = true; + break; + } + // 大排行 + if (nameLength == 6) { + target.rankList.setData(rankData); + target.selfNode.opacity = 255; + if (target.selfData.totalSunCount == 0) + target.selfNode.opacity = 0; + } + }, + getSeedRandom: function (min, max) { + console.log("随机数:", cc.fx.GameConfig.GM_INFO.currSeed); + max = max || 1; + min = min || 0; + cc.fx.GameConfig.GM_INFO.currSeed = (cc.fx.GameConfig.GM_INFO.currSeed * 9301 + 49297) % 233280; + var rnd = cc.fx.GameConfig.GM_INFO.currSeed / 233280.0; + var tmp = min + rnd * (max - min); + return parseInt(tmp); + }, + //获取关卡配置的那个关卡数 + getCustom: function (type) { + var custom = cc.fx.StorageMessage.getStorage(cc.fx.storageType.storageTypeCustom); + if (custom == "undifend" || custom == null || custom == "") { + this.setCustom(); + } + else { + cc.fx.GameConfig.GM_INFO_SET("custom", custom[0]); + if (custom[0] != 0 || type == true) { + custom.shift(); + if (custom.length == 0) { + this.setCustom(); + } + else + cc.fx.StorageMessage.setStorage(cc.fx.storageType.storageTypeCustom, custom); + } + } + }, + //本地没有存储到配置,或者配置用完,重新创建配置 + setCustom: function () { + var arrayLength = cc.fx.GameConfig.LEVEL_INFO.length; + var arrayList = []; + for (var i = 1; i < arrayLength; i++) { + arrayList.push(i); + } + arrayList.sort(function () { return Math.random() - 0.5; }); + arrayList.unshift(0); + cc.fx.GameConfig.GM_INFO_SET("custom", arrayList[0]); + cc.fx.StorageMessage.setStorage(cc.fx.storageType.storageTypeCustom, arrayList); + }, + getSetScreenResolutionFlag: function () { + var size = cc.winSize; + var width = size.width; + var height = size.height; + if ((height / width) > (16.2 / 9)) + return false; + return true; + }, + //判断全面屏适配 + setFit: function (canvas) { + var flag = cc.fx.GameTool.getSetScreenResolutionFlag(); + if (flag) { + // console.log("不是全面屏"); + } + else { + // console.log("是全面屏"); + } + return flag; + }, + //获取游戏信息 + getGameInfo: function (node) { + var jg = false; + return jg; + }, + //设置游戏信息 + setGameInfo: function (pd) { + }, + //打字机效果 + typingAni: function (label, text, cb, target) { + var self = target; + var html = ''; + var arr = text.split(''); + var len = arr.length; + var step = 0; + self.func = function () { + html += arr[step]; + label.string = html; + if (++step == len) { + self.unschedule(self.func); + cb && cb(); } - ]; - share_1.WeChat.setShare(location.href); - if (!Authentication) - self.Authentication(); - }; - //数据备用 - GameConfig.GM_INFO_init = function () { - this.GM_INFO = { - // isEnd: false, - mean_Time: 0, - total: 0, - currSeed: 200000, - gameId: "100012", - userId: 0, - guide: false, - url: "https://api.sparkus.cn", - success: false, - matchId: null, - custom: 0, - round: 0, - level: 6, - stepTimeList: 0, - successList: [], - fen: 0, - score: 0, - igniteCount: 0, - min_Steps: 15, - min_Time: 5 //每一把上次距离洪峰到来时间 }; - }; - GameConfig.GM_INFO_SET = function (key, value) { - this.GM_INFO[key] = value; - }; - GameConfig.CLICK_init = function () { - this.CLICK_DATA = - { - type: 1, - success: false, - round: 0, - getScore: 0, - cumulativeScore: 0, - mapId: "", - difficulty: 0, - optimizedSteps: 0, - usedSteps: 0, - stepList: [], - startTime: -1, - submitTime: -1, - duration: 0, - drawingBack: 0, - drawingReset: 0, - timer: 0, - }; - }; - GameConfig.CLICK_SET = function (key, value) { - this.CLICK_DATA[key] = value; - }; - GameConfig.LEVEL_INFO_init = function () { - this.TIME_INFO = { - waterSpeed: [0.3, 0.25, 0.2, 0.18, 0.16, 0.14, 0.12, 0.1], - totalTime: 120, - waterTime: [10, 12, 14, 16, 18, 20, 20, 20], - roadSpeed: 0.2, - ReinforceSpeed: 0.2, - Xi_SoilSpeed: 0.2, - }; - /* - moveSpeed: 0, //洪峰移动速度 - waitTime: 20, //洪峰冲击倒计时 - fastPath: 5 //最短路径 - */ - // this.LEVEL_INFO = [ - // [ - // { - // "id": 1001, - // "map": [ - // [0,0,0,0,0,0], - // [0,0,0,0,0,4], - // [0,0,3,0,3,0], - // [0,0,0,0,0,0], - // [0,0,0,3,0,0], - // [0,0,0,0,0,0], - // [0,0,2,0,0,0], - // [0,0,0,0,0,0], - // [1,0,0,0,0,0] - // ] - // }, - // { - // "id": 1002, - // "map": [ - // [0,0,0,0,0,0,0,0,4], - // [0,0,0,0,0,0,0,0,0], - // [0,0,0,0,0,0,0,0,0], - // [0,0,0,0,0,0,0,0,0], - // [0,0,0,0,0,0,0,0,0], - // [0,1,0,0,0,0,0,0,0] - // ] - // } - // ], - // ] - this.LEVEL_INFO = [[{ "id": "1001", "map": [[0, 4, 0, 0], [0, 0, 0, 0], [0, 0, 0, 0], [0, 0, 1, 0]], "min_steps": 3 }, { "id": "1002", "map": [[1, 0, 0, 0], [0, 0, 0, 4], [0, 0, 0, 0], [0, 0, 0, 0]], "min_steps": 3 }, { "id": "1004", "map": [[1, 0, 0, 0], [0, 0, 0, 0], [0, 0, 0, 0], [0, 4, 0, 0]], "min_steps": 3 }, { "id": "1006", "map": [[4, 0, 0, 0], [0, 0, 0, 0], [0, 0, 0, 0], [0, 1, 0, 0]], "min_steps": 3 }, { "id": "1003", "map": [[1, 0, 0, 0], [0, 0, 0, 0], [0, 0, 0, 0], [0, 0, 0, 4]], "min_steps": 4 }, { "id": "1005", "map": [[1, 0, 0, 0], [0, 0, 0, 0], [0, 0, 0, 4], [0, 0, 0, 0]], "min_steps": 4 }, { "id": "1007", "map": [[0, 4, 0, 0], [0, 0, 0, 0], [0, 0, 0, 0], [0, 0, 0, 1]], "min_steps": 4 }, { "id": "1008", "map": [[0, 0, 0, 4], [0, 0, 0, 0], [0, 0, 0, 0], [1, 0, 0, 0]], "min_steps": 4 }], [{ "id": "2001", "map": [[0, 0, 0, 0, 1], [0, 0, 0, 0, 0], [0, 0, 3, 0, 3], [0, 0, 0, 0, 0], [4, 0, 0, 0, 3]], "min_steps": 4 }, { "id": "2002", "map": [[0, 1, 0, 0, 0], [0, 0, 0, 0, 0], [3, 3, 0, 0, 4], [0, 0, 0, 0, 0], [3, 0, 0, 0, 0]], "min_steps": 4 }, { "id": "2009", "map": [[0, 3, 0, 0, 4], [3, 0, 0, 0, 0], [0, 0, 0, 0, 0], [1, 0, 0, 0, 0], [0, 3, 0, 0, 0]], "min_steps": 4 }, { "id": "2010", "map": [[0, 0, 0, 0, 1], [0, 0, 0, 0, 0], [0, 0, 0, 0, 0], [0, 3, 0, 3, 0], [4, 0, 3, 0, 0]], "min_steps": 4 }, { "id": "2011", "map": [[4, 3, 1, 0, 0], [0, 0, 0, 0, 3], [0, 0, 0, 3, 0], [0, 0, 0, 0, 0], [0, 0, 0, 0, 0]], "min_steps": 4 }, { "id": "2021", "map": [[0, 0, 0, 1, 0], [0, 0, 3, 0, 0], [0, 0, 0, 3, 3], [0, 0, 0, 0, 0], [0, 4, 0, 0, 0]], "min_steps": 4 }, { "id": "2004", "map": [[1, 0, 0, 0, 0], [0, 0, 0, 0, 3], [3, 0, 0, 0, 0], [0, 0, 0, 0, 0], [0, 0, 0, 0, 4]], "min_steps": 5 }, { "id": "2012", "map": [[0, 3, 0, 4, 0], [0, 0, 0, 3, 0], [1, 0, 3, 0, 0], [0, 0, 0, 0, 0], [0, 0, 0, 0, 0]], "min_steps": 5 }, { "id": "2013", "map": [[0, 0, 0, 0, 0], [1, 0, 0, 0, 0], [0, 0, 0, 3, 3], [3, 0, 0, 0, 0], [0, 0, 0, 4, 0]], "min_steps": 5 }, { "id": "2014", "map": [[3, 0, 1, 0, 0], [0, 3, 0, 0, 0], [0, 0, 0, 0, 0], [4, 0, 0, 3, 0], [0, 0, 0, 0, 0]], "min_steps": 5 }, { "id": "2015", "map": [[3, 0, 0, 0, 1], [3, 0, 0, 0, 0], [0, 0, 0, 0, 0], [4, 3, 0, 0, 0], [3, 0, 0, 0, 0]], "min_steps": 5 }, { "id": "2016", "map": [[0, 0, 0, 0, 0], [1, 0, 3, 0, 0], [3, 0, 0, 0, 3], [0, 0, 0, 0, 0], [0, 0, 0, 0, 4]], "min_steps": 5 }, { "id": "2017", "map": [[0, 3, 0, 0, 0], [4, 0, 0, 0, 0], [0, 0, 0, 0, 0], [3, 0, 3, 0, 0], [3, 0, 0, 0, 1]], "min_steps": 5 }, { "id": "2018", "map": [[0, 3, 4, 3, 3], [0, 0, 0, 0, 0], [0, 0, 0, 0, 0], [0, 0, 0, 0, 0], [0, 0, 3, 0, 1]], "min_steps": 5 }, { "id": "2019", "map": [[3, 0, 0, 4, 0], [0, 0, 0, 3, 0], [0, 0, 0, 0, 0], [0, 0, 0, 0, 0], [1, 0, 3, 0, 0]], "min_steps": 5 }, { "id": "2020", "map": [[4, 0, 3, 0, 1], [0, 0, 0, 0, 3], [0, 0, 0, 0, 0], [0, 0, 0, 0, 0], [0, 0, 3, 0, 0]], "min_steps": 5 }, { "id": "2003", "map": [[1, 0, 0, 3, 0], [0, 0, 3, 0, 0], [0, 0, 0, 0, 0], [0, 0, 0, 0, 0], [0, 3, 0, 4, 0]], "min_steps": 6 }, { "id": "2005", "map": [[0, 3, 0, 0, 0], [1, 0, 0, 0, 0], [0, 0, 0, 3, 0], [0, 0, 0, 0, 0], [0, 3, 0, 4, 0]], "min_steps": 6 }, { "id": "2006", "map": [[0, 1, 0, 0, 0], [0, 0, 0, 0, 3], [0, 0, 0, 0, 3], [0, 0, 0, 0, 0], [0, 0, 0, 3, 4]], "min_steps": 6 }, { "id": "2007", "map": [[3, 0, 0, 0, 1], [0, 0, 0, 0, 3], [0, 0, 0, 0, 0], [0, 0, 0, 0, 0], [4, 3, 0, 0, 0]], "min_steps": 6 }, { "id": "2008", "map": [[3, 4, 0, 0, 0], [0, 0, 0, 0, 3], [0, 0, 0, 3, 1], [0, 0, 0, 0, 0], [0, 0, 0, 0, 0]], "min_steps": 6 }, { "id": "2022", "map": [[0, 0, 0, 0, 0], [1, 3, 0, 0, 3], [0, 0, 0, 0, 0], [0, 0, 0, 0, 0], [0, 0, 3, 4, 0]], "min_steps": 6 }], [{ "id": "3001", "map": [[3, 0, 2, 3, 4], [0, 0, 0, 2, 2], [2, 3, 3, 3, 3], [0, 0, 2, 0, 2], [1, 0, 2, 3, 0]], "min_steps": 5 }, { "id": "3002", "map": [[3, 0, 3, 2, 0], [1, 2, 0, 3, 2], [2, 3, 0, 0, 4], [2, 0, 2, 2, 0], [3, 3, 0, 3, 0]], "min_steps": 5 }, { "id": "3003", "map": [[0, 2, 3, 3, 4], [2, 2, 0, 0, 0], [1, 3, 3, 3, 2], [2, 2, 3, 2, 3], [0, 0, 0, 0, 0]], "min_steps": 5 }, { "id": "3004", "map": [[3, 2, 2, 1, 0], [0, 0, 3, 2, 2], [3, 0, 2, 3, 0], [3, 0, 0, 3, 3], [0, 2, 4, 0, 2]], "min_steps": 5 }, { "id": "3005", "map": [[3, 0, 3, 0, 0], [2, 3, 0, 0, 1], [0, 2, 2, 2, 3], [4, 2, 0, 0, 2], [3, 3, 0, 3, 2]], "min_steps": 5 }, { "id": "3008", "map": [[3, 3, 3, 0, 1], [0, 0, 0, 0, 3], [2, 2, 3, 2, 2], [0, 2, 3, 0, 3], [4, 2, 2, 0, 0]], "min_steps": 5 }, { "id": "3009", "map": [[1, 0, 3, 3, 2], [3, 0, 2, 0, 0], [0, 3, 3, 2, 4], [0, 0, 3, 0, 2], [2, 2, 2, 0, 3]], "min_steps": 5 }, { "id": "3010", "map": [[3, 0, 2, 0, 4], [1, 2, 3, 0, 3], [2, 0, 3, 2, 0], [0, 3, 0, 0, 3], [2, 0, 2, 3, 2]], "min_steps": 5 }, { "id": "3006", "map": [[2, 0, 2, 2, 0], [1, 2, 3, 0, 0], [3, 3, 0, 3, 2], [3, 0, 0, 3, 2], [2, 0, 3, 0, 4]], "min_steps": 6 }, { "id": "3007", "map": [[1, 2, 0, 3, 3], [2, 2, 0, 2, 0], [2, 3, 2, 0, 3], [0, 3, 2, 0, 4], [0, 0, 3, 0, 3]], "min_steps": 6 }, { "id": "3011", "map": [[2, 3, 0, 1, 0], [0, 0, 0, 0, 0], [3, 0, 0, 0, 3], [0, 2, 0, 3, 2], [4, 3, 3, 2, 2]], "min_steps": 6 }, { "id": "3012", "map": [[0, 2, 1, 0, 3], [0, 3, 0, 0, 3], [3, 2, 3, 2, 0], [0, 2, 0, 3, 0], [2, 0, 0, 0, 4]], "min_steps": 6 }, { "id": "3013", "map": [[0, 2, 1, 0, 3], [0, 3, 0, 0, 3], [3, 2, 3, 2, 0], [0, 2, 0, 3, 0], [2, 0, 0, 0, 4]], "min_steps": 6 }, { "id": "3014", "map": [[1, 0, 3, 3, 4], [2, 3, 0, 3, 0], [0, 2, 2, 0, 0], [3, 3, 0, 0, 2], [2, 0, 0, 0, 0]], "min_steps": 6 }, { "id": "3015", "map": [[2, 3, 0, 0, 0], [0, 0, 2, 3, 0], [4, 0, 3, 0, 3], [2, 0, 2, 2, 3], [0, 3, 0, 0, 1]], "min_steps": 6 }, { "id": "3016", "map": [[3, 0, 2, 0, 2], [2, 0, 0, 0, 3], [0, 2, 3, 0, 1], [4, 0, 0, 3, 0], [3, 3, 0, 0, 2]], "min_steps": 6 }, { "id": "3017", "map": [[0, 3, 0, 0, 2], [3, 0, 2, 0, 4], [1, 3, 3, 0, 0], [2, 0, 0, 2, 0], [3, 2, 3, 0, 0]], "min_steps": 6 }, { "id": "3018", "map": [[4, 2, 0, 0, 0], [0, 0, 0, 3, 2], [0, 3, 0, 0, 3], [3, 2, 3, 2, 0], [3, 0, 2, 1, 0]], "min_steps": 7 }, { "id": "3019", "map": [[0, 4, 0, 3, 2], [0, 2, 0, 0, 0], [3, 0, 3, 0, 2], [3, 3, 2, 3, 1], [2, 0, 0, 0, 0]], "min_steps": 7 }, { "id": "3020", "map": [[0, 2, 0, 1, 0], [0, 0, 0, 3, 2], [3, 0, 3, 3, 3], [3, 0, 0, 0, 2], [0, 2, 2, 4, 0]], "min_steps": 7 }, { "id": "3021", "map": [[3, 2, 0, 2, 1], [3, 2, 0, 3, 2], [3, 0, 0, 2, 3], [0, 0, 0, 0, 4], [0, 0, 3, 0, 0]], "min_steps": 7 }, { "id": "3022", "map": [[2, 0, 2, 2, 2], [0, 0, 3, 0, 0], [3, 0, 3, 0, 0], [1, 0, 3, 2, 4], [0, 0, 3, 3, 0]], "min_steps": 7 }, { "id": "3023", "map": [[1, 2, 0, 2, 0], [3, 3, 3, 0, 0], [0, 2, 3, 2, 0], [4, 0, 0, 0, 3], [0, 0, 2, 0, 3]], "min_steps": 7 }, { "id": "3024", "map": [[1, 0, 3, 0, 3], [2, 2, 0, 0, 0], [0, 3, 0, 3, 0], [2, 0, 3, 2, 0], [2, 3, 0, 4, 0]], "min_steps": 7 }], [{ "id": "4001", "map": [[1, 3, 0, 0, 2, 0], [0, 3, 0, 0, 2, 0], [0, 0, 2, 0, 3, 4], [0, 0, 0, 2, 0, 0], [3, 3, 0, 0, 2, 0, 3], [0, 0, 2, 2, 2, 0]], "min_steps": 5 }, { "id": "4002", "map": [[0, 2, 2, 2, 2, 0], [1, 0, 0, 0, 2, 0], [0, 0, 0, 0, 0, 3], [0, 0, 0, 0, 2, 0], [0, 3, 3, 0, 2, 0], [3, 0, 0, 4, 2, 0]], "min_steps": 5 }, { "id": "4003", "map": [[0, 0, 0, 0, 0, 0], [2, 0, 0, 0, 0, 2], [0, 3, 3, 3, 2, 4], [0, 3, 0, 3, 2, 0], [0, 0, 0, 0, 0, 3], [0, 0, 2, 3, 0, 1]], "min_steps": 6 }, { "id": "4004", "map": [[2, 0, 3, 0, 0, 4], [0, 2, 3, 3, 0, 0], [0, 3, 0, 0, 0, 0], [3, 0, 0, 0, 2, 2], [3, 0, 0, 2, 0, 0], [1, 0, 0, 3, 0, 0]], "min_steps": 6 }, { "id": "4006", "map": [[4, 3, 0, 3, 0, 0], [0, 2, 0, 3, 0, 0], [3, 0, 0, 0, 3, 2], [0, 3, 0, 0, 2, 1], [0, 0, 2, 0, 0, 0], [0, 0, 0, 0, 2, 3]], "min_steps": 7 }, { "id": "4007", "map": [[4, 2, 2, 0, 2, 0], [0, 3, 0, 2, 0, 0], [0, 2, 3, 0, 3, 0], [0, 0, 3, 0, 0, 3], [0, 0, 3, 0, 0, 0], [0, 0, 0, 3, 0, 1]], "min_steps": 7 }, { "id": "4014", "map": [[0, 0, 3, 0, 2, 2], [0, 2, 3, 0, 0, 1], [0, 3, 3, 0, 0, 3], [0, 2, 0, 0, 0, 0], [0, 0, 0, 3, 3, 0], [2, 0, 4, 0, 0, 0]], "min_steps": 7 }, { "id": "4015", "map": [[2, 0, 0, 0, 0, 0], [0, 0, 0, 0, 3, 1], [3, 0, 2, 0, 0, 3], [2, 0, 0, 2, 3, 0], [3, 0, 3, 0, 0, 0], [2, 0, 0, 3, 4, 0]], "min_steps": 7 }, { "id": "4005", "map": [[1, 0, 0, 0, 0, 2], [0, 0, 0, 2, 0, 0], [3, 2, 0, 0, 0, 0], [0, 3, 0, 0, 2, 3], [0, 0, 3, 3, 0, 0], [3, 0, 0, 2, 3, 4]], "min_steps": 8 }, { "id": "4008", "map": [[0, 0, 2, 3, 0, 0], [0, 3, 0, 2, 3, 2], [3, 0, 0, 0, 0, 0], [0, 3, 0, 0, 3, 4], [0, 0, 0, 0, 0, 3], [0, 2, 0, 2, 0, 1]], "min_steps": 8 }, { "id": "4009", "map": [[0, 3, 3, 0, 0, 4], [2, 0, 0, 3, 0, 0], [2, 0, 0, 3, 0, 0], [1, 0, 0, 0, 3, 0], [0, 0, 2, 3, 0, 2], [2, 3, 0, 0, 0, 0]], "min_steps": 8 }, { "id": "4010", "map": [[0, 0, 1, 3, 2, 0], [3, 0, 0, 0, 3, 2], [3, 0, 0, 0, 0, 3], [2, 0, 0, 0, 0, 0], [0, 2, 0, 0, 3, 0], [0, 2, 0, 3, 4, 0]], "min_steps": 8 }, { "id": "4011", "map": [[1, 0, 0, 0, 0, 0], [3, 3, 0, 0, 0, 2], [0, 0, 0, 3, 0, 2], [2, 0, 3, 0, 3, 0], [2, 0, 3, 0, 0, 3], [4, 0, 0, 0, 0, 2]], "min_steps": 8 }, { "id": "4016", "map": [[0, 0, 3, 0, 0, 1], [2, 3, 0, 0, 3, 0], [2, 0, 0, 0, 0, 2], [0, 3, 0, 0, 0, 0], [0, 3, 0, 0, 2, 0], [0, 4, 3, 0, 2, 3]], "min_steps": 8 }, { "id": "4017", "map": [[1, 2, 3, 0, 3, 2], [3, 0, 0, 0, 0, 0], [0, 0, 0, 0, 0, 3], [3, 3, 0, 3, 2, 0], [0, 2, 0, 0, 0, 0], [4, 0, 0, 2, 0, 0]], "min_steps": 8 }, { "id": "4018", "map": [[0, 0, 1, 0, 2, 0], [0, 0, 0, 0, 0, 0], [0, 0, 3, 2, 3, 0], [3, 0, 0, 3, 0, 0], [2, 3, 0, 2, 0, 0], [4, 2, 0, 3, 3, 0]], "min_steps": 8 }, { "id": "4012", "map": [[2, 2, 3, 0, 2, 0], [0, 3, 0, 0, 0, 0], [0, 0, 0, 0, 3, 4], [0, 2, 0, 3, 0, 3], [0, 0, 0, 0, 0, 0], [0, 0, 2, 3, 3, 1]], "min_steps": 9 }, { "id": "4013", "map": [[0, 0, 0, 0, 3, 0], [4, 2, 0, 3, 0, 0], [3, 2, 0, 0, 0, 0], [1, 3, 0, 3, 0, 0], [2, 0, 0, 2, 0, 0], [3, 0, 0, 3, 2, 0]], "min_steps": 9 }, { "id": "4019", "map": [[3, 4, 0, 0, 0, 2], [3, 2, 0, 0, 2, 0], [0, 3, 0, 3, 0, 2], [0, 0, 3, 0, 0, 0], [0, 0, 0, 0, 3, 0], [1, 3, 0, 0, 0, 2]], "min_steps": 9 }, { "id": "4020", "map": [[0, 2, 0, 1, 0, 0], [2, 3, 0, 0, 2, 0], [3, 0, 0, 0, 0, 0], [0, 3, 3, 0, 0, 3], [2, 0, 0, 3, 0, 0], [4, 3, 0, 0, 0, 2]], "min_steps": 9 }], [{ "id": "5001", "map": [[1, 0, 0, 0, 0, 0], [0, 2, 2, 3, 0, 2], [3, 2, 0, 0, 3, 3], [0, 0, 0, 0, 0, 4], [0, 0, 0, 2, 2, 0], [3, 0, 2, 2, 0, 0]], "min_steps": 7 }, { "id": "5002", "map": [[0, 0, 0, 0, 4, 3], [3, 2, 3, 0, 0, 0], [0, 2, 0, 2, 3, 0], [2, 2, 0, 0, 0, 0], [3, 2, 0, 0, 0, 0], [3, 0, 0, 2, 0, 3], [2, 0, 0, 3, 0, 1]], "min_steps": 7 }, { "id": "5015", "map": [[1, 2, 3, 2, 2, 0], [3, 0, 0, 0, 0, 3], [0, 0, 0, 0, 0, 0], [0, 0, 0, 0, 0, 2], [0, 3, 0, 3, 2, 0], [0, 0, 0, 0, 0, 0], [0, 2, 0, 4, 0, 3]], "min_steps": 7 }, { "id": "5016", "map": [[3, 0, 1, 0, 0, 0], [0, 2, 0, 2, 0, 0], [0, 2, 0, 2, 0, 3], [0, 0, 0, 0, 0, 0], [0, 2, 0, 0, 3, 3], [0, 0, 0, 0, 2, 3], [0, 0, 0, 3, 0, 4]], "min_steps": 7 }, { "id": "5004", "map": [[0, 3, 3, 2, 3, 0], [2, 0, 2, 0, 3, 0], [1, 0, 3, 2, 0, 0], [3, 3, 0, 0, 0, 2], [0, 0, 0, 0, 0, 0], [0, 2, 0, 0, 0, 0], [0, 0, 0, 3, 4, 0]], "min_steps": 8 }, { "id": "5005", "map": [[0, 0, 0, 0, 0, 1], [0, 0, 2, 0, 2, 0], [3, 2, 2, 0, 0, 0], [3, 0, 0, 3, 0, 0], [3, 3, 0, 0, 0, 3], [4, 3, 0, 0, 0, 0], [2, 0, 0, 2, 3, 0]], "min_steps": 8 }, { "id": "5008", "map": [[3, 0, 3, 2, 0, 4], [0, 3, 0, 2, 0, 2], [0, 0, 3, 0, 0, 0], [2, 0, 0, 2, 0, 0], [0, 0, 3, 0, 0, 0], [0, 0, 0, 3, 0, 0], [3, 2, 1, 3, 0, 0]], "min_steps": 8 }, { "id": "5012", "map": [[2, 3, 0, 2, 0, 1], [2, 0, 0, 0, 0, 0], [2, 0, 0, 3, 0, 2], [3, 0, 3, 0, 0, 3], [0, 0, 0, 0, 3, 3], [3, 0, 0, 0, 2, 0], [0, 0, 0, 0, 0, 4]], "min_steps": 8 }, { "id": "5013", "map": [[0, 0, 2, 1, 2, 0], [0, 3, 0, 0, 0, 0], [2, 0, 0, 0, 0, 0], [0, 0, 0, 3, 0, 0], [3, 0, 0, 2, 3, 0], [3, 3, 3, 2, 0, 2], [0, 0, 4, 0, 0, 3]], "min_steps": 8 }, { "id": "5018", "map": [[0, 2, 0, 1, 0, 0], [2, 0, 0, 3, 0, 0], [0, 0, 0, 0, 0, 0], [3, 0, 0, 0, 0, 0], [2, 3, 0, 2, 3, 3], [2, 0, 0, 0, 0, 2], [4, 3, 0, 0, 0, 0]], "min_steps": 8 }, { "id": "5019", "map": [[1, 3, 0, 2, 3, 0], [0, 0, 0, 0, 0, 2], [0, 0, 0, 0, 0, 0], [0, 0, 2, 0, 0, 2], [3, 3, 0, 3, 0, 2], [4, 0, 2, 0, 0, 0], [0, 0, 0, 3, 0, 0]], "min_steps": 8 }, { "id": "5029", "map": [[4, 3, 0, 0, 0, 0], [2, 0, 0, 3, 0, 2], [3, 2, 0, 3, 3, 0], [2, 0, 0, 3, 0, 0], [0, 2, 0, 0, 0, 0], [2, 0, 0, 0, 0, 0], [3, 0, 3, 3, 0, 1]], "min_steps": 8 }, { "id": "5030", "map": [[0, 0, 0, 0, 0, 0], [0, 0, 2, 3, 2, 0], [0, 3, 0, 0, 0, 0], [2, 2, 0, 3, 0, 0], [0, 3, 3, 0, 3, 4], [0, 0, 2, 0, 0, 3], [3, 1, 0, 3, 0, 2]], "min_steps": 8 }, { "id": "5006", "map": [[0, 3, 0, 0, 0, 0], [1, 0, 0, 0, 3, 0], [0, 0, 3, 2, 0, 0], [3, 0, 0, 2, 2, 0], [0, 3, 0, 3, 3, 0], [0, 2, 0, 0, 0, 0], [4, 0, 3, 0, 2, 2]], "min_steps": 9 }, { "id": "5007", "map": [[0, 2, 0, 3, 0, 0], [1, 2, 0, 2, 0, 0], [0, 3, 0, 3, 0, 0], [3, 0, 0, 0, 0, 3], [0, 0, 3, 2, 0, 2], [4, 0, 0, 3, 0, 3], [0, 2, 0, 0, 0, 0]], "min_steps": 9 }, { "id": "5010", "map": [[0, 3, 1, 0, 0, 0], [0, 2, 3, 3, 0, 0], [0, 2, 0, 3, 0, 0], [0, 2, 0, 2, 0, 3], [0, 2, 0, 0, 3, 0], [0, 3, 0, 0, 0, 0], [0, 2, 4, 0, 0, 3]], "min_steps": 9 }, { "id": "5011", "map": [[1, 0, 3, 0, 3, 0], [0, 2, 0, 0, 0, 0], [2, 0, 2, 0, 3, 0], [0, 3, 2, 0, 0, 0], [3, 0, 0, 0, 0, 2], [4, 0, 3, 0, 0, 0], [3, 2, 0, 0, 0, 3]], "min_steps": 9 }, { "id": "5014", "map": [[0, 1, 0, 0, 0, 0], [2, 0, 2, 0, 0, 2], [2, 3, 0, 3, 0, 0], [0, 3, 0, 0, 0, 3], [0, 0, 0, 2, 0, 3], [0, 0, 3, 0, 3, 0], [2, 0, 3, 0, 0, 4]], "min_steps": 9 }, { "id": "5017", "map": [[0, 0, 0, 0, 0, 0], [1, 2, 3, 0, 0, 2], [0, 0, 2, 0, 0, 2], [3, 0, 2, 3, 0, 0], [0, 3, 3, 0, 2, 0], [0, 0, 0, 0, 0, 0], [4, 0, 3, 0, 0, 0]], "min_steps": 9 }, { "id": "5028", "map": [[0, 0, 1, 0, 0, 3], [3, 0, 0, 0, 3, 4], [0, 2, 0, 2, 3, 2], [0, 3, 2, 3, 3, 0], [0, 0, 0, 3, 0, 0], [0, 0, 3, 0, 0, 2], [0, 0, 2, 0, 0, 0]], "min_steps": 9 }, { "id": "5003", "map": [[0, 0, 1, 3, 0, 2], [0, 3, 3, 0, 0, 0], [0, 0, 3, 2, 0, 0], [0, 0, 3, 0, 0, 0], [3, 0, 0, 0, 2, 2], [0, 0, 2, 3, 0, 0], [0, 2, 0, 3, 0, 4]], "min_steps": 10 }, { "id": "5009", "map": [[0, 2, 0, 0, 0, 3], [0, 0, 3, 3, 3, 4], [0, 3, 0, 0, 0, 0], [0, 3, 2, 0, 0, 0], [1, 2, 3, 2, 0, 3], [2, 0, 0, 0, 0, 0], [0, 0, 0, 0, 2, 0]], "min_steps": 10 }, { "id": "5021", "map": [[0, 0, 0, 0, 0, 0], [0, 0, 0, 0, 3, 0], [3, 0, 0, 0, 2, 0], [2, 0, 0, 2, 3, 0], [0, 3, 0, 0, 0, 2], [0, 2, 3, 0, 0, 0], [4, 3, 1, 2, 0, 0]], "min_steps": 10 }, { "id": "5022", "map": [[4, 0, 3, 0, 0, 2], [0, 0, 0, 0, 2, 0], [0, 3, 0, 2, 3, 2], [3, 0, 3, 0, 3, 0], [0, 2, 0, 0, 0, 0], [0, 3, 0, 3, 0, 3], [0, 2, 1, 0, 0, 0]], "min_steps": 10 }, { "id": "5023", "map": [[3, 0, 0, 3, 3, 0], [0, 0, 3, 0, 0, 3], [2, 3, 0, 0, 0, 0], [2, 2, 0, 0, 2, 0], [0, 3, 0, 0, 0, 0], [2, 0, 3, 0, 0, 4], [0, 1, 3, 0, 2, 0]], "min_steps": 10 }, { "id": "5024", "map": [[3, 0, 2, 3, 0, 0], [4, 2, 0, 0, 0, 3], [2, 2, 0, 0, 0, 0], [0, 0, 3, 0, 0, 2], [0, 0, 0, 3, 0, 3], [0, 3, 3, 0, 2, 0], [3, 0, 1, 0, 0, 0]], "min_steps": 10 }, { "id": "5020", "map": [[0, 0, 0, 2, 0, 0], [0, 3, 0, 0, 0, 3], [0, 2, 0, 0, 3, 0], [2, 0, 0, 2, 3, 4], [0, 2, 3, 0, 0, 0], [0, 0, 0, 3, 0, 0], [3, 2, 0, 1, 3, 0]], "min_steps": 11 }, { "id": "5025", "map": [[1, 0, 0, 0, 3, 0], [0, 0, 0, 3, 3, 2], [3, 3, 2, 0, 0, 2], [0, 0, 0, 0, 0, 3], [0, 0, 2, 0, 2, 0], [0, 0, 0, 0, 3, 4], [0, 3, 2, 3, 0, 0]], "min_steps": 11 }, { "id": "5026", "map": [[0, 3, 2, 0, 0, 0], [0, 0, 2, 3, 3, 0], [2, 0, 0, 2, 0, 0], [3, 2, 0, 0, 3, 2], [0, 0, 0, 3, 3, 1], [0, 0, 3, 0, 0, 3], [0, 0, 0, 0, 0, 4]], "min_steps": 11 }, { "id": "5027", "map": [[0, 0, 3, 0, 0, 1], [0, 0, 0, 0, 0, 3], [2, 0, 2, 0, 2, 3], [0, 0, 3, 3, 0, 3], [0, 0, 0, 2, 3, 0], [0, 0, 0, 2, 0, 3], [2, 0, 3, 0, 4, 0]], "min_steps": 11 }], [{ "id": "6028", "map": [[0, 0, 3, 0, 0, 2], [1, 3, 2, 2, 0, 3], [0, 0, 3, 0, 0, 2], [0, 0, 0, 0, 0, 0], [0, 0, 2, 0, 3, 3], [3, 3, 3, 0, 0, 0], [4, 0, 0, 0, 0, 2]], "min_steps": 8 }, { "id": "6029", "map": [[0, 0, 2, 0, 0, 1], [3, 2, 3, 0, 0, 3], [2, 0, 3, 0, 3, 0], [3, 3, 0, 0, 0, 0], [0, 0, 0, 3, 3, 2], [0, 0, 0, 0, 0, 2], [0, 0, 0, 4, 2, 0]], "min_steps": 8 }, { "id": "6030", "map": [[0, 3, 3, 0, 1, 0], [2, 3, 0, 0, 3, 0], [0, 0, 0, 3, 0, 2], [0, 0, 3, 0, 2, 0], [0, 0, 2, 3, 3, 3], [0, 0, 0, 0, 0, 0], [4, 0, 0, 2, 0, 2]], "min_steps": 8 }, { "id": "6001", "map": [[0, 0, 3, 3, 4, 2], [0, 0, 0, 2, 0, 0], [2, 3, 3, 2, 0, 0], [0, 3, 0, 0, 0, 2], [0, 0, 0, 3, 2, 2], [2, 0, 0, 3, 0, 2], [1, 3, 2, 0, 0, 0], [0, 0, 0, 3, 0, 0]], "min_steps": 9 }, { "id": "6012", "map": [[3, 0, 0, 0, 2, 0], [0, 3, 0, 3, 0, 0], [0, 3, 0, 0, 0, 3], [2, 0, 0, 3, 2, 0], [3, 2, 2, 2, 0, 0], [3, 0, 2, 0, 3, 0], [1, 2, 3, 0, 2, 0], [2, 3, 0, 0, 3, 4]], "min_steps": 9 }, { "id": "6016", "map": [[0, 0, 1, 0, 2, 3], [0, 3, 2, 0, 2, 0], [3, 3, 3, 3, 0, 0], [3, 0, 0, 0, 0, 0], [2, 2, 3, 0, 3, 3], [0, 0, 2, 0, 2, 0], [0, 2, 0, 2, 0, 3], [3, 0, 2, 0, 0, 4]], "min_steps": 9 }, { "id": "6008", "map": [[0, 0, 2, 0, 3, 4], [3, 3, 2, 3, 0, 0], [0, 0, 0, 0, 0, 3], [0, 0, 2, 3, 2, 0], [0, 0, 2, 0, 3, 2], [3, 3, 0, 0, 0, 2], [0, 3, 0, 0, 0, 0], [2, 1, 0, 0, 0, 0]], "min_steps": 10 }, { "id": "6013", "map": [[3, 0, 0, 2, 2, 0], [0, 2, 0, 3, 0, 2], [0, 0, 3, 2, 3, 0], [0, 3, 0, 0, 3, 0], [2, 2, 3, 2, 0, 0], [0, 0, 3, 3, 0, 0], [0, 2, 0, 3, 2, 0], [4, 3, 3, 0, 1, 0]], "min_steps": 10 }, { "id": "6017", "map": [[4, 0, 0, 0, 0, 3], [0, 3, 3, 0, 0, 0], [3, 0, 2, 2, 0, 0], [3, 0, 2, 3, 3, 2], [3, 2, 0, 2, 3, 3], [2, 0, 2, 0, 0, 0], [0, 0, 0, 0, 0, 3], [2, 3, 0, 2, 0, 1]], "min_steps": 10 }, { "id": "6022", "map": [[0, 0, 3, 4, 3, 0], [0, 3, 0, 2, 2, 0], [2, 0, 2, 0, 0, 3], [0, 0, 0, 0, 0, 0], [2, 3, 0, 3, 2, 0], [0, 3, 0, 0, 0, 0], [0, 1, 3, 0, 0, 3]], "min_steps": 10 }, { "id": "6023", "map": [[0, 0, 3, 1, 0, 2], [0, 0, 2, 3, 0, 0], [4, 0, 3, 0, 0, 0], [2, 0, 3, 0, 0, 3], [2, 0, 3, 0, 3, 0], [0, 0, 0, 0, 0, 0], [2, 3, 0, 2, 3, 0]], "min_steps": 10 }, { "id": "6024", "map": [[0, 3, 0, 2, 0, 4], [3, 0, 0, 3, 3, 3], [0, 0, 2, 0, 0, 0], [2, 3, 3, 0, 0, 0], [2, 0, 0, 0, 0, 3], [2, 0, 3, 0, 0, 1], [0, 0, 0, 0, 0, 2]], "min_steps": 10 }, { "id": "6025", "map": [[4, 0, 2, 0, 0, 0], [0, 0, 3, 3, 0, 2], [3, 3, 0, 0, 0, 3], [0, 2, 0, 2, 0, 0], [0, 0, 0, 0, 3, 0], [1, 3, 0, 0, 2, 2], [0, 3, 0, 0, 0, 3]], "min_steps": 10 }, { "id": "6002", "map": [[0, 0, 3, 3, 4, 2], [0, 0, 0, 2, 0, 0], [2, 3, 3, 2, 0, 0], [0, 3, 0, 0, 0, 2], [0, 0, 0, 3, 2, 2], [2, 0, 0, 3, 0, 2], [1, 3, 2, 0, 0, 0], [0, 0, 0, 3, 0, 0]], "min_steps": 11 }, { "id": "6006", "map": [[1, 0, 2, 0, 0, 3], [0, 0, 0, 0, 3, 0], [3, 0, 0, 3, 2, 0], [2, 3, 0, 0, 0, 3], [0, 0, 3, 2, 0, 3], [0, 2, 0, 3, 0, 0], [2, 3, 0, 2, 0, 0], [0, 4, 0, 2, 0, 0]], "min_steps": 11 }, { "id": "6009", "map": [[4, 3, 0, 0, 3, 0], [0, 0, 0, 0, 0, 0], [3, 3, 0, 2, 0, 2], [3, 0, 0, 2, 2, 0], [2, 3, 2, 0, 0, 0], [1, 3, 3, 0, 0, 0], [2, 0, 0, 0, 0, 0], [3, 3, 0, 0, 0, 2]], "min_steps": 11 }, { "id": "6018", "map": [[2, 3, 0, 0, 2, 3], [2, 0, 0, 3, 0, 4], [2, 0, 0, 0, 0, 0], [0, 3, 2, 0, 2, 3], [0, 0, 0, 0, 0, 3], [2, 0, 3, 3, 2, 3], [0, 0, 0, 3, 2, 0], [2, 3, 1, 3, 0, 0]], "min_steps": 11 }, { "id": "6026", "map": [[0, 1, 0, 3, 0, 4], [0, 0, 3, 0, 3, 0], [2, 2, 3, 2, 0, 0], [0, 0, 3, 0, 3, 3], [2, 0, 0, 0, 0, 2], [0, 3, 0, 0, 0, 2], [0, 0, 0, 0, 0, 3]], "min_steps": 11 }, { "id": "6027", "map": [[2, 1, 3, 0, 0, 0], [0, 0, 0, 0, 3, 0], [3, 3, 0, 0, 0, 0], [2, 2, 3, 3, 3, 0], [0, 2, 0, 0, 0, 0], [3, 2, 0, 0, 0, 0], [0, 4, 0, 2, 3, 0]], "min_steps": 11 }, { "id": "6031", "map": [[0, 1, 0, 3, 0, 4], [0, 0, 3, 0, 3, 0], [2, 2, 3, 2, 0, 0], [0, 0, 3, 0, 3, 3], [2, 0, 0, 0, 0, 2], [0, 3, 0, 0, 0, 2], [0, 0, 0, 0, 0, 3]], "min_steps": 11 }, { "id": "6003", "map": [[0, 2, 2, 0, 0, 4], [0, 3, 3, 0, 0, 0], [3, 2, 0, 0, 0, 0], [0, 3, 0, 0, 3, 3], [0, 2, 0, 3, 0, 0], [2, 3, 0, 0, 0, 0], [0, 2, 3, 0, 0, 0], [1, 2, 3, 0, 2, 0]], "min_steps": 12 }, { "id": "6011", "map": [[3, 0, 2, 2, 3, 2], [1, 0, 0, 0, 0, 3], [0, 0, 3, 2, 3, 0], [3, 0, 3, 0, 0, 0], [4, 3, 2, 3, 0, 2], [0, 0, 2, 0, 2, 3], [2, 0, 0, 0, 0, 3], [0, 0, 0, 2, 0, 3]], "min_steps": 12 }, { "id": "6014", "map": [[4, 3, 0, 0, 0, 0], [0, 2, 2, 2, 3, 0], [0, 3, 0, 0, 0, 0], [2, 3, 2, 3, 0, 0], [3, 3, 0, 0, 0, 3], [0, 0, 0, 2, 3, 0], [0, 3, 2, 0, 2, 2], [2, 3, 3, 0, 0, 1]], "min_steps": 12 }, { "id": "6020", "map": [[3, 2, 0, 0, 0, 0], [4, 0, 2, 0, 2, 0], [3, 3, 0, 0, 2, 2], [0, 0, 3, 0, 2, 0], [0, 0, 0, 0, 2, 3], [0, 2, 3, 3, 0, 0], [2, 3, 0, 0, 3, 3], [1, 3, 3, 2, 0, 0]], "min_steps": 12 }, { "id": "6021", "map": [[4, 3, 0, 0, 0, 0], [0, 2, 2, 2, 3, 0], [0, 3, 0, 0, 0, 0], [2, 3, 2, 3, 0, 0], [3, 3, 0, 0, 0, 3], [0, 0, 0, 2, 3, 0], [0, 3, 2, 0, 2, 2], [2, 3, 3, 0, 0, 1]], "min_steps": 12 }, { "id": "6004", "map": [[0, 3, 0, 2, 2, 0], [0, 0, 0, 0, 0, 2], [3, 0, 0, 0, 0, 0], [0, 3, 0, 0, 0, 0], [0, 3, 3, 0, 3, 0], [2, 0, 0, 0, 3, 2], [2, 0, 0, 0, 3, 1], [4, 3, 0, 2, 3, 2]], "min_steps": 13 }, { "id": "6005", "map": [[2, 2, 4, 2, 3, 0], [0, 3, 3, 2, 0, 0], [3, 0, 0, 3, 0, 2], [3, 0, 2, 3, 3, 0], [0, 0, 0, 0, 0, 0], [0, 0, 0, 0, 2, 3], [3, 2, 0, 0, 0, 1], [0, 0, 0, 0, 0, 0]], "min_steps": 13 }, { "id": "6007", "map": [[3, 2, 0, 0, 3, 4], [0, 2, 0, 0, 3, 0], [0, 0, 2, 0, 2, 0], [2, 0, 0, 3, 0, 3], [0, 0, 2, 0, 3, 2], [0, 2, 3, 3, 0, 1], [0, 0, 0, 0, 0, 3], [0, 0, 0, 3, 0, 0]], "min_steps": 13 }, { "id": "6010", "map": [[0, 3, 1, 0, 0, 0], [0, 2, 3, 3, 0, 0], [2, 0, 0, 3, 0, 0], [0, 2, 0, 0, 3, 2], [3, 0, 0, 0, 0, 2], [3, 2, 0, 0, 0, 0], [4, 0, 0, 3, 2, 0], [0, 3, 0, 3, 2, 0]], "min_steps": 13 }, { "id": "6015", "map": [[4, 0, 0, 0, 2, 3], [0, 0, 3, 0, 0, 3], [2, 2, 3, 2, 0, 0], [3, 0, 0, 0, 3, 2], [2, 3, 0, 3, 0, 2], [0, 0, 3, 0, 2, 3], [0, 0, 0, 0, 0, 3], [1, 2, 2, 3, 0, 0]], "min_steps": 14 }, { "id": "6019", "map": [[4, 0, 0, 0, 2, 3], [0, 0, 3, 0, 0, 3], [2, 2, 3, 2, 0, 0], [3, 0, 0, 0, 3, 2], [2, 3, 0, 3, 0, 2], [0, 0, 3, 0, 2, 3], [0, 0, 0, 0, 0, 3], [1, 2, 2, 3, 0, 0]], "min_steps": 14 }], [{ "id": "7001", "map": [[0, 2, 0, 0, 2, 0], [3, 3, 0, 2, 0, 4], [0, 0, 0, 0, 0, 3], [0, 0, 0, 0, 3, 2], [0, 0, 0, 0, 0, 2], [3, 3, 0, 0, 0, 2], [0, 3, 3, 2, 2, 0], [0, 3, 2, 2, 0, 3], [1, 2, 0, 0, 2, 0]], "min_steps": 9 }, { "id": "7023", "map": [[3, 2, 0, 2, 0, 1], [0, 3, 3, 2, 3, 3], [0, 3, 3, 0, 3, 0], [0, 2, 2, 2, 0, 3], [0, 3, 2, 0, 0, 3], [0, 0, 0, 0, 2, 0], [2, 2, 2, 3, 0, 0], [2, 0, 3, 0, 3, 0], [0, 0, 3, 0, 0, 4]], "min_steps": 9 }, { "id": "7003", "map": [[1, 3, 2, 0, 0, 0], [0, 0, 0, 2, 0, 0], [0, 3, 0, 2, 0, 0], [3, 3, 3, 2, 0, 3], [2, 3, 3, 0, 3, 0], [0, 0, 0, 0, 0, 2], [3, 0, 2, 2, 3, 2], [4, 2, 0, 0, 2, 0], [0, 0, 2, 0, 0, 2]], "min_steps": 10 }, { "id": "7002", "map": [[1, 0, 3, 2, 0, 2], [0, 3, 0, 0, 0, 2], [0, 2, 0, 3, 2, 2], [0, 3, 0, 0, 0, 0], [0, 2, 0, 3, 3, 0], [3, 2, 2, 0, 0, 3], [0, 3, 2, 3, 0, 2], [0, 0, 0, 0, 0, 0], [2, 0, 0, 2, 3, 4]], "min_steps": 11 }, { "id": "7005", "map": [[0, 0, 0, 0, 0, 0], [0, 0, 0, 3, 2, 4], [0, 3, 0, 0, 3, 3], [3, 3, 0, 2, 0, 3], [0, 2, 2, 0, 3, 2], [0, 0, 3, 0, 2, 0], [0, 2, 0, 2, 0, 0], [3, 0, 0, 2, 2, 0], [0, 0, 2, 2, 0, 1]], "min_steps": 11 }, { "id": "7006", "map": [[0, 0, 0, 0, 2, 3], [3, 2, 0, 0, 0, 0], [0, 2, 0, 3, 3, 4], [0, 0, 0, 2, 2, 3], [2, 0, 0, 0, 0, 0], [0, 0, 0, 0, 3, 0], [3, 0, 3, 3, 0, 2], [3, 0, 2, 2, 0, 2], [0, 0, 2, 2, 0, 1]], "min_steps": 11 }, { "id": "7007", "map": [[2, 0, 2, 0, 2, 0], [0, 0, 2, 0, 3, 2], [0, 0, 0, 3, 3, 0], [0, 2, 0, 0, 3, 2], [3, 0, 0, 2, 0, 0], [3, 3, 0, 0, 0, 2], [0, 2, 0, 3, 2, 0], [0, 2, 3, 0, 0, 0], [4, 3, 0, 0, 1, 0]], "min_steps": 11 }, { "id": "7026", "map": [[2, 4, 2, 0, 0, 0], [0, 3, 3, 0, 3, 0], [3, 3, 3, 0, 0, 3], [2, 0, 3, 0, 0, 2], [0, 2, 2, 3, 0, 3], [1, 0, 2, 0, 2, 0], [3, 3, 0, 0, 0, 0], [2, 0, 0, 0, 3, 2], [2, 0, 3, 2, 3, 0]], "min_steps": 11 }, { "id": "7027", "map": [[2, 0, 0, 0, 0, 2], [0, 0, 3, 3, 2, 3], [0, 0, 3, 0, 0, 1], [0, 3, 0, 3, 3, 3], [0, 0, 0, 0, 0, 2], [3, 3, 2, 0, 0, 2], [3, 3, 0, 2, 0, 3], [0, 3, 2, 2, 2, 0], [0, 3, 4, 2, 2, 0]], "min_steps": 11 }, { "id": "7029", "map": [[0, 0, 1, 0, 0, 0], [3, 3, 0, 0, 3, 2], [3, 0, 0, 0, 2, 0], [0, 2, 0, 2, 2, 0], [2, 3, 3, 3, 0, 3], [3, 2, 2, 3, 0, 0], [2, 0, 3, 0, 0, 3], [3, 2, 0, 0, 0, 3], [4, 2, 0, 0, 3, 2]], "min_steps": 11 }, { "id": "7008", "map": [[1, 0, 0, 0, 2, 0], [3, 3, 2, 0, 3, 0], [3, 0, 3, 0, 0, 0], [0, 0, 3, 0, 0, 3], [2, 2, 0, 3, 0, 3], [2, 0, 2, 0, 0, 0], [2, 0, 2, 0, 0, 2], [2, 0, 0, 2, 0, 0], [4, 3, 0, 0, 0, 2]], "min_steps": 12 }, { "id": "7010", "map": [[4, 3, 0, 3, 1, 0], [0, 0, 3, 3, 0, 0], [0, 3, 0, 0, 2, 2], [2, 0, 3, 0, 0, 2], [3, 2, 0, 2, 3, 0], [0, 0, 0, 0, 0, 0], [0, 2, 0, 2, 2, 0], [0, 2, 0, 3, 0, 2], [0, 2, 0, 0, 0, 3]], "min_steps": 12 }, { "id": "7016", "map": [[2, 3, 4, 0, 0, 3], [0, 3, 2, 2, 3, 1], [0, 2, 2, 3, 0, 0], [3, 0, 3, 0, 2, 0], [3, 0, 0, 0, 2, 2], [0, 0, 3, 3, 0, 0], [0, 3, 0, 3, 2, 0], [0, 0, 3, 0, 3, 2], [0, 2, 2, 3, 0, 0]], "min_steps": 12 }, { "id": "7020", "map": [[2, 3, 0, 4, 3, 3], [3, 3, 0, 0, 3, 0], [0, 2, 0, 3, 2, 0], [0, 3, 0, 0, 0, 2], [3, 2, 0, 0, 0, 0], [0, 0, 3, 2, 0, 3], [0, 3, 0, 3, 2, 0], [3, 2, 2, 0, 0, 2], [0, 0, 2, 1, 3, 2]], "min_steps": 12 }, { "id": "7024", "map": [[1, 3, 2, 0, 0, 3], [2, 3, 2, 0, 0, 0], [0, 2, 3, 0, 3, 3], [3, 0, 0, 2, 0, 3], [2, 3, 0, 0, 0, 3], [3, 3, 0, 0, 0, 0], [2, 0, 3, 0, 0, 2], [0, 0, 2, 0, 2, 2], [4, 2, 3, 0, 3, 0]], "min_steps": 12 }, { "id": "7032", "map": [[0, 0, 0, 0, 3, 4], [0, 0, 3, 3, 3, 2], [2, 2, 3, 3, 0, 0], [0, 0, 3, 2, 0, 0], [0, 2, 0, 2, 3, 2], [0, 2, 3, 0, 0, 3], [2, 3, 3, 0, 0, 2], [1, 0, 3, 0, 3, 2], [0, 0, 3, 0, 0, 2]], "min_steps": 12 }, { "id": "7033", "map": [[1, 0, 0, 3, 0, 3], [3, 3, 2, 0, 2, 0], [0, 3, 3, 2, 0, 2], [3, 2, 0, 3, 0, 0], [4, 2, 2, 2, 0, 0], [0, 3, 0, 0, 0, 0], [3, 3, 3, 0, 0, 2], [3, 0, 3, 2, 0, 3], [2, 0, 0, 0, 0, 2]], "min_steps": 12 }, { "id": "7035", "map": [[3, 0, 0, 2, 0, 4], [3, 0, 2, 3, 3, 3], [0, 0, 2, 3, 0, 2], [3, 0, 3, 3, 3, 0], [2, 2, 0, 0, 0, 0], [2, 2, 3, 0, 0, 0], [0, 0, 2, 3, 0, 0], [0, 2, 0, 3, 2, 3], [0, 0, 3, 1, 2, 0]], "min_steps": 12 }, { "id": "7036", "map": [[2, 3, 1, 0, 0, 2], [0, 3, 0, 0, 0, 0], [2, 0, 2, 0, 0, 3], [0, 0, 3, 3, 0, 3], [0, 2, 2, 0, 0, 3], [0, 3, 2, 3, 3, 0], [0, 3, 2, 0, 0, 2], [0, 3, 2, 0, 2, 3], [2, 0, 3, 3, 4, 0]], "min_steps": 12 }, { "id": "7037", "map": [[2, 0, 0, 0, 0, 3], [0, 2, 3, 0, 2, 2], [0, 0, 3, 0, 2, 0], [0, 2, 2, 0, 0, 0], [3, 2, 3, 0, 0, 3], [0, 0, 3, 3, 0, 3], [3, 2, 3, 0, 0, 3], [0, 0, 3, 3, 2, 0], [4, 3, 1, 2, 0, 2]], "min_steps": 12 }, { "id": "7039", "map": [[2, 0, 3, 3, 2, 0], [0, 0, 0, 0, 2, 3], [1, 3, 0, 0, 0, 2], [0, 2, 3, 2, 2, 2], [0, 0, 3, 0, 0, 0], [0, 3, 0, 0, 3, 0], [3, 0, 0, 2, 3, 2], [2, 0, 3, 0, 2, 3], [0, 4, 3, 0, 3, 3]], "min_steps": 12 }, { "id": "7040", "map": [[0, 2, 3, 3, 4, 0], [0, 2, 0, 0, 3, 2], [0, 0, 3, 0, 2, 0], [3, 0, 2, 0, 0, 3], [2, 0, 0, 3, 0, 3], [3, 3, 0, 2, 2, 0], [2, 2, 3, 0, 2, 0], [1, 3, 0, 0, 2, 3], [0, 0, 0, 3, 0, 3]], "min_steps": 12 }, { "id": "7041", "map": [[3, 3, 0, 2, 3, 1], [0, 3, 3, 2, 0, 2], [0, 2, 0, 0, 0, 0], [0, 0, 0, 0, 0, 0], [3, 3, 3, 2, 3, 0], [0, 3, 3, 2, 3, 2], [4, 0, 3, 0, 2, 0], [2, 2, 2, 0, 0, 0], [0, 3, 2, 0, 3, 0]], "min_steps": 12 }, { "id": "7004", "map": [[2, 0, 0, 2, 0, 0], [0, 3, 0, 0, 0, 1], [0, 2, 0, 0, 0, 0], [0, 0, 0, 0, 2, 0], [0, 0, 3, 3, 3, 2], [0, 0, 0, 3, 2, 3], [0, 0, 2, 0, 0, 3], [0, 2, 3, 2, 2, 4], [3, 2, 2, 0, 3, 0]], "min_steps": 13 }, { "id": "7009", "map": [[4, 0, 3, 1, 0, 2], [0, 2, 3, 3, 3, 0], [0, 2, 3, 2, 2, 0], [3, 0, 3, 0, 0, 2], [0, 0, 0, 0, 0, 0], [3, 2, 0, 0, 2, 0], [3, 2, 0, 0, 2, 0], [0, 0, 2, 2, 2, 0], [0, 0, 0, 0, 3, 0]], "min_steps": 13 }, { "id": "7014", "map": [[3, 4, 2, 3, 0, 0], [2, 3, 0, 3, 0, 0], [0, 2, 2, 0, 0, 0], [0, 3, 3, 0, 3, 3], [0, 0, 0, 0, 0, 0], [3, 2, 0, 0, 2, 2], [2, 2, 2, 2, 0, 3], [0, 0, 3, 3, 0, 3], [1, 2, 0, 3, 3, 0]], "min_steps": 13 }, { "id": "7015", "map": [[2, 3, 4, 0, 3, 0], [1, 2, 3, 2, 3, 0], [0, 0, 3, 0, 2, 0], [2, 0, 0, 3, 0, 0], [2, 2, 0, 2, 0, 3], [0, 0, 2, 0, 0, 0], [3, 0, 0, 3, 3, 0], [0, 0, 3, 0, 2, 3], [3, 0, 3, 2, 3, 2]], "min_steps": 13 }, { "id": "7025", "map": [[2, 3, 1, 0, 3, 3], [0, 0, 2, 3, 2, 0], [0, 2, 0, 0, 0, 3], [0, 3, 0, 0, 0, 3], [2, 0, 0, 3, 2, 0], [0, 0, 2, 3, 0, 2], [2, 0, 3, 2, 0, 3], [3, 3, 0, 0, 3, 3], [2, 4, 0, 2, 0, 0]], "min_steps": 13 }, { "id": "7030", "map": [[2, 0, 1, 2, 0, 0], [0, 2, 3, 3, 0, 2], [2, 3, 3, 3, 0, 2], [3, 0, 0, 2, 2, 0], [0, 3, 0, 3, 2, 0], [0, 0, 2, 0, 2, 3], [3, 3, 0, 3, 3, 2], [4, 3, 0, 0, 0, 0], [0, 0, 0, 0, 0, 3]], "min_steps": 13 }, { "id": "7031", "map": [[0, 2, 2, 3, 4, 2], [3, 3, 0, 0, 2, 2], [0, 0, 0, 3, 2, 0], [0, 3, 0, 0, 3, 3], [0, 2, 0, 2, 3, 0], [2, 3, 0, 0, 0, 0], [3, 3, 0, 3, 0, 2], [0, 0, 2, 3, 3, 3], [1, 0, 2, 0, 0, 0]], "min_steps": 13 }, { "id": "7038", "map": [[4, 2, 3, 3, 2, 3], [0, 3, 0, 2, 3, 0], [0, 0, 0, 2, 0, 2], [3, 3, 2, 3, 0, 0], [0, 3, 0, 3, 2, 3], [0, 2, 2, 2, 0, 0], [1, 3, 0, 0, 3, 0], [2, 0, 0, 0, 3, 2], [0, 0, 3, 0, 0, 0]], "min_steps": 13 }, { "id": "7011", "map": [[0, 1, 0, 0, 2, 0], [3, 0, 3, 3, 2, 3], [0, 3, 3, 2, 0, 0], [0, 0, 2, 0, 3, 3], [2, 3, 2, 0, 0, 0], [3, 2, 2, 3, 3, 0], [2, 0, 2, 2, 0, 4], [0, 2, 0, 3, 0, 0], [0, 0, 0, 3, 0, 3]], "min_steps": 14 }, { "id": "7017", "map": [[2, 0, 0, 3, 0, 3], [4, 3, 0, 2, 0, 3], [3, 0, 0, 0, 3, 0], [2, 0, 0, 2, 0, 0], [3, 0, 0, 3, 0, 0], [2, 3, 0, 2, 2, 2], [1, 3, 3, 0, 2, 2], [0, 3, 0, 0, 3, 0], [0, 2, 0, 3, 3, 2]], "min_steps": 14 }, { "id": "7019", "map": [[0, 3, 0, 2, 3, 1], [0, 3, 0, 2, 0, 2], [0, 2, 2, 0, 3, 3], [0, 0, 3, 2, 0, 3], [0, 0, 3, 2, 2, 0], [2, 2, 3, 0, 2, 2], [0, 3, 0, 0, 3, 0], [3, 0, 0, 3, 3, 0], [0, 0, 0, 3, 0, 4]], "min_steps": 14 }, { "id": "7021", "map": [[0, 0, 0, 0, 2, 4], [3, 0, 2, 0, 0, 0], [3, 0, 2, 3, 3, 3], [2, 0, 3, 3, 3, 0], [2, 0, 0, 0, 2, 3], [3, 3, 0, 0, 0, 2], [1, 0, 3, 0, 2, 2], [2, 2, 0, 2, 0, 0], [0, 0, 3, 3, 0, 3]], "min_steps": 14 }, { "id": "7022", "map": [[4, 0, 0, 0, 0, 0], [0, 0, 0, 0, 3, 2], [3, 3, 2, 3, 3, 2], [2, 0, 0, 0, 0, 2], [0, 0, 3, 0, 3, 3], [2, 0, 2, 3, 2, 1], [3, 2, 3, 0, 0, 3], [2, 0, 0, 3, 2, 2], [3, 3, 0, 0, 0, 0]], "min_steps": 15 }, { "id": "7028", "map": [[0, 2, 1, 3, 0, 2], [0, 3, 3, 3, 0, 2], [0, 0, 0, 3, 0, 2], [3, 0, 0, 3, 2, 4], [2, 0, 0, 3, 2, 2], [2, 2, 3, 0, 0, 3], [0, 2, 0, 0, 0, 0], [0, 3, 3, 3, 2, 0], [0, 3, 0, 3, 0, 0]], "min_steps": 16 }, { "id": "7034", "map": [[1, 0, 0, 3, 2, 0], [0, 2, 2, 3, 3, 0], [3, 0, 0, 2, 0, 3], [2, 3, 2, 2, 0, 3], [0, 0, 3, 0, 0, 3], [3, 0, 0, 0, 3, 0], [2, 3, 0, 3, 2, 4], [0, 3, 0, 0, 0, 3], [0, 2, 0, 0, 2, 2]], "min_steps": 16 }, { "id": "7012", "map": [[1, 3, 3, 3, 0, 0], [0, 3, 0, 2, 0, 0], [0, 0, 0, 3, 0, 2], [3, 0, 0, 3, 2, 3], [0, 0, 2, 0, 0, 3], [0, 0, 2, 3, 2, 0], [2, 2, 3, 2, 3, 2], [0, 3, 0, 2, 0, 2], [0, 3, 4, 3, 0, 0]], "min_steps": 17 }, { "id": "7013", "map": [[0, 1, 0, 0, 3, 3], [0, 2, 0, 3, 0, 0], [2, 3, 0, 0, 0, 0], [0, 0, 0, 3, 0, 3], [0, 3, 0, 2, 3, 2], [2, 0, 3, 3, 2, 0], [0, 2, 2, 3, 0, 2], [2, 3, 2, 0, 3, 0], [0, 3, 3, 0, 2, 4]], "min_steps": 17 }, { "id": "7018", "map": [[0, 0, 0, 0, 0, 2], [1, 0, 3, 3, 0, 2], [3, 3, 0, 3, 2, 3], [0, 3, 0, 2, 0, 0], [0, 3, 0, 0, 2, 2], [3, 0, 0, 2, 3, 0], [0, 3, 3, 3, 0, 0], [2, 0, 3, 0, 0, 2], [2, 4, 2, 0, 3, 2]], "min_steps": 17 }]]; - this.LEVEL_INFO.unshift([{ "id": "0001", "map": [[3, 2, 2, 0, 2], [0, 0, 3, 3, 0], [1, 3, 0, 3, 2], [3, 0, 2, 3, 4], [3, 2, 3, 3, 2]], "min_steps": 4 }]); - }; - GameConfig.Authentication = function () { - cc.fx.GameTool.Authentication(); - }; - var GameConfig_1; - //所有控制信息都通过GameAppStart内控制 - GameConfig._instance = null; - GameConfig = GameConfig_1 = __decorate([ - ccclass('GameConfig') - ], GameConfig); - return GameConfig; -}()); -exports.GameConfig = GameConfig; + self.schedule(self.func, 0.1, cc.macro.REPEAT_FOREVER, 0); + }, + //输入秒,返回需要展示时间格式 + getTimeMargin: function (second) { + var total = 0; + total = second; + var hour = 0; + hour = parseInt((total / 3600) + ""); //计算整数小时数 + var afterHour = total - hour * 60 * 60; //取得算出小时数后剩余的秒数 + var min = parseInt((afterHour / 60) + ""); //计算整数分 + var m = "" + min; + if (min < 10) + m = "0" + min; + var afterMin = total - hour * 60 * 60 - min * 60; //取得算出分后剩余的秒数 + var miao = afterMin + ""; + if (afterMin < 10) + miao = "0" + afterMin; + return m + ':' + miao; + }, + //输入秒,返回需要展示时间格式 + getTimeShenNong: function (second) { + second = parseInt(second / 1000 + ""); + var total = 0; + total = second; + var min = 0; + if (total > 60) { + min = parseInt((total / 60) + ""); //计算整数分 + } + var m = min + "'"; + var afterMin = total - min * 60; //取得算出分后剩余的秒数 + var miao = afterMin + "''"; + return m + miao; + }, + //获取时间戳 + getTime: function () { + var timestamp = (new Date().getTime()); + return timestamp; + }, + pushLister: function () { + }, + removeAllLister: function () { + }, +}; +exports.GameTool = GameTool; cc._RF.pop(); } @@ -5527,7 +2041,7 @@ cc._RF.pop(); }); } })(); -//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbImFzc2V0c1xcU2NyaXB0XFxtb2R1bGVcXENvbmZpZ1xcR2FtZUNvbmZpZy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7QUFBQSx3Q0FBd0M7QUFJbEMsSUFBQSxLQUF3QixFQUFFLENBQUMsVUFBVSxFQUFuQyxPQUFPLGFBQUEsRUFBRSxRQUFRLGNBQWtCLENBQUM7QUFFNUM7SUFBQTtJQXdTQSxDQUFDO21CQXhTWSxVQUFVO0lBdUVuQixzQkFBVyxzQkFBUTtRQUpuQixPQUFPO2FBSVA7WUFFSSxJQUFJLElBQUksQ0FBQyxTQUFTLElBQUksSUFBSSxFQUMxQjtnQkFDSSxJQUFJLENBQUMsU0FBUyxHQUFHLElBQUksWUFBVSxFQUFFLENBQUM7YUFDckM7WUFDRCxPQUFPLElBQUksQ0FBQyxTQUFTLENBQUM7UUFDMUIsQ0FBQzs7O09BQUE7SUFDRCxlQUFlO0lBQ1IsZUFBSSxHQUFYLFVBQVksY0FBYztRQUN0QixJQUFJLENBQUMsVUFBVSxFQUFFLENBQUM7UUFDbEIsSUFBSSxDQUFDLGVBQWUsRUFBRSxDQUFDO1FBQ3ZCLElBQUksQ0FBQyxZQUFZLEVBQUUsQ0FBQztRQUNwQixJQUFJLElBQUksR0FBRyxJQUFJLENBQUM7UUFDaEIsMEVBQTBFO1FBQzFFLGlCQUFpQjtRQUNqQixrQkFBa0I7UUFDbEIsUUFBUTtRQUNSLHdDQUF3QztRQUN4QywwQ0FBMEM7UUFDMUMsS0FBSztRQUNMLDBFQUEwRTtRQUMxRSxpQkFBaUI7UUFDakIsa0JBQWtCO1FBQ2xCLFFBQVE7UUFFUix3Q0FBd0M7UUFDeEMsMENBQTBDO1FBQzFDLEtBQUs7UUFDTCx1RUFBdUU7UUFDdkUsaUJBQWlCO1FBQ2pCLHFEQUFxRDtRQUNyRCxrQkFBa0I7UUFDbEIsUUFBUTtRQUVSLHdDQUF3QztRQUN4Qyx1Q0FBdUM7UUFDdkMsdUNBQXVDO1FBQ3ZDLGlEQUFpRDtRQUNqRCxLQUFLO1FBRUwsbUNBQW1DO1FBQ25DLElBQUksQ0FBQyxTQUFTLEdB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LENBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsQ0FBQyxFQUFDLFdBQVcsRUFBQyxDQUFDLEVBQUMsRUFBQyxFQUFDLElBQUksRUFBQyxNQUFNLEVBQUMsS0FBSyxFQUFDLENBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsQ0FBQyxFQUFDLFdBQVcsRUFBQyxDQUFDLEVBQUMsRUFBQyxFQUFDLElBQUksRUFBQyxNQUFNLEVBQUMsS0FBSyxFQUFDLENBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsQ0FBQyxFQUFDLFdBQVcsRUFBQyxDQUFDLEVBQUMsRUFBQyxFQUFDLElBQUksRUFBQyxNQUFNLEVBQUMsS0FBSyxFQUFDLENBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsQ0FBQyxFQUFDLFdBQVcsRUFBQyxDQUFDLEVBQUMsRUFBQyxFQUFDLElBQUksRUFBQyxNQUFNLEVBQUMsS0FBSyxFQUFDLENBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsQ0FBQyxFQUFDLFdBQVcsRUFBQyxDQUFDLEVBQUMsRUFBQyxFQUFDLElBQUksRUFBQyxNQUFNLEVBQUMsS0FBSyxFQUFDLENBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsQ0FBQyxFQUFDLFdBQVcsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxJQUFJLEVBQUMsTUFBTSxFQUFDLEtBQUssRUFBQyxDQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxDQUFDLEVBQUMsV0FBVyxFQUFDLENBQUMsRUFBQyxFQUFDLEVBQUMsSUFBSSxFQUFDLE1BQU0sRUFBQyxLQUFLLEVBQUMsQ0FBQyxDQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsQ0FBQyxFQUFDLFdBQVcsRUFBQyxDQUFDLEVBQUMsRUFBQyxFQUFDLElBQUksRUFBQyxNQUFNLEVBQUMsS0FBSyxFQUFDLENBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLENBQUMsRUFBQyxXQUFXLEVBQUMsQ0FBQyxFQUFDLEVBQUMsRUFBQyxJQUFJLEVBQUMsTUFBTSxFQUFDLEtBQUssRUFBQyxDQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxDQUFDLEVBQUMsV0FBVyxFQUFDLENBQUMsRUFBQyxFQUFDLEVBQUMsSUFBSSxFQUFDLE1BQU0sRUFBQyxLQUFLLEVBQUMsQ0FBQyxDQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsQ0FBQyxFQUFDLFdBQVcsRUFBQyxDQUFDLEVBQUMsRUFBQyxFQUFDLElBQUksRUFBQyxNQUFNLEVBQUMsS0FBSyxFQUFDLENBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLENBQUMsRUFBQyxXQUFXLEVBQUMsQ0FBQyxFQUFDLEVBQUMsRUFBQyxJQUFJLEVBQUMsTUFBTSxFQUFDLEtBQUssRUFBQyxDQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxDQUFDLEVBQUMsV0FBVyxFQUFDLENBQUMsRUFBQyxFQUFDLEVBQUMsSUFBSSxFQUFDLE1BQU0sRUFBQyxLQUFLLEVBQUMsQ0FBQyxDQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsQ0FBQyxFQUFDLFdBQVcsRUFBQyxDQUFDLEVBQUMsRUFBQyxFQUFDLElBQUksRUFBQyxNQUFNLEVBQUMsS0FBSyxFQUFDLENBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLENBQUMsRUFBQyxXQUFXLEVBQUMsQ0FBQyxFQUFDLEVBQUMsRUFBQyxJQUFJLEVBQUMsTUFBTSxFQUFDLEtBQUssRUFBQyxDQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxDQUFDLEVBQUMsV0FBVyxFQUFDLENBQUMsRUFBQyxFQUFDLEVBQUMsSUFBSSxFQUFDLE1BQU0sRUFBQyxLQUFLLEVBQUMsQ0FBQyxDQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsQ0FBQyxFQUFDLFdBQVcsRUFBQyxDQUFDLEVBQUMsRUFBQyxFQUFDLElBQUksRUFBQyxNQUFNLEVBQUMsS0FBSyxFQUFDLENBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLENBQUMsRUFBQyxXQUFXLEVBQUMsQ0FBQyxFQUFDLEVBQUMsRUFBQyxJQUFJLEVBQUMsTUFBTSxFQUFDLEtBQUssRUFBQyxDQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxDQUFDLEVBQUMsV0FBVyxFQUFDLENBQUMsRUFBQyxFQUFDLEVBQUMsSUFBSSxFQUFDLE1BQU0sRUFBQyxLQUFLLEVBQUMsQ0FBQyxDQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsQ0FBQyxFQUFDLFdBQVcsRUFBQyxDQUFDLEVBQUMsRUFBQyxFQUFDLElBQUksRUFBQyxNQUFNLEVBQUMsS0FBSyxFQUFDLENBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLENBQUMsRUFBQyxXQUFXLEVBQUMsQ0FBQyxFQUFDLEVBQUMsRUFBQyxJQUFJLEVBQUMsTUFBTSxFQUFDLEtBQUssRUFBQyxDQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxDQUFDLEVBQUMsV0FBVyxFQUFDLENBQUMsRUFBQyxFQUFDLEVBQUMsSUFBSSxFQUFDLE1BQU0sRUFBQyxLQUFLLEVBQUMsQ0FBQyxDQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsQ0FBQyxFQUFDLFdBQVcsRUFBQyxDQUFDLEVBQUMsRUFBQyxFQUFDLElBQUksRUFBQyxNQUFNLEVBQUMsS0FBSyxFQUFDLENBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLENBQUMsRUFBQyxXQUFXLEVBQUMsQ0FBQyxFQUFDLEVBQUMsRUFBQyxJQUFJLEVBQUMsTUFBTSxFQUFDLEtBQUssRUFBQyxDQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxDQUFDLEVBQUMsV0FBVyxFQUFDLENBQUMsRUFBQyxFQUFDLEVBQUMsSUFBSSxFQUFDLE1BQU0sRUFBQyxLQUFLLEVBQUMsQ0FBQyxDQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsQ0FBQyxFQUFDLFdBQVcsRUFBQyxDQUFDLEVBQUMsRUFBQyxFQUFDLElBQUksRUFBQyxNQUFNLEVBQUMsS0FBSyxFQUFDLENBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLENBQUMsRUFBQyxXQUFXLEVBQUMsQ0FBQyxFQUFDLEVBQUMsRUFBQyxJQUFJLEVBQUMsTUFBTSxFQUFDLEtBQUssRUFBQyxDQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxDQUFDLEVBQUMsV0FBVyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLElBQUksRUFBQyxNQUFNLEVBQUMsS0FBSyxFQUFDLENBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLENBQUMsRUFBQyxXQUFXLEVBQUMsQ0FBQyxFQUFDLEVBQUMsRUFBQyxJQUFJLEVBQUMsTUFBTSxFQUFDLEtBQUssRUFBQyxDQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxDQUFDLEVBQUMsV0FBVyxFQUFDLENBQUMsRUFBQyxFQUFDLEVBQUMsSUFBSSxFQUFDLE1BQU0sRUFBQyxLQUFLLEVBQUMsQ0FBQyxDQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsQ0FBQyxFQUFDLFdBQVcsRUFBQyxDQUFDLEVBQUMsRUFBQyxFQUFDLElBQUksRUFBQyxNQUFNLEVBQUMsS0FBSyxFQUFDLENBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLENBQUMsRUFBQyxXQUFXLEVBQUMsQ0FBQyxFQUFDLEVBQUMsRUFBQyxJQUFJLEVBQUMsTUFBTSxFQUFDLEtBQUssRUFBQyxDQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxDQUFDLEVBQUMsV0FBVyxFQUFDLENBQUMsRUFBQyxFQUFDLEVBQUMsSUFBSSxFQUFDLE1BQU0sRUFBQyxLQUFLLEVBQUMsQ0FBQyxDQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsQ0FBQyxFQUFDLFdBQVcsRUFBQyxDQUFDLEVBQUMsRUFBQyxFQUFDLElBQUksRUFBQyxNQUFNLEVBQUMsS0FBSyxFQUFDLENBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLENBQUMsRUFBQyxXQUFXLEVBQUMsQ0FBQyxFQUFDLEVBQUMsRUFBQyxJQUFJLEVBQUMsTUFBTSxFQUFDLEtBQUssRUFBQyxDQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxDQUFDLEVBQUMsV0FBVyxFQUFDLENBQUMsRUFBQyxFQUFDLEVBQUMsSUFBSSxFQUFDLE1BQU0sRUFBQyxLQUFLLEVBQUMsQ0FBQyxDQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsQ0FBQyxFQUFDLFdBQVcsRUFBQyxDQUFDLEVBQUMsRUFBQyxFQUFDLElBQUksRUFBQyxNQUFNLEVBQUMsS0FBSyxFQUFDLENBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLENBQUMsRUFBQyxXQUFXLEVBQUMsQ0FBQyxFQUFDLEVBQUMsRUFBQyxJQUFJLEVBQUMsTUFBTSxFQUFDLEtBQUssRUFBQyxDQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxDQUFDLEVBQUMsV0FBVyxFQUFDLENBQUMsRUFBQyxFQUFDLEVBQUMsSUFBSSxFQUFDLE1BQU0sRUFBQyxLQUFLLEVBQUMsQ0FBQyxDQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsQ0FBQyxFQUFDLFdBQVcsRUFBQyxDQUFDLEVBQUMsRUFBQyxFQUFDLElBQUksRUFBQyxNQUFNLEVBQUMsS0FBSyxFQUFDLENBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLENBQUMsRUFBQyxXQUFXLEVBQUMsQ0FBQyxFQUFDLEVBQUMsRUFBQyxJQUFJLEVBQUMsTUFBTSxFQUFDLEtBQUssRUFBQyxDQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxDQUFDLEVBQUMsV0FBVyxFQUFDLENBQUMsRUFBQyxFQUFDLEVBQUMsSUFBSSxFQUFDLE1BQU0sRUFBQyxLQUFLLEVBQUMsQ0FBQyxDQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsQ0FBQyxFQUFDLFdBQVcsRUFBQyxDQUFDLEVBQUMsRUFBQyxFQUFDLElBQUksRUFBQyxNQUFNLEVBQUMsS0FBSyxFQUFDLENBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLENBQUMsRUFBQyxXQUFXLEVBQUMsQ0FBQyxFQUFDLEVBQUMsRUFBQyxJQUFJLEVBQUMsTUFBTSxFQUFDLEtBQUssRUFBQyxDQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxDQUFDLEVBQUMsV0FBVyxFQUFDLENBQUMsRUFBQyxFQUFDLEVBQUMsSUFBSSxFQUFDLE1BQU0sRUFBQyxLQUFLLEVBQUMsQ0FBQyxDQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsQ0FBQyxFQUFDLFdBQVcsRUFBQyxDQUFDLEVBQUMsRUFBQyxFQUFDLElBQUksRUFBQyxNQUFNLEVBQUMsS0FBSyxFQUFDLENBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLENBQUMsRUFBQyxXQUFXLEVBQUMsQ0FBQyxFQUFDLEVBQUMsRUFBQyxJQUFJLEVBQUMsTUFBTSxFQUFDLEtBQUssRUFBQyxDQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxDQUFDLEVBQUMsV0FBVyxFQUFDLENBQUMsRUFBQyxFQUFDLEVBQUMsSUFBSSxFQUFDLE1BQU0sRUFBQyxLQUFLLEVBQUMsQ0FBQyxDQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsQ0FBQyxFQUFDLFdBQVcsRUFBQyxDQUFDLEVBQUMsRUFBQyxFQUFDLElBQUksRUFBQyxNQUFNLEVBQUMsS0FBSyxFQUFDLENBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLENBQUMsRUFBQyxXQUFXLEVBQUMsQ0FBQyxFQUFDLEVBQUMsRUFBQyxJQUFJLEVBQUMsTUFBTSxFQUFDLEtBQUssRUFBQyxDQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxDQUFDLEVBQUMsV0FBVyxFQUFDLENBQUMsRUFBQyxFQUFDLEVBQUMsSUFBSSxFQUFDLE1BQU0sRUFBQyxLQUFLLEVBQUMsQ0FBQyxDQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsQ0FBQyxFQUFDLFdBQVcsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxJQUFJLEVBQUMsTUFBTSxFQUFDLEtBQUssRUFBQyxDQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsQ0FBQyxFQUFDLFdBQVcsRUFBQyxDQUFDLEVBQUMsRUFBQyxFQUFDLElBQUksRUFBQyxNQUFNLEVBQUMsS0FBSyxFQUFDLENBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLENBQUMsRUFBQyxXQUFXLEVBQUMsQ0FBQyxFQUFDLEVBQUMsRUFBQyxJQUFJLEVBQUMsTUFBTSxFQUFDLEtBQUssRUFBQyxDQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxDQUFDLEVBQUMsV0FBVyxFQUFDLENBQUMsRUFBQyxFQUFDLEVBQUMsSUFBSSxFQUFDLE1BQU0sRUFBQyxLQUFLLEVBQUMsQ0FBQyxDQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsQ0FBQyxFQUFDLFdBQVcsRUFBQyxDQUFDLEVBQUMsRUFBQyxFQUFDLElBQUksRUFBQyxNQUFNLEVBQUMsS0FBSyxFQUFDLENBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLENBQUMsRUFBQyxXQUFXLEVBQUMsQ0FBQyxFQUFDLEVBQUMsRUFBQyxJQUFJLEVBQUMsTUFBTSxFQUFDLEtBQUssRUFBQyxDQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxDQUFDLEVBQUMsV0FBVyxFQUFDLENBQUMsRUFBQyxFQUFDLEVBQUMsSUFBSSxFQUFDLE1BQU0sRUFBQyxLQUFLLEVBQUMsQ0FBQyxDQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsQ0FBQyxFQUFDLFdBQVcsRUFBQyxDQUFDLEVBQUMsRUFBQyxFQUFDLElBQUksRUFBQyxNQUFNLEVBQUMsS0FBSyxFQUFDLENBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLENBQUMsRUFBQyxXQUFXLEVBQUMsQ0FBQyxFQUFDLEVBQUMsRUFBQyxJQUFJLEVBQUMsTUFBTSxFQUFDLEtBQUssRUFBQyxDQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxDQUFDLEVBQUMsV0FBVyxFQUFDLENBQUMsRUFBQyxFQUFDLEVBQUMsSUFBSSxFQUFDLE1BQU0sRUFBQyxLQUFLLEVBQUMsQ0FBQyxDQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsQ0FBQyxFQUFDLFdBQVcsRUFBQyxDQUFDLEVBQUMsRUFBQyxFQUFDLElBQUksRUFBQyxNQUFNLEVBQUMsS0FBSyxFQUFDLENBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLENBQUMsRUFBQyxXQUFXLEVBQUMsQ0FBQyxFQUFDLEVBQUMsRUFBQyxJQUFJLEVBQUMsTUFBTSxFQUFDLEtBQUssRUFBQyxDQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxDQUFDLEVBQUMsV0FBVyxFQUFDLENBQUMsRUFBQyxFQUFDLEVBQUMsSUFBSSxFQUFDLE1BQU0sRUFBQyxLQUFLLEVBQUMsQ0FBQyxDQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsQ0FBQyxFQUFDLFdBQVcsRUFBQyxDQUFDLEVBQUMsRUFBQyxFQUFDLElBQUksRUFBQyxNQUFNLEVBQUMsS0FBSyxFQUFDLENBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLENBQUMsRUFBQyxXQUFXLEVBQUMsQ0FBQyxFQUFDLEVBQUMsRUFBQyxJQUFJLEVBQUMsTUFBTSxFQUFDLEtBQUssRUFBQyxDQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxDQUFDLEVBQUMsV0FBVyxFQUFDLENBQUMsRUFBQyxFQUFDLEVBQUMsSUFBSSxFQUFDLE1BQU0sRUFBQyxLQUFLLEVBQUMsQ0FBQyxDQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsQ0FBQyxFQUFDLFdBQVcsRUFBQyxDQUFDLEVBQUMsRUFBQyxFQUFDLElBQUksRUFBQyxNQUFNLEVBQUMsS0FBSyxFQUFDLENBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLENBQUMsRUFBQyxXQUFXLEVBQUMsQ0FBQyxFQUFDLEVBQUMsRUFBQyxJQUFJLEVBQUMsTUFBTSxFQUFDLEtBQUssRUFBQyxDQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxDQUFDLEVBQUMsV0FBVyxFQUFDLENBQUMsRUFBQyxFQUFDLEVBQUMsSUFBSSxFQUFDLE1BQU0sRUFBQyxLQUFLLEVBQUMsQ0FBQyxDQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsQ0FBQyxFQUFDLFdBQVcsRUFBQyxDQUFDLEVBQUMsRUFBQyxFQUFDLElBQUksRUFBQyxNQUFNLEVBQUMsS0FBSyxFQUFDLENBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLENBQUMsRUFBQyxXQUFXLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsSUFBSSxFQUFDLE1BQU0sRUFBQyxLQUFLLEVBQUMsQ0FBQyxDQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsQ0FBQyxFQUFDLFdBQVcsRUFBQyxDQUFDLEVBQUMsRUFBQyxFQUFDLElBQUksRUFBQyxNQUFNLEVBQUMsS0FBSyxFQUFDLENBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxDQUFDLEVBQUMsV0FBVyxFQUFDLENBQUMsRUFBQyxFQUFDLEVBQUMsSUFBSSxFQUFDLE1BQU0sRUFBQyxLQUFLLEVBQUMsQ0FBQyxDQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLENBQUMsRUFBQyxXQUFXLEVBQUMsQ0FBQyxFQUFDLEVBQUMsRUFBQyxJQUFJLEVBQUMsTUFBTSxFQUFDLEtBQUssRUFBQyxDQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsQ0FBQyxFQUFDLFdBQVcsRUFBQyxDQUFDLEVBQUMsRUFBQyxFQUFDLElBQUksRUFBQyxNQUFNLEVBQUMsS0FBSyxFQUFDLENBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxDQUFDLEVBQUMsV0FBVyxFQUFDLENBQUMsRUFBQyxFQUFDLEVBQUMsSUFBSSxFQUFDLE1BQU0sRUFBQyxLQUFLLEVBQUMsQ0FBQyxDQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLENBQUMsRUFBQyxXQUFXLEVBQUMsQ0FBQyxFQUFDLEVBQUMsRUFBQyxJQUFJLEVBQUMsTUFBTSxFQUFDLEtBQUssRUFBQyxDQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsQ0FBQyxFQUFDLFdBQVcsRUFBQyxDQUFDLEVBQUMsRUFBQyxFQUFDLElBQUksRUFBQyxNQUFNLEVBQUMsS0FBSyxFQUFDLENBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxDQUFDLEVBQUMsV0FBVyxFQUFDLENBQUMsRUFBQyxFQUFDLEVBQUMsSUFBSSxFQUFDLE1BQU0sRUFBQyxLQUFLLEVBQUMsQ0FBQyxDQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLENBQUMsRUFBQyxXQUFXLEVBQUMsQ0FBQyxFQUFDLEVBQUMsRUFBQyxJQUFJLEVBQUMsTUFBTSxFQUFDLEtBQUssRUFBQyxDQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsQ0FBQyxFQUFDLFdBQVcsRUFBQyxDQUFDLEVBQUMsRUFBQyxFQUFDLElBQUksRUFBQyxNQUFNLEVBQUMsS0FBSyxFQUFDLENBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxDQUFDLEVBQUMsV0FBVyxFQUFDLENBQUMsRUFBQyxFQUFDLEVBQUMsSUFBSSxFQUFDLE1BQU0sRUFBQyxLQUFLLEVBQUMsQ0FBQyxDQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLENBQUMsRUFBQyxXQUFXLEVBQUMsQ0FBQyxFQUFDLEVBQUMsRUFBQyxJQUFJLEVBQUMsTUFBTSxFQUFDLEtBQUssRUFBQyxDQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsQ0FBQyxFQUFDLFdBQVcsRUFBQyxDQUFDLEVBQUMsRUFBQyxFQUFDLElBQUksRUFBQyxNQUFNLEVBQUMsS0FBSyxFQUFDLENBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxDQUFDLEVBQUMsV0FBVyxFQUFDLENBQUMsRUFBQyxFQUFDLEVBQUMsSUFBSSxFQUFDLE1BQU0sRUFBQyxLQUFLLEVBQUMsQ0FBQyxDQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLENBQUMsRUFBQyxXQUFXLEVBQUMsQ0FBQyxFQUFDLEVBQUMsRUFBQyxJQUFJLEVBQUMsTUFBTSxFQUFDLEtBQUssRUFBQyxDQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsQ0FBQyxFQUFDLFdBQVcsRUFBQyxDQUFDLEVBQUMsRUFBQyxFQUFDLElBQUksRUFBQyxNQUFNLEVBQUMsS0FBSyxFQUFDLENBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxDQUFDLEVBQUMsV0FBVyxFQUFDLENBQUMsRUFBQyxFQUFDLEVBQUMsSUFBSSxFQUFDLE1BQU0sRUFBQyxLQUFLLEVBQUMsQ0FBQyxDQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLENBQUMsRUFBQyxXQUFXLEVBQUMsQ0FBQyxFQUFDLEVBQUMsRUFBQyxJQUFJLEVBQUMsTUFBTSxFQUFDLEtBQUssRUFBQyxDQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsQ0FBQyxFQUFDLFdBQVcsRUFBQyxDQUFDLEVBQUMsRUFBQyxFQUFDLElBQUksRUFBQyxNQUFNLEVBQUMsS0FBSyxFQUFDLENBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxDQUFDLEVBQUMsV0FBVyxFQUFDLENBQUMsRUFBQyxFQUFDLEVBQUMsSUFBSSxFQUFDLE1BQU0sRUFBQyxLQUFLLEVBQUMsQ0FBQyxDQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLENBQUMsRUFBQyxXQUFXLEVBQUMsRUFBRSxFQUFDLEVBQUMsRUFBQyxJQUFJLEVBQUMsTUFBTSxFQUFDLEtBQUssRUFBQyxDQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsQ0FBQyxFQUFDLFdBQVcsRUFBQyxFQUFFLEVBQUMsRUFBQyxFQUFDLElBQUksRUFBQyxNQUFNLEVBQUMsS0FBSyxFQUFDLENBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxDQUFDLEVBQUMsV0FBVyxFQUFDLEVBQUUsRUFBQyxFQUFDLEVBQUMsSUFBSSxFQUFDLE1BQU0sRUFBQyxLQUFLLEVBQUMsQ0FBQyxDQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLENBQUMsRUFBQyxXQUFXLEVBQUMsRUFBRSxFQUFDLEVBQUMsRUFBQyxJQUFJLEVBQUMsTUFBTSxFQUFDLEtBQUssRUFBQyxDQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsQ0FBQyxFQUFDLFdBQVcsRUFBQyxFQUFFLEVBQUMsRUFBQyxFQUFDLElBQUksRUFBQyxNQUFNLEVBQUMsS0FBSyxFQUFDLENBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxDQUFDLEVBQUMsV0FBVyxFQUFDLEVBQUUsRUFBQyxFQUFDLEVBQUMsSUFBSSxFQUFDLE1BQU0sRUFBQyxLQUFLLEVBQUMsQ0FBQyxDQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLENBQUMsRUFBQyxXQUFXLEVBQUMsRUFBRSxFQUFDLEVBQUMsRUFBQyxJQUFJLEVBQUMsTUFBTSxFQUFDLEtBQUssRUFBQyxDQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsQ0FBQyxFQUFDLFdBQVcsRUFBQyxFQUFFLEVBQUMsRUFBQyxFQUFDLElBQUksRUFBQyxNQUFNLEVBQUMsS0FBSyxFQUFDLENBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxDQUFDLEVBQUMsV0FBVyxFQUFDLEVBQUUsRUFBQyxFQUFDLEVBQUMsSUFBSSxFQUFDLE1BQU0sRUFBQyxLQUFLLEVBQUMsQ0FBQyxDQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLENBQUMsRUFBQyxXQUFXLEVBQUMsRUFBRSxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsSUFBSSxFQUFDLE1BQU0sRUFBQyxLQUFLLEVBQUMsQ0FBQyxDQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLENBQUMsRUFBQyxXQUFXLEVBQUMsQ0FBQyxFQUFDLEVBQUMsRUFBQyxJQUFJLEVBQUMsTUFBTSxFQUFDLEtBQUssRUFBQyxDQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsQ0FBQyxFQUFDLFdBQVcsRUFBQyxDQUFDLEVBQUMsRUFBQyxFQUFDLElBQUksRUFBQyxNQUFNLEVBQUMsS0FBSyxFQUFDLENBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxDQUFDLEVBQUMsV0FBVyxFQUFDLENBQUMsRUFBQyxFQUFDLEVBQUMsSUFBSSxFQUFDLE1BQU0sRUFBQyxLQUFLLEVBQUMsQ0FBQyxDQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxDQUFDLEVBQUMsV0FBVyxFQUFDLENBQUMsRUFBQyxFQUFDLEVBQUMsSUFBSSxFQUFDLE1BQU0sRUFBQyxLQUFLLEVBQUMsQ0FBQyxDQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxDQUFDLEVBQUMsV0FBVyxFQUFDLENBQUMsRUFBQyxFQUFDLEVBQUMsSUFBSSxFQUFDLE1BQU0sRUFBQyxLQUFLLEVBQUMsQ0FBQyxDQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxDQUFDLEVBQUMsV0FBVyxFQUFDLENBQUMsRUFBQyxFQUFDLEVBQUMsSUFBSSxFQUFDLE1BQU0sRUFBQyxLQUFLLEVBQUMsQ0FBQyxDQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxDQUFDLEVBQUMsV0FBVyxFQUFDLEVBQUUsRUFBQyxFQUFDLEVBQUMsSUFBSSxFQUFDLE1BQU0sRUFBQyxLQUFLLEVBQUMsQ0FBQyxDQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxDQUFDLEVBQUMsV0FBVyxFQUFDLEVBQUUsRUFBQyxFQUFDLEVBQUMsSUFBSSxFQUFDLE1BQU0sRUFBQyxLQUFLLEVBQUMsQ0FBQyxDQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxDQUFDLEVBQUMsV0FBVyxFQUFDLEVBQUUsRUFBQyxFQUFDLEVBQUMsSUFBSSxFQUFDLE1BQU0sRUFBQyxLQUFLLEVBQUMsQ0FBQyxDQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLENBQUMsRUFBQyxXQUFXLEVBQUMsRUFBRSxFQUFDLEVBQUMsRUFBQyxJQUFJLEVBQUMsTUFBTSxFQUFDLEtBQUssRUFBQyxDQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsQ0FBQyxFQUFDLFdBQVcsRUFBQyxFQUFFLEVBQUMsRUFBQyxFQUFDLElBQUksRUFBQyxNQUFNLEVBQUMsS0FBSyxFQUFDLENBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxDQUFDLEVBQUMsV0FBVyxFQUFDLEVBQUUsRUFBQyxFQUFDLEVBQUMsSUFBSSxFQUFDLE1BQU0sRUFBQyxLQUFLLEVBQUMsQ0FBQyxDQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLENBQUMsRUFBQyxXQUFXLEVBQUMsRUFBRSxFQUFDLEVBQUMsRUFBQyxJQUFJLEVBQUMsTUFBTSxFQUFDLEtBQUssRUFBQyxDQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLENBQUMsRUFBQyxXQUFXLEVBQUMsRUFBRSxFQUFDLEVBQUMsRUFBQyxJQUFJLEVBQUMsTUFBTSxFQUFDLEtBQUssRUFBQyxDQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLENBQUMsRUFBQyxXQUFXLEVBQUMsRUFBRSxFQUFDLEVBQUMsRUFBQyxJQUFJLEVBQUMsTUFBTSxFQUFDLEtBQUssRUFBQyxDQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLENBQUMsRUFBQyxXQUFXLEVBQUMsRUFBRSxFQUFDLEVBQUMsRUFBQyxJQUFJLEVBQUMsTUFBTSxFQUFDLEtBQUssRUFBQyxDQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLENBQUMsRUFBQyxXQUFXLEVBQUMsRUFBRSxFQUFDLEVBQUMsRUFBQyxJQUFJLEVBQUMsTUFBTSxFQUFDLEtBQUssRUFBQyxDQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsQ0FBQyxFQUFDLFdBQVcsRUFBQyxFQUFFLEVBQUMsRUFBQyxFQUFDLElBQUksRUFBQyxNQUFNLEVBQUMsS0FBSyxFQUFDLENBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxDQUFDLEVBQUMsV0FBVyxFQUFDLEVBQUUsRUFBQyxFQUFDLEVBQUMsSUFBSSxFQUFDLE1BQU0sRUFBQyxLQUFLLEVBQUMsQ0FBQyxDQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLENBQUMsRUFBQyxXQUFXLEVBQUMsRUFBRSxFQUFDLEVBQUMsRUFBQyxJQUFJLEVBQUMsTUFBTSxFQUFDLEtBQUssRUFBQyxDQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLENBQUMsRUFBQyxXQUFXLEVBQUMsRUFBRSxFQUFDLEVBQUMsRUFBQyxJQUFJLEVBQUMsTUFBTSxFQUFDLEtBQUssRUFBQyxDQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLENBQUMsRUFBQyxXQUFXLEVBQUMsRUFBRSxFQUFDLEVBQUMsRUFBQyxJQUFJLEVBQUMsTUFBTSxFQUFDLEtBQUssRUFBQyxDQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLENBQUMsRUFBQyxXQUFXLEVBQUMsRUFBRSxFQUFDLEVBQUMsRUFBQyxJQUFJLEVBQUMsTUFBTSxFQUFDLEtBQUssRUFBQyxDQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLENBQUMsRUFBQyxXQUFXLEVBQUMsRUFBRSxFQUFDLEVBQUMsRUFBQyxJQUFJLEVBQUMsTUFBTSxFQUFDLEtBQUssRUFBQyxDQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLENBQUMsRUFBQyxXQUFXLEVBQUMsRUFBRSxFQUFDLEVBQUMsRUFBQyxJQUFJLEVBQUMsTUFBTSxFQUFDLEtBQUssRUFBQyxDQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLENBQUMsRUFBQyxXQUFXLEVBQUMsRUFBRSxFQUFDLEVBQUMsRUFBQyxJQUFJLEVBQUMsTUFBTSxFQUFDLEtBQUssRUFBQyxDQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLENBQUMsRUFBQyxXQUFXLEVBQUMsRUFBRSxFQUFDLEVBQUMsRUFBQyxJQUFJLEVBQUMsTUFBTSxFQUFDLEtBQUssRUFBQyxDQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLENBQUMsRUFBQyxXQUFXLEVBQUMsRUFBRSxFQUFDLEVBQUMsRUFBQyxJQUFJLEVBQUMsTUFBTSxFQUFDLEtBQUssRUFBQyxDQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLENBQUMsRUFBQyxXQUFXLEVBQUMsRUFBRSxFQUFDLEVBQUMsRUFBQyxJQUFJLEVBQUMsTUFBTSxFQUFDLEtBQUssRUFBQyxDQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLENBQUMsRUFBQyxXQUFXLEVBQUMsRUFBRSxFQUFDLEVBQUMsRUFBQyxJQUFJLEVBQUMsTUFBTSxFQUFDLEtBQUssRUFBQyxDQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLENBQUMsRUFBQyxXQUFXLEVBQUMsRUFBRSxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsSUFBSSxFQUFDLE1BQU0sRUFBQyxLQUFLLEVBQUMsQ0FBQyxDQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsQ0FBQyxFQUFDLFdBQVcsRUFBQyxDQUFDLEVBQUMsRUFBQyxFQUFDLElBQUksRUFBQyxNQUFNLEVBQUMsS0FBSyxFQUFDLENBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLENBQUMsRUFBQyxXQUFXLEVBQUMsQ0FBQyxFQUFDLEVBQUMsRUFBQyxJQUFJLEVBQUMsTUFBTSxFQUFDLEtBQUssRUFBQyxDQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxDQUFDLEVBQUMsV0FBVyxFQUFDLEVBQUUsRUFBQyxFQUFDLEVBQUMsSUFBSSxFQUFDLE1BQU0sRUFBQyxLQUFLLEVBQUMsQ0FBQyxDQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsQ0FBQyxFQUFDLFdBQVcsRUFBQyxFQUFFLEVBQUMsRUFBQyxFQUFDLElBQUksRUFBQyxNQUFNLEVBQUMsS0FBSyxFQUFDLENBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLENBQUMsRUFBQyxXQUFXLEVBQUMsRUFBRSxFQUFDLEVBQUMsRUFBQyxJQUFJLEVBQUMsTUFBTSxFQUFDLEtBQUssRUFBQyxDQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxDQUFDLEVBQUMsV0FBVyxFQUFDLEVBQUUsRUFBQyxFQUFDLEVBQUMsSUFBSSxFQUFDLE1BQU0sRUFBQyxLQUFLLEVBQUMsQ0FBQyxDQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsQ0FBQyxFQUFDLFdBQVcsRUFBQyxFQUFFLEVBQUMsRUFBQyxFQUFDLElBQUksRUFBQyxNQUFNLEVBQUMsS0FBSyxFQUFDLENBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLENBQUMsRUFBQyxXQUFXLEVBQUMsRUFBRSxFQUFDLEVBQUMsRUFBQyxJQUFJLEVBQUMsTUFBTSxFQUFDLEtBQUssRUFBQyxDQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxDQUFDLEVBQUMsV0FBVyxFQUFDLEVBQUUsRUFBQyxFQUFDLEVBQUMsSUFBSSxFQUFDLE1BQU0sRUFBQyxLQUFLLEVBQUMsQ0FBQyxDQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsQ0FBQyxFQUFDLFdBQVcsRUFBQyxFQUFFLEVBQUMsRUFBQyxFQUFDLElBQUksRUFBQyxNQUFNLEVBQUMsS0FBSyxFQUFDLENBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLENBQUMsRUFBQyxXQUFXLEVBQUMsRUFBRSxFQUFDLEVBQUMsRUFBQyxJQUFJLEVBQUMsTUFBTSxFQUFDLEtBQUssRUFBQyxDQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxDQUFDLEVBQUMsV0FBVyxFQUFDLEVBQUUsRUFBQyxFQUFDLEVBQUMsSUFBSSxFQUFDLE1BQU0sRUFBQyxLQUFLLEVBQUMsQ0FBQyxDQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsQ0FBQyxFQUFDLFdBQVcsRUFBQyxFQUFFLEVBQUMsRUFBQyxFQUFDLElBQUksRUFBQyxNQUFNLEVBQUMsS0FBSyxFQUFDLENBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLENBQUMsRUFBQyxXQUFXLEVBQUMsRUFBRSxFQUFDLEVBQUMsRUFBQyxJQUFJLEVBQUMsTUFBTSxFQUFDLEtBQUssRUFBQyxDQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxDQUFDLEVBQUMsV0FBVyxFQUFDLEVBQUUsRUFBQyxFQUFDLEVBQUMsSUFBSSxFQUFDLE1BQU0sRUFBQyxLQUFLLEVBQUMsQ0FBQyxDQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsQ0FBQyxFQUFDLFdBQVcsRUFBQyxFQUFFLEVBQUMsRUFBQyxFQUFDLElBQUksRUFBQyxNQUFNLEVBQUMsS0FBSyxFQUFDLENBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLENBQUMsRUFBQyxXQUFXLEVBQUMsRUFBRSxFQUFDLEVBQUMsRUFBQyxJQUFJLEVBQUMsTUFBTSxFQUFDLEtBQUssRUFBQyxDQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxDQUFDLEVBQUMsV0FBVyxFQUFDLEVBQUUsRUFBQyxFQUFDLEVBQUMsSUFBSSxFQUFDLE1BQU0sRUFBQyxLQUFLLEVBQUMsQ0FBQyxDQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsQ0FBQyxFQUFDLFdBQVcsRUFBQyxFQUFFLEVBQUMsRUFBQyxFQUFDLElBQUksRUFBQyxNQUFNLEVBQUMsS0FBSyxFQUFDLENBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLENBQUMsRUFBQyxXQUFXLEVBQUMsRUFBRSxFQUFDLEVBQUMsRUFBQyxJQUFJLEVBQUMsTUFBTSxFQUFDLEtBQUssRUFBQyxDQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxDQUFDLEVBQUMsV0FBVyxFQUFDLEVBQUUsRUFBQyxFQUFDLEVBQUMsSUFBSSxFQUFDLE1BQU0sRUFBQyxLQUFLLEVBQUMsQ0FBQyxDQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsQ0FBQyxFQUFDLFdBQVcsRUFBQyxFQUFFLEVBQUMsRUFBQyxFQUFDLElBQUksRUFBQyxNQUFNLEVBQUMsS0FBSyxFQUFDLENBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLENBQUMsRUFBQyxXQUFXLEVBQUMsRUFBRSxFQUFDLEVBQUMsRUFBQyxJQUFJLEVBQUMsTUFBTSxFQUFDLEtBQUssRUFBQyxDQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxDQUFDLEVBQUMsV0FBVyxFQUFDLEVBQUUsRUFBQyxFQUFDLEVBQUMsSUFBSSxFQUFDLE1BQU0sRUFBQyxLQUFLLEVBQUMsQ0FBQyxDQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsQ0FBQyxFQUFDLFdBQVcsRUFBQyxFQUFFLEVBQUMsRUFBQyxFQUFDLElBQUksRUFBQyxNQUFNLEVBQUMsS0FBSyxFQUFDLENBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLENBQUMsRUFBQyxXQUFXLEVBQUMsRUFBRSxFQUFDLEVBQUMsRUFBQyxJQUFJLEVBQUMsTUFBTSxFQUFDLEtBQUssRUFBQyxDQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxDQUFDLEVBQUMsV0FBVyxFQUFDLEVBQUUsRUFBQyxFQUFDLEVBQUMsSUFBSSxFQUFDLE1BQU0sRUFBQyxLQUFLLEVBQUMsQ0FBQyxDQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsQ0FBQyxFQUFDLFdBQVcsRUFBQyxFQUFFLEVBQUMsRUFBQyxFQUFDLElBQUksRUFBQyxNQUFNLEVBQUMsS0FBSyxFQUFDLENBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLENBQUMsRUFBQyxXQUFXLEVBQUMsRUFBRSxFQUFDLEVBQUMsRUFBQyxJQUFJLEVBQUMsTUFBTSxFQUFDLEtBQUssRUFBQyxDQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxDQUFDLEVBQUMsV0FBVyxFQUFDLEVBQUUsRUFBQyxFQUFDLEVBQUMsSUFBSSxFQUFDLE1BQU0sRUFBQyxLQUFLLEVBQUMsQ0FBQyxDQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsQ0FBQyxFQUFDLFdBQVcsRUFBQyxFQUFFLEVBQUMsRUFBQyxFQUFDLElBQUksRUFBQyxNQUFNLEVBQUMsS0FBSyxFQUFDLENBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLENBQUMsRUFBQyxXQUFXLEVBQUMsRUFBRSxFQUFDLEVBQUMsRUFBQyxJQUFJLEVBQUMsTUFBTSxFQUFDLEtBQUssRUFBQyxDQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxDQUFDLEVBQUMsV0FBVyxFQUFDLEVBQUUsRUFBQyxFQUFDLEVBQUMsSUFBSSxFQUFDLE1BQU0sRUFBQyxLQUFLLEVBQUMsQ0FBQyxDQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsQ0FBQyxFQUFDLFdBQVcsRUFBQyxFQUFFLEVBQUMsRUFBQyxFQUFDLElBQUksRUFBQyxNQUFNLEVBQUMsS0FBSyxFQUFDLENBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLENBQUMsRUFBQyxXQUFXLEVBQUMsRUFBRSxFQUFDLEVBQUMsRUFBQyxJQUFJLEVBQUMsTUFBTSxFQUFDLEtBQUssRUFBQyxDQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxDQUFDLEVBQUMsV0FBVyxFQUFDLEVBQUUsRUFBQyxFQUFDLEVBQUMsSUFBSSxFQUFDLE1BQU0sRUFBQyxLQUFLLEVBQUMsQ0FBQyxDQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsQ0FBQyxFQUFDLFdBQVcsRUFBQyxFQUFFLEVBQUMsRUFBQyxFQUFDLElBQUksRUFBQyxNQUFNLEVBQUMsS0FBSyxFQUFDLENBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLENBQUMsRUFBQyxXQUFXLEVBQUMsRUFBRSxFQUFDLEVBQUMsRUFBQyxJQUFJLEVBQUMsTUFBTSxFQUFDLEtBQUssRUFBQyxDQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxDQUFDLEVBQUMsV0FBVyxFQUFDLEVBQUUsRUFBQyxFQUFDLEVBQUMsSUFBSSxFQUFDLE1BQU0sRUFBQyxLQUFLLEVBQUMsQ0FBQyxDQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsQ0FBQyxFQUFDLFdBQVcsRUFBQyxFQUFFLEVBQUMsRUFBQyxFQUFDLElBQUksRUFBQyxNQUFNLEVBQUMsS0FBSyxFQUFDLENBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLENBQUMsRUFBQyxXQUFXLEVBQUMsRUFBRSxFQUFDLENBQUMsQ0FBQyxDQUFBO1FBR3Jtc0IsSUFBSSxDQUFDLFVBQVUsQ0FBQyxPQUFPLENBQUMsQ0FBQyxFQUFDLElBQUksRUFBQyxNQUFNLEVBQUMsS0FBSyxFQUFDLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxFQUFFLENBQUMsRUFBRSxDQUFDLEVBQUUsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxFQUFFLENBQUMsRUFBRSxDQUFDLEVBQUUsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxFQUFFLENBQUMsRUFBRSxDQUFDLEVBQUUsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxFQUFFLENBQUMsRUFBRSxDQUFDLEVBQUUsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxFQUFFLENBQUMsRUFBRSxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsRUFBQyxXQUFXLEVBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxDQUFDO0lBS25KLENBQUM7SUFHTSx5QkFBYyxHQUFyQjtRQUNJLEVBQUUsQ0FBQyxFQUFFLENBQUMsUUFBUSxDQUFDLGNBQWMsRUFBRSxDQUFDO0lBQ3BDLENBQUM7O0lBdFNELDBCQUEwQjtJQUNYLG9CQUFTLEdBQWdCLElBQUksQ0FBQztJQUZwQyxVQUFVO1FBRHRCLE9BQU8sQ0FBQyxZQUFZLENBQUM7T0FDVCxVQUFVLENBd1N0QjtJQUFELGlCQUFDO0NBeFNELEFBd1NDLElBQUE7QUF4U1ksZ0NBQVUiLCJmaWxlIjoiIiwic291cmNlUm9vdCI6Ii8iLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBXZUNoYXQgfSBmcm9tIFwiLi4vU2hhcmUvc2hhcmVcIjtcclxuaW1wb3J0IHsgR2FtZVRvb2wgfSBmcm9tIFwiLi4vVG9vbC9HYW1lVG9vbFwiO1xyXG5cclxuXHJcbmNvbnN0IHsgY2NjbGFzcywgcHJvcGVydHkgfSA9IGNjLl9kZWNvcmF0b3I7XHJcbkBjY2NsYXNzKCdHYW1lQ29uZmlnJylcclxuZXhwb3J0IGNsYXNzIEdhbWVDb25maWcgIHtcclxuICAgIC8v5omA5pyJ5o6n5Yi25L+h5oGv6YO96YCa6L+HR2FtZUFwcFN0YXJ05YaF5o6n5Yi2XHJcbiAgICBwcml2YXRlIHN0YXRpYyBfaW5zdGFuY2UgOiBHYW1lQ29uZmlnID0gbnVsbDtcclxuXHJcbiAgICBzdGF0aWMgR0FNRV9EQVRBOiBhbnlbXTtcclxuICAgIC8v5YWz5Y2h5pWw5o2uXHJcblxyXG5cclxuICAgIHN0YXRpYyBMRVZFTF9JTkZPOiB7IGlkOiBzdHJpbmc7IG1hcDogbnVtYmVyW11bXTsgbWluX3N0ZXBzOiBudW1iZXJ9W11bXTtcclxuICAgIHN0YXRpYyBDVVNUT01fSU5GTzoge1xyXG4gICAgICAgIG1vdmVTcGVlZDogbnVtYmVyOyAvL+a0quWzsOenu+WKqOmAn+W6plxyXG4gICAgICAgIHdhaXRUaW1lOiBudW1iZXI7IC8v5rSq5bOw5Yay5Ye75YCS6K6h5pe2XHJcbiAgICAgICAgZmFzdFBhdGg6IG51bWJlcjsgLy/mnIDnn63ot6/lvoRcclxuICAgIH1bXTtcclxuICAgIHN0YXRpYyBUSU1FX0lORk86IHtcclxuICAgICAgICB3YXRlclNwZWVkOiBudW1iZXJbXTsgLy/mtKrls7DpgJ/luqZcclxuICAgICAgICB0b3RhbFRpbWU6IG51bWJlcjsgLy/muLjmiI/mgLvml7bplb9cclxuICAgICAgICB3YXRlclRpbWU6IG51bWJlcltdOyAvL+a0quWzsOadpeeahOWAkuiuoeaXtlxyXG4gICAgICAgIHJvYWRTcGVlZDogbnVtYmVyOyAvL+ays+mBk+S/ruetkemAn+W6plxyXG4gICAgICAgIFJlaW5mb3JjZVNwZWVkOiBudW1iZXI7IC8v5Yqg5Zu65pe26Ze06YCf5bqmXHJcbiAgICAgICAgWGlfU29pbFNwZWVkOiBudW1iZXI7XHJcbiAgICB9O1xyXG4gICAgLy/nlKjkuo7nm5vmlL7ln4vngrnmlbDmja7kuIrkvKDvvIzmr4/mrKHkuIrkvKDlkI7muIXnqbpcclxuICAgIHN0YXRpYyBDTElDS19EQVRBOiB7XHJcbiAgICAgICAgdHlwZTogbnVtYmVyOyAvL+S4iuS8oOaVsOaNruexu+Wei1xyXG4gICAgICAgIHN1Y2Nlc3M6IGJvb2xlYW47IC8v5q2k5bGA5ri45oiP5q2j56Gu5LiO5ZCmXHJcbiAgICAgICAgcm91bmQ6IG51bWJlcjsgLy/lm57lkIjmlbDova7mrKFcclxuICAgICAgICBnZXRTY29yZTogbnVtYmVyOyAvL+acrOi9ruW+l+WIhu+8jOWksei0peS4ujDliIZcclxuICAgICAgICBjdW11bGF0aXZlU2NvcmU6IG51bWJlcjsgLy/mnKzliafmuLjmiI/mgLvorqHlvpfliIZcclxuICAgICAgICBtYXBJZDogc3RyaW5nOyAvL+WcsOWbvklEXHJcbiAgICAgICAgZGlmZmljdWx0eTogbnVtYmVyOyAvL+WcsOWbvumavuW6plxyXG4gICAgICAgIG9wdGltaXplZFN0ZXBzOiBudW1iZXI7IC8v5YWz5Y2h5pyA55+t5q2l5pWwXHJcbiAgICAgICAgdXNlZFN0ZXBzOiBudW1iZXI7IC8v546p5a625L+u5bu65oC75q2l5pWwXHJcbiAgICAgICAgc3RlcExpc3Q6IGFueVtdOyAvL1XjgIFE44CBTOOAgVIgICBYIOaBr+WjpCAgIEYg5Yqg5Zu6XHJcbiAgICAgICAgc3RhcnRUaW1lOiBudW1iZXI7IC8v5LuO5ri45oiP5byA5aeL5Yiw546p5a625pON5L2c55qE56ys5LiA5q2l5oiq5q2i5pe26Ze0ICDljZXkvY3mr6vnp5JcclxuICAgICAgICBzdWJtaXRUaW1lOiBudW1iZXI7IC8v5LuO56ys5LiA5q2l5pON5L2c5Yiw5o+Q5Lqk5pe26Ze077yM5aaC5p6c5pyq5o+Q5Lqk5Li6LTEg5Y2V5L2N5q+r56eSXHJcbiAgICAgICAgZHVyYXRpb246IG51bWJlcjsgLy/muLjmiI/mgLvnlKjml7bvvIjmiKrmraLliLDmj5DkuqTvvIkg5Y2V5L2N5q+r56eSXHJcbiAgICAgICAgZHJhd2luZ0JhY2s6IG51bWJlcjsgLy/lkI7pgIDmrKHmlbBcclxuICAgICAgICBkcmF3aW5nUmVzZXQ6IG51bWJlcjsgLy/muIXnqbrmrKHmlbBcclxuICAgICAgICB0aW1lcjogbnVtYmVyOyAgLy/muLjmiI/lgJLorqHml7bliankvZnml7bplb8g56eSXHJcbiAgICB9O1xyXG4gICAgc3RhdGljIEdNX0lORk86IHtcclxuICAgICAgICAvLyBpc0VuZDogZmFsc2UsXHJcbiAgICAgICAgbWVhbl9UaW1lOiBudW1iZXI7IC8v5bmz5Z2H5pS+566t6YCf5bqmXHJcbiAgICAgICAgdG90YWw6IG51bWJlcjsgLy/mgLvlhbHlr7nnmoTkuKrmlbBcclxuICAgICAgICBjdXJyU2VlZDogbnVtYmVyOyAvL+eUqOS6jumaj+acuuaVsOenjeWtkFxyXG4gICAgICAgIGdhbWVJZDogc3RyaW5nOyAvL+a4uOaIj0lEXHJcbiAgICAgICAgdXNlcklkOiBudW1iZXI7IC8v55So5oi3SURcclxuICAgICAgICBndWlkZTogYm9vbGVhbjsgLy/mmK/lkKbmnInlvJXlr7xcclxuICAgICAgICB1cmw6IHN0cmluZzsgLy/orr/pl67ln5/lkI1cclxuICAgICAgICBzdWNjZXNzOiBib29sZWFuOyAvL+eUqOaIt+a4uOaIj+aIkOWKn+S4juWQplxyXG4gICAgICAgIG1hdGNoSWQ6IGFueTsgLy/nlKjkuo7ln4vngrnkuIrkvKDnmoRJRFxyXG4gICAgICAgIGN1c3RvbTogbnVtYmVyOyAvL+eUqOS6jua1i+ivlei3s+WFs+WNoVxyXG4gICAgICAgIHJvdW5kOiBudW1iZXI7IC8v5Zue5ZCI5pWwXHJcbiAgICAgICAgbGV2ZWw6IG51bWJlcjsgLy/lhbfkvZPmuLjmiI/lhoXov5vooYzliLDnrKzlh6DmraUgXHJcbiAgICAgICAgc3RlcFRpbWVMaXN0OiBudW1iZXI7IC8v5pW05bGA5ri45oiP55So5pe277yM55Sx5LqO5raJ5Y+K5Zy65pmv5YiH5o2i77yM5pWw5o2u6ZyA6KaB5L+d55WZXHJcbiAgICAgICAgc3VjY2Vzc0xpc3Q6IGFueVtdOyAvL+aVtOWxgOiDnOi0n1xyXG4gICAgICAgIGZlbjogbnVtYmVyOyAvL+Wwj+WxgOW+l+WIhlxyXG4gICAgICAgIHNjb3JlOiBudW1iZXI7IC8v5oC75b6X5YiGXHJcbiAgICAgICAgaWduaXRlQ291bnQ6IG51bWJlcjsgLy/njqnlrrbmgLvorqHmiJDlip/ngrnngavmlbBcclxuICAgICAgICBtaW5fU3RlcHM6IG51bWJlcjsgLy/mr4/mrKHkuIrkuIDmiormnIDlsI/mraXmlbBcclxuICAgICAgICBtaW5fVGltZTogbnVtYmVyOyAvL+avj+S4gOaKiuS4iuasoei3neemu+a0quWzsOWIsOadpeaXtumXtFxyXG4gICAgfTtcclxuXHJcblxyXG5cclxuXHJcbiAgICAvL+a4uOaIj+WGheS/oeaBr1xyXG5cclxuXHJcblxyXG4gICAgc3RhdGljIGdldCBJbnN0YW5jZSgpXHJcbiAgICB7XHJcbiAgICAgICAgaWYgKHRoaXMuX2luc3RhbmNlID09IG51bGwpXHJcbiAgICAgICAge1xyXG4gICAgICAgICAgICB0aGlzLl9pbnN0YW5jZSA9IG5ldyBHYW1lQ29uZmlnKCk7XHJcbiAgICAgICAgfVxyXG4gICAgICAgIHJldHVybiB0aGlzLl9pbnN0YW5jZTtcclxuICAgIH1cclxuICAgIC8vZ2V0U2VlZFJhbmRvbVxyXG4gICAgc3RhdGljIGluaXQoQXV0aGVudGljYXRpb24pe1xyXG4gICAgICAgIHRoaXMuQ0xJQ0tfaW5pdCgpO1xyXG4gICAgICAgIHRoaXMuTEVWRUxfSU5GT19pbml0KCk7XHJcbiAgICAgICAgdGhpcy5HTV9JTkZPX2luaXQoKTtcclxuICAgICAgICB2YXIgc2VsZiA9IHRoaXM7XHJcbiAgICAgICAgLy8gY2MucmVzb3VyY2VzLmxvYWQoJ0pzb24vQ0xJQ0tfREFUQScsIChlcnI6IGFueSwgcmVzOiBjYy5Kc29uQXNzZXQpID0+IHtcclxuICAgICAgICAvLyAgICAgaWYgKGVycikge1xyXG4gICAgICAgIC8vICAgICAgICAgcmV0dXJuO1xyXG4gICAgICAgIC8vICAgICB9XHJcbiAgICAgICAgLy8gICAgIGxldCBqc29uRGF0YTogb2JqZWN0ID0gcmVzLmpzb24hO1xyXG4gICAgICAgIC8vICAgICBzZWxmLkNMSUNLX0RBVEEgPSBqc29uRGF0YVtcImRhdGFcIl07XHJcbiAgICAgICAgLy8gfSlcclxuICAgICAgICAvLyBjYy5yZXNvdXJjZXMubG9hZCgnSnNvbi9MRVZFTF9JTkZPJywgKGVycjogYW55LCByZXM6IGNjLkpzb25Bc3NldCkgPT4ge1xyXG4gICAgICAgIC8vICAgICBpZiAoZXJyKSB7XHJcbiAgICAgICAgLy8gICAgICAgICByZXR1cm47XHJcbiAgICAgICAgLy8gICAgIH1cclxuICAgICAgICAgICAgXHJcbiAgICAgICAgLy8gICAgIGxldCBqc29uRGF0YTogb2JqZWN0ID0gcmVzLmpzb24hO1xyXG4gICAgICAgIC8vICAgICBzZWxmLkxFVkVMX0lORk8gPSBqc29uRGF0YVtcImRhdGFcIl07XHJcbiAgICAgICAgLy8gfSlcclxuICAgICAgICAvLyBjYy5yZXNvdXJjZXMubG9hZCgnSnNvbi9HTV9JTkZPJywgKGVycjogYW55LCByZXM6IGNjLkpzb25Bc3NldCkgPT4ge1xyXG4gICAgICAgIC8vICAgICBpZiAoZXJyKSB7XHJcbiAgICAgICAgLy8gICAgICAgICBpZighQXV0aGVudGljYXRpb24pIHNlbGYuQXV0aGVudGljYXRpb24oKTtcclxuICAgICAgICAvLyAgICAgICAgIHJldHVybjtcclxuICAgICAgICAvLyAgICAgfVxyXG4gICAgICAgICAgIFxyXG4gICAgICAgIC8vICAgICBsZXQganNvbkRhdGE6IG9iamVjdCA9IHJlcy5qc29uITtcclxuICAgICAgICAvLyAgICAgc2VsZi5HTV9JTkZPID0ganNvbkRhdGFbXCJkYXRhXCJdO1xyXG4gICAgICAgIC8vICAgICBjYy5meC5HYW1lVG9vbC5nZXRDdXN0b20oZmFsc2UpO1xyXG4gICAgICAgIC8vICAgICBpZighQXV0aGVudGljYXRpb24pIHNlbGYuQXV0aGVudGljYXRpb24oKTtcclxuICAgICAgICAvLyB9KVxyXG5cclxuICAgICAgICAvL0dBTUVfREFUQSDlup/lvIPkuobvvIzmmoLml7bkuI3liKDpmaTku6XpmLLlkI7pnaLkv67mlLnlm54g5LiA5pW05bGA5Lyg5LiA5qyhXHJcbiAgICAgICAgdGhpcy5HQU1FX0RBVEEgPSBbXHJcbiAgICAgICAgXVxyXG4gICAgICAgIHRoaXMuQ1VTVE9NX0lORk8gPSBbXHJcbiAgICAgICAgICAgIC8v56ys5LiA6Zq+5bqmXHJcbiAgICAgICAgICAgIHtcclxuICAgICAgICAgICAgICAgIG1vdmVTcGVlZDogMCwgICAgLy/mtKrls7Dnp7vliqjpgJ/luqZcclxuICAgICAgICAgICAgICAgIHdhaXRUaW1lOiAyMCwgICAvL+a0quWzsOWGsuWHu+WAkuiuoeaXtlxyXG4gICAgICAgICAgICAgICAgZmFzdFBhdGg6IDUgICAvL+acgOefrei3r+W+hFxyXG4gICAgICAgICAgICB9LFxyXG4gICAgICAgICAgICAvL+esrOS6jOmavuW6plxyXG4gICAgICAgICAgICB7XHJcbiAgICAgICAgICAgICAgICBtb3ZlU3BlZWQ6IDAsICAgIC8v5rSq5bOw56e75Yqo6YCf5bqmXHJcbiAgICAgICAgICAgICAgICB3YWl0VGltZTogMjAsICAgLy/mtKrls7DlhrLlh7vlgJLorqHml7ZcclxuICAgICAgICAgICAgICAgIGZhc3RQYXRoOiA1ICAgLy/mnIDnn63ot6/lvoRcclxuICAgICAgICAgICAgfSxcclxuICAgICAgICAgICAgLy/nrKzkuInpmr7luqZcclxuICAgICAgICAgICAge1xyXG4gICAgICAgICAgICAgICAgbW92ZVNwZWVkOiAwLCAgICAvL+a0quWzsOenu+WKqOmAn+W6plxyXG4gICAgICAgICAgICAgICAgd2FpdFRpbWU6IDIwLCAgIC8v5rSq5bOw5Yay5Ye75YCS6K6h5pe2XHJcbiAgICAgICAgICAgICAgICBmYXN0UGF0aDogNSAgIC8v5pyA55+t6Lev5b6EXHJcbiAgICAgICAgICAgIH0sXHJcbiAgICAgICAgICAgIC8v56ys5Zub6Zq+5bqmXHJcbiAgICAgICAgICAgIHtcclxuICAgICAgICAgICAgICAgIG1vdmVTcGVlZDogMCwgICAgLy/mtKrls7Dnp7vliqjpgJ/luqZcclxuICAgICAgICAgICAgICAgIHdhaXRUaW1lOiAyMCwgICAvL+a0quWzsOWGsuWHu+WAkuiuoeaXtlxyXG4gICAgICAgICAgICAgICAgZmFzdFBhdGg6IDUgICAvL+acgOefrei3r+W+hFxyXG4gICAgICAgICAgICB9LFxyXG4gICAgICAgICAgICAvL+esrOS6lOmavuW6plxyXG4gICAgICAgICAgICB7XHJcbiAgICAgICAgICAgICAgICBtb3ZlU3BlZWQ6IDAsICAgIC8v5rSq5bOw56e75Yqo6YCf5bqmXHJcbiAgICAgICAgICAgICAgICB3YWl0VGltZTogMjAsICAgLy/mtKrls7DlhrLlh7vlgJLorqHml7ZcclxuICAgICAgICAgICAgICAgIGZhc3RQYXRoOiA1ICAgLy/mnIDnn63ot6/lvoRcclxuICAgICAgICAgICAgfSxcclxuICAgICAgICAgICAgIC8v56ys5YWt6Zq+5bqmXHJcbiAgICAgICAgICAgIHtcclxuICAgICAgICAgICAgICAgIG1vdmVTcGVlZDogMCwgICAgLy/mtKrls7Dnp7vliqjpgJ/luqZcclxuICAgICAgICAgICAgICAgIHdhaXRUaW1lOiAyMCwgICAvL+a0quWzsOWGsuWHu+WAkuiuoeaXtlxyXG4gICAgICAgICAgICAgICAgZmFzdFBhdGg6IDUgICAvL+acgOefrei3r+W+hFxyXG4gICAgICAgICAgICB9LFxyXG4gICAgICAgICAgICAvL+esrOS4g+mavuW6piAgICAgICAgICBcclxuICAgICAgICAgICAge1xyXG4gICAgICAgICAgICAgICAgbW92ZVNwZWVkOiAwLCAgICAvL+a0quWzsOenu+WKqOmAn+W6plxyXG4gICAgICAgICAgICAgICAgd2FpdFRpbWU6IDIwLCAgIC8v5rSq5bOw5Yay5Ye75YCS6K6h5pe2XHJcbiAgICAgICAgICAgICAgICBmYXN0UGF0aDogNSAgIC8v5pyA55+t6Lev5b6EXHJcbiAgICAgICAgICAgIH0sXHJcbiAgICAgICAgICAgIC8v56ys5YWr6Zq+5bqmXHJcbiAgICAgICAgICAgIHtcclxuICAgICAgICAgICAgICAgIG1vdmVTcGVlZDogMCwgICAgLy/mtKrls7Dnp7vliqjpgJ/luqZcclxuICAgICAgICAgICAgICAgIHdhaXRUaW1lOiAyMCwgICAvL+a0quWzsOWGsuWHu+WAkuiuoeaXtlxyXG4gICAgICAgICAgICAgICAgZmFzdFBhdGg6IDUgICAvL+acgOefrei3r+W+hFxyXG4gICAgICAgICAgICB9LFxyXG4gICAgICAgICAgICAvL+esrOS5nemavuW6plxyXG4gICAgICAgICAgICB7XHJcbiAgICAgICAgICAgICAgICBtb3ZlU3BlZWQ6IDAsICAgIC8v5rSq5bOw56e75Yqo6YCf5bqmXHJcbiAgICAgICAgICAgICAgICB3YWl0VGltZTogMjAsICAgLy/mtKrls7DlhrLlh7vlgJLorqHml7ZcclxuICAgICAgICAgICAgICAgIGZhc3RQYXRoOiA1ICAgLy/mnIDnn63ot6/lvoRcclxuICAgICAgICAgICAgfSxcclxuICAgICAgICAgICAgLy/nrKzljYHpmr7luqZcclxuICAgICAgICAgICAge1xyXG4gICAgICAgICAgICAgICAgbW92ZVNwZWVkOiAwLCAgICAvL+a0quWzsOenu+WKqOmAn+W6plxyXG4gICAgICAgICAgICAgICAgd2FpdFRpbWU6IDIwLCAgIC8v5rSq5bOw5Yay5Ye75YCS6K6h5pe2XHJcbiAgICAgICAgICAgICAgICBmYXN0UGF0aDogNSAgIC8v5pyA55+t6Lev5b6EXHJcbiAgICAgICAgICAgIH0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXHJcbiAgICAgICAgXVxyXG4gICAgICAgIFdlQ2hhdC5zZXRTaGFyZShsb2NhdGlvbi5ocmVmKTtcclxuICAgICAgICBpZighQXV0aGVudGljYXRpb24pIHNlbGYuQXV0aGVudGljYXRpb24oKTtcclxuICAgIH1cclxuICAgIFxyXG4gICAgLy/mlbDmja7lpIfnlKhcclxuICAgIHN0YXRpYyBHTV9JTkZPX2luaXQoKSB7XHJcbiAgICAgICAgdGhpcy5HTV9JTkZPID0ge1xyXG4gICAgICAgICAgICAvLyBpc0VuZDogZmFsc2UsXHJcbiAgICAgICAgICAgIG1lYW5fVGltZTogMCwgICAgICAgICAgICAgICAgLy/lubPlnYfmlL7nrq3pgJ/luqZcclxuICAgICAgICAgICAgdG90YWw6IDAsICAgICAgICAgICAgICAgICAgICAvL+aAu+WFseWvueeahOS4quaVsFxyXG4gICAgICAgICAgICBjdXJyU2VlZDogMjAwMDAwLCAgICAgICAgICAgLy/nlKjkuo7pmo/mnLrmlbDnp43lrZBcclxuICAgICAgICAgICAgZ2FtZUlkOiBcIjEwMDAxMlwiLCAgICAgICAgICAgLy/muLjmiI9JRFxyXG4gICAgICAgICAgICB1c2VySWQ6IDAsICAgICAgICAgICAgICAgICAgLy/nlKjmiLdJRFxyXG4gICAgICAgICAgICBndWlkZTogZmFsc2UsICAgICAgICAgICAgICAgICAvL+aYr+WQpuacieW8leWvvFxyXG4gICAgICAgICAgICB1cmw6IFwiaHR0cHM6Ly9hcGkuc3Bhcmt1cy5jblwiLC8v6K6/6Zeu5Z+f5ZCNXHJcbiAgICAgICAgICAgIHN1Y2Nlc3M6IGZhbHNlLCAgICAgICAgICAgICAvL+eUqOaIt+a4uOaIj+aIkOWKn+S4juWQplxyXG4gICAgICAgICAgICBtYXRjaElkOiBudWxsLCAgICAgICAgICAgICAgLy/nlKjkuo7ln4vngrnkuIrkvKDnmoRJRFxyXG4gICAgICAgICAgICBjdXN0b206IDAsICAgICAgICAgICAgICAgICAgLy/nlKjkuo7mtYvor5Xot7PlhbPljaFcclxuICAgICAgICAgICAgcm91bmQ6MCwgICAgICAgICAgICAgICAgICAgIC8v5Zue5ZCI5pWwXHJcbiAgICAgICAgICAgIGxldmVsOiA2LCAgICAgICAgICAgICAgICAgICAgLy/lhbfkvZPmuLjmiI/lhoXov5vooYzliLDnrKzlh6DmraUgXHJcbiAgICAgICAgICAgIHN0ZXBUaW1lTGlzdDowLCAgICAgICAgICAgICAvL+aVtOWxgOa4uOaIj+eUqOaXtu+8jOeUseS6jua2ieWPiuWcuuaZr+WIh+aNou+8jOaVsOaNrumcgOimgeS/neeVmVxyXG4gICAgICAgICAgICBzdWNjZXNzTGlzdDpbXSwgICAgICAgICAgICAgIC8v5pW05bGA6IOc6LSfXHJcbiAgICAgICAgICAgIGZlbjowLCAgICAgICAgICAgICAgICAgICAgICAvL+Wwj+WxgOW+l+WIhlxyXG4gICAgICAgICAgICBzY29yZTowLCAgICAgICAgICAgICAgICAgICAgLy/mgLvlvpfliIZcclxuICAgICAgICAgICAgaWduaXRlQ291bnQ6IDAsICAgICAgICAgICAgIC8v546p5a625oC76K6h5oiQ5Yqf54K554Gr5pWwXHJcbiAgICAgICAgICAgIG1pbl9TdGVwczoxNSwgICAgICAgICAgICAgICAgLy/mr4/mrKHkuIrkuIDmiormnIDlsI/mraXmlbBcclxuICAgICAgICAgICAgbWluX1RpbWU6NSAgICAgICAgICAgICAgICAgIC8v5q+P5LiA5oqK5LiK5qyh6Led56a75rSq5bOw5Yiw5p2l5pe26Ze0XHJcbiAgICAgICAgfTtcclxuXHJcbiAgICB9XHJcbiAgICBzdGF0aWMgR01fSU5GT19TRVQoa2V5LHZhbHVlKSB7XHJcbiAgICAgICAgdGhpcy5HTV9JTkZPW2tleV0gPSB2YWx1ZTtcclxuICAgIH1cclxuICAgIHN0YXRpYyBDTElDS19pbml0KCkge1xyXG4gICAgICAgIHRoaXMuQ0xJQ0tfREFUQSA9XHJcbiAgICAgICAge1xyXG4gICAgICAgICAgICB0eXBlOiAxLCAgICAgICAgICAgIC8v5LiK5Lyg5pWw5o2u57G75Z6LXHJcbiAgICAgICAgICAgIHN1Y2Nlc3M6IGZhbHNlLCAgICAgLy/mraTlsYDmuLjmiI/mraPnoa7kuI7lkKZcclxuICAgICAgICAgICAgcm91bmQ6IDAsICAgICAgICAgICAvL+WbnuWQiOaVsOi9ruasoVxyXG4gICAgICAgICAgICBnZXRTY29yZTogMCwgICAgICAgIC8v5pys6L2u5b6X5YiG77yM5aSx6LSl5Li6MOWIhlxyXG4gICAgICAgICAgICBjdW11bGF0aXZlU2NvcmU6IDAsIC8v5pys5Ymn5ri45oiP5oC76K6h5b6X5YiGXHJcbiAgICAgICAgICAgIG1hcElkOiBcIlwiLCAgICAgICAgICAvL+WcsOWbvklEXHJcbiAgICAgICAgICAgIGRpZmZpY3VsdHk6IDAsICAgICAgLy/lnLDlm77pmr7luqZcclxuICAgICAgICAgICAgb3B0aW1pemVkU3RlcHM6IDAsICAvL+WFs+WNoeacgOefreatpeaVsFxyXG4gICAgICAgICAgICB1c2VkU3RlcHM6IDAsICAgICAgIC8v546p5a625L+u5bu65oC75q2l5pWwXHJcbiAgICAgICAgICAgIHN0ZXBMaXN0OiBbXSwgICAgICAgLy9V44CBROOAgUzjgIFSICAgWCDmga/lo6QgICBGIOWKoOWbulxyXG4gICAgICAgICAgICBzdGFydFRpbWU6LTEsICAgICAgICAvL+S7jua4uOaIj+W8gOWni+WIsOeOqeWutuaTjeS9nOeahOesrOS4gOatpeaIquatouaXtumXtCAg5Y2V5L2N5q+r56eSXHJcbiAgICAgICAgICAgIHN1Ym1pdFRpbWU6LTEsICAgICAgIC8v5LuO56ys5LiA5q2l5pON5L2c5Yiw5o+Q5Lqk5pe26Ze077yM5aaC5p6c5pyq5o+Q5Lqk5Li6LTEg5Y2V5L2N5q+r56eSXHJcbiAgICAgICAgICAgIGR1cmF0aW9uOjAsICAgICAgICAgLy/muLjmiI/mgLvnlKjml7bvvIjmiKrmraLliLDmj5DkuqTvvIkg5Y2V5L2N5q+r56eSIOWmguaenOacquS7luenu+S6pOWImeS4uuaXtumXtOS4iumZkFxyXG4gICAgICAgICAgICBkcmF3aW5nQmFjazowLCAgICAgIC8v5ZCO6YCA5qyh5pWwXHJcbiAgICAgICAgICAgIGRyYXdpbmdSZXNldDowLCAgICAgLy/muIXnqbrmrKHmlbBcclxuICAgICAgICAgICAgdGltZXI6IDAsICAgICAgICAgICAvL+a1i+ivhOWAkuiuoeaXtuWJqeS9meaXtumXtCDljrvnp5JcclxuICAgICAgICB9XHJcbiAgICB9XHJcblxyXG4gICAgc3RhdGljIENMSUNLX1NFVChrZXksdmFsdWUpIHtcclxuICAgICAgICB0aGlzLkNMSUNLX0RBVEFba2V5XSA9IHZhbHVlO1xyXG4gICAgfVxyXG5cclxuICAgIHN0YXRpYyBMRVZFTF9JTkZPX2luaXQoKSB7XHJcbiAgICAgICAgdGhpcy5USU1FX0lORk8gPSB7XHJcbiAgICAgICAgICAgIHdhdGVyU3BlZWQ6WzAuMywwLjI1LDAuMiwwLjE4LDAuMTYsMC4xNCwwLjEyLDAuMV0sIC8v5rSq5bOw6YCf5bqmXHJcbiAgICAgICAgICAgIHRvdGFsVGltZTogMTIwLCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvL+a4uOaIj+aAu+aXtumVv1xyXG4gICAgICAgICAgICB3YXRlclRpbWU6WzEwLDEyLDE0LDE2LDE4LDIwLDIwLDIwXSwgICAgICAgICAgICAvL+a0quWzsOadpeeahOWAkuiuoeaXtlxyXG4gICAgICAgICAgICByb2FkU3BlZWQ6MC4yLCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvL+ays+mBk+S/ruetkemAn+W6plxyXG4gICAgICAgICAgICBSZWluZm9yY2VTcGVlZDowLjIsICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvL+WKoOWbuuaXtumXtOmAn+W6plxyXG4gICAgICAgICAgICBYaV9Tb2lsU3BlZWQ6MC4yLCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvL+aBr+WjpOaXtumXtOmAn+W6plxyXG4gICAgICAgIH1cclxuICAgICAgICAvKlxyXG4gICAgICAgIG1vdmVTcGVlZDogMCwgICAgLy/mtKrls7Dnp7vliqjpgJ/luqZcclxuICAgICAgICB3YWl0VGltZTogMjAsICAgLy/mtKrls7DlhrLlh7vlgJLorqHml7ZcclxuICAgICAgICBmYXN0UGF0aDogNSAgIC8v5pyA55+t6Lev5b6EXHJcbiAgICAgICAgKi8gXHJcbiAgICAgICAgLy8gdGhpcy5MRVZFTF9JTkZPID0gW1xyXG4gICAgICAgIC8vICAgICBbIFxyXG4gICAgICAgIC8vICAgICAgICAge1xyXG4gICAgICAgIC8vICAgICAgICAgICAgIFwiaWRcIjogMTAwMSxcclxuICAgICAgICAvLyAgICAgICAgICAgICBcIm1hcFwiOiBbXHJcbiAgICAgICAgLy8gICAgICAgICAgICAgICAgIFswLDAsMCwwLDAsMF0sXHJcbiAgICAgICAgLy8gICAgICAgICAgICAgICAgIFswLDAsMCwwLDAsNF0sXHJcbiAgICAgICAgLy8gICAgICAgICAgICAgICAgIFswLDAsMywwLDMsMF0sXHJcbiAgICAgICAgLy8gICAgICAgICAgICAgICAgIFswLDAsMCwwLDAsMF0sXHJcbiAgICAgICAgLy8gICAgICAgICAgICAgICAgIFswLDAsMCwzLDAsMF0sXHJcbiAgICAgICAgLy8gICAgICAgICAgICAgICAgIFswLDAsMCwwLDAsMF0sXHJcbiAgICAgICAgLy8gICAgICAgICAgICAgICAgIFswLDAsMiwwLDAsMF0sXHJcbiAgICAgICAgLy8gICAgICAgICAgICAgICAgIFswLDAsMCwwLDAsMF0sXHJcbiAgICAgICAgLy8gICAgICAgICAgICAgICAgIFsxLDAsMCwwLDAsMF1cclxuICAgICAgICAvLyAgICAgICAgICAgICBdXHJcbiAgICAgICAgLy8gICAgICAgICB9LFxyXG4gICAgICAgIC8vICAgICAgICAge1xyXG4gICAgICAgIC8vICAgICAgICAgICAgIFwiaWRcIjogMTAwMixcclxuICAgICAgICAvLyAgICAgICAgICAgICBcIm1hcFwiOiBbXHJcbiAgICAgICAgLy8gICAgICAgICAgICAgICAgIFswLDAsMCwwLDAsMCwwLDAsNF0sXHJcbiAgICAgICAgLy8gICAgICAgICAgICAgICAgIFswLDAsMCwwLDAsMCwwLDAsMF0sXHJcbiAgICAgICAgLy8gICAgICAgICAgICAgICAgIFswLDAsMCwwLDAsMCwwLDAsMF0sXHJcbiAgICAgICAgLy8gICAgICAgICAgICAgICAgIFswLDAsMCwwLDAsMCwwLDAsMF0sXHJcbiAgICAgICAgLy8gICAgICAgICAgICAgICAgIFswLDAsMCwwLDAsMCwwLDAsMF0sXHJcbiAgICAgICAgLy8gICAgICAgICAgICAgICAgIFswLDEsMCwwLDAsMCwwLDAsMF1cclxuICAgICAgICAvLyAgICAgICAgICAgICBdXHJcbiAgICAgICAgLy8gICAgICAgICB9XHJcbiAgICAgICAgLy8gICAgIF0sXHJcblxyXG4gICAgICBcclxuICAgICAgICAvLyBdXHJcblxyXG4gICAgICAgIHRoaXMuTEVWRUxfSU5GTyA9IFtbe1wiaWRcIjpcIjEwMDFcIixcIm1hcFwiOltbMCw0LDAsMF0sWzAsMCwwLDBdLFswLDAsMCwwXSxbMCwwLDEsMF1dLFwibWluX3N0ZXBzXCI6M30se1wiaWRcIjpcIjEwMDJcIixcIm1hcFwiOltbMSwwLDAsMF0sWzAsMCwwLDRdLFswLDAsMCwwXSxbMCwwLDAsMF1dLFwibWluX3N0ZXBzXCI6M30se1wiaWRcIjpcIjEwMDRcIixcIm1hcFwiOltbMSwwLDAsMF0sWzAsMCwwLDBdLFswLDAsMCwwXSxbMCw0LDAsMF1dLFwibWluX3N0ZXBzXCI6M30se1wiaWRcIjpcIjEwMDZcIixcIm1hcFwiOltbNCwwLDAsMF0sWzAsMCwwLDBdLFswLDAsMCwwXSxbMCwxLDAsMF1dLFwibWluX3N0ZXBzXCI6M30se1wiaWRcIjpcIjEwMDNcIixcIm1hcFwiOltbMSwwLDAsMF0sWzAsMCwwLDBdLFswLDAsMCwwXSxbMCwwLDAsNF1dLFwibWluX3N0ZXBzXCI6NH0se1wiaWRcIjpcIjEwMDVcIixcIm1hcFwiOltbMSwwLDAsMF0sWzAsMCwwLDBdLFswLDAsMCw0XSxbMCwwLDAsMF1dLFwibWluX3N0ZXBzXCI6NH0se1wiaWRcIjpcIjEwMDdcIixcIm1hcFwiOltbMCw0LDAsMF0sWzAsMCwwLDBdLFswLDAsMCwwXSxbMCwwLDAsMV1dLFwibWluX3N0ZXBzXCI6NH0se1wiaWRcIjpcIjEwMDhcIixcIm1hcFwiOltbMCwwLDAsNF0sWzAsMCwwLDBdLFswLDAsMCwwXSxbMSwwLDAsMF1dLFwibWluX3N0ZXBzXCI6NH1dLFt7XCJpZFwiOlwiMjAwMVwiLFwibWFwXCI6W1swLDAsMCwwLDFdLFswLDAsMCwwLDBdLFswLDAsMywwLDNdLFswLDAsMCwwLDBdLFs0LDAsMCwwLDNdXSxcIm1pbl9zdGVwc1wiOjR9LHtcImlkXCI6XCIyMDAyXCIsXCJtYXBcIjpbWzAsMSwwLDAsMF0sWzAsMCwwLDAsMF0sWzMsMywwLDAsNF0sWzAsMCwwLDAsMF0sWzMsMCwwLDAsMF1dLFwibWluX3N0ZXBzXCI6NH0se1wiaWRcIjpcIjIwMDlcIixcIm1hcFwiOltbMCwzLDAsMCw0XSxbMywwLDAsMCwwXSxbMCwwLDAsMCwwXSxbMSwwLDAsMCwwXSxbMCwzLDAsMCwwXV0sXCJtaW5fc3RlcHNcIjo0fSx7XCJpZFwiOlwiMjAxMFwiLFwibWFwXCI6W1swLDAsMCwwLDFdLFswLDAsMCwwLDBdLFswLDAsMCwwLDBdLFswLDMsMCwzLDBdLFs0LDAsMywwLDBdXSxcIm1pbl9zdGVwc1wiOjR9LHtcImlkXCI6XCIyMDExXCIsXCJtYXBcIjpbWzQsMywxLDAsMF0sWzAsMCwwLDAsM10sWzAsMCwwLDMsMF0sWzAsMCwwLDAsMF0sWzAsMCwwLDAsMF1dLFwibWluX3N0ZXBzXCI6NH0se1wiaWRcIjpcIjIwMjFcIixcIm1hcFwiOltbMCwwLDAsMSwwXSxbMCwwLDMsMCwwXSxbMCwwLDAsMywzXSxbMCwwLDAsMCwwXSxbMCw0LDAsMCwwXV0sXCJtaW5fc3RlcHNcIjo0fSx7XCJpZFwiOlwiMjAwNFwiLFwibWFwXCI6W1sxLDAsMCwwLDBdLFswLDAsMCwwLDNdLFszLDAsMCwwLDBdLFswLDAsMCwwLDBdLFswLDAsMCwwLDRdXSxcIm1pbl9zdGVwc1wiOjV9LHtcImlkXCI6XCIyMDEyXCIsXCJtYXBcIjpbWzAsMywwLDQsMF0sWzAsMCwwLDMsMF0sWzEsMCwzLDAsMF0sWzAsMCwwLDAsMF0sWzAsMCwwLDAsMF1dLFwibWluX3N0ZXBzXCI6NX0se1wiaWRcIjpcIjIwMTNcIixcIm1hcFwiOltbMCwwLDAsMCwwXSxbMSwwLDAsMCwwXSxbMCwwLDAsMywzXSxbMywwLDAsMCwwXSxbMCwwLDAsNCwwXV0sXCJtaW5fc3RlcHNcIjo1fSx7XCJpZFwiOlwiMjAxNFwiLFwibWFwXCI6W1szLDAsMSwwLDBdLFswLDMsMCwwLDBdLFswLDAsMCwwLDBdLFs0LDAsMCwzLDBdLFswLDAsMCwwLDBdXSxcIm1pbl9zdGVwc1wiOjV9LHtcImlkXCI6XCIyMDE1XCIsXCJtYXBcIjpbWzMsMCwwLDAsMV0sWzMsMCwwLDAsMF0sWzAsMCwwLDAsMF0sWzQsMywwLDAsMF0sWzMsMCwwLDAsMF1dLFwibWluX3N0ZXBzXCI6NX0se1wiaWRcIjpcIjIwMTZcIixcIm1hcFwiOltbMCwwLDAsMCwwXSxbMSwwLDMsMCwwXSxbMywwLDAsMCwzXSxbMCwwLDAsMCwwXSxbMCwwLDAsMCw0XV0sXCJtaW5fc3RlcHNcIjo1fSx7XCJpZFwiOlwiMjAxN1wiLFwibWFwXCI6W1swLDMsMCwwLDBdLFs0LDAsMCwwLDBdLFswLDAsMCwwLDBdLFszLDAsMywwLDBdLFszLDAsMCwwLDFdXSxcIm1pbl9zdGVwc1wiOjV9LHtcImlkXCI6XCIyMDE4XCIsXCJtYXBcIjpbWzAsMyw0LDMsM10sWzAsMCwwLDAsMF0sWzAsMCwwLDAsMF0sWzAsMCwwLDAsMF0sWzAsMCwzLDAsMV1dLFwibWluX3N0ZXBzXCI6NX0se1wiaWRcIjpcIjIwMTlcIixcIm1hcFwiOltbMywwLDAsNCwwXSxbMCwwLDAsMywwXSxbMCwwLDAsMCwwXSxbMCwwLDAsMCwwXSxbMSwwLDMsMCwwXV0sXCJtaW5fc3RlcHNcIjo1fSx7XCJpZFwiOlwiMjAyMFwiLFwibWFwXCI6W1s0LDAsMywwLDFdLFswLDAsMCwwLDNdLFswLDAsMCwwLDBdLFswLDAsMCwwLDBdLFswLDAsMywwLDBdXSxcIm1pbl9zdGVwc1wiOjV9LHtcImlkXCI6XCIyMDAzXCIsXCJtYXBcIjpbWzEsMCwwLDMsMF0sWzAsMCwzLDAsMF0sWzAsMCwwLDAsMF0sWzAsMCwwLDAsMF0sWzAsMywwLDQsMF1dLFwibWluX3N0ZXBzXCI6Nn0se1wiaWRcIjpcIjIwMDVcIixcIm1hcFwiOltbMCwzLDAsMCwwXSxbMSwwLDAsMCwwXSxbMCwwLDAsMywwXSxbMCwwLDAsMCwwXSxbMCwzLDAsNCwwXV0sXCJtaW5fc3RlcHNcIjo2fSx7XCJpZFwiOlwiMjAwNlwiLFwibWFwXCI6W1swLDEsMCwwLDBdLFswLDAsMCwwLDNdLFswLDAsMCwwLDNdLFswLDAsMCwwLDBdLFswLDAsMCwzLDRdXSxcIm1pbl9zdGVwc1wiOjZ9LHtcImlkXCI6XCIyMDA3XCIsXCJtYXBcIjpbWzMsMCwwLDAsMV0sWzAsMCwwLDAsM10sWzAsMCwwLDAsMF0sWzAsMCwwLDAsMF0sWzQsMywwLDAsMF1dLFwibWluX3N0ZXBzXCI6Nn0se1wiaWRcIjpcIjIwMDhcIixcIm1hcFwiOltbMyw0LDAsMCwwXSxbMCwwLDAsMCwzXSxbMCwwLDAsMywxXSxbMCwwLDAsMCwwXSxbMCwwLDAsMCwwXV0sXCJtaW5fc3RlcHNcIjo2fSx7XCJpZFwiOlwiMjAyMlwiLFwibWFwXCI6W1swLDAsMCwwLDBdLFsxLDMsMCwwLDNdLFswLDAsMCwwLDBdLFswLDAsMCwwLDBdLFswLDAsMyw0LDBdXSxcIm1pbl9zdGVwc1wiOjZ9XSxbe1wiaWRcIjpcIjMwMDFcIixcIm1hcFwiOltbMywwLDIsMyw0XSxbMCwwLDAsMiwyXSxbMiwzLDMsMywzXSxbMCwwLDIsMCwyXSxbMSwwLDIsMywwXV0sXCJtaW5fc3RlcHNcIjo1fSx7XCJpZFwiOlwiMzAwMlwiLFwibWFwXCI6W1szLDAsMywyLDBdLFsxLDIsMCwzLDJdLFsyLDMsMCwwLDRdLFsyLDAsMiwyLDBdLFszLDMsMCwzLDBdXSxcIm1pbl9zdGVwc1wiOjV9LHtcImlkXCI6XCIzMDAzXCIsXCJtYXBcIjpbWzAsMiwzLDMsNF0sWzIsMiwwLDAsMF0sWzEsMywzLDMsMl0sWzIsMiwzLDIsM10sWzAsMCwwLDAsMF1dLFwibWluX3N0ZXBzXCI6NX0se1wiaWRcIjpcIjMwMDRcIixcIm1hcFwiOltbMywyLDIsMSwwXSxbMCwwLDMsMiwyXSxbMywwLDIsMywwXSxbMywwLDAsMywzXSxbMCwyLDQsMCwyXV0sXCJtaW5fc3RlcHNcIjo1fSx7XCJpZFwiOlwiMzAwNVwiLFwibWFwXCI6W1szLDAsMywwLDBdLFsyLDMsMCwwLDFdLFswLDIsMiwyLDNdLFs0LDIsMCwwLDJdLFszLDMsMCwzLDJdXSxcIm1pbl9zdGVwc1wiOjV9LHtcImlkXCI6XCIzMDA4XCIsXCJtYXBcIjpbWzMsMywzLDAsMV0sWzAsMCwwLDAsM10sWzIsMiwzLDIsMl0sWzAsMiwzLDAsM10sWzQsMiwyLDAsMF1dLFwibWluX3N0ZXBzXCI6NX0se1wiaWRcIjpcIjMwMDlcIixcIm1hcFwiOltbMSwwLDMsMywyXSxbMywwLDIsMCwwXSxbMCwzLDMsMiw0XSxbMCwwLDMsMCwyXSxbMiwyLDIsMCwzXV0sXCJtaW5fc3RlcHNcIjo1fSx7XCJpZFwiOlwiMzAxMFwiLFwibWFwXCI6W1szLDAsMiwwLDRdLFsxLDIsMywwLDNdLFsyLDAsMywyLDBdLFswLDMsMCwwLDNdLFsyLDAsMiwzLDJdXSxcIm1pbl9zdGVwc1wiOjV9LHtcImlkXCI6XCIzMDA2XCIsXCJtYXBcIjpbWzIsMCwyLDIsMF0sWzEsMiwzLDAsMF0sWzMsMywwLDMsMl0sWzMsMCwwLDMsMl0sWzIsMCwzLDAsNF1dLFwibWluX3N0ZXBzXCI6Nn0se1wiaWRcIjpcIjMwMDdcIixcIm1hcFwiOltbMSwyLDAsMywzXSxbMiwyLDAsMiwwXSxbMiwzLDIsMCwzXSxbMCwzLDIsMCw0XSxbMCwwLDMsMCwzXV0sXCJtaW5fc3RlcHNcIjo2fSx7XCJpZFwiOlwiMzAxMVwiLFwibWFwXCI6W1syLDMsMCwxLDBdLFswLDAsMCwwLDBdLFszLDAsMCwwLDNdLFswLDIsMCwzLDJdLFs0LDMsMywyLDJdXSxcIm1pbl9zdGVwc1wiOjZ9LHtcImlkXCI6XCIzMDEyXCIsXCJtYXBcIjpbWzAsMiwxLDAsM10sWzAsMywwLDAsM10sWzMsMiwzLDIsMF0sWzAsMiwwLDMsMF0sWzIsMCwwLDAsNF1dLFwibWluX3N0ZXBzXCI6Nn0se1wiaWRcIjpcIjMwMTNcIixcIm1hcFwiOltbMCwyLDEsMCwzXSxbMCwzLDAsMCwzXSxbMywyLDMsMiwwXSxbMCwyLDAsMywwXSxbMiwwLDAsMCw0XV0sXCJtaW5fc3RlcHNcIjo2fSx7XCJpZFwiOlwiMzAxNFwiLFwibWFwXCI6W1sxLDAsMywzLDRdLFsyLDMsMCwzLDBdLFswLDIsMiwwLDBdLFszLDMsMCwwLDJdLFsyLDAsMCwwLDBdXSxcIm1pbl9zdGVwc1wiOjZ9LHtcImlkXCI6XCIzMDE1XCIsXCJtYXBcIjpbWzIsMywwLDAsMF0sWzAsMCwyLDMsMF0sWzQsMCwzLDAsM10sWzIsMCwyLDIsM10sWzAsMywwLDAsMV1dLFwibWluX3N0ZXBzXCI6Nn0se1wiaWRcIjpcIjMwMTZcIixcIm1hcFwiOltbMywwLDIsMCwyXSxbMiwwLDAsMCwzXSxbMCwyLDMsMCwxXSxbNCwwLDAsMywwXSxbMywzLDAsMCwyXV0sXCJtaW5fc3RlcHNcIjo2fSx7XCJpZFwiOlwiMzAxN1wiLFwibWFwXCI6W1swLDMsMCwwLDJdLFszLDAsMiwwLDRdLFsxLDMsMywwLDBdLFsyLDAsMCwyLDBdLFszLDIsMywwLDBdXSxcIm1pbl9zdGVwc1wiOjZ9LHtcImlkXCI6XCIzMDE4XCIsXCJtYXBcIjpbWzQsMiwwLDAsMF0sWzAsMCwwLDMsMl0sWzAsMywwLDAsM10sWzMsMiwzLDIsMF0sWzMsMCwyLDEsMF1dLFwibWluX3N0ZXBzXCI6N30se1wiaWRcIjpcIjMwMTlcIixcIm1hcFwiOltbMCw0LDAsMywyXSxbMCwyLDAsMCwwXSxbMywwLDMsMCwyXSxbMywzLDIsMywxXSxbMiwwLDAsMCwwXV0sXCJtaW5fc3RlcHNcIjo3fSx7XCJpZFwiOlwiMzAyMFwiLFwibWFwXCI6W1swLDIsMCwxLDBdLFswLDAsMCwzLDJdLFszLDAsMywzLDNdLFszLDAsMCwwLDJdLFswLDIsMiw0LDBdXSxcIm1pbl9zdGVwc1wiOjd9LHtcImlkXCI6XCIzMDIxXCIsXCJtYXBcIjpbWzMsMiwwLDIsMV0sWzMsMiwwLDMsMl0sWzMsMCwwLDIsM10sWzAsMCwwLDAsNF0sWzAsMCwzLDAsMF1dLFwibWluX3N0ZXBzXCI6N30se1wiaWRcIjpcIjMwMjJcIixcIm1hcFwiOltbMiwwLDIsMiwyXSxbMCwwLDMsMCwwXSxbMywwLDMsMCwwXSxbMSwwLDMsMiw0XSxbMCwwLDMsMywwXV0sXCJtaW5fc3RlcHNcIjo3fSx7XCJpZFwiOlwiMzAyM1wiLFwibWFwXCI6W1sxLDIsMCwyLDBdLFszLDMsMywwLDBdLFswLDIsMywyLDBdLFs0LDAsMCwwLDNdLFswLDAsMiwwLDNdXSxcIm1pbl9zdGVwc1wiOjd9LHtcImlkXCI6XCIzMDI0XCIsXCJtYXBcIjpbWzEsMCwzLDAsM10sWzIsMiwwLDAsMF0sWzAsMywwLDMsMF0sWzIsMCwzLDIsMF0sWzIsMywwLDQsMF1dLFwibWluX3N0ZXBzXCI6N31dLFt7XCJpZFwiOlwiNDAwMVwiLFwibWFwXCI6W1sxLDMsMCwwLDIsMF0sWzAsMywwLDAsMiwwXSxbMCwwLDIsMCwzLDRdLFswLDAsMCwyLDAsMF0sWzMsMywwLDAsMiwwLDNdLFswLDAsMiwyLDIsMF1dLFwibWluX3N0ZXBzXCI6NX0se1wiaWRcIjpcIjQwMDJcIixcIm1hcFwiOltbMCwyLDIsMiwyLDBdLFsxLDAsMCwwLDIsMF0sWzAsMCwwLDAsMCwzXSxbMCwwLDAsMCwyLDBdLFswLDMsMywwLDIsMF0sWzMsMCwwLDQsMiwwXV0sXCJtaW5fc3RlcHNcIjo1fSx7XCJpZFwiOlwiNDAwM1wiLFwibWFwXCI6W1swLDAsMCwwLDAsMF0sWzIsMCwwLDAsMCwyXSxbMCwzLDMsMywyLDRdLFswLDMsMCwzLDIsMF0sWzAsMCwwLDAsMCwzXSxbMCwwLDIsMywwLDFdXSxcIm1pbl9zdGVwc1wiOjZ9LHtcImlkXCI6XCI0MDA0XCIsXCJtYXBcIjpbWzIsMCwzLDAsMCw0XSxbMCwyLDMsMywwLDBdLFswLDMsMCwwLDAsMF0sWzMsMCwwLDAsMiwyXSxbMywwLDAsMiwwLDBdLFsxLDAsMCwzLDAsMF1dLFwibWluX3N0ZXBzXCI6Nn0se1wiaWRcIjpcIjQwMDZcIixcIm1hcFwiOltbNCwzLDAsMywwLDBdLFswLDIsMCwzLDAsMF0sWzMsMCwwLDAsMywyXSxbMCwzLDAsMCwyLDFdLFswLDAsMiwwLDAsMF0sWzAsMCwwLDAsMiwzXV0sXCJtaW5fc3RlcHNcIjo3fSx7XCJpZFwiOlwiNDAwN1wiLFwibWFwXCI6W1s0LDIsMiwwLDIsMF0sWzAsMywwLDIsMCwwXSxbMCwyLDMsMCwzLDBdLFswLDAsMywwLDAsM10sWzAsMCwzLDAsMCwwXSxbMCwwLDAsMywwLDFdXSxcIm1pbl9zdGVwc1wiOjd9LHtcImlkXCI6XCI0MDE0XCIsXCJtYXBcIjpbWzAsMCwzLDAsMiwyXSxbMCwyLDMsMCwwLDFdLFswLDMsMywwLDAsM10sWzAsMiwwLDAsMCwwXSxbMCwwLDAsMywzLDBdLFsyLDAsNCwwLDAsMF1dLFwibWluX3N0ZXBzXCI6N30se1wiaWRcIjpcIjQwMTVcIixcIm1hcFwiOltbMiwwLDAsMCwwLDBdLFswLDAsMCwwLDMsMV0sWzMsMCwyLDAsMCwzXSxbMiwwLDAsMiwzLDBdLFszLDAsMywwLDAsMF0sWzIsMCwwLDMsNCwwXV0sXCJtaW5fc3RlcHNcIjo3fSx7XCJpZFwiOlwiNDAwNVwiLFwibWFwXCI6W1sxLDAsMCwwLDAsMl0sWzAsMCwwLDIsMCwwXSxbMywyLDAsMCwwLDBdLFswLDMsMCwwLDIsM10sWzAsMCwzLDMsMCwwXSxbMywwLDAsMiwzLDRdXSxcIm1pbl9zdGVwc1wiOjh9LHtcImlkXCI6XCI0MDA4XCIsXCJtYXBcIjpbWzAsMCwyLDMsMCwwXSxbMCwzLDAsMiwzLDJdLFszLDAsMCwwLDAsMF0sWzAsMywwLDAsMyw0XSxbMCwwLDAsMCwwLDNdLFswLDIsMCwyLDAsMV1dLFwibWluX3N0ZXBzXCI6OH0se1wiaWRcIjpcIjQwMDlcIixcIm1hcFwiOltbMCwzLDMsMCwwLDRdLFsyLDAsMCwzLDAsMF0sWzIsMCwwLDMsMCwwXSxbMSwwLDAsMCwzLDBdLFswLDAsMiwzLDAsMl0sWzIsMywwLDAsMCwwXV0sXCJtaW5fc3RlcHNcIjo4fSx7XCJpZFwiOlwiNDAxMFwiLFwibWFwXCI6W1swLDAsMSwzLDIsMF0sWzMsMCwwLDAsMywyXSxbMywwLDAsMCwwLDNdLFsyLDAsMCwwLDAsMF0sWzAsMiwwLDAsMywwXSxbMCwyLDAsMyw0LDBdXSxcIm1pbl9zdGVwc1wiOjh9LHtcImlkXCI6XCI0MDExXCIsXCJtYXBcIjpbWzEsMCwwLDAsMCwwXSxbMywzLDAsMCwwLDJdLFswLDAsMCwzLDAsMl0sWzIsMCwzLDAsMywwXSxbMiwwLDMsMCwwLDNdLFs0LDAsMCwwLDAsMl1dLFwibWluX3N0ZXBzXCI6OH0se1wiaWRcIjpcIjQwMTZcIixcIm1hcFwiOltbMCwwLDMsMCwwLDFdLFsyLDMsMCwwLDMsMF0sWzIsMCwwLDAsMCwyXSxbMCwzLDAsMCwwLDBdLFswLDMsMCwwLDIsMF0sWzAsNCwzLDAsMiwzXV0sXCJtaW5fc3RlcHNcIjo4fSx7XCJpZFwiOlwiNDAxN1wiLFwibWFwXCI6W1sxLDIsMywwLDMsMl0sWzMsMCwwLDAsMCwwXSxbMCwwLDAsMCwwLDNdLFszLDMsMCwzLDIsMF0sWzAsMiwwLDAsMCwwXSxbNCwwLDAsMiwwLDBdXSxcIm1pbl9zdGVwc1wiOjh9LHtcImlkXCI6XCI0MDE4XCIsXCJtYXBcIjpbWzAsMCwxLDAsMiwwXSxbMCwwLDAsMCwwLDBdLFswLDAsMywyLDMsMF0sWzMsMCwwLDMsMCwwXSxbMiwzLDAsMiwwLDBdLFs0LDIsMCwzLDMsMF1dLFwibWluX3N0ZXBzXCI6OH0se1wiaWRcIjpcIjQwMTJcIixcIm1hcFwiOltbMiwyLDMsMCwyLDBdLFswLDMsMCwwLDAsMF0sWzAsMCwwLDAsMyw0XSxbMCwyLDAsMywwLDNdLFswLDAsMCwwLDAsMF0sWzAsMCwyLDMsMywxXV0sXCJtaW5fc3RlcHNcIjo5fSx7XCJpZFwiOlwiNDAxM1wiLFwibWFwXCI6W1swLDAsMCwwLDMsMF0sWzQsMiwwLDMsMCwwXSxbMywyLDAsMCwwLDBdLFsxLDMsMCwzLDAsMF0sWzIsMCwwLDIsMCwwXSxbMywwLDAsMywyLDBdXSxcIm1pbl9zdGVwc1wiOjl9LHtcImlkXCI6XCI0MDE5XCIsXCJtYXBcIjpbWzMsNCwwLDAsMCwyXSxbMywyLDAsMCwyLDBdLFswLDMsMCwzLDAsMl0sWzAsMCwzLDAsMCwwXSxbMCwwLDAsMCwzLDBdLFsxLDMsMCwwLDAsMl1dLFwibWluX3N0ZXBzXCI6OX0se1wiaWRcIjpcIjQwMjBcIixcIm1hcFwiOltbMCwyLDAsMSwwLDBdLFsyLDMsMCwwLDIsMF0sWzMsMCwwLDAsMCwwXSxbMCwzLDMsMCwwLDNdLFsyLDAsMCwzLDAsMF0sWzQsMywwLDAsMCwyXV0sXCJtaW5fc3RlcHNcIjo5fV0sW3tcImlkXCI6XCI1MDAxXCIsXCJtYXBcIjpbWzEsMCwwLDAsMCwwXSxbMCwyLDIsMywwLDJdLFszLDIsMCwwLDMsM10sWzAsMCwwLDAsMCw0XSxbMCwwLDAsMiwyLDBdLFszLDAsMiwyLDAsMF1dLFwibWluX3N0ZXBzXCI6N30se1wiaWRcIjpcIjUwMDJcIixcIm1hcFwiOltbMCwwLDAsMCw0LDNdLFszLDIsMywwLDAsMF0sWzAsMiwwLDIsMywwXSxbMiwyLDAsMCwwLDBdLFszLDIsMCwwLDAsMF0sWzMsMCwwLDIsMCwzXSxbMiwwLDAsMywwLDFdXSxcIm1pbl9zdGVwc1wiOjd9LHtcImlkXCI6XCI1MDE1XCIsXCJtYXBcIjpbWzEsMiwzLDIsMiwwXSxbMywwLDAsMCwwLDNdLFswLDAsMCwwLDAsMF0sWzAsMCwwLDAsMCwyXSxbMCwzLDAsMywyLDBdLFswLDAsMCwwLDAsMF0sWzAsMiwwLDQsMCwzXV0sXCJtaW5fc3RlcHNcIjo3fSx7XCJpZFwiOlwiNTAxNlwiLFwibWFwXCI6W1szLDAsMSwwLDAsMF0sWzAsMiwwLDIsMCwwXSxbMCwyLDAsMiwwLDNdLFswLDAsMCwwLDAsMF0sWzAsMiwwLDAsMywzXSxbMCwwLDAsMCwyLDNdLFswLDAsMCwzLDAsNF1dLFwibWluX3N0ZXBzXCI6N30se1wiaWRcIjpcIjUwMDRcIixcIm1hcFwiOltbMCwzLDMsMiwzLDBdLFsyLDAsMiwwLDMsMF0sWzEsMCwzLDIsMCwwXSxbMywzLDAsMCwwLDJdLFswLDAsMCwwLDAsMF0sWzAsMiwwLDAsMCwwXSxbMCwwLDAsMyw0LDBdXSxcIm1pbl9zdGVwc1wiOjh9LHtcImlkXCI6XCI1MDA1XCIsXCJtYXBcIjpbWzAsMCwwLDAsMCwxXSxbMCwwLDIsMCwyLDBdLFszLDIsMiwwLDAsMF0sWzMsMCwwLDMsMCwwXSxbMywzLDAsMCwwLDNdLFs0LDMsMCwwLDAsMF0sWzIsMCwwLDIsMywwXV0sXCJtaW5fc3RlcHNcIjo4fSx7XCJpZFwiOlwiNTAwOFwiLFwibWFwXCI6W1szLDAsMywyLDAsNF0sWzAsMywwLDIsMCwyXSxbMCwwLDMsMCwwLDBdLFsyLDAsMCwyLDAsMF0sWzAsMCwzLDAsMCwwXSxbMCwwLDAsMywwLDBdLFszLDIsMSwzLDAsMF1dLFwibWluX3N0ZXBzXCI6OH0se1wiaWRcIjpcIjUwMTJcIixcIm1hcFwiOltbMiwzLDAsMiwwLDFdLFsyLDAsMCwwLDAsMF0sWzIsMCwwLDMsMCwyXSxbMywwLDMsMCwwLDNdLFswLDAsMCwwLDMsM10sWzMsMCwwLDAsMiwwXSxbMCwwLDAsMCwwLDRdXSxcIm1pbl9zdGVwc1wiOjh9LHtcImlkXCI6XCI1MDEzXCIsXCJtYXBcIjpbWzAsMCwyLDEsMiwwXSxbMCwzLDAsMCwwLDBdLFsyLDAsMCwwLDAsMF0sWzAsMCwwLDMsMCwwXSxbMywwLDAsMiwzLDBdLFszLDMsMywyLDAsMl0sWzAsMCw0LDAsMCwzXV0sXCJtaW5fc3RlcHNcIjo4fSx7XCJpZFwiOlwiNTAxOFwiLFwibWFwXCI6W1swLDIsMCwxLDAsMF0sWzIsMCwwLDMsMCwwXSxbMCwwLDAsMCwwLDBdLFszLDAsMCwwLDAsMF0sWzIsMywwLDIsMywzXSxbMiwwLDAsMCwwLDJdLFs0LDMsMCwwLDAsMF1dLFwibWluX3N0ZXBzXCI6OH0se1wiaWRcIjpcIjUwMTlcIixcIm1hcFwiOltbMSwzLDAsMiwzLDBdLFswLDAsMCwwLDAsMl0sWzAsMCwwLDAsMCwwXSxbMCwwLDIsMCwwLDJdLFszLDMsMCwzLDAsMl0sWzQsMCwyLDAsMCwwXSxbMCwwLDAsMywwLDBdXSxcIm1pbl9zdGVwc1wiOjh9LHtcImlkXCI6XCI1MDI5XCIsXCJtYXBcIjpbWzQsMywwLDAsMCwwXSxbMiwwLDAsMywwLDJdLFszLDIsMCwzLDMsMF0sWzIsMCwwLDMsMCwwXSxbMCwyLDAsMCwwLDBdLFsyLDAsMCwwLDAsMF0sWzMsMCwzLDMsMCwxXV0sXCJtaW5fc3RlcHNcIjo4fSx7XCJpZFwiOlwiNTAzMFwiLFwibWFwXCI6W1swLDAsMCwwLDAsMF0sWzAsMCwyLDMsMiwwXSxbMCwzLDAsMCwwLDBdLFsyLDIsMCwzLDAsMF0sWzAsMywzLDAsMyw0XSxbMCwwLDIsMCwwLDNdLFszLDEsMCwzLDAsMl1dLFwibWluX3N0ZXBzXCI6OH0se1wiaWRcIjpcIjUwMDZcIixcIm1hcFwiOltbMCwzLDAsMCwwLDBdLFsxLDAsMCwwLDMsMF0sWzAsMCwzLDIsMCwwXSxbMywwLDAsMiwyLDBdLFswLDMsMCwzLDMsMF0sWzAsMiwwLDAsMCwwXSxbNCwwLDMsMCwyLDJdXSxcIm1pbl9zdGVwc1wiOjl9LHtcImlkXCI6XCI1MDA3XCIsXCJtYXBcIjpbWzAsMiwwLDMsMCwwXSxbMSwyLDAsMiwwLDBdLFswLDMsMCwzLDAsMF0sWzMsMCwwLDAsMCwzXSxbMCwwLDMsMiwwLDJdLFs0LDAsMCwzLDAsM10sWzAsMiwwLDAsMCwwXV0sXCJtaW5fc3RlcHNcIjo5fSx7XCJpZFwiOlwiNTAxMFwiLFwibWFwXCI6W1swLDMsMSwwLDAsMF0sWzAsMiwzLDMsMCwwXSxbMCwyLDAsMywwLDBdLFswLDIsMCwyLDAsM10sWzAsMiwwLDAsMywwXSxbMCwzLDAsMCwwLDBdLFswLDIsNCwwLDAsM11dLFwibWluX3N0ZXBzXCI6OX0se1wiaWRcIjpcIjUwMTFcIixcIm1hcFwiOltbMSwwLDMsMCwzLDBdLFswLDIsMCwwLDAsMF0sWzIsMCwyLDAsMywwXSxbMCwzLDIsMCwwLDBdLFszLDAsMCwwLDAsMl0sWzQsMCwzLDAsMCwwXSxbMywyLDAsMCwwLDNdXSxcIm1pbl9zdGVwc1wiOjl9LHtcImlkXCI6XCI1MDE0XCIsXCJtYXBcIjpbWzAsMSwwLDAsMCwwXSxbMiwwLDIsMCwwLDJdLFsyLDMsMCwzLDAsMF0sWzAsMywwLDAsMCwzXSxbMCwwLDAsMiwwLDNdLFswLDAsMywwLDMsMF0sWzIsMCwzLDAsMCw0XV0sXCJtaW5fc3RlcHNcIjo5fSx7XCJpZFwiOlwiNTAxN1wiLFwibWFwXCI6W1swLDAsMCwwLDAsMF0sWzEsMiwzLDAsMCwyXSxbMCwwLDIsMCwwLDJdLFszLDAsMiwzLDAsMF0sWzAsMywzLDAsMiwwXSxbMCwwLDAsMCwwLDBdLFs0LDAsMywwLDAsMF1dLFwibWluX3N0ZXBzXCI6OX0se1wiaWRcIjpcIjUwMjhcIixcIm1hcFwiOltbMCwwLDEsMCwwLDNdLFszLDAsMCwwLDMsNF0sWzAsMiwwLDIsMywyXSxbMCwzLDIsMywzLDBdLFswLDAsMCwzLDAsMF0sWzAsMCwzLDAsMCwyXSxbMCwwLDIsMCwwLDBdXSxcIm1pbl9zdGVwc1wiOjl9LHtcImlkXCI6XCI1MDAzXCIsXCJtYXBcIjpbWzAsMCwxLDMsMCwyXSxbMCwzLDMsMCwwLDBdLFswLDAsMywyLDAsMF0sWzAsMCwzLDAsMCwwXSxbMywwLDAsMCwyLDJdLFswLDAsMiwzLDAsMF0sWzAsMiwwLDMsMCw0XV0sXCJtaW5fc3RlcHNcIjoxMH0se1wiaWRcIjpcIjUwMDlcIixcIm1hcFwiOltbMCwyLDAsMCwwLDNdLFswLDAsMywzLDMsNF0sWzAsMywwLDAsMCwwXSxbMCwzLDIsMCwwLDBdLFsxLDIsMywyLDAsM10sWzIsMCwwLDAsMCwwXSxbMCwwLDAsMCwyLDBdXSxcIm1pbl9zdGVwc1wiOjEwfSx7XCJpZFwiOlwiNTAyMVwiLFwibWFwXCI6W1swLDAsMCwwLDAsMF0sWzAsMCwwLDAsMywwXSxbMywwLDAsMCwyLDBdLFsyLDAsMCwyLDMsMF0sWzAsMywwLDAsMCwyXSxbMCwyLDMsMCwwLDBdLFs0LDMsMSwyLDAsMF1dLFwibWluX3N0ZXBzXCI6MTB9LHtcImlkXCI6XCI1MDIyXCIsXCJtYXBcIjpbWzQsMCwzLDAsMCwyXSxbMCwwLDAsMCwyLDBdLFswLDMsMCwyLDMsMl0sWzMsMCwzLDAsMywwXSxbMCwyLDAsMCwwLDBdLFswLDMsMCwzLDAsM10sWzAsMiwxLDAsMCwwXV0sXCJtaW5fc3RlcHNcIjoxMH0se1wiaWRcIjpcIjUwMjNcIixcIm1hcFwiOltbMywwLDAsMywzLDBdLFswLDAsMywwLDAsM10sWzIsMywwLDAsMCwwXSxbMiwyLDAsMCwyLDBdLFswLDMsMCwwLDAsMF0sWzIsMCwzLDAsMCw0XSxbMCwxLDMsMCwyLDBdXSxcIm1pbl9zdGVwc1wiOjEwfSx7XCJpZFwiOlwiNTAyNFwiLFwibWFwXCI6W1szLDAsMiwzLDAsMF0sWzQsMiwwLDAsMCwzXSxbMiwyLDAsMCwwLDBdLFswLDAsMywwLDAsMl0sWzAsMCwwLDMsMCwzXSxbMCwzLDMsMCwyLDBdLFszLDAsMSwwLDAsMF1dLFwibWluX3N0ZXBzXCI6MTB9LHtcImlkXCI6XCI1MDIwXCIsXCJtYXBcIjpbWzAsMCwwLDIsMCwwXSxbMCwzLDAsMCwwLDNdLFswLDIsMCwwLDMsMF0sWzIsMCwwLDIsMyw0XSxbMCwyLDMsMCwwLDBdLFswLDAsMCwzLDAsMF0sWzMsMiwwLDEsMywwXV0sXCJtaW5fc3RlcHNcIjoxMX0se1wiaWRcIjpcIjUwMjVcIixcIm1hcFwiOltbMSwwLDAsMCwzLDBdLFswLDAsMCwzLDMsMl0sWzMsMywyLDAsMCwyXSxbMCwwLDAsMCwwLDNdLFswLDAsMiwwLDIsMF0sWzAsMCwwLDAsMyw0XSxbMCwzLDIsMywwLDBdXSxcIm1pbl9zdGVwc1wiOjExfSx7XCJpZFwiOlwiNTAyNlwiLFwibWFwXCI6W1swLDMsMiwwLDAsMF0sWzAsMCwyLDMsMywwXSxbMiwwLDAsMiwwLDBdLFszLDIsMCwwLDMsMl0sWzAsMCwwLDMsMywxXSxbMCwwLDMsMCwwLDNdLFswLDAsMCwwLDAsNF1dLFwibWluX3N0ZXBzXCI6MTF9LHtcImlkXCI6XCI1MDI3XCIsXCJtYXBcIjpbWzAsMCwzLDAsMCwxXSxbMCwwLDAsMCwwLDNdLFsyLDAsMiwwLDIsM10sWzAsMCwzLDMsMCwzXSxbMCwwLDAsMiwzLDBdLFswLDAsMCwyLDAsM10sWzIsMCwzLDAsNCwwXV0sXCJtaW5fc3RlcHNcIjoxMX1dLFt7XCJpZFwiOlwiNjAyOFwiLFwibWFwXCI6W1swLDAsMywwLDAsMl0sWzEsMywyLDIsMCwzXSxbMCwwLDMsMCwwLDJdLFswLDAsMCwwLDAsMF0sWzAsMCwyLDAsMywzXSxbMywzLDMsMCwwLDBdLFs0LDAsMCwwLDAsMl1dLFwibWluX3N0ZXBzXCI6OH0se1wiaWRcIjpcIjYwMjlcIixcIm1hcFwiOltbMCwwLDIsMCwwLDFdLFszLDIsMywwLDAsM10sWzIsMCwzLDAsMywwXSxbMywzLDAsMCwwLDBdLFswLDAsMCwzLDMsMl0sWzAsMCwwLDAsMCwyXSxbMCwwLDAsNCwyLDBdXSxcIm1pbl9zdGVwc1wiOjh9LHtcImlkXCI6XCI2MDMwXCIsXCJtYXBcIjpbWzAsMywzLDAsMSwwXSxbMiwzLDAsMCwzLDBdLFswLDAsMCwzLDAsMl0sWzAsMCwzLDAsMiwwXSxbMCwwLDIsMywzLDNdLFswLDAsMCwwLDAsMF0sWzQsMCwwLDIsMCwyXV0sXCJtaW5fc3RlcHNcIjo4fSx7XCJpZFwiOlwiNjAwMVwiLFwibWFwXCI6W1swLDAsMywzLDQsMl0sWzAsMCwwLDIsMCwwXSxbMiwzLDMsMiwwLDBdLFswLDMsMCwwLDAsMl0sWzAsMCwwLDMsMiwyXSxbMiwwLDAsMywwLDJdLFsxLDMsMiwwLDAsMF0sWzAsMCwwLDMsMCwwXV0sXCJtaW5fc3RlcHNcIjo5fSx7XCJpZFwiOlwiNjAxMlwiLFwibWFwXCI6W1szLDAsMCwwLDIsMF0sWzAsMywwLDMsMCwwXSxbMCwzLDAsMCwwLDNdLFsyLDAsMCwzLDIsMF0sWzMsMiwyLDIsMCwwXSxbMywwLDIsMCwzLDBdLFsxLDIsMywwLDIsMF0sWzIsMywwLDAsMyw0XV0sXCJtaW5fc3RlcHNcIjo5fSx7XCJpZFwiOlwiNjAxNlwiLFwibWFwXCI6W1swLDAsMSwwLDIsM10sWzAsMywyLDAsMiwwXSxbMywzLDMsMywwLDBdLFszLDAsMCwwLDAsMF0sWzIsMiwzLDAsMywzXSxbMCwwLDIsMCwyLDBdLFswLDIsMCwyLDAsM10sWzMsMCwyLDAsMCw0XV0sXCJtaW5fc3RlcHNcIjo5fSx7XCJpZFwiOlwiNjAwOFwiLFwibWFwXCI6W1swLDAsMiwwLDMsNF0sWzMsMywyLDMsMCwwXSxbMCwwLDAsMCwwLDNdLFswLDAsMiwzLDIsMF0sWzAsMCwyLDAsMywyXSxbMywzLDAsMCwwLDJdLFswLDMsMCwwLDAsMF0sWzIsMSwwLDAsMCwwXV0sXCJtaW5fc3RlcHNcIjoxMH0se1wiaWRcIjpcIjYwMTNcIixcIm1hcFwiOltbMywwLDAsMiwyLDBdLFswLDIsMCwzLDAsMl0sWzAsMCwzLDIsMywwXSxbMCwzLDAsMCwzLDBdLFsyLDIsMywyLDAsMF0sWzAsMCwzLDMsMCwwXSxbMCwyLDAsMywyLDBdLFs0LDMsMywwLDEsMF1dLFwibWluX3N0ZXBzXCI6MTB9LHtcImlkXCI6XCI2MDE3XCIsXCJtYXBcIjpbWzQsMCwwLDAsMCwzXSxbMCwzLDMsMCwwLDBdLFszLDAsMiwyLDAsMF0sWzMsMCwyLDMsMywyXSxbMywyLDAsMiwzLDNdLFsyLDAsMiwwLDAsMF0sWzAsMCwwLDAsMCwzXSxbMiwzLDAsMiwwLDFdXSxcIm1pbl9zdGVwc1wiOjEwfSx7XCJpZFwiOlwiNjAyMlwiLFwibWFwXCI6W1swLDAsMyw0LDMsMF0sWzAsMywwLDIsMiwwXSxbMiwwLDIsMCwwLDNdLFswLDAsMCwwLDAsMF0sWzIsMywwLDMsMiwwXSxbMCwzLDAsMCwwLDBdLFswLDEsMywwLDAsM11dLFwibWluX3N0ZXBzXCI6MTB9LHtcImlkXCI6XCI2MDIzXCIsXCJtYXBcIjpbWzAsMCwzLDEsMCwyXSxbMCwwLDIsMywwLDBdLFs0LDAsMywwLDAsMF0sWzIsMCwzLDAsMCwzXSxbMiwwLDMsMCwzLDBdLFswLDAsMCwwLDAsMF0sWzIsMywwLDIsMywwXV0sXCJtaW5fc3RlcHNcIjoxMH0se1wiaWRcIjpcIjYwMjRcIixcIm1hcFwiOltbMCwzLDAsMiwwLDRdLFszLDAsMCwzLDMsM10sWzAsMCwyLDAsMCwwXSxbMiwzLDMsMCwwLDBdLFsyLDAsMCwwLDAsM10sWzIsMCwzLDAsMCwxXSxbMCwwLDAsMCwwLDJdXSxcIm1pbl9zdGVwc1wiOjEwfSx7XCJpZFwiOlwiNjAyNVwiLFwibWFwXCI6W1s0LDAsMiwwLDAsMF0sWzAsMCwzLDMsMCwyXSxbMywzLDAsMCwwLDNdLFswLDIsMCwyLDAsMF0sWzAsMCwwLDAsMywwXSxbMSwzLDAsMCwyLDJdLFswLDMsMCwwLDAsM11dLFwibWluX3N0ZXBzXCI6MTB9LHtcImlkXCI6XCI2MDAyXCIsXCJtYXBcIjpbWzAsMCwzLDMsNCwyXSxbMCwwLDAsMiwwLDBdLFsyLDMsMywyLDAsMF0sWzAsMywwLDAsMCwyXSxbMCwwLDAsMywyLDJdLFsyLDAsMCwzLDAsMl0sWzEsMywyLDAsMCwwXSxbMCwwLDAsMywwLDBdXSxcIm1pbl9zdGVwc1wiOjExfSx7XCJpZFwiOlwiNjAwNlwiLFwibWFwXCI6W1sxLDAsMiwwLDAsM10sWzAsMCwwLDAsMywwXSxbMywwLDAsMywyLDBdLFsyLDMsMCwwLDAsM10sWzAsMCwzLDIsMCwzXSxbMCwyLDAsMywwLDBdLFsyLDMsMCwyLDAsMF0sWzAsNCwwLDIsMCwwXV0sXCJtaW5fc3RlcHNcIjoxMX0se1wiaWRcIjpcIjYwMDlcIixcIm1hcFwiOltbNCwzLDAsMCwzLDBdLFswLDAsMCwwLDAsMF0sWzMsMywwLDIsMCwyXSxbMywwLDAsMiwyLDBdLFsyLDMsMiwwLDAsMF0sWzEsMywzLDAsMCwwXSxbMiwwLDAsMCwwLDBdLFszLDMsMCwwLDAsMl1dLFwibWluX3N0ZXBzXCI6MTF9LHtcImlkXCI6XCI2MDE4XCIsXCJtYXBcIjpbWzIsMywwLDAsMiwzXSxbMiwwLDAsMywwLDRdLFsyLDAsMCwwLDAsMF0sWzAsMywyLDAsMiwzXSxbMCwwLDAsMCwwLDNdLFsyLDAsMywzLDIsM10sWzAsMCwwLDMsMiwwXSxbMiwzLDEsMywwLDBdXSxcIm1pbl9zdGVwc1wiOjExfSx7XCJpZFwiOlwiNjAyNlwiLFwibWFwXCI6W1swLDEsMCwzLDAsNF0sWzAsMCwzLDAsMywwXSxbMiwyLDMsMiwwLDBdLFswLDAsMywwLDMsM10sWzIsMCwwLDAsMCwyXSxbMCwzLDAsMCwwLDJdLFswLDAsMCwwLDAsM11dLFwibWluX3N0ZXBzXCI6MTF9LHtcImlkXCI6XCI2MDI3XCIsXCJtYXBcIjpbWzIsMSwzLDAsMCwwXSxbMCwwLDAsMCwzLDBdLFszLDMsMCwwLDAsMF0sWzIsMiwzLDMsMywwXSxbMCwyLDAsMCwwLDBdLFszLDIsMCwwLDAsMF0sWzAsNCwwLDIsMywwXV0sXCJtaW5fc3RlcHNcIjoxMX0se1wiaWRcIjpcIjYwMzFcIixcIm1hcFwiOltbMCwxLDAsMywwLDRdLFswLDAsMywwLDMsMF0sWzIsMiwzLDIsMCwwXSxbMCwwLDMsMCwzLDNdLFsyLDAsMCwwLDAsMl0sWzAsMywwLDAsMCwyXSxbMCwwLDAsMCwwLDNdXSxcIm1pbl9zdGVwc1wiOjExfSx7XCJpZFwiOlwiNjAwM1wiLFwibWFwXCI6W1swLDIsMiwwLDAsNF0sWzAsMywzLDAsMCwwXSxbMywyLDAsMCwwLDBdLFswLDMsMCwwLDMsM10sWzAsMiwwLDMsMCwwXSxbMiwzLDAsMCwwLDBdLFswLDIsMywwLDAsMF0sWzEsMiwzLDAsMiwwXV0sXCJtaW5fc3RlcHNcIjoxMn0se1wiaWRcIjpcIjYwMTFcIixcIm1hcFwiOltbMywwLDIsMiwzLDJdLFsxLDAsMCwwLDAsM10sWzAsMCwzLDIsMywwXSxbMywwLDMsMCwwLDBdLFs0LDMsMiwzLDAsMl0sWzAsMCwyLDAsMiwzXSxbMiwwLDAsMCwwLDNdLFswLDAsMCwyLDAsM11dLFwibWluX3N0ZXBzXCI6MTJ9LHtcImlkXCI6XCI2MDE0XCIsXCJtYXBcIjpbWzQsMywwLDAsMCwwXSxbMCwyLDIsMiwzLDBdLFswLDMsMCwwLDAsMF0sWzIsMywyLDMsMCwwXSxbMywzLDAsMCwwLDNdLFswLDAsMCwyLDMsMF0sWzAsMywyLDAsMiwyXSxbMiwzLDMsMCwwLDFdXSxcIm1pbl9zdGVwc1wiOjEyfSx7XCJpZFwiOlwiNjAyMFwiLFwibWFwXCI6W1szLDIsMCwwLDAsMF0sWzQsMCwyLDAsMiwwXSxbMywzLDAsMCwyLDJdLFswLDAsMywwLDIsMF0sWzAsMCwwLDAsMiwzXSxbMCwyLDMsMywwLDBdLFsyLDMsMCwwLDMsM10sWzEsMywzLDIsMCwwXV0sXCJtaW5fc3RlcHNcIjoxMn0se1wiaWRcIjpcIjYwMjFcIixcIm1hcFwiOltbNCwzLDAsMCwwLDBdLFswLDIsMiwyLDMsMF0sWzAsMywwLDAsMCwwXSxbMiwzLDIsMywwLDBdLFszLDMsMCwwLDAsM10sWzAsMCwwLDIsMywwXSxbMCwzLDIsMCwyLDJdLFsyLDMsMywwLDAsMV1dLFwibWluX3N0ZXBzXCI6MTJ9LHtcImlkXCI6XCI2MDA0XCIsXCJtYXBcIjpbWzAsMywwLDIsMiwwXSxbMCwwLDAsMCwwLDJdLFszLDAsMCwwLDAsMF0sWzAsMywwLDAsMCwwXSxbMCwzLDMsMCwzLDBdLFsyLDAsMCwwLDMsMl0sWzIsMCwwLDAsMywxXSxbNCwzLDAsMiwzLDJdXSxcIm1pbl9zdGVwc1wiOjEzfSx7XCJpZFwiOlwiNjAwNVwiLFwibWFwXCI6W1syLDIsNCwyLDMsMF0sWzAsMywzLDIsMCwwXSxbMywwLDAsMywwLDJdLFszLDAsMiwzLDMsMF0sWzAsMCwwLDAsMCwwXSxbMCwwLDAsMCwyLDNdLFszLDIsMCwwLDAsMV0sWzAsMCwwLDAsMCwwXV0sXCJtaW5fc3RlcHNcIjoxM30se1wiaWRcIjpcIjYwMDdcIixcIm1hcFwiOltbMywyLDAsMCwzLDRdLFswLDIsMCwwLDMsMF0sWzAsMCwyLDAsMiwwXSxbMiwwLDAsMywwLDNdLFswLDAsMiwwLDMsMl0sWzAsMiwzLDMsMCwxXSxbMCwwLDAsMCwwLDNdLFswLDAsMCwzLDAsMF1dLFwibWluX3N0ZXBzXCI6MTN9LHtcImlkXCI6XCI2MDEwXCIsXCJtYXBcIjpbWzAsMywxLDAsMCwwXSxbMCwyLDMsMywwLDBdLFsyLDAsMCwzLDAsMF0sWzAsMiwwLDAsMywyXSxbMywwLDAsMCwwLDJdLFszLDIsMCwwLDAsMF0sWzQsMCwwLDMsMiwwXSxbMCwzLDAsMywyLDBdXSxcIm1pbl9zdGVwc1wiOjEzfSx7XCJpZFwiOlwiNjAxNVwiLFwibWFwXCI6W1s0LDAsMCwwLDIsM10sWzAsMCwzLDAsMCwzXSxbMiwyLDMsMiwwLDBdLFszLDAsMCwwLDMsMl0sWzIsMywwLDMsMCwyXSxbMCwwLDMsMCwyLDNdLFswLDAsMCwwLDAsM10sWzEsMiwyLDMsMCwwXV0sXCJtaW5fc3RlcHNcIjoxNH0se1wiaWRcIjpcIjYwMTlcIixcIm1hcFwiOltbNCwwLDAsMCwyLDNdLFswLDAsMywwLDAsM10sWzIsMiwzLDIsMCwwXSxbMywwLDAsMCwzLDJdLFsyLDMsMCwzLDAsMl0sWzAsMCwzLDAsMiwzXSxbMCwwLDAsMCwwLDNdLFsxLDIsMiwzLDAsMF1dLFwibWluX3N0ZXBzXCI6MTR9XSxbe1wiaWRcIjpcIjcwMDFcIixcIm1hcFwiOltbMCwyLDAsMCwyLDBdLFszLDMsMCwyLDAsNF0sWzAsMCwwLDAsMCwzXSxbMCwwLDAsMCwzLDJdLFswLDAsMCwwLDAsMl0sWzMsMywwLDAsMCwyXSxbMCwzLDMsMiwyLDBdLFswLDMsMiwyLDAsM10sWzEsMiwwLDAsMiwwXV0sXCJtaW5fc3RlcHNcIjo5fSx7XCJpZFwiOlwiNzAyM1wiLFwibWFwXCI6W1szLDIsMCwyLDAsMV0sWzAsMywzLDIsMywzXSxbMCwzLDMsMCwzLDBdLFswLDIsMiwyLDAsM10sWzAsMywyLDAsMCwzXSxbMCwwLDAsMCwyLDBdLFsyLDIsMiwzLDAsMF0sWzIsMCwzLDAsMywwXSxbMCwwLDMsMCwwLDRdXSxcIm1pbl9zdGVwc1wiOjl9LHtcImlkXCI6XCI3MDAzXCIsXCJtYXBcIjpbWzEsMywyLDAsMCwwXSxbMCwwLDAsMiwwLDBdLFswLDMsMCwyLDAsMF0sWzMsMywzLDIsMCwzXSxbMiwzLDMsMCwzLDBdLFswLDAsMCwwLDAsMl0sWzMsMCwyLDIsMywyXSxbNCwyLDAsMCwyLDBdLFswLDAsMiwwLDAsMl1dLFwibWluX3N0ZXBzXCI6MTB9LHtcImlkXCI6XCI3MDAyXCIsXCJtYXBcIjpbWzEsMCwzLDIsMCwyXSxbMCwzLDAsMCwwLDJdLFswLDIsMCwzLDIsMl0sWzAsMywwLDAsMCwwXSxbMCwyLDAsMywzLDBdLFszLDIsMiwwLDAsM10sWzAsMywyLDMsMCwyXSxbMCwwLDAsMCwwLDBdLFsyLDAsMCwyLDMsNF1dLFwibWluX3N0ZXBzXCI6MTF9LHtcImlkXCI6XCI3MDA1XCIsXCJtYXBcIjpbWzAsMCwwLDAsMCwwXSxbMCwwLDAsMywyLDRdLFswLDMsMCwwLDMsM10sWzMsMywwLDIsMCwzXSxbMCwyLDIsMCwzLDJdLFswLDAsMywwLDIsMF0sWzAsMiwwLDIsMCwwXSxbMywwLDAsMiwyLDBdLFswLDAsMiwyLDAsMV1dLFwibWluX3N0ZXBzXCI6MTF9LHtcImlkXCI6XCI3MDA2XCIsXCJtYXBcIjpbWzAsMCwwLDAsMiwzXSxbMywyLDAsMCwwLDBdLFswLDIsMCwzLDMsNF0sWzAsMCwwLDIsMiwzXSxbMiwwLDAsMCwwLDBdLFswLDAsMCwwLDMsMF0sWzMsMCwzLDMsMCwyXSxbMywwLDIsMiwwLDJdLFswLDAsMiwyLDAsMV1dLFwibWluX3N0ZXBzXCI6MTF9LHtcImlkXCI6XCI3MDA3XCIsXCJtYXBcIjpbWzIsMCwyLDAsMiwwXSxbMCwwLDIsMCwzLDJdLFswLDAsMCwzLDMsMF0sWzAsMiwwLDAsMywyXSxbMywwLDAsMiwwLDBdLFszLDMsMCwwLDAsMl0sWzAsMiwwLDMsMiwwXSxbMCwyLDMsMCwwLDBdLFs0LDMsMCwwLDEsMF1dLFwibWluX3N0ZXBzXCI6MTF9LHtcImlkXCI6XCI3MDI2XCIsXCJtYXBcIjpbWzIsNCwyLDAsMCwwXSxbMCwzLDMsMCwzLDBdLFszLDMsMywwLDAsM10sWzIsMCwzLDAsMCwyXSxbMCwyLDIsMywwLDNdLFsxLDAsMiwwLDIsMF0sWzMsMywwLDAsMCwwXSxbMiwwLDAsMCwzLDJdLFsyLDAsMywyLDMsMF1dLFwibWluX3N0ZXBzXCI6MTF9LHtcImlkXCI6XCI3MDI3XCIsXCJtYXBcIjpbWzIsMCwwLDAsMCwyXSxbMCwwLDMsMywyLDNdLFswLDAsMywwLDAsMV0sWzAsMywwLDMsMywzXSxbMCwwLDAsMCwwLDJdLFszLDMsMiwwLDAsMl0sWzMsMywwLDIsMCwzXSxbMCwzLDIsMiwyLDBdLFswLDMsNCwyLDIsMF1dLFwibWluX3N0ZXBzXCI6MTF9LHtcImlkXCI6XCI3MDI5XCIsXCJtYXBcIjpbWzAsMCwxLDAsMCwwXSxbMywzLDAsMCwzLDJdLFszLDAsMCwwLDIsMF0sWzAsMiwwLDIsMiwwXSxbMiwzLDMsMywwLDNdLFszLDIsMiwzLDAsMF0sWzIsMCwzLDAsMCwzXSxbMywyLDAsMCwwLDNdLFs0LDIsMCwwLDMsMl1dLFwibWluX3N0ZXBzXCI6MTF9LHtcImlkXCI6XCI3MDA4XCIsXCJtYXBcIjpbWzEsMCwwLDAsMiwwXSxbMywzLDIsMCwzLDBdLFszLDAsMywwLDAsMF0sWzAsMCwzLDAsMCwzXSxbMiwyLDAsMywwLDNdLFsyLDAsMiwwLDAsMF0sWzIsMCwyLDAsMCwyXSxbMiwwLDAsMiwwLDBdLFs0LDMsMCwwLDAsMl1dLFwibWluX3N0ZXBzXCI6MTJ9LHtcImlkXCI6XCI3MDEwXCIsXCJtYXBcIjpbWzQsMywwLDMsMSwwXSxbMCwwLDMsMywwLDBdLFswLDMsMCwwLDIsMl0sWzIsMCwzLDAsMCwyXSxbMywyLDAsMiwzLDBdLFswLDAsMCwwLDAsMF0sWzAsMiwwLDIsMiwwXSxbMCwyLDAsMywwLDJdLFswLDIsMCwwLDAsM11dLFwibWluX3N0ZXBzXCI6MTJ9LHtcImlkXCI6XCI3MDE2XCIsXCJtYXBcIjpbWzIsMyw0LDAsMCwzXSxbMCwzLDIsMiwzLDFdLFswLDIsMiwzLDAsMF0sWzMsMCwzLDAsMiwwXSxbMywwLDAsMCwyLDJdLFswLDAsMywzLDAsMF0sWzAsMywwLDMsMiwwXSxbMCwwLDMsMCwzLDJdLFswLDIsMiwzLDAsMF1dLFwibWluX3N0ZXBzXCI6MTJ9LHtcImlkXCI6XCI3MDIwXCIsXCJtYXBcIjpbWzIsMywwLDQsMywzXSxbMywzLDAsMCwzLDBdLFswLDIsMCwzLDIsMF0sWzAsMywwLDAsMCwyXSxbMywyLDAsMCwwLDBdLFswLDAsMywyLDAsM10sWzAsMywwLDMsMiwwXSxbMywyLDIsMCwwLDJdLFswLDAsMiwxLDMsMl1dLFwibWluX3N0ZXBzXCI6MTJ9LHtcImlkXCI6XCI3MDI0XCIsXCJtYXBcIjpbWzEsMywyLDAsMCwzXSxbMiwzLDIsMCwwLDBdLFswLDIsMywwLDMsM10sWzMsMCwwLDIsMCwzXSxbMiwzLDAsMCwwLDNdLFszLDMsMCwwLDAsMF0sWzIsMCwzLDAsMCwyXSxbMCwwLDIsMCwyLDJdLFs0LDIsMywwLDMsMF1dLFwibWluX3N0ZXBzXCI6MTJ9LHtcImlkXCI6XCI3MDMyXCIsXCJtYXBcIjpbWzAsMCwwLDAsMyw0XSxbMCwwLDMsMywzLDJdLFsyLDIsMywzLDAsMF0sWzAsMCwzLDIsMCwwXSxbMCwyLDAsMiwzLDJdLFswLDIsMywwLDAsM10sWzIsMywzLDAsMCwyXSxbMSwwLDMsMCwzLDJdLFswLDAsMywwLDAsMl1dLFwibWluX3N0ZXBzXCI6MTJ9LHtcImlkXCI6XCI3MDMzXCIsXCJtYXBcIjpbWzEsMCwwLDMsMCwzXSxbMywzLDIsMCwyLDBdLFswLDMsMywyLDAsMl0sWzMsMiwwLDMsMCwwXSxbNCwyLDIsMiwwLDBdLFswLDMsMCwwLDAsMF0sWzMsMywzLDAsMCwyXSxbMywwLDMsMiwwLDNdLFsyLDAsMCwwLDAsMl1dLFwibWluX3N0ZXBzXCI6MTJ9LHtcImlkXCI6XCI3MDM1XCIsXCJtYXBcIjpbWzMsMCwwLDIsMCw0XSxbMywwLDIsMywzLDNdLFswLDAsMiwzLDAsMl0sWzMsMCwzLDMsMywwXSxbMiwyLDAsMCwwLDBdLFsyLDIsMywwLDAsMF0sWzAsMCwyLDMsMCwwXSxbMCwyLDAsMywyLDNdLFswLDAsMywxLDIsMF1dLFwibWluX3N0ZXBzXCI6MTJ9LHtcImlkXCI6XCI3MDM2XCIsXCJtYXBcIjpbWzIsMywxLDAsMCwyXSxbMCwzLDAsMCwwLDBdLFsyLDAsMiwwLDAsM10sWzAsMCwzLDMsMCwzXSxbMCwyLDIsMCwwLDNdLFswLDMsMiwzLDMsMF0sWzAsMywyLDAsMCwyXSxbMCwzLDIsMCwyLDNdLFsyLDAsMywzLDQsMF1dLFwibWluX3N0ZXBzXCI6MTJ9LHtcImlkXCI6XCI3MDM3XCIsXCJtYXBcIjpbWzIsMCwwLDAsMCwzXSxbMCwyLDMsMCwyLDJdLFswLDAsMywwLDIsMF0sWzAsMiwyLDAsMCwwXSxbMywyLDMsMCwwLDNdLFswLDAsMywzLDAsM10sWzMsMiwzLDAsMCwzXSxbMCwwLDMsMywyLDBdLFs0LDMsMSwyLDAsMl1dLFwibWluX3N0ZXBzXCI6MTJ9LHtcImlkXCI6XCI3MDM5XCIsXCJtYXBcIjpbWzIsMCwzLDMsMiwwXSxbMCwwLDAsMCwyLDNdLFsxLDMsMCwwLDAsMl0sWzAsMiwzLDIsMiwyXSxbMCwwLDMsMCwwLDBdLFswLDMsMCwwLDMsMF0sWzMsMCwwLDIsMywyXSxbMiwwLDMsMCwyLDNdLFswLDQsMywwLDMsM11dLFwibWluX3N0ZXBzXCI6MTJ9LHtcImlkXCI6XCI3MDQwXCIsXCJtYXBcIjpbWzAsMiwzLDMsNCwwXSxbMCwyLDAsMCwzLDJdLFswLDAsMywwLDIsMF0sWzMsMCwyLDAsMCwzXSxbMiwwLDAsMywwLDNdLFszLDMsMCwyLDIsMF0sWzIsMiwzLDAsMiwwXSxbMSwzLDAsMCwyLDNdLFswLDAsMCwzLDAsM11dLFwibWluX3N0ZXBzXCI6MTJ9LHtcImlkXCI6XCI3MDQxXCIsXCJtYXBcIjpbWzMsMywwLDIsMywxXSxbMCwzLDMsMiwwLDJdLFswLDIsMCwwLDAsMF0sWzAsMCwwLDAsMCwwXSxbMywzLDMsMiwzLDBdLFswLDMsMywyLDMsMl0sWzQsMCwzLDAsMiwwXSxbMiwyLDIsMCwwLDBdLFswLDMsMiwwLDMsMF1dLFwibWluX3N0ZXBzXCI6MTJ9LHtcImlkXCI6XCI3MDA0XCIsXCJtYXBcIjpbWzIsMCwwLDIsMCwwXSxbMCwzLDAsMCwwLDFdLFswLDIsMCwwLDAsMF0sWzAsMCwwLDAsMiwwXSxbMCwwLDMsMywzLDJdLFswLDAsMCwzLDIsM10sWzAsMCwyLDAsMCwzXSxbMCwyLDMsMiwyLDRdLFszLDIsMiwwLDMsMF1dLFwibWluX3N0ZXBzXCI6MTN9LHtcImlkXCI6XCI3MDA5XCIsXCJtYXBcIjpbWzQsMCwzLDEsMCwyXSxbMCwyLDMsMywzLDBdLFswLDIsMywyLDIsMF0sWzMsMCwzLDAsMCwyXSxbMCwwLDAsMCwwLDBdLFszLDIsMCwwLDIsMF0sWzMsMiwwLDAsMiwwXSxbMCwwLDIsMiwyLDBdLFswLDAsMCwwLDMsMF1dLFwibWluX3N0ZXBzXCI6MTN9LHtcImlkXCI6XCI3MDE0XCIsXCJtYXBcIjpbWzMsNCwyLDMsMCwwXSxbMiwzLDAsMywwLDBdLFswLDIsMiwwLDAsMF0sWzAsMywzLDAsMywzXSxbMCwwLDAsMCwwLDBdLFszLDIsMCwwLDIsMl0sWzIsMiwyLDIsMCwzXSxbMCwwLDMsMywwLDNdLFsxLDIsMCwzLDMsMF1dLFwibWluX3N0ZXBzXCI6MTN9LHtcImlkXCI6XCI3MDE1XCIsXCJtYXBcIjpbWzIsMyw0LDAsMywwXSxbMSwyLDMsMiwzLDBdLFswLDAsMywwLDIsMF0sWzIsMCwwLDMsMCwwXSxbMiwyLDAsMiwwLDNdLFswLDAsMiwwLDAsMF0sWzMsMCwwLDMsMywwXSxbMCwwLDMsMCwyLDNdLFszLDAsMywyLDMsMl1dLFwibWluX3N0ZXBzXCI6MTN9LHtcImlkXCI6XCI3MDI1XCIsXCJtYXBcIjpbWzIsMywxLDAsMywzXSxbMCwwLDIsMywyLDBdLFswLDIsMCwwLDAsM10sWzAsMywwLDAsMCwzXSxbMiwwLDAsMywyLDBdLFswLDAsMiwzLDAsMl0sWzIsMCwzLDIsMCwzXSxbMywzLDAsMCwzLDNdLFsyLDQsMCwyLDAsMF1dLFwibWluX3N0ZXBzXCI6MTN9LHtcImlkXCI6XCI3MDMwXCIsXCJtYXBcIjpbWzIsMCwxLDIsMCwwXSxbMCwyLDMsMywwLDJdLFsyLDMsMywzLDAsMl0sWzMsMCwwLDIsMiwwXSxbMCwzLDAsMywyLDBdLFswLDAsMiwwLDIsM10sWzMsMywwLDMsMywyXSxbNCwzLDAsMCwwLDBdLFswLDAsMCwwLDAsM11dLFwibWluX3N0ZXBzXCI6MTN9LHtcImlkXCI6XCI3MDMxXCIsXCJtYXBcIjpbWzAsMiwyLDMsNCwyXSxbMywzLDAsMCwyLDJdLFswLDAsMCwzLDIsMF0sWzAsMywwLDAsMywzXSxbMCwyLDAsMiwzLDBdLFsyLDMsMCwwLDAsMF0sWzMsMywwLDMsMCwyXSxbMCwwLDIsMywzLDNdLFsxLDAsMiwwLDAsMF1dLFwibWluX3N0ZXBzXCI6MTN9LHtcImlkXCI6XCI3MDM4XCIsXCJtYXBcIjpbWzQsMiwzLDMsMiwzXSxbMCwzLDAsMiwzLDBdLFswLDAsMCwyLDAsMl0sWzMsMywyLDMsMCwwXSxbMCwzLDAsMywyLDNdLFswLDIsMiwyLDAsMF0sWzEsMywwLDAsMywwXSxbMiwwLDAsMCwzLDJdLFswLDAsMywwLDAsMF1dLFwibWluX3N0ZXBzXCI6MTN9LHtcImlkXCI6XCI3MDExXCIsXCJtYXBcIjpbWzAsMSwwLDAsMiwwXSxbMywwLDMsMywyLDNdLFswLDMsMywyLDAsMF0sWzAsMCwyLDAsMywzXSxbMiwzLDIsMCwwLDBdLFszLDIsMiwzLDMsMF0sWzIsMCwyLDIsMCw0XSxbMCwyLDAsMywwLDBdLFswLDAsMCwzLDAsM11dLFwibWluX3N0ZXBzXCI6MTR9LHtcImlkXCI6XCI3MDE3XCIsXCJtYXBcIjpbWzIsMCwwLDMsMCwzXSxbNCwzLDAsMiwwLDNdLFszLDAsMCwwLDMsMF0sWzIsMCwwLDIsMCwwXSxbMywwLDAsMywwLDBdLFsyLDMsMCwyLDIsMl0sWzEsMywzLDAsMiwyXSxbMCwzLDAsMCwzLDBdLFswLDIsMCwzLDMsMl1dLFwibWluX3N0ZXBzXCI6MTR9LHtcImlkXCI6XCI3MDE5XCIsXCJtYXBcIjpbWzAsMywwLDIsMywxXSxbMCwzLDAsMiwwLDJdLFswLDIsMiwwLDMsM10sWzAsMCwzLDIsMCwzXSxbMCwwLDMsMiwyLDBdLFsyLDIsMywwLDIsMl0sWzAsMywwLDAsMywwXSxbMywwLDAsMywzLDBdLFswLDAsMCwzLDAsNF1dLFwibWluX3N0ZXBzXCI6MTR9LHtcImlkXCI6XCI3MDIxXCIsXCJtYXBcIjpbWzAsMCwwLDAsMiw0XSxbMywwLDIsMCwwLDBdLFszLDAsMiwzLDMsM10sWzIsMCwzLDMsMywwXSxbMiwwLDAsMCwyLDNdLFszLDMsMCwwLDAsMl0sWzEsMCwzLDAsMiwyXSxbMiwyLDAsMiwwLDBdLFswLDAsMywzLDAsM11dLFwibWluX3N0ZXBzXCI6MTR9LHtcImlkXCI6XCI3MDIyXCIsXCJtYXBcIjpbWzQsMCwwLDAsMCwwXSxbMCwwLDAsMCwzLDJdLFszLDMsMiwzLDMsMl0sWzIsMCwwLDAsMCwyXSxbMCwwLDMsMCwzLDNdLFsyLDAsMiwzLDIsMV0sWzMsMiwzLDAsMCwzXSxbMiwwLDAsMywyLDJdLFszLDMsMCwwLDAsMF1dLFwibWluX3N0ZXBzXCI6MTV9LHtcImlkXCI6XCI3MDI4XCIsXCJtYXBcIjpbWzAsMiwxLDMsMCwyXSxbMCwzLDMsMywwLDJdLFswLDAsMCwzLDAsMl0sWzMsMCwwLDMsMiw0XSxbMiwwLDAsMywyLDJdLFsyLDIsMywwLDAsM10sWzAsMiwwLDAsMCwwXSxbMCwzLDMsMywyLDBdLFswLDMsMCwzLDAsMF1dLFwibWluX3N0ZXBzXCI6MTZ9LHtcImlkXCI6XCI3MDM0XCIsXCJtYXBcIjpbWzEsMCwwLDMsMiwwXSxbMCwyLDIsMywzLDBdLFszLDAsMCwyLDAsM10sWzIsMywyLDIsMCwzXSxbMCwwLDMsMCwwLDNdLFszLDAsMCwwLDMsMF0sWzIsMywwLDMsMiw0XSxbMCwzLDAsMCwwLDNdLFswLDIsMCwwLDIsMl1dLFwibWluX3N0ZXBzXCI6MTZ9LHtcImlkXCI6XCI3MDEyXCIsXCJtYXBcIjpbWzEsMywzLDMsMCwwXSxbMCwzLDAsMiwwLDBdLFswLDAsMCwzLDAsMl0sWzMsMCwwLDMsMiwzXSxbMCwwLDIsMCwwLDNdLFswLDAsMiwzLDIsMF0sWzIsMiwzLDIsMywyXSxbMCwzLDAsMiwwLDJdLFswLDMsNCwzLDAsMF1dLFwibWluX3N0ZXBzXCI6MTd9LHtcImlkXCI6XCI3MDEzXCIsXCJtYXBcIjpbWzAsMSwwLDAsMywzXSxbMCwyLDAsMywwLDBdLFsyLDMsMCwwLDAsMF0sWzAsMCwwLDMsMCwzXSxbMCwzLDAsMiwzLDJdLFsyLDAsMywzLDIsMF0sWzAsMiwyLDMsMCwyXSxbMiwzLDIsMCwzLDBdLFswLDMsMywwLDIsNF1dLFwibWluX3N0ZXBzXCI6MTd9LHtcImlkXCI6XCI3MDE4XCIsXCJtYXBcIjpbWzAsMCwwLDAsMCwyXSxbMSwwLDMsMywwLDJdLFszLDMsMCwzLDIsM10sWzAsMywwLDIsMCwwXSxbMCwzLDAsMCwyLDJdLFszLDAsMCwyLDMsMF0sWzAsMywzLDMsMCwwXSxbMiwwLDMsMCwwLDJdLFsyLDQsMiwwLDMsMl1dLFwibWluX3N0ZXBzXCI6MTd9XV1cclxuXHJcblxyXG4gICAgICAgIHRoaXMuTEVWRUxfSU5GTy51bnNoaWZ0KFt7XCJpZFwiOlwiMDAwMVwiLFwibWFwXCI6W1szLCAyLCAyLCAwLCAyXSxbMCwgMCwgMywgMywgMF0sWzEsIDMsIDAsIDMsIDJdLFszLCAwLCAyLCAzLCA0XSxbMywgMiwgMywgMywgMl1dLFwibWluX3N0ZXBzXCI6NH1dKTtcclxuICAgICAgICBcclxuXHJcbiAgICAgICAgICAgIFxyXG4gICAgICAgIFxyXG4gICAgfVxyXG5cclxuXHJcbiAgICBzdGF0aWMgQXV0aGVudGljYXRpb24oKXtcclxuICAgICAgICBjYy5meC5HYW1lVG9vbC5BdXRoZW50aWNhdGlvbigpO1xyXG4gICAgfVxyXG59XHJcblxyXG4iXX0= +//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbImFzc2V0c1xcU2NyaXB0XFxtb2R1bGVcXFRvb2xcXEdhbWVUb29sLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7Ozs7Ozs7Ozs7Ozs7OztBQUNBLCtCQUErQjtBQUMvQixJQUFJLFFBQVEsR0FBRztJQUNYLFVBQVUsRUFBRSxDQUFDO0lBQ2IsUUFBUSxFQUFFLENBQUM7SUFDWCxVQUFVLEVBQUUsQ0FBQztJQUNiLFVBQVU7SUFDVixjQUFjO1FBQ1YsSUFBSSxJQUFJLEdBQUcsT0FBTyxHQUFHLEVBQUUsQ0FBQyxFQUFFLENBQUMsVUFBVSxDQUFDLE9BQU8sQ0FBQyxNQUFNLENBQUM7UUFDckQsSUFBSSxJQUFJLEdBQUcsSUFBSSxDQUFDLEtBQUssQ0FBQyxZQUFZLENBQUMsT0FBTyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUM7UUFDbEQsSUFBRyxJQUFJLElBQUksVUFBVSxJQUFJLElBQUksSUFBRSxJQUFJLElBQUksSUFBSSxJQUFJLEVBQUUsRUFBQztZQUM5QyxJQUFJLE1BQU0sR0FBRyxNQUFNLENBQUMsUUFBUSxDQUFDLElBQUksQ0FBQztZQUNsQyxJQUFHLENBQUMsSUFBSSxDQUFDLGFBQWEsQ0FBQyxNQUFNLENBQUMsRUFBQztnQkFDM0IsSUFBSSxHQUFHLEdBQUcsOEVBQThFLEdBQUMsUUFBUSxDQUFDLElBQUksQ0FBQztnQkFDdkcsTUFBTSxDQUFDLFFBQVEsQ0FBQyxJQUFJLEdBQUcsR0FBRyxDQUFDO2FBQzlCO1NBQ0o7YUFDRztZQUNBLEVBQUUsQ0FBQyxFQUFFLENBQUMsY0FBYyxDQUFDLFVBQVUsQ0FBQyxJQUFJLEVBQUMsSUFBSSxDQUFDLENBQUM7WUFDM0MsRUFBRSxDQUFDLEVBQUUsQ0FBQyxVQUFVLENBQUMsT0FBTyxDQUFDLE1BQU0sR0FBRyxRQUFRLENBQUMsSUFBSSxDQUFDLE1BQU0sQ0FBQyxDQUFDO1NBQzNEO0lBQ0wsQ0FBQztJQUVELGFBQWEsWUFBQyxHQUFHO1FBQ2IsT0FBTyxhQUFhLENBQUMsSUFBSSxDQUFD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R0FBRyxDQUFDO1FBRW5CLElBQUksUUFBUSxHQUFHLEtBQUssR0FBRyxHQUFHLEdBQUcsRUFBRSxDQUFDLENBQUEsYUFBYTtRQUM3QyxJQUFJLElBQUksR0FBRyxRQUFRLEdBQUcsSUFBSSxDQUFDO1FBQzNCLE9BQU8sQ0FBQyxHQUFHLElBQUksQ0FBQTtJQUNuQixDQUFDO0lBRUQsT0FBTztJQUNQLE9BQU87UUFDSCxJQUFNLFNBQVMsR0FBSSxDQUFDLElBQUksSUFBSSxFQUFFLENBQUMsT0FBTyxFQUFFLENBQUMsQ0FBQTtRQUN6QyxPQUFPLFNBQVMsQ0FBQztJQUNyQixDQUFDO0lBQ0QsVUFBVSxFQUFDO0lBRVgsQ0FBQztJQUNELGVBQWUsRUFBQztJQUVoQixDQUFDO0NBRUosQ0FBQztBQUNPLDRCQUFRIiwiZmlsZSI6IiIsInNvdXJjZVJvb3QiOiIvIiwic291cmNlc0NvbnRlbnQiOlsiXHJcbi8v5pyA5aSn5bel5YW357G7ICDlkITnp43lhazlhbHmlrnms5XvvIzku6Xlj4rlpITnkIbkuIrkvKDvvIzojrflj5blkI7nq6/mjqXlj6PmlbDmja5cclxudmFyIEdhbWVUb29sID0ge1xyXG4gICAgX3N0YXJ0VGltZTogMCxcclxuICAgIF9lbmRUaW1lOiAwLFxyXG4gICAgX3RvdGFsVGltZTogMCxcclxuICAgIC8v6I635Y+WdXNlcklkXHJcbiAgICBBdXRoZW50aWNhdGlvbigpe1xyXG4gICAgICAgIGxldCBuYW1lID0gXCJ1c2VyX1wiICsgY2MuZnguR2FtZUNvbmZpZy5HTV9JTkZPLmdhbWVJZDtcclxuICAgICAgICB2YXIgZGF0YSA9IEpTT04ucGFyc2UobG9jYWxTdG9yYWdlLmdldEl0ZW0obmFtZSkpO1xyXG4gICAgICAgIGlmKGRhdGEgPT0gXCJ1bmRpZmVuZFwiIHx8IGRhdGE9PW51bGwgfHwgZGF0YSA9PSBcIlwiKXtcclxuICAgICAgICAgICAgdmFyIHVybE5vdyA9IHdpbmRvdy5sb2NhdGlvbi5ocmVmO1xyXG4gICAgICAgICAgICBpZighdGhpcy5jb250YWluc1RyYWluKHVybE5vdykpe1xyXG4gICAgICAgICAgICAgICAgbGV0IHVybCA9IFwiaHR0cHM6Ly9hcGkuc3Bhcmt1cy5jbi9hcGkvdXNlci9hdXRoL2xvZ2luP2RvbWFpbj1odWkzMjU3OVdkWVBzZ1lxJmNhbGxiYWNrPVwiK2xvY2F0aW9uLmhyZWY7XHJcbiAgICAgICAgICAgICAgICB3aW5kb3cubG9jYXRpb24uaHJlZiA9IHVybDtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgICAgICBlbHNle1xyXG4gICAgICAgICAgICBjYy5meC5TdG9yYWdlTWVzc2FnZS5zZXRTdG9yYWdlKG5hbWUsZGF0YSk7XHJcbiAgICAgICAgICAgIGNjLmZ4LkdhbWVDb25maWcuR01fSU5GTy51c2VySWQgPSBwYXJzZUludChkYXRhLnVzZXJJZCk7XHJcbiAgICAgICAgfVxyXG4gICAgfSxcclxuXHJcbiAgICBjb250YWluc1RyYWluKHN0cikge1xyXG4gICAgICAgIHJldHVybiAvZnJvbT10cmFpbi9pLnRlc3Qoc3RyKTtcclxuICAgIH0sXHJcblxyXG4gICAgLy/ln4vngrnkuIrkvKBcclxuICAgIHNldEdhbWVEYXRhKCl7XHJcbiAgICAgICAgLy9HQU1FX0RBVEEg5Yid5aeL5YyWIOavj+asoea4hembtlxyXG4gICAgICAgIGNjLmZ4LkdhbWVDb25maWcuR0FNRV9EQVRBID0gW107XHJcbiAgICAgICAgY2MuZnguR2FtZUNvbmZpZy5HQU1FX0RBVEEucHVzaChjYy5meC5HYW1lQ29uZmlnLkNMSUNLX0RBVEEpO1xyXG4gICAgICAgIGNjLmZ4LkdhbWVDb25maWcuQ0xJQ0tfaW5pdCgpO1xyXG4gICAgICAgIGxldCBkYXRhID0gY2MuZnguR2FtZUNvbmZpZy5HQU1FX0RBVEE7XHJcbiAgICAgICAgbGV0IG1hdGNoSWQgPSB0aGlzLmdldE1hdGNoSWQoKTtcclxuICAgICAgICBsZXQgcG9zdERhdGEgPSB7XHJcbiAgICAgICAgICAgIFwiZ2FtZUlkXCI6Y2MuZnguR2FtZUNvbmZpZy5HTV9JTkZPLmdhbWVJZCxcclxuICAgICAgICAgICAgXCJ1c2VySWRcIjpjYy5meC5HYW1lQ29uZmlnLkdNX0lORk8udXNlcklkLFxyXG4gICAgICAgICAgICBcIm1hdGNoSWRcIjptYXRjaElkLFxyXG4gICAgICAgICAgICBcImRhdGFcIjogZGF0YVxyXG4gICAgICAgIH07XHJcblxyXG4gICAgICAgIC8vIGNvbnNvbGUubG9nKFwi5LiK5Lyg5pWw5o2uOlwiLGRhdGEpO1xyXG4gICAgICAgIGNjLmZ4Lkh0dHBVdGlsLnVwbG9hZFVzZXJMb2dEYXRhKHBvc3REYXRhLGZ1bmN0aW9uKCl7fSlcclxuICAgIH0sXHJcbiAgICAvL+S4iuS8oOaOkuihjOamnCAgdHlwZeS4ujFcclxuICAgIHNldFJhbmsoZGF0YSl7XHJcbiAgICAgICAgLy9HQU1FX0RBVEEg5Yid5aeL5YyWIOavj+asoea4hembtlxyXG4gICAgICAgIGxldCBwb3N0RGF0YSA9IHtcclxuICAgICAgICAgICAgXCJnYW1lSWRcIjpjYy5meC5HYW1lQ29uZmlnLkdNX0lORk8uZ2FtZUlkLFxyXG4gICAgICAgICAgICBcInVzZXJJZFwiOmNjLmZ4LkdhbWVDb25maWcuR01fSU5GTy51c2VySWQsXHJcbiAgICAgICAgICAgIFwidHlwZVwiOjEsXHJcbiAgICAgICAgICAgIFwic2NvcmVcIjogZGF0YS5zY29yZSxcclxuICAgICAgICAgICAgXCJhY2N1cmFjeVwiOiBkYXRhLmRhdGUsXHJcbiAgICAgICAgICAgIFwic3VjY2Vzc1wiOiBjYy5meC5HYW1lQ29uZmlnLkdNX0lORk8uc3VjY2Vzc1xyXG4gICAgICAgIH07XHJcbiAgICAgICAgY2MuZnguSHR0cFV0aWwucmFua0RhdGEoMSxmdW5jdGlvbigpe30scG9zdERhdGEpO1xyXG4gICAgfSxcclxuICAgIC8v6I635Y+W5o6S6KGM5qacIHR5cGXkuLoyXHJcbiAgICBnZXRSYW5rKGRhdGEsY2FsbGJhY2spe1xyXG4gICAgICAgIGxldCByYW5rTGVuZ3RoID0gZGF0YS5sZW5ndGg7XHJcbiAgICAgICAgbGV0IHBvc3REYXRhID0ge1xyXG4gICAgICAgICAgICBcImdhbWVJZFwiOmNjLmZ4LkdhbWVDb25maWcuR01fSU5GTy5nYW1lSWQsXHJcbiAgICAgICAgICAgIFwidXNlcklkXCI6Y2MuZnguR2FtZUNvbmZpZy5HTV9JTkZPLnVzZXJJZCxcclxuICAgICAgICAgICAgXCJwYWdlXCI6MSxcclxuICAgICAgICAgICAgXCJwYWdlU2l6ZVwiOnJhbmtMZW5ndGhcclxuICAgICAgICB9OyBcclxuICAgICAgICAvL+Wbnuiwg+i/m2dldFJhbmtEYXRhXHJcbiAgICAgICAgY2MuZnguSHR0cFV0aWwucmFua0RhdGEoMixkYXRhID0+e2NhbGxiYWNrKGRhdGEpfSxwb3N0RGF0YSk7XHJcbiAgICB9LFxyXG4gICAgLy/ojrflj5ZtYXRjaElkICDnlKjkuo7kuIrkvKDmr4/mrKHngrnlh7vmlbDmja7ph4zpnaLorrDlvZVpZOaWueS+v+afpeivolxyXG4gICAgZ2V0TWF0Y2hJZCAoKXtcclxuICAgICAgICBsZXQgbWF0Y2hJZCA9IGNjLnN5cy5sb2NhbFN0b3JhZ2UuZ2V0SXRlbShcIm1hdGNoSWRcIik7XHJcbiAgICAgICAgbGV0IHRlbXBJZCA9IG1hdGNoSWQ7XHJcbiAgICAgICAgaWYobWF0Y2hJZCA9PSBcInVuZGlmZW5kXCIgfHwgbWF0Y2hJZD09bnVsbCl7XHJcbiAgICAgICAgICAgIG1hdGNoSWQgPSAgdGhpcy5zZXRNYXRjaElkKCk7XHJcbiAgICAgICAgfVxyXG4gICAgICAgIGVsc2V7XHJcbiAgICAgICAgICAgIGlmKHRoaXMuY29udGFpbnNOYW5hbmEobWF0Y2hJZCkgPT0gdHJ1ZSl7XHJcbiAgICAgICAgICAgICAgICBtYXRjaElkID0gIHRoaXMuc2V0TWF0Y2hJZCgpO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIGVsc2V7XHJcbiAgICAgICAgICAgICAgICBsZXQgY2hhciA9IHBhcnNlSW50KHRlbXBJZC5zdWJzdHJpbmcoMTAsdGVtcElkLmxlbmd0aCkpO1xyXG4gICAgICAgICAgICAgICAgaWYoY2MuZnguR2FtZUNvbmZpZy5HTV9JTkZPLmxldmVsID09IDEpe1xyXG4gICAgICAgICAgICAgICAgICAgIGNoYXIgKz0gMTtcclxuICAgICAgICAgICAgICAgICAgICBtYXRjaElkICA9IHRlbXBJZC5zbGljZSgwLCAxMCkgKyBjaGFyICsgXCJcIjtcclxuICAgICAgICAgICAgICAgICAgICBpZih0aGlzLmNvbnRhaW5zTmFuYW5hKG1hdGNoSWQpKSBtYXRjaElkID0gdGhpcy5zZXRNYXRjaElkKCk7XHJcbiAgICAgICAgICAgICAgICAgICAgY2MuZnguR2FtZUNvbmZpZy5HTV9JTkZPLm1hdGNoSWQgPSBtYXRjaElkO1xyXG4gICAgICAgICAgICAgICAgICAgIGNjLnN5cy5sb2NhbFN0b3JhZ2Uuc2V0SXRlbShcIm1hdGNoSWRcIixtYXRjaElkKTtcclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuXHJcbiAgICAgICAgaWYodGhpcy5jb250YWluc05hbmFuYShtYXRjaElkKSA9PSB0cnVlKXtcclxuICAgICAgICAgICAgbWF0Y2hJZCA9ICB0aGlzLnNldE1hdGNoSWQoKTtcclxuICAgICAgICB9XHJcbiAgICAgICAgcmV0dXJuIG1hdGNoSWQ7XHJcbiAgICB9LFxyXG4gICAgLy/mo4DmtYttYXRjaElkIOWmguaenOaciee8k+WtmOS7peWJjeeahG5hbmFuYeaVsOaNrua4hemZpFxyXG4gICAgY29udGFpbnNOYW5hbmEoc3RyKSB7XHJcbiAgICAgICAgcmV0dXJuIC9uYS9pLnRlc3Qoc3RyKTtcclxuICAgIH0sXHJcbiAgICAvL+mHjeaWsOiuvue9rk1hdGNoSWRcclxuICAgIHNldE1hdGNoSWQgKCl7XHJcbiAgICAgICAgLy8g5a6a5LmJ5YyF5ZCr5Y+v55So5a2X56ym55qE5a2X56ym6ZuGXHJcbiAgICAgICAgY29uc3QgY2hhcmFjdGVycyA9ICdhYmNkZWZnaGlqa2xtbm9wcXJzdHV2d3h5ekFCQ0RFRkdISUpLTE1OT1BRUlNUVVZXWFlaMDEyMzQ1Njc4OSc7XHJcbiAgICAgICAgLy8g5Yib5bu65LiA5Liq5pWw57uE5Lul5L+d5a2Y6ZqP5py65a2X56ymXHJcbiAgICAgICAgY29uc3QgdXVpZEFycmF5ID0gW107XHJcbiAgICAgICAgLy8g5b6q546vMTDmrKEg55Sf5oiQMTDkvY3nmoRVVUlEXHJcbiAgICAgICAgZm9yIChsZXQgaSA9IDA7IGkgPCAxMDsgaSsrKSB7XHJcbiAgICAgICAgICAgICAgICAvLyDnlJ/miJDpmo/mnLrntKLlvJXvvIzojIPlm7TmmK/lrZfnrKbpm4bnmoTplb/luqZcclxuICAgICAgICAgICAgY29uc3QgcmFuZG9tSW5kZXggPSBNYXRoLmZsb29yKE1hdGgucmFuZG9tKCkgKiBjaGFyYWN0ZXJzLmxlbmd0aCk7XHJcbiAgICAgICAgICAgIC8vIOS7juWtl+espumbhuS4reiOt+WPlumaj+acuuWtl+esplxyXG4gICAgICAgICAgICBjb25zdCByYW5kb21DaGFyID0gY2hhcmFjdGVycy5jaGFyQXQocmFuZG9tSW5kZXgpO1xyXG4gICAgICAgICAgICAvLyDlsIblrZfnrKbmt7vliqDliLDmlbDnu4TkuK1cclxuICAgICAgICAgICAgdXVpZEFycmF5LnB1c2gocmFuZG9tQ2hhcik7XHJcbiAgICAgICAgfVxyXG4gICAgICAgIGxldCBkYXRhID0gIHV1aWRBcnJheS5qb2luKCcnKSArIDEgKyBcIlwiO1xyXG4gICAgICAgIGNjLnN5cy5sb2NhbFN0b3JhZ2Uuc2V0SXRlbShcIm1hdGNoTnVtYmVyXCIsMSk7XHJcbiAgICAgICAgY2Muc3lzLmxvY2FsU3RvcmFnZS5zZXRJdGVtKFwibWF0Y2hJZFwiLGRhdGEpO1xyXG4gICAgICAgIGNjLmZ4LkdhbWVDb25maWcuR01fSU5GTy5tYXRjaElkID0gZGF0YTtcclxuICAgICAgICByZXR1cm4gZGF0YTtcclxuICAgIH0sXHJcbiAgICAvL+aIquWPluWQjeWtl1xyXG4gICAgc3ViTmFtZShuYW1lLGxlbmd0aCl7XHJcbiAgICAgICAgaWYobmFtZS5sZW5ndGggPiBsZW5ndGgpe1xyXG4gICAgICAgICAgICBuYW1lID0gbmFtZS5zdWJzdHJpbmcoMCxsZW5ndGgpICsgXCIuLi5cIlxyXG4gICAgICAgIH1cclxuICAgICAgICByZXR1cm4gbmFtZTtcclxuICAgIH0sXHJcbiAgICAvL+iuvue9ruWktOWDj1xyXG4gICAgc2V0UGljKG5vZGUscGljKXtcclxuICAgICAgICBub2RlLmFjdGl2ZSA9IGZhbHNlO1xyXG4gICAgICAgIGxldCB1cmwgPSBwaWM7XHJcbiAgICAgICAgc2V0VGltZW91dCgoKSA9PiB7XHJcbiAgICAgICAgICAgIGZldGNoKHVybClcclxuICAgICAgICAgICAgLnRoZW4ocmVzcG9uc2UgPT4ge1xyXG4gICAgICAgICAgICAgICAgcmV0dXJuIHJlc3BvbnNlLmhlYWRlcnMuZ2V0KCdDb250ZW50LUxlbmd0aCcpO1xyXG4gICAgICAgICAgICB9KVxyXG4gICAgICAgICAgICAudGhlbihlcnJObyA9PiB7XHJcbiAgICAgICAgICAgICAgICBpZihlcnJObyA9PSBcIjUwOTNcIil7XHJcbiAgICAgICAgICAgICAgICAgICAgbm9kZS5hY3RpdmUgPSB0cnVlO1xyXG4gICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICB9KVxyXG4gICAgICAgICAgICAuY2F0Y2goZXJyb3IgPT4ge1xyXG4gICAgICAgICAgICAgICAgLy8gY29uc29sZS5lcnJvcignRXJyb3IgZmV0Y2hpbmcgWC1JbmZvOicsIGVycm9yKTtcclxuICAgICAgICAgICAgfSk7XHJcbiAgICAgICAgfSwgMTAwKTtcclxuICAgICAgICBjYy5hc3NldE1hbmFnZXIubG9hZFJlbW90ZSh1cmwsIHtleHQ6Jy5wbmcnfSwoZXJyLCB0ZXh0dXJlOmNjLlRleHR1cmUyRCkgPT4ge1xyXG4gICAgICAgICAgICBpZih0ZXh0dXJlKXtcclxuICAgICAgICAgICAgICAgIG5vZGUuYWN0aXZlID0gdHJ1ZTtcclxuICAgICAgICAgICAgICAgIG5vZGUuZ2V0Q29tcG9uZW50KGNjLlNwcml0ZSkuc3ByaXRlRnJhbWUgPSBuZXcgY2MuU3ByaXRlRnJhbWUodGV4dHVyZSk7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgZWxzZXtcclxuICAgICAgICAgICAgICAgIGNvbnNvbGUubG9nKGVycix0ZXh0dXJlKVxyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfSlcclxuICAgIH0sXHJcbiAgICAvL+esrOS4gOS4quWPguaVsOaKiuebruagh+W4pui/m+adpeWkhOeQhu+8jOesrOS6jOS4quWPguaVsOS4uuWQjeWtl+mVv+W6pu+8jOS4jeWQjOWcuuaZr+S4jeWQjOmcgOaxglxyXG4gICAgLy/lkI3lrZc055+t77yM5bCP5o6S6KGM77yM5ZCN5a2XNumVv++8jOWkp+aOkuihjFxyXG4gICAgZ2V0UmFua0RhdGEoZGF0YSx0YXJnZXQsbmFtZUxlbmd0aCl7XHJcbiAgICAgICAgdGFyZ2V0Lmxpc3REYXRhID0gZGF0YS5kYXRhLmxpc3Q7XHJcbiAgICAgICAgdGFyZ2V0LnNlbGZEYXRhID0gZGF0YS5kYXRhLmluZm87XHJcbiAgICAgICAgbGV0IHJhbmtEYXRhID0gW107XHJcbiAgICAgICAgbGV0IHNlbGYgPSBmYWxzZTtcclxuICAgICAgICAgY2MuZnguR2FtZVRvb2wuc2V0UGljKHRhcmdldC5zZWxmTm9kZS5nZXRDaGlsZEJ5TmFtZShcInBpY1wiKS5nZXRDaGlsZEJ5TmFtZShcImljb25cIiksdGFyZ2V0LnNlbGZEYXRhLnBpYyk7XHJcbiAgICAgICAgZm9yKGxldCBpPTA7aTw9dGFyZ2V0Lmxpc3REYXRhLmxlbmd0aC0xO2krKyl7XHJcbiAgICAgICAgICAgIHJhbmtEYXRhLnB1c2goe3Jhbms6KGkrMSksIG5hbWU6dGFyZ2V0Lmxpc3REYXRhW2ldLm5pY2tOYW1lLCB0b3RhbDp0YXJnZXQubGlzdERhdGFbaV0uc2NvcmUsdGltZTpudWxsLCBwaWM6dGFyZ2V0Lmxpc3REYXRhW2ldLnBpY30pO1xyXG4gICAgICAgICAgICBpZihjYy5meC5HYW1lQ29uZmlnLkdNX0lORk8udXNlcklkID09IHRhcmdldC5saXN0RGF0YVtpXS51c2VySWQpe1xyXG4gICAgICAgICAgICAgICAgc2VsZiA9IHRydWU7XHJcbiAgICAgICAgICAgICAgICB0YXJnZXQucmFua051bWJlciA9IGk7XHJcbiAgICAgICAgICAgICAgICB0YXJnZXQuc2VsZk5vZGUuZ2V0Q2hpbGRCeU5hbWUoXCJyYW5rTGFiXCIpLmdldENvbXBvbmVudChjYy5MYWJlbCkuc3RyaW5nID0oaSsxKSArIFwiXCI7IFxyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIGlmKGkgPT0gKHRhcmdldC5saXN0RGF0YS5sZW5ndGgtMSkgJiYgc2VsZiA9PSBmYWxzZSl7XHJcbiAgICAgICAgICAgICAgICB0YXJnZXQucmFua051bWJlciA9IGk7XHJcbiAgICAgICAgICAgICAgICB0YXJnZXQuc2VsZk5vZGUuZ2V0Q2hpbGRCeU5hbWUoXCJyYW5rTGFiXCIpLmdldENvbXBvbmVudChjYy5MYWJlbCkuc3RyaW5nID0gXCI5OStcIjsgXHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICAgICAgIGNjLmZ4LkdhbWVUb29sLnN1Yk5hbWUodGFyZ2V0LnNlbGZEYXRhLm5pY2tOYW1lLG5hbWVMZW5ndGgpO1xyXG4gICAgICAgIHRhcmdldC5zZWxmTm9kZS5nZXRDaGlsZEJ5TmFtZShcIm5hbWVMYWJcIikuZ2V0Q29tcG9uZW50KGNjLkxhYmVsKS5zdHJpbmcgPSB0YXJnZXQuc2VsZkRhdGEubmlja05hbWU7XHJcbiAgICAgICAgdGFyZ2V0LnNlbGZOb2RlLmdldENoaWxkQnlOYW1lKFwidG90YWxMYWJcIikuZ2V0Q29tcG9uZW50KGNjLkxhYmVsKS5zdHJpbmcgPSB0YXJnZXQuc2VsZkRhdGEuc2NvcmU7XHJcbiAgICAgICAgbGV0IHRpbWVUZW1wID0gY2MuZnguR2FtZVRvb2wuZ2V0VGltZVNoZW5Ob25nKHRhcmdldC5zZWxmRGF0YS50b3RsZVRpbWVzKTtcclxuICAgICAgICAvLyB0YXJnZXQuc2VsZk5vZGUuZ2V0Q2hpbGRCeU5hbWUoXCJ0aW1lTGFiXCIpLmdldENvbXBvbmVudChjYy5MYWJlbCkuc3RyaW5nID0gdGltZVRlbXAgKyBcIlwiO1xyXG4gICAgICAgIHN3aXRjaCh0YXJnZXQuc2VsZk5vZGUuZ2V0Q2hpbGRCeU5hbWUoXCJyYW5rTGFiXCIpLmdldENvbXBvbmVudChjYy5MYWJlbCkuc3RyaW5nKXtcclxuICAgICAgICAgICAgY2FzZSBcIjFcIjpcclxuICAgICAgICAgICAgICAgIHRhcmdldC5zZWxmTm9kZS5nZXRDaGlsZEJ5TmFtZShcInJhbmtcIikuZ2V0Q2hpbGRCeU5hbWUoXCJvbmVcIikuYWN0aXZlID0gdHJ1ZTtcclxuICAgICAgICAgICAgICAgIGJyZWFrO1xyXG4gICAgICAgICAgICBjYXNlIFwiMlwiOlxyXG4gICAgICAgICAgICAgICAgdGFyZ2V0LnNlbGZOb2RlLmdldENoaWxkQnlOYW1lKFwicmFua1wiKS5nZXRDaGlsZEJ5TmFtZShcInR3b1wiKS5hY3RpdmUgPSB0cnVlO1xyXG4gICAgICAgICAgICAgICAgYnJlYWs7XHJcbiAgICAgICAgICAgIGNhc2UgXCIzXCI6XHJcbiAgICAgICAgICAgICAgICB0YXJnZXQuc2VsZk5vZGUuZ2V0Q2hpbGRCeU5hbWUoXCJyYW5rXCIpLmdldENoaWxkQnlOYW1lKFwidGhyZWVcIikuYWN0aXZlID0gdHJ1ZTtcclxuICAgICAgICAgICAgICAgIGJyZWFrO1xyXG4gICAgICAgIH1cclxuICAgICAgICAvLyDlpKfmjpLooYxcclxuICAgICAgICBpZihuYW1lTGVuZ3RoID09IDYpe1xyXG4gICAgICAgICAgICB0YXJnZXQucmFua0xpc3Quc2V0RGF0YShyYW5rRGF0YSk7XHJcbiAgICAgICAgICAgIHRhcmdldC5zZWxmTm9kZS5vcGFjaXR5ID0gMjU1O1xyXG4gICAgICAgICAgICBpZih0YXJnZXQuc2VsZkRhdGEudG90YWxTdW5Db3VudCA9PSAwKSB0YXJnZXQuc2VsZk5vZGUub3BhY2l0eSA9IDA7XHJcbiAgICAgICAgfVxyXG4gICAgfSxcclxuXHJcbiAgICBnZXRTZWVkUmFuZG9tOiBmdW5jdGlvbiAobWluLCBtYXgpIHsvL+WMheWQq21pbiDkuI3ljIXlkKttYXhcclxuICAgICAgICBjb25zb2xlLmxvZyhcIumaj+acuuaVsDpcIixjYy5meC5HYW1lQ29uZmlnLkdNX0lORk8uY3VyclNlZWQpO1xyXG4gICAgICAgIG1heCA9IG1heCB8fCAxO1xyXG4gICAgICAgIG1pbiA9IG1pbiB8fCAwO1xyXG4gICAgICAgIGNjLmZ4LkdhbWVDb25maWcuR01fSU5GTy5jdXJyU2VlZCA9IChjYy5meC5HYW1lQ29uZmlnLkdNX0lORk8uY3VyclNlZWQgKiA5MzAxICsgNDkyOTcpICUgMjMzMjgwO1xyXG4gICAgICAgIGxldCBybmQgPSBjYy5meC5HYW1lQ29uZmlnLkdNX0lORk8uY3VyclNlZWQgIC8gMjMzMjgwLjA7XHJcbiAgICAgICAgbGV0IHRtcCA9IG1pbiArIHJuZCAqIChtYXggLSBtaW4pO1xyXG4gICAgICAgIHJldHVybiBwYXJzZUludCh0bXApO1xyXG4gICAgfSxcclxuICAgIC8v6I635Y+W5YWz5Y2h6YWN572u55qE6YKj5Liq5YWz5Y2h5pWwXHJcbiAgICBnZXRDdXN0b20odHlwZSl7XHJcbiAgICAgICAgbGV0IGN1c3RvbSA9IGNjLmZ4LlN0b3JhZ2VNZXNzYWdlLmdldFN0b3JhZ2UoY2MuZnguc3RvcmFnZVR5cGUuc3RvcmFnZVR5cGVDdXN0b20pO1xyXG4gICAgICAgIGlmKGN1c3RvbSA9PSBcInVuZGlmZW5kXCIgfHwgY3VzdG9tPT1udWxsIHx8IGN1c3RvbSA9PSBcIlwiKXtcclxuICAgICAgICAgICAgdGhpcy5zZXRDdXN0b20oKTtcclxuICAgICAgICB9XHJcbiAgICAgICAgZWxzZXtcclxuICAgICAgICAgICAgY2MuZnguR2FtZUNvbmZpZy5HTV9JTkZPX1NFVChcImN1c3RvbVwiLGN1c3RvbVswXSk7XHJcbiAgICAgICAgICAgIGlmKGN1c3RvbVswXSAhPSAwIHx8IHR5cGUgPT0gIHRydWUpe1xyXG4gICAgICAgICAgICAgICAgY3VzdG9tLnNoaWZ0KCk7XHJcbiAgICAgICAgICAgICAgICBpZihjdXN0b20ubGVuZ3RoID09IDApe1xyXG4gICAgICAgICAgICAgICAgICAgIHRoaXMuc2V0Q3VzdG9tKCk7XHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICBlbHNlIGNjLmZ4LlN0b3JhZ2VNZXNzYWdlLnNldFN0b3JhZ2UoY2MuZnguc3RvcmFnZVR5cGUuc3RvcmFnZVR5cGVDdXN0b20sY3VzdG9tKTtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgIH0sXHJcbiAgICAvL+acrOWcsOayoeacieWtmOWCqOWIsOmFjee9ru+8jOaIluiAhemFjee9rueUqOWujO+8jOmHjeaWsOWIm+W7uumFjee9rlxyXG4gICAgc2V0Q3VzdG9tKCl7XHJcbiAgICAgICAgbGV0IGFycmF5TGVuZ3RoID0gY2MuZnguR2FtZUNvbmZpZy5MRVZFTF9JTkZPLmxlbmd0aDtcclxuICAgICAgICBsZXQgYXJyYXlMaXN0ID0gW107XHJcbiAgICAgICAgZm9yKGxldCBpPTE7IGk8YXJyYXlMZW5ndGg7aSsrKXtcclxuICAgICAgICAgICAgYXJyYXlMaXN0LnB1c2goaSk7XHJcbiAgICAgICAgfVxyXG4gICAgICAgIGFycmF5TGlzdC5zb3J0KCgpID0+IE1hdGgucmFuZG9tKCkgLSAwLjUpO1xyXG4gICAgICAgIGFycmF5TGlzdC51bnNoaWZ0KDApXHJcbiAgICAgICAgY2MuZnguR2FtZUNvbmZpZy5HTV9JTkZPX1NFVChcImN1c3RvbVwiLGFycmF5TGlzdFswXSk7XHJcbiAgICAgICAgY2MuZnguU3RvcmFnZU1lc3NhZ2Uuc2V0U3RvcmFnZShjYy5meC5zdG9yYWdlVHlwZS5zdG9yYWdlVHlwZUN1c3RvbSxhcnJheUxpc3QpO1xyXG4gICAgfSxcclxuXHJcblxyXG4gICAgZ2V0U2V0U2NyZWVuUmVzb2x1dGlvbkZsYWc6IGZ1bmN0aW9uICgpIHtcclxuICAgICAgICBsZXQgc2l6ZSA9IGNjLndpblNpemU7XHJcbiAgICAgICAgbGV0IHdpZHRoID0gc2l6ZS53aWR0aDtcclxuICAgICAgICBsZXQgaGVpZ2h0ID0gc2l6ZS5oZWlnaHQ7XHJcbiAgICAgICAgaWYgKChoZWlnaHQgLyB3aWR0aCkgPiAoMTYuMiAvIDkpKSByZXR1cm4gZmFsc2U7XHJcbiAgICAgICAgcmV0dXJuIHRydWU7XHJcbiAgICB9LFxyXG4gICAgLy/liKTmlq3lhajpnaLlsY/pgILphY1cclxuICAgIHNldEZpdDogZnVuY3Rpb24gKGNhbnZhcykge1xyXG4gICAgICAgIGxldCBmbGFnID0gIGNjLmZ4LkdhbWVUb29sLmdldFNldFNjcmVlblJlc29sdXRpb25GbGFnKCk7XHJcbiAgICAgICAgaWYgKGZsYWcpIHtcclxuICAgICAgICBcdC8vIGNvbnNvbGUubG9nKFwi5LiN5piv5YWo6Z2i5bGPXCIpO1xyXG4gICAgICAgIH0gZWxzZSB7XHJcbiAgICAgICAgXHQvLyBjb25zb2xlLmxvZyhcIuaYr+WFqOmdouWxj1wiKTtcclxuICAgICAgICB9XHJcbiAgICAgICAgcmV0dXJuIGZsYWc7XHJcbiAgICB9LFxyXG4gICAgLy/ojrflj5bmuLjmiI/kv6Hmga9cclxuICAgIGdldEdhbWVJbmZvOiBmdW5jdGlvbihub2RlKXtcclxuICAgICAgICB2YXIgamcgPSBmYWxzZTtcclxuICAgICAgICByZXR1cm4gamc7XHJcbiAgICB9LFxyXG4gICAgLy/orr7nva7muLjmiI/kv6Hmga9cclxuICAgIHNldEdhbWVJbmZvOiBmdW5jdGlvbihwZCl7XHJcbiAgIFxyXG4gICAgfSxcclxuXHJcbiAgICAvL+aJk+Wtl+acuuaViOaenFxyXG4gICAgdHlwaW5nQW5pKGxhYmVsLHRleHQsY2IsdGFyZ2V0KXtcclxuICAgICAgICB2YXIgc2VsZiA9IHRhcmdldDtcclxuICAgICAgICB2YXIgaHRtbCA9ICcnO1xyXG4gICAgICAgIHZhciBhcnIgPSB0ZXh0LnNwbGl0KCcnKTtcclxuICAgICAgICB2YXIgbGVuID0gYXJyLmxlbmd0aDtcclxuICAgICAgICB2YXIgc3RlcCA9IDA7XHJcbiAgICAgICAgc2VsZi5mdW5jID0gKCk9PntcclxuICAgICAgICAgICAgaHRtbCArPSBhcnJbc3RlcF07XHJcbiAgICAgICAgICAgIGxhYmVsLnN0cmluZyA9IGh0bWw7XHJcbiAgICAgICAgICAgIGlmICgrK3N0ZXAgPT0gbGVuKSB7XHJcbiAgICAgICAgICAgICAgICBzZWxmLnVuc2NoZWR1bGUoc2VsZi5mdW5jKTtcclxuICAgICAgICAgICAgICAgIGNiICYmIGNiKCk7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICAgICAgc2VsZi5zY2hlZHVsZShzZWxmLmZ1bmMsMC4xLCBjYy5tYWNyby5SRVBFQVRfRk9SRVZFUiwgMClcclxuICAgIH0sXHJcblxyXG4gICAgLy/ovpPlhaXnp5Is6L+U5Zue6ZyA6KaB5bGV56S65pe26Ze05qC85byPXHJcbiAgICBnZXRUaW1lTWFyZ2luOihzZWNvbmQpID0+IHtcclxuICAgICAgICBsZXQgdG90YWwgPSAwO1xyXG4gICAgICAgIHRvdGFsID0gc2Vjb25kO1xyXG4gICAgICAgIGxldCBob3VyID0gMDtcclxuICAgICAgICBob3VyID0gcGFyc2VJbnQoKHRvdGFsIC8gMzYwMCkgKyBcIlwiKTsvL+iuoeeul+aVtOaVsOWwj+aXtuaVsFxyXG4gICAgICAgIGxldCBhZnRlckhvdXIgPSB0b3RhbCAtIGhvdXIgKiA2MCAqIDYwOy8v5Y+W5b6X566X5Ye65bCP5pe25pWw5ZCO5Ymp5L2Z55qE56eS5pWwXHJcbiAgICAgICAgbGV0IG1pbiA9IHBhcnNlSW50KChhZnRlckhvdXIgLyA2MCkrXCJcIik7Ly/orqHnrpfmlbTmlbDliIZcclxuICAgICAgICBsZXQgbSA9IFwiXCIgKyBtaW47ICBcclxuICAgICAgICBpZihtaW4gPCAxMCkgbSA9IFwiMFwiK21pbjtcclxuICAgICAgICBsZXQgYWZ0ZXJNaW4gPSB0b3RhbCAtIGhvdXIgKiA2MCAqIDYwIC0gbWluICogNjA7Ly/lj5blvpfnrpflh7rliIblkI7liankvZnnmoTnp5LmlbBcclxuICAgICAgICBsZXQgbWlhbyA9IGFmdGVyTWluICsgXCJcIjtcclxuICAgICAgICBpZihhZnRlck1pbiA8IDEwKSBtaWFvID0gXCIwXCIgKyBhZnRlck1pbjtcclxuICAgICAgICByZXR1cm4gbSArICc6JyArIG1pYW9cclxuICAgIH0sXHJcblxyXG4gICAgLy/ovpPlhaXnp5Is6L+U5Zue6ZyA6KaB5bGV56S65pe26Ze05qC85byPXHJcbiAgICBnZXRUaW1lU2hlbk5vbmc6KHNlY29uZCkgPT4ge1xyXG4gICAgICAgIHNlY29uZCA9IHBhcnNlSW50KHNlY29uZC8xMDAwK1wiXCIpO1xyXG4gICAgICAgIGxldCB0b3RhbCA9IDA7XHJcbiAgICAgICAgdG90YWwgPSBzZWNvbmQ7XHJcbiAgICAgICAgbGV0IG1pbiA9IDA7XHJcbiAgICAgICAgaWYodG90YWwgPiA2MCl7XHJcbiAgICAgICAgICAgIG1pbiA9IHBhcnNlSW50KCh0b3RhbCAvIDYwKStcIlwiKTsvL+iuoeeul+aVtOaVsOWIhlxyXG4gICAgICAgIH1cclxuICAgICAgICBsZXQgbSA9ICBtaW4gKyBcIidcIjsgIFxyXG5cclxuICAgICAgICBsZXQgYWZ0ZXJNaW4gPSB0b3RhbCAtIG1pbiAqIDYwOy8v5Y+W5b6X566X5Ye65YiG5ZCO5Ymp5L2Z55qE56eS5pWwXHJcbiAgICAgICAgbGV0IG1pYW8gPSBhZnRlck1pbiArIFwiJydcIjtcclxuICAgICAgICByZXR1cm4gbSArIG1pYW9cclxuICAgIH0sXHJcblxyXG4gICAgLy/ojrflj5bml7bpl7TmiLNcclxuICAgIGdldFRpbWUoKXtcclxuICAgICAgICBjb25zdCB0aW1lc3RhbXAgPSAgKG5ldyBEYXRlKCkuZ2V0VGltZSgpKVxyXG4gICAgICAgIHJldHVybiB0aW1lc3RhbXA7XHJcbiAgICB9LFxyXG4gICAgcHVzaExpc3RlcjpmdW5jdGlvbiAoKSB7XHJcbiAgICAgICAgXHJcbiAgICB9LFxyXG4gICAgcmVtb3ZlQWxsTGlzdGVyOmZ1bmN0aW9uICgpIHtcclxuICAgICAgICBcclxuICAgIH0sXHJcblxyXG59O1xyXG5leHBvcnQgeyBHYW1lVG9vbCB9OyJdfQ== //------QC-SOURCE-SPLIT------ (function() { @@ -5956,6 +2470,3896 @@ cc._RF.pop(); } })(); //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbImFzc2V0c1xcU2NyaXB0XFxtb2R1bGVcXFNoYXJlXFxzaGFyZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7QUFFQSxJQUFJLFdBQVcsR0FBRztJQUNkLE1BQU0sRUFBRSxRQUFRO0lBQ2hCLFNBQVMsRUFBRSxVQUFVO0lBQ3JCLEVBQUUsRUFBQyxVQUFVO0NBQ2QsQ0FBQztBQVdKLFFBQVE7QUFDUjtJQUFBO0lBK0VBLENBQUM7SUE5RVUsZUFBUSxHQUFmLFVBQWdCLEdBQUc7UUFDZixJQUFJLE9BQU8sR0FBRyxJQUFJLENBQUMsaUJBQWlCLENBQUMsR0FBRyxDQUFDLENBQUM7UUFDMUMsV0FBVyxDQUFDLFNBQVMsR0FBRyxPQUFPLENBQUM7UUFDaEMsSUFBSSxFQUFFLENBQUMsR0FBRyxDQUFDLFFBQVEsSUFBSSxFQUFFLENBQUMsR0FBRyxDQUFDLFdBQVcsRUFBRTtZQUN2QyxNQUFNLENBQUMsWUFBWSxDQUFDLEdBQUcsQ0FBQyxDQUFDO1NBQzVCO0lBRUwsQ0FBQztJQUVNLGdCQUFTLEdBQWhCLFVBQWlCLEdBQUc7UUFDaEIsSUFBRyxHQUFHLEVBQUM7WUFDSCxJQUFJLElBQUksR0FBRyxHQUFHLENBQUMsSUFBSSxDQUFDO1lBQ3BCLEVBQUUsQ0FBQyxNQUFNLENBQUM7Z0JBQ04sS0FBSyxFQUFFLEtBQUs7Z0JBQ1osS0FBSyxFQUFFLElBQUksQ0FBQyxLQUFLO2dCQUNqQixTQUFTLEVBQUUsSUFBSSxDQUFDLFNBQVM7Z0JBQ3pCLFFBQVEsRUFBRSxJQUFJLENBQUMsUUFBUTtnQkFDdkIsU0FBUyxFQUFFLElBQUksQ0FBQyxTQUFTO2dCQUN6QixTQUFTLEVBQUUsQ0FBQyxxQkFBcUIsRUFBQywyQkFBMkIsRUFBRSx5QkFBeUIsRUFBRSx1QkFBdUIsQ0FBQzthQUNySCxDQUFDLENBQUM7WUFDSCxFQUFFLENBQUMsVUFBVSxDQUFDO2dCQUNWLFNBQVMsRUFBRSxDQUFDLDJCQUEyQixDQUFDO2dCQUN4QyxPQUFPLEVBQUUsVUFBUyxHQUFHO29CQUNqQixVQUFVLENBQUM7d0JBQ1AsTUFBTSxDQUFDLFdBQVcsRUFBRSxDQUFDO29CQUN6QixDQUFDLEVBQUUsR0FBRyxDQUFDLENBQUM7b0JBQ1IsVUFBVSxDQUFDO3dCQUNQLE1BQU0sQ0FBQyxXQUFXLEVBQUUsQ0FBQztvQkFDekIsQ0FBQyxFQUFFLEdBQUcsQ0FBQyxDQUFDO2dCQUNaLENBQUM7YUFDSixDQUFDLENBQUM7U0FDTjtJQUNMLENBQUM7SUFFTSxrQkFBVyxHQUFsQjtRQUNJLEVBQUUsQ0FBQyxLQUFLLENBQUM7WUFDTCxFQUFFLENBQUMseUJBQXlCLENBQUM7Z0JBQ3pCLEtBQUssRUFBRSxTQUFTO2dCQUNoQixJQUFJLEVBQUUsa0JBQWtCO2dCQUN4QixJQUFJLEVBQUUsV0FBVyxDQUFDLFNBQVM7Z0JBQzNCLE1BQU0sRUFBRSwrQ0FBK0M7Z0JBQ3ZELE9BQU8sRUFBRTtvQkFDUCxPQUFPO29CQUNQLE9BQU8sQ0FBQyxHQUFHLENBQUMsVUFBVSxDQUFDLENBQUM7Z0JBQzFCLENBQUM7YUFDSixDQUFDLENBQUM7WUFDSCxFQUFFLENBQUMsdUJBQXVCLENBQUM7Z0JBQ3ZCLEtBQUssRUFBRSxTQUFTO2dCQUNoQixJQUFJLEVBQUUsV0FBVyxDQUFDLFNBQVM7Z0JBQzNCLE1BQU0sRUFBRSwrQ0FBK0M7Z0JBQ3ZELE9BQU8sRUFBRTtvQkFDUCxPQUFPO29CQUNQLE9BQU8sQ0FBQyxHQUFHLENBQUMsV0FBVyxDQUFDLENBQUM7Z0JBQzNCLENBQUM7YUFDRixDQUFDLENBQUE7UUFDUixDQUFDLENBQUMsQ0FBQztJQUNQLENBQUM7SUFFTSxtQkFBWSxHQUFuQixVQUFvQixHQUFXO1FBQzNCLE9BQU8sSUFBSSxPQUFPLENBQUMsVUFBQyxPQUFPO1lBQ3ZCLE1BQU0sQ0FBQyxZQUFZLENBQUMsQ0FBQyxrQkFBa0IsQ0FBQyxHQUFHLENBQUMsQ0FBQyxFQUFDLE1BQU0sQ0FBQyxTQUFTLENBQUMsQ0FBQztRQUNwRSxDQUFDLENBQUMsQ0FBQztJQUNQLENBQUM7SUFDWSxtQkFBWSxHQUF6QixVQUEwQixRQUFnQixFQUFFLFFBQWlCO3VDQUFHLE9BQU87OztnQkFDN0QsSUFBSSxHQUFHLElBQUksQ0FBQyxLQUFLLENBQUMsQ0FBQyxJQUFJLElBQUksRUFBRSxDQUFDLE9BQU8sRUFBRSxDQUFDLEdBQUcsSUFBSSxDQUFDLENBQUE7Z0JBQ2hELEdBQUcsR0FBRyxFQUFFLENBQUMsRUFBRSxDQUFDLFFBQVEsQ0FBQyxPQUFPLENBQUMsMkJBQXlCLFdBQVcsQ0FBQyxNQUFNLGNBQVMsSUFBSSxhQUFRLFFBQVUsRUFBQyxFQUFFLENBQUMsQ0FBQTtnQkFDakgsc0JBQU8sRUFBRSxDQUFDLEVBQUUsQ0FBQyxRQUFRLENBQUMsR0FBRyxDQUFDLEdBQUcsRUFBQyxRQUFRLENBQUMsRUFBQTs7O0tBQzFDO0lBR00scUJBQWMsR0FBckIsVUFBc0IsR0FBRztRQUNyQixPQUFPLE9BQU8sQ0FBQyxJQUFJLENBQUMsR0FBRyxDQUFDLENBQUM7SUFDN0IsQ0FBQztJQUVNLHdCQUFpQixHQUF4QixVQUF5QixHQUFHO1FBQ3hCLE9BQU8sR0FBRyxDQUFDLE9BQU8sQ0FBQyxPQUFPLEVBQUUsRUFBRSxDQUFDLENBQUM7SUFDcEMsQ0FBQztJQUVMLGFBQUM7QUFBRCxDQS9FQSxBQStFQyxJQUFBO0FBL0VZLHdCQUFNIiwiZmlsZSI6IiIsInNvdXJjZVJvb3QiOiIvIiwic291cmNlc0NvbnRlbnQiOlsiXG5cbnZhciBzaGFyZUNvbmZpZyA9IHtcbiAgICBnYW1lSWQ6IFwiMTAwMDEyXCIsXG4gICAgc2hhcmVMaW5lOiBcInpETHNydVZJXCIsXG4gICAgRUs6XCJodWkyMzElMVwiXG4gIH07XG5cbi8vIOWumuS5ieW+ruS/oemFjee9ruaVsOaNrueahOaOpeWPo1xuaW50ZXJmYWNlIElXZUNoYXRDb25maWcge1xuICAgIGFwcElkOiBzdHJpbmc7XG4gICAgdGltZXN0YW1wOiBudW1iZXI7XG4gICAgbm9uY2VTdHI6IHN0cmluZztcbiAgICBzaWduYXR1cmU6IHN0cmluZztcbiAgICBqc0FwaUxpc3Q6IFtdO1xufVxuXG4vLyDlvq7kv6Hmk43kvZznsbtcbmV4cG9ydCBjbGFzcyBXZUNoYXQge1xuICAgIHN0YXRpYyBzZXRTaGFyZSh1cmwpIHtcbiAgICAgICAgdmFyIHVybFRlbXAgPSB0aGlzLnJlbW92ZVF1ZXJ5UGFyYW1zKHVybCk7XG4gICAgICAgIHNoYXJlQ29uZmlnLnNoYXJlTGluZSA9IHVybFRlbXA7XG4gICAgICAgIGlmIChjYy5zeXMucGxhdGZvcm0gPT0gY2Muc3lzLldFQ0hBVF9HQU1FKSB7XG4gICAgICAgICAgICBXZUNoYXQuZ2V0U2lnbmF0dXJlKHVybCk7XG4gICAgICAgIH1cbiAgIFxuICAgIH1cblxuICAgIHN0YXRpYyBnZXRSZXN1bHQocmVzKXtcbiAgICAgICAgaWYocmVzKXtcbiAgICAgICAgICAgIHZhciBkYXRhID0gcmVzLmRhdGE7XG4gICAgICAgICAgICB3eC5jb25maWcoe1xuICAgICAgICAgICAgICAgIGRlYnVnOiBmYWxzZSxcbiAgICAgICAgICAgICAgICBhcHBJZDogZGF0YS5hcHBJZCxcbiAgICAgICAgICAgICAgICB0aW1lc3RhbXA6IGRhdGEudGltZXN0YW1wLFxuICAgICAgICAgICAgICAgIG5vbmNlU3RyOiBkYXRhLm5vbmNlU3RyLFxuICAgICAgICAgICAgICAgIHNpZ25hdHVyZTogZGF0YS5zaWduYXR1cmUsXG4gICAgICAgICAgICAgICAganNBcGlMaXN0OiBbJ29uTWVudVNoYXJlVGltZWxpbmUnLCd1cGRhdGVBcHBNZXNzYWdlU2hhcmVEYXRhJywgJ3VwZGF0ZVRpbWVsaW5lU2hhcmVEYXRhJywgJ29uTWVudVNoYXJlQXBwTWVzc2FnZSddXG4gICAgICAgICAgICB9KTtcbiAgICAgICAgICAgIHd4LmNoZWNrSnNBcGkoe1xuICAgICAgICAgICAgICAgIGpzQXBpTGlzdDogWyd1cGRhdGVBcHBNZXNzYWdlU2hhcmVEYXRhJ10sIC8vIOmcgOimgeajgOa1i+eahEpT5o6l5Y+j5YiX6KGo77yM5omA5pyJSlPmjqXlj6PliJfooajop4HpmYTlvZUyLFxuICAgICAgICAgICAgICAgIHN1Y2Nlc3M6IGZ1bmN0aW9uKHJlcykge1xuICAgICAgICAgICAgICAgICAgICBzZXRUaW1lb3V0KCgpID0+IHsgIFxuICAgICAgICAgICAgICAgICAgICAgICAgV2VDaGF0LmNoYW5nZVNoYXJlKCk7XG4gICAgICAgICAgICAgICAgICAgIH0sIDEwMCk7XG4gICAgICAgICAgICAgICAgICAgIHNldFRpbWVvdXQoKCkgPT4ge1xuICAgICAgICAgICAgICAgICAgICAgICAgV2VDaGF0LmNoYW5nZVNoYXJlKCk7XG4gICAgICAgICAgICAgICAgICAgIH0sIDIwMCk7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfSk7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICBzdGF0aWMgY2hhbmdlU2hhcmUoKXtcbiAgICAgICAgd3gucmVhZHkoKCkgPT4ge1xuICAgICAgICAgICAgd3gudXBkYXRlQXBwTWVzc2FnZVNoYXJlRGF0YSh7IFxuICAgICAgICAgICAgICAgIHRpdGxlOiAn6YC76L6R5oCn6K6k55+l5rWL6K+EJywgLy8g5YiG5Lqr5qCH6aKYXG4gICAgICAgICAgICAgICAgZGVzYzogJ+S9oOeahOiupOefpeeBtea0u+aAp+WSjOmAieaLqeazqOaEj+aciemXrumimOWQlycsIC8vIOWIhuS6q+aPj+i/sFxuICAgICAgICAgICAgICAgIGxpbms6IHNoYXJlQ29uZmlnLnNoYXJlTGluZSwgLy8g5YiG5Lqr6ZO+5o6l77yM6K+l6ZO+5o6l5Z+f5ZCN5oiW6Lev5b6E5b+F6aG75LiO5b2T5YmN6aG16Z2i5a+55bqU55qE5YWs5LyX5Y+3SlPlronlhajln5/lkI3kuIDoh7RcbiAgICAgICAgICAgICAgICBpbWdVcmw6ICdodHRwczovL3N0YXRpYy5zcGFya3VzLmNuL3B1YmxpYy9zaGVubm9uZy5qcGcnLCAvLyDliIbkuqvlm77moIdcbiAgICAgICAgICAgICAgICBzdWNjZXNzOiBmdW5jdGlvbiAoKSB7XG4gICAgICAgICAgICAgICAgICAvLyDorr7nva7miJDlip9cbiAgICAgICAgICAgICAgICAgIGNvbnNvbGUubG9nKFwi5YiG5Lqr5aW95Y+L5oiQ5Yqf5Zue6LCDXCIpO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH0pO1xuICAgICAgICAgICAgd3gudXBkYXRlVGltZWxpbmVTaGFyZURhdGEoeyBcbiAgICAgICAgICAgICAgICB0aXRsZTogJ+mAu+i+keaAp+iupOefpea1i+ivhCcsIC8vIOWIhuS6q+agh+mimFxuICAgICAgICAgICAgICAgIGxpbms6IHNoYXJlQ29uZmlnLnNoYXJlTGluZSwgLy8g5YiG5Lqr6ZO+5o6l77yM6K+l6ZO+5o6l5Z+f5ZCN5oiW6Lev5b6E5b+F6aG75LiO5b2T5YmN6aG16Z2i5a+55bqU55qE5YWs5LyX5Y+3SlPlronlhajln5/lkI3kuIDoh7RcbiAgICAgICAgICAgICAgICBpbWdVcmw6ICdodHRwczovL3N0YXRpYy5zcGFya3VzLmNuL3B1YmxpYy9zaGVubm9uZy5qcGcnLCAvLyDliIbkuqvlm77moIdcbiAgICAgICAgICAgICAgICBzdWNjZXNzOiBmdW5jdGlvbiAoKSB7XG4gICAgICAgICAgICAgICAgICAvLyDorr7nva7miJDlip9cbiAgICAgICAgICAgICAgICAgIGNvbnNvbGUubG9nKFwi5YiG5Lqr5pyL5Y+L5ZyI5oiQ5Yqf5Zue6LCDXCIpO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgfSlcbiAgICAgICAgfSk7IFxuICAgIH1cblxuICAgIHN0YXRpYyBnZXRTaWduYXR1cmUodXJsOiBzdHJpbmcpOiBQcm9taXNlPElXZUNoYXRDb25maWc+IHtcbiAgICAgICAgcmV0dXJuIG5ldyBQcm9taXNlKChyZXNvbHZlKSA9PiB7XG4gICAgICAgICAgICBXZUNoYXQuZ2V0U2hhcmVJbmZvKChlbmNvZGVVUklDb21wb25lbnQodXJsKSksV2VDaGF0LmdldFJlc3VsdCk7XG4gICAgICAgIH0pO1xuICAgIH1cbiAgICBzdGF0aWMgYXN5bmMgZ2V0U2hhcmVJbmZvKHNoYXJlVXJsOiBzdHJpbmcsIGNhbGxiYWNrOkZ1bmN0aW9uKTogUHJvbWlzZTxhbnk+IHtcbiAgICAgICAgY29uc3QgdGltZSA9IE1hdGguZmxvb3IoKG5ldyBEYXRlKCkuZ2V0VGltZSgpKSAvIDEwMDApXG4gICAgICAgIGNvbnN0IHVybCA9IGNjLmZ4Lkh0dHBVdGlsLmFwaVNpZ24oYC9hcGkvc2hhcmUvY2ZnP2dhbWVJZD0ke3NoYXJlQ29uZmlnLmdhbWVJZH0mdGltZT0ke3RpbWV9JnVybD0ke3NoYXJlVXJsfWAse30pXG4gICAgICAgIHJldHVybiBjYy5meC5IdHRwVXRpbC5nZXQodXJsLGNhbGxiYWNrKVxuICAgIH1cblxuICAgIFxuICAgIHN0YXRpYyBjb250YWluc05hbmFuYShzdHIpIHtcbiAgICAgICAgcmV0dXJuIC90ZXN0L2kudGVzdChzdHIpO1xuICAgIH1cblxuICAgIHN0YXRpYyByZW1vdmVRdWVyeVBhcmFtcyh1cmwpIHtcbiAgICAgICAgcmV0dXJuIHVybC5yZXBsYWNlKC9cXD8uKiQvLCAnJyk7XG4gICAgfVxuXG59XG4iXX0= +//------QC-SOURCE-SPLIT------ + + (function() { + var nodeEnv = typeof require !== 'undefined' && typeof process !== 'undefined'; + var __module = nodeEnv ? module : {exports:{}}; + var __filename = 'preview-scripts/assets/Script/module/Config/GameConfig.js'; + var __require = nodeEnv ? function (request) { + return cc.require(request); + } : function (request) { + return __quick_compile_project__.require(request, __filename); + }; + function __define (exports, require, module) { + if (!nodeEnv) {__quick_compile_project__.registerModule(__filename, module);}"use strict"; +cc._RF.push(module, 'c5692vnhwNF5J9nI7VNKQNW', 'GameConfig'); +// Script/module/Config/GameConfig.ts + +"use strict"; +var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) { + var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d; + if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc); + else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r; + return c > 3 && r && Object.defineProperty(target, key, r), r; +}; +Object.defineProperty(exports, "__esModule", { value: true }); +exports.GameConfig = void 0; +var share_1 = require("../Share/share"); +var _a = cc._decorator, ccclass = _a.ccclass, property = _a.property; +var GameConfig = /** @class */ (function () { + function GameConfig() { + } + GameConfig_1 = GameConfig; + Object.defineProperty(GameConfig, "Instance", { + //游戏内信息 + get: function () { + if (this._instance == null) { + this._instance = new GameConfig_1(); + } + return this._instance; + }, + enumerable: false, + configurable: true + }); + //getSeedRandom + GameConfig.init = function (Authentication) { + this.CLICK_init(); + this.LEVEL_INFO_init(); + this.GM_INFO_init(); + var self = this; + // cc.resources.load('Json/CLICK_DATA', (err: any, res: cc.JsonAsset) => { + // if (err) { + // return; + // } + // let jsonData: object = res.json!; + // self.CLICK_DATA = jsonData["data"]; + // }) + // cc.resources.load('Json/LEVEL_INFO', (err: any, res: cc.JsonAsset) => { + // if (err) { + // return; + // } + // let jsonData: object = res.json!; + // self.LEVEL_INFO = jsonData["data"]; + // }) + // cc.resources.load('Json/GM_INFO', (err: any, res: cc.JsonAsset) => { + // if (err) { + // if(!Authentication) self.Authentication(); + // return; + // } + // let jsonData: object = res.json!; + // self.GM_INFO = jsonData["data"]; + // cc.fx.GameTool.getCustom(false); + // if(!Authentication) self.Authentication(); + // }) + //GAME_DATA 废弃了,暂时不删除以防后面修改回 一整局传一次 + this.GAME_DATA = []; + this.CUSTOM_INFO = [ + //第一难度 + { + moveSpeed: 0, + waitTime: 20, + fastPath: 5 //最短路径 + }, + //第二难度 + { + moveSpeed: 0, + waitTime: 20, + fastPath: 5 //最短路径 + }, + //第三难度 + { + moveSpeed: 0, + waitTime: 20, + fastPath: 5 //最短路径 + }, + //第四难度 + { + moveSpeed: 0, + waitTime: 20, + fastPath: 5 //最短路径 + }, + //第五难度 + { + moveSpeed: 0, + waitTime: 20, + fastPath: 5 //最短路径 + }, + //第六难度 + { + moveSpeed: 0, + waitTime: 20, + fastPath: 5 //最短路径 + }, + //第七难度 + { + moveSpeed: 0, + waitTime: 20, + fastPath: 5 //最短路径 + }, + //第八难度 + { + moveSpeed: 0, + waitTime: 20, + fastPath: 5 //最短路径 + }, + //第九难度 + { + moveSpeed: 0, + waitTime: 20, + fastPath: 5 //最短路径 + }, + //第十难度 + { + moveSpeed: 0, + waitTime: 20, + fastPath: 5 //最短路径 + } + ]; + share_1.WeChat.setShare(location.href); + if (!Authentication) + self.Authentication(); + }; + //数据备用 + GameConfig.GM_INFO_init = function () { + this.GM_INFO = { + // isEnd: false, + mean_Time: 0, + total: 0, + currSeed: 200000, + gameId: "100012", + userId: 0, + guide: false, + url: "https://api.sparkus.cn", + success: false, + matchId: null, + custom: 0, + round: 0, + level: 0, + stepTimeList: 0, + successList: [], + fen: 0, + score: 0, + igniteCount: 0, + min_Steps: 0, + min_Time: 0 //每一把上次距离洪峰到来时间 + }; + }; + GameConfig.GM_INFO_SET = function (key, value) { + this.GM_INFO[key] = value; + }; + GameConfig.CLICK_init = function () { + this.CLICK_DATA = + { + type: 1, + success: false, + round: 0, + getScore: 0, + cumulativeScore: 0, + mapId: "", + difficulty: 0, + optimizedSteps: 0, + usedSteps: 0, + stepList: [], + startTime: -1, + submitTime: -1, + duration: 0, + drawingBack: 0, + drawingReset: 0, + timer: 0, + }; + }; + GameConfig.CLICK_SET = function (key, value) { + this.CLICK_DATA[key] = value; + }; + GameConfig.LEVEL_INFO_init = function () { + this.TIME_INFO = { + waterSpeed: [0.3, 0.25, 0.2, 0.18, 0.16, 0.14, 0.12, 0.1], + totalTime: 120, + waterTime: [10, 12, 14, 16, 18, 20, 20, 20], + roadSpeed: 0.2, + ReinforceSpeed: 0.2, + Xi_SoilSpeed: 0.2, + }; + /* + moveSpeed: 0, //洪峰移动速度 + waitTime: 20, //洪峰冲击倒计时 + fastPath: 5 //最短路径 + */ + // this.LEVEL_INFO = [ + // [ + // { + // "id": 1001, + // "map": [ + // [0,0,0,0,0,0], + // [0,0,0,0,0,4], + // [0,0,3,0,3,0], + // [0,0,0,0,0,0], + // [0,0,0,3,0,0], + // [0,0,0,0,0,0], + // [0,0,2,0,0,0], + // [0,0,0,0,0,0], + // [1,0,0,0,0,0] + // ] + // }, + // { + // "id": 1002, + // "map": [ + // [0,0,0,0,0,0,0,0,4], + // [0,0,0,0,0,0,0,0,0], + // [0,0,0,0,0,0,0,0,0], + // [0,0,0,0,0,0,0,0,0], + // [0,0,0,0,0,0,0,0,0], + // [0,1,0,0,0,0,0,0,0] + // ] + // } + // ], + // ] + this.LEVEL_INFO = [[{ "id": "1001", "map": [[0, 4, 0, 0], [0, 0, 0, 0], [0, 0, 0, 0], [0, 0, 1, 0]], "min_steps": 3 }, { "id": "1002", "map": [[1, 0, 0, 0], [0, 0, 0, 4], [0, 0, 0, 0], [0, 0, 0, 0]], "min_steps": 3 }, { "id": "1004", "map": [[1, 0, 0, 0], [0, 0, 0, 0], [0, 0, 0, 0], [0, 4, 0, 0]], "min_steps": 3 }, { "id": "1006", "map": [[4, 0, 0, 0], [0, 0, 0, 0], [0, 0, 0, 0], [0, 1, 0, 0]], "min_steps": 3 }, { "id": "1003", "map": [[1, 0, 0, 0], [0, 0, 0, 0], [0, 0, 0, 0], [0, 0, 0, 4]], "min_steps": 4 }, { "id": "1005", "map": [[1, 0, 0, 0], [0, 0, 0, 0], [0, 0, 0, 4], [0, 0, 0, 0]], "min_steps": 4 }, { "id": "1007", "map": [[0, 4, 0, 0], [0, 0, 0, 0], [0, 0, 0, 0], [0, 0, 0, 1]], "min_steps": 4 }, { "id": "1008", "map": [[0, 0, 0, 4], [0, 0, 0, 0], [0, 0, 0, 0], [1, 0, 0, 0]], "min_steps": 4 }], [{ "id": "2001", "map": [[0, 0, 0, 0, 1], [0, 0, 0, 0, 0], [0, 0, 3, 0, 3], [0, 0, 0, 0, 0], [4, 0, 0, 0, 3]], "min_steps": 4 }, { "id": "2002", "map": [[0, 1, 0, 0, 0], [0, 0, 0, 0, 0], [3, 3, 0, 0, 4], [0, 0, 0, 0, 0], [3, 0, 0, 0, 0]], "min_steps": 4 }, { "id": "2009", "map": [[0, 3, 0, 0, 4], [3, 0, 0, 0, 0], [0, 0, 0, 0, 0], [1, 0, 0, 0, 0], [0, 3, 0, 0, 0]], "min_steps": 4 }, { "id": "2010", "map": [[0, 0, 0, 0, 1], [0, 0, 0, 0, 0], [0, 0, 0, 0, 0], [0, 3, 0, 3, 0], [4, 0, 3, 0, 0]], "min_steps": 4 }, { "id": "2011", "map": [[4, 3, 1, 0, 0], [0, 0, 0, 0, 3], [0, 0, 0, 3, 0], [0, 0, 0, 0, 0], [0, 0, 0, 0, 0]], "min_steps": 4 }, { "id": "2021", "map": [[0, 0, 0, 1, 0], [0, 0, 3, 0, 0], [0, 0, 0, 3, 3], [0, 0, 0, 0, 0], [0, 4, 0, 0, 0]], "min_steps": 4 }, { "id": "2004", "map": [[1, 0, 0, 0, 0], [0, 0, 0, 0, 3], [3, 0, 0, 0, 0], [0, 0, 0, 0, 0], [0, 0, 0, 0, 4]], "min_steps": 5 }, { "id": "2012", "map": [[0, 3, 0, 4, 0], [0, 0, 0, 3, 0], [1, 0, 3, 0, 0], [0, 0, 0, 0, 0], [0, 0, 0, 0, 0]], "min_steps": 5 }, { "id": "2013", "map": [[0, 0, 0, 0, 0], [1, 0, 0, 0, 0], [0, 0, 0, 3, 3], [3, 0, 0, 0, 0], [0, 0, 0, 4, 0]], "min_steps": 5 }, { "id": "2014", "map": [[3, 0, 1, 0, 0], [0, 3, 0, 0, 0], [0, 0, 0, 0, 0], [4, 0, 0, 3, 0], [0, 0, 0, 0, 0]], "min_steps": 5 }, { "id": "2015", "map": [[3, 0, 0, 0, 1], [3, 0, 0, 0, 0], [0, 0, 0, 0, 0], [4, 3, 0, 0, 0], [3, 0, 0, 0, 0]], "min_steps": 5 }, { "id": "2016", "map": [[0, 0, 0, 0, 0], [1, 0, 3, 0, 0], [3, 0, 0, 0, 3], [0, 0, 0, 0, 0], [0, 0, 0, 0, 4]], "min_steps": 5 }, { "id": "2017", "map": [[0, 3, 0, 0, 0], [4, 0, 0, 0, 0], [0, 0, 0, 0, 0], [3, 0, 3, 0, 0], [3, 0, 0, 0, 1]], "min_steps": 5 }, { "id": "2018", "map": [[0, 3, 4, 3, 3], [0, 0, 0, 0, 0], [0, 0, 0, 0, 0], [0, 0, 0, 0, 0], [0, 0, 3, 0, 1]], "min_steps": 5 }, { "id": "2019", "map": [[3, 0, 0, 4, 0], [0, 0, 0, 3, 0], [0, 0, 0, 0, 0], [0, 0, 0, 0, 0], [1, 0, 3, 0, 0]], "min_steps": 5 }, { "id": "2020", "map": [[4, 0, 3, 0, 1], [0, 0, 0, 0, 3], [0, 0, 0, 0, 0], [0, 0, 0, 0, 0], [0, 0, 3, 0, 0]], "min_steps": 5 }, { "id": "2003", "map": [[1, 0, 0, 3, 0], [0, 0, 3, 0, 0], [0, 0, 0, 0, 0], [0, 0, 0, 0, 0], [0, 3, 0, 4, 0]], "min_steps": 6 }, { "id": "2005", "map": [[0, 3, 0, 0, 0], [1, 0, 0, 0, 0], [0, 0, 0, 3, 0], [0, 0, 0, 0, 0], [0, 3, 0, 4, 0]], "min_steps": 6 }, { "id": "2006", "map": [[0, 1, 0, 0, 0], [0, 0, 0, 0, 3], [0, 0, 0, 0, 3], [0, 0, 0, 0, 0], [0, 0, 0, 3, 4]], "min_steps": 6 }, { "id": "2007", "map": [[3, 0, 0, 0, 1], [0, 0, 0, 0, 3], [0, 0, 0, 0, 0], [0, 0, 0, 0, 0], [4, 3, 0, 0, 0]], "min_steps": 6 }, { "id": "2008", "map": [[3, 4, 0, 0, 0], [0, 0, 0, 0, 3], [0, 0, 0, 3, 1], [0, 0, 0, 0, 0], [0, 0, 0, 0, 0]], "min_steps": 6 }, { "id": "2022", "map": [[0, 0, 0, 0, 0], [1, 3, 0, 0, 3], [0, 0, 0, 0, 0], [0, 0, 0, 0, 0], [0, 0, 3, 4, 0]], "min_steps": 6 }], [{ "id": "3001", "map": [[3, 0, 2, 3, 4], [0, 0, 0, 2, 2], [2, 3, 3, 3, 3], [0, 0, 2, 0, 2], [1, 0, 2, 3, 0]], "min_steps": 5 }, { "id": "3002", "map": [[3, 0, 3, 2, 0], [1, 2, 0, 3, 2], [2, 3, 0, 0, 4], [2, 0, 2, 2, 0], [3, 3, 0, 3, 0]], "min_steps": 5 }, { "id": "3003", "map": [[0, 2, 3, 3, 4], [2, 2, 0, 0, 0], [1, 3, 3, 3, 2], [2, 2, 3, 2, 3], [0, 0, 0, 0, 0]], "min_steps": 5 }, { "id": "3004", "map": [[3, 2, 2, 1, 0], [0, 0, 3, 2, 2], [3, 0, 2, 3, 0], [3, 0, 0, 3, 3], [0, 2, 4, 0, 2]], "min_steps": 5 }, { "id": "3005", "map": [[3, 0, 3, 0, 0], [2, 3, 0, 0, 1], [0, 2, 2, 2, 3], [4, 2, 0, 0, 2], [3, 3, 0, 3, 2]], "min_steps": 5 }, { "id": "3008", "map": [[3, 3, 3, 0, 1], [0, 0, 0, 0, 3], [2, 2, 3, 2, 2], [0, 2, 3, 0, 3], [4, 2, 2, 0, 0]], "min_steps": 5 }, { "id": "3009", "map": [[1, 0, 3, 3, 2], [3, 0, 2, 0, 0], [0, 3, 3, 2, 4], [0, 0, 3, 0, 2], [2, 2, 2, 0, 3]], "min_steps": 5 }, { "id": "3010", "map": [[3, 0, 2, 0, 4], [1, 2, 3, 0, 3], [2, 0, 3, 2, 0], [0, 3, 0, 0, 3], [2, 0, 2, 3, 2]], "min_steps": 5 }, { "id": "3006", "map": [[2, 0, 2, 2, 0], [1, 2, 3, 0, 0], [3, 3, 0, 3, 2], [3, 0, 0, 3, 2], [2, 0, 3, 0, 4]], "min_steps": 6 }, { "id": "3007", "map": [[1, 2, 0, 3, 3], [2, 2, 0, 2, 0], [2, 3, 2, 0, 3], [0, 3, 2, 0, 4], [0, 0, 3, 0, 3]], "min_steps": 6 }, { "id": "3011", "map": [[2, 3, 0, 1, 0], [0, 0, 0, 0, 0], [3, 0, 0, 0, 3], [0, 2, 0, 3, 2], [4, 3, 3, 2, 2]], "min_steps": 6 }, { "id": "3012", "map": [[0, 2, 1, 0, 3], [0, 3, 0, 0, 3], [3, 2, 3, 2, 0], [0, 2, 0, 3, 0], [2, 0, 0, 0, 4]], "min_steps": 6 }, { "id": "3013", "map": [[0, 2, 1, 0, 3], [0, 3, 0, 0, 3], [3, 2, 3, 2, 0], [0, 2, 0, 3, 0], [2, 0, 0, 0, 4]], "min_steps": 6 }, { "id": "3014", "map": [[1, 0, 3, 3, 4], [2, 3, 0, 3, 0], [0, 2, 2, 0, 0], [3, 3, 0, 0, 2], [2, 0, 0, 0, 0]], "min_steps": 6 }, { "id": "3015", "map": [[2, 3, 0, 0, 0], [0, 0, 2, 3, 0], [4, 0, 3, 0, 3], [2, 0, 2, 2, 3], [0, 3, 0, 0, 1]], "min_steps": 6 }, { "id": "3016", "map": [[3, 0, 2, 0, 2], [2, 0, 0, 0, 3], [0, 2, 3, 0, 1], [4, 0, 0, 3, 0], [3, 3, 0, 0, 2]], "min_steps": 6 }, { "id": "3017", "map": [[0, 3, 0, 0, 2], [3, 0, 2, 0, 4], [1, 3, 3, 0, 0], [2, 0, 0, 2, 0], [3, 2, 3, 0, 0]], "min_steps": 6 }, { "id": "3018", "map": [[4, 2, 0, 0, 0], [0, 0, 0, 3, 2], [0, 3, 0, 0, 3], [3, 2, 3, 2, 0], [3, 0, 2, 1, 0]], "min_steps": 7 }, { "id": "3019", "map": [[0, 4, 0, 3, 2], [0, 2, 0, 0, 0], [3, 0, 3, 0, 2], [3, 3, 2, 3, 1], [2, 0, 0, 0, 0]], "min_steps": 7 }, { "id": "3020", "map": [[0, 2, 0, 1, 0], [0, 0, 0, 3, 2], [3, 0, 3, 3, 3], [3, 0, 0, 0, 2], [0, 2, 2, 4, 0]], "min_steps": 7 }, { "id": "3021", "map": [[3, 2, 0, 2, 1], [3, 2, 0, 3, 2], [3, 0, 0, 2, 3], [0, 0, 0, 0, 4], [0, 0, 3, 0, 0]], "min_steps": 7 }, { "id": "3022", "map": [[2, 0, 2, 2, 2], [0, 0, 3, 0, 0], [3, 0, 3, 0, 0], [1, 0, 3, 2, 4], [0, 0, 3, 3, 0]], "min_steps": 7 }, { "id": "3023", "map": [[1, 2, 0, 2, 0], [3, 3, 3, 0, 0], [0, 2, 3, 2, 0], [4, 0, 0, 0, 3], [0, 0, 2, 0, 3]], "min_steps": 7 }, { "id": "3024", "map": [[1, 0, 3, 0, 3], [2, 2, 0, 0, 0], [0, 3, 0, 3, 0], [2, 0, 3, 2, 0], [2, 3, 0, 4, 0]], "min_steps": 7 }], [{ "id": "4001", "map": [[1, 3, 0, 0, 2, 0], [0, 3, 0, 0, 2, 0], [0, 0, 2, 0, 3, 4], [0, 0, 0, 2, 0, 0], [3, 3, 0, 0, 2, 0, 3], [0, 0, 2, 2, 2, 0]], "min_steps": 5 }, { "id": "4002", "map": [[0, 2, 2, 2, 2, 0], [1, 0, 0, 0, 2, 0], [0, 0, 0, 0, 0, 3], [0, 0, 0, 0, 2, 0], [0, 3, 3, 0, 2, 0], [3, 0, 0, 4, 2, 0]], "min_steps": 5 }, { "id": "4003", "map": [[0, 0, 0, 0, 0, 0], [2, 0, 0, 0, 0, 2], [0, 3, 3, 3, 2, 4], [0, 3, 0, 3, 2, 0], [0, 0, 0, 0, 0, 3], [0, 0, 2, 3, 0, 1]], "min_steps": 6 }, { "id": "4004", "map": [[2, 0, 3, 0, 0, 4], [0, 2, 3, 3, 0, 0], [0, 3, 0, 0, 0, 0], [3, 0, 0, 0, 2, 2], [3, 0, 0, 2, 0, 0], [1, 0, 0, 3, 0, 0]], "min_steps": 6 }, { "id": "4006", "map": [[4, 3, 0, 3, 0, 0], [0, 2, 0, 3, 0, 0], [3, 0, 0, 0, 3, 2], [0, 3, 0, 0, 2, 1], [0, 0, 2, 0, 0, 0], [0, 0, 0, 0, 2, 3]], "min_steps": 7 }, { "id": "4007", "map": [[4, 2, 2, 0, 2, 0], [0, 3, 0, 2, 0, 0], [0, 2, 3, 0, 3, 0], [0, 0, 3, 0, 0, 3], [0, 0, 3, 0, 0, 0], [0, 0, 0, 3, 0, 1]], "min_steps": 7 }, { "id": "4014", "map": [[0, 0, 3, 0, 2, 2], [0, 2, 3, 0, 0, 1], [0, 3, 3, 0, 0, 3], [0, 2, 0, 0, 0, 0], [0, 0, 0, 3, 3, 0], [2, 0, 4, 0, 0, 0]], "min_steps": 7 }, { "id": "4015", "map": [[2, 0, 0, 0, 0, 0], [0, 0, 0, 0, 3, 1], [3, 0, 2, 0, 0, 3], [2, 0, 0, 2, 3, 0], [3, 0, 3, 0, 0, 0], [2, 0, 0, 3, 4, 0]], "min_steps": 7 }, { "id": "4005", "map": [[1, 0, 0, 0, 0, 2], [0, 0, 0, 2, 0, 0], [3, 2, 0, 0, 0, 0], [0, 3, 0, 0, 2, 3], [0, 0, 3, 3, 0, 0], [3, 0, 0, 2, 3, 4]], "min_steps": 8 }, { "id": "4008", "map": [[0, 0, 2, 3, 0, 0], [0, 3, 0, 2, 3, 2], [3, 0, 0, 0, 0, 0], [0, 3, 0, 0, 3, 4], [0, 0, 0, 0, 0, 3], [0, 2, 0, 2, 0, 1]], "min_steps": 8 }, { "id": "4009", "map": [[0, 3, 3, 0, 0, 4], [2, 0, 0, 3, 0, 0], [2, 0, 0, 3, 0, 0], [1, 0, 0, 0, 3, 0], [0, 0, 2, 3, 0, 2], [2, 3, 0, 0, 0, 0]], "min_steps": 8 }, { "id": "4010", "map": [[0, 0, 1, 3, 2, 0], [3, 0, 0, 0, 3, 2], [3, 0, 0, 0, 0, 3], [2, 0, 0, 0, 0, 0], [0, 2, 0, 0, 3, 0], [0, 2, 0, 3, 4, 0]], "min_steps": 8 }, { "id": "4011", "map": [[1, 0, 0, 0, 0, 0], [3, 3, 0, 0, 0, 2], [0, 0, 0, 3, 0, 2], [2, 0, 3, 0, 3, 0], [2, 0, 3, 0, 0, 3], [4, 0, 0, 0, 0, 2]], "min_steps": 8 }, { "id": "4016", "map": [[0, 0, 3, 0, 0, 1], [2, 3, 0, 0, 3, 0], [2, 0, 0, 0, 0, 2], [0, 3, 0, 0, 0, 0], [0, 3, 0, 0, 2, 0], [0, 4, 3, 0, 2, 3]], "min_steps": 8 }, { "id": "4017", "map": [[1, 2, 3, 0, 3, 2], [3, 0, 0, 0, 0, 0], [0, 0, 0, 0, 0, 3], [3, 3, 0, 3, 2, 0], [0, 2, 0, 0, 0, 0], [4, 0, 0, 2, 0, 0]], "min_steps": 8 }, { "id": "4018", "map": [[0, 0, 1, 0, 2, 0], [0, 0, 0, 0, 0, 0], [0, 0, 3, 2, 3, 0], [3, 0, 0, 3, 0, 0], [2, 3, 0, 2, 0, 0], [4, 2, 0, 3, 3, 0]], "min_steps": 8 }, { "id": "4012", "map": [[2, 2, 3, 0, 2, 0], [0, 3, 0, 0, 0, 0], [0, 0, 0, 0, 3, 4], [0, 2, 0, 3, 0, 3], [0, 0, 0, 0, 0, 0], [0, 0, 2, 3, 3, 1]], "min_steps": 9 }, { "id": "4013", "map": [[0, 0, 0, 0, 3, 0], [4, 2, 0, 3, 0, 0], [3, 2, 0, 0, 0, 0], [1, 3, 0, 3, 0, 0], [2, 0, 0, 2, 0, 0], [3, 0, 0, 3, 2, 0]], "min_steps": 9 }, { "id": "4019", "map": [[3, 4, 0, 0, 0, 2], [3, 2, 0, 0, 2, 0], [0, 3, 0, 3, 0, 2], [0, 0, 3, 0, 0, 0], [0, 0, 0, 0, 3, 0], [1, 3, 0, 0, 0, 2]], "min_steps": 9 }, { "id": "4020", "map": [[0, 2, 0, 1, 0, 0], [2, 3, 0, 0, 2, 0], [3, 0, 0, 0, 0, 0], [0, 3, 3, 0, 0, 3], [2, 0, 0, 3, 0, 0], [4, 3, 0, 0, 0, 2]], "min_steps": 9 }], [{ "id": "5001", "map": [[1, 0, 0, 0, 0, 0], [0, 2, 2, 3, 0, 2], [3, 2, 0, 0, 3, 3], [0, 0, 0, 0, 0, 4], [0, 0, 0, 2, 2, 0], [3, 0, 2, 2, 0, 0]], "min_steps": 7 }, { "id": "5002", "map": [[0, 0, 0, 0, 4, 3], [3, 2, 3, 0, 0, 0], [0, 2, 0, 2, 3, 0], [2, 2, 0, 0, 0, 0], [3, 2, 0, 0, 0, 0], [3, 0, 0, 2, 0, 3], [2, 0, 0, 3, 0, 1]], "min_steps": 7 }, { "id": "5015", "map": [[1, 2, 3, 2, 2, 0], [3, 0, 0, 0, 0, 3], [0, 0, 0, 0, 0, 0], [0, 0, 0, 0, 0, 2], [0, 3, 0, 3, 2, 0], [0, 0, 0, 0, 0, 0], [0, 2, 0, 4, 0, 3]], "min_steps": 7 }, { "id": "5016", "map": [[3, 0, 1, 0, 0, 0], [0, 2, 0, 2, 0, 0], [0, 2, 0, 2, 0, 3], [0, 0, 0, 0, 0, 0], [0, 2, 0, 0, 3, 3], [0, 0, 0, 0, 2, 3], [0, 0, 0, 3, 0, 4]], "min_steps": 7 }, { "id": "5004", "map": [[0, 3, 3, 2, 3, 0], [2, 0, 2, 0, 3, 0], [1, 0, 3, 2, 0, 0], [3, 3, 0, 0, 0, 2], [0, 0, 0, 0, 0, 0], [0, 2, 0, 0, 0, 0], [0, 0, 0, 3, 4, 0]], "min_steps": 8 }, { "id": "5005", "map": [[0, 0, 0, 0, 0, 1], [0, 0, 2, 0, 2, 0], [3, 2, 2, 0, 0, 0], [3, 0, 0, 3, 0, 0], [3, 3, 0, 0, 0, 3], [4, 3, 0, 0, 0, 0], [2, 0, 0, 2, 3, 0]], "min_steps": 8 }, { "id": "5008", "map": [[3, 0, 3, 2, 0, 4], [0, 3, 0, 2, 0, 2], [0, 0, 3, 0, 0, 0], [2, 0, 0, 2, 0, 0], [0, 0, 3, 0, 0, 0], [0, 0, 0, 3, 0, 0], [3, 2, 1, 3, 0, 0]], "min_steps": 8 }, { "id": "5012", "map": [[2, 3, 0, 2, 0, 1], [2, 0, 0, 0, 0, 0], [2, 0, 0, 3, 0, 2], [3, 0, 3, 0, 0, 3], [0, 0, 0, 0, 3, 3], [3, 0, 0, 0, 2, 0], [0, 0, 0, 0, 0, 4]], "min_steps": 8 }, { "id": "5013", "map": [[0, 0, 2, 1, 2, 0], [0, 3, 0, 0, 0, 0], [2, 0, 0, 0, 0, 0], [0, 0, 0, 3, 0, 0], [3, 0, 0, 2, 3, 0], [3, 3, 3, 2, 0, 2], [0, 0, 4, 0, 0, 3]], "min_steps": 8 }, { "id": "5018", "map": [[0, 2, 0, 1, 0, 0], [2, 0, 0, 3, 0, 0], [0, 0, 0, 0, 0, 0], [3, 0, 0, 0, 0, 0], [2, 3, 0, 2, 3, 3], [2, 0, 0, 0, 0, 2], [4, 3, 0, 0, 0, 0]], "min_steps": 8 }, { "id": "5019", "map": [[1, 3, 0, 2, 3, 0], [0, 0, 0, 0, 0, 2], [0, 0, 0, 0, 0, 0], [0, 0, 2, 0, 0, 2], [3, 3, 0, 3, 0, 2], [4, 0, 2, 0, 0, 0], [0, 0, 0, 3, 0, 0]], "min_steps": 8 }, { "id": "5029", "map": [[4, 3, 0, 0, 0, 0], [2, 0, 0, 3, 0, 2], [3, 2, 0, 3, 3, 0], [2, 0, 0, 3, 0, 0], [0, 2, 0, 0, 0, 0], [2, 0, 0, 0, 0, 0], [3, 0, 3, 3, 0, 1]], "min_steps": 8 }, { "id": "5030", "map": [[0, 0, 0, 0, 0, 0], [0, 0, 2, 3, 2, 0], [0, 3, 0, 0, 0, 0], [2, 2, 0, 3, 0, 0], [0, 3, 3, 0, 3, 4], [0, 0, 2, 0, 0, 3], [3, 1, 0, 3, 0, 2]], "min_steps": 8 }, { "id": "5006", "map": [[0, 3, 0, 0, 0, 0], [1, 0, 0, 0, 3, 0], [0, 0, 3, 2, 0, 0], [3, 0, 0, 2, 2, 0], [0, 3, 0, 3, 3, 0], [0, 2, 0, 0, 0, 0], [4, 0, 3, 0, 2, 2]], "min_steps": 9 }, { "id": "5007", "map": [[0, 2, 0, 3, 0, 0], [1, 2, 0, 2, 0, 0], [0, 3, 0, 3, 0, 0], [3, 0, 0, 0, 0, 3], [0, 0, 3, 2, 0, 2], [4, 0, 0, 3, 0, 3], [0, 2, 0, 0, 0, 0]], "min_steps": 9 }, { "id": "5010", "map": [[0, 3, 1, 0, 0, 0], [0, 2, 3, 3, 0, 0], [0, 2, 0, 3, 0, 0], [0, 2, 0, 2, 0, 3], [0, 2, 0, 0, 3, 0], [0, 3, 0, 0, 0, 0], [0, 2, 4, 0, 0, 3]], "min_steps": 9 }, { "id": "5011", "map": [[1, 0, 3, 0, 3, 0], [0, 2, 0, 0, 0, 0], [2, 0, 2, 0, 3, 0], [0, 3, 2, 0, 0, 0], [3, 0, 0, 0, 0, 2], [4, 0, 3, 0, 0, 0], [3, 2, 0, 0, 0, 3]], "min_steps": 9 }, { "id": "5014", "map": [[0, 1, 0, 0, 0, 0], [2, 0, 2, 0, 0, 2], [2, 3, 0, 3, 0, 0], [0, 3, 0, 0, 0, 3], [0, 0, 0, 2, 0, 3], [0, 0, 3, 0, 3, 0], [2, 0, 3, 0, 0, 4]], "min_steps": 9 }, { "id": "5017", "map": [[0, 0, 0, 0, 0, 0], [1, 2, 3, 0, 0, 2], [0, 0, 2, 0, 0, 2], [3, 0, 2, 3, 0, 0], [0, 3, 3, 0, 2, 0], [0, 0, 0, 0, 0, 0], [4, 0, 3, 0, 0, 0]], "min_steps": 9 }, { "id": "5028", "map": [[0, 0, 1, 0, 0, 3], [3, 0, 0, 0, 3, 4], [0, 2, 0, 2, 3, 2], [0, 3, 2, 3, 3, 0], [0, 0, 0, 3, 0, 0], [0, 0, 3, 0, 0, 2], [0, 0, 2, 0, 0, 0]], "min_steps": 9 }, { "id": "5003", "map": [[0, 0, 1, 3, 0, 2], [0, 3, 3, 0, 0, 0], [0, 0, 3, 2, 0, 0], [0, 0, 3, 0, 0, 0], [3, 0, 0, 0, 2, 2], [0, 0, 2, 3, 0, 0], [0, 2, 0, 3, 0, 4]], "min_steps": 10 }, { "id": "5009", "map": [[0, 2, 0, 0, 0, 3], [0, 0, 3, 3, 3, 4], [0, 3, 0, 0, 0, 0], [0, 3, 2, 0, 0, 0], [1, 2, 3, 2, 0, 3], [2, 0, 0, 0, 0, 0], [0, 0, 0, 0, 2, 0]], "min_steps": 10 }, { "id": "5021", "map": [[0, 0, 0, 0, 0, 0], [0, 0, 0, 0, 3, 0], [3, 0, 0, 0, 2, 0], [2, 0, 0, 2, 3, 0], [0, 3, 0, 0, 0, 2], [0, 2, 3, 0, 0, 0], [4, 3, 1, 2, 0, 0]], "min_steps": 10 }, { "id": "5022", "map": [[4, 0, 3, 0, 0, 2], [0, 0, 0, 0, 2, 0], [0, 3, 0, 2, 3, 2], [3, 0, 3, 0, 3, 0], [0, 2, 0, 0, 0, 0], [0, 3, 0, 3, 0, 3], [0, 2, 1, 0, 0, 0]], "min_steps": 10 }, { "id": "5023", "map": [[3, 0, 0, 3, 3, 0], [0, 0, 3, 0, 0, 3], [2, 3, 0, 0, 0, 0], [2, 2, 0, 0, 2, 0], [0, 3, 0, 0, 0, 0], [2, 0, 3, 0, 0, 4], [0, 1, 3, 0, 2, 0]], "min_steps": 10 }, { "id": "5024", "map": [[3, 0, 2, 3, 0, 0], [4, 2, 0, 0, 0, 3], [2, 2, 0, 0, 0, 0], [0, 0, 3, 0, 0, 2], [0, 0, 0, 3, 0, 3], [0, 3, 3, 0, 2, 0], [3, 0, 1, 0, 0, 0]], "min_steps": 10 }, { "id": "5020", "map": [[0, 0, 0, 2, 0, 0], [0, 3, 0, 0, 0, 3], [0, 2, 0, 0, 3, 0], [2, 0, 0, 2, 3, 4], [0, 2, 3, 0, 0, 0], [0, 0, 0, 3, 0, 0], [3, 2, 0, 1, 3, 0]], "min_steps": 11 }, { "id": "5025", "map": [[1, 0, 0, 0, 3, 0], [0, 0, 0, 3, 3, 2], [3, 3, 2, 0, 0, 2], [0, 0, 0, 0, 0, 3], [0, 0, 2, 0, 2, 0], [0, 0, 0, 0, 3, 4], [0, 3, 2, 3, 0, 0]], "min_steps": 11 }, { "id": "5026", "map": [[0, 3, 2, 0, 0, 0], [0, 0, 2, 3, 3, 0], [2, 0, 0, 2, 0, 0], [3, 2, 0, 0, 3, 2], [0, 0, 0, 3, 3, 1], [0, 0, 3, 0, 0, 3], [0, 0, 0, 0, 0, 4]], "min_steps": 11 }, { "id": "5027", "map": [[0, 0, 3, 0, 0, 1], [0, 0, 0, 0, 0, 3], [2, 0, 2, 0, 2, 3], [0, 0, 3, 3, 0, 3], [0, 0, 0, 2, 3, 0], [0, 0, 0, 2, 0, 3], [2, 0, 3, 0, 4, 0]], "min_steps": 11 }], [{ "id": "6028", "map": [[0, 0, 3, 0, 0, 2], [1, 3, 2, 2, 0, 3], [0, 0, 3, 0, 0, 2], [0, 0, 0, 0, 0, 0], [0, 0, 2, 0, 3, 3], [3, 3, 3, 0, 0, 0], [4, 0, 0, 0, 0, 2]], "min_steps": 8 }, { "id": "6029", "map": [[0, 0, 2, 0, 0, 1], [3, 2, 3, 0, 0, 3], [2, 0, 3, 0, 3, 0], [3, 3, 0, 0, 0, 0], [0, 0, 0, 3, 3, 2], [0, 0, 0, 0, 0, 2], [0, 0, 0, 4, 2, 0]], "min_steps": 8 }, { "id": "6030", "map": [[0, 3, 3, 0, 1, 0], [2, 3, 0, 0, 3, 0], [0, 0, 0, 3, 0, 2], [0, 0, 3, 0, 2, 0], [0, 0, 2, 3, 3, 3], [0, 0, 0, 0, 0, 0], [4, 0, 0, 2, 0, 2]], "min_steps": 8 }, { "id": "6001", "map": [[0, 0, 3, 3, 4, 2], [0, 0, 0, 2, 0, 0], [2, 3, 3, 2, 0, 0], [0, 3, 0, 0, 0, 2], [0, 0, 0, 3, 2, 2], [2, 0, 0, 3, 0, 2], [1, 3, 2, 0, 0, 0], [0, 0, 0, 3, 0, 0]], "min_steps": 9 }, { "id": "6012", "map": [[3, 0, 0, 0, 2, 0], [0, 3, 0, 3, 0, 0], [0, 3, 0, 0, 0, 3], [2, 0, 0, 3, 2, 0], [3, 2, 2, 2, 0, 0], [3, 0, 2, 0, 3, 0], [1, 2, 3, 0, 2, 0], [2, 3, 0, 0, 3, 4]], "min_steps": 9 }, { "id": "6016", "map": [[0, 0, 1, 0, 2, 3], [0, 3, 2, 0, 2, 0], [3, 3, 3, 3, 0, 0], [3, 0, 0, 0, 0, 0], [2, 2, 3, 0, 3, 3], [0, 0, 2, 0, 2, 0], [0, 2, 0, 2, 0, 3], [3, 0, 2, 0, 0, 4]], "min_steps": 9 }, { "id": "6008", "map": [[0, 0, 2, 0, 3, 4], [3, 3, 2, 3, 0, 0], [0, 0, 0, 0, 0, 3], [0, 0, 2, 3, 2, 0], [0, 0, 2, 0, 3, 2], [3, 3, 0, 0, 0, 2], [0, 3, 0, 0, 0, 0], [2, 1, 0, 0, 0, 0]], "min_steps": 10 }, { "id": "6013", "map": [[3, 0, 0, 2, 2, 0], [0, 2, 0, 3, 0, 2], [0, 0, 3, 2, 3, 0], [0, 3, 0, 0, 3, 0], [2, 2, 3, 2, 0, 0], [0, 0, 3, 3, 0, 0], [0, 2, 0, 3, 2, 0], [4, 3, 3, 0, 1, 0]], "min_steps": 10 }, { "id": "6017", "map": [[4, 0, 0, 0, 0, 3], [0, 3, 3, 0, 0, 0], [3, 0, 2, 2, 0, 0], [3, 0, 2, 3, 3, 2], [3, 2, 0, 2, 3, 3], [2, 0, 2, 0, 0, 0], [0, 0, 0, 0, 0, 3], [2, 3, 0, 2, 0, 1]], "min_steps": 10 }, { "id": "6022", "map": [[0, 0, 3, 4, 3, 0], [0, 3, 0, 2, 2, 0], [2, 0, 2, 0, 0, 3], [0, 0, 0, 0, 0, 0], [2, 3, 0, 3, 2, 0], [0, 3, 0, 0, 0, 0], [0, 1, 3, 0, 0, 3]], "min_steps": 10 }, { "id": "6023", "map": [[0, 0, 3, 1, 0, 2], [0, 0, 2, 3, 0, 0], [4, 0, 3, 0, 0, 0], [2, 0, 3, 0, 0, 3], [2, 0, 3, 0, 3, 0], [0, 0, 0, 0, 0, 0], [2, 3, 0, 2, 3, 0]], "min_steps": 10 }, { "id": "6024", "map": [[0, 3, 0, 2, 0, 4], [3, 0, 0, 3, 3, 3], [0, 0, 2, 0, 0, 0], [2, 3, 3, 0, 0, 0], [2, 0, 0, 0, 0, 3], [2, 0, 3, 0, 0, 1], [0, 0, 0, 0, 0, 2]], "min_steps": 10 }, { "id": "6025", "map": [[4, 0, 2, 0, 0, 0], [0, 0, 3, 3, 0, 2], [3, 3, 0, 0, 0, 3], [0, 2, 0, 2, 0, 0], [0, 0, 0, 0, 3, 0], [1, 3, 0, 0, 2, 2], [0, 3, 0, 0, 0, 3]], "min_steps": 10 }, { "id": "6002", "map": [[0, 0, 3, 3, 4, 2], [0, 0, 0, 2, 0, 0], [2, 3, 3, 2, 0, 0], [0, 3, 0, 0, 0, 2], [0, 0, 0, 3, 2, 2], [2, 0, 0, 3, 0, 2], [1, 3, 2, 0, 0, 0], [0, 0, 0, 3, 0, 0]], "min_steps": 11 }, { "id": "6006", "map": [[1, 0, 2, 0, 0, 3], [0, 0, 0, 0, 3, 0], [3, 0, 0, 3, 2, 0], [2, 3, 0, 0, 0, 3], [0, 0, 3, 2, 0, 3], [0, 2, 0, 3, 0, 0], [2, 3, 0, 2, 0, 0], [0, 4, 0, 2, 0, 0]], "min_steps": 11 }, { "id": "6009", "map": [[4, 3, 0, 0, 3, 0], [0, 0, 0, 0, 0, 0], [3, 3, 0, 2, 0, 2], [3, 0, 0, 2, 2, 0], [2, 3, 2, 0, 0, 0], [1, 3, 3, 0, 0, 0], [2, 0, 0, 0, 0, 0], [3, 3, 0, 0, 0, 2]], "min_steps": 11 }, { "id": "6018", "map": [[2, 3, 0, 0, 2, 3], [2, 0, 0, 3, 0, 4], [2, 0, 0, 0, 0, 0], [0, 3, 2, 0, 2, 3], [0, 0, 0, 0, 0, 3], [2, 0, 3, 3, 2, 3], [0, 0, 0, 3, 2, 0], [2, 3, 1, 3, 0, 0]], "min_steps": 11 }, { "id": "6026", "map": [[0, 1, 0, 3, 0, 4], [0, 0, 3, 0, 3, 0], [2, 2, 3, 2, 0, 0], [0, 0, 3, 0, 3, 3], [2, 0, 0, 0, 0, 2], [0, 3, 0, 0, 0, 2], [0, 0, 0, 0, 0, 3]], "min_steps": 11 }, { "id": "6027", "map": [[2, 1, 3, 0, 0, 0], [0, 0, 0, 0, 3, 0], [3, 3, 0, 0, 0, 0], [2, 2, 3, 3, 3, 0], [0, 2, 0, 0, 0, 0], [3, 2, 0, 0, 0, 0], [0, 4, 0, 2, 3, 0]], "min_steps": 11 }, { "id": "6031", "map": [[0, 1, 0, 3, 0, 4], [0, 0, 3, 0, 3, 0], [2, 2, 3, 2, 0, 0], [0, 0, 3, 0, 3, 3], [2, 0, 0, 0, 0, 2], [0, 3, 0, 0, 0, 2], [0, 0, 0, 0, 0, 3]], "min_steps": 11 }, { "id": "6003", "map": [[0, 2, 2, 0, 0, 4], [0, 3, 3, 0, 0, 0], [3, 2, 0, 0, 0, 0], [0, 3, 0, 0, 3, 3], [0, 2, 0, 3, 0, 0], [2, 3, 0, 0, 0, 0], [0, 2, 3, 0, 0, 0], [1, 2, 3, 0, 2, 0]], "min_steps": 12 }, { "id": "6011", "map": [[3, 0, 2, 2, 3, 2], [1, 0, 0, 0, 0, 3], [0, 0, 3, 2, 3, 0], [3, 0, 3, 0, 0, 0], [4, 3, 2, 3, 0, 2], [0, 0, 2, 0, 2, 3], [2, 0, 0, 0, 0, 3], [0, 0, 0, 2, 0, 3]], "min_steps": 12 }, { "id": "6014", "map": [[4, 3, 0, 0, 0, 0], [0, 2, 2, 2, 3, 0], [0, 3, 0, 0, 0, 0], [2, 3, 2, 3, 0, 0], [3, 3, 0, 0, 0, 3], [0, 0, 0, 2, 3, 0], [0, 3, 2, 0, 2, 2], [2, 3, 3, 0, 0, 1]], "min_steps": 12 }, { "id": "6020", "map": [[3, 2, 0, 0, 0, 0], [4, 0, 2, 0, 2, 0], [3, 3, 0, 0, 2, 2], [0, 0, 3, 0, 2, 0], [0, 0, 0, 0, 2, 3], [0, 2, 3, 3, 0, 0], [2, 3, 0, 0, 3, 3], [1, 3, 3, 2, 0, 0]], "min_steps": 12 }, { "id": "6021", "map": [[4, 3, 0, 0, 0, 0], [0, 2, 2, 2, 3, 0], [0, 3, 0, 0, 0, 0], [2, 3, 2, 3, 0, 0], [3, 3, 0, 0, 0, 3], [0, 0, 0, 2, 3, 0], [0, 3, 2, 0, 2, 2], [2, 3, 3, 0, 0, 1]], "min_steps": 12 }, { "id": "6004", "map": [[0, 3, 0, 2, 2, 0], [0, 0, 0, 0, 0, 2], [3, 0, 0, 0, 0, 0], [0, 3, 0, 0, 0, 0], [0, 3, 3, 0, 3, 0], [2, 0, 0, 0, 3, 2], [2, 0, 0, 0, 3, 1], [4, 3, 0, 2, 3, 2]], "min_steps": 13 }, { "id": "6005", "map": [[2, 2, 4, 2, 3, 0], [0, 3, 3, 2, 0, 0], [3, 0, 0, 3, 0, 2], [3, 0, 2, 3, 3, 0], [0, 0, 0, 0, 0, 0], [0, 0, 0, 0, 2, 3], [3, 2, 0, 0, 0, 1], [0, 0, 0, 0, 0, 0]], "min_steps": 13 }, { "id": "6007", "map": [[3, 2, 0, 0, 3, 4], [0, 2, 0, 0, 3, 0], [0, 0, 2, 0, 2, 0], [2, 0, 0, 3, 0, 3], [0, 0, 2, 0, 3, 2], [0, 2, 3, 3, 0, 1], [0, 0, 0, 0, 0, 3], [0, 0, 0, 3, 0, 0]], "min_steps": 13 }, { "id": "6010", "map": [[0, 3, 1, 0, 0, 0], [0, 2, 3, 3, 0, 0], [2, 0, 0, 3, 0, 0], [0, 2, 0, 0, 3, 2], [3, 0, 0, 0, 0, 2], [3, 2, 0, 0, 0, 0], [4, 0, 0, 3, 2, 0], [0, 3, 0, 3, 2, 0]], "min_steps": 13 }, { "id": "6015", "map": [[4, 0, 0, 0, 2, 3], [0, 0, 3, 0, 0, 3], [2, 2, 3, 2, 0, 0], [3, 0, 0, 0, 3, 2], [2, 3, 0, 3, 0, 2], [0, 0, 3, 0, 2, 3], [0, 0, 0, 0, 0, 3], [1, 2, 2, 3, 0, 0]], "min_steps": 14 }, { "id": "6019", "map": [[4, 0, 0, 0, 2, 3], [0, 0, 3, 0, 0, 3], [2, 2, 3, 2, 0, 0], [3, 0, 0, 0, 3, 2], [2, 3, 0, 3, 0, 2], [0, 0, 3, 0, 2, 3], [0, 0, 0, 0, 0, 3], [1, 2, 2, 3, 0, 0]], "min_steps": 14 }], [{ "id": "7001", "map": [[0, 2, 0, 0, 2, 0], [3, 3, 0, 2, 0, 4], [0, 0, 0, 0, 0, 3], [0, 0, 0, 0, 3, 2], [0, 0, 0, 0, 0, 2], [3, 3, 0, 0, 0, 2], [0, 3, 3, 2, 2, 0], [0, 3, 2, 2, 0, 3], [1, 2, 0, 0, 2, 0]], "min_steps": 9 }, { "id": "7023", "map": [[3, 2, 0, 2, 0, 1], [0, 3, 3, 2, 3, 3], [0, 3, 3, 0, 3, 0], [0, 2, 2, 2, 0, 3], [0, 3, 2, 0, 0, 3], [0, 0, 0, 0, 2, 0], [2, 2, 2, 3, 0, 0], [2, 0, 3, 0, 3, 0], [0, 0, 3, 0, 0, 4]], "min_steps": 9 }, { "id": "7003", "map": [[1, 3, 2, 0, 0, 0], [0, 0, 0, 2, 0, 0], [0, 3, 0, 2, 0, 0], [3, 3, 3, 2, 0, 3], [2, 3, 3, 0, 3, 0], [0, 0, 0, 0, 0, 2], [3, 0, 2, 2, 3, 2], [4, 2, 0, 0, 2, 0], [0, 0, 2, 0, 0, 2]], "min_steps": 10 }, { "id": "7002", "map": [[1, 0, 3, 2, 0, 2], [0, 3, 0, 0, 0, 2], [0, 2, 0, 3, 2, 2], [0, 3, 0, 0, 0, 0], [0, 2, 0, 3, 3, 0], [3, 2, 2, 0, 0, 3], [0, 3, 2, 3, 0, 2], [0, 0, 0, 0, 0, 0], [2, 0, 0, 2, 3, 4]], "min_steps": 11 }, { "id": "7005", "map": [[0, 0, 0, 0, 0, 0], [0, 0, 0, 3, 2, 4], [0, 3, 0, 0, 3, 3], [3, 3, 0, 2, 0, 3], [0, 2, 2, 0, 3, 2], [0, 0, 3, 0, 2, 0], [0, 2, 0, 2, 0, 0], [3, 0, 0, 2, 2, 0], [0, 0, 2, 2, 0, 1]], "min_steps": 11 }, { "id": "7006", "map": [[0, 0, 0, 0, 2, 3], [3, 2, 0, 0, 0, 0], [0, 2, 0, 3, 3, 4], [0, 0, 0, 2, 2, 3], [2, 0, 0, 0, 0, 0], [0, 0, 0, 0, 3, 0], [3, 0, 3, 3, 0, 2], [3, 0, 2, 2, 0, 2], [0, 0, 2, 2, 0, 1]], "min_steps": 11 }, { "id": "7007", "map": [[2, 0, 2, 0, 2, 0], [0, 0, 2, 0, 3, 2], [0, 0, 0, 3, 3, 0], [0, 2, 0, 0, 3, 2], [3, 0, 0, 2, 0, 0], [3, 3, 0, 0, 0, 2], [0, 2, 0, 3, 2, 0], [0, 2, 3, 0, 0, 0], [4, 3, 0, 0, 1, 0]], "min_steps": 11 }, { "id": "7026", "map": [[2, 4, 2, 0, 0, 0], [0, 3, 3, 0, 3, 0], [3, 3, 3, 0, 0, 3], [2, 0, 3, 0, 0, 2], [0, 2, 2, 3, 0, 3], [1, 0, 2, 0, 2, 0], [3, 3, 0, 0, 0, 0], [2, 0, 0, 0, 3, 2], [2, 0, 3, 2, 3, 0]], "min_steps": 11 }, { "id": "7027", "map": [[2, 0, 0, 0, 0, 2], [0, 0, 3, 3, 2, 3], [0, 0, 3, 0, 0, 1], [0, 3, 0, 3, 3, 3], [0, 0, 0, 0, 0, 2], [3, 3, 2, 0, 0, 2], [3, 3, 0, 2, 0, 3], [0, 3, 2, 2, 2, 0], [0, 3, 4, 2, 2, 0]], "min_steps": 11 }, { "id": "7029", "map": [[0, 0, 1, 0, 0, 0], [3, 3, 0, 0, 3, 2], [3, 0, 0, 0, 2, 0], [0, 2, 0, 2, 2, 0], [2, 3, 3, 3, 0, 3], [3, 2, 2, 3, 0, 0], [2, 0, 3, 0, 0, 3], [3, 2, 0, 0, 0, 3], [4, 2, 0, 0, 3, 2]], "min_steps": 11 }, { "id": "7008", "map": [[1, 0, 0, 0, 2, 0], [3, 3, 2, 0, 3, 0], [3, 0, 3, 0, 0, 0], [0, 0, 3, 0, 0, 3], [2, 2, 0, 3, 0, 3], [2, 0, 2, 0, 0, 0], [2, 0, 2, 0, 0, 2], [2, 0, 0, 2, 0, 0], [4, 3, 0, 0, 0, 2]], "min_steps": 12 }, { "id": "7010", "map": [[4, 3, 0, 3, 1, 0], [0, 0, 3, 3, 0, 0], [0, 3, 0, 0, 2, 2], [2, 0, 3, 0, 0, 2], [3, 2, 0, 2, 3, 0], [0, 0, 0, 0, 0, 0], [0, 2, 0, 2, 2, 0], [0, 2, 0, 3, 0, 2], [0, 2, 0, 0, 0, 3]], "min_steps": 12 }, { "id": "7016", "map": [[2, 3, 4, 0, 0, 3], [0, 3, 2, 2, 3, 1], [0, 2, 2, 3, 0, 0], [3, 0, 3, 0, 2, 0], [3, 0, 0, 0, 2, 2], [0, 0, 3, 3, 0, 0], [0, 3, 0, 3, 2, 0], [0, 0, 3, 0, 3, 2], [0, 2, 2, 3, 0, 0]], "min_steps": 12 }, { "id": "7020", "map": [[2, 3, 0, 4, 3, 3], [3, 3, 0, 0, 3, 0], [0, 2, 0, 3, 2, 0], [0, 3, 0, 0, 0, 2], [3, 2, 0, 0, 0, 0], [0, 0, 3, 2, 0, 3], [0, 3, 0, 3, 2, 0], [3, 2, 2, 0, 0, 2], [0, 0, 2, 1, 3, 2]], "min_steps": 12 }, { "id": "7024", "map": [[1, 3, 2, 0, 0, 3], [2, 3, 2, 0, 0, 0], [0, 2, 3, 0, 3, 3], [3, 0, 0, 2, 0, 3], [2, 3, 0, 0, 0, 3], [3, 3, 0, 0, 0, 0], [2, 0, 3, 0, 0, 2], [0, 0, 2, 0, 2, 2], [4, 2, 3, 0, 3, 0]], "min_steps": 12 }, { "id": "7032", "map": [[0, 0, 0, 0, 3, 4], [0, 0, 3, 3, 3, 2], [2, 2, 3, 3, 0, 0], [0, 0, 3, 2, 0, 0], [0, 2, 0, 2, 3, 2], [0, 2, 3, 0, 0, 3], [2, 3, 3, 0, 0, 2], [1, 0, 3, 0, 3, 2], [0, 0, 3, 0, 0, 2]], "min_steps": 12 }, { "id": "7033", "map": [[1, 0, 0, 3, 0, 3], [3, 3, 2, 0, 2, 0], [0, 3, 3, 2, 0, 2], [3, 2, 0, 3, 0, 0], [4, 2, 2, 2, 0, 0], [0, 3, 0, 0, 0, 0], [3, 3, 3, 0, 0, 2], [3, 0, 3, 2, 0, 3], [2, 0, 0, 0, 0, 2]], "min_steps": 12 }, { "id": "7035", "map": [[3, 0, 0, 2, 0, 4], [3, 0, 2, 3, 3, 3], [0, 0, 2, 3, 0, 2], [3, 0, 3, 3, 3, 0], [2, 2, 0, 0, 0, 0], [2, 2, 3, 0, 0, 0], [0, 0, 2, 3, 0, 0], [0, 2, 0, 3, 2, 3], [0, 0, 3, 1, 2, 0]], "min_steps": 12 }, { "id": "7036", "map": [[2, 3, 1, 0, 0, 2], [0, 3, 0, 0, 0, 0], [2, 0, 2, 0, 0, 3], [0, 0, 3, 3, 0, 3], [0, 2, 2, 0, 0, 3], [0, 3, 2, 3, 3, 0], [0, 3, 2, 0, 0, 2], [0, 3, 2, 0, 2, 3], [2, 0, 3, 3, 4, 0]], "min_steps": 12 }, { "id": "7037", "map": [[2, 0, 0, 0, 0, 3], [0, 2, 3, 0, 2, 2], [0, 0, 3, 0, 2, 0], [0, 2, 2, 0, 0, 0], [3, 2, 3, 0, 0, 3], [0, 0, 3, 3, 0, 3], [3, 2, 3, 0, 0, 3], [0, 0, 3, 3, 2, 0], [4, 3, 1, 2, 0, 2]], "min_steps": 12 }, { "id": "7039", "map": [[2, 0, 3, 3, 2, 0], [0, 0, 0, 0, 2, 3], [1, 3, 0, 0, 0, 2], [0, 2, 3, 2, 2, 2], [0, 0, 3, 0, 0, 0], [0, 3, 0, 0, 3, 0], [3, 0, 0, 2, 3, 2], [2, 0, 3, 0, 2, 3], [0, 4, 3, 0, 3, 3]], "min_steps": 12 }, { "id": "7040", "map": [[0, 2, 3, 3, 4, 0], [0, 2, 0, 0, 3, 2], [0, 0, 3, 0, 2, 0], [3, 0, 2, 0, 0, 3], [2, 0, 0, 3, 0, 3], [3, 3, 0, 2, 2, 0], [2, 2, 3, 0, 2, 0], [1, 3, 0, 0, 2, 3], [0, 0, 0, 3, 0, 3]], "min_steps": 12 }, { "id": "7041", "map": [[3, 3, 0, 2, 3, 1], [0, 3, 3, 2, 0, 2], [0, 2, 0, 0, 0, 0], [0, 0, 0, 0, 0, 0], [3, 3, 3, 2, 3, 0], [0, 3, 3, 2, 3, 2], [4, 0, 3, 0, 2, 0], [2, 2, 2, 0, 0, 0], [0, 3, 2, 0, 3, 0]], "min_steps": 12 }, { "id": "7004", "map": [[2, 0, 0, 2, 0, 0], [0, 3, 0, 0, 0, 1], [0, 2, 0, 0, 0, 0], [0, 0, 0, 0, 2, 0], [0, 0, 3, 3, 3, 2], [0, 0, 0, 3, 2, 3], [0, 0, 2, 0, 0, 3], [0, 2, 3, 2, 2, 4], [3, 2, 2, 0, 3, 0]], "min_steps": 13 }, { "id": "7009", "map": [[4, 0, 3, 1, 0, 2], [0, 2, 3, 3, 3, 0], [0, 2, 3, 2, 2, 0], [3, 0, 3, 0, 0, 2], [0, 0, 0, 0, 0, 0], [3, 2, 0, 0, 2, 0], [3, 2, 0, 0, 2, 0], [0, 0, 2, 2, 2, 0], [0, 0, 0, 0, 3, 0]], "min_steps": 13 }, { "id": "7014", "map": [[3, 4, 2, 3, 0, 0], [2, 3, 0, 3, 0, 0], [0, 2, 2, 0, 0, 0], [0, 3, 3, 0, 3, 3], [0, 0, 0, 0, 0, 0], [3, 2, 0, 0, 2, 2], [2, 2, 2, 2, 0, 3], [0, 0, 3, 3, 0, 3], [1, 2, 0, 3, 3, 0]], "min_steps": 13 }, { "id": "7015", "map": [[2, 3, 4, 0, 3, 0], [1, 2, 3, 2, 3, 0], [0, 0, 3, 0, 2, 0], [2, 0, 0, 3, 0, 0], [2, 2, 0, 2, 0, 3], [0, 0, 2, 0, 0, 0], [3, 0, 0, 3, 3, 0], [0, 0, 3, 0, 2, 3], [3, 0, 3, 2, 3, 2]], "min_steps": 13 }, { "id": "7025", "map": [[2, 3, 1, 0, 3, 3], [0, 0, 2, 3, 2, 0], [0, 2, 0, 0, 0, 3], [0, 3, 0, 0, 0, 3], [2, 0, 0, 3, 2, 0], [0, 0, 2, 3, 0, 2], [2, 0, 3, 2, 0, 3], [3, 3, 0, 0, 3, 3], [2, 4, 0, 2, 0, 0]], "min_steps": 13 }, { "id": "7030", "map": [[2, 0, 1, 2, 0, 0], [0, 2, 3, 3, 0, 2], [2, 3, 3, 3, 0, 2], [3, 0, 0, 2, 2, 0], [0, 3, 0, 3, 2, 0], [0, 0, 2, 0, 2, 3], [3, 3, 0, 3, 3, 2], [4, 3, 0, 0, 0, 0], [0, 0, 0, 0, 0, 3]], "min_steps": 13 }, { "id": "7031", "map": [[0, 2, 2, 3, 4, 2], [3, 3, 0, 0, 2, 2], [0, 0, 0, 3, 2, 0], [0, 3, 0, 0, 3, 3], [0, 2, 0, 2, 3, 0], [2, 3, 0, 0, 0, 0], [3, 3, 0, 3, 0, 2], [0, 0, 2, 3, 3, 3], [1, 0, 2, 0, 0, 0]], "min_steps": 13 }, { "id": "7038", "map": [[4, 2, 3, 3, 2, 3], [0, 3, 0, 2, 3, 0], [0, 0, 0, 2, 0, 2], [3, 3, 2, 3, 0, 0], [0, 3, 0, 3, 2, 3], [0, 2, 2, 2, 0, 0], [1, 3, 0, 0, 3, 0], [2, 0, 0, 0, 3, 2], [0, 0, 3, 0, 0, 0]], "min_steps": 13 }, { "id": "7011", "map": [[0, 1, 0, 0, 2, 0], [3, 0, 3, 3, 2, 3], [0, 3, 3, 2, 0, 0], [0, 0, 2, 0, 3, 3], [2, 3, 2, 0, 0, 0], [3, 2, 2, 3, 3, 0], [2, 0, 2, 2, 0, 4], [0, 2, 0, 3, 0, 0], [0, 0, 0, 3, 0, 3]], "min_steps": 14 }, { "id": "7017", "map": [[2, 0, 0, 3, 0, 3], [4, 3, 0, 2, 0, 3], [3, 0, 0, 0, 3, 0], [2, 0, 0, 2, 0, 0], [3, 0, 0, 3, 0, 0], [2, 3, 0, 2, 2, 2], [1, 3, 3, 0, 2, 2], [0, 3, 0, 0, 3, 0], [0, 2, 0, 3, 3, 2]], "min_steps": 14 }, { "id": "7019", "map": [[0, 3, 0, 2, 3, 1], [0, 3, 0, 2, 0, 2], [0, 2, 2, 0, 3, 3], [0, 0, 3, 2, 0, 3], [0, 0, 3, 2, 2, 0], [2, 2, 3, 0, 2, 2], [0, 3, 0, 0, 3, 0], [3, 0, 0, 3, 3, 0], [0, 0, 0, 3, 0, 4]], "min_steps": 14 }, { "id": "7021", "map": [[0, 0, 0, 0, 2, 4], [3, 0, 2, 0, 0, 0], [3, 0, 2, 3, 3, 3], [2, 0, 3, 3, 3, 0], [2, 0, 0, 0, 2, 3], [3, 3, 0, 0, 0, 2], [1, 0, 3, 0, 2, 2], [2, 2, 0, 2, 0, 0], [0, 0, 3, 3, 0, 3]], "min_steps": 14 }, { "id": "7022", "map": [[4, 0, 0, 0, 0, 0], [0, 0, 0, 0, 3, 2], [3, 3, 2, 3, 3, 2], [2, 0, 0, 0, 0, 2], [0, 0, 3, 0, 3, 3], [2, 0, 2, 3, 2, 1], [3, 2, 3, 0, 0, 3], [2, 0, 0, 3, 2, 2], [3, 3, 0, 0, 0, 0]], "min_steps": 15 }, { "id": "7028", "map": [[0, 2, 1, 3, 0, 2], [0, 3, 3, 3, 0, 2], [0, 0, 0, 3, 0, 2], [3, 0, 0, 3, 2, 4], [2, 0, 0, 3, 2, 2], [2, 2, 3, 0, 0, 3], [0, 2, 0, 0, 0, 0], [0, 3, 3, 3, 2, 0], [0, 3, 0, 3, 0, 0]], "min_steps": 16 }, { "id": "7034", "map": [[1, 0, 0, 3, 2, 0], [0, 2, 2, 3, 3, 0], [3, 0, 0, 2, 0, 3], [2, 3, 2, 2, 0, 3], [0, 0, 3, 0, 0, 3], [3, 0, 0, 0, 3, 0], [2, 3, 0, 3, 2, 4], [0, 3, 0, 0, 0, 3], [0, 2, 0, 0, 2, 2]], "min_steps": 16 }, { "id": "7012", "map": [[1, 3, 3, 3, 0, 0], [0, 3, 0, 2, 0, 0], [0, 0, 0, 3, 0, 2], [3, 0, 0, 3, 2, 3], [0, 0, 2, 0, 0, 3], [0, 0, 2, 3, 2, 0], [2, 2, 3, 2, 3, 2], [0, 3, 0, 2, 0, 2], [0, 3, 4, 3, 0, 0]], "min_steps": 17 }, { "id": "7013", "map": [[0, 1, 0, 0, 3, 3], [0, 2, 0, 3, 0, 0], [2, 3, 0, 0, 0, 0], [0, 0, 0, 3, 0, 3], [0, 3, 0, 2, 3, 2], [2, 0, 3, 3, 2, 0], [0, 2, 2, 3, 0, 2], [2, 3, 2, 0, 3, 0], [0, 3, 3, 0, 2, 4]], "min_steps": 17 }, { "id": "7018", "map": [[0, 0, 0, 0, 0, 2], [1, 0, 3, 3, 0, 2], [3, 3, 0, 3, 2, 3], [0, 3, 0, 2, 0, 0], [0, 3, 0, 0, 2, 2], [3, 0, 0, 2, 3, 0], [0, 3, 3, 3, 0, 0], [2, 0, 3, 0, 0, 2], [2, 4, 2, 0, 3, 2]], "min_steps": 17 }, { "id": "7042", "map": [[1, 2, 0, 0, 3, 0], [3, 3, 2, 3, 0, 0], [0, 0, 2, 0, 2, 2], [3, 3, 0, 0, 0, 0], [3, 0, 3, 3, 0, 3], [3, 2, 2, 0, 0, 0], [4, 2, 3, 0, 2, 2], [2, 0, 3, 0, 2, 2], [2, 0, 3, 0, 3, 2]], "min_steps": 17 }, { "id": "7043", "map": [[0, 0, 3, 0, 1, 0], [2, 0, 0, 2, 0, 0], [3, 0, 3, 0, 2, 2], [0, 0, 0, 3, 2, 3], [2, 3, 2, 3, 2, 3], [0, 3, 3, 0, 3, 4], [0, 3, 3, 2, 3, 0], [0, 2, 2, 0, 2, 0], [2, 2, 0, 0, 3, 2]], "min_steps": 17 }, { "id": "7044", "map": [[0, 0, 1, 3, 0, 4], [3, 0, 3, 0, 2, 3], [2, 2, 3, 2, 3, 0], [2, 3, 2, 2, 0, 3], [0, 3, 0, 0, 3, 0], [2, 0, 3, 2, 3, 3], [0, 3, 2, 2, 3, 0], [0, 0, 0, 0, 2, 0], [2, 0, 2, 2, 0, 0]], "min_steps": 17 }, { "id": "7045", "map": [[2, 3, 2, 0, 0, 3], [0, 0, 0, 3, 2, 2], [3, 0, 0, 3, 0, 0], [0, 0, 3, 2, 3, 2], [2, 3, 2, 3, 3, 1], [0, 0, 0, 3, 0, 3], [3, 2, 0, 0, 2, 0], [3, 2, 2, 0, 0, 2], [0, 4, 0, 3, 2, 2]], "min_steps": 17 }, { "id": "7046", "map": [[0, 3, 0, 2, 0, 0], [0, 2, 2, 0, 0, 1], [0, 0, 3, 3, 3, 2], [2, 2, 3, 3, 2, 2], [3, 3, 3, 0, 2, 3], [4, 2, 2, 3, 0, 2], [0, 0, 3, 2, 0, 2], [0, 3, 0, 0, 2, 3], [0, 0, 0, 3, 0, 0]], "min_steps": 17 }, { "id": "7047", "map": [[3, 2, 4, 3, 2, 0], [2, 0, 3, 2, 0, 0], [2, 3, 3, 2, 3, 0], [2, 0, 0, 2, 0, 0], [2, 3, 0, 0, 0, 0], [3, 0, 2, 0, 3, 0], [2, 2, 3, 0, 2, 0], [0, 3, 3, 0, 3, 0], [1, 2, 3, 2, 0, 3]], "min_steps": 17 }, { "id": "7048", "map": [[2, 0, 3, 4, 2, 2], [0, 0, 3, 0, 3, 0], [2, 0, 0, 2, 3, 3], [2, 0, 3, 3, 2, 3], [0, 0, 0, 0, 0, 0], [2, 2, 2, 0, 0, 3], [3, 3, 3, 3, 2, 2], [0, 0, 3, 0, 0, 2], [3, 1, 2, 0, 2, 0]], "min_steps": 17 }]]; + this.LEVEL_INFO.unshift([{ "id": "0001", "map": [[3, 2, 2, 0, 2], [0, 0, 3, 3, 0], [1, 3, 0, 3, 2], [3, 0, 2, 3, 4], [3, 2, 3, 3, 2]], "min_steps": 4 }]); + }; + GameConfig.Authentication = function () { + cc.fx.GameTool.Authentication(); + }; + var GameConfig_1; + //所有控制信息都通过GameAppStart内控制 + GameConfig._instance = null; + GameConfig = GameConfig_1 = __decorate([ + ccclass('GameConfig') + ], GameConfig); + return GameConfig; +}()); +exports.GameConfig = GameConfig; + +cc._RF.pop(); + } + if (nodeEnv) { + __define(__module.exports, __require, __module); + } + else { + __quick_compile_project__.registerModuleFunc(__filename, function () { + __define(__module.exports, __require, __module); + }); + } + })(); +//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbImFzc2V0c1xcU2NyaXB0XFxtb2R1bGVcXENvbmZpZ1xcR2FtZUNvbmZpZy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7QUFBQSx3Q0FBd0M7QUFJbEMsSUFBQSxLQUF3QixFQUFFLENBQUMsVUFBVSxFQUFuQyxPQUFPLGFBQUEsRUFBRSxRQUFRLGNBQWtCLENBQUM7QUFFNUM7SUFBQTtJQXdTQSxDQUFDO21CQXhTWSxVQUFVO0lBdUVuQixzQkFBVyxzQkFBUTtRQUpuQixPQUFPO2FBSVA7WUFFSSxJQUFJLElBQUksQ0FBQyxTQUFTLElBQUksSUFBSSxFQUMxQjtnQkFDSSxJQUFJLENBQUMsU0FBUyxHQUFHLElBQUksWUFBVSxFQUFFLENBQUM7YUFDckM7WUFDRCxPQUFPLElBQUksQ0FBQyxTQUFTLENBQUM7UUFDMUIsQ0FBQzs7O09BQUE7SUFDRCxlQUFlO0lBQ1IsZUFBSSxHQUFYLFVBQVksY0FBYztRQUN0QixJQUFJLENBQUMsVUFBVSxFQUFFLENBQUM7UUFDbEIsSUFBSSxDQUFDLGVBQWUsRUFBRSxDQUFDO1FBQ3ZCLElBQUksQ0FBQyxZQUFZLEVBQUUsQ0FBQztRQUNwQixJQUFJLElBQUksR0FBRyxJQUFJLENBQUM7UUFDaEIsMEVBQTBFO1FBQzFFLGlCQUFpQjtRQUNqQixrQkFBa0I7UUFDbEIsUUFBUTtRQUNSLHdDQUF3QztRQUN4QywwQ0FBMEM7UUFDMUMsS0FBSztRQUNMLDBFQUEwRTtRQUMxRSxpQkFBaUI7UUFDakIsa0JBQWtCO1FBQ2xCLFFBQVE7UUFFUix3Q0FBd0M7UUFDeEMsMENBQTBDO1FBQzFDLEtBQUs7UUFDTCx1RUFBdUU7UUFDdkUsaUJBQWlCO1FBQ2pCLHFEQUFxRDtRQUNyRCxrQkFBa0I7UUFDbEIsUUFBUTtRQUVSLHdDQUF3QztRQUN4Qyx1Q0FBdUM7UUFDdkMsdUNBQXVDO1FBQ3ZDLGlEQUFpRDtRQUNqRCxLQUFLO1FBRUwsbUNBQW1DO1FBQ25DLElBQUksQ0FBQyxTQUFTLEdBQUcsRUFDaEIsQ0FBQTtRQUNELElBQUksQ0FBQyxXQUFXLEdBQUc7WUFDZixNQUFNO1lBQ047Z0JBQ0ksU0FBUyxFQUFFLENBQUM7Z0JBQ1osUUFBUSxFQUFFLEVBQUU7Z0JBQ1osUUFBUSxFQUFFLENBQUMsQ0FBRyxNQUFNO2FBQ3ZCO1lBQ0QsTUFBTTtZQUNOO2dCQUNJLFNBQVMsRUFBRSxDQUFDO2dCQUNaLFFBQVEsRUFBRSxFQUFFO2dCQUNaLFFBQVEsRUFBRSxDQUFDLENBQUcsTUFBTTthQUN2QjtZQUNELE1BQU07WUFDTjtnQkFDSSxTQUFTLEVBQUUsQ0FBQztnQkFDWixRQUFRLEVBQUUsRUFBRTtnQkFDWixRQUFRLEVBQUUsQ0FBQyxDQUFHLE1BQU07YUFDdkI7WUFDRCxNQUFNO1lBQ047Z0JBQ0ksU0FBUyxFQUFFLENBQUM7Z0JBQ1osUUFBUSxFQUFFLEVBQUU7Z0JBQ1osUUFBUSxFQUFFLENBQUMsQ0FBRyxNQUFNO2FBQ3ZCO1lBQ0QsTUFBTTtZQUNOO2dCQUNJLFNBQVMsRUFBRSxDQUFDO2dCQUNaLFFBQVEsRUFBRSxFQUFFO2dCQUNaLFFBQVEsRUFBRSxDQUFDLENBQUcsTUFBTTthQUN2QjtZQUNBLE1BQU07WUFDUDtnQkFDSSxTQUFTLEVBQUUsQ0FBQztnQkFDWixRQUFRLEVBQUUsRUFBRTtnQkFDWixRQUFRLEVBQUUsQ0FBQyxDQUFHLE1BQU07YUFDdkI7WUFDRCxnQkFBZ0I7WUFDaEI7Z0JBQ0ksU0FBUyxFQUFFLENBQUM7Z0JBQ1osUUFBUSxFQUFFLEVBQUU7Z0JBQ1osUUFBUSxFQUFFLENBQUMsQ0FBRyxNQUFNO2FBQ3ZCO1lBQ0QsTUFBTTtZQUNOO2dCQUNJLFNBQVMsRUFBRSxDQUFDO2dCQUNaLFFBQVEsRUFBRSxFQUFFO2dCQUNaLFFBQVEsRUFBRSxDQUFDLENBQUcsTUFBTTthQUN2QjtZQUNELE1BQU07WUFDTjtnQkFDSSxTQUFTLEVBQUUsQ0FBQztnQkFDWixRQUFRLEVBQUUsRUFBRTtnQkFDWixRQUFRLEVBQUUsQ0FBQyxDQUFHLE1BQU07YUFDdkI7WUFDRCxNQUFNO1lBQ047Z0JBQ0ksU0FBUyxFQUFFLENBQUM7Z0JBQ1osUUFBUSxFQUFFLEVBQUU7Z0JBQ1osUUFBUSxFQUFFLENBQUMsQ0FBRyxNQUFNO2FBQ3ZCO1NBQ0osQ0FBQTtRQUNELGNBQU0sQ0FBQyxRQUFRLENBQUMsUUFBUSxDQUFDLElBQUksQ0FBQyxDQUFDO1FBQy9CLElBQUcsQ0FBQyxjQUFjO1lBQUUsSUFBSSxDQUFDLGNBQWMsRUFBRSxDQUFDO0lBQzlDLENBQUM7SUFFRCxNQUFNO0lBQ0MsdUJBQVksR0FBbkI7UUFDSSxJQUFJLENBQUMsT0FBTyxHQUFHO1lBQ1gsZ0JBQWdCO1lBQ2hCLFNBQVMsRUFBRSxDQUFDO1lBQ1osS0FBSyxFQUFFLENBQUM7WUFDUixRQUFRLEVBQUUsTUFBTTtZQUNoQixNQUFNLEVBQUUsUUFBUTtZQUNoQixNQUFNLEVBQUUsQ0FBQztZQUNULEtBQUssRUFBRSxLQUFLO1lBQ1osR0FBRyxFQUFFLHdCQUF3QjtZQUM3QixPQUFPLEVBQUUsS0FBSztZQUNkLE9BQU8sRUFBRSxJQUFJO1lBQ2IsTUFBTSxFQUFFLENBQUM7WUFDVCxLQUFLLEVBQUMsQ0FBQztZQUNQLEtBQUssRUFBRSxDQUFDO1lBQ1IsWUFBWSxFQUFDLENBQUM7WUFDZCxXQUFXLEVBQUMsRUFBRTtZQUNkLEdBQUcsRUFBQyxDQUFDO1lBQ0wsS0FBSyxFQUFDLENBQUM7WUFDUCxXQUFXLEVBQUUsQ0FBQztZQUNkLFNBQVMsRUFBQyxDQUFDO1lBQ1gsUUFBUSxFQUFDLENBQUMsQ0FBa0IsZUFBZTtTQUM5QyxDQUFDO0lBRU4sQ0FBQztJQUNNLHNCQUFXLEdBQWxCLFVBQW1CLEdBQUcsRUFBQyxLQUFLO1FBQ3hCLElBQUksQ0FBQyxPQUFPLENBQUMsR0FBRyxDQUFDLEdBQUcsS0FBSyxDQUFDO0lBQzlCLENBQUM7SUFDTSxxQkFBVSxHQUFqQjtRQUNJLElBQUksQ0FBQyxVQUFVO1lBQ2Y7Z0JBQ0ksSUFBSSxFQUFFLENBQUM7Z0JBQ1AsT0FBTyxFQUFFLEtBQUs7Z0JBQ2QsS0FBSyxFQUFFLENBQUM7Z0JBQ1IsUUFBUSxFQUFFLENBQUM7Z0JBQ1gsZUFBZSxFQUFFLENBQUM7Z0JBQ2xCLEtBQUssRUFBRSxFQUFFO2dCQUNULFVBQVUsRUFBRSxDQUFDO2dCQUNiLGNBQWMsRUFBRSxDQUFDO2dCQUNqQixTQUFTLEVBQUUsQ0FBQztnQkFDWixRQUFRLEVBQUUsRUFBRTtnQkFDWixTQUFTLEVBQUMsQ0FBQyxDQUFDO2dCQUNaLFVBQVUsRUFBQyxDQUFDLENBQUM7Z0JBQ2IsUUFBUSxFQUFDLENBQUM7Z0JBQ1YsV0FBVyxFQUFDLENBQUM7Z0JBQ2IsWUFBWSxFQUFDLENBQUM7Z0JBQ2QsS0FBSyxFQUFFLENBQUM7YUFDWCxDQUFBO0lBQ0wsQ0FBQztJQUVNLG9CQUFTLEdBQWhCLFVBQWlCLEdBQUcsRUFBQyxLQUFLO1FBQ3RCLElBQUksQ0FBQyxVQUFVLENBQUMsR0FBRyxDQUFDLEdBQUcsS0FBSyxDQUFDO0lBQ2pDLENBQUM7SUFFTSwwQkFBZSxHQUF0QjtRQUNJLElBQUksQ0FBQyxTQUFTLEdBQUc7WUFDYixVQUFVLEVBQUMsQ0FBQyxHQUFHLEVBQUMsSUFBSSxFQUFDLEdBQUcsRUFBQyxJQUFJLEVBQUMsSUFBSSxFQUFDLElBQUksRUFBQyxJQUFJLEVBQUMsR0FBRyxDQUFDO1lBQ2pELFNBQVMsRUFBRSxHQUFHO1lBQ2QsU0FBUyxFQUFDLENBQUMsRUFBRSxFQUFDLEVBQUUsRUFBQyxFQUFFLEVBQUMsRUFBRSxFQUFDLEVBQUUsRUFBQyxFQUFFLEVBQUMsRUFBRSxFQUFDLEVBQUUsQ0FBQztZQUNuQyxTQUFTLEVBQUMsR0FBRztZQUNiLGNBQWMsRUFBQyxHQUFHO1lBQ2xCLFlBQVksRUFBQyxHQUFHO1NBQ25CLENBQUE7UUFDRDs7OztVQUlFO1FBQ0Ysc0JBQXNCO1FBQ3RCLFNBQVM7UUFDVCxZQUFZO1FBQ1osMEJBQTBCO1FBQzFCLHVCQUF1QjtRQUN2QixpQ0FBaUM7UUFDakMsaUNBQWlDO1FBQ2pDLGlDQUFpQztRQUNqQyxpQ0FBaUM7UUFDakMsaUNBQWlDO1FBQ2pDLGlDQUFpQztRQUNqQyxpQ0FBaUM7UUFDakMsaUNBQWlDO1FBQ2pDLGdDQUFnQztRQUNoQyxnQkFBZ0I7UUFDaEIsYUFBYTtRQUNiLFlBQVk7UUFDWiwwQkFBMEI7UUFDMUIsdUJBQXVCO1FBQ3ZCLHVDQUF1QztRQUN2Qyx1Q0FBdUM7UUFDdkMsdUNBQXVDO1FBQ3ZDLHVDQUF1QztRQUN2Qyx1Q0FBdUM7UUFDdkMsc0NBQXNDO1FBQ3RDLGdCQUFnQjtRQUNoQixZQUFZO1FBQ1osU0FBUztRQUdULElBQUk7UUFFSixJQUFJLENBQUMsVUFBVSxHQUFHLENBQUMsQ0FBQyxFQUFDLElBQUksRUFBQyxNQUFNLEVBQUMsS0FBSyxFQUFDLENBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsQ0FBQyxFQUFDLFdBQVcsRUFBQyxDQUFDLEVBQUMsRUFBQyxFQUFDLElBQUksRUFBQyxNQUFNLEVBQUMsS0FBSyxFQUFDLENBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsQ0FBQyxFQUFDLFdBQVcsRUFBQyxDQUFDLEVBQUMsRUFBQyxFQUFDLElBQUksRUFBQyxNQUFNLEVBQUMsS0FBSyxFQUFDLENBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsQ0FBQyxFQUFDLFdBQVcsRUFBQyxDQUFDLEVBQUMsRUFBQyxFQUFDLElBQUksRUFBQyxNQUFNLEVBQUMsS0FBSyxFQUFDLENBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsQ0FBQyxFQUFDLFdBQVcsRUFBQyxDQUFDLEVBQUMsRUFBQyxFQUFDLElBQUksRUFBQyxNQUFNLEVBQUMsS0FBSyxFQUFDLENBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsQ0FBQyxFQUFDLFdBQVcsRUFBQyxDQUFDLEVBQUMsRUFBQyxFQUFDLElBQUksRUFBQyxNQUFNLEVBQUMsS0FBSyxFQUFDLENBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsQ0FBQyxFQUFDLFdBQVcsRUFBQyxDQUFDLEVBQUMsRUFBQyxFQUFDLElBQUksRUFBQyxNQUFNLEVBQUMsS0FBSyxFQUFDLENBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsQ0FBQyxFQUFDLFdBQVcsRUFBQyxDQUFDLEVBQUMsRUFBQyxFQUFDLElBQUksRUFBQyxNQUFNLEVBQUMsS0FBSyxFQUFDLENBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsQ0FBQyxFQUFDLFdBQVcsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxJQUFJLEVBQUMsTUFBTSxFQUFDLEtBQUssRUFBQyxDQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxDQUFDLEVBQUMsV0FBVyxFQUFDLENBQUMsRUFBQyxFQUFDLEVBQUMsSUFBSSxFQUFDLE1BQU0sRUFBQyxLQUFLLEVBQUMsQ0FBQyxDQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsQ0FBQyxFQUFDLFdBQVcsRUFBQyxDQUFDLEVBQUMsRUFBQyxFQUFDLElBQUksRUFBQyxNQUFNLEVBQUMsS0FBSyxFQUFDLENBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLENBQUMsRUFBQyxXQUFXLEVBQUMsQ0FBQyxFQUFDLEVBQUMsRUFBQyxJQUFJLEVBQUMsTUFBTSxFQUFDLEtBQUssRUFBQyxDQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxDQUFDLEVBQUMsV0FBVyxFQUFDLENBQUMsRUFBQyxFQUFDLEVBQUMsSUFBSSxFQUFDLE1BQU0sRUFBQyxLQUFLLEVBQUMsQ0FBQyxDQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsQ0FBQyxFQUFDLFdBQVcsRUFBQyxDQUFDLEVBQUMsRUFBQyxFQUFDLElBQUksRUFBQyxNQUFNLEVBQUMsS0FBSyxFQUFDLENBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLENBQUMsRUFBQyxXQUFXLEVBQUMsQ0FBQyxFQUFDLEVBQUMsRUFBQyxJQUFJLEVBQUMsTUFBTSxFQUFDLEtBQUssRUFBQyxDQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxDQUFDLEVBQUMsV0FBVyxFQUFDLENBQUMsRUFBQyxFQUFDLEVBQUMsSUFBSSxFQUFDLE1BQU0sRUFBQyxLQUFLLEVBQUMsQ0FBQyxDQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsQ0FBQyxFQUFDLFdBQVcsRUFBQyxDQUFDLEVBQUMsRUFBQyxFQUFDLElBQUksRUFBQyxNQUFNLEVBQUMsS0FBSyxFQUFDLENBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLENBQUMsRUFBQyxXQUFXLEVBQUMsQ0FBQyxFQUFDLEVBQUMsRUFBQyxJQUFJLEVBQUMsTUFBTSxFQUFDLEtBQUssRUFBQyxDQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxDQUFDLEVBQUMsV0FBVyxFQUFDLENBQUMsRUFBQyxFQUFDLEVBQUMsSUFBSSxFQUFDLE1BQU0sRUFBQyxLQUFLLEVBQUMsQ0FBQyxDQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsQ0FBQyxFQUFDLFdBQVcsRUFBQyxDQUFDLEVBQUMsRUFBQyxFQUFDLElBQUksRUFBQyxNQUFNLEVBQUMsS0FBSyxFQUFDLENBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLENBQUMsRUFBQyxXQUFXLEVBQUMsQ0FBQyxFQUFDLEVBQUMsRUFBQyxJQUFJLEVBQUMsTUFBTSxFQUFDLEtBQUssRUFBQyxDQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxDQUFDLEVBQUMsV0FBVyxFQUFDLENBQUMsRUFBQyxFQUFDLEVBQUMsSUFBSSxFQUFDLE1BQU0sRUFBQyxLQUFLLEVBQUMsQ0FBQyxDQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsQ0FBQyxFQUFDLFdBQVcsRUFBQyxDQUFDLEVBQUMsRUFBQyxFQUFDLElBQUksRUFBQyxNQUFNLEVBQUMsS0FBSyxFQUFDLENBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLENBQUMsRUFBQyxXQUFXLEVBQUMsQ0FBQyxFQUFDLEVBQUMsRUFBQyxJQUFJLEVBQUMsTUFBTSxFQUFDLEtBQUssRUFBQyxDQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxDQUFDLEVBQUMsV0FBVyxFQUFDLENBQUMsRUFBQyxFQUFDLEVBQUMsSUFBSSxFQUFDLE1BQU0sRUFBQyxLQUFLLEVBQUMsQ0FBQyxDQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsQ0FBQyxFQUFDLFdBQVcsRUFBQyxDQUFDLEVBQUMsRUFBQyxFQUFDLElBQUksRUFBQyxNQUFNLEVBQUMsS0FBSyxFQUFDLENBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLENBQUMsRUFBQyxXQUFXLEVBQUMsQ0FBQyxFQUFDLEVBQUMsRUFBQyxJQUFJLEVBQUMsTUFBTSxFQUFDLEtBQUssRUFBQyxDQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxDQUFDLEVBQUMsV0FBVyxFQUFDLENBQUMsRUFBQyxFQUFDLEVBQUMsSUFBSSxFQUFDLE1BQU0sRUFBQyxLQUFLLEVBQUMsQ0FBQyxDQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsQ0FBQyxFQUFDLFdBQVcsRUFBQyxDQUFDLEVBQUMsRUFBQyxFQUFDLElBQUksRUFBQyxNQUFNLEVBQUMsS0FBSyxFQUFDLENBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLENBQUMsRUFBQyxXQUFXLEVBQUMsQ0FBQyxFQUFDLEVBQUMsRUFBQyxJQUFJLEVBQUMsTUFBTSxFQUFDLEtBQUssRUFBQyxDQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxDQUFDLEVBQUMsV0FBVyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLElBQUksRUFBQyxNQUFNLEVBQUMsS0FBSyxFQUFDLENBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLENBQUMsRUFBQyxXQUFXLEVBQUMsQ0FBQyxFQUFDLEVBQUMsRUFBQyxJQUFJLEVBQUMsTUFBTSxFQUFDLEtBQUssRUFBQyxDQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxDQUFDLEVBQUMsV0FBVyxFQUFDLENBQUMsRUFBQyxFQUFDLEVBQUMsSUFBSSxFQUFDLE1BQU0sRUFBQyxLQUFLLEVBQUMsQ0FBQyxDQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsQ0FBQyxFQUFDLFdBQVcsRUFBQyxDQUFDLEVBQUMsRUFBQyxFQUFDLElBQUksRUFBQyxNQUFNLEVBQUMsS0FBSyxFQUFDLENBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLENBQUMsRUFBQyxXQUFXLEVBQUMsQ0FBQyxFQUFDLEVBQUMsRUFBQyxJQUFJLEVBQUMsTUFBTSxFQUFDLEtBQUssRUFBQyxDQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxDQUFDLEVBQUMsV0FBVyxFQUFDLENBQUMsRUFBQyxFQUFDLEVBQUMsSUFBSSxFQUFDLE1BQU0sRUFBQyxLQUFLLEVBQUMsQ0FBQyxDQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsQ0FBQyxFQUFDLFdBQVcsRUFBQyxDQUFDLEVBQUMsRUFBQyxFQUFDLElBQUksRUFBQyxNQUFNLEVBQUMsS0FBSyxFQUFDLENBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLENBQUMsRUFBQyxXQUFXLEVBQUMsQ0FBQyxFQUFDLEVBQUMsRUFBQyxJQUFJLEVBQUMsTUFBTSxFQUFDLEtBQUssRUFBQyxDQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxDQUFDLEVBQUMsV0FBVyxFQUFDLENBQUMsRUFBQyxFQUFDLEVBQUMsSUFBSSxFQUFDLE1BQU0sRUFBQyxLQUFLLEVBQUMsQ0FBQyxDQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsQ0FBQyxFQUFDLFdBQVcsRUFBQyxDQUFDLEVBQUMsRUFBQyxFQUFDLElBQUksRUFBQyxNQUFNLEVBQUMsS0FBSyxFQUFDLENBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLENBQUMsRUFBQyxXQUFXLEVBQUMsQ0FBQyxFQUFDLEVBQUMsRUFBQyxJQUFJLEVBQUMsTUFBTSxFQUFDLEtBQUssRUFBQyxDQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxDQUFDLEVBQUMsV0FBVyxFQUFDLENBQUMsRUFBQyxFQUFDLEVBQUMsSUFBSSxFQUFDLE1BQU0sRUFBQyxLQUFLLEVBQUMsQ0FBQyxDQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsQ0FBQyxFQUFDLFdBQVcsRUFBQyxDQUFDLEVBQUMsRUFBQyxFQUFDLElBQUksRUFBQyxNQUFNLEVBQUMsS0FBSyxFQUFDLENBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLENBQUMsRUFBQyxXQUFXLEVBQUMsQ0FBQyxFQUFDLEVBQUMsRUFBQyxJQUFJLEVBQUMsTUFBTSxFQUFDLEtBQUssRUFBQyxDQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxDQUFDLEVBQUMsV0FBVyxFQUFDLENBQUMsRUFBQyxFQUFDLEVBQUMsSUFBSSxFQUFDLE1BQU0sRUFBQyxLQUFLLEVBQUMsQ0FBQyxDQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsQ0FBQyxFQUFDLFdBQVcsRUFBQyxDQUFDLEVBQUMsRUFBQyxFQUFDLElBQUksRUFBQyxNQUFNLEVBQUMsS0FBSyxFQUFDLENBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLENBQUMsRUFBQyxXQUFXLEVBQUMsQ0FBQyxFQUFDLEVBQUMsRUFBQyxJQUFJLEVBQUMsTUFBTSxFQUFDLEtBQUssRUFBQyxDQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxDQUFDLEVBQUMsV0FBVyxFQUFDLENBQUMsRUFBQyxFQUFDLEVBQUMsSUFBSSxFQUFDLE1BQU0sRUFBQyxLQUFLLEVBQUMsQ0FBQyxDQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsQ0FBQyxFQUFDLFdBQVcsRUFBQyxDQUFDLEVBQUMsRUFBQyxFQUFDLElBQUksRUFBQyxNQUFNLEVBQUMsS0FBSyxFQUFDLENBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLENBQUMsRUFBQyxXQUFXLEVBQUMsQ0FBQyxFQUFDLEVBQUMsRUFBQyxJQUFJLEVBQUMsTUFBTSxFQUFDLEtBQUssRUFBQyxDQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxDQUFDLEVBQUMsV0FBVyxFQUFDLENBQUMsRUFBQyxFQUFDLEVBQUMsSUFBSSxFQUFDLE1BQU0sRUFBQyxLQUFLLEVBQUMsQ0FBQyxDQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsQ0FBQyxFQUFDLFdBQVcsRUFBQyxDQUFDLEVBQUMsRUFBQyxFQUFDLElBQUksRUFBQyxNQUFNLEVBQUMsS0FBSyxFQUFDLENBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLENBQUMsRUFBQyxXQUFXLEVBQUMsQ0FBQyxFQUFDLEVBQUMsRUFBQyxJQUFJLEVBQUMsTUFBTSxFQUFDLEtBQUssRUFBQyxDQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxDQUFDLEVBQUMsV0FBVyxFQUFDLENBQUMsRUFBQyxFQUFDLEVBQUMsSUFBSSxFQUFDLE1BQU0sRUFBQyxLQUFLLEVBQUMsQ0FBQyxDQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsQ0FBQyxFQUFDLFdBQVcsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxJQUFJLEVBQUMsTUFBTSxFQUFDLEtBQUssRUFBQyxDQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsQ0FBQyxFQUFDLFdBQVcsRUFBQyxDQUFDLEVBQUMsRUFBQyxFQUFDLElBQUksRUFBQyxNQUFNLEVBQUMsS0FBSyxFQUFDLENBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLENBQUMsRUFBQyxXQUFXLEVBQUMsQ0FBQyxFQUFDLEVBQUMsRUFBQyxJQUFJLEVBQUMsTUFBTSxFQUFDLEtBQUssRUFBQyxDQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxDQUFDLEVBQUMsV0FBVyxFQUFDLENBQUMsRUFBQyxFQUFDLEVBQUMsSUFBSSxFQUFDLE1BQU0sRUFBQyxLQUFLLEVBQUMsQ0FBQyxDQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsQ0FBQyxFQUFDLFdBQVcsRUFBQyxDQUFDLEVBQUMsRUFBQyxFQUFDLElBQUksRUFBQyxNQUFNLEVBQUMsS0FBSyxFQUFDLENBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLENBQUMsRUFBQyxXQUFXLEVBQUMsQ0FBQyxFQUFDLEVBQUMsRUFBQyxJQUFJLEVBQUMsTUFBTSxFQUFDLEtBQUssRUFBQyxDQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxDQUFDLEVBQUMsV0FBVyxFQUFDLENBQUMsRUFBQyxFQUFDLEVBQUMsSUFBSSxFQUFDLE1BQU0sRUFBQyxLQUFLLEVBQUMsQ0FBQyxDQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsQ0FBQyxFQUFDLFdBQVcsRUFBQyxDQUFDLEVBQUMsRUFBQyxFQUFDLElBQUksRUFBQyxNQUFNLEVBQUMsS0FBSyxFQUFDLENBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLENBQUMsRUFBQyxXQUFXLEVBQUMsQ0FBQyxFQUFDLEVBQUMsRUFBQyxJQUFJLEVBQUMsTUFBTSxFQUFDLEtBQUssRUFBQyxDQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxDQUFDLEVBQUMsV0FBVyxFQUFDLENBQUMsRUFBQyxFQUFDLEVBQUMsSUFBSSxFQUFDLE1BQU0sRUFBQyxLQUFLLEVBQUMsQ0FBQyxDQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsQ0FBQyxFQUFDLFdBQVcsRUFBQyxDQUFDLEVBQUMsRUFBQyxFQUFDLElBQUksRUFBQyxNQUFNLEVBQUMsS0FBSyxFQUFDLENBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLENBQUMsRUFBQyxXQUFXLEVBQUMsQ0FBQyxFQUFDLEVBQUMsRUFBQyxJQUFJLEVBQUMsTUFBTSxFQUFDLEtBQUssRUFBQyxDQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxDQUFDLEVBQUMsV0FBVyxFQUFDLENBQUMsRUFBQyxFQUFDLEVBQUMsSUFBSSxFQUFDLE1BQU0sRUFBQyxLQUFLLEVBQUMsQ0FBQyxDQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsQ0FBQyxFQUFDLFdBQVcsRUFBQyxDQUFDLEVBQUMsRUFBQyxFQUFDLElBQUksRUFBQyxNQUFNLEVBQUMsS0FBSyxFQUFDLENBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLENBQUMsRUFBQyxXQUFXLEVBQUMsQ0FBQyxFQUFDLEVBQUMsRUFBQyxJQUFJLEVBQUMsTUFBTSxFQUFDLEtBQUssRUFBQyxDQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxDQUFDLEVBQUMsV0FBVyxFQUFDLENBQUMsRUFBQyxFQUFDLEVBQUMsSUFBSSxFQUFDLE1BQU0sRUFBQyxLQUFLLEVBQUMsQ0FBQyxDQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsQ0FBQyxFQUFDLFdBQVcsRUFBQyxDQUFDLEVBQUMsRUFBQyxFQUFDLElBQUksRUFBQyxNQUFNLEVBQUMsS0FBSyxFQUFDLENBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLENBQUMsRUFBQyxXQUFXLEVBQUMsQ0FBQyxFQUFDLEVBQUMsRUFBQyxJQUFJLEVBQUMsTUFBTSxFQUFDLEtBQUssRUFBQyxDQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxDQUFDLEVBQUMsV0FBVyxFQUFDLENBQUMsRUFBQyxFQUFDLEVBQUMsSUFBSSxFQUFDLE1BQU0sRUFBQyxLQUFLLEVBQUMsQ0FBQyxDQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsQ0FBQyxFQUFDLFdBQVcsRUFBQyxDQUFDLEVBQUMsRUFBQyxFQUFDLElBQUksRUFBQyxNQUFNLEVBQUMsS0FBSyxFQUFDLENBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLENBQUMsRUFBQyxXQUFXLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsSUFBSSxFQUFDLE1BQU0sRUFBQyxLQUFLLEVBQUMsQ0FBQyxDQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsQ0FBQyxFQUFDLFdBQVcsRUFBQyxDQUFDLEVBQUMsRUFBQyxFQUFDLElBQUksRUFBQyxNQUFNLEVBQUMsS0FBSyxFQUFDLENBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxDQUFDLEVBQUMsV0FBVyxFQUFDLENBQUMsRUFBQyxFQUFDLEVBQUMsSUFBSSxFQUFDLE1BQU0sRUFBQyxLQUFLLEVBQUMsQ0FBQyxDQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLENBQUMsRUFBQyxXQUFXLEVBQUMsQ0FBQyxFQUFDLEVBQUMsRUFBQyxJQUFJLEVBQUMsTUFBTSxFQUFDLEtBQUssRUFBQyxDQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsQ0FBQyxFQUFDLFdBQVcsRUFBQyxDQUFDLEVBQUMsRUFBQyxFQUFDLElBQUksRUFBQyxNQUFNLEVBQUMsS0FBSyxFQUFDLENBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxDQUFDLEVBQUMsV0FBVyxFQUFDLENBQUMsRUFBQyxFQUFDLEVBQUMsSUFBSSxFQUFDLE1BQU0sRUFBQyxLQUFLLEVBQUMsQ0FBQyxDQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLENBQUMsRUFBQyxXQUFXLEVBQUMsQ0FBQyxFQUFDLEVBQUMsRUFBQyxJQUFJLEVBQUMsTUFBTSxFQUFDLEtBQUssRUFBQyxDQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsQ0FBQyxFQUFDLFdBQVcsRUFBQyxDQUFDLEVBQUMsRUFBQyxFQUFDLElBQUksRUFBQyxNQUFNLEVBQUMsS0FBSyxFQUFDLENBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxDQUFDLEVBQUMsV0FBVyxFQUFDLENBQUMsRUFBQyxFQUFDLEVBQUMsSUFBSSxFQUFDLE1BQU0sRUFBQyxLQUFLLEVBQUMsQ0FBQyxDQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLENBQUMsRUFBQyxXQUFXLEVBQUMsQ0FBQyxFQUFDLEVBQUMsRUFBQyxJQUFJLEVBQUMsTUFBTSxFQUFDLEtBQUssRUFBQyxDQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsQ0FBQyxFQUFDLFdBQVcsRUFBQyxDQUFDLEVBQUMsRUFBQyxFQUFDLElBQUksRUFBQyxNQUFNLEVBQUMsS0FBSyxFQUFDLENBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxDQUFDLEVBQUMsV0FBVyxFQUFDLENBQUMsRUFBQyxFQUFDLEVBQUMsSUFBSSxFQUFDLE1BQU0sRUFBQyxLQUFLLEVBQUMsQ0FBQyxDQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLENBQUMsRUFBQyxXQUFXLEVBQUMsQ0FBQyxFQUFDLEVBQUMsRUFBQyxJQUFJLEVBQUMsTUFBTSxFQUFDLEtBQUssRUFBQyxDQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsQ0FBQyxFQUFDLFdBQVcsRUFBQyxDQUFDLEVBQUMsRUFBQyxFQUFDLElBQUksRUFBQyxNQUFNLEVBQUMsS0FBSyxFQUFDLENBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxDQUFDLEVBQUMsV0FBVyxFQUFDLENBQUMsRUFBQyxFQUFDLEVBQUMsSUFBSSxFQUFDLE1BQU0sRUFBQyxLQUFLLEVBQUMsQ0FBQyxDQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLENBQUMsRUFBQyxXQUFXLEVBQUMsQ0FBQyxFQUFDLEVBQUMsRUFBQyxJQUFJLEVBQUMsTUFBTSxFQUFDLEtBQUssRUFBQyxDQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsQ0FBQyxFQUFDLFdBQVcsRUFBQyxDQUFDLEVBQUMsRUFBQyxFQUFDLElBQUksRUFBQyxNQUFNLEVBQUMsS0FBSyxFQUFDLENBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxDQUFDLEVBQUMsV0FBVyxFQUFDLENBQUMsRUFBQyxFQUFDLEVBQUMsSUFBSSxFQUFDLE1BQU0sRUFBQyxLQUFLLEVBQUMsQ0FBQyxDQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLENBQUMsRUFBQyxXQUFXLEVBQUMsQ0FBQyxFQUFDLEVBQUMsRUFBQyxJQUFJLEVBQUMsTUFBTSxFQUFDLEtBQUssRUFBQyxDQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsQ0FBQyxFQUFDLFdBQVcsRUFBQyxDQUFDLEVBQUMsRUFBQyxFQUFDLElBQUksRUFBQyxNQUFNLEVBQUMsS0FBSyxFQUFDLENBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxDQUFDLEVBQUMsV0FBVyxFQUFDLENBQUMsRUFBQyxFQUFDLEVBQUMsSUFBSSxFQUFDLE1BQU0sRUFBQyxLQUFLLEVBQUMsQ0FBQyxDQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLENBQUMsRUFBQyxXQUFXLEVBQUMsRUFBRSxFQUFDLEVBQUMsRUFBQyxJQUFJLEVBQUMsTUFBTSxFQUFDLEtBQUssRUFBQyxDQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsQ0FBQyxFQUFDLFdBQVcsRUFBQyxFQUFFLEVBQUMsRUFBQyxFQUFDLElBQUksRUFBQyxNQUFNLEVBQUMsS0FBSyxFQUFDLENBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxDQUFDLEVBQUMsV0FBVyxFQUFDLEVBQUUsRUFBQyxFQUFDLEVBQUMsSUFBSSxFQUFDLE1BQU0sRUFBQyxLQUFLLEVBQUMsQ0FBQyxDQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLENBQUMsRUFBQyxXQUFXLEVBQUMsRUFBRSxFQUFDLEVBQUMsRUFBQyxJQUFJLEVBQUMsTUFBTSxFQUFDLEtBQUssRUFBQyxDQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsQ0FBQyxFQUFDLFdBQVcsRUFBQyxFQUFFLEVBQUMsRUFBQyxFQUFDLElBQUksRUFBQyxNQUFNLEVBQUMsS0FBSyxFQUFDLENBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxDQUFDLEVBQUMsV0FBVyxFQUFDLEVBQUUsRUFBQyxFQUFDLEVBQUMsSUFBSSxFQUFDLE1BQU0sRUFBQyxLQUFLLEVBQUMsQ0FBQyxDQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLENBQUMsRUFBQyxXQUFXLEVBQUMsRUFBRSxFQUFDLEVBQUMsRUFBQyxJQUFJLEVBQUMsTUFBTSxFQUFDLEtBQUssRUFBQyxDQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsQ0FBQyxFQUFDLFdBQVcsRUFBQyxFQUFFLEVBQUMsRUFBQyxFQUFDLElBQUksRUFBQyxNQUFNLEVBQUMsS0FBSyxFQUFDLENBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxDQUFDLEVBQUMsV0FBVyxFQUFDLEVBQUUsRUFBQyxFQUFDLEVBQUMsSUFBSSxFQUFDLE1BQU0sRUFBQyxLQUFLLEVBQUMsQ0FBQyxDQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLENBQUMsRUFBQyxXQUFXLEVBQUMsRUFBRSxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsSUFBSSxFQUFDLE1BQU0sRUFBQyxLQUFLLEVBQUMsQ0FBQyxDQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLENBQUMsRUFBQyxXQUFXLEVBQUMsQ0FBQyxFQUFDLEVBQUMsRUFBQyxJQUFJLEVBQUMsTUFBTSxFQUFDLEtBQUssRUFBQyxDQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsQ0FBQyxFQUFDLFdBQVcsRUFBQyxDQUFDLEVBQUMsRUFBQyxFQUFDLElBQUksRUFBQyxNQUFNLEVBQUMsS0FBSyxFQUFDLENBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxDQUFDLEVBQUMsV0FBVyxFQUFDLENBQUMsRUFBQyxFQUFDLEVBQUMsSUFBSSxFQUFDLE1BQU0sRUFBQyxLQUFLLEVBQUMsQ0FBQyxDQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxDQUFDLEVBQUMsV0FBVyxFQUFDLENBQUMsRUFBQyxFQUFDLEVBQUMsSUFBSSxFQUFDLE1BQU0sRUFBQyxLQUFLLEVBQUMsQ0FBQyxDQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxDQUFDLEVBQUMsV0FBVyxFQUFDLENBQUMsRUFBQyxFQUFDLEVBQUMsSUFBSSxFQUFDLE1BQU0sRUFBQyxLQUFLLEVBQUMsQ0FBQyxDQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxDQUFDLEVBQUMsV0FBVyxFQUFDLENBQUMsRUFBQyxFQUFDLEVBQUMsSUFBSSxFQUFDLE1BQU0sRUFBQyxLQUFLLEVBQUMsQ0FBQyxDQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxDQUFDLEVBQUMsV0FBVyxFQUFDLEVBQUUsRUFBQyxFQUFDLEVBQUMsSUFBSSxFQUFDLE1BQU0sRUFBQyxLQUFLLEVBQUMsQ0FBQyxDQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxDQUFDLEVBQUMsV0FBVyxFQUFDLEVBQUUsRUFBQyxFQUFDLEVBQUMsSUFBSSxFQUFDLE1BQU0sRUFBQyxLQUFLLEVBQUMsQ0FBQyxDQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxDQUFDLEVBQUMsV0FBVyxFQUFDLEVBQUUsRUFBQyxFQUFDLEVBQUMsSUFBSSxFQUFDLE1BQU0sRUFBQyxLQUFLLEVBQUMsQ0FBQyxDQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLENBQUMsRUFBQyxXQUFXLEVBQUMsRUFBRSxFQUFDLEVBQUMsRUFBQyxJQUFJLEVBQUMsTUFBTSxFQUFDLEtBQUssRUFBQyxDQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsQ0FBQyxFQUFDLFdBQVcsRUFBQyxFQUFFLEVBQUMsRUFBQyxFQUFDLElBQUksRUFBQyxNQUFNLEVBQUMsS0FBSyxFQUFDLENBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxDQUFDLEVBQUMsV0FBVyxFQUFDLEVBQUUsRUFBQyxFQUFDLEVBQUMsSUFBSSxFQUFDLE1BQU0sRUFBQyxLQUFLLEVBQUMsQ0FBQyxDQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLENBQUMsRUFBQyxXQUFXLEVBQUMsRUFBRSxFQUFDLEVBQUMsRUFBQyxJQUFJLEVBQUMsTUFBTSxFQUFDLEtBQUssRUFBQyxDQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLENBQUMsRUFBQyxXQUFXLEVBQUMsRUFBRSxFQUFDLEVBQUMsRUFBQyxJQUFJLEVBQUMsTUFBTSxFQUFDLEtBQUssRUFBQyxDQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLENBQUMsRUFBQyxXQUFXLEVBQUMsRUFBRSxFQUFDLEVBQUMsRUFBQyxJQUFJLEVBQUMsTUFBTSxFQUFDLEtBQUssRUFBQyxDQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLENBQUMsRUFBQyxXQUFXLEVBQUMsRUFBRSxFQUFDLEVBQUMsRUFBQyxJQUFJLEVBQUMsTUFBTSxFQUFDLEtBQUssRUFBQyxDQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLENBQUMsRUFBQyxXQUFXLEVBQUMsRUFBRSxFQUFDLEVBQUMsRUFBQyxJQUFJLEVBQUMsTUFBTSxFQUFDLEtBQUssRUFBQyxDQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsQ0FBQyxFQUFDLFdBQVcsRUFBQyxFQUFFLEVBQUMsRUFBQyxFQUFDLElBQUksRUFBQyxNQUFNLEVBQUMsS0FBSyxFQUFDLENBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxDQUFDLEVBQUMsV0FBVyxFQUFDLEVBQUUsRUFBQyxFQUFDLEVBQUMsSUFBSSxFQUFDLE1BQU0sRUFBQyxLQUFLLEVBQUMsQ0FBQyxDQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLENBQUMsRUFBQyxXQUFXLEVBQUMsRUFBRSxFQUFDLEVBQUMsRUFBQyxJQUFJLEVBQUMsTUFBTSxFQUFDLEtBQUssRUFBQyxDQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLENBQUMsRUFBQyxXQUFXLEVBQUMsRUFBRSxFQUFDLEVBQUMsRUFBQyxJQUFJLEVBQUMsTUFBTSxFQUFDLEtBQUssRUFBQyxDQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLENBQUMsRUFBQyxXQUFXLEVBQUMsRUFBRSxFQUFDLEVBQUMsRUFBQyxJQUFJLEVBQUMsTUFBTSxFQUFDLEtBQUssRUFBQyxDQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLENBQUMsRUFBQyxXQUFXLEVBQUMsRUFBRSxFQUFDLEVBQUMsRUFBQyxJQUFJLEVBQUMsTUFBTSxFQUFDLEtBQUssRUFBQyxDQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLENBQUMsRUFBQyxXQUFXLEVBQUMsRUFBRSxFQUFDLEVBQUMsRUFBQyxJQUFJLEVBQUMsTUFBTSxFQUFDLEtBQUssRUFBQyxDQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLENBQUMsRUFBQyxXQUFXLEVBQUMsRUFBRSxFQUFDLEVBQUMsRUFBQyxJQUFJLEVBQUMsTUFBTSxFQUFDLEtBQUssRUFBQyxDQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLENBQUMsRUFBQyxXQUFXLEVBQUMsRUFBRSxFQUFDLEVBQUMsRUFBQyxJQUFJLEVBQUMsTUFBTSxFQUFDLEtBQUssRUFBQyxDQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLENBQUMsRUFBQyxXQUFXLEVBQUMsRUFBRSxFQUFDLEVBQUMsRUFBQyxJQUFJLEVBQUMsTUFBTSxFQUFDLEtBQUssRUFBQyxDQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLENBQUMsRUFBQyxXQUFXLEVBQUMsRUFBRSxFQUFDLEVBQUMsRUFBQyxJQUFJLEVBQUMsTUFBTSxFQUFDLEtBQUssRUFBQyxDQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLENBQUMsRUFBQyxXQUFXLEVBQUMsRUFBRSxFQUFDLEVBQUMsRUFBQyxJQUFJLEVBQUMsTUFBTSxFQUFDLEtBQUssRUFBQyxDQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLENBQUMsRUFBQyxXQUFXLEVBQUMsRUFBRSxFQUFDLEVBQUMsRUFBQyxJQUFJLEVBQUMsTUFBTSxFQUFDLEtBQUssRUFBQyxDQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLENBQUMsRUFBQyxXQUFXLEVBQUMsRUFBRSxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsSUFBSSxFQUFDLE1BQU0sRUFBQyxLQUFLLEVBQUMsQ0FBQyxDQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsQ0FBQyxFQUFDLFdBQVcsRUFBQyxDQUFDLEVBQUMsRUFBQyxFQUFDLElBQUksRUFBQyxNQUFNLEVBQUMsS0FBSyxFQUFDLENBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLENBQUMsRUFBQyxXQUFXLEVBQUMsQ0FBQyxFQUFDLEVBQUMsRUFBQyxJQUFJLEVBQUMsTUFBTSxFQUFDLEtBQUssRUFBQyxDQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxDQUFDLEVBQUMsV0FBVyxFQUFDLEVBQUUsRUFBQyxFQUFDLEVBQUMsSUFBSSxFQUFDLE1BQU0sRUFBQyxLQUFLLEVBQUMsQ0FBQyxDQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsQ0FBQyxFQUFDLFdBQVcsRUFBQyxFQUFFLEVBQUMsRUFBQyxFQUFDLElBQUksRUFBQyxNQUFNLEVBQUMsS0FBSyxFQUFDLENBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLENBQUMsRUFBQyxXQUFXLEVBQUMsRUFBRSxFQUFDLEVBQUMsRUFBQyxJQUFJLEVBQUMsTUFBTSxFQUFDLEtBQUssRUFBQyxDQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxDQUFDLEVBQUMsV0FBVyxFQUFDLEVBQUUsRUFBQyxFQUFDLEVBQUMsSUFBSSxFQUFDLE1BQU0sRUFBQyxLQUFLLEVBQUMsQ0FBQyxDQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsQ0FBQyxFQUFDLFdBQVcsRUFBQyxFQUFFLEVBQUMsRUFBQyxFQUFDLElBQUksRUFBQyxNQUFNLEVBQUMsS0FBSyxFQUFDLENBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLENBQUMsRUFBQyxXQUFXLEVBQUMsRUFBRSxFQUFDLEVBQUMsRUFBQyxJQUFJLEVBQUMsTUFBTSxFQUFDLEtBQUssRUFBQyxDQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxDQUFDLEVBQUMsV0FBVyxFQUFDLEVBQUUsRUFBQyxFQUFDLEVBQUMsSUFBSSxFQUFDLE1BQU0sRUFBQyxLQUFLLEVBQUMsQ0FBQyxDQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsQ0FBQyxFQUFDLFdBQVcsRUFBQyxFQUFFLEVBQUMsRUFBQyxFQUFDLElBQUksRUFBQyxNQUFNLEVBQUMsS0FBSyxFQUFDLENBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLENBQUMsRUFBQyxXQUFXLEVBQUMsRUFBRSxFQUFDLEVBQUMsRUFBQyxJQUFJLEVBQUMsTUFBTSxFQUFDLEtBQUssRUFBQyxDQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxDQUFDLEVBQUMsV0FBVyxFQUFDLEVBQUUsRUFBQyxFQUFDLEVBQUMsSUFBSSxFQUFDLE1BQU0sRUFBQyxLQUFLLEVBQUMsQ0FBQyxDQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsQ0FBQyxFQUFDLFdBQVcsRUFBQyxFQUFFLEVBQUMsRUFBQyxFQUFDLElBQUksRUFBQyxNQUFNLEVBQUMsS0FBSyxFQUFDLENBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLENBQUMsRUFBQyxXQUFXLEVBQUMsRUFBRSxFQUFDLEVBQUMsRUFBQyxJQUFJLEVBQUMsTUFBTSxFQUFDLEtBQUssRUFBQyxDQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxDQUFDLEVBQUMsV0FBVyxFQUFDLEVBQUUsRUFBQyxFQUFDLEVBQUMsSUFBSSxFQUFDLE1BQU0sRUFBQyxLQUFLLEVBQUMsQ0FBQyxDQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsQ0FBQyxFQUFDLFdBQVcsRUFBQyxFQUFFLEVBQUMsRUFBQyxFQUFDLElBQUksRUFBQyxNQUFNLEVBQUMsS0FBSyxFQUFDLENBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLENBQUMsRUFBQyxXQUFXLEVBQUMsRUFBRSxFQUFDLEVBQUMsRUFBQyxJQUFJLEVBQUMsTUFBTSxFQUFDLEtBQUssRUFBQyxDQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxDQUFDLEVBQUMsV0FBVyxFQUFDLEVBQUUsRUFBQyxFQUFDLEVBQUMsSUFBSSxFQUFDLE1BQU0sRUFBQyxLQUFLLEVBQUMsQ0FBQyxDQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsQ0FBQyxFQUFDLFdBQVcsRUFBQyxFQUFFLEVBQUMsRUFBQyxFQUFDLElBQUksRUFBQyxNQUFNLEVBQUMsS0FBSyxFQUFDLENBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLENBQUMsRUFBQyxXQUFXLEVBQUMsRUFBRSxFQUFDLEVBQUMsRUFBQyxJQUFJLEVBQUMsTUFBTSxFQUFDLEtBQUssRUFBQyxDQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxDQUFDLEVBQUMsV0FBVyxFQUFDLEVBQUUsRUFBQyxFQUFDLEVBQUMsSUFBSSxFQUFDLE1BQU0sRUFBQyxLQUFLLEVBQUMsQ0FBQyxDQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsQ0FBQyxFQUFDLFdBQVcsRUFBQyxFQUFFLEVBQUMsRUFBQyxFQUFDLElBQUksRUFBQyxNQUFNLEVBQUMsS0FBSyxFQUFDLENBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLENBQUMsRUFBQyxXQUFXLEVBQUMsRUFBRSxFQUFDLEVBQUMsRUFBQyxJQUFJLEVBQUMsTUFBTSxFQUFDLEtBQUssRUFBQyxDQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxDQUFDLEVBQUMsV0FBVyxFQUFDLEVBQUUsRUFBQyxFQUFDLEVBQUMsSUFBSSxFQUFDLE1BQU0sRUFBQyxLQUFLLEVBQUMsQ0FBQyxDQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsQ0FBQyxFQUFDLFdBQVcsRUFBQyxFQUFFLEVBQUMsRUFBQyxFQUFDLElBQUksRUFBQyxNQUFNLEVBQUMsS0FBSyxFQUFDLENBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLENBQUMsRUFBQyxXQUFXLEVBQUMsRUFBRSxFQUFDLEVBQUMsRUFBQyxJQUFJLEVBQUMsTUFBTSxFQUFDLEtBQUssRUFBQyxDQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxDQUFDLEVBQUMsV0FBVyxFQUFDLEVBQUUsRUFBQyxFQUFDLEVBQUMsSUFBSSxFQUFDLE1BQU0sRUFBQyxLQUFLLEVBQUMsQ0FBQyxDQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsQ0FBQyxFQUFDLFdBQVcsRUFBQyxFQUFFLEVBQUMsRUFBQyxFQUFDLElBQUksRUFBQyxNQUFNLEVBQUMsS0FBSyxFQUFDLENBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLENBQUMsRUFBQyxXQUFXLEVBQUMsRUFBRSxFQUFDLEVBQUMsRUFBQyxJQUFJLEVBQUMsTUFBTSxFQUFDLEtBQUssRUFBQyxDQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxDQUFDLEVBQUMsV0FBVyxFQUFDLEVBQUUsRUFBQyxFQUFDLEVBQUMsSUFBSSxFQUFDLE1BQU0sRUFBQyxLQUFLLEVBQUMsQ0FBQyxDQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsQ0FBQyxFQUFDLFdBQVcsRUFBQyxFQUFFLEVBQUMsRUFBQyxFQUFDLElBQUksRUFBQyxNQUFNLEVBQUMsS0FBSyxFQUFDLENBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLENBQUMsRUFBQyxXQUFXLEVBQUMsRUFBRSxFQUFDLEVBQUMsRUFBQyxJQUFJLEVBQUMsTUFBTSxFQUFDLEtBQUssRUFBQyxDQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxDQUFDLEVBQUMsV0FBVyxFQUFDLEVBQUUsRUFBQyxFQUFDLEVBQUMsSUFBSSxFQUFDLE1BQU0sRUFBQyxLQUFLLEVBQUMsQ0FBQyxDQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsQ0FBQyxFQUFDLFdBQVcsRUFBQyxFQUFFLEVBQUMsRUFBQyxFQUFDLElBQUksRUFBQyxNQUFNLEVBQUMsS0FBSyxFQUFDLENBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLENBQUMsRUFBQyxXQUFXLEVBQUMsRUFBRSxFQUFDLEVBQUMsRUFBQyxJQUFJLEVBQUMsTUFBTSxFQUFDLEtBQUssRUFBQyxDQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxDQUFDLEVBQUMsV0FBVyxFQUFDLEVBQUUsRUFBQyxFQUFDLEVBQUMsSUFBSSxFQUFDLE1BQU0sRUFBQyxLQUFLLEVBQUMsQ0FBQyxDQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsQ0FBQyxFQUFDLFdBQVcsRUFBQyxFQUFFLEVBQUMsRUFBQyxFQUFDLElBQUksRUFBQyxNQUFNLEVBQUMsS0FBSyxFQUFDLENBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLENBQUMsRUFBQyxXQUFXLEVBQUMsRUFBRSxFQUFDLEVBQUMsRUFBQyxJQUFJLEVBQUMsTUFBTSxFQUFDLEtBQUssRUFBQyxDQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxDQUFDLEVBQUMsV0FBVyxFQUFDLEVBQUUsRUFBQyxFQUFDLEVBQUMsSUFBSSxFQUFDLE1BQU0sRUFBQyxLQUFLLEVBQUMsQ0FBQyxDQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsQ0FBQyxFQUFDLFdBQVcsRUFBQyxFQUFFLEVBQUMsRUFBQyxFQUFDLElBQUksRUFBQyxNQUFNLEVBQUMsS0FBSyxFQUFDLENBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLENBQUMsRUFBQyxXQUFXLEVBQUMsRUFBRSxFQUFDLEVBQUMsRUFBQyxJQUFJLEVBQUMsTUFBTSxFQUFDLEtBQUssRUFBQyxDQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxDQUFDLEVBQUMsV0FBVyxFQUFDLEVBQUUsRUFBQyxFQUFDLEVBQUMsSUFBSSxFQUFDLE1BQU0sRUFBQyxLQUFLLEVBQUMsQ0FBQyxDQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsQ0FBQyxFQUFDLFdBQVcsRUFBQyxFQUFFLEVBQUMsRUFBQyxFQUFDLElBQUksRUFBQyxNQUFNLEVBQUMsS0FBSyxFQUFDLENBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLENBQUMsRUFBQyxXQUFXLEVBQUMsRUFBRSxFQUFDLEVBQUMsRUFBQyxJQUFJLEVBQUMsTUFBTSxFQUFDLEtBQUssRUFBQyxDQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxDQUFDLEVBQUMsV0FBVyxFQUFDLEVBQUUsRUFBQyxFQUFDLEVBQUMsSUFBSSxFQUFDLE1BQU0sRUFBQyxLQUFLLEVBQUMsQ0FBQyxDQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsQ0FBQyxFQUFDLFdBQVcsRUFBQyxFQUFFLEVBQUMsRUFBQyxFQUFDLElBQUksRUFBQyxNQUFNLEVBQUMsS0FBSyxFQUFDLENBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLENBQUMsRUFBQyxXQUFXLEVBQUMsRUFBRSxFQUFDLEVBQUMsRUFBQyxJQUFJLEVBQUMsTUFBTSxFQUFDLEtBQUssRUFBQyxDQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxDQUFDLEVBQUMsV0FBVyxFQUFDLEVBQUUsRUFBQyxDQUFDLENBQUMsQ0FBQTtRQUcxdHVCLElBQUksQ0FBQyxVQUFVLENBQUMsT0FBTyxDQUFDLENBQUMsRUFBQyxJQUFJLEVBQUMsTUFBTSxFQUFDLEtBQUssRUFBQyxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsRUFBRSxDQUFDLEVBQUUsQ0FBQyxFQUFFLENBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsRUFBRSxDQUFDLEVBQUUsQ0FBQyxFQUFFLENBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsRUFBRSxDQUFDLEVBQUUsQ0FBQyxFQUFFLENBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsRUFBRSxDQUFDLEVBQUUsQ0FBQyxFQUFFLENBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsRUFBRSxDQUFDLEVBQUUsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLEVBQUMsV0FBVyxFQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsQ0FBQztJQUtuSixDQUFDO0lBR00seUJBQWMsR0FBckI7UUFDSSxFQUFFLENBQUMsRUFBRSxDQUFDLFFBQVEsQ0FBQyxjQUFjLEVBQUUsQ0FBQztJQUNwQyxDQUFDOztJQXRTRCwwQkFBMEI7SUFDWCxvQkFBUyxHQUFnQixJQUFJLENBQUM7SUFGcEMsVUFBVTtRQUR0QixPQUFPLENBQUMsWUFBWSxDQUFDO09BQ1QsVUFBVSxDQXdTdEI7SUFBRCxpQkFBQztDQXhTRCxBQXdTQyxJQUFBO0FBeFNZLGdDQUFVIiwiZmlsZSI6IiIsInNvdXJjZVJvb3QiOiIvIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgV2VDaGF0IH0gZnJvbSBcIi4uL1NoYXJlL3NoYXJlXCI7XHJcbmltcG9ydCB7IEdhbWVUb29sIH0gZnJvbSBcIi4uL1Rvb2wvR2FtZVRvb2xcIjtcclxuXHJcblxyXG5jb25zdCB7IGNjY2xhc3MsIHByb3BlcnR5IH0gPSBjYy5fZGVjb3JhdG9yO1xyXG5AY2NjbGFzcygnR2FtZUNvbmZpZycpXHJcbmV4cG9ydCBjbGFzcyBHYW1lQ29uZmlnICB7XHJcbiAgICAvL+aJgOacieaOp+WItuS/oeaBr+mDvemAmui/h0dhbWVBcHBTdGFydOWGheaOp+WItlxyXG4gICAgcHJpdmF0ZSBzdGF0aWMgX2luc3RhbmNlIDogR2FtZUNvbmZpZyA9IG51bGw7XHJcblxyXG4gICAgc3RhdGljIEdBTUVfREFUQTogYW55W107XHJcbiAgICAvL+WFs+WNoeaVsOaNrlxyXG5cclxuXHJcbiAgICBzdGF0aWMgTEVWRUxfSU5GTzogeyBpZDogc3RyaW5nOyBtYXA6IG51bWJlcltdW107IG1pbl9zdGVwczogbnVtYmVyfVtdW107XHJcbiAgICBzdGF0aWMgQ1VTVE9NX0lORk86IHtcclxuICAgICAgICBtb3ZlU3BlZWQ6IG51bWJlcjsgLy/mtKrls7Dnp7vliqjpgJ/luqZcclxuICAgICAgICB3YWl0VGltZTogbnVtYmVyOyAvL+a0quWzsOWGsuWHu+WAkuiuoeaXtlxyXG4gICAgICAgIGZhc3RQYXRoOiBudW1iZXI7IC8v5pyA55+t6Lev5b6EXHJcbiAgICB9W107XHJcbiAgICBzdGF0aWMgVElNRV9JTkZPOiB7XHJcbiAgICAgICAgd2F0ZXJTcGVlZDogbnVtYmVyW107IC8v5rSq5bOw6YCf5bqmXHJcbiAgICAgICAgdG90YWxUaW1lOiBudW1iZXI7IC8v5ri45oiP5oC75pe26ZW/XHJcbiAgICAgICAgd2F0ZXJUaW1lOiBudW1iZXJbXTsgLy/mtKrls7DmnaXnmoTlgJLorqHml7ZcclxuICAgICAgICByb2FkU3BlZWQ6IG51bWJlcjsgLy/msrPpgZPkv67nrZHpgJ/luqZcclxuICAgICAgICBSZWluZm9yY2VTcGVlZDogbnVtYmVyOyAvL+WKoOWbuuaXtumXtOmAn+W6plxyXG4gICAgICAgIFhpX1NvaWxTcGVlZDogbnVtYmVyO1xyXG4gICAgfTtcclxuICAgIC8v55So5LqO55ub5pS+5Z+L54K55pWw5o2u5LiK5Lyg77yM5q+P5qyh5LiK5Lyg5ZCO5riF56m6XHJcbiAgICBzdGF0aWMgQ0xJQ0tfREFUQToge1xyXG4gICAgICAgIHR5cGU6IG51bWJlcjsgLy/kuIrkvKDmlbDmja7nsbvlnotcclxuICAgICAgICBzdWNjZXNzOiBib29sZWFuOyAvL+atpOWxgOa4uOaIj+ato+ehruS4juWQplxyXG4gICAgICAgIHJvdW5kOiBudW1iZXI7IC8v5Zue5ZCI5pWw6L2u5qyhXHJcbiAgICAgICAgZ2V0U2NvcmU6IG51bWJlcjsgLy/mnKzova7lvpfliIbvvIzlpLHotKXkuLow5YiGXHJcbiAgICAgICAgY3VtdWxhdGl2ZVNjb3JlOiBudW1iZXI7IC8v5pys5Ymn5ri45oiP5oC76K6h5b6X5YiGXHJcbiAgICAgICAgbWFwSWQ6IHN0cmluZzsgLy/lnLDlm75JRFxyXG4gICAgICAgIGRpZmZpY3VsdHk6IG51bWJlcjsgLy/lnLDlm77pmr7luqZcclxuICAgICAgICBvcHRpbWl6ZWRTdGVwczogbnVtYmVyOyAvL+WFs+WNoeacgOefreatpeaVsFxyXG4gICAgICAgIHVzZWRTdGVwczogbnVtYmVyOyAvL+eOqeWutuS/ruW7uuaAu+atpeaVsFxyXG4gICAgICAgIHN0ZXBMaXN0OiBhbnlbXTsgLy9V44CBROOAgUzjgIFSICAgWCDmga/lo6QgICBGIOWKoOWbulxyXG4gICAgICAgIHN0YXJ0VGltZTogbnVtYmVyOyAvL+S7jua4uOaIj+W8gOWni+WIsOeOqeWutuaTjeS9nOeahOesrOS4gOatpeaIquatouaXtumXtCAg5Y2V5L2N5q+r56eSXHJcbiAgICAgICAgc3VibWl0VGltZTogbnVtYmVyOyAvL+S7juesrOS4gOatpeaTjeS9nOWIsOaPkOS6pOaXtumXtO+8jOWmguaenOacquaPkOS6pOS4ui0xIOWNleS9jeavq+enklxyXG4gICAgICAgIGR1cmF0aW9uOiBudW1iZXI7IC8v5ri45oiP5oC755So5pe277yI5oiq5q2i5Yiw5o+Q5Lqk77yJIOWNleS9jeavq+enklxyXG4gICAgICAgIGRyYXdpbmdCYWNrOiBudW1iZXI7IC8v5ZCO6YCA5qyh5pWwXHJcbiAgICAgICAgZHJhd2luZ1Jlc2V0OiBudW1iZXI7IC8v5riF56m65qyh5pWwXHJcbiAgICAgICAgdGltZXI6IG51bWJlcjsgIC8v5ri45oiP5YCS6K6h5pe25Ymp5L2Z5pe26ZW/IOenklxyXG4gICAgfTtcclxuICAgIHN0YXRpYyBHTV9JTkZPOiB7XHJcbiAgICAgICAgLy8gaXNFbmQ6IGZhbHNlLFxyXG4gICAgICAgIG1lYW5fVGltZTogbnVtYmVyOyAvL+W5s+Wdh+aUvueuremAn+W6plxyXG4gICAgICAgIHRvdGFsOiBudW1iZXI7IC8v5oC75YWx5a+555qE5Liq5pWwXHJcbiAgICAgICAgY3VyclNlZWQ6IG51bWJlcjsgLy/nlKjkuo7pmo/mnLrmlbDnp43lrZBcclxuICAgICAgICBnYW1lSWQ6IHN0cmluZzsgLy/muLjmiI9JRFxyXG4gICAgICAgIHVzZXJJZDogbnVtYmVyOyAvL+eUqOaIt0lEXHJcbiAgICAgICAgZ3VpZGU6IGJvb2xlYW47IC8v5piv5ZCm5pyJ5byV5a+8XHJcbiAgICAgICAgdXJsOiBzdHJpbmc7IC8v6K6/6Zeu5Z+f5ZCNXHJcbiAgICAgICAgc3VjY2VzczogYm9vbGVhbjsgLy/nlKjmiLfmuLjmiI/miJDlip/kuI7lkKZcclxuICAgICAgICBtYXRjaElkOiBhbnk7IC8v55So5LqO5Z+L54K55LiK5Lyg55qESURcclxuICAgICAgICBjdXN0b206IG51bWJlcjsgLy/nlKjkuo7mtYvor5Xot7PlhbPljaFcclxuICAgICAgICByb3VuZDogbnVtYmVyOyAvL+WbnuWQiOaVsFxyXG4gICAgICAgIGxldmVsOiBudW1iZXI7IC8v5YW35L2T5ri45oiP5YaF6L+b6KGM5Yiw56ys5Yeg5q2lIFxyXG4gICAgICAgIHN0ZXBUaW1lTGlzdDogbnVtYmVyOyAvL+aVtOWxgOa4uOaIj+eUqOaXtu+8jOeUseS6jua2ieWPiuWcuuaZr+WIh+aNou+8jOaVsOaNrumcgOimgeS/neeVmVxyXG4gICAgICAgIHN1Y2Nlc3NMaXN0OiBhbnlbXTsgLy/mlbTlsYDog5zotJ9cclxuICAgICAgICBmZW46IG51bWJlcjsgLy/lsI/lsYDlvpfliIZcclxuICAgICAgICBzY29yZTogbnVtYmVyOyAvL+aAu+W+l+WIhlxyXG4gICAgICAgIGlnbml0ZUNvdW50OiBudW1iZXI7IC8v546p5a625oC76K6h5oiQ5Yqf54K554Gr5pWwXHJcbiAgICAgICAgbWluX1N0ZXBzOiBudW1iZXI7IC8v5q+P5qyh5LiK5LiA5oqK5pyA5bCP5q2l5pWwXHJcbiAgICAgICAgbWluX1RpbWU6IG51bWJlcjsgLy/mr4/kuIDmiorkuIrmrKHot53nprvmtKrls7DliLDmnaXml7bpl7RcclxuICAgIH07XHJcblxyXG5cclxuXHJcblxyXG4gICAgLy/muLjmiI/lhoXkv6Hmga9cclxuXHJcblxyXG5cclxuICAgIHN0YXRpYyBnZXQgSW5zdGFuY2UoKVxyXG4gICAge1xyXG4gICAgICAgIGlmICh0aGlzLl9pbnN0YW5jZSA9PSBudWxsKVxyXG4gICAgICAgIHtcclxuICAgICAgICAgICAgdGhpcy5faW5zdGFuY2UgPSBuZXcgR2FtZUNvbmZpZygpO1xyXG4gICAgICAgIH1cclxuICAgICAgICByZXR1cm4gdGhpcy5faW5zdGFuY2U7XHJcbiAgICB9XHJcbiAgICAvL2dldFNlZWRSYW5kb21cclxuICAgIHN0YXRpYyBpbml0KEF1dGhlbnRpY2F0aW9uKXtcclxuICAgICAgICB0aGlzLkNMSUNLX2luaXQoKTtcclxuICAgICAgICB0aGlzLkxFVkVMX0lORk9faW5pdCgpO1xyXG4gICAgICAgIHRoaXMuR01fSU5GT19pbml0KCk7XHJcbiAgICAgICAgdmFyIHNlbGYgPSB0aGlzO1xyXG4gICAgICAgIC8vIGNjLnJlc291cmNlcy5sb2FkKCdKc29uL0NMSUNLX0RBVEEnLCAoZXJyOiBhbnksIHJlczogY2MuSnNvbkFzc2V0KSA9PiB7XHJcbiAgICAgICAgLy8gICAgIGlmIChlcnIpIHtcclxuICAgICAgICAvLyAgICAgICAgIHJldHVybjtcclxuICAgICAgICAvLyAgICAgfVxyXG4gICAgICAgIC8vICAgICBsZXQganNvbkRhdGE6IG9iamVjdCA9IHJlcy5qc29uITtcclxuICAgICAgICAvLyAgICAgc2VsZi5DTElDS19EQVRBID0ganNvbkRhdGFbXCJkYXRhXCJdO1xyXG4gICAgICAgIC8vIH0pXHJcbiAgICAgICAgLy8gY2MucmVzb3VyY2VzLmxvYWQoJ0pzb24vTEVWRUxfSU5GTycsIChlcnI6IGFueSwgcmVzOiBjYy5Kc29uQXNzZXQpID0+IHtcclxuICAgICAgICAvLyAgICAgaWYgKGVycikge1xyXG4gICAgICAgIC8vICAgICAgICAgcmV0dXJuO1xyXG4gICAgICAgIC8vICAgICB9XHJcbiAgICAgICAgICAgIFxyXG4gICAgICAgIC8vICAgICBsZXQganNvbkRhdGE6IG9iamVjdCA9IHJlcy5qc29uITtcclxuICAgICAgICAvLyAgICAgc2VsZi5MRVZFTF9JTkZPID0ganNvbkRhdGFbXCJkYXRhXCJdO1xyXG4gICAgICAgIC8vIH0pXHJcbiAgICAgICAgLy8gY2MucmVzb3VyY2VzLmxvYWQoJ0pzb24vR01fSU5GTycsIChlcnI6IGFueSwgcmVzOiBjYy5Kc29uQXNzZXQpID0+IHtcclxuICAgICAgICAvLyAgICAgaWYgKGVycikge1xyXG4gICAgICAgIC8vICAgICAgICAgaWYoIUF1dGhlbnRpY2F0aW9uKSBzZWxmLkF1dGhlbnRpY2F0aW9uKCk7XHJcbiAgICAgICAgLy8gICAgICAgICByZXR1cm47XHJcbiAgICAgICAgLy8gICAgIH1cclxuICAgICAgICAgICBcclxuICAgICAgICAvLyAgICAgbGV0IGpzb25EYXRhOiBvYmplY3QgPSByZXMuanNvbiE7XHJcbiAgICAgICAgLy8gICAgIHNlbGYuR01fSU5GTyA9IGpzb25EYXRhW1wiZGF0YVwiXTtcclxuICAgICAgICAvLyAgICAgY2MuZnguR2FtZVRvb2wuZ2V0Q3VzdG9tKGZhbHNlKTtcclxuICAgICAgICAvLyAgICAgaWYoIUF1dGhlbnRpY2F0aW9uKSBzZWxmLkF1dGhlbnRpY2F0aW9uKCk7XHJcbiAgICAgICAgLy8gfSlcclxuXHJcbiAgICAgICAgLy9HQU1FX0RBVEEg5bqf5byD5LqG77yM5pqC5pe25LiN5Yig6Zmk5Lul6Ziy5ZCO6Z2i5L+u5pS55ZueIOS4gOaVtOWxgOS8oOS4gOasoVxyXG4gICAgICAgIHRoaXMuR0FNRV9EQVRBID0gW1xyXG4gICAgICAgIF1cclxuICAgICAgICB0aGlzLkNVU1RPTV9JTkZPID0gW1xyXG4gICAgICAgICAgICAvL+esrOS4gOmavuW6plxyXG4gICAgICAgICAgICB7XHJcbiAgICAgICAgICAgICAgICBtb3ZlU3BlZWQ6IDAsICAgIC8v5rSq5bOw56e75Yqo6YCf5bqmXHJcbiAgICAgICAgICAgICAgICB3YWl0VGltZTogMjAsICAgLy/mtKrls7DlhrLlh7vlgJLorqHml7ZcclxuICAgICAgICAgICAgICAgIGZhc3RQYXRoOiA1ICAgLy/mnIDnn63ot6/lvoRcclxuICAgICAgICAgICAgfSxcclxuICAgICAgICAgICAgLy/nrKzkuozpmr7luqZcclxuICAgICAgICAgICAge1xyXG4gICAgICAgICAgICAgICAgbW92ZVNwZWVkOiAwLCAgICAvL+a0quWzsOenu+WKqOmAn+W6plxyXG4gICAgICAgICAgICAgICAgd2FpdFRpbWU6IDIwLCAgIC8v5rSq5bOw5Yay5Ye75YCS6K6h5pe2XHJcbiAgICAgICAgICAgICAgICBmYXN0UGF0aDogNSAgIC8v5pyA55+t6Lev5b6EXHJcbiAgICAgICAgICAgIH0sXHJcbiAgICAgICAgICAgIC8v56ys5LiJ6Zq+5bqmXHJcbiAgICAgICAgICAgIHtcclxuICAgICAgICAgICAgICAgIG1vdmVTcGVlZDogMCwgICAgLy/mtKrls7Dnp7vliqjpgJ/luqZcclxuICAgICAgICAgICAgICAgIHdhaXRUaW1lOiAyMCwgICAvL+a0quWzsOWGsuWHu+WAkuiuoeaXtlxyXG4gICAgICAgICAgICAgICAgZmFzdFBhdGg6IDUgICAvL+acgOefrei3r+W+hFxyXG4gICAgICAgICAgICB9LFxyXG4gICAgICAgICAgICAvL+esrOWbm+mavuW6plxyXG4gICAgICAgICAgICB7XHJcbiAgICAgICAgICAgICAgICBtb3ZlU3BlZWQ6IDAsICAgIC8v5rSq5bOw56e75Yqo6YCf5bqmXHJcbiAgICAgICAgICAgICAgICB3YWl0VGltZTogMjAsICAgLy/mtKrls7DlhrLlh7vlgJLorqHml7ZcclxuICAgICAgICAgICAgICAgIGZhc3RQYXRoOiA1ICAgLy/mnIDnn63ot6/lvoRcclxuICAgICAgICAgICAgfSxcclxuICAgICAgICAgICAgLy/nrKzkupTpmr7luqZcclxuICAgICAgICAgICAge1xyXG4gICAgICAgICAgICAgICAgbW92ZVNwZWVkOiAwLCAgICAvL+a0quWzsOenu+WKqOmAn+W6plxyXG4gICAgICAgICAgICAgICAgd2FpdFRpbWU6IDIwLCAgIC8v5rSq5bOw5Yay5Ye75YCS6K6h5pe2XHJcbiAgICAgICAgICAgICAgICBmYXN0UGF0aDogNSAgIC8v5pyA55+t6Lev5b6EXHJcbiAgICAgICAgICAgIH0sXHJcbiAgICAgICAgICAgICAvL+esrOWFremavuW6plxyXG4gICAgICAgICAgICB7XHJcbiAgICAgICAgICAgICAgICBtb3ZlU3BlZWQ6IDAsICAgIC8v5rSq5bOw56e75Yqo6YCf5bqmXHJcbiAgICAgICAgICAgICAgICB3YWl0VGltZTogMjAsICAgLy/mtKrls7DlhrLlh7vlgJLorqHml7ZcclxuICAgICAgICAgICAgICAgIGZhc3RQYXRoOiA1ICAgLy/mnIDnn63ot6/lvoRcclxuICAgICAgICAgICAgfSxcclxuICAgICAgICAgICAgLy/nrKzkuIPpmr7luqYgICAgICAgICAgXHJcbiAgICAgICAgICAgIHtcclxuICAgICAgICAgICAgICAgIG1vdmVTcGVlZDogMCwgICAgLy/mtKrls7Dnp7vliqjpgJ/luqZcclxuICAgICAgICAgICAgICAgIHdhaXRUaW1lOiAyMCwgICAvL+a0quWzsOWGsuWHu+WAkuiuoeaXtlxyXG4gICAgICAgICAgICAgICAgZmFzdFBhdGg6IDUgICAvL+acgOefrei3r+W+hFxyXG4gICAgICAgICAgICB9LFxyXG4gICAgICAgICAgICAvL+esrOWFq+mavuW6plxyXG4gICAgICAgICAgICB7XHJcbiAgICAgICAgICAgICAgICBtb3ZlU3BlZWQ6IDAsICAgIC8v5rSq5bOw56e75Yqo6YCf5bqmXHJcbiAgICAgICAgICAgICAgICB3YWl0VGltZTogMjAsICAgLy/mtKrls7DlhrLlh7vlgJLorqHml7ZcclxuICAgICAgICAgICAgICAgIGZhc3RQYXRoOiA1ICAgLy/mnIDnn63ot6/lvoRcclxuICAgICAgICAgICAgfSxcclxuICAgICAgICAgICAgLy/nrKzkuZ3pmr7luqZcclxuICAgICAgICAgICAge1xyXG4gICAgICAgICAgICAgICAgbW92ZVNwZWVkOiAwLCAgICAvL+a0quWzsOenu+WKqOmAn+W6plxyXG4gICAgICAgICAgICAgICAgd2FpdFRpbWU6IDIwLCAgIC8v5rSq5bOw5Yay5Ye75YCS6K6h5pe2XHJcbiAgICAgICAgICAgICAgICBmYXN0UGF0aDogNSAgIC8v5pyA55+t6Lev5b6EXHJcbiAgICAgICAgICAgIH0sXHJcbiAgICAgICAgICAgIC8v56ys5Y2B6Zq+5bqmXHJcbiAgICAgICAgICAgIHtcclxuICAgICAgICAgICAgICAgIG1vdmVTcGVlZDogMCwgICAgLy/mtKrls7Dnp7vliqjpgJ/luqZcclxuICAgICAgICAgICAgICAgIHdhaXRUaW1lOiAyMCwgICAvL+a0quWzsOWGsuWHu+WAkuiuoeaXtlxyXG4gICAgICAgICAgICAgICAgZmFzdFBhdGg6IDUgICAvL+acgOefrei3r+W+hFxyXG4gICAgICAgICAgICB9ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFxyXG4gICAgICAgIF1cclxuICAgICAgICBXZUNoYXQuc2V0U2hhcmUobG9jYXRpb24uaHJlZik7XHJcbiAgICAgICAgaWYoIUF1dGhlbnRpY2F0aW9uKSBzZWxmLkF1dGhlbnRpY2F0aW9uKCk7XHJcbiAgICB9XHJcbiAgICBcclxuICAgIC8v5pWw5o2u5aSH55SoXHJcbiAgICBzdGF0aWMgR01fSU5GT19pbml0KCkge1xyXG4gICAgICAgIHRoaXMuR01fSU5GTyA9IHtcclxuICAgICAgICAgICAgLy8gaXNFbmQ6IGZhbHNlLFxyXG4gICAgICAgICAgICBtZWFuX1RpbWU6IDAsICAgICAgICAgICAgICAgIC8v5bmz5Z2H5pS+566t6YCf5bqmXHJcbiAgICAgICAgICAgIHRvdGFsOiAwLCAgICAgICAgICAgICAgICAgICAgLy/mgLvlhbHlr7nnmoTkuKrmlbBcclxuICAgICAgICAgICAgY3VyclNlZWQ6IDIwMDAwMCwgICAgICAgICAgIC8v55So5LqO6ZqP5py65pWw56eN5a2QXHJcbiAgICAgICAgICAgIGdhbWVJZDogXCIxMDAwMTJcIiwgICAgICAgICAgIC8v5ri45oiPSURcclxuICAgICAgICAgICAgdXNlcklkOiAwLCAgICAgICAgICAgICAgICAgIC8v55So5oi3SURcclxuICAgICAgICAgICAgZ3VpZGU6IGZhbHNlLCAgICAgICAgICAgICAgICAgLy/mmK/lkKbmnInlvJXlr7xcclxuICAgICAgICAgICAgdXJsOiBcImh0dHBzOi8vYXBpLnNwYXJrdXMuY25cIiwvL+iuv+mXruWfn+WQjVxyXG4gICAgICAgICAgICBzdWNjZXNzOiBmYWxzZSwgICAgICAgICAgICAgLy/nlKjmiLfmuLjmiI/miJDlip/kuI7lkKZcclxuICAgICAgICAgICAgbWF0Y2hJZDogbnVsbCwgICAgICAgICAgICAgIC8v55So5LqO5Z+L54K55LiK5Lyg55qESURcclxuICAgICAgICAgICAgY3VzdG9tOiAwLCAgICAgICAgICAgICAgICAgIC8v55So5LqO5rWL6K+V6Lez5YWz5Y2hXHJcbiAgICAgICAgICAgIHJvdW5kOjAsICAgICAgICAgICAgICAgICAgICAvL+WbnuWQiOaVsFxyXG4gICAgICAgICAgICBsZXZlbDogMCwgICAgICAgICAgICAgICAgICAgIC8v5YW35L2T5ri45oiP5YaF6L+b6KGM5Yiw56ys5Yeg5q2lIFxyXG4gICAgICAgICAgICBzdGVwVGltZUxpc3Q6MCwgICAgICAgICAgICAgLy/mlbTlsYDmuLjmiI/nlKjml7bvvIznlLHkuo7mtonlj4rlnLrmma/liIfmjaLvvIzmlbDmja7pnIDopoHkv53nlZlcclxuICAgICAgICAgICAgc3VjY2Vzc0xpc3Q6W10sICAgICAgICAgICAgICAvL+aVtOWxgOiDnOi0n1xyXG4gICAgICAgICAgICBmZW46MCwgICAgICAgICAgICAgICAgICAgICAgLy/lsI/lsYDlvpfliIZcclxuICAgICAgICAgICAgc2NvcmU6MCwgICAgICAgICAgICAgICAgICAgIC8v5oC75b6X5YiGXHJcbiAgICAgICAgICAgIGlnbml0ZUNvdW50OiAwLCAgICAgICAgICAgICAvL+eOqeWutuaAu+iuoeaIkOWKn+eCueeBq+aVsFxyXG4gICAgICAgICAgICBtaW5fU3RlcHM6MCwgICAgICAgICAgICAgICAgLy/mr4/mrKHkuIrkuIDmiormnIDlsI/mraXmlbBcclxuICAgICAgICAgICAgbWluX1RpbWU6MCAgICAgICAgICAgICAgICAgIC8v5q+P5LiA5oqK5LiK5qyh6Led56a75rSq5bOw5Yiw5p2l5pe26Ze0XHJcbiAgICAgICAgfTtcclxuXHJcbiAgICB9XHJcbiAgICBzdGF0aWMgR01fSU5GT19TRVQoa2V5LHZhbHVlKSB7XHJcbiAgICAgICAgdGhpcy5HTV9JTkZPW2tleV0gPSB2YWx1ZTtcclxuICAgIH1cclxuICAgIHN0YXRpYyBDTElDS19pbml0KCkge1xyXG4gICAgICAgIHRoaXMuQ0xJQ0tfREFUQSA9XHJcbiAgICAgICAge1xyXG4gICAgICAgICAgICB0eXBlOiAxLCAgICAgICAgICAgIC8v5LiK5Lyg5pWw5o2u57G75Z6LXHJcbiAgICAgICAgICAgIHN1Y2Nlc3M6IGZhbHNlLCAgICAgLy/mraTlsYDmuLjmiI/mraPnoa7kuI7lkKZcclxuICAgICAgICAgICAgcm91bmQ6IDAsICAgICAgICAgICAvL+WbnuWQiOaVsOi9ruasoVxyXG4gICAgICAgICAgICBnZXRTY29yZTogMCwgICAgICAgIC8v5pys6L2u5b6X5YiG77yM5aSx6LSl5Li6MOWIhlxyXG4gICAgICAgICAgICBjdW11bGF0aXZlU2NvcmU6IDAsIC8v5pys5Ymn5ri45oiP5oC76K6h5b6X5YiGXHJcbiAgICAgICAgICAgIG1hcElkOiBcIlwiLCAgICAgICAgICAvL+WcsOWbvklEXHJcbiAgICAgICAgICAgIGRpZmZpY3VsdHk6IDAsICAgICAgLy/lnLDlm77pmr7luqZcclxuICAgICAgICAgICAgb3B0aW1pemVkU3RlcHM6IDAsICAvL+WFs+WNoeacgOefreatpeaVsFxyXG4gICAgICAgICAgICB1c2VkU3RlcHM6IDAsICAgICAgIC8v546p5a625L+u5bu65oC75q2l5pWwXHJcbiAgICAgICAgICAgIHN0ZXBMaXN0OiBbXSwgICAgICAgLy9V44CBROOAgUzjgIFSICAgWCDmga/lo6QgICBGIOWKoOWbulxyXG4gICAgICAgICAgICBzdGFydFRpbWU6LTEsICAgICAgICAvL+S7jua4uOaIj+W8gOWni+WIsOeOqeWutuaTjeS9nOeahOesrOS4gOatpeaIquatouaXtumXtCAg5Y2V5L2N5q+r56eSXHJcbiAgICAgICAgICAgIHN1Ym1pdFRpbWU6LTEsICAgICAgIC8v5LuO56ys5LiA5q2l5pON5L2c5Yiw5o+Q5Lqk5pe26Ze077yM5aaC5p6c5pyq5o+Q5Lqk5Li6LTEg5Y2V5L2N5q+r56eSXHJcbiAgICAgICAgICAgIGR1cmF0aW9uOjAsICAgICAgICAgLy/muLjmiI/mgLvnlKjml7bvvIjmiKrmraLliLDmj5DkuqTvvIkg5Y2V5L2N5q+r56eSIOWmguaenOacquS7luenu+S6pOWImeS4uuaXtumXtOS4iumZkFxyXG4gICAgICAgICAgICBkcmF3aW5nQmFjazowLCAgICAgIC8v5ZCO6YCA5qyh5pWwXHJcbiAgICAgICAgICAgIGRyYXdpbmdSZXNldDowLCAgICAgLy/muIXnqbrmrKHmlbBcclxuICAgICAgICAgICAgdGltZXI6IDAsICAgICAgICAgICAvL+a1i+ivhOWAkuiuoeaXtuWJqeS9meaXtumXtCDljrvnp5JcclxuICAgICAgICB9XHJcbiAgICB9XHJcblxyXG4gICAgc3RhdGljIENMSUNLX1NFVChrZXksdmFsdWUpIHtcclxuICAgICAgICB0aGlzLkNMSUNLX0RBVEFba2V5XSA9IHZhbHVlO1xyXG4gICAgfVxyXG5cclxuICAgIHN0YXRpYyBMRVZFTF9JTkZPX2luaXQoKSB7XHJcbiAgICAgICAgdGhpcy5USU1FX0lORk8gPSB7XHJcbiAgICAgICAgICAgIHdhdGVyU3BlZWQ6WzAuMywwLjI1LDAuMiwwLjE4LDAuMTYsMC4xNCwwLjEyLDAuMV0sIC8v5rSq5bOw6YCf5bqmXHJcbiAgICAgICAgICAgIHRvdGFsVGltZTogMTIwLCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvL+a4uOaIj+aAu+aXtumVv1xyXG4gICAgICAgICAgICB3YXRlclRpbWU6WzEwLDEyLDE0LDE2LDE4LDIwLDIwLDIwXSwgICAgICAgICAgICAvL+a0quWzsOadpeeahOWAkuiuoeaXtlxyXG4gICAgICAgICAgICByb2FkU3BlZWQ6MC4yLCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvL+ays+mBk+S/ruetkemAn+W6plxyXG4gICAgICAgICAgICBSZWluZm9yY2VTcGVlZDowLjIsICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvL+WKoOWbuuaXtumXtOmAn+W6plxyXG4gICAgICAgICAgICBYaV9Tb2lsU3BlZWQ6MC4yLCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvL+aBr+WjpOaXtumXtOmAn+W6plxyXG4gICAgICAgIH1cclxuICAgICAgICAvKlxyXG4gICAgICAgIG1vdmVTcGVlZDogMCwgICAgLy/mtKrls7Dnp7vliqjpgJ/luqZcclxuICAgICAgICB3YWl0VGltZTogMjAsICAgLy/mtKrls7DlhrLlh7vlgJLorqHml7ZcclxuICAgICAgICBmYXN0UGF0aDogNSAgIC8v5pyA55+t6Lev5b6EXHJcbiAgICAgICAgKi8gXHJcbiAgICAgICAgLy8gdGhpcy5MRVZFTF9JTkZPID0gW1xyXG4gICAgICAgIC8vICAgICBbIFxyXG4gICAgICAgIC8vICAgICAgICAge1xyXG4gICAgICAgIC8vICAgICAgICAgICAgIFwiaWRcIjogMTAwMSxcclxuICAgICAgICAvLyAgICAgICAgICAgICBcIm1hcFwiOiBbXHJcbiAgICAgICAgLy8gICAgICAgICAgICAgICAgIFswLDAsMCwwLDAsMF0sXHJcbiAgICAgICAgLy8gICAgICAgICAgICAgICAgIFswLDAsMCwwLDAsNF0sXHJcbiAgICAgICAgLy8gICAgICAgICAgICAgICAgIFswLDAsMywwLDMsMF0sXHJcbiAgICAgICAgLy8gICAgICAgICAgICAgICAgIFswLDAsMCwwLDAsMF0sXHJcbiAgICAgICAgLy8gICAgICAgICAgICAgICAgIFswLDAsMCwzLDAsMF0sXHJcbiAgICAgICAgLy8gICAgICAgICAgICAgICAgIFswLDAsMCwwLDAsMF0sXHJcbiAgICAgICAgLy8gICAgICAgICAgICAgICAgIFswLDAsMiwwLDAsMF0sXHJcbiAgICAgICAgLy8gICAgICAgICAgICAgICAgIFswLDAsMCwwLDAsMF0sXHJcbiAgICAgICAgLy8gICAgICAgICAgICAgICAgIFsxLDAsMCwwLDAsMF1cclxuICAgICAgICAvLyAgICAgICAgICAgICBdXHJcbiAgICAgICAgLy8gICAgICAgICB9LFxyXG4gICAgICAgIC8vICAgICAgICAge1xyXG4gICAgICAgIC8vICAgICAgICAgICAgIFwiaWRcIjogMTAwMixcclxuICAgICAgICAvLyAgICAgICAgICAgICBcIm1hcFwiOiBbXHJcbiAgICAgICAgLy8gICAgICAgICAgICAgICAgIFswLDAsMCwwLDAsMCwwLDAsNF0sXHJcbiAgICAgICAgLy8gICAgICAgICAgICAgICAgIFswLDAsMCwwLDAsMCwwLDAsMF0sXHJcbiAgICAgICAgLy8gICAgICAgICAgICAgICAgIFswLDAsMCwwLDAsMCwwLDAsMF0sXHJcbiAgICAgICAgLy8gICAgICAgICAgICAgICAgIFswLDAsMCwwLDAsMCwwLDAsMF0sXHJcbiAgICAgICAgLy8gICAgICAgICAgICAgICAgIFswLDAsMCwwLDAsMCwwLDAsMF0sXHJcbiAgICAgICAgLy8gICAgICAgICAgICAgICAgIFswLDEsMCwwLDAsMCwwLDAsMF1cclxuICAgICAgICAvLyAgICAgICAgICAgICBdXHJcbiAgICAgICAgLy8gICAgICAgICB9XHJcbiAgICAgICAgLy8gICAgIF0sXHJcblxyXG4gICAgICBcclxuICAgICAgICAvLyBdXHJcblxyXG4gICAgICAgIHRoaXMuTEVWRUxfSU5GTyA9IFtbe1wiaWRcIjpcIjEwMDFcIixcIm1hcFwiOltbMCw0LDAsMF0sWzAsMCwwLDBdLFswLDAsMCwwXSxbMCwwLDEsMF1dLFwibWluX3N0ZXBzXCI6M30se1wiaWRcIjpcIjEwMDJcIixcIm1hcFwiOltbMSwwLDAsMF0sWzAsMCwwLDRdLFswLDAsMCwwXSxbMCwwLDAsMF1dLFwibWluX3N0ZXBzXCI6M30se1wiaWRcIjpcIjEwMDRcIixcIm1hcFwiOltbMSwwLDAsMF0sWzAsMCwwLDBdLFswLDAsMCwwXSxbMCw0LDAsMF1dLFwibWluX3N0ZXBzXCI6M30se1wiaWRcIjpcIjEwMDZcIixcIm1hcFwiOltbNCwwLDAsMF0sWzAsMCwwLDBdLFswLDAsMCwwXSxbMCwxLDAsMF1dLFwibWluX3N0ZXBzXCI6M30se1wiaWRcIjpcIjEwMDNcIixcIm1hcFwiOltbMSwwLDAsMF0sWzAsMCwwLDBdLFswLDAsMCwwXSxbMCwwLDAsNF1dLFwibWluX3N0ZXBzXCI6NH0se1wiaWRcIjpcIjEwMDVcIixcIm1hcFwiOltbMSwwLDAsMF0sWzAsMCwwLDBdLFswLDAsMCw0XSxbMCwwLDAsMF1dLFwibWluX3N0ZXBzXCI6NH0se1wiaWRcIjpcIjEwMDdcIixcIm1hcFwiOltbMCw0LDAsMF0sWzAsMCwwLDBdLFswLDAsMCwwXSxbMCwwLDAsMV1dLFwibWluX3N0ZXBzXCI6NH0se1wiaWRcIjpcIjEwMDhcIixcIm1hcFwiOltbMCwwLDAsNF0sWzAsMCwwLDBdLFswLDAsMCwwXSxbMSwwLDAsMF1dLFwibWluX3N0ZXBzXCI6NH1dLFt7XCJpZFwiOlwiMjAwMVwiLFwibWFwXCI6W1swLDAsMCwwLDFdLFswLDAsMCwwLDBdLFswLDAsMywwLDNdLFswLDAsMCwwLDBdLFs0LDAsMCwwLDNdXSxcIm1pbl9zdGVwc1wiOjR9LHtcImlkXCI6XCIyMDAyXCIsXCJtYXBcIjpbWzAsMSwwLDAsMF0sWzAsMCwwLDAsMF0sWzMsMywwLDAsNF0sWzAsMCwwLDAsMF0sWzMsMCwwLDAsMF1dLFwibWluX3N0ZXBzXCI6NH0se1wiaWRcIjpcIjIwMDlcIixcIm1hcFwiOltbMCwzLDAsMCw0XSxbMywwLDAsMCwwXSxbMCwwLDAsMCwwXSxbMSwwLDAsMCwwXSxbMCwzLDAsMCwwXV0sXCJtaW5fc3RlcHNcIjo0fSx7XCJpZFwiOlwiMjAxMFwiLFwibWFwXCI6W1swLDAsMCwwLDFdLFswLDAsMCwwLDBdLFswLDAsMCwwLDBdLFswLDMsMCwzLDBdLFs0LDAsMywwLDBdXSxcIm1pbl9zdGVwc1wiOjR9LHtcImlkXCI6XCIyMDExXCIsXCJtYXBcIjpbWzQsMywxLDAsMF0sWzAsMCwwLDAsM10sWzAsMCwwLDMsMF0sWzAsMCwwLDAsMF0sWzAsMCwwLDAsMF1dLFwibWluX3N0ZXBzXCI6NH0se1wiaWRcIjpcIjIwMjFcIixcIm1hcFwiOltbMCwwLDAsMSwwXSxbMCwwLDMsMCwwXSxbMCwwLDAsMywzXSxbMCwwLDAsMCwwXSxbMCw0LDAsMCwwXV0sXCJtaW5fc3RlcHNcIjo0fSx7XCJpZFwiOlwiMjAwNFwiLFwibWFwXCI6W1sxLDAsMCwwLDBdLFswLDAsMCwwLDNdLFszLDAsMCwwLDBdLFswLDAsMCwwLDBdLFswLDAsMCwwLDRdXSxcIm1pbl9zdGVwc1wiOjV9LHtcImlkXCI6XCIyMDEyXCIsXCJtYXBcIjpbWzAsMywwLDQsMF0sWzAsMCwwLDMsMF0sWzEsMCwzLDAsMF0sWzAsMCwwLDAsMF0sWzAsMCwwLDAsMF1dLFwibWluX3N0ZXBzXCI6NX0se1wiaWRcIjpcIjIwMTNcIixcIm1hcFwiOltbMCwwLDAsMCwwXSxbMSwwLDAsMCwwXSxbMCwwLDAsMywzXSxbMywwLDAsMCwwXSxbMCwwLDAsNCwwXV0sXCJtaW5fc3RlcHNcIjo1fSx7XCJpZFwiOlwiMjAxNFwiLFwibWFwXCI6W1szLDAsMSwwLDBdLFswLDMsMCwwLDBdLFswLDAsMCwwLDBdLFs0LDAsMCwzLDBdLFswLDAsMCwwLDBdXSxcIm1pbl9zdGVwc1wiOjV9LHtcImlkXCI6XCIyMDE1XCIsXCJtYXBcIjpbWzMsMCwwLDAsMV0sWzMsMCwwLDAsMF0sWzAsMCwwLDAsMF0sWzQsMywwLDAsMF0sWzMsMCwwLDAsMF1dLFwibWluX3N0ZXBzXCI6NX0se1wiaWRcIjpcIjIwMTZcIixcIm1hcFwiOltbMCwwLDAsMCwwXSxbMSwwLDMsMCwwXSxbMywwLDAsMCwzXSxbMCwwLDAsMCwwXSxbMCwwLDAsMCw0XV0sXCJtaW5fc3RlcHNcIjo1fSx7XCJpZFwiOlwiMjAxN1wiLFwibWFwXCI6W1swLDMsMCwwLDBdLFs0LDAsMCwwLDBdLFswLDAsMCwwLDBdLFszLDAsMywwLDBdLFszLDAsMCwwLDFdXSxcIm1pbl9zdGVwc1wiOjV9LHtcImlkXCI6XCIyMDE4XCIsXCJtYXBcIjpbWzAsMyw0LDMsM10sWzAsMCwwLDAsMF0sWzAsMCwwLDAsMF0sWzAsMCwwLDAsMF0sWzAsMCwzLDAsMV1dLFwibWluX3N0ZXBzXCI6NX0se1wiaWRcIjpcIjIwMTlcIixcIm1hcFwiOltbMywwLDAsNCwwXSxbMCwwLDAsMywwXSxbMCwwLDAsMCwwXSxbMCwwLDAsMCwwXSxbMSwwLDMsMCwwXV0sXCJtaW5fc3RlcHNcIjo1fSx7XCJpZFwiOlwiMjAyMFwiLFwibWFwXCI6W1s0LDAsMywwLDFdLFswLDAsMCwwLDNdLFswLDAsMCwwLDBdLFswLDAsMCwwLDBdLFswLDAsMywwLDBdXSxcIm1pbl9zdGVwc1wiOjV9LHtcImlkXCI6XCIyMDAzXCIsXCJtYXBcIjpbWzEsMCwwLDMsMF0sWzAsMCwzLDAsMF0sWzAsMCwwLDAsMF0sWzAsMCwwLDAsMF0sWzAsMywwLDQsMF1dLFwibWluX3N0ZXBzXCI6Nn0se1wiaWRcIjpcIjIwMDVcIixcIm1hcFwiOltbMCwzLDAsMCwwXSxbMSwwLDAsMCwwXSxbMCwwLDAsMywwXSxbMCwwLDAsMCwwXSxbMCwzLDAsNCwwXV0sXCJtaW5fc3RlcHNcIjo2fSx7XCJpZFwiOlwiMjAwNlwiLFwibWFwXCI6W1swLDEsMCwwLDBdLFswLDAsMCwwLDNdLFswLDAsMCwwLDNdLFswLDAsMCwwLDBdLFswLDAsMCwzLDRdXSxcIm1pbl9zdGVwc1wiOjZ9LHtcImlkXCI6XCIyMDA3XCIsXCJtYXBcIjpbWzMsMCwwLDAsMV0sWzAsMCwwLDAsM10sWzAsMCwwLDAsMF0sWzAsMCwwLDAsMF0sWzQsMywwLDAsMF1dLFwibWluX3N0ZXBzXCI6Nn0se1wiaWRcIjpcIjIwMDhcIixcIm1hcFwiOltbMyw0LDAsMCwwXSxbMCwwLDAsMCwzXSxbMCwwLDAsMywxXSxbMCwwLDAsMCwwXSxbMCwwLDAsMCwwXV0sXCJtaW5fc3RlcHNcIjo2fSx7XCJpZFwiOlwiMjAyMlwiLFwibWFwXCI6W1swLDAsMCwwLDBdLFsxLDMsMCwwLDNdLFswLDAsMCwwLDBdLFswLDAsMCwwLDBdLFswLDAsMyw0LDBdXSxcIm1pbl9zdGVwc1wiOjZ9XSxbe1wiaWRcIjpcIjMwMDFcIixcIm1hcFwiOltbMywwLDIsMyw0XSxbMCwwLDAsMiwyXSxbMiwzLDMsMywzXSxbMCwwLDIsMCwyXSxbMSwwLDIsMywwXV0sXCJtaW5fc3RlcHNcIjo1fSx7XCJpZFwiOlwiMzAwMlwiLFwibWFwXCI6W1szLDAsMywyLDBdLFsxLDIsMCwzLDJdLFsyLDMsMCwwLDRdLFsyLDAsMiwyLDBdLFszLDMsMCwzLDBdXSxcIm1pbl9zdGVwc1wiOjV9LHtcImlkXCI6XCIzMDAzXCIsXCJtYXBcIjpbWzAsMiwzLDMsNF0sWzIsMiwwLDAsMF0sWzEsMywzLDMsMl0sWzIsMiwzLDIsM10sWzAsMCwwLDAsMF1dLFwibWluX3N0ZXBzXCI6NX0se1wiaWRcIjpcIjMwMDRcIixcIm1hcFwiOltbMywyLDIsMSwwXSxbMCwwLDMsMiwyXSxbMywwLDIsMywwXSxbMywwLDAsMywzXSxbMCwyLDQsMCwyXV0sXCJtaW5fc3RlcHNcIjo1fSx7XCJpZFwiOlwiMzAwNVwiLFwibWFwXCI6W1szLDAsMywwLDBdLFsyLDMsMCwwLDFdLFswLDIsMiwyLDNdLFs0LDIsMCwwLDJdLFszLDMsMCwzLDJdXSxcIm1pbl9zdGVwc1wiOjV9LHtcImlkXCI6XCIzMDA4XCIsXCJtYXBcIjpbWzMsMywzLDAsMV0sWzAsMCwwLDAsM10sWzIsMiwzLDIsMl0sWzAsMiwzLDAsM10sWzQsMiwyLDAsMF1dLFwibWluX3N0ZXBzXCI6NX0se1wiaWRcIjpcIjMwMDlcIixcIm1hcFwiOltbMSwwLDMsMywyXSxbMywwLDIsMCwwXSxbMCwzLDMsMiw0XSxbMCwwLDMsMCwyXSxbMiwyLDIsMCwzXV0sXCJtaW5fc3RlcHNcIjo1fSx7XCJpZFwiOlwiMzAxMFwiLFwibWFwXCI6W1szLDAsMiwwLDRdLFsxLDIsMywwLDNdLFsyLDAsMywyLDBdLFswLDMsMCwwLDNdLFsyLDAsMiwzLDJdXSxcIm1pbl9zdGVwc1wiOjV9LHtcImlkXCI6XCIzMDA2XCIsXCJtYXBcIjpbWzIsMCwyLDIsMF0sWzEsMiwzLDAsMF0sWzMsMywwLDMsMl0sWzMsMCwwLDMsMl0sWzIsMCwzLDAsNF1dLFwibWluX3N0ZXBzXCI6Nn0se1wiaWRcIjpcIjMwMDdcIixcIm1hcFwiOltbMSwyLDAsMywzXSxbMiwyLDAsMiwwXSxbMiwzLDIsMCwzXSxbMCwzLDIsMCw0XSxbMCwwLDMsMCwzXV0sXCJtaW5fc3RlcHNcIjo2fSx7XCJpZFwiOlwiMzAxMVwiLFwibWFwXCI6W1syLDMsMCwxLDBdLFswLDAsMCwwLDBdLFszLDAsMCwwLDNdLFswLDIsMCwzLDJdLFs0LDMsMywyLDJdXSxcIm1pbl9zdGVwc1wiOjZ9LHtcImlkXCI6XCIzMDEyXCIsXCJtYXBcIjpbWzAsMiwxLDAsM10sWzAsMywwLDAsM10sWzMsMiwzLDIsMF0sWzAsMiwwLDMsMF0sWzIsMCwwLDAsNF1dLFwibWluX3N0ZXBzXCI6Nn0se1wiaWRcIjpcIjMwMTNcIixcIm1hcFwiOltbMCwyLDEsMCwzXSxbMCwzLDAsMCwzXSxbMywyLDMsMiwwXSxbMCwyLDAsMywwXSxbMiwwLDAsMCw0XV0sXCJtaW5fc3RlcHNcIjo2fSx7XCJpZFwiOlwiMzAxNFwiLFwibWFwXCI6W1sxLDAsMywzLDRdLFsyLDMsMCwzLDBdLFswLDIsMiwwLDBdLFszLDMsMCwwLDJdLFsyLDAsMCwwLDBdXSxcIm1pbl9zdGVwc1wiOjZ9LHtcImlkXCI6XCIzMDE1XCIsXCJtYXBcIjpbWzIsMywwLDAsMF0sWzAsMCwyLDMsMF0sWzQsMCwzLDAsM10sWzIsMCwyLDIsM10sWzAsMywwLDAsMV1dLFwibWluX3N0ZXBzXCI6Nn0se1wiaWRcIjpcIjMwMTZcIixcIm1hcFwiOltbMywwLDIsMCwyXSxbMiwwLDAsMCwzXSxbMCwyLDMsMCwxXSxbNCwwLDAsMywwXSxbMywzLDAsMCwyXV0sXCJtaW5fc3RlcHNcIjo2fSx7XCJpZFwiOlwiMzAxN1wiLFwibWFwXCI6W1swLDMsMCwwLDJdLFszLDAsMiwwLDRdLFsxLDMsMywwLDBdLFsyLDAsMCwyLDBdLFszLDIsMywwLDBdXSxcIm1pbl9zdGVwc1wiOjZ9LHtcImlkXCI6XCIzMDE4XCIsXCJtYXBcIjpbWzQsMiwwLDAsMF0sWzAsMCwwLDMsMl0sWzAsMywwLDAsM10sWzMsMiwzLDIsMF0sWzMsMCwyLDEsMF1dLFwibWluX3N0ZXBzXCI6N30se1wiaWRcIjpcIjMwMTlcIixcIm1hcFwiOltbMCw0LDAsMywyXSxbMCwyLDAsMCwwXSxbMywwLDMsMCwyXSxbMywzLDIsMywxXSxbMiwwLDAsMCwwXV0sXCJtaW5fc3RlcHNcIjo3fSx7XCJpZFwiOlwiMzAyMFwiLFwibWFwXCI6W1swLDIsMCwxLDBdLFswLDAsMCwzLDJdLFszLDAsMywzLDNdLFszLDAsMCwwLDJdLFswLDIsMiw0LDBdXSxcIm1pbl9zdGVwc1wiOjd9LHtcImlkXCI6XCIzMDIxXCIsXCJtYXBcIjpbWzMsMiwwLDIsMV0sWzMsMiwwLDMsMl0sWzMsMCwwLDIsM10sWzAsMCwwLDAsNF0sWzAsMCwzLDAsMF1dLFwibWluX3N0ZXBzXCI6N30se1wiaWRcIjpcIjMwMjJcIixcIm1hcFwiOltbMiwwLDIsMiwyXSxbMCwwLDMsMCwwXSxbMywwLDMsMCwwXSxbMSwwLDMsMiw0XSxbMCwwLDMsMywwXV0sXCJtaW5fc3RlcHNcIjo3fSx7XCJpZFwiOlwiMzAyM1wiLFwibWFwXCI6W1sxLDIsMCwyLDBdLFszLDMsMywwLDBdLFswLDIsMywyLDBdLFs0LDAsMCwwLDNdLFswLDAsMiwwLDNdXSxcIm1pbl9zdGVwc1wiOjd9LHtcImlkXCI6XCIzMDI0XCIsXCJtYXBcIjpbWzEsMCwzLDAsM10sWzIsMiwwLDAsMF0sWzAsMywwLDMsMF0sWzIsMCwzLDIsMF0sWzIsMywwLDQsMF1dLFwibWluX3N0ZXBzXCI6N31dLFt7XCJpZFwiOlwiNDAwMVwiLFwibWFwXCI6W1sxLDMsMCwwLDIsMF0sWzAsMywwLDAsMiwwXSxbMCwwLDIsMCwzLDRdLFswLDAsMCwyLDAsMF0sWzMsMywwLDAsMiwwLDNdLFswLDAsMiwyLDIsMF1dLFwibWluX3N0ZXBzXCI6NX0se1wiaWRcIjpcIjQwMDJcIixcIm1hcFwiOltbMCwyLDIsMiwyLDBdLFsxLDAsMCwwLDIsMF0sWzAsMCwwLDAsMCwzXSxbMCwwLDAsMCwyLDBdLFswLDMsMywwLDIsMF0sWzMsMCwwLDQsMiwwXV0sXCJtaW5fc3RlcHNcIjo1fSx7XCJpZFwiOlwiNDAwM1wiLFwibWFwXCI6W1swLDAsMCwwLDAsMF0sWzIsMCwwLDAsMCwyXSxbMCwzLDMsMywyLDRdLFswLDMsMCwzLDIsMF0sWzAsMCwwLDAsMCwzXSxbMCwwLDIsMywwLDFdXSxcIm1pbl9zdGVwc1wiOjZ9LHtcImlkXCI6XCI0MDA0XCIsXCJtYXBcIjpbWzIsMCwzLDAsMCw0XSxbMCwyLDMsMywwLDBdLFswLDMsMCwwLDAsMF0sWzMsMCwwLDAsMiwyXSxbMywwLDAsMiwwLDBdLFsxLDAsMCwzLDAsMF1dLFwibWluX3N0ZXBzXCI6Nn0se1wiaWRcIjpcIjQwMDZcIixcIm1hcFwiOltbNCwzLDAsMywwLDBdLFswLDIsMCwzLDAsMF0sWzMsMCwwLDAsMywyXSxbMCwzLDAsMCwyLDFdLFswLDAsMiwwLDAsMF0sWzAsMCwwLDAsMiwzXV0sXCJtaW5fc3RlcHNcIjo3fSx7XCJpZFwiOlwiNDAwN1wiLFwibWFwXCI6W1s0LDIsMiwwLDIsMF0sWzAsMywwLDIsMCwwXSxbMCwyLDMsMCwzLDBdLFswLDAsMywwLDAsM10sWzAsMCwzLDAsMCwwXSxbMCwwLDAsMywwLDFdXSxcIm1pbl9zdGVwc1wiOjd9LHtcImlkXCI6XCI0MDE0XCIsXCJtYXBcIjpbWzAsMCwzLDAsMiwyXSxbMCwyLDMsMCwwLDFdLFswLDMsMywwLDAsM10sWzAsMiwwLDAsMCwwXSxbMCwwLDAsMywzLDBdLFsyLDAsNCwwLDAsMF1dLFwibWluX3N0ZXBzXCI6N30se1wiaWRcIjpcIjQwMTVcIixcIm1hcFwiOltbMiwwLDAsMCwwLDBdLFswLDAsMCwwLDMsMV0sWzMsMCwyLDAsMCwzXSxbMiwwLDAsMiwzLDBdLFszLDAsMywwLDAsMF0sWzIsMCwwLDMsNCwwXV0sXCJtaW5fc3RlcHNcIjo3fSx7XCJpZFwiOlwiNDAwNVwiLFwibWFwXCI6W1sxLDAsMCwwLDAsMl0sWzAsMCwwLDIsMCwwXSxbMywyLDAsMCwwLDBdLFswLDMsMCwwLDIsM10sWzAsMCwzLDMsMCwwXSxbMywwLDAsMiwzLDRdXSxcIm1pbl9zdGVwc1wiOjh9LHtcImlkXCI6XCI0MDA4XCIsXCJtYXBcIjpbWzAsMCwyLDMsMCwwXSxbMCwzLDAsMiwzLDJdLFszLDAsMCwwLDAsMF0sWzAsMywwLDAsMyw0XSxbMCwwLDAsMCwwLDNdLFswLDIsMCwyLDAsMV1dLFwibWluX3N0ZXBzXCI6OH0se1wiaWRcIjpcIjQwMDlcIixcIm1hcFwiOltbMCwzLDMsMCwwLDRdLFsyLDAsMCwzLDAsMF0sWzIsMCwwLDMsMCwwXSxbMSwwLDAsMCwzLDBdLFswLDAsMiwzLDAsMl0sWzIsMywwLDAsMCwwXV0sXCJtaW5fc3RlcHNcIjo4fSx7XCJpZFwiOlwiNDAxMFwiLFwibWFwXCI6W1swLDAsMSwzLDIsMF0sWzMsMCwwLDAsMywyXSxbMywwLDAsMCwwLDNdLFsyLDAsMCwwLDAsMF0sWzAsMiwwLDAsMywwXSxbMCwyLDAsMyw0LDBdXSxcIm1pbl9zdGVwc1wiOjh9LHtcImlkXCI6XCI0MDExXCIsXCJtYXBcIjpbWzEsMCwwLDAsMCwwXSxbMywzLDAsMCwwLDJdLFswLDAsMCwzLDAsMl0sWzIsMCwzLDAsMywwXSxbMiwwLDMsMCwwLDNdLFs0LDAsMCwwLDAsMl1dLFwibWluX3N0ZXBzXCI6OH0se1wiaWRcIjpcIjQwMTZcIixcIm1hcFwiOltbMCwwLDMsMCwwLDFdLFsyLDMsMCwwLDMsMF0sWzIsMCwwLDAsMCwyXSxbMCwzLDAsMCwwLDBdLFswLDMsMCwwLDIsMF0sWzAsNCwzLDAsMiwzXV0sXCJtaW5fc3RlcHNcIjo4fSx7XCJpZFwiOlwiNDAxN1wiLFwibWFwXCI6W1sxLDIsMywwLDMsMl0sWzMsMCwwLDAsMCwwXSxbMCwwLDAsMCwwLDNdLFszLDMsMCwzLDIsMF0sWzAsMiwwLDAsMCwwXSxbNCwwLDAsMiwwLDBdXSxcIm1pbl9zdGVwc1wiOjh9LHtcImlkXCI6XCI0MDE4XCIsXCJtYXBcIjpbWzAsMCwxLDAsMiwwXSxbMCwwLDAsMCwwLDBdLFswLDAsMywyLDMsMF0sWzMsMCwwLDMsMCwwXSxbMiwzLDAsMiwwLDBdLFs0LDIsMCwzLDMsMF1dLFwibWluX3N0ZXBzXCI6OH0se1wiaWRcIjpcIjQwMTJcIixcIm1hcFwiOltbMiwyLDMsMCwyLDBdLFswLDMsMCwwLDAsMF0sWzAsMCwwLDAsMyw0XSxbMCwyLDAsMywwLDNdLFswLDAsMCwwLDAsMF0sWzAsMCwyLDMsMywxXV0sXCJtaW5fc3RlcHNcIjo5fSx7XCJpZFwiOlwiNDAxM1wiLFwibWFwXCI6W1swLDAsMCwwLDMsMF0sWzQsMiwwLDMsMCwwXSxbMywyLDAsMCwwLDBdLFsxLDMsMCwzLDAsMF0sWzIsMCwwLDIsMCwwXSxbMywwLDAsMywyLDBdXSxcIm1pbl9zdGVwc1wiOjl9LHtcImlkXCI6XCI0MDE5XCIsXCJtYXBcIjpbWzMsNCwwLDAsMCwyXSxbMywyLDAsMCwyLDBdLFswLDMsMCwzLDAsMl0sWzAsMCwzLDAsMCwwXSxbMCwwLDAsMCwzLDBdLFsxLDMsMCwwLDAsMl1dLFwibWluX3N0ZXBzXCI6OX0se1wiaWRcIjpcIjQwMjBcIixcIm1hcFwiOltbMCwyLDAsMSwwLDBdLFsyLDMsMCwwLDIsMF0sWzMsMCwwLDAsMCwwXSxbMCwzLDMsMCwwLDNdLFsyLDAsMCwzLDAsMF0sWzQsMywwLDAsMCwyXV0sXCJtaW5fc3RlcHNcIjo5fV0sW3tcImlkXCI6XCI1MDAxXCIsXCJtYXBcIjpbWzEsMCwwLDAsMCwwXSxbMCwyLDIsMywwLDJdLFszLDIsMCwwLDMsM10sWzAsMCwwLDAsMCw0XSxbMCwwLDAsMiwyLDBdLFszLDAsMiwyLDAsMF1dLFwibWluX3N0ZXBzXCI6N30se1wiaWRcIjpcIjUwMDJcIixcIm1hcFwiOltbMCwwLDAsMCw0LDNdLFszLDIsMywwLDAsMF0sWzAsMiwwLDIsMywwXSxbMiwyLDAsMCwwLDBdLFszLDIsMCwwLDAsMF0sWzMsMCwwLDIsMCwzXSxbMiwwLDAsMywwLDFdXSxcIm1pbl9zdGVwc1wiOjd9LHtcImlkXCI6XCI1MDE1XCIsXCJtYXBcIjpbWzEsMiwzLDIsMiwwXSxbMywwLDAsMCwwLDNdLFswLDAsMCwwLDAsMF0sWzAsMCwwLDAsMCwyXSxbMCwzLDAsMywyLDBdLFswLDAsMCwwLDAsMF0sWzAsMiwwLDQsMCwzXV0sXCJtaW5fc3RlcHNcIjo3fSx7XCJpZFwiOlwiNTAxNlwiLFwibWFwXCI6W1szLDAsMSwwLDAsMF0sWzAsMiwwLDIsMCwwXSxbMCwyLDAsMiwwLDNdLFswLDAsMCwwLDAsMF0sWzAsMiwwLDAsMywzXSxbMCwwLDAsMCwyLDNdLFswLDAsMCwzLDAsNF1dLFwibWluX3N0ZXBzXCI6N30se1wiaWRcIjpcIjUwMDRcIixcIm1hcFwiOltbMCwzLDMsMiwzLDBdLFsyLDAsMiwwLDMsMF0sWzEsMCwzLDIsMCwwXSxbMywzLDAsMCwwLDJdLFswLDAsMCwwLDAsMF0sWzAsMiwwLDAsMCwwXSxbMCwwLDAsMyw0LDBdXSxcIm1pbl9zdGVwc1wiOjh9LHtcImlkXCI6XCI1MDA1XCIsXCJtYXBcIjpbWzAsMCwwLDAsMCwxXSxbMCwwLDIsMCwyLDBdLFszLDIsMiwwLDAsMF0sWzMsMCwwLDMsMCwwXSxbMywzLDAsMCwwLDNdLFs0LDMsMCwwLDAsMF0sWzIsMCwwLDIsMywwXV0sXCJtaW5fc3RlcHNcIjo4fSx7XCJpZFwiOlwiNTAwOFwiLFwibWFwXCI6W1szLDAsMywyLDAsNF0sWzAsMywwLDIsMCwyXSxbMCwwLDMsMCwwLDBdLFsyLDAsMCwyLDAsMF0sWzAsMCwzLDAsMCwwXSxbMCwwLDAsMywwLDBdLFszLDIsMSwzLDAsMF1dLFwibWluX3N0ZXBzXCI6OH0se1wiaWRcIjpcIjUwMTJcIixcIm1hcFwiOltbMiwzLDAsMiwwLDFdLFsyLDAsMCwwLDAsMF0sWzIsMCwwLDMsMCwyXSxbMywwLDMsMCwwLDNdLFswLDAsMCwwLDMsM10sWzMsMCwwLDAsMiwwXSxbMCwwLDAsMCwwLDRdXSxcIm1pbl9zdGVwc1wiOjh9LHtcImlkXCI6XCI1MDEzXCIsXCJtYXBcIjpbWzAsMCwyLDEsMiwwXSxbMCwzLDAsMCwwLDBdLFsyLDAsMCwwLDAsMF0sWzAsMCwwLDMsMCwwXSxbMywwLDAsMiwzLDBdLFszLDMsMywyLDAsMl0sWzAsMCw0LDAsMCwzXV0sXCJtaW5fc3RlcHNcIjo4fSx7XCJpZFwiOlwiNTAxOFwiLFwibWFwXCI6W1swLDIsMCwxLDAsMF0sWzIsMCwwLDMsMCwwXSxbMCwwLDAsMCwwLDBdLFszLDAsMCwwLDAsMF0sWzIsMywwLDIsMywzXSxbMiwwLDAsMCwwLDJdLFs0LDMsMCwwLDAsMF1dLFwibWluX3N0ZXBzXCI6OH0se1wiaWRcIjpcIjUwMTlcIixcIm1hcFwiOltbMSwzLDAsMiwzLDBdLFswLDAsMCwwLDAsMl0sWzAsMCwwLDAsMCwwXSxbMCwwLDIsMCwwLDJdLFszLDMsMCwzLDAsMl0sWzQsMCwyLDAsMCwwXSxbMCwwLDAsMywwLDBdXSxcIm1pbl9zdGVwc1wiOjh9LHtcImlkXCI6XCI1MDI5XCIsXCJtYXBcIjpbWzQsMywwLDAsMCwwXSxbMiwwLDAsMywwLDJdLFszLDIsMCwzLDMsMF0sWzIsMCwwLDMsMCwwXSxbMCwyLDAsMCwwLDBdLFsyLDAsMCwwLDAsMF0sWzMsMCwzLDMsMCwxXV0sXCJtaW5fc3RlcHNcIjo4fSx7XCJpZFwiOlwiNTAzMFwiLFwibWFwXCI6W1swLDAsMCwwLDAsMF0sWzAsMCwyLDMsMiwwXSxbMCwzLDAsMCwwLDBdLFsyLDIsMCwzLDAsMF0sWzAsMywzLDAsMyw0XSxbMCwwLDIsMCwwLDNdLFszLDEsMCwzLDAsMl1dLFwibWluX3N0ZXBzXCI6OH0se1wiaWRcIjpcIjUwMDZcIixcIm1hcFwiOltbMCwzLDAsMCwwLDBdLFsxLDAsMCwwLDMsMF0sWzAsMCwzLDIsMCwwXSxbMywwLDAsMiwyLDBdLFswLDMsMCwzLDMsMF0sWzAsMiwwLDAsMCwwXSxbNCwwLDMsMCwyLDJdXSxcIm1pbl9zdGVwc1wiOjl9LHtcImlkXCI6XCI1MDA3XCIsXCJtYXBcIjpbWzAsMiwwLDMsMCwwXSxbMSwyLDAsMiwwLDBdLFswLDMsMCwzLDAsMF0sWzMsMCwwLDAsMCwzXSxbMCwwLDMsMiwwLDJdLFs0LDAsMCwzLDAsM10sWzAsMiwwLDAsMCwwXV0sXCJtaW5fc3RlcHNcIjo5fSx7XCJpZFwiOlwiNTAxMFwiLFwibWFwXCI6W1swLDMsMSwwLDAsMF0sWzAsMiwzLDMsMCwwXSxbMCwyLDAsMywwLDBdLFswLDIsMCwyLDAsM10sWzAsMiwwLDAsMywwXSxbMCwzLDAsMCwwLDBdLFswLDIsNCwwLDAsM11dLFwibWluX3N0ZXBzXCI6OX0se1wiaWRcIjpcIjUwMTFcIixcIm1hcFwiOltbMSwwLDMsMCwzLDBdLFswLDIsMCwwLDAsMF0sWzIsMCwyLDAsMywwXSxbMCwzLDIsMCwwLDBdLFszLDAsMCwwLDAsMl0sWzQsMCwzLDAsMCwwXSxbMywyLDAsMCwwLDNdXSxcIm1pbl9zdGVwc1wiOjl9LHtcImlkXCI6XCI1MDE0XCIsXCJtYXBcIjpbWzAsMSwwLDAsMCwwXSxbMiwwLDIsMCwwLDJdLFsyLDMsMCwzLDAsMF0sWzAsMywwLDAsMCwzXSxbMCwwLDAsMiwwLDNdLFswLDAsMywwLDMsMF0sWzIsMCwzLDAsMCw0XV0sXCJtaW5fc3RlcHNcIjo5fSx7XCJpZFwiOlwiNTAxN1wiLFwibWFwXCI6W1swLDAsMCwwLDAsMF0sWzEsMiwzLDAsMCwyXSxbMCwwLDIsMCwwLDJdLFszLDAsMiwzLDAsMF0sWzAsMywzLDAsMiwwXSxbMCwwLDAsMCwwLDBdLFs0LDAsMywwLDAsMF1dLFwibWluX3N0ZXBzXCI6OX0se1wiaWRcIjpcIjUwMjhcIixcIm1hcFwiOltbMCwwLDEsMCwwLDNdLFszLDAsMCwwLDMsNF0sWzAsMiwwLDIsMywyXSxbMCwzLDIsMywzLDBdLFswLDAsMCwzLDAsMF0sWzAsMCwzLDAsMCwyXSxbMCwwLDIsMCwwLDBdXSxcIm1pbl9zdGVwc1wiOjl9LHtcImlkXCI6XCI1MDAzXCIsXCJtYXBcIjpbWzAsMCwxLDMsMCwyXSxbMCwzLDMsMCwwLDBdLFswLDAsMywyLDAsMF0sWzAsMCwzLDAsMCwwXSxbMywwLDAsMCwyLDJdLFswLDAsMiwzLDAsMF0sWzAsMiwwLDMsMCw0XV0sXCJtaW5fc3RlcHNcIjoxMH0se1wiaWRcIjpcIjUwMDlcIixcIm1hcFwiOltbMCwyLDAsMCwwLDNdLFswLDAsMywzLDMsNF0sWzAsMywwLDAsMCwwXSxbMCwzLDIsMCwwLDBdLFsxLDIsMywyLDAsM10sWzIsMCwwLDAsMCwwXSxbMCwwLDAsMCwyLDBdXSxcIm1pbl9zdGVwc1wiOjEwfSx7XCJpZFwiOlwiNTAyMVwiLFwibWFwXCI6W1swLDAsMCwwLDAsMF0sWzAsMCwwLDAsMywwXSxbMywwLDAsMCwyLDBdLFsyLDAsMCwyLDMsMF0sWzAsMywwLDAsMCwyXSxbMCwyLDMsMCwwLDBdLFs0LDMsMSwyLDAsMF1dLFwibWluX3N0ZXBzXCI6MTB9LHtcImlkXCI6XCI1MDIyXCIsXCJtYXBcIjpbWzQsMCwzLDAsMCwyXSxbMCwwLDAsMCwyLDBdLFswLDMsMCwyLDMsMl0sWzMsMCwzLDAsMywwXSxbMCwyLDAsMCwwLDBdLFswLDMsMCwzLDAsM10sWzAsMiwxLDAsMCwwXV0sXCJtaW5fc3RlcHNcIjoxMH0se1wiaWRcIjpcIjUwMjNcIixcIm1hcFwiOltbMywwLDAsMywzLDBdLFswLDAsMywwLDAsM10sWzIsMywwLDAsMCwwXSxbMiwyLDAsMCwyLDBdLFswLDMsMCwwLDAsMF0sWzIsMCwzLDAsMCw0XSxbMCwxLDMsMCwyLDBdXSxcIm1pbl9zdGVwc1wiOjEwfSx7XCJpZFwiOlwiNTAyNFwiLFwibWFwXCI6W1szLDAsMiwzLDAsMF0sWzQsMiwwLDAsMCwzXSxbMiwyLDAsMCwwLDBdLFswLDAsMywwLDAsMl0sWzAsMCwwLDMsMCwzXSxbMCwzLDMsMCwyLDBdLFszLDAsMSwwLDAsMF1dLFwibWluX3N0ZXBzXCI6MTB9LHtcImlkXCI6XCI1MDIwXCIsXCJtYXBcIjpbWzAsMCwwLDIsMCwwXSxbMCwzLDAsMCwwLDNdLFswLDIsMCwwLDMsMF0sWzIsMCwwLDIsMyw0XSxbMCwyLDMsMCwwLDBdLFswLDAsMCwzLDAsMF0sWzMsMiwwLDEsMywwXV0sXCJtaW5fc3RlcHNcIjoxMX0se1wiaWRcIjpcIjUwMjVcIixcIm1hcFwiOltbMSwwLDAsMCwzLDBdLFswLDAsMCwzLDMsMl0sWzMsMywyLDAsMCwyXSxbMCwwLDAsMCwwLDNdLFswLDAsMiwwLDIsMF0sWzAsMCwwLDAsMyw0XSxbMCwzLDIsMywwLDBdXSxcIm1pbl9zdGVwc1wiOjExfSx7XCJpZFwiOlwiNTAyNlwiLFwibWFwXCI6W1swLDMsMiwwLDAsMF0sWzAsMCwyLDMsMywwXSxbMiwwLDAsMiwwLDBdLFszLDIsMCwwLDMsMl0sWzAsMCwwLDMsMywxXSxbMCwwLDMsMCwwLDNdLFswLDAsMCwwLDAsNF1dLFwibWluX3N0ZXBzXCI6MTF9LHtcImlkXCI6XCI1MDI3XCIsXCJtYXBcIjpbWzAsMCwzLDAsMCwxXSxbMCwwLDAsMCwwLDNdLFsyLDAsMiwwLDIsM10sWzAsMCwzLDMsMCwzXSxbMCwwLDAsMiwzLDBdLFswLDAsMCwyLDAsM10sWzIsMCwzLDAsNCwwXV0sXCJtaW5fc3RlcHNcIjoxMX1dLFt7XCJpZFwiOlwiNjAyOFwiLFwibWFwXCI6W1swLDAsMywwLDAsMl0sWzEsMywyLDIsMCwzXSxbMCwwLDMsMCwwLDJdLFswLDAsMCwwLDAsMF0sWzAsMCwyLDAsMywzXSxbMywzLDMsMCwwLDBdLFs0LDAsMCwwLDAsMl1dLFwibWluX3N0ZXBzXCI6OH0se1wiaWRcIjpcIjYwMjlcIixcIm1hcFwiOltbMCwwLDIsMCwwLDFdLFszLDIsMywwLDAsM10sWzIsMCwzLDAsMywwXSxbMywzLDAsMCwwLDBdLFswLDAsMCwzLDMsMl0sWzAsMCwwLDAsMCwyXSxbMCwwLDAsNCwyLDBdXSxcIm1pbl9zdGVwc1wiOjh9LHtcImlkXCI6XCI2MDMwXCIsXCJtYXBcIjpbWzAsMywzLDAsMSwwXSxbMiwzLDAsMCwzLDBdLFswLDAsMCwzLDAsMl0sWzAsMCwzLDAsMiwwXSxbMCwwLDIsMywzLDNdLFswLDAsMCwwLDAsMF0sWzQsMCwwLDIsMCwyXV0sXCJtaW5fc3RlcHNcIjo4fSx7XCJpZFwiOlwiNjAwMVwiLFwibWFwXCI6W1swLDAsMywzLDQsMl0sWzAsMCwwLDIsMCwwXSxbMiwzLDMsMiwwLDBdLFswLDMsMCwwLDAsMl0sWzAsMCwwLDMsMiwyXSxbMiwwLDAsMywwLDJdLFsxLDMsMiwwLDAsMF0sWzAsMCwwLDMsMCwwXV0sXCJtaW5fc3RlcHNcIjo5fSx7XCJpZFwiOlwiNjAxMlwiLFwibWFwXCI6W1szLDAsMCwwLDIsMF0sWzAsMywwLDMsMCwwXSxbMCwzLDAsMCwwLDNdLFsyLDAsMCwzLDIsMF0sWzMsMiwyLDIsMCwwXSxbMywwLDIsMCwzLDBdLFsxLDIsMywwLDIsMF0sWzIsMywwLDAsMyw0XV0sXCJtaW5fc3RlcHNcIjo5fSx7XCJpZFwiOlwiNjAxNlwiLFwibWFwXCI6W1swLDAsMSwwLDIsM10sWzAsMywyLDAsMiwwXSxbMywzLDMsMywwLDBdLFszLDAsMCwwLDAsMF0sWzIsMiwzLDAsMywzXSxbMCwwLDIsMCwyLDBdLFswLDIsMCwyLDAsM10sWzMsMCwyLDAsMCw0XV0sXCJtaW5fc3RlcHNcIjo5fSx7XCJpZFwiOlwiNjAwOFwiLFwibWFwXCI6W1swLDAsMiwwLDMsNF0sWzMsMywyLDMsMCwwXSxbMCwwLDAsMCwwLDNdLFswLDAsMiwzLDIsMF0sWzAsMCwyLDAsMywyXSxbMywzLDAsMCwwLDJdLFswLDMsMCwwLDAsMF0sWzIsMSwwLDAsMCwwXV0sXCJtaW5fc3RlcHNcIjoxMH0se1wiaWRcIjpcIjYwMTNcIixcIm1hcFwiOltbMywwLDAsMiwyLDBdLFswLDIsMCwzLDAsMl0sWzAsMCwzLDIsMywwXSxbMCwzLDAsMCwzLDBdLFsyLDIsMywyLDAsMF0sWzAsMCwzLDMsMCwwXSxbMCwyLDAsMywyLDBdLFs0LDMsMywwLDEsMF1dLFwibWluX3N0ZXBzXCI6MTB9LHtcImlkXCI6XCI2MDE3XCIsXCJtYXBcIjpbWzQsMCwwLDAsMCwzXSxbMCwzLDMsMCwwLDBdLFszLDAsMiwyLDAsMF0sWzMsMCwyLDMsMywyXSxbMywyLDAsMiwzLDNdLFsyLDAsMiwwLDAsMF0sWzAsMCwwLDAsMCwzXSxbMiwzLDAsMiwwLDFdXSxcIm1pbl9zdGVwc1wiOjEwfSx7XCJpZFwiOlwiNjAyMlwiLFwibWFwXCI6W1swLDAsMyw0LDMsMF0sWzAsMywwLDIsMiwwXSxbMiwwLDIsMCwwLDNdLFswLDAsMCwwLDAsMF0sWzIsMywwLDMsMiwwXSxbMCwzLDAsMCwwLDBdLFswLDEsMywwLDAsM11dLFwibWluX3N0ZXBzXCI6MTB9LHtcImlkXCI6XCI2MDIzXCIsXCJtYXBcIjpbWzAsMCwzLDEsMCwyXSxbMCwwLDIsMywwLDBdLFs0LDAsMywwLDAsMF0sWzIsMCwzLDAsMCwzXSxbMiwwLDMsMCwzLDBdLFswLDAsMCwwLDAsMF0sWzIsMywwLDIsMywwXV0sXCJtaW5fc3RlcHNcIjoxMH0se1wiaWRcIjpcIjYwMjRcIixcIm1hcFwiOltbMCwzLDAsMiwwLDRdLFszLDAsMCwzLDMsM10sWzAsMCwyLDAsMCwwXSxbMiwzLDMsMCwwLDBdLFsyLDAsMCwwLDAsM10sWzIsMCwzLDAsMCwxXSxbMCwwLDAsMCwwLDJdXSxcIm1pbl9zdGVwc1wiOjEwfSx7XCJpZFwiOlwiNjAyNVwiLFwibWFwXCI6W1s0LDAsMiwwLDAsMF0sWzAsMCwzLDMsMCwyXSxbMywzLDAsMCwwLDNdLFswLDIsMCwyLDAsMF0sWzAsMCwwLDAsMywwXSxbMSwzLDAsMCwyLDJdLFswLDMsMCwwLDAsM11dLFwibWluX3N0ZXBzXCI6MTB9LHtcImlkXCI6XCI2MDAyXCIsXCJtYXBcIjpbWzAsMCwzLDMsNCwyXSxbMCwwLDAsMiwwLDBdLFsyLDMsMywyLDAsMF0sWzAsMywwLDAsMCwyXSxbMCwwLDAsMywyLDJdLFsyLDAsMCwzLDAsMl0sWzEsMywyLDAsMCwwXSxbMCwwLDAsMywwLDBdXSxcIm1pbl9zdGVwc1wiOjExfSx7XCJpZFwiOlwiNjAwNlwiLFwibWFwXCI6W1sxLDAsMiwwLDAsM10sWzAsMCwwLDAsMywwXSxbMywwLDAsMywyLDBdLFsyLDMsMCwwLDAsM10sWzAsMCwzLDIsMCwzXSxbMCwyLDAsMywwLDBdLFsyLDMsMCwyLDAsMF0sWzAsNCwwLDIsMCwwXV0sXCJtaW5fc3RlcHNcIjoxMX0se1wiaWRcIjpcIjYwMDlcIixcIm1hcFwiOltbNCwzLDAsMCwzLDBdLFswLDAsMCwwLDAsMF0sWzMsMywwLDIsMCwyXSxbMywwLDAsMiwyLDBdLFsyLDMsMiwwLDAsMF0sWzEsMywzLDAsMCwwXSxbMiwwLDAsMCwwLDBdLFszLDMsMCwwLDAsMl1dLFwibWluX3N0ZXBzXCI6MTF9LHtcImlkXCI6XCI2MDE4XCIsXCJtYXBcIjpbWzIsMywwLDAsMiwzXSxbMiwwLDAsMywwLDRdLFsyLDAsMCwwLDAsMF0sWzAsMywyLDAsMiwzXSxbMCwwLDAsMCwwLDNdLFsyLDAsMywzLDIsM10sWzAsMCwwLDMsMiwwXSxbMiwzLDEsMywwLDBdXSxcIm1pbl9zdGVwc1wiOjExfSx7XCJpZFwiOlwiNjAyNlwiLFwibWFwXCI6W1swLDEsMCwzLDAsNF0sWzAsMCwzLDAsMywwXSxbMiwyLDMsMiwwLDBdLFswLDAsMywwLDMsM10sWzIsMCwwLDAsMCwyXSxbMCwzLDAsMCwwLDJdLFswLDAsMCwwLDAsM11dLFwibWluX3N0ZXBzXCI6MTF9LHtcImlkXCI6XCI2MDI3XCIsXCJtYXBcIjpbWzIsMSwzLDAsMCwwXSxbMCwwLDAsMCwzLDBdLFszLDMsMCwwLDAsMF0sWzIsMiwzLDMsMywwXSxbMCwyLDAsMCwwLDBdLFszLDIsMCwwLDAsMF0sWzAsNCwwLDIsMywwXV0sXCJtaW5fc3RlcHNcIjoxMX0se1wiaWRcIjpcIjYwMzFcIixcIm1hcFwiOltbMCwxLDAsMywwLDRdLFswLDAsMywwLDMsMF0sWzIsMiwzLDIsMCwwXSxbMCwwLDMsMCwzLDNdLFsyLDAsMCwwLDAsMl0sWzAsMywwLDAsMCwyXSxbMCwwLDAsMCwwLDNdXSxcIm1pbl9zdGVwc1wiOjExfSx7XCJpZFwiOlwiNjAwM1wiLFwibWFwXCI6W1swLDIsMiwwLDAsNF0sWzAsMywzLDAsMCwwXSxbMywyLDAsMCwwLDBdLFswLDMsMCwwLDMsM10sWzAsMiwwLDMsMCwwXSxbMiwzLDAsMCwwLDBdLFswLDIsMywwLDAsMF0sWzEsMiwzLDAsMiwwXV0sXCJtaW5fc3RlcHNcIjoxMn0se1wiaWRcIjpcIjYwMTFcIixcIm1hcFwiOltbMywwLDIsMiwzLDJdLFsxLDAsMCwwLDAsM10sWzAsMCwzLDIsMywwXSxbMywwLDMsMCwwLDBdLFs0LDMsMiwzLDAsMl0sWzAsMCwyLDAsMiwzXSxbMiwwLDAsMCwwLDNdLFswLDAsMCwyLDAsM11dLFwibWluX3N0ZXBzXCI6MTJ9LHtcImlkXCI6XCI2MDE0XCIsXCJtYXBcIjpbWzQsMywwLDAsMCwwXSxbMCwyLDIsMiwzLDBdLFswLDMsMCwwLDAsMF0sWzIsMywyLDMsMCwwXSxbMywzLDAsMCwwLDNdLFswLDAsMCwyLDMsMF0sWzAsMywyLDAsMiwyXSxbMiwzLDMsMCwwLDFdXSxcIm1pbl9zdGVwc1wiOjEyfSx7XCJpZFwiOlwiNjAyMFwiLFwibWFwXCI6W1szLDIsMCwwLDAsMF0sWzQsMCwyLDAsMiwwXSxbMywzLDAsMCwyLDJdLFswLDAsMywwLDIsMF0sWzAsMCwwLDAsMiwzXSxbMCwyLDMsMywwLDBdLFsyLDMsMCwwLDMsM10sWzEsMywzLDIsMCwwXV0sXCJtaW5fc3RlcHNcIjoxMn0se1wiaWRcIjpcIjYwMjFcIixcIm1hcFwiOltbNCwzLDAsMCwwLDBdLFswLDIsMiwyLDMsMF0sWzAsMywwLDAsMCwwXSxbMiwzLDIsMywwLDBdLFszLDMsMCwwLDAsM10sWzAsMCwwLDIsMywwXSxbMCwzLDIsMCwyLDJdLFsyLDMsMywwLDAsMV1dLFwibWluX3N0ZXBzXCI6MTJ9LHtcImlkXCI6XCI2MDA0XCIsXCJtYXBcIjpbWzAsMywwLDIsMiwwXSxbMCwwLDAsMCwwLDJdLFszLDAsMCwwLDAsMF0sWzAsMywwLDAsMCwwXSxbMCwzLDMsMCwzLDBdLFsyLDAsMCwwLDMsMl0sWzIsMCwwLDAsMywxXSxbNCwzLDAsMiwzLDJdXSxcIm1pbl9zdGVwc1wiOjEzfSx7XCJpZFwiOlwiNjAwNVwiLFwibWFwXCI6W1syLDIsNCwyLDMsMF0sWzAsMywzLDIsMCwwXSxbMywwLDAsMywwLDJdLFszLDAsMiwzLDMsMF0sWzAsMCwwLDAsMCwwXSxbMCwwLDAsMCwyLDNdLFszLDIsMCwwLDAsMV0sWzAsMCwwLDAsMCwwXV0sXCJtaW5fc3RlcHNcIjoxM30se1wiaWRcIjpcIjYwMDdcIixcIm1hcFwiOltbMywyLDAsMCwzLDRdLFswLDIsMCwwLDMsMF0sWzAsMCwyLDAsMiwwXSxbMiwwLDAsMywwLDNdLFswLDAsMiwwLDMsMl0sWzAsMiwzLDMsMCwxXSxbMCwwLDAsMCwwLDNdLFswLDAsMCwzLDAsMF1dLFwibWluX3N0ZXBzXCI6MTN9LHtcImlkXCI6XCI2MDEwXCIsXCJtYXBcIjpbWzAsMywxLDAsMCwwXSxbMCwyLDMsMywwLDBdLFsyLDAsMCwzLDAsMF0sWzAsMiwwLDAsMywyXSxbMywwLDAsMCwwLDJdLFszLDIsMCwwLDAsMF0sWzQsMCwwLDMsMiwwXSxbMCwzLDAsMywyLDBdXSxcIm1pbl9zdGVwc1wiOjEzfSx7XCJpZFwiOlwiNjAxNVwiLFwibWFwXCI6W1s0LDAsMCwwLDIsM10sWzAsMCwzLDAsMCwzXSxbMiwyLDMsMiwwLDBdLFszLDAsMCwwLDMsMl0sWzIsMywwLDMsMCwyXSxbMCwwLDMsMCwyLDNdLFswLDAsMCwwLDAsM10sWzEsMiwyLDMsMCwwXV0sXCJtaW5fc3RlcHNcIjoxNH0se1wiaWRcIjpcIjYwMTlcIixcIm1hcFwiOltbNCwwLDAsMCwyLDNdLFswLDAsMywwLDAsM10sWzIsMiwzLDIsMCwwXSxbMywwLDAsMCwzLDJdLFsyLDMsMCwzLDAsMl0sWzAsMCwzLDAsMiwzXSxbMCwwLDAsMCwwLDNdLFsxLDIsMiwzLDAsMF1dLFwibWluX3N0ZXBzXCI6MTR9XSxbe1wiaWRcIjpcIjcwMDFcIixcIm1hcFwiOltbMCwyLDAsMCwyLDBdLFszLDMsMCwyLDAsNF0sWzAsMCwwLDAsMCwzXSxbMCwwLDAsMCwzLDJdLFswLDAsMCwwLDAsMl0sWzMsMywwLDAsMCwyXSxbMCwzLDMsMiwyLDBdLFswLDMsMiwyLDAsM10sWzEsMiwwLDAsMiwwXV0sXCJtaW5fc3RlcHNcIjo5fSx7XCJpZFwiOlwiNzAyM1wiLFwibWFwXCI6W1szLDIsMCwyLDAsMV0sWzAsMywzLDIsMywzXSxbMCwzLDMsMCwzLDBdLFswLDIsMiwyLDAsM10sWzAsMywyLDAsMCwzXSxbMCwwLDAsMCwyLDBdLFsyLDIsMiwzLDAsMF0sWzIsMCwzLDAsMywwXSxbMCwwLDMsMCwwLDRdXSxcIm1pbl9zdGVwc1wiOjl9LHtcImlkXCI6XCI3MDAzXCIsXCJtYXBcIjpbWzEsMywyLDAsMCwwXSxbMCwwLDAsMiwwLDBdLFswLDMsMCwyLDAsMF0sWzMsMywzLDIsMCwzXSxbMiwzLDMsMCwzLDBdLFswLDAsMCwwLDAsMl0sWzMsMCwyLDIsMywyXSxbNCwyLDAsMCwyLDBdLFswLDAsMiwwLDAsMl1dLFwibWluX3N0ZXBzXCI6MTB9LHtcImlkXCI6XCI3MDAyXCIsXCJtYXBcIjpbWzEsMCwzLDIsMCwyXSxbMCwzLDAsMCwwLDJdLFswLDIsMCwzLDIsMl0sWzAsMywwLDAsMCwwXSxbMCwyLDAsMywzLDBdLFszLDIsMiwwLDAsM10sWzAsMywyLDMsMCwyXSxbMCwwLDAsMCwwLDBdLFsyLDAsMCwyLDMsNF1dLFwibWluX3N0ZXBzXCI6MTF9LHtcImlkXCI6XCI3MDA1XCIsXCJtYXBcIjpbWzAsMCwwLDAsMCwwXSxbMCwwLDAsMywyLDRdLFswLDMsMCwwLDMsM10sWzMsMywwLDIsMCwzXSxbMCwyLDIsMCwzLDJdLFswLDAsMywwLDIsMF0sWzAsMiwwLDIsMCwwXSxbMywwLDAsMiwyLDBdLFswLDAsMiwyLDAsMV1dLFwibWluX3N0ZXBzXCI6MTF9LHtcImlkXCI6XCI3MDA2XCIsXCJtYXBcIjpbWzAsMCwwLDAsMiwzXSxbMywyLDAsMCwwLDBdLFswLDIsMCwzLDMsNF0sWzAsMCwwLDIsMiwzXSxbMiwwLDAsMCwwLDBdLFswLDAsMCwwLDMsMF0sWzMsMCwzLDMsMCwyXSxbMywwLDIsMiwwLDJdLFswLDAsMiwyLDAsMV1dLFwibWluX3N0ZXBzXCI6MTF9LHtcImlkXCI6XCI3MDA3XCIsXCJtYXBcIjpbWzIsMCwyLDAsMiwwXSxbMCwwLDIsMCwzLDJdLFswLDAsMCwzLDMsMF0sWzAsMiwwLDAsMywyXSxbMywwLDAsMiwwLDBdLFszLDMsMCwwLDAsMl0sWzAsMiwwLDMsMiwwXSxbMCwyLDMsMCwwLDBdLFs0LDMsMCwwLDEsMF1dLFwibWluX3N0ZXBzXCI6MTF9LHtcImlkXCI6XCI3MDI2XCIsXCJtYXBcIjpbWzIsNCwyLDAsMCwwXSxbMCwzLDMsMCwzLDBdLFszLDMsMywwLDAsM10sWzIsMCwzLDAsMCwyXSxbMCwyLDIsMywwLDNdLFsxLDAsMiwwLDIsMF0sWzMsMywwLDAsMCwwXSxbMiwwLDAsMCwzLDJdLFsyLDAsMywyLDMsMF1dLFwibWluX3N0ZXBzXCI6MTF9LHtcImlkXCI6XCI3MDI3XCIsXCJtYXBcIjpbWzIsMCwwLDAsMCwyXSxbMCwwLDMsMywyLDNdLFswLDAsMywwLDAsMV0sWzAsMywwLDMsMywzXSxbMCwwLDAsMCwwLDJdLFszLDMsMiwwLDAsMl0sWzMsMywwLDIsMCwzXSxbMCwzLDIsMiwyLDBdLFswLDMsNCwyLDIsMF1dLFwibWluX3N0ZXBzXCI6MTF9LHtcImlkXCI6XCI3MDI5XCIsXCJtYXBcIjpbWzAsMCwxLDAsMCwwXSxbMywzLDAsMCwzLDJdLFszLDAsMCwwLDIsMF0sWzAsMiwwLDIsMiwwXSxbMiwzLDMsMywwLDNdLFszLDIsMiwzLDAsMF0sWzIsMCwzLDAsMCwzXSxbMywyLDAsMCwwLDNdLFs0LDIsMCwwLDMsMl1dLFwibWluX3N0ZXBzXCI6MTF9LHtcImlkXCI6XCI3MDA4XCIsXCJtYXBcIjpbWzEsMCwwLDAsMiwwXSxbMywzLDIsMCwzLDBdLFszLDAsMywwLDAsMF0sWzAsMCwzLDAsMCwzXSxbMiwyLDAsMywwLDNdLFsyLDAsMiwwLDAsMF0sWzIsMCwyLDAsMCwyXSxbMiwwLDAsMiwwLDBdLFs0LDMsMCwwLDAsMl1dLFwibWluX3N0ZXBzXCI6MTJ9LHtcImlkXCI6XCI3MDEwXCIsXCJtYXBcIjpbWzQsMywwLDMsMSwwXSxbMCwwLDMsMywwLDBdLFswLDMsMCwwLDIsMl0sWzIsMCwzLDAsMCwyXSxbMywyLDAsMiwzLDBdLFswLDAsMCwwLDAsMF0sWzAsMiwwLDIsMiwwXSxbMCwyLDAsMywwLDJdLFswLDIsMCwwLDAsM11dLFwibWluX3N0ZXBzXCI6MTJ9LHtcImlkXCI6XCI3MDE2XCIsXCJtYXBcIjpbWzIsMyw0LDAsMCwzXSxbMCwzLDIsMiwzLDFdLFswLDIsMiwzLDAsMF0sWzMsMCwzLDAsMiwwXSxbMywwLDAsMCwyLDJdLFswLDAsMywzLDAsMF0sWzAsMywwLDMsMiwwXSxbMCwwLDMsMCwzLDJdLFswLDIsMiwzLDAsMF1dLFwibWluX3N0ZXBzXCI6MTJ9LHtcImlkXCI6XCI3MDIwXCIsXCJtYXBcIjpbWzIsMywwLDQsMywzXSxbMywzLDAsMCwzLDBdLFswLDIsMCwzLDIsMF0sWzAsMywwLDAsMCwyXSxbMywyLDAsMCwwLDBdLFswLDAsMywyLDAsM10sWzAsMywwLDMsMiwwXSxbMywyLDIsMCwwLDJdLFswLDAsMiwxLDMsMl1dLFwibWluX3N0ZXBzXCI6MTJ9LHtcImlkXCI6XCI3MDI0XCIsXCJtYXBcIjpbWzEsMywyLDAsMCwzXSxbMiwzLDIsMCwwLDBdLFswLDIsMywwLDMsM10sWzMsMCwwLDIsMCwzXSxbMiwzLDAsMCwwLDNdLFszLDMsMCwwLDAsMF0sWzIsMCwzLDAsMCwyXSxbMCwwLDIsMCwyLDJdLFs0LDIsMywwLDMsMF1dLFwibWluX3N0ZXBzXCI6MTJ9LHtcImlkXCI6XCI3MDMyXCIsXCJtYXBcIjpbWzAsMCwwLDAsMyw0XSxbMCwwLDMsMywzLDJdLFsyLDIsMywzLDAsMF0sWzAsMCwzLDIsMCwwXSxbMCwyLDAsMiwzLDJdLFswLDIsMywwLDAsM10sWzIsMywzLDAsMCwyXSxbMSwwLDMsMCwzLDJdLFswLDAsMywwLDAsMl1dLFwibWluX3N0ZXBzXCI6MTJ9LHtcImlkXCI6XCI3MDMzXCIsXCJtYXBcIjpbWzEsMCwwLDMsMCwzXSxbMywzLDIsMCwyLDBdLFswLDMsMywyLDAsMl0sWzMsMiwwLDMsMCwwXSxbNCwyLDIsMiwwLDBdLFswLDMsMCwwLDAsMF0sWzMsMywzLDAsMCwyXSxbMywwLDMsMiwwLDNdLFsyLDAsMCwwLDAsMl1dLFwibWluX3N0ZXBzXCI6MTJ9LHtcImlkXCI6XCI3MDM1XCIsXCJtYXBcIjpbWzMsMCwwLDIsMCw0XSxbMywwLDIsMywzLDNdLFswLDAsMiwzLDAsMl0sWzMsMCwzLDMsMywwXSxbMiwyLDAsMCwwLDBdLFsyLDIsMywwLDAsMF0sWzAsMCwyLDMsMCwwXSxbMCwyLDAsMywyLDNdLFswLDAsMywxLDIsMF1dLFwibWluX3N0ZXBzXCI6MTJ9LHtcImlkXCI6XCI3MDM2XCIsXCJtYXBcIjpbWzIsMywxLDAsMCwyXSxbMCwzLDAsMCwwLDBdLFsyLDAsMiwwLDAsM10sWzAsMCwzLDMsMCwzXSxbMCwyLDIsMCwwLDNdLFswLDMsMiwzLDMsMF0sWzAsMywyLDAsMCwyXSxbMCwzLDIsMCwyLDNdLFsyLDAsMywzLDQsMF1dLFwibWluX3N0ZXBzXCI6MTJ9LHtcImlkXCI6XCI3MDM3XCIsXCJtYXBcIjpbWzIsMCwwLDAsMCwzXSxbMCwyLDMsMCwyLDJdLFswLDAsMywwLDIsMF0sWzAsMiwyLDAsMCwwXSxbMywyLDMsMCwwLDNdLFswLDAsMywzLDAsM10sWzMsMiwzLDAsMCwzXSxbMCwwLDMsMywyLDBdLFs0LDMsMSwyLDAsMl1dLFwibWluX3N0ZXBzXCI6MTJ9LHtcImlkXCI6XCI3MDM5XCIsXCJtYXBcIjpbWzIsMCwzLDMsMiwwXSxbMCwwLDAsMCwyLDNdLFsxLDMsMCwwLDAsMl0sWzAsMiwzLDIsMiwyXSxbMCwwLDMsMCwwLDBdLFswLDMsMCwwLDMsMF0sWzMsMCwwLDIsMywyXSxbMiwwLDMsMCwyLDNdLFswLDQsMywwLDMsM11dLFwibWluX3N0ZXBzXCI6MTJ9LHtcImlkXCI6XCI3MDQwXCIsXCJtYXBcIjpbWzAsMiwzLDMsNCwwXSxbMCwyLDAsMCwzLDJdLFswLDAsMywwLDIsMF0sWzMsMCwyLDAsMCwzXSxbMiwwLDAsMywwLDNdLFszLDMsMCwyLDIsMF0sWzIsMiwzLDAsMiwwXSxbMSwzLDAsMCwyLDNdLFswLDAsMCwzLDAsM11dLFwibWluX3N0ZXBzXCI6MTJ9LHtcImlkXCI6XCI3MDQxXCIsXCJtYXBcIjpbWzMsMywwLDIsMywxXSxbMCwzLDMsMiwwLDJdLFswLDIsMCwwLDAsMF0sWzAsMCwwLDAsMCwwXSxbMywzLDMsMiwzLDBdLFswLDMsMywyLDMsMl0sWzQsMCwzLDAsMiwwXSxbMiwyLDIsMCwwLDBdLFswLDMsMiwwLDMsMF1dLFwibWluX3N0ZXBzXCI6MTJ9LHtcImlkXCI6XCI3MDA0XCIsXCJtYXBcIjpbWzIsMCwwLDIsMCwwXSxbMCwzLDAsMCwwLDFdLFswLDIsMCwwLDAsMF0sWzAsMCwwLDAsMiwwXSxbMCwwLDMsMywzLDJdLFswLDAsMCwzLDIsM10sWzAsMCwyLDAsMCwzXSxbMCwyLDMsMiwyLDRdLFszLDIsMiwwLDMsMF1dLFwibWluX3N0ZXBzXCI6MTN9LHtcImlkXCI6XCI3MDA5XCIsXCJtYXBcIjpbWzQsMCwzLDEsMCwyXSxbMCwyLDMsMywzLDBdLFswLDIsMywyLDIsMF0sWzMsMCwzLDAsMCwyXSxbMCwwLDAsMCwwLDBdLFszLDIsMCwwLDIsMF0sWzMsMiwwLDAsMiwwXSxbMCwwLDIsMiwyLDBdLFswLDAsMCwwLDMsMF1dLFwibWluX3N0ZXBzXCI6MTN9LHtcImlkXCI6XCI3MDE0XCIsXCJtYXBcIjpbWzMsNCwyLDMsMCwwXSxbMiwzLDAsMywwLDBdLFswLDIsMiwwLDAsMF0sWzAsMywzLDAsMywzXSxbMCwwLDAsMCwwLDBdLFszLDIsMCwwLDIsMl0sWzIsMiwyLDIsMCwzXSxbMCwwLDMsMywwLDNdLFsxLDIsMCwzLDMsMF1dLFwibWluX3N0ZXBzXCI6MTN9LHtcImlkXCI6XCI3MDE1XCIsXCJtYXBcIjpbWzIsMyw0LDAsMywwXSxbMSwyLDMsMiwzLDBdLFswLDAsMywwLDIsMF0sWzIsMCwwLDMsMCwwXSxbMiwyLDAsMiwwLDNdLFswLDAsMiwwLDAsMF0sWzMsMCwwLDMsMywwXSxbMCwwLDMsMCwyLDNdLFszLDAsMywyLDMsMl1dLFwibWluX3N0ZXBzXCI6MTN9LHtcImlkXCI6XCI3MDI1XCIsXCJtYXBcIjpbWzIsMywxLDAsMywzXSxbMCwwLDIsMywyLDBdLFswLDIsMCwwLDAsM10sWzAsMywwLDAsMCwzXSxbMiwwLDAsMywyLDBdLFswLDAsMiwzLDAsMl0sWzIsMCwzLDIsMCwzXSxbMywzLDAsMCwzLDNdLFsyLDQsMCwyLDAsMF1dLFwibWluX3N0ZXBzXCI6MTN9LHtcImlkXCI6XCI3MDMwXCIsXCJtYXBcIjpbWzIsMCwxLDIsMCwwXSxbMCwyLDMsMywwLDJdLFsyLDMsMywzLDAsMl0sWzMsMCwwLDIsMiwwXSxbMCwzLDAsMywyLDBdLFswLDAsMiwwLDIsM10sWzMsMywwLDMsMywyXSxbNCwzLDAsMCwwLDBdLFswLDAsMCwwLDAsM11dLFwibWluX3N0ZXBzXCI6MTN9LHtcImlkXCI6XCI3MDMxXCIsXCJtYXBcIjpbWzAsMiwyLDMsNCwyXSxbMywzLDAsMCwyLDJdLFswLDAsMCwzLDIsMF0sWzAsMywwLDAsMywzXSxbMCwyLDAsMiwzLDBdLFsyLDMsMCwwLDAsMF0sWzMsMywwLDMsMCwyXSxbMCwwLDIsMywzLDNdLFsxLDAsMiwwLDAsMF1dLFwibWluX3N0ZXBzXCI6MTN9LHtcImlkXCI6XCI3MDM4XCIsXCJtYXBcIjpbWzQsMiwzLDMsMiwzXSxbMCwzLDAsMiwzLDBdLFswLDAsMCwyLDAsMl0sWzMsMywyLDMsMCwwXSxbMCwzLDAsMywyLDNdLFswLDIsMiwyLDAsMF0sWzEsMywwLDAsMywwXSxbMiwwLDAsMCwzLDJdLFswLDAsMywwLDAsMF1dLFwibWluX3N0ZXBzXCI6MTN9LHtcImlkXCI6XCI3MDExXCIsXCJtYXBcIjpbWzAsMSwwLDAsMiwwXSxbMywwLDMsMywyLDNdLFswLDMsMywyLDAsMF0sWzAsMCwyLDAsMywzXSxbMiwzLDIsMCwwLDBdLFszLDIsMiwzLDMsMF0sWzIsMCwyLDIsMCw0XSxbMCwyLDAsMywwLDBdLFswLDAsMCwzLDAsM11dLFwibWluX3N0ZXBzXCI6MTR9LHtcImlkXCI6XCI3MDE3XCIsXCJtYXBcIjpbWzIsMCwwLDMsMCwzXSxbNCwzLDAsMiwwLDNdLFszLDAsMCwwLDMsMF0sWzIsMCwwLDIsMCwwXSxbMywwLDAsMywwLDBdLFsyLDMsMCwyLDIsMl0sWzEsMywzLDAsMiwyXSxbMCwzLDAsMCwzLDBdLFswLDIsMCwzLDMsMl1dLFwibWluX3N0ZXBzXCI6MTR9LHtcImlkXCI6XCI3MDE5XCIsXCJtYXBcIjpbWzAsMywwLDIsMywxXSxbMCwzLDAsMiwwLDJdLFswLDIsMiwwLDMsM10sWzAsMCwzLDIsMCwzXSxbMCwwLDMsMiwyLDBdLFsyLDIsMywwLDIsMl0sWzAsMywwLDAsMywwXSxbMywwLDAsMywzLDBdLFswLDAsMCwzLDAsNF1dLFwibWluX3N0ZXBzXCI6MTR9LHtcImlkXCI6XCI3MDIxXCIsXCJtYXBcIjpbWzAsMCwwLDAsMiw0XSxbMywwLDIsMCwwLDBdLFszLDAsMiwzLDMsM10sWzIsMCwzLDMsMywwXSxbMiwwLDAsMCwyLDNdLFszLDMsMCwwLDAsMl0sWzEsMCwzLDAsMiwyXSxbMiwyLDAsMiwwLDBdLFswLDAsMywzLDAsM11dLFwibWluX3N0ZXBzXCI6MTR9LHtcImlkXCI6XCI3MDIyXCIsXCJtYXBcIjpbWzQsMCwwLDAsMCwwXSxbMCwwLDAsMCwzLDJdLFszLDMsMiwzLDMsMl0sWzIsMCwwLDAsMCwyXSxbMCwwLDMsMCwzLDNdLFsyLDAsMiwzLDIsMV0sWzMsMiwzLDAsMCwzXSxbMiwwLDAsMywyLDJdLFszLDMsMCwwLDAsMF1dLFwibWluX3N0ZXBzXCI6MTV9LHtcImlkXCI6XCI3MDI4XCIsXCJtYXBcIjpbWzAsMiwxLDMsMCwyXSxbMCwzLDMsMywwLDJdLFswLDAsMCwzLDAsMl0sWzMsMCwwLDMsMiw0XSxbMiwwLDAsMywyLDJdLFsyLDIsMywwLDAsM10sWzAsMiwwLDAsMCwwXSxbMCwzLDMsMywyLDBdLFswLDMsMCwzLDAsMF1dLFwibWluX3N0ZXBzXCI6MTZ9LHtcImlkXCI6XCI3MDM0XCIsXCJtYXBcIjpbWzEsMCwwLDMsMiwwXSxbMCwyLDIsMywzLDBdLFszLDAsMCwyLDAsM10sWzIsMywyLDIsMCwzXSxbMCwwLDMsMCwwLDNdLFszLDAsMCwwLDMsMF0sWzIsMywwLDMsMiw0XSxbMCwzLDAsMCwwLDNdLFswLDIsMCwwLDIsMl1dLFwibWluX3N0ZXBzXCI6MTZ9LHtcImlkXCI6XCI3MDEyXCIsXCJtYXBcIjpbWzEsMywzLDMsMCwwXSxbMCwzLDAsMiwwLDBdLFswLDAsMCwzLDAsMl0sWzMsMCwwLDMsMiwzXSxbMCwwLDIsMCwwLDNdLFswLDAsMiwzLDIsMF0sWzIsMiwzLDIsMywyXSxbMCwzLDAsMiwwLDJdLFswLDMsNCwzLDAsMF1dLFwibWluX3N0ZXBzXCI6MTd9LHtcImlkXCI6XCI3MDEzXCIsXCJtYXBcIjpbWzAsMSwwLDAsMywzXSxbMCwyLDAsMywwLDBdLFsyLDMsMCwwLDAsMF0sWzAsMCwwLDMsMCwzXSxbMCwzLDAsMiwzLDJdLFsyLDAsMywzLDIsMF0sWzAsMiwyLDMsMCwyXSxbMiwzLDIsMCwzLDBdLFswLDMsMywwLDIsNF1dLFwibWluX3N0ZXBzXCI6MTd9LHtcImlkXCI6XCI3MDE4XCIsXCJtYXBcIjpbWzAsMCwwLDAsMCwyXSxbMSwwLDMsMywwLDJdLFszLDMsMCwzLDIsM10sWzAsMywwLDIsMCwwXSxbMCwzLDAsMCwyLDJdLFszLDAsMCwyLDMsMF0sWzAsMywzLDMsMCwwXSxbMiwwLDMsMCwwLDJdLFsyLDQsMiwwLDMsMl1dLFwibWluX3N0ZXBzXCI6MTd9LHtcImlkXCI6XCI3MDQyXCIsXCJtYXBcIjpbWzEsMiwwLDAsMywwXSxbMywzLDIsMywwLDBdLFswLDAsMiwwLDIsMl0sWzMsMywwLDAsMCwwXSxbMywwLDMsMywwLDNdLFszLDIsMiwwLDAsMF0sWzQsMiwzLDAsMiwyXSxbMiwwLDMsMCwyLDJdLFsyLDAsMywwLDMsMl1dLFwibWluX3N0ZXBzXCI6MTd9LHtcImlkXCI6XCI3MDQzXCIsXCJtYXBcIjpbWzAsMCwzLDAsMSwwXSxbMiwwLDAsMiwwLDBdLFszLDAsMywwLDIsMl0sWzAsMCwwLDMsMiwzXSxbMiwzLDIsMywyLDNdLFswLDMsMywwLDMsNF0sWzAsMywzLDIsMywwXSxbMCwyLDIsMCwyLDBdLFsyLDIsMCwwLDMsMl1dLFwibWluX3N0ZXBzXCI6MTd9LHtcImlkXCI6XCI3MDQ0XCIsXCJtYXBcIjpbWzAsMCwxLDMsMCw0XSxbMywwLDMsMCwyLDNdLFsyLDIsMywyLDMsMF0sWzIsMywyLDIsMCwzXSxbMCwzLDAsMCwzLDBdLFsyLDAsMywyLDMsM10sWzAsMywyLDIsMywwXSxbMCwwLDAsMCwyLDBdLFsyLDAsMiwyLDAsMF1dLFwibWluX3N0ZXBzXCI6MTd9LHtcImlkXCI6XCI3MDQ1XCIsXCJtYXBcIjpbWzIsMywyLDAsMCwzXSxbMCwwLDAsMywyLDJdLFszLDAsMCwzLDAsMF0sWzAsMCwzLDIsMywyXSxbMiwzLDIsMywzLDFdLFswLDAsMCwzLDAsM10sWzMsMiwwLDAsMiwwXSxbMywyLDIsMCwwLDJdLFswLDQsMCwzLDIsMl1dLFwibWluX3N0ZXBzXCI6MTd9LHtcImlkXCI6XCI3MDQ2XCIsXCJtYXBcIjpbWzAsMywwLDIsMCwwXSxbMCwyLDIsMCwwLDFdLFswLDAsMywzLDMsMl0sWzIsMiwzLDMsMiwyXSxbMywzLDMsMCwyLDNdLFs0LDIsMiwzLDAsMl0sWzAsMCwzLDIsMCwyXSxbMCwzLDAsMCwyLDNdLFswLDAsMCwzLDAsMF1dLFwibWluX3N0ZXBzXCI6MTd9LHtcImlkXCI6XCI3MDQ3XCIsXCJtYXBcIjpbWzMsMiw0LDMsMiwwXSxbMiwwLDMsMiwwLDBdLFsyLDMsMywyLDMsMF0sWzIsMCwwLDIsMCwwXSxbMiwzLDAsMCwwLDBdLFszLDAsMiwwLDMsMF0sWzIsMiwzLDAsMiwwXSxbMCwzLDMsMCwzLDBdLFsxLDIsMywyLDAsM11dLFwibWluX3N0ZXBzXCI6MTd9LHtcImlkXCI6XCI3MDQ4XCIsXCJtYXBcIjpbWzIsMCwzLDQsMiwyXSxbMCwwLDMsMCwzLDBdLFsyLDAsMCwyLDMsM10sWzIsMCwzLDMsMiwzXSxbMCwwLDAsMCwwLDBdLFsyLDIsMiwwLDAsM10sWzMsMywzLDMsMiwyXSxbMCwwLDMsMCwwLDJdLFszLDEsMiwwLDIsMF1dLFwibWluX3N0ZXBzXCI6MTd9XV1cclxuXHJcblxyXG4gICAgICAgIHRoaXMuTEVWRUxfSU5GTy51bnNoaWZ0KFt7XCJpZFwiOlwiMDAwMVwiLFwibWFwXCI6W1szLCAyLCAyLCAwLCAyXSxbMCwgMCwgMywgMywgMF0sWzEsIDMsIDAsIDMsIDJdLFszLCAwLCAyLCAzLCA0XSxbMywgMiwgMywgMywgMl1dLFwibWluX3N0ZXBzXCI6NH1dKTtcclxuICAgICAgICBcclxuXHJcbiAgICAgICAgICAgIFxyXG4gICAgICAgIFxyXG4gICAgfVxyXG5cclxuXHJcbiAgICBzdGF0aWMgQXV0aGVudGljYXRpb24oKXtcclxuICAgICAgICBjYy5meC5HYW1lVG9vbC5BdXRoZW50aWNhdGlvbigpO1xyXG4gICAgfVxyXG59XHJcblxyXG4iXX0= +//------QC-SOURCE-SPLIT------ + + (function() { + var nodeEnv = typeof require !== 'undefined' && typeof process !== 'undefined'; + var __module = nodeEnv ? module : {exports:{}}; + var __filename = 'preview-scripts/assets/Script/module/RankList/ItemRender.js'; + var __require = nodeEnv ? function (request) { + return cc.require(request); + } : function (request) { + return __quick_compile_project__.require(request, __filename); + }; + function __define (exports, require, module) { + if (!nodeEnv) {__quick_compile_project__.registerModule(__filename, module);}"use strict"; +cc._RF.push(module, 'ca0f9k0oBVDbpQC+OMNTF3m', 'ItemRender'); +// Script/module/RankList/ItemRender.ts + +"use strict"; +var __extends = (this && this.__extends) || (function () { + var extendStatics = function (d, b) { + extendStatics = Object.setPrototypeOf || + ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) || + function (d, b) { for (var p in b) if (Object.prototype.hasOwnProperty.call(b, p)) d[p] = b[p]; }; + return extendStatics(d, b); + }; + return function (d, b) { + extendStatics(d, b); + function __() { this.constructor = d; } + d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __()); + }; +})(); +var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) { + var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d; + if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc); + else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r; + return c > 3 && r && Object.defineProperty(target, key, r), r; +}; +Object.defineProperty(exports, "__esModule", { value: true }); +var _a = cc._decorator, ccclass = _a.ccclass, property = _a.property; +var ItemRender = /** @class */ (function (_super) { + __extends(ItemRender, _super); + function ItemRender() { + var _this = _super !== null && _super.apply(this, arguments) || this; + /**数据 */ + _this.data = null; + /**索引 0表示第一项*/ + _this.itemIndex = 0; + return _this; + } + /**数据改变时调用 */ + ItemRender.prototype.dataChanged = function () { + cc.fx.GameTool.subName(this.data.name, 6); + this.node.getChildByName("rankLab").getComponent(cc.Label).string = this.data.rank + ""; + this.node.getChildByName("nameLab").getComponent(cc.Label).string = this.data.name + ""; + this.node.getChildByName("totalLab").getComponent(cc.Label).string = this.data.total; + var timeTemp = cc.fx.GameTool.getTimeShenNong(this.data.time); + // this.node.getChildByName("timeLab").getComponent(cc.Label).string = timeTemp + ""; + this.node.getChildByName("rank").getChildByName("one").active = false; + this.node.getChildByName("rank").getChildByName("two").active = false; + this.node.getChildByName("rank").getChildByName("three").active = false; + if (this.data.rank == 1) { + this.node.getChildByName("rank").getChildByName("one").active = true; + this.node.getChildByName("rankLab").active = false; + } + else if (this.data.rank == 2) { + this.node.getChildByName("rank").getChildByName("two").active = true; + this.node.getChildByName("rankLab").active = false; + } + else if (this.data.rank == 3) { + this.node.getChildByName("rank").getChildByName("three").active = true; + this.node.getChildByName("rankLab").active = false; + } + else { + this.node.getChildByName("rankLab").active = true; + } + this.setPic(); + }; + ItemRender.prototype.setPic = function () { + var _this = this; + this.node.getChildByName("pic").getChildByName("icon").active = false; + this.node.getChildByName("pic").getChildByName("pic").active = false; + var self = this; + var url = this.data.pic; + fetch(url) + .then(function (response) { + return response.headers.get('Content-Length'); + }) + .then(function (errNo) { + // console.log(this.data.rank,'X-Info:', errNo); // 输出X-ErrNo的值 + if (errNo == "5093") { + // console.log(this.data.rank,"没头像"); + _this.node.getChildByName("pic").getChildByName("icon").active = true; + } + }) + .catch(function (error) { + // console.error('Error fetching X-Info:', error); + }); + cc.assetManager.loadRemote(url, { ext: '.png' }, function (err, texture) { + if (texture) { + _this.node.getChildByName("pic").getChildByName("pic").active = true; + var sprite = _this.node.getChildByName("pic").getChildByName("pic").getComponent(cc.Sprite); + sprite.spriteFrame = new cc.SpriteFrame(texture); + // console.log(this.data.rank,"设置头像成功",err); + } + else { + // console.log("设置头像失败",url); + console.log(err, texture); + } + }); + }; + ItemRender = __decorate([ + ccclass + ], ItemRender); + return ItemRender; +}(cc.Component)); +exports.default = ItemRender; + +cc._RF.pop(); + } + if (nodeEnv) { + __define(__module.exports, __require, __module); + } + else { + __quick_compile_project__.registerModuleFunc(__filename, function () { + __define(__module.exports, __require, __module); + }); + } + })(); +//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbImFzc2V0c1xcU2NyaXB0XFxtb2R1bGVcXFJhbmtMaXN0XFxJdGVtUmVuZGVyLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OztBQUdNLElBQUEsS0FBd0IsRUFBRSxDQUFDLFVBQVUsRUFBbkMsT0FBTyxhQUFBLEVBQUUsUUFBUSxjQUFrQixDQUFDO0FBRzVDO0lBQXdDLDhCQUFZO0lBQXBEO1FBQUEscUVBcUVDO1FBcEVHLFFBQVE7UUFDRCxVQUFJLEdBQU8sSUFBSSxDQUFDO1FBQ3ZCLGNBQWM7UUFDUCxlQUFTLEdBQVUsQ0FBQyxDQUFDOztJQWlFaEMsQ0FBQztJQS9ERyxhQUFhO0lBQ04sZ0NBQVcsR0FBbEI7UUFDSSxFQUFFLENBQUMsRUFBRSxDQUFDLFFBQVEsQ0FBQyxPQUFPLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxJQUFJLEVBQUMsQ0FBQyxDQUFDLENBQUM7UUFDekMsSUFBSSxDQUFDLElBQUksQ0FBQyxjQUFjLENBQUMsU0FBUyxDQUFDLENBQUMsWUFBWSxDQUFDLEVBQUUsQ0FBQyxLQUFLLENBQUMsQ0FBQyxNQUFNLEdBQUcsSUFBSSxDQUFDLElBQUksQ0FBQyxJQUFJLEdBQUcsRUFBRSxDQUFDO1FBQ3hGLElBQUksQ0FBQyxJQUFJLENBQUMsY0FBYyxDQUFDLFNBQVMsQ0FBQyxDQUFDLFlBQVksQ0FBQyxFQUFFLENBQUMsS0FBSyxDQUFDLENBQUMsTUFBTSxHQUFHLElBQUksQ0FBQyxJQUFJLENBQUMsSUFBSSxHQUFHLEVBQUUsQ0FBQztRQUN4RixJQUFJLENBQUMsSUFBSSxDQUFDLGNBQWMsQ0FBQyxVQUFVLENBQUMsQ0FBQyxZQUFZLENBQUMsRUFBRSxDQUFDLEtBQUssQ0FBQyxDQUFDLE1BQU0sR0FBRyxJQUFJLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQztRQUNyRixJQUFJLFFBQVEsR0FBRyxFQUFFLENBQUMsRUFBRSxDQUFDLFFBQVEsQ0FBQyxlQUFlLENBQUMs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LENBQUMsQ0FBQztRQUNILEVBQUUsQ0FBQyxZQUFZLENBQUMsVUFBVSxDQUFDLEdBQUcsRUFBRSxFQUFDLEdBQUcsRUFBQyxNQUFNLEVBQUMsRUFBQyxVQUFDLEdBQUcsRUFBRSxPQUFvQjtZQUNuRSxJQUFHLE9BQU8sRUFBQztnQkFDUCxLQUFJLENBQUMsSUFBSSxDQUFDLGNBQWMsQ0FBQyxLQUFLLENBQUMsQ0FBQyxjQUFjLENBQUMsS0FBSyxDQUFDLENBQUMsTUFBTSxHQUFFLElBQUksQ0FBQztnQkFDbkUsSUFBSSxNQUFNLEdBQUcsS0FBSSxDQUFDLElBQUksQ0FBQyxjQUFjLENBQUMsS0FBSyxDQUFDLENBQUMsY0FBYyxDQUFDLEtBQUssQ0FBQyxDQUFDLFlBQVksQ0FBQyxFQUFFLENBQUMsTUFBTSxDQUFDLENBQUM7Z0JBQzNGLE1BQU0sQ0FBQyxXQUFXLEdBQUcsSUFBSSxFQUFFLENBQUMsV0FBVyxDQUFDLE9BQU8sQ0FBQyxDQUFDO2dCQUNqRCw0Q0FBNEM7YUFDL0M7aUJBQ0c7Z0JBQ0EsNkJBQTZCO2dCQUM3QixPQUFPLENBQUMsR0FBRyxDQUFDLEdBQUcsRUFBQyxPQUFPLENBQUMsQ0FBQTthQUMzQjtRQUNMLENBQUMsQ0FBQyxDQUFBO0lBQ04sQ0FBQztJQWxFZ0IsVUFBVTtRQUQ5QixPQUFPO09BQ2EsVUFBVSxDQXFFOUI7SUFBRCxpQkFBQztDQXJFRCxBQXFFQyxDQXJFdUMsRUFBRSxDQUFDLFNBQVMsR0FxRW5EO2tCQXJFb0IsVUFBVSIsImZpbGUiOiIiLCJzb3VyY2VSb290IjoiLyIsInNvdXJjZXNDb250ZW50IjpbIlxyXG5pbXBvcnQgTGlzdCwgeyBMaXN0VHlwZSB9IGZyb20gXCIuL0xpc3RcIjtcclxuXHJcbmNvbnN0IHsgY2NjbGFzcywgcHJvcGVydHkgfSA9IGNjLl9kZWNvcmF0b3I7XHJcblxyXG5AY2NjbGFzc1xyXG5leHBvcnQgZGVmYXVsdCBjbGFzcyBJdGVtUmVuZGVyIGV4dGVuZHMgY2MuQ29tcG9uZW50IHtcclxuICAgIC8qKuaVsOaNriAqL1xyXG4gICAgcHVibGljIGRhdGE6YW55ID0gbnVsbDtcclxuICAgIC8qKue0ouW8lSAw6KGo56S656ys5LiA6aG5Ki9cclxuICAgIHB1YmxpYyBpdGVtSW5kZXg6bnVtYmVyID0gMDsgICAgXHJcblxyXG4gICAgLyoq5pWw5o2u5pS55Y+Y5pe26LCD55SoICovXHJcbiAgICBwdWJsaWMgZGF0YUNoYW5nZWQoKXtcclxuICAgICAgICBjYy5meC5HYW1lVG9vbC5zdWJOYW1lKHRoaXMuZGF0YS5uYW1lLDYpO1xyXG4gICAgICAgIHRoaXMubm9kZS5nZXRDaGlsZEJ5TmFtZShcInJhbmtMYWJcIikuZ2V0Q29tcG9uZW50KGNjLkxhYmVsKS5zdHJpbmcgPSB0aGlzLmRhdGEucmFuayArIFwiXCI7XHJcbiAgICAgICAgdGhpcy5ub2RlLmdldENoaWxkQnlOYW1lKFwibmFtZUxhYlwiKS5nZXRDb21wb25lbnQoY2MuTGFiZWwpLnN0cmluZyA9IHRoaXMuZGF0YS5uYW1lICsgXCJcIjtcclxuICAgICAgICB0aGlzLm5vZGUuZ2V0Q2hpbGRCeU5hbWUoXCJ0b3RhbExhYlwiKS5nZXRDb21wb25lbnQoY2MuTGFiZWwpLnN0cmluZyA9IHRoaXMuZGF0YS50b3RhbDtcclxuICAgICAgICBsZXQgdGltZVRlbXAgPSBjYy5meC5HYW1lVG9vbC5nZXRUaW1lU2hlbk5vbmcodGhpcy5kYXRhLnRpbWUpO1xyXG4gICAgICAgIC8vIHRoaXMubm9kZS5nZXRDaGlsZEJ5TmFtZShcInRpbWVMYWJcIikuZ2V0Q29tcG9uZW50KGNjLkxhYmVsKS5zdHJpbmcgPSB0aW1lVGVtcCArIFwiXCI7XHJcbiAgICAgICAgdGhpcy5ub2RlLmdldENoaWxkQnlOYW1lKFwicmFua1wiKS5nZXRDaGlsZEJ5TmFtZShcIm9uZVwiKS5hY3RpdmUgPSBmYWxzZTtcclxuICAgICAgICB0aGlzLm5vZGUuZ2V0Q2hpbGRCeU5hbWUoXCJyYW5rXCIpLmdldENoaWxkQnlOYW1lKFwidHdvXCIpLmFjdGl2ZSA9IGZhbHNlO1xyXG4gICAgICAgIHRoaXMubm9kZS5nZXRDaGlsZEJ5TmFtZShcInJhbmtcIikuZ2V0Q2hpbGRCeU5hbWUoXCJ0aHJlZVwiKS5hY3RpdmUgPSBmYWxzZTtcclxuICAgICAgICBpZih0aGlzLmRhdGEucmFuayA9PSAxKXtcclxuICAgICAgICAgICAgdGhpcy5ub2RlLmdldENoaWxkQnlOYW1lKFwicmFua1wiKS5nZXRDaGlsZEJ5TmFtZShcIm9uZVwiKS5hY3RpdmUgPSB0cnVlO1xyXG4gICAgICAgICAgICB0aGlzLm5vZGUuZ2V0Q2hpbGRCeU5hbWUoXCJyYW5rTGFiXCIpLmFjdGl2ZSA9IGZhbHNlO1xyXG4gICAgICAgIH1cclxuICAgICAgICBlbHNlIGlmKHRoaXMuZGF0YS5yYW5rID09IDIpe1xyXG4gICAgICAgICAgICB0aGlzLm5vZGUuZ2V0Q2hpbGRCeU5hbWUoXCJyYW5rXCIpLmdldENoaWxkQnlOYW1lKFwidHdvXCIpLmFjdGl2ZSA9IHRydWU7XHJcbiAgICAgICAgICAgIHRoaXMubm9kZS5nZXRDaGlsZEJ5TmFtZShcInJhbmtMYWJcIikuYWN0aXZlID0gZmFsc2U7XHJcbiAgICAgICAgfVxyXG4gICAgICAgIGVsc2UgaWYodGhpcy5kYXRhLnJhbmsgPT0gMyl7XHJcbiAgICAgICAgICAgIHRoaXMubm9kZS5nZXRDaGlsZEJ5TmFtZShcInJhbmtcIikuZ2V0Q2hpbGRCeU5hbWUoXCJ0aHJlZVwiKS5hY3RpdmUgPSB0cnVlO1xyXG4gICAgICAgICAgICB0aGlzLm5vZGUuZ2V0Q2hpbGRCeU5hbWUoXCJyYW5rTGFiXCIpLmFjdGl2ZSA9IGZhbHNlO1xyXG4gICAgICAgIH1lbHNle1xyXG4gICAgICAgICAgICB0aGlzLm5vZGUuZ2V0Q2hpbGRCeU5hbWUoXCJyYW5rTGFiXCIpLmFjdGl2ZSA9IHRydWU7XHJcbiAgICAgICAgfVxyXG4gICAgICAgIHRoaXMuc2V0UGljKCk7XHJcbiAgICB9ICAgXHJcbiAgICBcclxuICAgIHB1YmxpYyBzZXRQaWMoKXtcclxuICAgICAgICB0aGlzLm5vZGUuZ2V0Q2hpbGRCeU5hbWUoXCJwaWNcIikuZ2V0Q2hpbGRCeU5hbWUoXCJpY29uXCIpLmFjdGl2ZSA9IGZhbHNlO1xyXG4gICAgICAgIHRoaXMubm9kZS5nZXRDaGlsZEJ5TmFtZShcInBpY1wiKS5nZXRDaGlsZEJ5TmFtZShcInBpY1wiKS5hY3RpdmU9IGZhbHNlO1xyXG4gICAgICAgIHZhciBzZWxmID0gdGhpcztcclxuICAgICAgICBsZXQgdXJsID0gdGhpcy5kYXRhLnBpYztcclxuICAgICAgICBmZXRjaCh1cmwpXHJcbiAgICAgICAgLnRoZW4ocmVzcG9uc2UgPT4ge1xyXG4gICAgICAgICAgICByZXR1cm4gcmVzcG9uc2UuaGVhZGVycy5nZXQoJ0NvbnRlbnQtTGVuZ3RoJyk7XHJcbiAgICAgICAgfSlcclxuXHJcbiAgICAgICAgLnRoZW4oZXJyTm8gPT4ge1xyXG4gICAgICAgICAgICAvLyBjb25zb2xlLmxvZyh0aGlzLmRhdGEucmFuaywnWC1JbmZvOicsIGVyck5vKTsgLy8g6L6T5Ye6WC1FcnJOb+eahOWAvFxyXG4gICAgICAgICAgICBpZihlcnJObyA9PSBcIjUwOTNcIil7XHJcbiAgICAgICAgICAgICAgICAvLyBjb25zb2xlLmxvZyh0aGlzLmRhdGEucmFuayxcIuayoeWktOWDj1wiKTtcclxuICAgICAgICAgICAgICAgIHRoaXMubm9kZS5nZXRDaGlsZEJ5TmFtZShcInBpY1wiKS5nZXRDaGlsZEJ5TmFtZShcImljb25cIikuYWN0aXZlID0gdHJ1ZTtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH0pXHJcbiAgICAgICAgLmNhdGNoKGVycm9yID0+IHtcclxuICAgICAgICAgICAgLy8gY29uc29sZS5lcnJvcignRXJyb3IgZmV0Y2hpbmcgWC1JbmZvOicsIGVycm9yKTtcclxuICAgICAgICB9KTtcclxuICAgICAgICBjYy5hc3NldE1hbmFnZXIubG9hZFJlbW90ZSh1cmwsIHtleHQ6Jy5wbmcnfSwoZXJyLCB0ZXh0dXJlOmNjLlRleHR1cmUyRCkgPT4ge1xyXG4gICAgICAgICAgICBpZih0ZXh0dXJlKXtcclxuICAgICAgICAgICAgICAgIHRoaXMubm9kZS5nZXRDaGlsZEJ5TmFtZShcInBpY1wiKS5nZXRDaGlsZEJ5TmFtZShcInBpY1wiKS5hY3RpdmU9IHRydWU7XHJcbiAgICAgICAgICAgICAgICB2YXIgc3ByaXRlID0gdGhpcy5ub2RlLmdldENoaWxkQnlOYW1lKFwicGljXCIpLmdldENoaWxkQnlOYW1lKFwicGljXCIpLmdldENvbXBvbmVudChjYy5TcHJpdGUpO1xyXG4gICAgICAgICAgICAgICAgc3ByaXRlLnNwcml0ZUZyYW1lID0gbmV3IGNjLlNwcml0ZUZyYW1lKHRleHR1cmUpO1xyXG4gICAgICAgICAgICAgICAgLy8gY29uc29sZS5sb2codGhpcy5kYXRhLnJhbmssXCLorr7nva7lpLTlg4/miJDlip9cIixlcnIpO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIGVsc2V7XHJcbiAgICAgICAgICAgICAgICAvLyBjb25zb2xlLmxvZyhcIuiuvue9ruWktOWDj+Wksei0pVwiLHVybCk7XHJcbiAgICAgICAgICAgICAgICBjb25zb2xlLmxvZyhlcnIsdGV4dHVyZSlcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH0pXHJcbiAgICB9XHJcblxyXG5cclxufVxyXG4iXX0= +//------QC-SOURCE-SPLIT------ + + (function() { + var nodeEnv = typeof require !== 'undefined' && typeof process !== 'undefined'; + var __module = nodeEnv ? module : {exports:{}}; + var __filename = 'preview-scripts/assets/Script/GameScene.js'; + var __require = nodeEnv ? function (request) { + return cc.require(request); + } : function (request) { + return __quick_compile_project__.require(request, __filename); + }; + function __define (exports, require, module) { + if (!nodeEnv) {__quick_compile_project__.registerModule(__filename, module);}"use strict"; +cc._RF.push(module, 'e8b235WjRBErajwLmN8xFUz', 'GameScene'); +// Script/GameScene.js + +// cc.Class({ +// extends: cc.Component, +// properties: { +// localTest: { +// default: false, +// tooltip: '本地测试时勾选,避免tz_url和Configure报错,提交前勾掉' +// }, +// clientTest: { +// default: false, +// tooltip: '客户端测试时勾选,展示版本标记方便测试区分,上线前勾掉' +// }, +// clientTestVersion: { +// default: '', +// tooltip: '版本标记' +// }, +// testVersion: cc.Label, +// score: cc.Label, +// double_hit: cc.Node, +// add: cc.Node, +// add2: cc.Node, +// double_title: cc.Node, +// count_time: cc.Node, +// beginNode: cc.Node, +// ball_nomal: [cc.SpriteFrame], +// bg_nomal: [cc.SpriteFrame], +// ball_light: [cc.SpriteFrame], +// kuang_Frame: [cc.SpriteFrame], +// daojishi: cc.Label, +// pause_anniu: cc.Sprite, +// mask: cc.Node, +// flashUI: { +// default: null, +// type: cc.SpriteAtlas +// }, +// }, +// onLoad() { +// }, +// update(dt) { +// }, +// }); +"use strict"; + +cc._RF.pop(); + } + if (nodeEnv) { + __define(__module.exports, __require, __module); + } + else { + __quick_compile_project__.registerModuleFunc(__filename, function () { + __define(__module.exports, __require, __module); + }); + } + })(); +//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbImFzc2V0c1xcU2NyaXB0XFxHYW1lU2NlbmUuanMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7Ozs7Ozs7O0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUVBO0FBR0E7QUFFQTtBQUVBO0FBRUEiLCJzb3VyY2VSb290IjoiLyIsInNvdXJjZXNDb250ZW50IjpbIlxyXG4vLyBjYy5DbGFzcyh7XHJcbi8vICAgICBleHRlbmRzOiBjYy5Db21wb25lbnQsXHJcbi8vICAgICBwcm9wZXJ0aWVzOiB7XHJcbi8vICAgICAgICAgbG9jYWxUZXN0OiB7XHJcbi8vICAgICAgICAgICAgIGRlZmF1bHQ6IGZhbHNlLFxyXG4vLyAgICAgICAgICAgICB0b29sdGlwOiAn5pys5Zyw5rWL6K+V5pe25Yu+6YCJ77yM6YG/5YWNdHpfdXJs5ZKMQ29uZmlndXJl5oql6ZSZ77yM5o+Q5Lqk5YmN5Yu+5o6JJ1xyXG4vLyAgICAgICAgIH0sXHJcbi8vICAgICAgICAgY2xpZW50VGVzdDoge1xyXG4vLyAgICAgICAgICAgICBkZWZhdWx0OiBmYWxzZSxcclxuLy8gICAgICAgICAgICAgdG9vbHRpcDogJ+WuouaIt+err+a1i+ivleaXtuWLvumAie+8jOWxleekuueJiOacrOagh+iusOaWueS+v+a1i+ivleWMuuWIhu+8jOS4iue6v+WJjeWLvuaOiSdcclxuLy8gICAgICAgICB9LFxyXG4vLyAgICAgICAgIGNsaWVudFRlc3RWZXJzaW9uOiB7XHJcbi8vICAgICAgICAgICAgIGRlZmF1bHQ6ICcnLFxyXG4vLyAgICAgICAgICAgICB0b29sdGlwOiAn54mI5pys5qCH6K6wJ1xyXG4vLyAgICAgICAgIH0sXHJcbi8vICAgICAgICAgdGVzdFZlcnNpb246IGNjLkxhYmVsLFxyXG4vLyAgICAgICAgIHNjb3JlOiBjYy5MYWJlbCxcclxuLy8gICAgICAgICBkb3VibGVfaGl0OiBjYy5Ob2RlLFxyXG4vLyAgICAgICAgIGFkZDogY2MuTm9kZSxcclxuLy8gICAgICAgICBhZGQyOiBjYy5Ob2RlLFxyXG4vLyAgICAgICAgIGRvdWJsZV90aXRsZTogY2MuTm9kZSxcclxuLy8gICAgICAgICBjb3VudF90aW1lOiBjYy5Ob2RlLFxyXG4vLyAgICAgICAgIGJlZ2luTm9kZTogY2MuTm9kZSxcclxuLy8gICAgICAgICBiYWxsX25vbWFsOiBbY2MuU3ByaXRlRnJhbWVdLFxyXG4vLyAgICAgICAgIGJnX25vbWFsOiBbY2MuU3ByaXRlRnJhbWVdLFxyXG4vLyAgICAgICAgIGJhbGxfbGlnaHQ6IFtjYy5TcHJpdGVGcmFtZV0sXHJcbi8vICAgICAgICAga3VhbmdfRnJhbWU6IFtjYy5TcHJpdGVGcmFtZV0sXHJcbi8vICAgICAgICAgZGFvamlzaGk6IGNjLkxhYmVsLFxyXG4vLyAgICAgICAgIHBhdXNlX2Fubml1OiBjYy5TcHJpdGUsXHJcbi8vICAgICAgICAgbWFzazogY2MuTm9kZSxcclxuXHJcbi8vICAgICAgICAgZmxhc2hVSToge1xyXG4vLyAgICAgICAgICAgICBkZWZhdWx0OiBudWxsLFxyXG4vLyAgICAgICAgICAgICB0eXBlOiBjYy5TcHJpdGVBdGxhc1xyXG4vLyAgICAgICAgIH0sXHJcbi8vICAgICB9LFxyXG5cclxuLy8gICAgIG9uTG9hZCgpIHtcclxuXHJcblxyXG4vLyAgICAgfSxcclxuXHJcbi8vICAgICB1cGRhdGUoZHQpIHtcclxuXHJcbi8vICAgICB9LFxyXG5cclxuLy8gfSk7Il19 +//------QC-SOURCE-SPLIT------ + + (function() { + var nodeEnv = typeof require !== 'undefined' && typeof process !== 'undefined'; + var __module = nodeEnv ? module : {exports:{}}; + var __filename = 'preview-scripts/assets/Script/module/Storage/Storage.js'; + var __require = nodeEnv ? function (request) { + return cc.require(request); + } : function (request) { + return __quick_compile_project__.require(request, __filename); + }; + function __define (exports, require, module) { + if (!nodeEnv) {__quick_compile_project__.registerModule(__filename, module);}"use strict"; +cc._RF.push(module, '1002938VFRJd70RiAno9Iys', 'Storage'); +// Script/module/Storage/Storage.ts + +"use strict"; +Object.defineProperty(exports, "__esModule", { value: true }); +exports.StorageMessage = void 0; +//缓存浏览器数据 +var StorageMessage = { + getStorage: function (key) { + var result = null; + if (cc.sys.localStorage.getItem(key)) { + var result = cc.sys.localStorage.getItem(key); + } + if (result) { + result = JSON.parse(result); + } + return result; + }, + setStorage: function (key, value) { + //主动拉起分享接口 + var temp = JSON.stringify(value); + cc.sys.localStorage.setItem(key, temp); + }, + removeStorage: function (key) { + //主动删除消息接口 + if (cc.sys.localStorage.getItem(key)) { + cc.sys.localStorage.removeItem(key); + } + }, +}; +exports.StorageMessage = StorageMessage; + +cc._RF.pop(); + } + if (nodeEnv) { + __define(__module.exports, __require, __module); + } + else { + __quick_compile_project__.registerModuleFunc(__filename, function () { + __define(__module.exports, __require, __module); + }); + } + })(); +//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbImFzc2V0c1xcU2NyaXB0XFxtb2R1bGVcXFN0b3JhZ2VcXFN0b3JhZ2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7Ozs7Ozs7Ozs7O0FBQUEsU0FBUztBQUNULElBQUksY0FBYyxHQUFHO0lBQ2pCLFVBQVUsRUFBRyxVQUFTLEdBQUc7UUFDckIsSUFBSSxNQUFNLEdBQUcsSUFBSSxDQUFDO1FBQ2xCLElBQUcsRUFBRSxDQUFDLEdBQUcsQ0FBQyxZQUFZLENBQUMsT0FBTyxDQUFDLEdBQUcsQ0FBQyxFQUFDO1lBQ2xDLElBQUksTUFBTSxHQUFHLEVBQUUsQ0FBQyxHQUFHLENBQUMsWUFBWSxDQUFDLE9BQU8sQ0FBQyxHQUFHLENBQUMsQ0FBQztTQUMvQztRQUVELElBQUcsTUFBTSxFQUFDO1lBQ1IsTUFBTSxHQUFHLElBQUksQ0FBQyxLQUFLLENBQUMsTUFBTSxDQUFDLENBQUM7U0FDN0I7UUFDRCxPQUFPLE1BQU0sQ0FBQztJQUNsQixDQUFDO0lBQ0QsVUFBVSxFQUFHLFVBQVMsR0FBRyxFQUFDLEtBQUs7UUFDM0IsVUFBVTtRQUNWLElBQUksSUFBSSxHQUFHLElBQUksQ0FBQyxTQUFTLENBQUMsS0FBSyxDQUFDLENBQUM7UUFDakMsRUFBRSxDQUFDLEdBQUcsQ0FBQyxZQUFZLENBQUMsT0FBTyxDQUFDLEdBQUcsRUFBRSxJQUFJLENBQUMsQ0FBQTtJQUMxQyxDQUFDO0lBQ0QsYUFBYSxFQUFHLFVBQVMsR0FBRztRQUMxQixVQUFVO1FBQ1YsSUFBRyxFQUFFLENBQUMsR0FBRyxDQUFDLFlBQVksQ0FBQyxPQUFPLENBQUMsR0FBRyxDQUFDLEVBQUM7WUFDbEMsRUFBRSxDQUFDLEdBQUcsQ0FBQyxZQUFZLENBQUMsVUFBVSxDQUFDLEdBQUcsQ0FBQyxDQUFBO1NBQ3BDO0lBQ0gsQ0FBQztDQUNKLENBQUM7QUFFTyx3Q0FBYyIsImZpbGUiOiIiLCJzb3VyY2VSb290IjoiLyIsInNvdXJjZXNDb250ZW50IjpbIi8v57yT5a2Y5rWP6KeI5Zmo5pWw5o2uXG52YXIgU3RvcmFnZU1lc3NhZ2UgPSB7XG4gICAgZ2V0U3RvcmFnZSA6IGZ1bmN0aW9uKGtleSl7XG4gICAgICAgIHZhciByZXN1bHQgPSBudWxsO1xuICAgICAgICBpZihjYy5zeXMubG9jYWxTdG9yYWdlLmdldEl0ZW0oa2V5KSl7XG4gICAgICAgICAgdmFyIHJlc3VsdCA9IGNjLnN5cy5sb2NhbFN0b3JhZ2UuZ2V0SXRlbShrZXkpO1xuICAgICAgICB9XG4gICAgICAgIFxuICAgICAgICBpZihyZXN1bHQpe1xuICAgICAgICAgIHJlc3VsdCA9IEpTT04ucGFyc2UocmVzdWx0KTtcbiAgICAgICAgfVxuICAgICAgICByZXR1cm4gcmVzdWx0O1xuICAgIH0sXG4gICAgc2V0U3RvcmFnZSA6IGZ1bmN0aW9uKGtleSx2YWx1ZSl7XG4gICAgICAgIC8v5Li75Yqo5ouJ6LW35YiG5Lqr5o6l5Y+jXG4gICAgICAgIHZhciB0ZW1wID0gSlNPTi5zdHJpbmdpZnkodmFsdWUpO1xuICAgICAgICBjYy5zeXMubG9jYWxTdG9yYWdlLnNldEl0ZW0oa2V5LCB0ZW1wKVxuICAgIH0sXG4gICAgcmVtb3ZlU3RvcmFnZSA6IGZ1bmN0aW9uKGtleSl7XG4gICAgICAvL+S4u+WKqOWIoOmZpOa2iOaBr+aOpeWPo1xuICAgICAgaWYoY2Muc3lzLmxvY2FsU3RvcmFnZS5nZXRJdGVtKGtleSkpe1xuICAgICAgICBjYy5zeXMubG9jYWxTdG9yYWdlLnJlbW92ZUl0ZW0oa2V5KVxuICAgICAgfVxuICAgIH0sXG59O1xuXG5leHBvcnQgeyBTdG9yYWdlTWVzc2FnZSB9OyJdfQ== +//------QC-SOURCE-SPLIT------ + + (function() { + var nodeEnv = typeof require !== 'undefined' && typeof process !== 'undefined'; + var __module = nodeEnv ? module : {exports:{}}; + var __filename = 'preview-scripts/assets/Script/DynamicAtlasManager.js'; + var __require = nodeEnv ? function (request) { + return cc.require(request); + } : function (request) { + return __quick_compile_project__.require(request, __filename); + }; + function __define (exports, require, module) { + if (!nodeEnv) {__quick_compile_project__.registerModule(__filename, module);}"use strict"; +cc._RF.push(module, '5c9b8FZiaNLMrMDs9T3rByf', 'DynamicAtlasManager'); +// Script/DynamicAtlasManager.js + +"use strict"; + +cc.Class({ + "extends": cc.Component, + properties: {}, + onLoad: function onLoad() { + cc.dynamicAtlasManager.enabled = false; + } +}); + +cc._RF.pop(); + } + if (nodeEnv) { + __define(__module.exports, __require, __module); + } + else { + __quick_compile_project__.registerModuleFunc(__filename, function () { + __define(__module.exports, __require, __module); + }); + } + })(); +//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbImFzc2V0c1xcU2NyaXB0XFxEeW5hbWljQXRsYXNNYW5hZ2VyLmpzIl0sIm5hbWVzIjpbImNjIiwiQ2xhc3MiLCJDb21wb25lbnQiLCJwcm9wZXJ0aWVzIiwib25Mb2FkIiwiZHluYW1pY0F0bGFzTWFuYWdlciIsImVuYWJsZWQiXSwibWFwcGluZ3MiOiI7Ozs7Ozs7Ozs7Ozs7Ozs7O0FBQUFBLEVBQUUsQ0FBQ0MsS0FBSCxDQUFTO0FBQ0wsYUFBU0QsRUFBRSxDQUFDRSxTQURQO0FBR0xDLEVBQUFBLFVBQVUsRUFBRSxFQUhQO0FBTUxDLEVBQUFBLE1BTkssb0JBTUs7QUFDTkosSUFBQUEsRUFBRSxDQUFDSyxtQkFBSCxDQUF1QkMsT0FBdkIsR0FBaUMsS0FBakM7QUFDSDtBQVJJLENBQVQiLCJzb3VyY2VSb290IjoiLyIsInNvdXJjZXNDb250ZW50IjpbImNjLkNsYXNzKHtcclxuICAgIGV4dGVuZHM6IGNjLkNvbXBvbmVudCxcclxuXHJcbiAgICBwcm9wZXJ0aWVzOiB7XHJcbiAgICB9LFxyXG5cclxuICAgIG9uTG9hZCAoKSB7XHJcbiAgICAgICAgY2MuZHluYW1pY0F0bGFzTWFuYWdlci5lbmFibGVkID0gZmFsc2U7XHJcbiAgICB9LFxyXG59KTtcclxuIl19 +//------QC-SOURCE-SPLIT------ + + (function() { + var nodeEnv = typeof require !== 'undefined' && typeof process !== 'undefined'; + var __module = nodeEnv ? module : {exports:{}}; + var __filename = 'preview-scripts/assets/Script/Map.js'; + var __require = nodeEnv ? function (request) { + return cc.require(request); + } : function (request) { + return __quick_compile_project__.require(request, __filename); + }; + function __define (exports, require, module) { + if (!nodeEnv) {__quick_compile_project__.registerModule(__filename, module);}"use strict"; +cc._RF.push(module, '2234assp7RIvpDgrnqljp2R', 'Map'); +// Script/Map.ts + +"use strict"; +// Learn TypeScript: +// - https://docs.cocos.com/creator/manual/en/scripting/typescript.html +// Learn Attribute: +// - https://docs.cocos.com/creator/manual/en/scripting/reference/attributes.html +// Learn life-cycle callbacks: +// - https://docs.cocos.com/creator/manual/en/scripting/life-cycle-callbacks.html +var __extends = (this && this.__extends) || (function () { + var extendStatics = function (d, b) { + extendStatics = Object.setPrototypeOf || + ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) || + function (d, b) { for (var p in b) if (Object.prototype.hasOwnProperty.call(b, p)) d[p] = b[p]; }; + return extendStatics(d, b); + }; + return function (d, b) { + extendStatics(d, b); + function __() { this.constructor = d; } + d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __()); + }; +})(); +var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) { + var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d; + if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc); + else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r; + return c > 3 && r && Object.defineProperty(target, key, r), r; +}; +Object.defineProperty(exports, "__esModule", { value: true }); +var _a = cc._decorator, ccclass = _a.ccclass, property = _a.property; +var NewClass = /** @class */ (function (_super) { + __extends(NewClass, _super); + function NewClass() { + return _super !== null && _super.apply(this, arguments) || this; + } + NewClass.prototype.onLoad = function () { + }; + NewClass.prototype.start = function () { + this.initMap(); + }; + NewClass.prototype.initMap = function () { + this.setMapInfo(); + }; + //根据关卡设置地图大小 + NewClass.prototype.setMapInfo = function () { + switch (cc.fx.GameConfig.custom) { + case 0: + this.vertical = 4; + this.horizontal = 4; + this.passTime = 0.3; + break; + case 1: + this.vertical = 5; + this.horizontal = 5; + this.passTime = 0.25; + break; + case 2: + this.vertical = 5; + this.horizontal = 5; + this.passTime = 0.2; + break; + case 3: + this.vertical = 5; + this.horizontal = 5; + this.passTime = 0.18; + break; + case 4: + this.vertical = 6; + this.horizontal = 6; + this.passTime = 0.16; + break; + case 5: + this.vertical = 6; + this.horizontal = 7; + this.passTime = 0.14; + break; + case 6: + this.vertical = 6; + this.horizontal = 8; + this.passTime = 0.12; + break; + case 7: + this.vertical = 6; + this.horizontal = 9; + this.passTime = 0.1; + break; + } + }; + NewClass = __decorate([ + ccclass + ], NewClass); + return NewClass; +}(cc.Component)); +exports.default = NewClass; + +cc._RF.pop(); + } + if (nodeEnv) { + __define(__module.exports, __require, __module); + } + else { + __quick_compile_project__.registerModuleFunc(__filename, function () { + __define(__module.exports, __require, __module); + }); + } + })(); +//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbImFzc2V0c1xcU2NyaXB0XFxNYXAudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7Ozs7Ozs7OztBQUFBLG9CQUFvQjtBQUNwQix3RUFBd0U7QUFDeEUsbUJBQW1CO0FBQ25CLGtGQUFrRjtBQUNsRiw4QkFBOEI7QUFDOUIsa0ZBQWtGOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7QUFFNUUsSUFBQSxLQUFzQixFQUFFLENBQUMsVUFBVSxFQUFsQyxPQUFPLGFBQUEsRUFBRSxRQUFRLGNBQWlCLENBQUM7QUFLMUM7SUFBc0MsNEJBQVk7SUFBbEQ7O0lBbUVBLENBQUM7SUEzREcseUJBQU0sR0FBTjtJQUVBLENBQUM7SUFFRCx3QkFBSyxHQUFMO1FBQ0csSUFBSSxDQUFDLE9BQU8sRUFBRSxDQUFDO0lBQ2xCLENBQUM7SUFFRCwwQkFBTyxHQUFQO1FBQ0ksSUFBSSxDQUFDLFVBQVUsRUFBRSxDQUFDO0lBQ3RCLENBQUM7SUFFRCxZQUFZO0lBQ1osNkJBQVUsR0FBVjtRQUNJLFFBQU8sRUFBRSxDQUFDLEVBQUUsQ0FBQyxVQUFVLENBQUMsTUFBTSxFQUFDO1lBQzNCLEtBQUssQ0FBQztnQkFDRixJQUFJLENBQUMsUUFBUSxHQUFHLENBQUMsQ0FBQztnQkFDbEIsSUFBSSxDQUFDLFVBQVUsR0FBRyxDQUFDLENBQUM7Z0JBQ3BCLElBQUksQ0FBQyxRQUFRLEdBQUcsR0FBRyxDQUFDO2dCQUN4QixNQUFNO1lBQ04sS0FBSyxDQUFDO2dCQUNGLElBQUksQ0FBQyxRQUFRLEdBQUcsQ0FBQyxDQUFDO2dCQUNsQixJQUFJLENBQUMsVUFBVSxHQUFHLENBQUMsQ0FBQztnQkFDcEIsSUFBSSxDQUFDLFFBQVEsR0FBRyxJQUFJLENBQUM7Z0JBQ3pCLE1BQU07WUFDTixLQUFLLENBQUM7Z0JBQ0YsSUFBSSxDQUFDLFFBQVEsR0FBRyxDQUFDLENBQUM7Z0JBQ2xCLElBQUksQ0FBQyxVQUFVLEdBQUcsQ0FBQyxDQUFDO2dCQUNwQixJQUFJLENBQUMsUUFBUSxHQUFHLEdBQUcsQ0FBQztnQkFDeEIsTUFBTTtZQUNOLEtBQUssQ0FBQztnQkFDRixJQUFJLENBQUMsUUFBUSxHQUFHLENBQUMsQ0FBQztnQkFDbEIsSUFBSSxDQUFDLFVBQVUsR0FBRyxDQUFDLENBQUM7Z0JBQ3BCLElBQUksQ0FBQyxRQUFRLEdBQUcsSUFBSSxDQUFDO2dCQUN6QixNQUFNO1lBQ04sS0FBSyxDQUFDO2dCQUNGLElBQUksQ0FBQyxRQUFRLEdBQUcsQ0FBQyxDQUFDO2dCQUNsQixJQUFJLENBQUMsVUFBVSxHQUFHLENBQUMsQ0FBQztnQkFDcEIsSUFBSSxDQUFDLFFBQVEsR0FBRyxJQUFJLENBQUM7Z0JBQ3pCLE1BQU07WUFDTixLQUFLLENBQUM7Z0JBQ0YsSUFBSSxDQUFDLFFBQVEsR0FBRyxDQUFDLENBQUM7Z0JBQ2xCLElBQUksQ0FBQyxVQUFVLEdBQUcsQ0FBQyxDQUFDO2dCQUNwQixJQUFJLENBQUMsUUFBUSxHQUFHLElBQUksQ0FBQztnQkFDekIsTUFBTTtZQUNOLEtBQUssQ0FBQztnQkFDRixJQUFJLENBQUMsUUFBUSxHQUFHLENBQUMsQ0FBQztnQkFDbEIsSUFBSSxDQUFDLFVBQVUsR0FBRyxDQUFDLENBQUM7Z0JBQ3BCLElBQUksQ0FBQyxRQUFRLEdBQUcsSUFBSSxDQUFDO2dCQUN6QixNQUFNO1lBQ04sS0FBSyxDQUFDO2dCQUNGLElBQUksQ0FBQyxRQUFRLEdBQUcsQ0FBQyxDQUFDO2dCQUNsQixJQUFJLENBQUMsVUFBVSxHQUFHLENBQUMsQ0FBQztnQkFDcEIsSUFBSSxDQUFDLFFBQVEsR0FBRyxHQUFHLENBQUM7Z0JBQ3hCLE1BQU07U0FDVDtJQUNMLENBQUM7SUFoRWdCLFFBQVE7UUFENUIsT0FBTztPQUNhLFFBQVEsQ0FtRTVCO0lBQUQsZUFBQztDQW5FRCxBQW1FQyxDQW5FcUMsRUFBRSxDQUFDLFNBQVMsR0FtRWpEO2tCQW5Fb0IsUUFBUSIsImZpbGUiOiIiLCJzb3VyY2VSb290IjoiLyIsInNvdXJjZXNDb250ZW50IjpbIi8vIExlYXJuIFR5cGVTY3JpcHQ6XHJcbi8vICAtIGh0dHBzOi8vZG9jcy5jb2Nvcy5jb20vY3JlYXRvci9tYW51YWwvZW4vc2NyaXB0aW5nL3R5cGVzY3JpcHQuaHRtbFxyXG4vLyBMZWFybiBBdHRyaWJ1dGU6XHJcbi8vICAtIGh0dHBzOi8vZG9jcy5jb2Nvcy5jb20vY3JlYXRvci9tYW51YWwvZW4vc2NyaXB0aW5nL3JlZmVyZW5jZS9hdHRyaWJ1dGVzLmh0bWxcclxuLy8gTGVhcm4gbGlmZS1jeWNsZSBjYWxsYmFja3M6XHJcbi8vICAtIGh0dHBzOi8vZG9jcy5jb2Nvcy5jb20vY3JlYXRvci9tYW51YWwvZW4vc2NyaXB0aW5nL2xpZmUtY3ljbGUtY2FsbGJhY2tzLmh0bWxcclxuXHJcbmNvbnN0IHtjY2NsYXNzLCBwcm9wZXJ0eX0gPSBjYy5fZGVjb3JhdG9yO1xyXG5cclxuXHJcblxyXG5AY2NjbGFzc1xyXG5leHBvcnQgZGVmYXVsdCBjbGFzcyBOZXdDbGFzcyBleHRlbmRzIGNjLkNvbXBvbmVudCB7XHJcblxyXG4gICAgLy8gTElGRS1DWUNMRSBDQUxMQkFDS1M6XHJcbiAgICBob3Jpem9udGFsOm51bWJlcjsgIC8v5qiq5ZCRICBcclxuICAgIHZlcnRpY2FsOm51bWJlcjsgICAgLy/nurXlkJFcclxuICAgIHBhc3NUaW1lOm51bWJlcjtcclxuICAgIG5vd1BvczpjYy5WZWMyO1xyXG5cclxuICAgIG9uTG9hZCAoKSB7XHJcblxyXG4gICAgfVxyXG5cclxuICAgIHN0YXJ0ICgpIHtcclxuICAgICAgIHRoaXMuaW5pdE1hcCgpO1xyXG4gICAgfVxyXG5cclxuICAgIGluaXRNYXAoKXtcclxuICAgICAgICB0aGlzLnNldE1hcEluZm8oKTtcclxuICAgIH1cclxuXHJcbiAgICAvL+agueaNruWFs+WNoeiuvue9ruWcsOWbvuWkp+Wwj1xyXG4gICAgc2V0TWFwSW5mbygpe1xyXG4gICAgICAgIHN3aXRjaChjYy5meC5HYW1lQ29uZmlnLmN1c3RvbSl7XHJcbiAgICAgICAgICAgIGNhc2UgMDpcclxuICAgICAgICAgICAgICAgIHRoaXMudmVydGljYWwgPSA0O1xyXG4gICAgICAgICAgICAgICAgdGhpcy5ob3Jpem9udGFsID0gNDtcclxuICAgICAgICAgICAgICAgIHRoaXMucGFzc1RpbWUgPSAwLjM7XHJcbiAgICAgICAgICAgIGJyZWFrO1xyXG4gICAgICAgICAgICBjYXNlIDE6XHJcbiAgICAgICAgICAgICAgICB0aGlzLnZlcnRpY2FsID0gNTtcclxuICAgICAgICAgICAgICAgIHRoaXMuaG9yaXpvbnRhbCA9IDU7XHJcbiAgICAgICAgICAgICAgICB0aGlzLnBhc3NUaW1lID0gMC4yNTtcclxuICAgICAgICAgICAgYnJlYWs7XHJcbiAgICAgICAgICAgIGNhc2UgMjpcclxuICAgICAgICAgICAgICAgIHRoaXMudmVydGljYWwgPSA1O1xyXG4gICAgICAgICAgICAgICAgdGhpcy5ob3Jpem9udGFsID0gNTtcclxuICAgICAgICAgICAgICAgIHRoaXMucGFzc1RpbWUgPSAwLjI7XHJcbiAgICAgICAgICAgIGJyZWFrO1xyXG4gICAgICAgICAgICBjYXNlIDM6XHJcbiAgICAgICAgICAgICAgICB0aGlzLnZlcnRpY2FsID0gNTtcclxuICAgICAgICAgICAgICAgIHRoaXMuaG9yaXpvbnRhbCA9IDU7XHJcbiAgICAgICAgICAgICAgICB0aGlzLnBhc3NUaW1lID0gMC4xODtcclxuICAgICAgICAgICAgYnJlYWs7XHJcbiAgICAgICAgICAgIGNhc2UgNDpcclxuICAgICAgICAgICAgICAgIHRoaXMudmVydGljYWwgPSA2O1xyXG4gICAgICAgICAgICAgICAgdGhpcy5ob3Jpem9udGFsID0gNjtcclxuICAgICAgICAgICAgICAgIHRoaXMucGFzc1RpbWUgPSAwLjE2O1xyXG4gICAgICAgICAgICBicmVhaztcclxuICAgICAgICAgICAgY2FzZSA1OlxyXG4gICAgICAgICAgICAgICAgdGhpcy52ZXJ0aWNhbCA9IDY7XHJcbiAgICAgICAgICAgICAgICB0aGlzLmhvcml6b250YWwgPSA3O1xyXG4gICAgICAgICAgICAgICAgdGhpcy5wYXNzVGltZSA9IDAuMTQ7XHJcbiAgICAgICAgICAgIGJyZWFrO1xyXG4gICAgICAgICAgICBjYXNlIDY6XHJcbiAgICAgICAgICAgICAgICB0aGlzLnZlcnRpY2FsID0gNjtcclxuICAgICAgICAgICAgICAgIHRoaXMuaG9yaXpvbnRhbCA9IDg7XHJcbiAgICAgICAgICAgICAgICB0aGlzLnBhc3NUaW1lID0gMC4xMjtcclxuICAgICAgICAgICAgYnJlYWs7XHJcbiAgICAgICAgICAgIGNhc2UgNzpcclxuICAgICAgICAgICAgICAgIHRoaXMudmVydGljYWwgPSA2O1xyXG4gICAgICAgICAgICAgICAgdGhpcy5ob3Jpem9udGFsID0gOTtcclxuICAgICAgICAgICAgICAgIHRoaXMucGFzc1RpbWUgPSAwLjE7XHJcbiAgICAgICAgICAgIGJyZWFrO1xyXG4gICAgICAgIH1cclxuICAgIH1cclxuXHJcbiAgICAvLyB1cGRhdGUgKGR0KSB7fVxyXG59XHJcbiJdfQ== +//------QC-SOURCE-SPLIT------ + + (function() { + var nodeEnv = typeof require !== 'undefined' && typeof process !== 'undefined'; + var __module = nodeEnv ? module : {exports:{}}; + var __filename = 'preview-scripts/assets/Script/Load.js'; + var __require = nodeEnv ? function (request) { + return cc.require(request); + } : function (request) { + return __quick_compile_project__.require(request, __filename); + }; + function __define (exports, require, module) { + if (!nodeEnv) {__quick_compile_project__.registerModule(__filename, module);}"use strict"; +cc._RF.push(module, '454adgphRpA6oq5lB6Cg1fK', 'Load'); +// Script/Load.ts + +"use strict"; +var __extends = (this && this.__extends) || (function () { + var extendStatics = function (d, b) { + extendStatics = Object.setPrototypeOf || + ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) || + function (d, b) { for (var p in b) if (Object.prototype.hasOwnProperty.call(b, p)) d[p] = b[p]; }; + return extendStatics(d, b); + }; + return function (d, b) { + extendStatics(d, b); + function __() { this.constructor = d; } + d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __()); + }; +})(); +var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) { + var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d; + if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc); + else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r; + return c > 3 && r && Object.defineProperty(target, key, r), r; +}; +Object.defineProperty(exports, "__esModule", { value: true }); +var _a = cc._decorator, ccclass = _a.ccclass, property = _a.property, requireComponent = _a.requireComponent; +var NewClass = /** @class */ (function (_super) { + __extends(NewClass, _super); + function NewClass() { + var _this = _super !== null && _super.apply(this, arguments) || this; + _this.localTest = false; + _this.clientTestVersion = "1.0.0"; + _this.testVersion = null; + return _this; + } + NewClass.prototype.start = function () { + cc.debug.setDisplayStats(false); + window.initMgr(); + cc.fx.GameConfig.init(this.localTest); + // cc.fx.AudioManager.Instance.init(); + this.testVersion.string = this.clientTestVersion; + var urlNow = window.location.href; + if (this.containsTrain(urlNow)) { + console.log("无排行版本"); + this.node.getChildByName("Rank").active = false; + } + else { + console.log("有排行版本"); + } + }; + //判断来源 + NewClass.prototype.containsTrain = function (str) { + return /from=train/i.test(str); + }; + //开始游戏,跳转至引导页面 + NewClass.prototype.startGame = function () { + cc.director.loadScene("GameScene"); + // cc.director.loadScene("GuideScene"); + }; + //备用,用来测试跳转 指定关卡 + NewClass.prototype.clickBtn = function (event, data) { + cc.fx.GameConfig.GM_INFO.custom = parseInt(data); + cc.director.loadScene("GameScene"); + }; + //打开排行榜 + NewClass.prototype.openRank = function () { + cc.director.loadScene("RankScene"); + }; + NewClass.prototype.update = function (dt) { + }; + __decorate([ + property(false) + ], NewClass.prototype, "localTest", void 0); + __decorate([ + property("") + ], NewClass.prototype, "clientTestVersion", void 0); + __decorate([ + property(cc.Label) + ], NewClass.prototype, "testVersion", void 0); + NewClass = __decorate([ + ccclass + ], NewClass); + return NewClass; +}(cc.Component)); +exports.default = NewClass; + +cc._RF.pop(); + } + if (nodeEnv) { + __define(__module.exports, __require, __module); + } + else { + __quick_compile_project__.registerModuleFunc(__filename, function () { + __define(__module.exports, __require, __module); + }); + } + })(); +//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbImFzc2V0c1xcU2NyaXB0XFxMb2FkLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OztBQUNNLElBQUEsS0FBd0MsRUFBRSxDQUFDLFVBQVUsRUFBcEQsT0FBTyxhQUFBLEVBQUUsUUFBUSxjQUFBLEVBQUUsZ0JBQWdCLHNCQUFpQixDQUFDO0FBRzVEO0lBQXNDLDRCQUFZO0lBQWxEO1FBQUEscUVBaURDO1FBOUNHLGVBQVMsR0FBWSxLQUFLLENBQUM7UUFHM0IsdUJBQWlCLEdBQVcsT0FBTyxDQUFDO1FBR3BDLGlCQUFXLEdBQWEsSUFBSSxDQUFDOztJQXdDakMsQ0FBQztJQXRDRyx3QkFBSyxHQUFMO1FBQ0ksRUFBRSxDQUFDLEtBQUssQ0FBQyxlQUFlLENBQUMsS0FBSyxDQUFDLENBQUM7UUFDaEMsTUFBTSxDQUFDLE9BQU8sRUFBRSxDQUFDO1FBQ2pCLEVBQUUsQ0FBQyxFQUFFLENBQUMsVUFBVSxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsU0FBUyxDQUFDLENBQUM7UUFDdEMsc0NBQXNDO1FBQ3RDLElBQUksQ0FBQyxXQUFXLENBQUMsTUFBTSxHQUFHLElBQUksQ0FBQyxpQkFBaUIsQ0FBQztRQUNqRCxJQUFJLE1BQU0sR0FBRyxNQUFNLENBQUMsUUFBUSxDQUFDLElBQUksQ0FBQztRQUNsQyxJQUFHLElBQUksQ0FBQyxhQUFhLENBQUMsTUFBTSxDQUFDLEVBQUM7WUFDMUIsT0FBTyxDQUFDLEdBQUcsQ0FBQyxPQUFPLENBQUMsQ0FBQztZQUNyQixJQUFJLENBQUMsSUFBSSxDQUFDLGNBQWMsQ0FBQyxNQUFNLENBQUMsQ0FBQyxNQUFNLEdBQUcsS0FBSyxDQUFDO1NBQ25EO2FBQ0c7WUFDQSxPQUFPLENBQUMsR0FBRyxDQUFDLE9BQU8sQ0FBQyxDQUFDO1NBQ3hCO0lBQ0wsQ0FBQztJQUVELE1BQU07SUFDTixnQ0FBYSxHQUFiLFVBQWMsR0FBRztRQUNiLE9BQU8sYUFBYSxDQUFDLElBQUksQ0FBQyxHQUFHLENBQUMsQ0FBQztJQUNuQyxDQUFDO0lBRUQsY0FBYztJQUNkLDRCQUFTLEdBQVQ7UUFDSSxFQUFFLENBQUMsUUFBUSxDQUFDLFNBQVMsQ0FBQyxXQUFXLENBQUMsQ0FBQztRQUNuQyx1Q0FBdUM7SUFDM0MsQ0FBQztJQUNELGdCQUFnQjtJQUNoQiwyQkFBUSxHQUFSLFVBQVMsS0FBSyxFQUFDLElBQUk7UUFDZixFQUFFLENBQUMsRUFBRSxDQUFDLFVBQVUsQ0FBQyxPQUFPLENBQUMsTUFBTSxHQUFHLFFBQVEsQ0FBQyxJQUFJLENBQUMsQ0FBQztRQUNqRCxFQUFFLENBQUMsUUFBUSxDQUFDLFNBQVMsQ0FBQyxXQUFXLENBQUMsQ0FBQztJQUN2QyxDQUFDO0lBQ0QsT0FBTztJQUNQLDJCQUFRLEdBQVI7UUFDSSxFQUFFLENBQUMsUUFBUSxDQUFDLFNBQVMsQ0FBQyxXQUFXLENBQUMsQ0FBQztJQUN2QyxDQUFDO0lBRVMseUJBQU0sR0FBaEIsVUFBaUIsRUFBVTtJQUMzQixDQUFDO0lBN0NEO1FBREMsUUFBUSxDQUFDLEtBQUssQ0FBQzsrQ0FDVztJQUczQjtRQURDLFFBQVEsQ0FBQyxFQUFFLENBQUM7dURBQ3VCO0lBR3BDO1FBREMsUUFBUSxDQUFDLEVBQUUsQ0FBQyxLQUFLLENBQUM7aURBQ1U7SUFUWixRQUFRO1FBRDVCLE9BQU87T0FDYSxRQUFRLENBaUQ1QjtJQUFELGVBQUM7Q0FqREQsQUFpREMsQ0FqRHFDLEVBQUUsQ0FBQyxTQUFTLEdBaURqRDtrQkFqRG9CLFFBQVEiLCJmaWxlIjoiIiwic291cmNlUm9vdCI6Ii8iLCJzb3VyY2VzQ29udGVudCI6WyJcclxuY29uc3Qge2NjY2xhc3MsIHByb3BlcnR5LCByZXF1aXJlQ29tcG9uZW50fSA9IGNjLl9kZWNvcmF0b3I7XHJcblxyXG5AY2NjbGFzc1xyXG5leHBvcnQgZGVmYXVsdCBjbGFzcyBOZXdDbGFzcyBleHRlbmRzIGNjLkNvbXBvbmVudCB7XHJcblxyXG4gICAgQHByb3BlcnR5KGZhbHNlKVxyXG4gICAgbG9jYWxUZXN0OiBib29sZWFuID0gZmFsc2U7XHJcblxyXG4gICAgQHByb3BlcnR5KFwiXCIpXHJcbiAgICBjbGllbnRUZXN0VmVyc2lvbjogc3RyaW5nID0gXCIxLjAuMFwiO1xyXG5cclxuICAgIEBwcm9wZXJ0eShjYy5MYWJlbClcclxuICAgIHRlc3RWZXJzaW9uOiBjYy5MYWJlbCA9IG51bGw7XHJcblxyXG4gICAgc3RhcnQgKCkge1xyXG4gICAgICAgIGNjLmRlYnVnLnNldERpc3BsYXlTdGF0cyhmYWxzZSk7XHJcbiAgICAgICAgd2luZG93LmluaXRNZ3IoKTtcclxuICAgICAgICBjYy5meC5HYW1lQ29uZmlnLmluaXQodGhpcy5sb2NhbFRlc3QpO1xyXG4gICAgICAgIC8vIGNjLmZ4LkF1ZGlvTWFuYWdlci5JbnN0YW5jZS5pbml0KCk7XHJcbiAgICAgICAgdGhpcy50ZXN0VmVyc2lvbi5zdHJpbmcgPSB0aGlzLmNsaWVudFRlc3RWZXJzaW9uO1xyXG4gICAgICAgIHZhciB1cmxOb3cgPSB3aW5kb3cubG9jYXRpb24uaHJlZjtcclxuICAgICAgICBpZih0aGlzLmNvbnRhaW5zVHJhaW4odXJsTm93KSl7XHJcbiAgICAgICAgICAgIGNvbnNvbGUubG9nKFwi5peg5o6S6KGM54mI5pysXCIpO1xyXG4gICAgICAgICAgICB0aGlzLm5vZGUuZ2V0Q2hpbGRCeU5hbWUoXCJSYW5rXCIpLmFjdGl2ZSA9IGZhbHNlO1xyXG4gICAgICAgIH1cclxuICAgICAgICBlbHNle1xyXG4gICAgICAgICAgICBjb25zb2xlLmxvZyhcIuacieaOkuihjOeJiOacrFwiKTtcclxuICAgICAgICB9XHJcbiAgICB9XHJcblxyXG4gICAgLy/liKTmlq3mnaXmupBcclxuICAgIGNvbnRhaW5zVHJhaW4oc3RyKSB7XHJcbiAgICAgICAgcmV0dXJuIC9mcm9tPXRyYWluL2kudGVzdChzdHIpO1xyXG4gICAgfVxyXG5cclxuICAgIC8v5byA5aeL5ri45oiP77yM6Lez6L2s6Iez5byV5a+86aG16Z2iXHJcbiAgICBzdGFydEdhbWUoKXtcclxuICAgICAgICBjYy5kaXJlY3Rvci5sb2FkU2NlbmUoXCJHYW1lU2NlbmVcIik7XHJcbiAgICAgICAgLy8gY2MuZGlyZWN0b3IubG9hZFNjZW5lKFwiR3VpZGVTY2VuZVwiKTtcclxuICAgIH1cclxuICAgIC8v5aSH55So77yM55So5p2l5rWL6K+V6Lez6L2sIOaMh+WumuWFs+WNoVxyXG4gICAgY2xpY2tCdG4oZXZlbnQsZGF0YSl7XHJcbiAgICAgICAgY2MuZnguR2FtZUNvbmZpZy5HTV9JTkZPLmN1c3RvbSA9IHBhcnNlSW50KGRhdGEpO1xyXG4gICAgICAgIGNjLmRpcmVjdG9yLmxvYWRTY2VuZShcIkdhbWVTY2VuZVwiKTtcclxuICAgIH0gICBcclxuICAgIC8v5omT5byA5o6S6KGM5qacXHJcbiAgICBvcGVuUmFuaygpe1xyXG4gICAgICAgIGNjLmRpcmVjdG9yLmxvYWRTY2VuZShcIlJhbmtTY2VuZVwiKTtcclxuICAgIH1cclxuICAgIFxyXG4gICAgcHJvdGVjdGVkIHVwZGF0ZShkdDogbnVtYmVyKTogdm9pZCB7XHJcbiAgICB9XHJcbn1cclxuIl19 +//------QC-SOURCE-SPLIT------ + + (function() { + var nodeEnv = typeof require !== 'undefined' && typeof process !== 'undefined'; + var __module = nodeEnv ? module : {exports:{}}; + var __filename = 'preview-scripts/assets/Script/RankManager.js'; + var __require = nodeEnv ? function (request) { + return cc.require(request); + } : function (request) { + return __quick_compile_project__.require(request, __filename); + }; + function __define (exports, require, module) { + if (!nodeEnv) {__quick_compile_project__.registerModule(__filename, module);}"use strict"; +cc._RF.push(module, 'e74a999IDFOabyymZgXQIiy', 'RankManager'); +// Script/RankManager.ts + +"use strict"; +var __extends = (this && this.__extends) || (function () { + var extendStatics = function (d, b) { + extendStatics = Object.setPrototypeOf || + ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) || + function (d, b) { for (var p in b) if (Object.prototype.hasOwnProperty.call(b, p)) d[p] = b[p]; }; + return extendStatics(d, b); + }; + return function (d, b) { + extendStatics(d, b); + function __() { this.constructor = d; } + d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __()); + }; +})(); +var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) { + var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d; + if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc); + else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r; + return c > 3 && r && Object.defineProperty(target, key, r), r; +}; +Object.defineProperty(exports, "__esModule", { value: true }); +var List_1 = require("./module/RankList/List"); +var _a = cc._decorator, ccclass = _a.ccclass, property = _a.property; +//排行榜 +var RankManager = /** @class */ (function (_super) { + __extends(RankManager, _super); + function RankManager() { + var _this = _super !== null && _super.apply(this, arguments) || this; + _this.Player = null; + _this.selfNode = null; + _this.phone = null; + return _this; + } + RankManager.prototype.onLoad = function () { + this.init(); + }; + //初始化数据 + RankManager.prototype.init = function () { + this.rankList = cc.find("ScrollView", this.node).getComponent(List_1.default); + this.Player.getChildByName("rank").active = false; + this.listData = []; + this.selfData = null; + this.rankNumber = 100; + this.rankTotal = 100; + this.selfNode.opacity = 0; + }; + RankManager.prototype.start = function () { + this.Player.active = false; + this.getRank(); + }; + //调用获取排行榜接口 + RankManager.prototype.getRank = function () { + var _this = this; + var dataFile = { + length: 100 + }; + cc.fx.GameTool.getRank(dataFile, function (data) { return _this.getRankData(data); }); + }; + //实际设置排行数据 + RankManager.prototype.getRankData = function (data) { + if (data) { + // console.log(data); + cc.fx.GameTool.getRankData(data, this, 6); + this.setPic(this.selfData.pic); + } + }; + //返回按钮 + RankManager.prototype.backClick = function () { + cc.director.loadScene("LoadScene"); + }; + //最上方用户动画 + RankManager.prototype.playerAction = function () { + var _this = this; + //-254 377 210 453 + this.Player.getChildByName("rank").active = false; + var time = 1; + this.tween = cc.tween(this.Player) + .to(2, { position: cc.v3(215, 525, 0) }) + .call(function () { + _this.Player.getChildByName("rank").active = true; + _this.Player.getChildByName("rank").getChildByName("number") + .getComponent(cc.Label).string = parseInt(time * 100 + "") + "%"; + }) + .start(); + time = (this.listData.length - this.rankNumber) / this.listData.length; + if (this.listData.length >= 99) { + if (this.rankNumber >= 99) { + time = (Math.random() * 49 + 1) / 100; + var matchId = cc.sys.localStorage.getItem("matchNumber"); + if (matchId == null || matchId == undefined) { + time = 0; + } + } + } + setTimeout(function () { + if (_this.tween) + _this.tween.stop(); + _this.Player.getChildByName("rank").active = true; + _this.Player.getChildByName("rank").getChildByName("number") + .getComponent(cc.Label).string = parseInt(time * 100 + "") + "%"; + }, time * 2000); + }; + //设置头像 处理的逻辑比较多,不用公共类的了 + RankManager.prototype.setPic = function (pic) { + var _this = this; + this.phone.node.parent.getChildByName("icon").active = false; + this.phone.node.active = false; + this.Player.active = true; + this.Player.opacity = 0; + this.Player.getChildByName("mask").getChildByName("icon").active = false; + this.Player.getChildByName("mask").getChildByName("phone").active = false; + fetch(pic) + .then(function (response) { + return response.headers.get('Content-Length'); + }) + .then(function (errNo) { + if (errNo == "5093") { + _this.phone.node.parent.getChildByName("icon").active = true; + _this.Player.getChildByName("mask").getChildByName("icon").active = true; + } + }) + .catch(function (error) { + // console.error('Error fetching X-Info:', error); + }); + var self = this; + cc.assetManager.loadRemote(pic, { ext: '.png' }, function (err, texture) { + self.Player.opacity = 255; + if (texture) { + self.phone.node.active = true; + self.phone.spriteFrame = new cc.SpriteFrame(texture); + self.Player.getChildByName("mask").getChildByName("icon").active = false; + self.Player.getChildByName("mask").getChildByName("phone").active = true; + self.Player.getChildByName("mask").getChildByName("phone").getComponent(cc.Sprite) + .spriteFrame = new cc.SpriteFrame(texture); + setTimeout(function () { + self.playerAction(); + }, 500); + } + else { + self.Player.getChildByName("mask").getChildByName("icon").active = true; + setTimeout(function () { + self.playerAction(); + }, 500); + } + }); + }; + __decorate([ + property(cc.Node) //用户上方头像 + ], RankManager.prototype, "Player", void 0); + __decorate([ + property(cc.Node) //用户最下方个人信息 + ], RankManager.prototype, "selfNode", void 0); + __decorate([ + property(cc.Sprite) //用户头像换图 + ], RankManager.prototype, "phone", void 0); + RankManager = __decorate([ + ccclass + ], RankManager); + return RankManager; +}(cc.Component)); +exports.default = RankManager; + +cc._RF.pop(); + } + if (nodeEnv) { + __define(__module.exports, __require, __module); + } + else { + __quick_compile_project__.registerModuleFunc(__filename, function () { + __define(__module.exports, __require, __module); + }); + } + })(); +//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbImFzc2V0c1xcU2NyaXB0XFxSYW5rTWFuYWdlci50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7QUFDQSwrQ0FBMEM7QUFDcEMsSUFBQSxLQUF3QixFQUFFLENBQUMsVUFBVSxFQUFuQyxPQUFPLGFBQUEsRUFBRSxRQUFRLGNBQWtCLENBQUM7QUFDNUMsS0FBSztBQUVMO0lBQXlDLCtCQUFZO0lBQXJEO1FBQUEscUVBK0hDO1FBN0hHLFlBQU0sR0FBWSxJQUFJLENBQUM7UUFFdkIsY0FBUSxHQUFZLElBQUksQ0FBQztRQUV6QixXQUFLLEdBQWMsSUFBSSxDQUFDOztJQXlINUIsQ0FBQztJQWpIRyw0QkFBTSxHQUFOO1FBQ0ksSUFBSSxDQUFDLElBQUksRUFBRSxDQUFDO0lBQ2hCLENBQUM7SUFDRCxPQUFPO0lBQ1AsMEJBQUksR0FBSjtRQUNJLElBQUksQ0FBQyxRQUFRLEdBQUcsRUFBRSxDQUFDLElBQUksQ0FBQyxZQUFZLEVBQUUsSUFBSSxDQUFDLElBQUksQ0FBQyxDQUFDLFlBQVksQ0FBQyxjQUFJLENBQUMsQ0FBQztRQUNwRSxJQUFJLENBQUMsTUFBTSxDQUFDLGNBQWMsQ0FBQyxNQUFNLENBQUMsQ0FBQyxNQUFNLEdBQUcsS0FBSyxDQUFDO1FBQ2xELElBQUksQ0FBQyxRQUFRLEdBQUcsRUFBRSxDQUFDO1FBQ25CLElBQUksQ0FBQyxRQUFRLEdBQUcsSUFBSSxDQUFDO1FBQ3JCLElBQUksQ0FBQyxVQUFVLEdBQUcsR0FBRyxDQUFDO1FBQ3RCLElBQUksQ0FBQyxTQUFTLEdBQUUsR0FBRyxDQUFDO1FBQ3BCLElBQUksQ0FBQyxRQUFRLENBQUMsT0FBTyxHQUFHLENBQUMsQ0FBQztJQUM5QixDQUFDO0lBRUQsMkJBQUssR0FBTDtRQUNJLElBQUksQ0FBQyxNQUFNLENBQUMsTUFBTSxHQUFHLEtBQUssQ0FBQztRQUMzQixJQUFJLENBQUMsT0FBTyxFQUFFLENBQUM7SUFDbkIsQ0FBQztJ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QUM7Z0JBQzNDLFVBQVUsQ0FBQztvQkFDUCxJQUFJLENBQUMsWUFBWSxFQUFFLENBQUM7Z0JBQ3hCLENBQUMsRUFBRSxHQUFHLENBQUMsQ0FBQzthQUNYO2lCQUNHO2dCQUNBLElBQUksQ0FBQyxNQUFNLENBQUMsY0FBYyxDQUFDLE1BQU0sQ0FBQyxDQUFDLGNBQWMsQ0FBQyxNQUFNLENBQUMsQ0FBQyxNQUFNLEdBQUcsSUFBSSxDQUFDO2dCQUN4RSxVQUFVLENBQUM7b0JBQ1AsSUFBSSxDQUFDLFlBQVksRUFBRSxDQUFDO2dCQUN4QixDQUFDLEVBQUUsR0FBRyxDQUFDLENBQUM7YUFDWDtRQUVMLENBQUMsQ0FBQyxDQUFBO0lBQ04sQ0FBQztJQTNIRDtRQURDLFFBQVEsQ0FBQyxFQUFFLENBQUMsSUFBSSxDQUFDLENBQVUsUUFBUTsrQ0FDYjtJQUV2QjtRQURDLFFBQVEsQ0FBQyxFQUFFLENBQUMsSUFBSSxDQUFDLENBQVUsV0FBVztpREFDZDtJQUV6QjtRQURDLFFBQVEsQ0FBQyxFQUFFLENBQUMsTUFBTSxDQUFDLENBQVEsUUFBUTs4Q0FDWjtJQU5QLFdBQVc7UUFEL0IsT0FBTztPQUNhLFdBQVcsQ0ErSC9CO0lBQUQsa0JBQUM7Q0EvSEQsQUErSEMsQ0EvSHdDLEVBQUUsQ0FBQyxTQUFTLEdBK0hwRDtrQkEvSG9CLFdBQVciLCJmaWxlIjoiIiwic291cmNlUm9vdCI6Ii8iLCJzb3VyY2VzQ29udGVudCI6WyJcclxuaW1wb3J0IExpc3QgZnJvbSBcIi4vbW9kdWxlL1JhbmtMaXN0L0xpc3RcIjtcclxuY29uc3QgeyBjY2NsYXNzLCBwcm9wZXJ0eSB9ID0gY2MuX2RlY29yYXRvcjtcclxuLy/mjpLooYzmppxcclxuQGNjY2xhc3NcclxuZXhwb3J0IGRlZmF1bHQgY2xhc3MgUmFua01hbmFnZXIgZXh0ZW5kcyBjYy5Db21wb25lbnQge1xyXG4gICAgQHByb3BlcnR5KGNjLk5vZGUpICAgICAgICAgIC8v55So5oi35LiK5pa55aS05YOPXHJcbiAgICBQbGF5ZXI6IGNjLk5vZGUgPSBudWxsO1xyXG4gICAgQHByb3BlcnR5KGNjLk5vZGUpICAgICAgICAgIC8v55So5oi35pyA5LiL5pa55Liq5Lq65L+h5oGvXHJcbiAgICBzZWxmTm9kZTogY2MuTm9kZSA9IG51bGw7XHJcbiAgICBAcHJvcGVydHkoY2MuU3ByaXRlKSAgICAgICAgLy/nlKjmiLflpLTlg4/mjaLlm75cclxuICAgIHBob25lOiBjYy5TcHJpdGUgPSBudWxsO1xyXG4gICAgcHJpdmF0ZSByYW5rTGlzdDogTGlzdDsgICAgIC8v5o6S6KGM5qacXHJcbiAgICB0d2VlbjogY2MuVHdlZW48Y2MuTm9kZT47ICAgLy/mnIDkuIrmlrnnlKjmiLflpLTlg4/liqjnlLtcclxuICAgIGxpc3REYXRhOiBhbnk7ICAgICAgICAgICAgICAvL+aAu+WIl+ihqOS/oeaBr1xyXG4gICAgc2VsZkRhdGE6IGFueTsgICAgICAgICAgICAgIC8v6Ieq5bex5L+h5oGvXHJcbiAgICByYW5rTnVtYmVyOiBudW1iZXI7ICAgICAgICAgLy/nlKjmiLfoh6rlt7HmjpLlkI0g5pyJ5Y+v6IO95LiN5Zyo5o6S6KGM5qac5YaFOTkrXHJcbiAgICByYW5rVG90YWw6IG51bWJlcjsgICAgICAgICAgLy/ojrflj5bmjpLooYzmppznlKjmiLfmlbDph48g546w5Zyo5Li6MTAwXHJcblxyXG4gICAgb25Mb2FkKCkge1xyXG4gICAgICAgIHRoaXMuaW5pdCgpO1xyXG4gICAgfVxyXG4gICAgLy/liJ3lp4vljJbmlbDmja5cclxuICAgIGluaXQoKXtcclxuICAgICAgICB0aGlzLnJhbmtMaXN0ID0gY2MuZmluZChcIlNjcm9sbFZpZXdcIiwgdGhpcy5ub2RlKS5nZXRDb21wb25lbnQoTGlzdCk7XHJcbiAgICAgICAgdGhpcy5QbGF5ZXIuZ2V0Q2hpbGRCeU5hbWUoXCJyYW5rXCIpLmFjdGl2ZSA9IGZhbHNlO1xyXG4gICAgICAgIHRoaXMubGlzdERhdGEgPSBbXTtcclxuICAgICAgICB0aGlzLnNlbGZEYXRhID0gbnVsbDtcclxuICAgICAgICB0aGlzLnJhbmtOdW1iZXIgPSAxMDA7XHJcbiAgICAgICAgdGhpcy5yYW5rVG90YWw9IDEwMDtcclxuICAgICAgICB0aGlzLnNlbGZOb2RlLm9wYWNpdHkgPSAwO1xyXG4gICAgfVxyXG5cclxuICAgIHN0YXJ0KCkge1xyXG4gICAgICAgIHRoaXMuUGxheWVyLmFjdGl2ZSA9IGZhbHNlO1xyXG4gICAgICAgIHRoaXMuZ2V0UmFuaygpO1xyXG4gICAgfVxyXG4gICAgLy/osIPnlKjojrflj5bmjpLooYzmppzmjqXlj6NcclxuICAgIGdldFJhbmsoKXtcclxuICAgICAgICBsZXQgZGF0YUZpbGUgPSB7XHJcbiAgICAgICAgICAgIGxlbmd0aDoxMDBcclxuICAgICAgICB9XHJcbiAgICAgICAgIGNjLmZ4LkdhbWVUb29sLmdldFJhbmsoZGF0YUZpbGUsZGF0YSA9PnRoaXMuZ2V0UmFua0RhdGEoZGF0YSkpO1xyXG4gICAgfVxyXG4gICAgLy/lrp7pmYXorr7nva7mjpLooYzmlbDmja5cclxuICAgIGdldFJhbmtEYXRhKGRhdGEpe1xyXG4gICAgICAgIGlmKGRhdGEpe1xyXG4gICAgICAgICAgICAvLyBjb25zb2xlLmxvZyhkYXRhKTtcclxuICAgICAgICAgICAgY2MuZnguR2FtZVRvb2wuZ2V0UmFua0RhdGEoZGF0YSx0aGlzLDYpO1xyXG4gICAgICAgICAgICB0aGlzLnNldFBpYyh0aGlzLnNlbGZEYXRhLnBpYyk7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG4gICAgLy/ov5Tlm57mjInpkq5cclxuICAgIGJhY2tDbGljaygpe1xyXG4gICAgICAgIGNjLmRpcmVjdG9yLmxvYWRTY2VuZShcIkxvYWRTY2VuZVwiKTtcclxuICAgIH1cclxuICAgIC8v5pyA5LiK5pa555So5oi35Yqo55S7XHJcbiAgICBwbGF5ZXJBY3Rpb24oKXtcclxuICAgICAgICAvLy0yNTQgMzc3ICAyMTAgNDUzXHJcbiAgICAgICAgdGhpcy5QbGF5ZXIuZ2V0Q2hpbGRCeU5hbWUoXCJyYW5rXCIpLmFjdGl2ZSA9IGZhbHNlO1xyXG4gICAgICAgIGxldCB0aW1lID0gMTtcclxuICAgICAgICB0aGlzLnR3ZWVuID0gY2MudHdlZW4odGhpcy5QbGF5ZXIpXHJcbiAgICAgICAgLnRvKDIse3Bvc2l0aW9uOmNjLnYzKDIxNSw1MjUsMCl9KVxyXG4gICAgICAgIC5jYWxsKCgpID0+e1xyXG4gICAgICAgICAgICB0aGlzLlBsYXllci5nZXRDaGlsZEJ5TmFtZShcInJhbmtcIikuYWN0aXZlID0gdHJ1ZTtcclxuICAgICAgICAgICAgdGhpcy5QbGF5ZXIuZ2V0Q2hpbGRCeU5hbWUoXCJyYW5rXCIpLmdldENoaWxkQnlOYW1lKFwibnVtYmVyXCIpXHJcbiAgICAgICAgICAgIC5nZXRDb21wb25lbnQoY2MuTGFiZWwpLnN0cmluZyA9ICBwYXJzZUludCh0aW1lKjEwMCArIFwiXCIpICsgXCIlXCI7XHJcbiAgICAgICAgfSlcclxuICAgICAgICAuc3RhcnQoKTtcclxuICAgICAgICB0aW1lID0gKHRoaXMubGlzdERhdGEubGVuZ3RoIC0gdGhpcy5yYW5rTnVtYmVyKS90aGlzLmxpc3REYXRhLmxlbmd0aDtcclxuICAgICAgICBpZih0aGlzLmxpc3REYXRhLmxlbmd0aCA+PSA5OSl7XHJcbiAgICAgICAgICAgIGlmKHRoaXMucmFua051bWJlciA+PSA5OSl7XHJcbiAgICAgICAgICAgICAgICB0aW1lID0gKE1hdGgucmFuZG9tKCkqNDkrMSkvMTAwXHJcbiAgICAgICAgICAgICAgICB2YXIgbWF0Y2hJZCA9IGNjLnN5cy5sb2NhbFN0b3JhZ2UuZ2V0SXRlbShcIm1hdGNoTnVtYmVyXCIpO1xyXG4gICAgICAgICAgICAgICAgaWYobWF0Y2hJZCA9PSBudWxsIHx8IG1hdGNoSWQgPT0gdW5kZWZpbmVkKXtcclxuICAgICAgICAgICAgICAgICAgICB0aW1lID0gMDtcclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgICAgICBzZXRUaW1lb3V0KCgpID0+IHtcclxuICAgICAgICAgICAgaWYodGhpcy50d2Vlbil0aGlzLnR3ZWVuLnN0b3AoKTtcclxuICAgICAgICAgICAgdGhpcy5QbGF5ZXIuZ2V0Q2hpbGRCeU5hbWUoXCJyYW5rXCIpLmFjdGl2ZSA9IHRydWU7XHJcbiAgICAgICAgICAgIHRoaXMuUGxheWVyLmdldENoaWxkQnlOYW1lKFwicmFua1wiKS5nZXRDaGlsZEJ5TmFtZShcIm51bWJlclwiKVxyXG4gICAgICAgICAgICAuZ2V0Q29tcG9uZW50KGNjLkxhYmVsKS5zdHJpbmcgPSAgcGFyc2VJbnQodGltZSoxMDAgKyBcIlwiKSArIFwiJVwiO1xyXG4gICAgICAgIH0sIHRpbWUqMjAwMCk7XHJcblxyXG4gICAgfVxyXG4gICAgLy/orr7nva7lpLTlg48gIOWkhOeQhueahOmAu+i+keavlOi+g+Wkmu+8jOS4jeeUqOWFrOWFseexu+eahOS6hlxyXG4gICAgcHVibGljIHNldFBpYyhwaWMpe1xyXG4gICAgICAgIHRoaXMucGhvbmUubm9kZS5wYXJlbnQuZ2V0Q2hpbGRCeU5hbWUoXCJpY29uXCIpLmFjdGl2ZSA9IGZhbHNlO1xyXG4gICAgICAgIHRoaXMucGhvbmUubm9kZS5hY3RpdmUgPSBmYWxzZTtcclxuICAgICAgICB0aGlzLlBsYXllci5hY3RpdmUgPSB0cnVlO1xyXG4gICAgICAgIHRoaXMuUGxheWVyLm9wYWNpdHkgPSAwO1xyXG4gICAgICAgIHRoaXMuUGxheWVyLmdldENoaWxkQnlOYW1lKFwibWFza1wiKS5nZXRDaGlsZEJ5TmFtZShcImljb25cIikuYWN0aXZlID0gZmFsc2U7XHJcbiAgICAgICAgdGhpcy5QbGF5ZXIuZ2V0Q2hpbGRCeU5hbWUoXCJtYXNrXCIpLmdldENoaWxkQnlOYW1lKFwicGhvbmVcIikuYWN0aXZlID0gZmFsc2U7XHJcbiAgICAgICAgZmV0Y2gocGljKVxyXG4gICAgICAgIC50aGVuKHJlc3BvbnNlID0+IHtcclxuICAgICAgICAgICAgcmV0dXJuIHJlc3BvbnNlLmhlYWRlcnMuZ2V0KCdDb250ZW50LUxlbmd0aCcpO1xyXG4gICAgICAgIH0pXHJcbiAgICAgICAgLnRoZW4oZXJyTm8gPT4ge1xyXG4gICAgICAgICAgICBpZihlcnJObyA9PSBcIjUwOTNcIil7XHJcbiAgICAgICAgICAgICAgICB0aGlzLnBob25lLm5vZGUucGFyZW50LmdldENoaWxkQnlOYW1lKFwiaWNvblwiKS5hY3RpdmUgPSB0cnVlO1xyXG4gICAgICAgICAgICAgICAgdGhpcy5QbGF5ZXIuZ2V0Q2hpbGRCeU5hbWUoXCJtYXNrXCIpLmdldENoaWxkQnlOYW1lKFwiaWNvblwiKS5hY3RpdmUgPSB0cnVlO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfSlcclxuICAgICAgICAuY2F0Y2goZXJyb3IgPT4ge1xyXG4gICAgICAgICAgICAvLyBjb25zb2xlLmVycm9yKCdFcnJvciBmZXRjaGluZyBYLUluZm86JywgZXJyb3IpO1xyXG4gICAgICAgIH0pO1xyXG4gICAgICAgIHZhciBzZWxmID0gdGhpcztcclxuICAgICAgICBjYy5hc3NldE1hbmFnZXIubG9hZFJlbW90ZShwaWMsIHtleHQ6Jy5wbmcnfSwoZXJyLCB0ZXh0dXJlOmNjLlRleHR1cmUyRCkgPT4ge1xyXG4gICAgICAgICAgICBzZWxmLlBsYXllci5vcGFjaXR5ID0gMjU1O1xyXG4gICAgICAgICAgICBpZih0ZXh0dXJlKXtcclxuICAgICAgICAgICAgICAgIHNlbGYucGhvbmUubm9kZS5hY3RpdmUgPSB0cnVlO1xyXG4gICAgICAgICAgICAgICAgc2VsZi5waG9uZS5zcHJpdGVGcmFtZSA9IG5ldyBjYy5TcHJpdGVGcmFtZSh0ZXh0dXJlKTtcclxuICAgICAgICAgICAgICAgIHNlbGYuUGxheWVyLmdldENoaWxkQnlOYW1lKFwibWFza1wiKS5nZXRDaGlsZEJ5TmFtZShcImljb25cIikuYWN0aXZlID0gZmFsc2U7XHJcbiAgICAgICAgICAgICAgICBzZWxmLlBsYXllci5nZXRDaGlsZEJ5TmFtZShcIm1hc2tcIikuZ2V0Q2hpbGRCeU5hbWUoXCJwaG9uZVwiKS5hY3RpdmUgPSB0cnVlO1xyXG4gICAgICAgICAgICAgICAgc2VsZi5QbGF5ZXIuZ2V0Q2hpbGRCeU5hbWUoXCJtYXNrXCIpLmdldENoaWxkQnlOYW1lKFwicGhvbmVcIikuZ2V0Q29tcG9uZW50KGNjLlNwcml0ZSlcclxuICAgICAgICAgICAgICAgIC5zcHJpdGVGcmFtZSA9IG5ldyBjYy5TcHJpdGVGcmFtZSh0ZXh0dXJlKTtcclxuICAgICAgICAgICAgICAgIHNldFRpbWVvdXQoKCkgPT4ge1xyXG4gICAgICAgICAgICAgICAgICAgIHNlbGYucGxheWVyQWN0aW9uKCk7XHJcbiAgICAgICAgICAgICAgICB9LCA1MDApO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIGVsc2V7XHJcbiAgICAgICAgICAgICAgICBzZWxmLlBsYXllci5nZXRDaGlsZEJ5TmFtZShcIm1hc2tcIikuZ2V0Q2hpbGRCeU5hbWUoXCJpY29uXCIpLmFjdGl2ZSA9IHRydWU7XHJcbiAgICAgICAgICAgICAgICBzZXRUaW1lb3V0KCgpID0+IHtcclxuICAgICAgICAgICAgICAgICAgICBzZWxmLnBsYXllckFjdGlvbigpO1xyXG4gICAgICAgICAgICAgICAgfSwgNTAwKTtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICBcclxuICAgICAgICB9KVxyXG4gICAgfVxyXG5cclxufVxyXG4iXX0= +//------QC-SOURCE-SPLIT------ + + (function() { + var nodeEnv = typeof require !== 'undefined' && typeof process !== 'undefined'; + var __module = nodeEnv ? module : {exports:{}}; + var __filename = 'preview-scripts/assets/Script/Window.js'; + var __require = nodeEnv ? function (request) { + return cc.require(request); + } : function (request) { + return __quick_compile_project__.require(request, __filename); + }; + function __define (exports, require, module) { + if (!nodeEnv) {__quick_compile_project__.registerModule(__filename, module);}"use strict"; +cc._RF.push(module, '3bad2uyOw5MzLq3b5g9aHn2', 'Window'); +// Script/Window.ts + +"use strict"; +// Learn TypeScript: +// - https://docs.cocos.com/creator/manual/en/scripting/typescript.html +// Learn Attribute: +// - https://docs.cocos.com/creator/manual/en/scripting/reference/attributes.html +// Learn life-cycle callbacks: +// - https://docs.cocos.com/creator/manual/en/scripting/life-cycle-callbacks.html +var __extends = (this && this.__extends) || (function () { + var extendStatics = function (d, b) { + extendStatics = Object.setPrototypeOf || + ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) || + function (d, b) { for (var p in b) if (Object.prototype.hasOwnProperty.call(b, p)) d[p] = b[p]; }; + return extendStatics(d, b); + }; + return function (d, b) { + extendStatics(d, b); + function __() { this.constructor = d; } + d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __()); + }; +})(); +var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) { + var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d; + if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc); + else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r; + return c > 3 && r && Object.defineProperty(target, key, r), r; +}; +Object.defineProperty(exports, "__esModule", { value: true }); +var _a = cc._decorator, ccclass = _a.ccclass, property = _a.property; +var NewClass = /** @class */ (function (_super) { + __extends(NewClass, _super); + function NewClass() { + return _super !== null && _super.apply(this, arguments) || this; + } + // LIFE-CYCLE CALLBACKS: + // onLoad () {} + NewClass.prototype.start = function () { + }; + NewClass.prototype.init = function (data) { + var _this = this; + this.node.getChildByName("win").active = false; + this.node.getChildByName("lose").active = false; + this.node.getChildByName("finishi").active = false; + this.node.getChildByName(data).active = true; + var target = this.node.getChildByName(data); + target.opacity = 0; + target.scale = 2; + cc.tween(target) + .delay(0.2) + .to(0.4, { opacity: 255, scale: 1 }) + .delay(1.3) + .call(function () { + cc.tween(_this.node) + .to(0.3, { opacity: 0 }) + .call(function () { + _this.node.active = false; + cc.director.loadScene("GameScene"); + }) + .start(); + }) + .start(); + }; + NewClass = __decorate([ + ccclass + ], NewClass); + return NewClass; +}(cc.Component)); +exports.default = NewClass; + +cc._RF.pop(); + } + if (nodeEnv) { + __define(__module.exports, __require, __module); + } + else { + __quick_compile_project__.registerModuleFunc(__filename, function () { + __define(__module.exports, __require, __module); + }); + } + })(); +//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbImFzc2V0c1xcU2NyaXB0XFxXaW5kb3cudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7Ozs7Ozs7OztBQUFBLG9CQUFvQjtBQUNwQix3RUFBd0U7QUFDeEUsbUJBQW1CO0FBQ25CLGtGQUFrRjtBQUNsRiw4QkFBOEI7QUFDOUIsa0ZBQWtGOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7QUFFNUUsSUFBQSxLQUFzQixFQUFFLENBQUMsVUFBVSxFQUFsQyxPQUFPLGFBQUEsRUFBRSxRQUFRLGNBQWlCLENBQUM7QUFHMUM7SUFBc0MsNEJBQVk7SUFBbEQ7O0lBa0NBLENBQUM7SUFoQ0csd0JBQXdCO0lBRXhCLGVBQWU7SUFFZix3QkFBSyxHQUFMO0lBRUEsQ0FBQztJQUVELHVCQUFJLEdBQUosVUFBSyxJQUFJO1FBQVQsaUJBcUJDO1FBcEJHLElBQUksQ0FBQyxJQUFJLENBQUMsY0FBYyxDQUFDLEtBQUssQ0FBQyxDQUFDLE1BQU0sR0FBRyxLQUFLLENBQUM7UUFDL0MsSUFBSSxDQUFDLElBQUksQ0FBQyxjQUFjLENBQUMsTUFBTSxDQUFDLENBQUMsTUFBTSxHQUFHLEtBQUssQ0FBQztRQUNoRCxJQUFJLENBQUMsSUFBSSxDQUFDLGNBQWMsQ0FBQyxTQUFTLENBQUMsQ0FBQyxNQUFNLEdBQUcsS0FBSyxDQUFDO1FBQ25ELElBQUksQ0FBQyxJQUFJLENBQUMsY0FBYyxDQUFDLElBQUksQ0FBQyxDQUFDLE1BQU0sR0FBRyxJQUFJLENBQUM7UUFDN0MsSUFBSSxNQUFNLEdBQUcsSUFBSSxDQUFDLElBQUksQ0FBQyxjQUFjLENBQUMsSUFBSSxDQUFDLENBQUM7UUFDNUMsTUFBTSxDQUFDLE9BQU8sR0FBRyxDQUFDLENBQUM7UUFBQyxNQUFNLENBQUMsS0FBSyxHQUFHLENBQUMsQ0FBQztRQUNyQyxFQUFFLENBQUMsS0FBSyxDQUFDLE1BQU0sQ0FBQzthQUNmLEtBQUssQ0FBQyxHQUFHLENBQUM7YUFDVixFQUFFLENBQUMsR0FBRyxFQUFDLEVBQUMsT0FBTyxFQUFDLEdBQUcsRUFBQyxLQUFLLEVBQUMsQ0FBQyxFQUFDLENBQUM7YUFDN0IsS0FBSyxDQUFDLEdBQUcsQ0FBQzthQUNWLElBQUksQ0FBQztZQUNGLEVBQUUsQ0FBQyxLQUFLLENBQUMsS0FBSSxDQUFDLElBQUksQ0FBQztpQkFDbEIsRUFBRSxDQUFDLEdBQUcsRUFBQyxFQUFDLE9BQU8sRUFBQyxDQUFDLEVBQUMsQ0FBQztpQkFDbkIsSUFBSSxDQUFDO2dCQUNGLEtBQUksQ0FBQyxJQUFJLENBQUMsTUFBTSxHQUFHLEtBQUssQ0FBQztnQkFDekIsRUFBRSxDQUFDLFFBQVEsQ0FBQyxTQUFTLENBQUMsV0FBVyxDQUFDLENBQUM7WUFDdkMsQ0FBQyxDQUFDO2lCQUNELEtBQUssRUFBRSxDQUFDO1FBQ2IsQ0FBQyxDQUFDO2FBQ0QsS0FBSyxFQUFFLENBQUM7SUFDYixDQUFDO0lBL0JnQixRQUFRO1FBRDVCLE9BQU87T0FDYSxRQUFRLENBa0M1QjtJQUFELGVBQUM7Q0FsQ0QsQUFrQ0MsQ0FsQ3FDLEVBQUUsQ0FBQyxTQUFTLEdBa0NqRDtrQkFsQ29CLFFBQVEiLCJmaWxlIjoiIiwic291cmNlUm9vdCI6Ii8iLCJzb3VyY2VzQ29udGVudCI6WyIvLyBMZWFybiBUeXBlU2NyaXB0OlxyXG4vLyAgLSBodHRwczovL2RvY3MuY29jb3MuY29tL2NyZWF0b3IvbWFudWFsL2VuL3NjcmlwdGluZy90eXBlc2NyaXB0Lmh0bWxcclxuLy8gTGVhcm4gQXR0cmlidXRlOlxyXG4vLyAgLSBodHRwczovL2RvY3MuY29jb3MuY29tL2NyZWF0b3IvbWFudWFsL2VuL3NjcmlwdGluZy9yZWZlcmVuY2UvYXR0cmlidXRlcy5odG1sXHJcbi8vIExlYXJuIGxpZmUtY3ljbGUgY2FsbGJhY2tzOlxyXG4vLyAgLSBodHRwczovL2RvY3MuY29jb3MuY29tL2NyZWF0b3IvbWFudWFsL2VuL3NjcmlwdGluZy9saWZlLWN5Y2xlLWNhbGxiYWNrcy5odG1sXHJcblxyXG5jb25zdCB7Y2NjbGFzcywgcHJvcGVydHl9ID0gY2MuX2RlY29yYXRvcjtcclxuXHJcbkBjY2NsYXNzXHJcbmV4cG9ydCBkZWZhdWx0IGNsYXNzIE5ld0NsYXNzIGV4dGVuZHMgY2MuQ29tcG9uZW50IHtcclxuXHJcbiAgICAvLyBMSUZFLUNZQ0xFIENBTExCQUNLUzpcclxuXHJcbiAgICAvLyBvbkxvYWQgKCkge31cclxuXHJcbiAgICBzdGFydCAoKSB7XHJcblxyXG4gICAgfVxyXG5cclxuICAgIGluaXQoZGF0YSl7XHJcbiAgICAgICAgdGhpcy5ub2RlLmdldENoaWxkQnlOYW1lKFwid2luXCIpLmFjdGl2ZSA9IGZhbHNlO1xyXG4gICAgICAgIHRoaXMubm9kZS5nZXRDaGlsZEJ5TmFtZShcImxvc2VcIikuYWN0aXZlID0gZmFsc2U7XHJcbiAgICAgICAgdGhpcy5ub2RlLmdldENoaWxkQnlOYW1lKFwiZmluaXNoaVwiKS5hY3RpdmUgPSBmYWxzZTtcclxuICAgICAgICB0aGlzLm5vZGUuZ2V0Q2hpbGRCeU5hbWUoZGF0YSkuYWN0aXZlID0gdHJ1ZTtcclxuICAgICAgICB2YXIgdGFyZ2V0ID0gdGhpcy5ub2RlLmdldENoaWxkQnlOYW1lKGRhdGEpO1xyXG4gICAgICAgIHRhcmdldC5vcGFjaXR5ID0gMDsgdGFyZ2V0LnNjYWxlID0gMjtcclxuICAgICAgICBjYy50d2Vlbih0YXJnZXQpXHJcbiAgICAgICAgLmRlbGF5KDAuMilcclxuICAgICAgICAudG8oMC40LHtvcGFjaXR5OjI1NSxzY2FsZToxfSlcclxuICAgICAgICAuZGVsYXkoMS4zKVxyXG4gICAgICAgIC5jYWxsKCgpPT57XHJcbiAgICAgICAgICAgIGNjLnR3ZWVuKHRoaXMubm9kZSlcclxuICAgICAgICAgICAgLnRvKDAuMyx7b3BhY2l0eTowfSlcclxuICAgICAgICAgICAgLmNhbGwoKCkgPT57XHJcbiAgICAgICAgICAgICAgICB0aGlzLm5vZGUuYWN0aXZlID0gZmFsc2U7XHJcbiAgICAgICAgICAgICAgICBjYy5kaXJlY3Rvci5sb2FkU2NlbmUoXCJHYW1lU2NlbmVcIik7XHJcbiAgICAgICAgICAgIH0pXHJcbiAgICAgICAgICAgIC5zdGFydCgpO1xyXG4gICAgICAgIH0pXHJcbiAgICAgICAgLnN0YXJ0KCk7XHJcbiAgICB9XHJcblxyXG4gICAgLy8gdXBkYXRlIChkdCkge31cclxufVxyXG4iXX0= +//------QC-SOURCE-SPLIT------ + + (function() { + var nodeEnv = typeof require !== 'undefined' && typeof process !== 'undefined'; + var __module = nodeEnv ? module : {exports:{}}; + var __filename = 'preview-scripts/assets/Script/GameManager.js'; + var __require = nodeEnv ? function (request) { + return cc.require(request); + } : function (request) { + return __quick_compile_project__.require(request, __filename); + }; + function __define (exports, require, module) { + if (!nodeEnv) {__quick_compile_project__.registerModule(__filename, module);}"use strict"; +cc._RF.push(module, 'b0432BA295DjIOcuitdGKO1', 'GameManager'); +// Script/GameManager.ts + +"use strict"; +var __extends = (this && this.__extends) || (function () { + var extendStatics = function (d, b) { + extendStatics = Object.setPrototypeOf || + ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) || + function (d, b) { for (var p in b) if (Object.prototype.hasOwnProperty.call(b, p)) d[p] = b[p]; }; + return extendStatics(d, b); + }; + return function (d, b) { + extendStatics(d, b); + function __() { this.constructor = d; } + d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __()); + }; +})(); +var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) { + var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d; + if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc); + else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r; + return c > 3 && r && Object.defineProperty(target, key, r), r; +}; +Object.defineProperty(exports, "__esModule", { value: true }); +var Block_1 = require("./Block"); +// 主游戏控制类 +var _a = cc._decorator, ccclass = _a.ccclass, property = _a.property; +var GameManager = /** @class */ (function (_super) { + __extends(GameManager, _super); + function GameManager() { + var _this = _super !== null && _super.apply(this, arguments) || this; + _this.Map = null; + _this.Block = null; + _this.Time = null; + _this.Countdown = null; + _this.Guide = null; + return _this; + } + GameManager.prototype.onLoad = function () { + }; + GameManager.prototype.start = function () { + cc.fx.GameConfig.CLICK_init(); + this.fit(); + this.init(); + }; + //处理地图数据 第一关完全随机,从第二关开始,赢了根据5秒洪峰来临增加难度步数,输了当前难度减步数 + GameManager.prototype.getMap = function () { + var custom = 0; + var map = []; + if (cc.fx.GameConfig.GM_INFO.level == 1) { + custom = Math.floor(Math.random() * cc.fx.GameConfig.LEVEL_INFO[cc.fx.GameConfig.GM_INFO.level].length); + } + else { + var arr = cc.fx.GameConfig.LEVEL_INFO[cc.fx.GameConfig.GM_INFO.level]; + if (cc.fx.GameConfig.GM_INFO.min_Time == -1) { + map = this.getMapArray(arr, cc.fx.GameConfig.GM_INFO.min_Steps - 1, false); + } + else if (cc.fx.GameConfig.GM_INFO.min_Time >= 5) { + map = this.getMapArray(arr, cc.fx.GameConfig.GM_INFO.min_Steps + 2, true); + } + else { + map = this.getMapArray(arr, cc.fx.GameConfig.GM_INFO.min_Steps + 1, true); + } + var random = Math.floor(Math.random() * map.length); + custom = map[random]; + // console.log(custom,map); + } + //记录当前最小步数 + cc.fx.GameConfig.GM_INFO.min_Steps = cc.fx.GameConfig.LEVEL_INFO[cc.fx.GameConfig.GM_INFO.level][custom].min_steps; + cc.fx.GameConfig.GM_INFO.min_Time = 0; + return custom; + }; + /** + * 获取下一关难度,步数增加2或者1,如果没有则降到有. + * @param arr 配置里读取,当前(x*x)地图等级内所有地图数组 + * @param min_steps 最佳步数,下一关难度或者输了降难度,根据最佳步数增加或者减少。 + * @param type true为增加步数,false为输了降低难度步数 + */ + GameManager.prototype.getMapArray = function (arr, min_steps, type) { + var map = []; + for (var i = 0; i < arr.length; i++) { + if (arr[i].min_steps == min_steps) { + map.push(i); + } + } + if (map.length == 0) { + if (type) + map = this.getMapArray(arr, min_steps - 1, type); + else + map = this.getMapArray(arr, min_steps + 1, type); + } + return map; + }; + //初始化数据 + GameManager.prototype.init = function () { + var name = cc.fx.GameConfig.GM_INFO.gameId + "_guide"; + var data = JSON.parse(localStorage.getItem(name)); + if (data != false) { + cc.fx.GameConfig.GM_INFO.guide = true; + cc.fx.StorageMessage.setStorage(name, cc.fx.GameConfig.GM_INFO.guide); + } + else { + cc.fx.GameConfig.GM_INFO.guide = cc.fx.StorageMessage.getStorage(name); + } + this.initMap(); + this.finishiTime = 0; + this.scoreTime = 0; + this.replaceTime = 0; + this.startTime = cc.fx.GameTool.getTime(); + this.countTime = cc.fx.GameConfig.TIME_INFO.totalTime; + if (this.countTime == 0) { + this.gameOver(); + } + this.waterTime = cc.fx.GameConfig.TIME_INFO.waterTime[cc.fx.GameConfig.GM_INFO.level]; + // if(this.countTime < this.waterTime) this.replaceTime = this.countTime; + this.Time.string = cc.fx.GameTool.getTimeMargin(this.countTime); + if (!cc.fx.GameConfig.GM_INFO.guide) { + this.Guide.active = false; + this.step = 0; + var head = this.node.getChildByName("Top").getChildByName("head"); + var progress = this.node.getChildByName("Top").getChildByName("progress").getComponent(cc.Sprite); + head.runAction(cc.moveTo(this.waterTime, cc.v2(310, head.y))); + this.waterTween = cc.tween(progress) + .to(this.waterTime, { fillRange: 1 }) + .start(); + this.schedule(this.updateWaterTime, 1); + this.schedule(this.updateCountDownTime, 1); + } + else { + this.Guide.active = true; + this.guideNext(); + } + }; + //初始化地图 + GameManager.prototype.initMap = function () { + cc.fx.GameConfig.GM_INFO.round += 1; + cc.fx.GameConfig.GM_INFO.fen = 0; + this.block_Array = []; + this.path_Array = []; + this.water_Array = []; + this.map_Array = []; + this.tip_Array = []; + this.plan_over = false; + this.map_Hight = 0; + this.map_Width = 0; + this.step = 0; + this.bgClick = false; + this.btnClick = false; + this.custom = 0; //9 + if (!cc.fx.GameConfig.GM_INFO.guide && cc.fx.GameConfig.GM_INFO.level == 0) { + cc.fx.GameConfig.GM_INFO.level = 1; + this.custom = this.getMap(); + } + else if (!cc.fx.GameConfig.GM_INFO.guide) { + this.custom = this.getMap(); + } + // this.custom = 7; + // console.log(this.custom); + var arr = cc.fx.GameConfig.LEVEL_INFO[cc.fx.GameConfig.GM_INFO.level][this.custom].map; + if (cc.fx.GameConfig.GM_INFO.level == 0) { + this.Map.scale = 1.2; + } + this.node.getChildByName("Top").getChildByName("id").getComponent(cc.Label).string = + cc.fx.GameConfig.GM_INFO.score; + //将地图x,y轴切换 + this.map_Array = arr[0].map(function (item, i) { + return arr.map(function (val) { return val[i]; }); + }); + this.map_Width = this.map_Array.length; + this.map_Hight = this.map_Array[0].length; + this.Map.x = (6 - this.map_Array.length) * 48; + this.Map.y = (this.map_Array[0].length - 6.5) * 48; + for (var i = 0; i < this.map_Array.length; i++) { + for (var j = 0; j < this.map_Array[i].length; j++) { + var block = cc.instantiate(this.Block); + block.parent = this.Map; + block.getComponent("Block").initData(this.map_Array[i][j], cc.v2(i, j), cc.v2(this.map_Width, this.map_Hight)); + if (this.map_Array[i][j] == cc.Enum(Block_1.BlockType).Start) { + this.path_Array.push(cc.v3(i, j, cc.Enum(Block_1.BlockType).Nomal)); + // this.water_Array.push(cc.v3(i,j,cc.Enum(BlockType).Nomal)); + } + block.setPosition(cc.v2(-block.width * 2.5 + i * block.width, block.height * 4 - j * block.height)); + this.block_Array.push(block); + } + } + }; + /** + * 开始后,按玩家操作,将路径中地图块放入数组中 + * @param data 根据当前操作,添加建筑地图数组 + */ + GameManager.prototype.setMap = function (data) { + for (var i = 0; i < data.length; i++) { + var start = this.path_Array[this.path_Array.length - 1]; + switch (data[i]) { + case "up": + this.path_Array.push(cc.v3(start.x, start.y - 1, cc.Enum(Block_1.BlockType).Nomal)); + break; + case "down": + this.path_Array.push(cc.v3(start.x, start.y + 1, cc.Enum(Block_1.BlockType).Nomal)); + break; + case "left": + this.path_Array.push(cc.v3(start.x - 1, start.y, cc.Enum(Block_1.BlockType).Nomal)); + break; + case "right": + this.path_Array.push(cc.v3(start.x + 1, start.y, cc.Enum(Block_1.BlockType).Nomal)); + break; + case "reinforce": + this.path_Array.push(cc.v3(start.x, start.y, cc.Enum(Block_1.BlockType).Reinforce)); + break; + case "soil": + this.path_Array.push(cc.v3(start.x, start.y, cc.Enum(Block_1.BlockType).Xi_Soil)); + break; + } + } + if (this.path_Array[this.path_Array.length - 1].z != 0) { + this.path_Array.pop(); + } + this.runRoad(0); + }; + /** + * 开始执行洪峰来了的动画 + * @param order 建筑地图数组里的执行的序列号,依次往下加 + */ + GameManager.prototype.runRoad = function (order) { + var _this = this; + order = parseInt(order); + if (order > 0) { + if (this.path_Array[order - 1].z == 0) { + //console.log("1正常放入",this.path_Array[order-1].x,this.path_Array[order-1].y,this.path_Array[order-1].z) + this.changeWater(cc.v3(this.path_Array[order - 1].x, this.path_Array[order - 1].y, 0)); + if (order == this.path_Array.length - 1) { + this.changeWater(cc.v3(this.path_Array[order].x, this.path_Array[order].y, 0)); + // console.log("最后放入",this.path_Array[order].x,this.path_Array[order].y) + } + } + else { + //console.log("2插入",this.path_Array[order].x,this.path_Array[order].y,this.path_Array[order].z) + this.changeWater(cc.v3(this.path_Array[order].x, this.path_Array[order].y, 0)); + } + } + if (order <= this.path_Array.length - 1) { + var i = this.path_Array[order].x * this.map_Array[0].length + this.path_Array[order].y; + var direction = ""; + var circulate = true; + //最后一步结束 + if (order == this.path_Array.length - 1) { + circulate = false; + direction = "End"; + // console.log("进入结束"); + if (this.path_Array.length > 1) { + // console.log("准备出水"); + setTimeout(function () { + if (!_this.plan_over) { + _this.plan_over = true; + var head = _this.node.getChildByName("Top").getChildByName("head"); + var progress = _this.node.getChildByName("Top").getChildByName("progress").getComponent(cc.Sprite); + head.stopAllActions(); + head.setPosition(310, head.y); + if (_this.waterTween) + _this.waterTween.stop(); + progress.fillRange = 1; + cc.fx.GameConfig.GM_INFO.min_Time = _this.waterTime; + _this.runWater(0); + } + }, 500); + } + else { + direction = "err"; + // console.log("进入结束err"); + } + } + else { + if (this.path_Array[order].z == 6 && order + 1 < this.path_Array.length) { + direction = "Reinforce"; + i = this.path_Array[order + 1].x * this.map_Array[0].length + this.path_Array[order + 1].y; + } + else if (order + 1 < this.path_Array.length) { + if (this.path_Array[order + 1].z == 5) { + direction = "Xi_Soil"; + } + else if (this.path_Array[order + 1].z == 6 && order == 0 && order + 1 < this.path_Array.length) { + // direction = this.getDirection(order+1,this.path_Array); + direction = this.getDirection(order, this.path_Array); + } + else { + direction = this.getDirection(order, this.path_Array); + } + } + else { + direction = this.getDirection(order, this.path_Array); + } + } + // console.log(order,this.path_Array[order].x,this.path_Array[order].y,i); + // console.log("步骤:",order,"方向",direction); + var jg = this.getBoundary(order, this.path_Array[order].x, this.path_Array[order].y, direction, this.path_Array); + // if(direction == "" || jg == false) return; + if (direction == "err" || direction == "" || jg == false) { + cc.fx.Notifications.emit(cc.fx.Message.showResult, "lose"); + return; + } + if (i < 0 || i > (this.block_Array.length - 1)) { + cc.fx.Notifications.emit(cc.fx.Message.showResult, "lose"); + return; + } + var target = this.block_Array[i].getComponent("Block"); + target.setPath(direction); + if (order > 0 && order < this.path_Array.length - 1) { + if (this.path_Array[order + 1].z == 5) { + this.set_Soil(order + 1, this.path_Array, "road"); + circulate = false; + return; + } + else if (order == 1 && this.path_Array[order].z == 5) { + this.set_Soil(order, this.path_Array, "road"); + circulate = false; + return; + } + } + var pos = cc.v2(); + if (direction == "End") { + if (order > 0) { + // if(this.path_Array[order-1].z == 0){ + pos = cc.v2(this.path_Array[order - 1].x, this.path_Array[order - 1].y); + // } + } + } + var data = { + order: order, + time: cc.fx.GameConfig.TIME_INFO.waterSpeed[cc.fx.GameConfig.GM_INFO.level], + type: this.path_Array[order].z, + circulate: circulate, + last: pos + }; + target.runRoad(data); + } + }; + /** + * 判断边界。或者撞山,或者湿地没有加固 + * @param order 建筑地图数组里的执行的序列号 + * @param x 当前操作地块横坐标 + * @param y 当前操作地块纵坐标 + * @param direction 当前操作方向,若不是方向则为息壤或者加固 + * @param road 建筑地图数组,可理解为路径数组,path_Array + */ + GameManager.prototype.getBoundary = function (order, x, y, direction, road) { + var jg = true; + if (x < 0 || x >= this.map_Width || y < 0 || y >= this.map_Hight) { + jg = false; + // console.log("超过边界,游戏结束"); + // alert("超过边界,治水失败"); + cc.fx.Notifications.emit(cc.fx.Message.showResult, "lose"); + } + else { + var i = road[order].x * this.map_Array[0].length + road[order].y; + var target = this.block_Array[i].getComponent("Block"); + if (target.block_Type == 3) { + jg = false; + // console.log("修筑山峰,游戏结束"); + // alert("修筑山峰,治水失败"); + cc.fx.Notifications.emit(cc.fx.Message.showResult, "lose"); + } + else if (target.block_Type == 2 && direction != "Reinforce") { + jg = false; + // console.log("修筑未加固湿地,游戏结束"); + // alert("修筑未加固湿地,游戏结束"); + cc.fx.Notifications.emit(cc.fx.Message.showResult, "lose"); + } + } + return jg; + }; + /** + * 开始执行洪峰来了的动画 + * @param order 建筑地图数组里的执行的序列号,依次往下加 + */ + GameManager.prototype.runWater = function (order) { + order = parseInt(order); + if (order <= this.water_Array.length - 1) { + var i = this.water_Array[order].x * this.map_Array[0].length + this.water_Array[order].y; + var direction = ""; + var circulate = true; + //最后一步结束 + if (order == this.water_Array.length - 1) { + circulate = false; + direction = "End"; + } + else { + if (this.water_Array[order].z == 6 && order + 1 < this.water_Array.length && order != 1) { + direction = "Reinforce"; + i = this.water_Array[order + 1].x * this.map_Array[0].length + this.water_Array[order + 1].y; + } + else if (order + 1 < this.water_Array.length) { + if (this.water_Array[order + 1].z == 5) { + direction = "Xi_Soil"; + } + else if (this.water_Array[order + 1].z == 6 && order == 0) { + direction = "Reinforce"; + } + else { + direction = this.getDirection(order, this.water_Array); + } + } + else { + direction = this.getDirection(order, this.water_Array); + } + } + var jg = this.getBoundary(order, this.water_Array[order].x, this.water_Array[order].y, direction, this.water_Array); + if (direction == "" || jg == false || direction == "err") { + cc.fx.Notifications.emit(cc.fx.Message.showResult, "lose"); + return; + } + var target = this.block_Array[i].getComponent("Block"); + target.setPath(direction); + if (order > 0 && order < this.water_Array.length - 1) { + if (this.water_Array[order + 1].z == 5) { + this.set_Soil(order + 1, this.water_Array, "water"); + circulate = false; + return; + } + else if (order == 1 && this.water_Array[order].z == 5) { + this.set_Soil(order, this.water_Array, "water"); + circulate = false; + return; + } + } + var pos = cc.v2(); + if (direction == "End") { + if (order > 0) { + if (this.water_Array[order - 1].z == 0) { + pos = cc.v2(this.water_Array[order - 1].x, this.water_Array[order - 1].y); + } + } + } + var data = { + order: order, + time: cc.fx.GameConfig.TIME_INFO.waterSpeed[cc.fx.GameConfig.GM_INFO.level], + type: this.water_Array[order].z, + circulate: circulate, + last: pos + }; + target.runWater(data); + } + }; + /** + * 获取息壤的格子的方向 + * @param order 建筑地图数组里的执行的序列号,依次往下加 + * @param road 建筑地图数组或者洪峰路径数组,可理解为路径数组,path_Array water_Array + */ + GameManager.prototype.getXi_Soil = function (order, road) { + var direction = null; + //如果息壤后面还有下一步的话 + if (order + 1 < road.length) { + direction = this.getDirection(order, road); + if (direction == "up" || direction == "right_up" || direction == "left_up") { + direction = "up"; + } + else if (direction == "down" || direction == "left_down" || direction == "right_down") { + direction = "down"; + } + else if (direction == "left" || direction == "up_left" || direction == "down_left") { + direction = "left"; + } + else if (direction == "right" || direction == "up_right" || direction == "down_right") { + direction = "right"; + } + } + return direction; + }; + /** + * 设置息壤执行方法 + * @param order 建筑地图数组里的执行的序列号,依次往下加 + * @param road 建筑地图数组或者洪峰路径数组,可理解为路径数组,path_Array water_Array + * @param name road或者water,建筑路径或者洪峰路径 + */ + GameManager.prototype.set_Soil = function (order, road, name) { + var direction = this.getXi_Soil(order, road); + var length = 0; + if (direction == "right") { + length = this.map_Width - 1; + // let temp = this.map_Width - 1; + for (var i = road[order].x; i <= length; i++) { + var n = i * this.map_Array[0].length + road[order].y; + var target = this.block_Array[n].getComponent("Block"); + if (target.block_Type == 3 || target.block_Type == 4) { + length = i - 1; + if (target.block_Type == 4) { + length += 1; + } + i = 10000; + break; + } + } + } + else if (direction == "left") { + length = 0; + for (var i = road[order].x; i >= length; i--) { + var n = i * this.map_Array[0].length + road[order].y; + var target = this.block_Array[n].getComponent("Block"); + if (target.block_Type == 3 || target.block_Type == 4) { + length = i + 1; + if (target.block_Type == 4) { + length -= 1; + } + i = -1; + break; + } + } + } + else if (direction == "up") { + length = 0; + for (var i = road[order].y; i >= length; i--) { + var n = road[order].x * this.map_Array[0].length + i; + var target = this.block_Array[n].getComponent("Block"); + if (target.block_Type == 3 || target.block_Type == 4) { + length = i + 1; + if (target.block_Type == 4) { + length -= 1; + } + i = -1; + break; + } + } + } + else if (direction == "down") { + length = this.map_Hight - 1; + for (var i = road[order].y; i <= length; i++) { + var n = road[order].x * this.map_Array[0].length + i; + var target = this.block_Array[n].getComponent("Block"); + if (target.block_Type == 3 || target.block_Type == 4) { + length = i - 1; + if (target.block_Type == 4) { + length += 1; + } + i = 10000; + break; + } + } + } + this.soil_Find(direction, order, length, road, name); + }; + //查找息壤蛮遗憾路径 + GameManager.prototype.soil_Find = function (direction, order, length, road, name) { + var start = road[order].x; + if (direction == "right") { + for (var i = start; i <= length; i++) { + var n = i * this.map_Array[0].length + road[order].y; + var target = this.block_Array[n].getComponent("Block"); + if (i == start) { + if (i == start && i == length) { + cc.fx.Notifications.emit(cc.fx.Message.showResult, "lose"); + target.set_Xi_SoilType(this.getDirection(order, road), order, name); + } + else + target.set_Xi_SoilType(this.getDirection(order, road), null, name); + var value = cc.v3(this.path_Array[order].x, this.path_Array[order].y, 0); + if (this.water_Array[this.water_Array.length - 1] != value) { + // console.log("特别插入:",this.path_Array[order].x,this.path_Array[order].y); + this.changeWater(value); + } + } + else { + var jg = null; + if (i == length) { + var number = i - start - 1; + this.changePath(order, number, false, road); + jg = order; + } + target.set_Xi_SoilType(direction, jg, name); + } + } + } + else if (direction == "left") { + for (var i = start; i >= length; i--) { + var n = i * this.map_Array[0].length + road[order].y; + var target = this.block_Array[n].getComponent("Block"); + if (i == start) { + if (i == start && i == length) { + cc.fx.Notifications.emit(cc.fx.Message.showResult, "lose"); + target.set_Xi_SoilType(this.getDirection(order, road), order, name); + } + else + target.set_Xi_SoilType(this.getDirection(order, road), null, name); + var value = cc.v3(this.path_Array[order].x, this.path_Array[order].y, 0); + if (this.water_Array[this.water_Array.length - 1] != value) { + // console.log("特别插入:",this.path_Array[order].x,this.path_Array[order].y); + this.changeWater(value); + } + } + else { + var jg = null; + if (i == length) { + var number = i - start + 1; + this.changePath(order, number, false, road); + jg = order; + } + target.set_Xi_SoilType(direction, jg, name); + } + } + } + else if (direction == "up") { + start = road[order].y; + for (var i = start; i >= length; i--) { + var n = road[order].x * this.map_Array[0].length + i; + var target = this.block_Array[n].getComponent("Block"); + if (i == start) { + if (i == start && i == length) { + cc.fx.Notifications.emit(cc.fx.Message.showResult, "lose"); + target.set_Xi_SoilType(this.getDirection(order, road), order, name); + } + else { + target.set_Xi_SoilType(this.getDirection(order, road), null, name); + } + var value = cc.v3(this.path_Array[order].x, this.path_Array[order].y, 0); + if (this.water_Array[this.water_Array.length - 1] != value) { + // console.log("特别插入:",this.path_Array[order].x,this.path_Array[order].y); + this.changeWater(value); + } + } + else { + var jg = null; + if (i == length) { + var number = i - start + 1; + this.changePath(order, number, true, road); + jg = order; + } + // console.log("想上息壤插入:",this.path_Array[order].x,i); + target.set_Xi_SoilType(direction, jg, name); + } + } + } + else if (direction == "down") { + start = road[order].y; + for (var i = start; i <= length; i++) { + var n = road[order].x * this.map_Array[0].length + i; + var target = this.block_Array[n].getComponent("Block"); + if (i == start) { + if (i == start && i == length) { + cc.fx.Notifications.emit(cc.fx.Message.showResult, "lose"); + target.set_Xi_SoilType(this.getDirection(order, road), order, name); + } + else + target.set_Xi_SoilType(this.getDirection(order, road), null, name); + var value = cc.v3(this.path_Array[order].x, this.path_Array[order].y, 0); + if (this.water_Array[this.water_Array.length - 1] != value) { + // console.log("特别插入:",this.path_Array[order].x,this.path_Array[order].y); + this.changeWater(value); + } + } + else { + var jg = null; + if (i == length) { + var number = i - start - 1; + this.changePath(order, number, true, road); + jg = order; + } + target.set_Xi_SoilType(direction, jg, name); + } + } + } + }; + /** + * 改变水流地图 + * @param value 需要根据使用息壤情况,插入到洪峰路径的点 + */ + GameManager.prototype.changeWater = function (value) { + var jg = true; + if (this.water_Array.length > 0) { + if (this.water_Array[this.water_Array.length - 1].x == value.x && this.water_Array[this.water_Array.length - 1].y == value.y) { + jg = false; + } + } + if (jg) + this.water_Array.push(value); + }; + /** + * 息壤过后改变修筑路径 + * @param order 建筑地图数组里的执行的序列号 + * @param number 息壤执行长度,改变息壤用后其他路径的X或Y值 + * @param direction 只为两个方向,横向false,纵向true + * @param road 建筑地图数组或者洪峰路径数组,可理解为路径数组,path_Array water_Array + */ + GameManager.prototype.changePath = function (order, number, direction, road) { + for (var i = (order + 1); i < road.length; i++) { + if (!direction) { + road[i].x += (number); + } + else { + road[i].y += (number); + } + } + if (direction) { + if (number < 0) { + for (var n = -number; n > 0; n--) { + this.changeWater(cc.v3(this.path_Array[order + 1].x, this.path_Array[order + 1].y + n, 0)); + // console.log("1特殊放入:",this.path_Array[order+1].x,this.path_Array[order+1].y+n) + } + } + else { + for (var n = number; n > 0; n--) { + this.changeWater(cc.v3(this.path_Array[order + 1].x, this.path_Array[order + 1].y - n, 0)); + // console.log("2特殊放入:",this.path_Array[order+1].x,this.path_Array[order+1].y-n) + } + } + } + else { + if (number < 0) { + for (var m = -number; m > 0; m--) { + this.changeWater(cc.v3(this.path_Array[order + 1].x + m, this.path_Array[order + 1].y, 0)); + // console.log("3特殊放入:",this.path_Array[order+1].x+m,this.path_Array[order+1].y) + } + } + else { + for (var m = number; m > 0; m--) { + this.changeWater(cc.v3(this.path_Array[order + 1].x - m, this.path_Array[order + 1].y, 0)); + // console.log("4特殊放入:",this.path_Array[order+1].x-m,this.path_Array[order+1].y) + } + } + } + }; + /** + * 获取洪峰方向 + * @param order 建筑地图数组里的执行的序列号 + * @param road 建筑地图数组或者洪峰路径数组,可理解为路径数组,path_Array water_Array + */ + GameManager.prototype.getDirection = function (order, road) { + var name = ""; + //入海口比较复杂单独判断 + if (order == 0) { + if (this.path_Array[order + 1].z == 6 && road == this.path_Array) + order += 1; + var nextX = road[order + 1].x - road[order].x; + var nextY = road[order].y - road[order + 1].y; + //在底边 + if (road[order].y == this.map_Array[0].length - 1) { + if (nextX == 0) { + if (nextY == 1) + name = "up"; + else if (nextY == -1) + name = "err"; + } + else if (nextX == 1) + name = "up_right"; + else if (nextX == -1) + name = "up_left"; + } + //在顶边 + else if (road[order].y == 0) { + if (nextX == 0) { + if (nextY == 1) + name = "err"; + else if (nextY == -1) + name = "down"; + } + else if (nextX == 1) + name = "down_right"; + else if (nextX == -1) + name = "down_left"; + } + //在左边 + else if (road[order].x == 0) { + if (nextX == 0) { + if (nextY == 1) + name = "right_up"; + else if (nextY == -1) + name = "right_down"; + } + else if (nextX == 1) + name = "right"; + else if (nextX == -1) + name = "err"; + } + //在右边 + else if (road[order].x == this.map_Array.length - 1) { + if (nextX == 0) { + if (nextY == 1) + name = "left_up"; + else if (nextY == -1) + name = "left_down"; + } + else if (nextX == 1) + name = "err"; + else if (nextX == -1) + name = "left"; + } + } + //不是第一步,已经走过一步 + else if (order > 0) { + var next = 1; + if (order + 2 < road.length) { + if (road[order + 1].z == 6) + next = 2; + } + //用于判断此点的上一个点,是为了判断当前方块洪水七点,以及下一个移动方向,判断洪终点方向 + var nextX = road[order + next].x - road[order].x; + var nextY = road[order].y - road[order + next].y; + var previousX = road[order].x - road[order - 1].x; + var previousY = road[order - 1].y - road[order].y; + if (previousX == 0 && previousY == 0) { + if (order > 1) { + previousX = road[order].x - road[order - 2].x; + previousY = road[order - 2].y - road[order].y; + } + else if (order + 1 < road.length) { + previousX = road[order + 1].x - road[order].x; + previousY = road[order].y - road[order + 1].y; + // console.log("息壤,上下坐标差距",previousX,previousY); + } + } + if (previousX == 0 && previousY >= 1) { + if (nextX == 0) { + if (nextY == 1) + name = "up"; + else if (nextY == -1) + name = "err"; + } + else if (nextX == 1) + name = "up_right"; + else if (nextX == -1) + name = "up_left"; + } + else if (previousX == 0 && previousY <= -1) { + if (nextX == 0) { + if (nextY == 1) + name = "err"; + else if (nextY == -1) + name = "down"; + } + else if (nextX == 1) + name = "down_right"; + else if (nextX == -1) + name = "down_left"; + } + else if (previousX >= 1 && previousY == 0) { + if (nextX == 0) { + if (nextY == 1) + name = "right_up"; + else if (nextY == -1) + name = "right_down"; + } + else if (nextX == 1) + name = "right"; + else if (nextX == -1) + name = "err"; + } + else if (previousX <= -1 && previousY == 0) { + if (nextX == 0) { + if (nextY == 1) + name = "left_up"; + else if (nextY == -1) + name = "left_down"; + } + else if (nextX == 1) + name = "err"; + else if (nextX == -1) + name = "left"; + } + } + return name; + }; + //根据是否全面屏,做独立适配方面 + GameManager.prototype.fit = function () { + var jg = this.setFit(); + if (!jg) { + this.Map.scale = 1.2; + } + else { + this.Map.scale = 1; + } + }; + //判断全面屏 + GameManager.prototype.getSetScreenResolutionFlag = function () { + var size = cc.winSize; + var width = size.width; + var height = size.height; + if ((height / width) > (16.2 / 9)) + return false; + return true; + }; + //判断全面屏适配 + GameManager.prototype.setFit = function () { + var flag = this.getSetScreenResolutionFlag(); + if (flag) { + } + else { + } + return flag; + }; + //返回首页 + GameManager.prototype.backScene = function () { + cc.director.loadScene("LoadScene"); + }; + /** + * 开始修筑 + * @param data 记录操作的数组 + */ + GameManager.prototype.startGame = function (data) { + this.unschedule(this.updateWaterTime); + for (var i = 0; i < this.block_Array.length; i++) { + this.block_Array[i].getChildByName("tipWin").active = false; + this.block_Array[i].getChildByName("tipLose").active = false; + } + this.unschedule(this.updateCountDownTime); + var now = cc.fx.GameTool.getTime(); + var finishi = now - this.finishiTime; + var totalTime = now - this.startTime; + this.scoreTime = this.waterTime; + if (this.waterTime <= 0.5) + finishi = -1; + // console.log("submitTime:",finishi,this.finishiTime); + cc.fx.GameConfig.CLICK_SET("submitTime", finishi); + if (finishi == -1) + cc.fx.GameConfig.CLICK_SET("duration", cc.fx.GameConfig.TIME_INFO.waterTime[cc.fx.GameConfig.GM_INFO.level]); + else + cc.fx.GameConfig.CLICK_SET("duration", totalTime); + cc.fx.GameConfig.CLICK_SET("usedSteps", data.length); + this.setMap(data); + var arr = this.changeStep(data); + cc.fx.GameConfig.CLICK_SET("stepList", arr); + }; + /** + * 用于埋点记录 转变方向名称为埋点所需要格式 + * @param data 记录操作的数组 + */ + GameManager.prototype.changeStep = function (data) { + var arr = []; + if (data.length > 0) { + for (var i = 0; i < data.length; i++) { + if (data[i] == "up") + arr[i] = "U"; + else if (data[i] == "down") + arr[i] = "D"; + else if (data[i] == "left") + arr[i] = "L"; + else if (data[i] == "right") + arr[i] = "R"; + else if (data[i] == "soil") + arr[i] = "X"; + else if (data[i] == "reinforce") + arr[i] = "F"; + } + } + return arr; + }; + //洪峰倒计时,计时器 + GameManager.prototype.updateWaterTime = function () { + var _this = this; + if (this.waterTime > 0) { + this.waterTime -= 1; + this.Countdown.string = cc.fx.GameTool.getTimeMargin(this.waterTime); + if (this.waterTime <= 0) { + this.unschedule(this.updateWaterTime); + if (!this.plan_over) { + this.waterTime = 0; + this.plan_over = true; + setTimeout(function () { + if (_this.water_Array.length == 0) { + cc.fx.Notifications.emit(cc.fx.Message.showResult, "lose"); + } + else { + cc.fx.GameConfig.GM_INFO.min_Time = _this.waterTime; + _this.runWater(0); + } + }, 500); + } + } + } + }; + //如果是倒计时 调用此方法 + GameManager.prototype.updateCountDownTime = function () { + if (this.countTime > 0) { + this.countTime -= 1; + cc.fx.GameConfig.TIME_INFO.totalTime = this.countTime; + this.Time.string = cc.fx.GameTool.getTimeMargin(this.countTime); + if (this.countTime < 5) { + var over = this.node.getChildByName("Over"); + cc.tween(over) + .to(0.2, { opacity: 255 }) + .delay(0.1) + .to(0.2, { opacity: 0 }) + .start(); + } + if (this.countTime <= 0) { + this.countTime = 0; + this.setData("lose"); + this.unschedule(this.updateCountDownTime); + this.gameOver(); + } + } + }; + //上传每次操作数据 success为成功还是失败 + GameManager.prototype.setData = function (success) { + //设置埋点数据 + cc.fx.GameConfig.CLICK_SET("mapId", cc.fx.GameConfig.LEVEL_INFO[cc.fx.GameConfig.GM_INFO.level][this.custom].id); + cc.fx.GameConfig.CLICK_SET("difficulty", cc.fx.GameConfig.GM_INFO.level); + cc.fx.GameConfig.CLICK_SET("optimizedSteps", cc.fx.GameConfig.LEVEL_INFO[cc.fx.GameConfig.GM_INFO.level][this.custom].min_steps); + cc.fx.GameConfig.CLICK_SET("round", cc.fx.GameConfig.GM_INFO.round); + cc.fx.GameConfig.CLICK_SET("timer", cc.fx.GameConfig.TIME_INFO.totalTime); + cc.fx.GameConfig.CLICK_SET("cumulativeScore", cc.fx.GameConfig.GM_INFO.score); + success = success == "lose" ? false : true; + if (success != null) { + cc.fx.GameConfig.CLICK_SET("success", success); + cc.fx.GameConfig.GM_INFO.fen = this.getScore(); + if (!success) + cc.fx.GameConfig.GM_INFO.fen = 0; + cc.fx.GameConfig.CLICK_SET("getScore", cc.fx.GameConfig.GM_INFO.fen); + cc.fx.GameConfig.GM_INFO.score += cc.fx.GameConfig.GM_INFO.fen; + this.node.getChildByName("Top").getChildByName("id").getComponent(cc.Label).string = + cc.fx.GameConfig.GM_INFO.score; + cc.fx.GameConfig.CLICK_SET("cumulativeScore", cc.fx.GameConfig.GM_INFO.score); + if (this.countTime != 0) + cc.fx.GameConfig.GM_INFO.successList.push(success); + } + cc.fx.GameTool.setGameData(); + }; + //计算得分 + GameManager.prototype.getScore = function () { + //最小步数 + var min = cc.fx.GameConfig.LEVEL_INFO[cc.fx.GameConfig.GM_INFO.level][this.custom].min_steps; + //实际使用步数 + var now = this.path_Array.length - 1; + if (now <= 0) + now = 0; + var x = (2.5 * min - now) / min; + var score = Math.pow(Math.pow(min, x), 0.5); + score = score * (this.scoreTime + 10) * 100; + return Math.floor(score); + }; + //上传排行榜数据 + GameManager.prototype.gameOver = function () { + var rate = 0; + var successList = cc.fx.GameConfig.GM_INFO.successList; + if (successList.length > 0) { + var success = 0; + for (var i = 0; i < successList.length; i++) { + if (successList[i] == true) + success += 1; + } + rate = success / successList.length; + } + rate = Math.floor(rate * 1000) / 10; + var data = { + score: cc.fx.GameConfig.GM_INFO.score, + rate: rate + }; + cc.fx.GameTool.setRank(data); + this.node.getChildByName("GameOver").active = true; + this.node.getChildByName("GameOver").opacity = 0; + cc.tween(this.node.getChildByName("GameOver")) + .to(0.4, { opacity: 255 }) + .delay(1) + .to(0.4, { opacity: 50 }) + .call(function () { + cc.director.loadScene("OverScene"); + }) + .start(); + }; + //展示结果 data为成功或者失败 + GameManager.prototype.showResult = function (data) { + if (this.node.getChildByName("GameOver").active == false && this.node.getChildByName("Window").active == false) { + cc.fx.Notifications.emit(cc.fx.Message.setData, data); + if (data == "lose") { + cc.fx.AudioManager._instance.playEffect("lose", null); + cc.fx.GameConfig.GM_INFO.min_Time = -1; + } + else { + cc.fx.AudioManager._instance.playEffect("win", null); + } + this.node.getChildByName("Window").active = true; + this.node.getChildByName("Window").getComponent("Window").init(data); + } + }; + //记录反应时长,以及做步骤提示 data为操作名称 + GameManager.prototype.clickSun = function (data) { + //如果没有记录过 回合开始到操作反应时长,则第一次记录, 后面不记录 + if (cc.fx.GameConfig.CLICK_DATA.startTime == -1) { + this.finishiTime = cc.fx.GameTool.getTime(); + var now = this.finishiTime - this.startTime; + // console.log("startTime:",this.finishiTime); + cc.fx.GameConfig.CLICK_SET("startTime", now); + } + if (cc.fx.GameConfig.GM_INFO.level > 3) + return; + //步骤提示 + var nowPos = this.path_Array[0]; + if (this.tip_Array.length != 0) { + if (this.tip_Array[this.tip_Array.length - 1] == null) { + this.tip_Array.push(null); + return; + } + nowPos = this.tip_Array[this.tip_Array.length - 1][this.tip_Array[this.tip_Array.length - 1].length - 1]; + if (nowPos) { + var n = nowPos.x * this.map_Array[0].length + nowPos.y; + var targetNode = this.block_Array[n]; + if (targetNode.getChildByName("tipLose").active == true) { + this.tip_Array.push(null); + return; + } + } + else { + return; + } + } + if (data == "up") { + var n = cc.v2(nowPos.x, nowPos.y - 1); + this.tipCan(n, data); + } + else if (data == "down") { + var n = cc.v2(nowPos.x, nowPos.y + 1); + this.tipCan(n, data); + } + else if (data == "left") { + var n = cc.v2(nowPos.x - 1, nowPos.y); + this.tipCan(n, data); + } + else if (data == "right") { + var n = cc.v2(nowPos.x + 1, nowPos.y); + this.tipCan(n, data); + } + else if (data == "reinforce") { + var n = cc.v3(nowPos.x, nowPos.y, 2); + this.tip_Array.push([n]); + } + else if (data == "soil") { + var n = cc.v3(nowPos.x, nowPos.y, 3); + this.tip_Array.push([n]); + } + }; + //提示是否错误 只前三关有 ,pos为位置,data为操作方向 + GameManager.prototype.tipCan = function (pos, data) { + //先判断是否出边界 + if (pos.x < 0 || pos.x > this.map_Array.length - 1 || pos.y < 0 || pos.y > this.map_Array[0].length - 1) { + this.tip_Array.push(null); + return; + } + var n = pos.x * this.map_Array[0].length + pos.y; + var target = this.block_Array[n].getComponent("Block"); + target.node.getChildByName("tipWin").active = true; + //重复路回头路,或者山峰 + if (target.repeatRoad(false, null) == true || target.block_Type == 3) { + this.tip_Array.push([cc.v3(pos.x, pos.y, 0)]); + target.node.getChildByName("tipLose").active = true; + target.node.getChildByName("tipWin").active = false; + } + //湿地 上一步如果没用息壤或者加固 + else if (target.block_Type == 2) { + if (this.tip_Array.length > 0) { + if (this.tip_Array[this.tip_Array.length - 1][0].z == 0) { + target.node.getChildByName("tipLose").active = true; + target.node.getChildByName("tipWin").active = false; + } + else if (this.tip_Array[this.tip_Array.length - 1][0].z == 2) { + target.node.getChildByName("tipLose").active = false; + target.node.getChildByName("tipWin").active = true; + } + } + else { + target.node.getChildByName("tipLose").active = true; + target.node.getChildByName("tipWin").active = false; + } + } + if (this.tip_Array.length > 0) { + if (this.tip_Array[this.tip_Array.length - 1][0].z == 3) { + if (data == "up") { + var arr = []; + for (var i = pos.y; i >= 0; i--) { + var block = this.block_Array[pos.x * this.map_Array[0].length + i].getComponent("Block"); + if (block.block_Type == 3) { + i = -10000; + } + else { + block.node.getChildByName("tipWin").active = true; + arr.push(cc.v3(pos.x, i, 0)); + if (block.block_Type == 4) + i = -10000; + } + } + this.tip_Array.push(arr); + } + else if (data == "down") { + var arr = []; + for (var i = pos.y; i < this.map_Array[0].length; i++) { + var block = this.block_Array[pos.x * this.map_Array[0].length + i].getComponent("Block"); + if (block.block_Type == 3) { + i = 10000; + } + else { + block.node.getChildByName("tipWin").active = true; + arr.push(cc.v3(pos.x, i, 0)); + if (block.block_Type == 4) + i = 10000; + } + } + this.tip_Array.push(arr); + } + else if (data == "right") { + var arr = []; + for (var i = pos.x; i < this.map_Array.length; i++) { + var block = this.block_Array[i * this.map_Array[0].length + pos.y].getComponent("Block"); + if (block.block_Type == 3) { + i = 10000; + } + else { + block.node.getChildByName("tipWin").active = true; + arr.push(cc.v3(i, pos.y, 0)); + if (block.block_Type == 4) + i = 10000; + } + } + this.tip_Array.push(arr); + } + else if (data == "left") { + var arr = []; + for (var i = pos.x; i >= 0; i--) { + var block = this.block_Array[i * this.map_Array[0].length + pos.y].getComponent("Block"); + if (block.block_Type == 3) { + i = -10000; + } + else { + block.node.getChildByName("tipWin").active = true; + arr.push(cc.v3(i, pos.y, 0)); + if (block.block_Type == 4) + i = -10000; + } + } + this.tip_Array.push(arr); + } + } + else { + var posJg_1 = cc.v3(pos.x, pos.y, 0); + if (data == "reinforce") + pos.z = 2; + if (data == "soil") + pos.z = 3; + this.tip_Array.push([posJg_1]); + } + // console.log(this.tip_Array); + return; + } + var posJg = cc.v3(pos.x, pos.y, 0); + if (data == "reinforce") + pos.z = 2; + if (data == "soil") + pos.z = 3; + this.tip_Array.push([posJg]); + // console.log(this.tip_Array); + }; + //移除提示 + GameManager.prototype.removeTip = function (data) { + if (cc.fx.GameConfig.GM_INFO.level > 3) + return; + //分为撤回一步 和全部清空 + if (this.tip_Array.length > 0) { + if (data == "back") { + var target = this.tip_Array[this.tip_Array.length - 1]; + if (target == null) { + this.tip_Array.pop(); + } + else { + this.tip_Array.pop(); + for (var i = 0; i < target.length; i++) { + if (target[i]) { + if (target[0].z == 0) { + var n = target[i].x * this.map_Array[0].length + target[i].y; + var node = this.block_Array[n]; + node.getChildByName("tipWin").active = false; + node.getChildByName("tipLose").active = false; + } + } + } + } + } + else if (data == "remove") { + for (var j = 0; j < this.tip_Array.length; j++) { + var target = this.tip_Array[j]; + if (target != null) { + for (var i = 0; i < target.length; i++) { + if (target[i]) { + var n = target[i].x * this.map_Array[0].length + target[i].y; + var node = this.block_Array[n]; + node.getChildByName("tipWin").active = false; + node.getChildByName("tipLose").active = false; + } + } + } + } + this.tip_Array = []; + } + } + }; + //获取引导名字 + GameManager.prototype.getGuideName = function () { + var name = "one"; + switch (this.step) { + case 1: + name = "one"; + this.btnClick = false; + this.bgClick = true; + break; + case 2: + name = "two"; + this.btnClick = false; + this.bgClick = true; + break; + case 3: + name = "three"; + this.btnClick = false; + this.bgClick = true; + break; + case 4: + name = "four"; + this.btnClick = false; + this.bgClick = true; + break; + case 5: + name = "five"; + this.btnClick = true; + this.bgClick = false; + break; + case 6: + name = "six"; + this.btnClick = true; + this.bgClick = false; + break; + case 7: + name = "seven"; + this.btnClick = false; + this.bgClick = true; + break; + case 8: + name = "eight"; + this.btnClick = false; + this.bgClick = true; + break; + case 9: + name = "nine"; + this.btnClick = false; + this.bgClick = true; + break; + case 10: + name = "ten"; + this.btnClick = true; + this.bgClick = false; + break; + case 11: + name = "eleven"; + this.btnClick = false; + this.bgClick = true; + break; + case 12: + name = "twelve"; + this.btnClick = true; + this.bgClick = false; + break; + case 13: + name = "thirteen"; + this.btnClick = true; + this.bgClick = false; + break; + case 14: + name = "fourteen"; + this.btnClick = true; + this.bgClick = false; + break; + case 15: + name = "fiveteen"; + this.btnClick = true; + this.bgClick = false; + break; + case 16: + name = "sixteen"; + this.btnClick = true; + this.bgClick = false; + break; + case 17: + name = "last"; + this.btnClick = true; + this.bgClick = false; + break; + } + return name; + }; + //引导下一步 + GameManager.prototype.guideNext = function () { + //每次先把所有的 + console.log(this.step, this.Guide.children.length); + if (this.step + 1 == this.Guide.children.length) { + cc.fx.GameConfig.GM_INFO.guide = false; + // cc.director.loadScene("GameScene"); + var name_1 = cc.fx.GameConfig.GM_INFO.gameId + "_guide"; + cc.fx.StorageMessage.setStorage(name_1, cc.fx.GameConfig.GM_INFO.guide); + } + if (this.step > 0) + this.Guide.children[this.step - 1].active = false; + this.step += 1; + var name = this.getGuideName(); + var target = this.Guide.getChildByName(name); + target.active = true; + var size = cc.winSize; + if (size.height > 1334) { + var height = (size.height - 1334) / 2; + target.getChildByName("sp").height += height; + } + }; + GameManager.prototype.onEnable = function () { + cc.fx.Notifications.on(cc.fx.Message.control, this.clickSun, this); + cc.fx.Notifications.on(cc.fx.Message.next, this.runRoad, this); + cc.fx.Notifications.on(cc.fx.Message.nextWater, this.runWater, this); + cc.fx.Notifications.on(cc.fx.Message.startGame, this.startGame, this); + cc.fx.Notifications.on(cc.fx.Message.changePath, this.changePath, this); + cc.fx.Notifications.on(cc.fx.Message.setData, this.setData, this); + cc.fx.Notifications.on(cc.fx.Message.guideNext, this.guideNext, this); + cc.fx.Notifications.on(cc.fx.Message.showResult, this.showResult, this); + cc.fx.Notifications.on(cc.fx.Message.removeTip, this.removeTip, this); + }; + GameManager.prototype.onDisable = function () { + cc.fx.Notifications.off(cc.fx.Message.control, this.clickSun); + cc.fx.Notifications.off(cc.fx.Message.next, this.runRoad); + cc.fx.Notifications.off(cc.fx.Message.nextWater, this.runWater); + cc.fx.Notifications.off(cc.fx.Message.startGame, this.startGame); + cc.fx.Notifications.off(cc.fx.Message.changePath, this.changePath); + cc.fx.Notifications.off(cc.fx.Message.setData, this.setData); + cc.fx.Notifications.off(cc.fx.Message.guideNext, this.guideNext); + cc.fx.Notifications.off(cc.fx.Message.showResult, this.showResult); + cc.fx.Notifications.off(cc.fx.Message.removeTip, this.removeTip); + }; + GameManager.prototype.update = function (dt) { + }; + __decorate([ + property(cc.Node) + ], GameManager.prototype, "Map", void 0); + __decorate([ + property(cc.Prefab) + ], GameManager.prototype, "Block", void 0); + __decorate([ + property(cc.Label) + ], GameManager.prototype, "Time", void 0); + __decorate([ + property(cc.Label) + ], GameManager.prototype, "Countdown", void 0); + __decorate([ + property(cc.Node) + ], GameManager.prototype, "Guide", void 0); + GameManager = __decorate([ + ccclass + ], GameManager); + return GameManager; +}(cc.Component)); +exports.default = GameManager; + +cc._RF.pop(); + } + if (nodeEnv) { + __define(__module.exports, __require, __module); + } + else { + __quick_compile_project__.registerModuleFunc(__filename, function () { + __define(__module.exports, __require, __module); + }); + } + })(); +//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbImFzc2V0c1xcU2NyaXB0XFxHYW1lTWFuYWdlci50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7QUFBQSxpQ0FBb0M7QUFFcEMsU0FBUztBQUNILElBQUEsS0FBc0IsRUFBRSxDQUFDLFVBQVUsRUFBbEMsT0FBTyxhQUFBLEVBQUUsUUFBUSxjQUFpQixDQUFDO0FBRTFDO0lBQXlDLCtCQUFZO0lBQXJEO1FBQUEscUVBMDRDQztRQXY0Q0csU0FBRyxHQUFZLElBQUksQ0FBQztRQUdwQixXQUFLLEdBQWMsSUFBSSxDQUFDO1FBR3hCLFVBQUksR0FBYSxJQUFJLENBQUM7UUFHdEIsZUFBUyxHQUFhLElBQUksQ0FBQztRQUczQixXQUFLLEdBQVksSUFBSSxDQUFDOztJQTIzQzFCLENBQUM7SUFsMkNHLDRCQUFNLEdBQU47SUFDQSxDQUFDO0lBQ0QsMkJBQUssR0FBTDtRQUNJLEVBQUUsQ0FBQyxFQUFFLENBQUMsVUFBVSxDQUFDLFVBQVUsRUFBRSxDQUFDO1FBQzlCLElBQUksQ0FBQyxHQUFHLEVBQUUsQ0FBQztRQUNYLElBQUksQ0FBQyxJQUFJLEVBQUUsQ0FBQztJQUNoQixDQUFDO0lBRUQsa0RBQWtEO0lBQ2xELDRCQUFNLEdBQU47UUFDSSxJQUFJLE1BQU0sR0FBRyxDQUFDLENBQUM7UUFDZixJQUFJLEdBQUcsR0FBRyxFQUFFLENBQUM7UUFDYixJQUFHLEVBQUUsQ0FBQyxFQUFFLENBQUMsVUFBVSxDQUFDLE9BQU8sQ0FBQyxLQUFLLElBQUksQ0FBQyxFQUFDO1lBQ25DLE1BQU0sR0FBRyxJQUFJLENBQUMsS0FBSyxDQUFDLElBQUksQ0FBQyxNQUFNLEVBQUUsR0FBRSxFQUFFLENBQUMsRUFBRSxDQUFDLFVBQVUsQ0FBQyxVQUFVLENBQUMsRUFBRSxDQUFDLEVBQUUsQ0FBQyxVQUFVLENBQUMsT0FBTyxDQUFDLEtBQUssQ0FBQyxDQUFDLE1BQU0sQ0FBQyxDQUFDO1NBQzFHO2FBQ0c7WUFD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SSxDQUFDLFVBQVUsQ0FBQyxLQUFLLEdBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsSUFBSSxJQUFJLElBQUksSUFBSSxDQUFDLFVBQVU7Z0JBQUUsS0FBSyxJQUFJLENBQUMsQ0FBQztZQUMxRSxJQUFJLEtBQUssR0FBRyxJQUFJLENBQUMsS0FBSyxHQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsR0FBRyxJQUFJLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQyxDQUFDO1lBQzVDLElBQUksS0FBSyxHQUFHLElBQUksQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLEdBQUcsSUFBSSxDQUFDLEtBQUssR0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUM7WUFDNUMsS0FBSztZQUNMLElBQUcsSUFBSSxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsSUFBSSxJQUFJLENBQUMsU0FBUyxDQUFDLENBQUMsQ0FBQyxDQUFDLE1BQU0sR0FBQyxDQUFDLEVBQUM7Z0JBQzNDLElBQUcsS0FBSyxJQUFJLENBQUMsRUFBQztvQkFDVixJQUFHLEtBQUssSUFBSSxDQUFDO3dCQUFDLElBQUksR0FBRyxJQUFJLENBQUM7eUJBQ3JCLElBQUcsS0FBSyxJQUFJLENBQUMsQ0FBQzt3QkFBRSxJQUFJLEdBQUcsS0FBSyxDQUFDO2lCQUNyQztxQkFDSSxJQUFHLEtBQUssSUFBSSxDQUFDO29CQUFFLElBQUksR0FBRyxVQUFVLENBQUM7cUJBQ2pDLElBQUcsS0FBSyxJQUFJLENBQUMsQ0FBQztvQkFBRSxJQUFJLEdBQUcsU0FBUyxDQUFDO2FBQ3pDO1lBQ0QsS0FBSztpQkFDQSxJQUFHLElBQUksQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxFQUFDO2dCQUN2QixJQUFHLEtBQUssSUFBSSxDQUFDLEVBQUM7b0JBQ1YsSUFBRyxLQUFLLElBQUksQ0FBQzt3QkFBQyxJQUFJLEdBQUcsS0FBSyxDQUFDO3lCQUN0QixJQUFHLEtBQUssSUFBSSxDQUFDLENBQUM7d0JBQUUsSUFBSSxHQUFHLE1BQU0sQ0FBQztpQkFDdEM7cUJBQ0ksSUFBRyxLQUFLLElBQUksQ0FBQztvQkFBRSxJQUFJLEdBQUcsWUFBWSxDQUFDO3FCQUNuQyxJQUFHLEtBQUssSUFBSSxDQUFDLENBQUM7b0JBQUUsSUFBSSxHQUFHLFdBQVcsQ0FBQzthQUMzQztZQUNELEtBQUs7aUJBQ0EsSUFBRyxJQUFJLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsRUFBQztnQkFDdkIsSUFBRyxLQUFLLElBQUksQ0FBQyxFQUFDO29CQUNWLElBQUcsS0FBSyxJQUFJLENBQUM7d0JBQUMsSUFBSSxHQUFHLFVBQVUsQ0FBQzt5QkFDM0IsSUFBRyxLQUFLLElBQUksQ0FBQyxDQUFDO3dCQUFFLElBQUksR0FBRyxZQUFZLENBQUM7aUJBQzVDO3FCQUNJLElBQUcsS0FBSyxJQUFJLENBQUM7b0JBQUUsSUFBSSxHQUFHLE9BQU8sQ0FBQztxQkFDOUIsSUFBRyxLQUFLLElBQUksQ0FBQyxDQUFDO29CQUFFLElBQUksR0FBRyxLQUFLLENBQUM7YUFDckM7WUFDRCxLQUFLO2lCQUNBLElBQUcsSUFBSSxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsSUFBSSxJQUFJLENBQUMsU0FBUyxDQUFDLE1BQU0sR0FBQyxDQUFDLEVBQUM7Z0JBQzdDLElBQUcsS0FBSyxJQUFJLENBQUMsRUFBQztvQkFDVixJQUFHLEtBQUssSUFBSSxDQUFDO3dCQUFDLElBQUksR0FBRyxTQUFTLENBQUM7eUJBQzFCLElBQUcsS0FBSyxJQUFJLENBQUMsQ0FBQzt3QkFBRSxJQUFJLEdBQUcsV0FBVyxDQUFDO2lCQUMzQztxQkFDSSxJQUFHLEtBQUssSUFBSSxDQUFDO29CQUFFLElBQUksR0FBRyxLQUFLLENBQUM7cUJBQzVCLElBQUcsS0FBSyxJQUFJLENBQUMsQ0FBQztvQkFBRSxJQUFJLEdBQUcsTUFBTSxDQUFDO2FBQ3RDO1NBQ0o7UUFDRCxjQUFjO2FBQ1QsSUFBRyxLQUFLLEdBQUcsQ0FBQyxFQUFDO1lBQ2QsSUFBSSxJQUFJLEdBQUcsQ0FBQyxDQUFDO1lBQ2IsSUFBRyxLQUFLLEdBQUMsQ0FBQyxHQUFHLElBQUksQ0FBQyxNQUFNLEVBQUM7Z0JBQ3JCLElBQUcsSUFBSSxDQUFDLEtBQUssR0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQztvQkFBRSxJQUFJLEdBQUcsQ0FBQyxDQUFDO2FBQ3JDO1lBRUQsNkNBQTZDO1lBQzdDLElBQUksS0FBSyxHQUFHLElBQUksQ0FBQyxLQUFLLEdBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxHQUFHLElBQUksQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLENBQUM7WUFDL0MsSUFBSSxLQUFLLEdBQUcsSUFBSSxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsR0FBRyxJQUFJLENBQUMsS0FBSyxHQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsQ0FBQTtZQUM5QyxJQUFJLFNBQVMsR0FBRyxJQUFJLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQyxHQUFHLElBQUksQ0FBQyxLQUFLLEdBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDO1lBQ2hELElBQUksU0FBUyxHQUFHLElBQUksQ0FBQyxLQUFLLEdBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxHQUFHLElBQUksQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLENBQUM7WUFDaEQsSUFBRyxTQUFTLElBQUksQ0FBQyxJQUFJLFNBQVMsSUFBSSxDQUFDLEVBQUM7Z0JBQ2hDLElBQUcsS0FBSyxHQUFHLENBQUMsRUFBQztvQkFDVCxTQUFTLEdBQUcsSUFBSSxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsR0FBRyxJQUFJLENBQUMsS0FBSyxHQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQztvQkFDNUMsU0FBUyxHQUFHLElBQUksQ0FBQyxLQUFLLEdBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxHQUFHLElBQUksQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLENBQUM7aUJBQy9DO3FCQUNJLElBQUcsS0FBSyxHQUFHLENBQUMsR0FBRyxJQUFJLENBQUMsTUFBTSxFQUFDO29CQUM1QixTQUFTLEdBQUcs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RyxLQUFLLENBQUM7Z0JBQ2IsSUFBSSxDQUFDLFFBQVEsR0FBRyxLQUFLLENBQUM7Z0JBQ3RCLElBQUksQ0FBQyxPQUFPLEdBQUcsSUFBSSxDQUFDO2dCQUNwQixNQUFNO1lBQ1YsS0FBSyxDQUFDO2dCQUNGLElBQUksR0FBRyxPQUFPLENBQUM7Z0JBQ2YsSUFBSSxDQUFDLFFBQVEsR0FBRyxLQUFLLENBQUM7Z0JBQ3RCLElBQUksQ0FBQyxPQUFPLEdBQUcsSUFBSSxDQUFDO2dCQUNwQixNQUFNO1lBQ1YsS0FBSyxDQUFDO2dCQUNGLElBQUksR0FBRyxNQUFNLENBQUM7Z0JBQ2QsSUFBSSxDQUFDLFFBQVEsR0FBRyxLQUFLLENBQUM7Z0JBQ3RCLElBQUksQ0FBQyxPQUFPLEdBQUcsSUFBSSxDQUFDO2dCQUNwQixNQUFNO1lBQ1YsS0FBSyxDQUFDO2dCQUNGLElBQUksR0FBRyxNQUFNLENBQUM7Z0JBQ2QsSUFBSSxDQUFDLFFBQVEsR0FBRyxJQUFJLENBQUM7Z0JBQ3JCLElBQUksQ0FBQyxPQUFPLEdBQUcsS0FBSyxDQUFDO2dCQUNyQixNQUFNO1lBQ1YsS0FBSyxDQUFDO2dCQUNGLElBQUksR0FBRyxLQUFLLENBQUM7Z0JBQ2IsSUFBSSxDQUFDLFFBQVEsR0FBRyxJQUFJLENBQUM7Z0JBQ3JCLElBQUksQ0FBQyxPQUFPLEdBQUcsS0FBSyxDQUFDO2dCQUNyQixNQUFNO1lBQ1YsS0FBSyxDQUFDO2dCQUNGLElBQUksR0FBRyxPQUFPLENBQUM7Z0JBQ2YsSUFBSSxDQUFDLFFBQVEsR0FBRyxLQUFLLENBQUM7Z0JBQ3RCLElBQUksQ0FBQyxPQUFPLEdBQUcsSUFBSSxDQUFDO2dCQUNwQixNQUFNO1lBQ1YsS0FBSyxDQUFDO2dCQUNGLElBQUksR0FBRyxPQUFPLENBQUM7Z0JBQ2YsSUFBSSxDQUFDLFFBQVEsR0FBRyxLQUFLLENBQUM7Z0JBQ3RCLElBQUksQ0FBQyxPQUFPLEdBQUcsSUFBSSxDQUFDO2dCQUNwQixNQUFNO1lBQ1YsS0FBSyxDQUFDO2dCQUNGLElBQUksR0FBRyxNQUFNLENBQUM7Z0JBQ2Qs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LENBQUMsRUFBRSxDQUFDLE9BQU8sQ0FBQyxVQUFVLEVBQUUsSUFBSSxDQUFDLFVBQVUsRUFBRSxJQUFJLENBQUMsQ0FBQztRQUN4RSxFQUFFLENBQUMsRUFBRSxDQUFDLGFBQWEsQ0FBQyxFQUFFLENBQUMsRUFBRSxDQUFDLEVBQUUsQ0FBQyxPQUFPLENBQUMsT0FBTyxFQUFFLElBQUksQ0FBQyxPQUFPLEVBQUUsSUFBSSxDQUFDLENBQUM7UUFDbEUsRUFBRSxDQUFDLEVBQUUsQ0FBQyxhQUFhLENBQUMsRUFBRSxDQUFDLEVBQUUsQ0FBQyxFQUFFLENBQUMsT0FBTyxDQUFDLFNBQVMsRUFBRSxJQUFJLENBQUMsU0FBUyxFQUFFLElBQUksQ0FBQyxDQUFDO1FBQ3RFLEVBQUUsQ0FBQyxFQUFFLENBQUMsYUFBYSxDQUFDLEVBQUUsQ0FBQyxFQUFFLENBQUMsRUFBRSxDQUFDLE9BQU8sQ0FBQyxVQUFVLEVBQUUsSUFBSSxDQUFDLFVBQVUsRUFBRSxJQUFJLENBQUMsQ0FBQztRQUN4RSxFQUFFLENBQUMsRUFBRSxDQUFDLGFBQWEsQ0FBQyxFQUFFLENBQUMsRUFBRSxDQUFDLEVBQUUsQ0FBQyxPQUFPLENBQUMsU0FBUyxFQUFFLElBQUksQ0FBQyxTQUFTLEVBQUUsSUFBSSxDQUFDLENBQUM7SUFDMUUsQ0FBQztJQUNELCtCQUFTLEdBQVQ7UUFDSSxFQUFFLENBQUMsRUFBRSxDQUFDLGFBQWEsQ0FBQyxHQUFHLENBQUMsRUFBRSxDQUFDLEVBQUUsQ0FBQyxPQUFPLENBQUMsT0FBTyxFQUFFLElBQUksQ0FBQyxRQUFRLENBQUMsQ0FBQztRQUM5RCxFQUFFLENBQUMsRUFBRSxDQUFDLGFBQWEsQ0FBQyxHQUFHLENBQUMsRUFBRSxDQUFDLEVBQUUsQ0FBQyxPQUFPLENBQUMsSUFBSSxFQUFFLElBQUksQ0FBQyxPQUFPLENBQUMsQ0FBQztRQUMxRCxFQUFFLENBQUMsRUFBRSxDQUFDLGFBQWEsQ0FBQyxHQUFHLENBQUMsRUFBRSxDQUFDLEVBQUUsQ0FBQyxPQUFPLENBQUMsU0FBUyxFQUFFLElBQUksQ0FBQyxRQUFRLENBQUMsQ0FBQztRQUNoRSxFQUFFLENBQUMsRUFBRSxDQUFDLGFBQWEsQ0FBQyxHQUFHLENBQUMsRUFBRSxDQUFDLEVBQUUsQ0FBQyxPQUFPLENBQUMsU0FBUyxFQUFFLElBQUksQ0FBQyxTQUFTLENBQUMsQ0FBQztRQUNqRSxFQUFFLENBQUMsRUFBRSxDQUFDLGFBQWEsQ0FBQyxHQUFHLENBQUMsRUFBRSxDQUFDLEVBQUUsQ0FBQyxPQUFPLENBQUMsVUFBVSxFQUFFLElBQUksQ0FBQyxVQUFVLENBQUMsQ0FBQztRQUNuRSxFQUFFLENBQUMsRUFBRSxDQUFDLGFBQWEsQ0FBQyxHQUFHLENBQUMsRUFBRSxDQUFDLEVBQUUsQ0FBQyxPQUFPLENBQUMsT0FBTyxFQUFFLElBQUksQ0FBQyxPQUFPLENBQUMsQ0FBQztRQUM3RCxFQUFFLENBQUMsRUFBRSxDQUFDLGFBQWEsQ0FBQyxHQUFHLENBQUMsRUFBRSxDQUFDLEVBQUUsQ0FBQyxPQUFPLENBQUMsU0FBUyxFQUFFLElBQUksQ0FBQyxTQUFTLENBQUMsQ0FBQztRQUNqRSxFQUFFLENBQUMsRUFBRSxDQUFDLGFBQWEsQ0FBQyxHQUFHLENBQUMsRUFBRSxDQUFDLEVBQUUsQ0FBQyxPQUFPLENBQUMsVUFBVSxFQUFFLElBQUksQ0FBQyxVQUFVLENBQUMsQ0FBQztRQUNuRSxFQUFFLENBQUMsRUFBRSxDQUFDLGFBQWEsQ0FBQyxHQUFHLENBQUMsRUFBRSxDQUFDLEVBQUUsQ0FBQyxPQUFPLENBQUMsU0FBUyxFQUFFLElBQUksQ0FBQyxTQUFTLENBQUMsQ0FBQztJQUNyRSxDQUFDO0lBQ0QsNEJBQU0sR0FBTixVQUFRLEVBQUU7SUFHVixDQUFDO0lBdDRDRDtRQURDLFFBQVEsQ0FBQyxFQUFFLENBQUMsSUFBSSxDQUFDOzRDQUNFO0lBR3BCO1FBREMsUUFBUSxDQUFDLEVBQUUsQ0FBQyxNQUFNLENBQUM7OENBQ0k7SUFHeEI7UUFEQyxRQUFRLENBQUMsRUFBRSxDQUFDLEtBQUssQ0FBQzs2Q0FDRztJQUd0QjtRQURDLFFBQVEsQ0FBQyxFQUFFLENBQUMsS0FBSyxDQUFDO2tEQUNRO0lBRzNCO1FBREMsUUFBUSxDQUFDLEVBQUUsQ0FBQyxJQUFJLENBQUM7OENBQ0k7SUFmTCxXQUFXO1FBRC9CLE9BQU87T0FDYSxXQUFXLENBMDRDL0I7SUFBRCxrQkFBQztDQTE0Q0QsQUEwNENDLENBMTRDd0MsRUFBRSxDQUFDLFNBQVMsR0EwNENwRDtrQkExNENvQixXQUFXIiwiZmlsZSI6IiIsInNvdXJjZVJvb3QiOiIvIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQmxvY2tUeXBlIH0gZnJvbSBcIi4vQmxvY2tcIjtcclxuXHJcbi8vIOS4u+a4uOaIj+aOp+WItuexu1xyXG5jb25zdCB7Y2NjbGFzcywgcHJvcGVydHl9ID0gY2MuX2RlY29yYXRvcjtcclxuQGNjY2xhc3NcclxuZXhwb3J0IGRlZmF1bHQgY2xhc3MgR2FtZU1hbmFnZXIgZXh0ZW5kcyBjYy5Db21wb25lbnQge1xyXG5cclxuICAgIEBwcm9wZXJ0eShjYy5Ob2RlKVxyXG4gICAgTWFwOiBjYy5Ob2RlID0gbnVsbDtcclxuXHJcbiAgICBAcHJvcGVydHkoY2MuUHJlZmFiKVxyXG4gICAgQmxvY2s6IGNjLlByZWZhYiA9IG51bGw7XHJcblxyXG4gICAgQHByb3BlcnR5KGNjLkxhYmVsKVxyXG4gICAgVGltZTogY2MuTGFiZWwgPSBudWxsO1xyXG5cclxuICAgIEBwcm9wZXJ0eShjYy5MYWJlbClcclxuICAgIENvdW50ZG93bjogY2MuTGFiZWwgPSBudWxsO1xyXG5cclxuICAgIEBwcm9wZXJ0eShjYy5Ob2RlKVxyXG4gICAgR3VpZGU6IGNjLk5vZGUgPSBudWxsO1xyXG5cclxuICAgIHN0ZXA6bnVtYmVyOyAgICAgICAgICAgIC8v5byV5a+85q2l6aqkXHJcbiAgICBiZ0NsaWNrOmJvb2xlYW4gICAgICAgICAvL+W8leWvvOaXtk1hc2vpga7nvanlj6/kuI3lj6/ku6Xngrnlh7tcclxuICAgIGJ0bkNsaWNrOmJvb2xlYW4gICAgICAgIC8v5byV5a+85pe277yM5oyJ6ZKu5Y+v5LiN5Y+v54K55Ye7XHJcbiAgICBjdXN0b206bnVtYmVyOyAgICAgICAgICAvL+W9k+WJjemavuW6pumaj+acuuWcsOWbvklEXHJcbiAgICBjb3VudFRpbWU6IG51bWJlcjsgICAgICAvL+aAu+WAkuiuoeaXtlxyXG4gICAgd2F0ZXJUaW1lOiBudW1iZXIgICAgICAgLy/mtKrls7DlgJLorqHml7ZcclxuICAgIHN0YXJ0VGltZTogbnVtYmVyOyAgICAgIC8v5ri45oiP5byA5aeL6K6h5pe2XHJcbiAgICByZXBsYWNlVGltZTogbnVtYmVyICAgICAvL+a0quWzsOWAkuiuoeaXtizlvZPmgLvliankvZnml7bpl7TlsI/kuo7mtKrls7DlgJLorqHml7bvvIznlKjkuo7mm7/ku6NcclxuICAgIGZpbmlzaGlUaW1lOm51bWJlcjsgICAgIC8v5o+Q5Lqk5pe26Ze0XHJcbiAgICBzY29yZVRpbWU6bnVtYmVyICAgICAgICAvL+eUqOS6juiuoeeul+aPkOS6pOWIsOa0quWzsOadpeeahOaXtumXtOW3rlxyXG4gICAgYmxvY2tfQXJyYXk6IGFueTsgICAgICAgLy/miYDmnInlnZfmlbDnu4RcclxuICAgIHBhdGhfQXJyYXk6IGFueTsgICAgICAgIC8v5L+u562R6Lev5b6EXHJcbiAgICB3YXRlcl9BcnJheTogYW55OyAgICAgICAvL+awtOa1gei3r+W+hFxyXG4gICAgbWFwX0FycmF5OiBhbnk7ICAgICAgICAgLy/lnLDlm77mlbDnu4RcclxuICAgIHdhdGVyX1BhdGhBcmF5OmFueTsgICAgIC8v5rSq5bOw6Lev5b6EXHJcbiAgICB0aXBfQXJyYXk6IGFueTsgICAgICAgICAvL+W8leWvvOaVsOe7hFxyXG4gICAgbWFwX0hpZ2h0Om51bWJlcjsgICAgICAgLy/lnLDlm77pq5jluqZcclxuICAgIG1hcF9XaWR0aDpudW1iZXI7ICAgICAgIC8v5Zyw5Zu+5a695bqmXHJcbiAgICBtaW5fVGltZTpudW1iZXI7ICAgICAgICAvL+S4iuS4gOaKiuWcsOWbvue7k+adn+aXtu+8jOi3neemu+a0quWzsOadpeS4tOaXtumXtCAoPjXnp5LmmK/kuKrliIbmsLTlsq0pXHJcbiAgICBtaW5fU3RlcHM6bnVtYmVyOyAgICAgICAvL+W9k+WJjeWcsOWbvuacgOS8mOatpeaVsFxyXG4gICAgcGxhbl9vdmVyOmJvb2xlYW47ICAgICAgLy/mmK/lkKbkv67lu7rlroxcclxuICAgIHdhdGVyVHdlZW46Y2MuVHdlZW47ICAgIC8v5rKz5rC05YCS6K6h5pe25Yqo55S7XHJcblxyXG4gICAgb25Mb2FkICgpIHtcclxuICAgIH1cclxuICAgIHN0YXJ0ICgpIHtcclxuICAgICAgICBjYy5meC5HYW1lQ29uZmlnLkNMSUNLX2luaXQoKTtcclxuICAgICAgICB0aGlzLmZpdCgpO1xyXG4gICAgICAgIHRoaXMuaW5pdCgpO1xyXG4gICAgfVxyXG5cclxuICAgIC8v5aSE55CG5Zyw5Zu+5pWw5o2uIOesrOS4gOWFs+WujOWFqOmaj+acuu+8jOS7juesrOS6jOWFs+W8gOWni++8jOi1ouS6huagueaNrjXnp5LmtKrls7DmnaXkuLTlop7liqDpmr7luqbmraXmlbDvvIzovpPkuoblvZPliY3pmr7luqblh4/mraXmlbBcclxuICAgIGdldE1hcCgpe1xyXG4gICAgICAgIHZhciBjdXN0b20gPSAwO1xyXG4gICAgICAgIHZhciBtYXAgPSBbXTtcclxuICAgICAgICBpZihjYy5meC5HYW1lQ29uZmlnLkdNX0lORk8ubGV2ZWwgPT0gMSl7XHJcbiAgICAgICAgICAgIGN1c3RvbSA9IE1hdGguZmxvb3IoTWF0aC5yYW5kb20oKSogY2MuZnguR2FtZUNvbmZpZy5MRVZFTF9JTkZPW2NjLmZ4LkdhbWVDb25maWcuR01fSU5GTy5sZXZlbF0ubGVuZ3RoKTtcclxuICAgICAgICB9XHJcbiAgICAgICAgZWxzZXtcclxuICAgICAgICAgICAgdmFyIGFyciA9IGNjLmZ4LkdhbWVDb25maWcuTEVWRUxfSU5GT1tjYy5meC5HYW1lQ29uZmlnLkdNX0lORk8ubGV2ZWxdO1xyXG4gICAgICAgICAgICBpZihjYy5meC5HYW1lQ29uZmlnLkdNX0lORk8ubWluX1RpbWUgPT0gLTEpe1xyXG4gICAgICAgICAgICAgICAgbWFwID0gdGhpcy5nZXRNYXBBcnJheShhcnIsY2MuZnguR2FtZUNvbmZpZy5HTV9JTkZPLm1pbl9TdGVwcyAtIDEsZmFsc2UpO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIGVsc2UgaWYoY2MuZnguR2FtZUNvbmZpZy5HTV9JTkZPLm1pbl9UaW1lID49IDUpe1xyXG4gICAgICAgICAgICAgICAgbWFwID0gdGhpcy5nZXRNYXBBcnJheShhcnIsY2MuZnguR2FtZUNvbmZpZy5HTV9JTkZPLm1pbl9TdGVwcyArIDIsdHJ1ZSk7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgZWxzZXtcclxuICAgICAgICAgICAgICAgIG1hcCA9IHRoaXMuZ2V0TWFwQXJyYXkoYXJyLGNjLmZ4LkdhbWVDb25maWcuR01fSU5GTy5taW5fU3RlcHMgKyAxLHRydWUpO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIHZhciByYW5kb20gPSBNYXRoLmZsb29yKE1hdGgucmFuZG9tKCkqIG1hcC5sZW5ndGgpO1xyXG4gICAgICAgICAgICBjdXN0b20gPSBtYXBbcmFuZG9tXTtcclxuICAgICAgICAgICAgLy8gY29uc29sZS5sb2coY3VzdG9tLG1hcCk7XHJcbiAgICAgICAgfVxyXG4gICAgICAgIC8v6K6w5b2V5b2T5YmN5pyA5bCP5q2l5pWwXHJcbiAgICAgICAgY2MuZnguR2FtZUNvbmZpZy5HTV9JTkZPLm1pbl9TdGVwcyA9IGNjLmZ4LkdhbWVDb25maWcuTEVWRUxfSU5GT1tjYy5meC5HYW1lQ29uZmlnLkdNX0lORk8ubGV2ZWxdW2N1c3RvbV0ubWluX3N0ZXBzO1xyXG4gICAgICAgIGNjLmZ4LkdhbWVDb25maWcuR01fSU5GTy5taW5fVGltZSA9IDA7XHJcbiAgICAgICAgcmV0dXJuIGN1c3RvbTtcclxuICAgIH1cclxuICAgICAvKipcclxuICAgICAqIOiOt+WPluS4i+S4gOWFs+mavuW6pu+8jOatpeaVsOWinuWKoDLmiJbogIUx77yM5aaC5p6c5rKh5pyJ5YiZ6ZmN5Yiw5pyJLlxyXG4gICAgICogQHBhcmFtIGFyciDphY3nva7ph4zor7vlj5bvvIzlvZPliY3vvIh4KnjvvInlnLDlm77nrYnnuqflhoXmiYDmnInlnLDlm77mlbDnu4RcclxuICAgICAqIEBwYXJhbSBtaW5fc3RlcHMg5pyA5L2z5q2l5pWw77yM5LiL5LiA5YWz6Zq+5bqm5oiW6ICF6L6T5LqG6ZmN6Zq+5bqm77yM5qC55o2u5pyA5L2z5q2l5pWw5aKe5Yqg5oiW6ICF5YeP5bCR44CCXHJcbiAgICAgKiBAcGFyYW0gdHlwZSAgdHJ1ZeS4uuWinuWKoOatpeaVsO+8jGZhbHNl5Li66L6T5LqG6ZmN5L2O6Zq+5bqm5q2l5pWwXHJcbiAgICAgKi9cclxuICAgIGdldE1hcEFycmF5KGFycixtaW5fc3RlcHMsdHlwZSl7XHJcbiAgICAgICAgdmFyIG1hcCA9IFtdO1xyXG4gICAgICAgIGZvcihsZXQgaT0wOyBpPGFyci5sZW5ndGg7IGkrKyl7XHJcbiAgICAgICAgICAgIGlmKGFycltpXS5taW5fc3RlcHMgPT0gbWluX3N0ZXBzKXtcclxuICAgICAgICAgICAgICAgIG1hcC5wdXNoKGkpO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgICAgIGlmKG1hcC5sZW5ndGggPT0gMCl7XHJcbiAgICAgICAgICAgIGlmKHR5cGUpICBtYXAgPSB0aGlzLmdldE1hcEFycmF5KGFycixtaW5fc3RlcHMgLSAxLHR5cGUpO1xyXG4gICAgICAgICAgICBlbHNlICBtYXAgPSB0aGlzLmdldE1hcEFycmF5KGFycixtaW5fc3RlcHMgKyAxLHR5cGUpO1xyXG4gICAgICAgIH1cclxuICAgICAgICByZXR1cm4gbWFwO1xyXG4gICAgfVxyXG5cclxuICAgIC8v5Yid5aeL5YyW5pWw5o2uXHJcbiAgICBpbml0KCl7XHJcbiAgICAgICAgbGV0IG5hbWUgPSBjYy5meC5HYW1lQ29uZmlnLkdNX0lORk8uZ2FtZUlkICsgXCJfZ3VpZGVcIjtcclxuICAgICAgICB2YXIgZGF0YSA9IEpTT04ucGFyc2UobG9jYWxTdG9yYWdlLmdldEl0ZW0obmFtZSkpO1xyXG5cclxuICAgICAgICBpZihkYXRhICE9IGZhbHNlKXtcclxuICAgICAgICAgICAgY2MuZnguR2FtZUNvbmZpZy5HTV9JTkZPLmd1aWRlID0gdHJ1ZTtcclxuICAgICAgICAgICAgY2MuZnguU3RvcmFnZU1lc3NhZ2Uuc2V0U3RvcmFnZShuYW1lLGNjLmZ4LkdhbWVDb25maWcuR01fSU5GTy5ndWlkZSk7XHJcbiAgICAgICAgfVxyXG4gICAgICAgIGVsc2V7XHJcbiAgICAgICAgICAgIGNjLmZ4LkdhbWVDb25maWcuR01fSU5GTy5ndWlkZSA9IGNjLmZ4LlN0b3JhZ2VNZXNzYWdlLmdldFN0b3JhZ2UobmFtZSk7XHJcbiAgICAgICAgfVxyXG5cclxuICAgICAgICB0aGlzLmluaXRNYXAoKTsgXHJcbiAgICAgICAgdGhpcy5maW5pc2hpVGltZSA9IDA7XHJcbiAgICAgICAgdGhpcy5zY29yZVRpbWUgPSAwO1xyXG4gICAgICAgIHRoaXMucmVwbGFjZVRpbWUgPSAwO1xyXG4gICAgICAgIHRoaXMuc3RhcnRUaW1lID0gY2MuZnguR2FtZVRvb2wuZ2V0VGltZSgpO1xyXG4gICAgICAgIHRoaXMuY291bnRUaW1lID0gY2MuZnguR2FtZUNvbmZpZy5USU1FX0lORk8udG90YWxUaW1lO1xyXG4gICAgICAgIGlmKHRoaXMuY291bnRUaW1lID09IDAgKXtcclxuICAgICAgICAgICAgdGhpcy5nYW1lT3ZlcigpO1xyXG4gICAgICAgIH1cclxuICAgICAgICB0aGlzLndhdGVyVGltZSA9IGNjLmZ4LkdhbWVDb25maWcuVElNRV9JTkZPLndhdGVyVGltZVtjYy5meC5HYW1lQ29uZmlnLkdNX0lORk8ubGV2ZWxdO1xyXG4gICAgICAgIC8vIGlmKHRoaXMuY291bnRUaW1lIDwgdGhpcy53YXRlclRpbWUpIHRoaXMucmVwbGFjZVRpbWUgPSB0aGlzLmNvdW50VGltZTtcclxuICAgICAgICB0aGlzLlRpbWUuc3RyaW5nID0gIGNjLmZ4LkdhbWVUb29sLmdldFRpbWVNYXJnaW4odGhpcy5jb3VudFRpbWUpOyAgICBcclxuXHJcbiAgICAgICAgaWYoIWNjLmZ4LkdhbWVDb25maWcuR01fSU5GTy5ndWlkZSl7XHJcbiAgICAgICAgICAgIHRoaXMuR3VpZGUuYWN0aXZlID0gZmFsc2U7XHJcbiAgICAgICAgICAgIHRoaXMuc3RlcCA9IDA7XHJcbiAgICAgICAgICAgIHZhciBoZWFkID0gdGhpcy5ub2RlLmdldENoaWxkQnlOYW1lKFwiVG9wXCIpLmdldENoaWxkQnlOYW1lKFwiaGVhZFwiKTtcclxuICAgICAgICAgICAgdmFyIHByb2dyZXNzID0gdGhpcy5ub2RlLmdldENoaWxkQnlOYW1lKFwiVG9wXCIpLmdldENoaWxkQnlOYW1lKFwicHJvZ3Jlc3NcIikuZ2V0Q29tcG9uZW50KGNjLlNwcml0ZSk7XHJcbiAgICAgICAgICAgIGhlYWQucnVuQWN0aW9uKGNjLm1vdmVUbyh0aGlzLndhdGVyVGltZSxjYy52MigzMTAsaGVhZC55KSkpO1xyXG5cclxuICAgICAgICAgICAgdGhpcy53YXRlclR3ZWVuID0gY2MudHdlZW4ocHJvZ3Jlc3MpXHJcbiAgICAgICAgICAgIC50byh0aGlzLndhdGVyVGltZSx7ZmlsbFJhbmdlOjF9KVxyXG4gICAgICAgICAgICAuc3RhcnQoKTtcclxuICAgICAgICAgICAgdGhpcy5zY2hlZHVsZSh0aGlzLnVwZGF0ZVdhdGVyVGltZSwxKTtcclxuICAgICAgICAgICAgdGhpcy5zY2hlZHVsZSh0aGlzLnVwZGF0ZUNvdW50RG93blRpbWUsMSk7XHJcbiAgICAgICAgfVxyXG4gICAgICAgIGVsc2V7XHJcbiAgICAgICAgICAgIHRoaXMuR3VpZGUuYWN0aXZlID0gdHJ1ZTtcclxuICAgICAgICAgICAgdGhpcy5ndWlkZU5leHQoKTtcclxuICAgICAgICB9XHJcblxyXG4gICAgfVxyXG4gICAgLy/liJ3lp4vljJblnLDlm75cclxuICAgIGluaXRNYXAoKXtcclxuICAgICAgICBjYy5meC5HYW1lQ29uZmlnLkdNX0lORk8ucm91bmQgKz0gMTtcclxuICAgICAgICBjYy5meC5HYW1lQ29uZmlnLkdNX0lORk8uZmVuID0gMDtcclxuICAgICAgICB0aGlzLmJsb2NrX0FycmF5ID0gW107XHJcbiAgICAgICAgdGhpcy5wYXRoX0FycmF5ID0gW107XHJcbiAgICAgICAgdGhpcy53YXRlcl9BcnJheSA9IFtdO1xyXG4gICAgICAgIHRoaXMubWFwX0FycmF5ID0gW107XHJcbiAgICAgICAgdGhpcy50aXBfQXJyYXkgPSBbXTtcclxuICAgICAgICB0aGlzLnBsYW5fb3ZlciA9IGZhbHNlO1xyXG4gICAgICAgIHRoaXMubWFwX0hpZ2h0ID0gMDtcclxuICAgICAgICB0aGlzLm1hcF9XaWR0aCA9IDA7XHJcbiAgICAgICAgdGhpcy5zdGVwID0gMDtcclxuICAgICAgICB0aGlzLmJnQ2xpY2sgPSBmYWxzZTtcclxuICAgICAgICB0aGlzLmJ0bkNsaWNrID0gZmFsc2U7XHJcbiAgICAgICAgdGhpcy5jdXN0b20gPSAwOyAvLzlcclxuICAgICAgICBpZighY2MuZnguR2FtZUNvbmZpZy5HTV9JTkZPLmd1aWRlICYmY2MuZnguR2FtZUNvbmZpZy5HTV9JTkZPLmxldmVsID09IDAgKXtcclxuICAgICAgICAgICAgY2MuZnguR2FtZUNvbmZpZy5HTV9JTkZPLmxldmVsID0gMTtcclxuICAgICAgICAgICAgdGhpcy5jdXN0b20gPSB0aGlzLmdldE1hcCgpO1xyXG4gICAgICAgIH1cclxuICAgICAgICBlbHNlIGlmKCFjYy5meC5HYW1lQ29uZmlnLkdNX0lORk8uZ3VpZGUpe1xyXG4gICAgICAgICAgICB0aGlzLmN1c3RvbSA9IHRoaXMuZ2V0TWFwKCk7XHJcbiAgICAgICAgfVxyXG4gICAgICAgIC8vIHRoaXMuY3VzdG9tID0gNztcclxuICAgICAgICAvLyBjb25zb2xlLmxvZyh0aGlzLmN1c3RvbSk7XHJcbiAgIFxyXG4gICAgICAgIGxldCBhcnIgPSBjYy5meC5HYW1lQ29uZmlnLkxFVkVMX0lORk9bY2MuZnguR2FtZUNvbmZpZy5HTV9JTkZPLmxldmVsXVt0aGlzLmN1c3RvbV0ubWFwO1xyXG4gICAgICAgIGlmKGNjLmZ4LkdhbWVDb25maWcuR01fSU5GTy5sZXZlbCA9PSAwKXtcclxuICAgICAgICAgICAgdGhpcy5NYXAuc2NhbGUgPSAxLjI7XHJcbiAgICAgICAgfSBcclxuICAgICAgICB0aGlzLm5vZGUuZ2V0Q2hpbGRCeU5hbWUoXCJUb3BcIikuZ2V0Q2hpbGRCeU5hbWUoXCJpZFwiKS5nZXRDb21wb25lbnQoY2MuTGFiZWwpLnN0cmluZyA9IFxyXG4gICAgICAgIGNjLmZ4LkdhbWVDb25maWcuR01fSU5GTy5zY29yZTtcclxuXHJcbiAgICAgICAgLy/lsIblnLDlm754LHnovbTliIfmjaJcclxuICAgICAgICB0aGlzLm1hcF9BcnJheSA9IGFyclswXS5tYXAoKGl0ZW0sIGkpID0+IHtcclxuICAgICAgICAgICAgcmV0dXJuIGFyci5tYXAoKHZhbCkgPT4gdmFsW2ldKVxyXG4gICAgICAgIH0pXHJcbiAgICAgICAgdGhpcy5tYXBfV2lkdGggPSB0aGlzLm1hcF9BcnJheS5sZW5ndGg7XHJcbiAgICAgICAgdGhpcy5tYXBfSGlnaHQgPSB0aGlzLm1hcF9BcnJheVswXS5sZW5ndGg7XHJcblxyXG4gICAgICAgIHRoaXMuTWFwLnggPSg2IC0gdGhpcy5tYXBfQXJyYXkubGVuZ3RoKSo0ODtcclxuICAgICAgICB0aGlzLk1hcC55ID0gKHRoaXMubWFwX0FycmF5WzBdLmxlbmd0aCAtIDYuNSkqNDg7XHJcblxyXG4gICAgICAgIGZvcihsZXQgaT0wO2k8dGhpcy5tYXBfQXJyYXkubGVuZ3RoO2krKyl7XHJcbiAgICAgICAgICAgIGZvcihsZXQgaj0wOyBqPHRoaXMubWFwX0FycmF5IFtpXS5sZW5ndGg7aisrKXtcclxuICAgICAgICAgICAgICAgIGxldCBibG9jayA9IGNjLmluc3RhbnRpYXRlKHRoaXMuQmxvY2spO1xyXG4gICAgICAgICAgICAgICAgYmxvY2sucGFyZW50PSB0aGlzLk1hcDtcclxuICAgICAgICAgICAgICAgIGJsb2NrLmdldENvbXBvbmVudChcIkJsb2NrXCIpLmluaXREYXRhKHRoaXMubWFwX0FycmF5IFtpXVtqXSxjYy52MihpLGopLGNjLnYyKHRoaXMubWFwX1dpZHRoLHRoaXMubWFwX0hpZ2h0KSk7XHJcbiAgICAgICAgICAgICAgICBpZih0aGlzLm1hcF9BcnJheSBbaV1bal0gPT0gY2MuRW51bShCbG9ja1R5cGUpLlN0YXJ0KXtcclxuICAgICAgICAgICAgICAgICAgICB0aGlzLnBhdGhfQXJyYXkucHVzaChjYy52MyhpLGosY2MuRW51bShCbG9ja1R5cGUpLk5vbWFsKSk7XHJcbiAgICAgICAgICAgICAgICAgICAgLy8gdGhpcy53YXRlcl9BcnJheS5wdXNoKGNjLnYzKGksaixjYy5FbnVtKEJsb2NrVHlwZSkuTm9tYWwpKTtcclxuICAgICAgICAgICAgICAgIH0gXHJcbiAgICAgICAgICAgICAgICBibG9jay5zZXRQb3NpdGlvbihjYy52MigtYmxvY2sud2lkdGgqMi41ICsgaSpibG9jay53aWR0aCxibG9jay5oZWlnaHQqNCAtIGoqYmxvY2suaGVpZ2h0KSk7XHJcbiAgICAgICAgICAgICAgICB0aGlzLmJsb2NrX0FycmF5LnB1c2goYmxvY2spO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG5cclxuICAgIH1cclxuICAgICAvKipcclxuICAgICAqIOW8gOWni+WQju+8jOaMieeOqeWutuaTjeS9nO+8jOWwhui3r+W+hOS4reWcsOWbvuWdl+aUvuWFpeaVsOe7hOS4rVxyXG4gICAgICogQHBhcmFtIGRhdGEg5qC55o2u5b2T5YmN5pON5L2c77yM5re75Yqg5bu6562R5Zyw5Zu+5pWw57uEXHJcbiAgICAgKi9cclxuICAgIHNldE1hcChkYXRhKXtcclxuICAgICAgICBmb3IobGV0IGk9MDsgaTxkYXRhLmxlbmd0aDsgaSsrKXtcclxuICAgICAgICAgICAgbGV0IHN0YXJ0ID0gdGhpcy5wYXRoX0FycmF5W3RoaXMucGF0aF9BcnJheS5sZW5ndGgtMV07XHJcbiAgICAgICAgICAgIHN3aXRjaChkYXRhW2ldKXtcclxuICAgICAgICAgICAgICAgIGNhc2UgXCJ1cFwiOlxyXG4gICAgICAgICAgICAgICAgICAgIHRoaXMucGF0aF9BcnJheS5wdXNoKGNjLnYzKHN0YXJ0Lngsc3RhcnQueS0xLGNjLkVudW0oQmxvY2tUeXBlKS5Ob21hbCkpO1xyXG4gICAgICAgICAgICAgICAgICAgIGJyZWFrO1xyXG4gICAgICAgICAgICAgICAgY2FzZSBcImRvd25cIjpcclxuICAgICAgICAgICAgICAgICAgICB0aGlzLnBhdGhfQXJyYXkucHVzaChjYy52MyhzdGFydC54LHN0YXJ0LnkrMSxjYy5FbnVtKEJsb2NrVHlwZSkuTm9tYWwpKTtcclxuICAgICAgICAgICAgICAgICAgICBicmVhaztcclxuICAgICAgICAgICAgICAgIGNhc2UgXCJsZWZ0XCI6XHJcbiAgICAgICAgICAgICAgICAgICAgdGhpcy5wYXRoX0FycmF5LnB1c2goY2MudjMoc3RhcnQueC0xLHN0YXJ0LnksY2MuRW51bShCbG9ja1R5cGUpLk5vbWFsKSk7XHJcbiAgICAgICAgICAgICAgICAgICAgYnJlYWs7XHJcbiAgICAgICAgICAgICAgICBjYXNlIFwicmlnaHRcIjpcclxuICAgICAgICAgICAgICAgICAgICB0aGlzLnBhdGhfQXJyYXkucHVzaChjYy52MyhzdGFydC54KzEsc3RhcnQueSxjYy5FbnVtKEJsb2NrVHlwZSkuTm9tYWwpKTtcclxuICAgICAgICAgICAgICAgICAgICBicmVhaztcclxuICAgICAgICAgICAgICAgIGNhc2UgXCJyZWluZm9yY2VcIjpcclxuICAgICAgICAgICAgICAgICAgICB0aGlzLnBhdGhfQXJyYXkucHVzaChjYy52MyhzdGFydC54LHN0YXJ0LnksY2MuRW51bShCbG9ja1R5cGUpLlJlaW5mb3JjZSkpO1xyXG4gICAgICAgICAgICAgICAgICAgIGJyZWFrO1xyXG4gICAgICAgICAgICAgICAgY2FzZSBcInNvaWxcIjpcclxuICAgICAgICAgICAgICAgICAgICB0aGlzLnBhdGhfQXJyYXkucHVzaChjYy52MyhzdGFydC54LHN0YXJ0LnksY2MuRW51bShCbG9ja1R5cGUpLlhpX1NvaWwpKTtcclxuICAgICAgICAgICAgICAgICAgICBicmVhaztcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgICAgICBpZih0aGlzLnBhdGhfQXJyYXlbdGhpcy5wYXRoX0FycmF5Lmxlbmd0aC0xXS56ICE9IDApe1xyXG4gICAgICAgICAgICB0aGlzLnBhdGhfQXJyYXkucG9wKCk7XHJcbiAgICAgICAgfVxyXG4gICAgICAgIHRoaXMucnVuUm9hZCgwKTtcclxuICAgIH1cclxuICAgIC8qKlxyXG4gICAgICog5byA5aeL5omn6KGM5rSq5bOw5p2l5LqG55qE5Yqo55S7XHJcbiAgICAgKiBAcGFyYW0gb3JkZXIg5bu6562R5Zyw5Zu+5pWw57uE6YeM55qE5omn6KGM55qE5bqP5YiX5Y+377yM5L6d5qyh5b6A5LiL5YqgXHJcbiAgICAgKi9cclxuICAgIHJ1blJvYWQob3JkZXIpe1xyXG4gICAgICAgIG9yZGVyID0gcGFyc2VJbnQob3JkZXIpO1xyXG5cclxuICAgICAgICBpZihvcmRlciA+IDApe1xyXG4gICAgICAgICAgICBpZih0aGlzLnBhdGhfQXJyYXlbb3JkZXItMV0ueiA9PSAwKXtcclxuICAgICAgICAgICAgICAgIC8vY29uc29sZS5sb2coXCIx5q2j5bi45pS+5YWlXCIsdGhpcy5wYXRoX0FycmF5W29yZGVyLTFdLngsdGhpcy5wYXRoX0FycmF5W29yZGVyLTFdLnksdGhpcy5wYXRoX0FycmF5W29yZGVyLTFdLnopXHJcbiAgICAgICAgICAgICAgICB0aGlzLmNoYW5nZVdhdGVyKGNjLnYzKHRoaXMucGF0aF9BcnJheVtvcmRlci0xXS54LHRoaXMucGF0aF9BcnJheVtvcmRlci0xXS55LDApKTtcclxuICAgICAgICAgICAgICAgIGlmKG9yZGVyID09IHRoaXMucGF0aF9BcnJheS5sZW5ndGgtMSl7XHJcbiAgICAgICAgICAgICAgICAgICAgdGhpcy5jaGFuZ2VXYXRlcihjYy52Myh0aGlzLnBhdGhfQXJyYXlbb3JkZXJdLngsdGhpcy5wYXRoX0FycmF5W29yZGVyXS55LDApKTtcclxuICAgICAgICAgICAgICAgICAgICAvLyBjb25zb2xlLmxvZyhcIuacgOWQjuaUvuWFpVwiLHRoaXMucGF0aF9BcnJheVtvcmRlcl0ueCx0aGlzLnBhdGhfQXJyYXlbb3JkZXJdLnkpXHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgZWxzZXtcclxuICAgICAgICAgICAgICAgIC8vY29uc29sZS5sb2coXCIy5o+S5YWlXCIsdGhpcy5wYXRoX0FycmF5W29yZGVyXS54LHRoaXMucGF0aF9BcnJheVtvcmRlcl0ueSx0aGlzLnBhdGhfQXJyYXlbb3JkZXJdLnopXHJcbiAgICAgICAgICAgICAgICB0aGlzLmNoYW5nZVdhdGVyKGNjLnYzKHRoaXMucGF0aF9BcnJheVtvcmRlcl0ueCx0aGlzLnBhdGhfQXJyYXlbb3JkZXJdLnksMCkpO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfSBcclxuICAgXHJcbiAgICAgICAgaWYob3JkZXIgPD0gdGhpcy5wYXRoX0FycmF5Lmxlbmd0aC0xKXtcclxuICAgICAgICAgICAgbGV0IGkgPSB0aGlzLnBhdGhfQXJyYXlbb3JkZXJdLngqdGhpcy5tYXBfQXJyYXlbMF0ubGVuZ3RoK3RoaXMucGF0aF9BcnJheVtvcmRlcl0ueTtcclxuICAgICAgICAgICAgbGV0IGRpcmVjdGlvbiA9IFwiXCI7XHJcbiAgICAgICAgICAgIGxldCBjaXJjdWxhdGUgPSB0cnVlO1xyXG4gICAgICAgICAgICAvL+acgOWQjuS4gOatpee7k+adn1xyXG4gICAgICAgICAgICBpZihvcmRlciA9PSB0aGlzLnBhdGhfQXJyYXkubGVuZ3RoLTEpe1xyXG4gICAgICAgICAgICAgICAgY2lyY3VsYXRlID0gZmFsc2U7XHJcbiAgICAgICAgICAgICAgICBkaXJlY3Rpb24gPSBcIkVuZFwiO1xyXG4gICAgICAgICAgICAgICAgLy8gY29uc29sZS5sb2coXCLov5vlhaXnu5PmnZ9cIik7XHJcbiAgICAgICAgICAgICAgICBpZih0aGlzLnBhdGhfQXJyYXkubGVuZ3RoID4gMSl7XHJcbiAgICAgICAgICAgICAgICAgICAgLy8gY29uc29sZS5sb2coXCLlh4blpIflh7rmsLRcIik7XHJcbiAgICAgICAgICAgICAgICAgICAgc2V0VGltZW91dCgoKSA9PiB7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIGlmKCF0aGlzLnBsYW5fb3Zlcil7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB0aGlzLnBsYW5fb3ZlciA9IHRydWU7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB2YXIgaGVhZCA9IHRoaXMubm9kZS5nZXRDaGlsZEJ5TmFtZShcIlRvcFwiKS5nZXRDaGlsZEJ5TmFtZShcImhlYWRcIik7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB2YXIgcHJvZ3Jlc3MgPSB0aGlzLm5vZGUuZ2V0Q2hpbGRCeU5hbWUoXCJUb3BcIikuZ2V0Q2hpbGRCeU5hbWUoXCJwcm9ncmVzc1wiKS5nZXRDb21wb25lbnQoY2MuU3ByaXRlKTtcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGhlYWQuc3RvcEFsbEFjdGlvbnMoKTtcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGhlYWQuc2V0UG9zaXRpb24oMzEwLGhlYWQueSk7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBpZih0aGlzLndhdGVyVHdlZW4pIHRoaXMud2F0ZXJUd2Vlbi5zdG9wKCk7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBwcm9ncmVzcy5maWxsUmFuZ2UgPSAxO1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgY2MuZnguR2FtZUNvbmZpZy5HTV9JTkZPLm1pbl9UaW1lID0gdGhpcy53YXRlclRpbWU7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB0aGlzLnJ1bldhdGVyKDApOyBcclxuICAgICAgICAgICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgICAgIH0sIDUwMCk7XHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICBlbHNle1xyXG4gICAgICAgICAgICAgICAgICAgIGRpcmVjdGlvbiA9IFwiZXJyXCI7XHJcbiAgICAgICAgICAgICAgICAgICAgLy8gY29uc29sZS5sb2coXCLov5vlhaXnu5PmnZ9lcnJcIik7XHJcbiAgICAgICAgICAgICAgICB9XHJcblxyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIGVsc2V7XHJcbiAgICAgICAgICAgICAgICBpZih0aGlzLnBhdGhfQXJyYXlbb3JkZXJdLnogPT0gNiAmJiBvcmRlciArIDEgPCB0aGlzLnBhdGhfQXJyYXkubGVuZ3RoICkge1xyXG4gICAgICAgICAgICAgICAgICAgIGRpcmVjdGlvbiA9IFwiUmVpbmZvcmNlXCI7XHJcbiAgICAgICAgICAgICAgICAgICAgaSA9IHRoaXMucGF0aF9BcnJheVtvcmRlcisxXS54KnRoaXMubWFwX0FycmF5WzBdLmxlbmd0aCt0aGlzLnBhdGhfQXJyYXlbb3JkZXIrMV0ueTtcclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgIGVsc2UgaWYob3JkZXIrMSA8IHRoaXMucGF0aF9BcnJheS5sZW5ndGgpe1xyXG4gICAgICAgICAgICAgICAgICAgIGlmKHRoaXMucGF0aF9BcnJheVtvcmRlcisxXS56ID09IDUpe1xyXG4gICAgICAgICAgICAgICAgICAgICAgICBkaXJlY3Rpb24gPSBcIlhpX1NvaWxcIjtcclxuICAgICAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICAgICAgZWxzZSBpZih0aGlzLnBhdGhfQXJyYXlbb3JkZXIrMV0ueiA9PSA2ICYmIG9yZGVyID09IDAgJiYgb3JkZXIgKyAxIDwgdGhpcy5wYXRoX0FycmF5Lmxlbmd0aCl7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIC8vIGRpcmVjdGlvbiA9IHRoaXMuZ2V0RGlyZWN0aW9uKG9yZGVyKzEsdGhpcy5wYXRoX0FycmF5KTtcclxuICAgICAgICAgICAgICAgICAgICAgICAgZGlyZWN0aW9uID0gdGhpcy5nZXREaXJlY3Rpb24ob3JkZXIsdGhpcy5wYXRoX0FycmF5KTtcclxuICAgICAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICAgICAgZWxzZXtcclxuICAgICAgICAgICAgICAgICAgICAgICAgZGlyZWN0aW9uID0gdGhpcy5nZXREaXJlY3Rpb24ob3JkZXIsdGhpcy5wYXRoX0FycmF5KTtcclxuICAgICAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICBlbHNle1xyXG4gICAgICAgICAgICAgICAgICAgIGRpcmVjdGlvbiA9IHRoaXMuZ2V0RGlyZWN0aW9uKG9yZGVyLHRoaXMucGF0aF9BcnJheSk7XHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgLy8gY29uc29sZS5sb2cob3JkZXIsdGhpcy5wYXRoX0FycmF5W29yZGVyXS54LHRoaXMucGF0aF9BcnJheVtvcmRlcl0ueSxpKTtcclxuIFxyXG4gICAgICAgICAgICAvLyBjb25zb2xlLmxvZyhcIuatpemqpDpcIixvcmRlcixcIuaWueWQkVwiLGRpcmVjdGlvbik7XHJcbiAgICAgICAgICAgIGxldCBqZyA9IHRoaXMuZ2V0Qm91bmRhcnkob3JkZXIsdGhpcy5wYXRoX0FycmF5W29yZGVyXS54LHRoaXMucGF0aF9BcnJheVtvcmRlcl0ueSxkaXJlY3Rpb24sdGhpcy5wYXRoX0FycmF5KTtcclxuXHJcbiAgICAgICAgICAgIC8vIGlmKGRpcmVjdGlvbiA9PSBcIlwiIHx8IGpnID09IGZhbHNlKSByZXR1cm47XHJcbiAgICAgICAgICAgIGlmKGRpcmVjdGlvbiA9PSBcImVyclwiIHx8IGRpcmVjdGlvbiA9PSBcIlwiIHx8IGpnID09IGZhbHNlKXtcclxuICAgICAgICAgICAgICAgIGNjLmZ4Lk5vdGlmaWNhdGlvbnMuZW1pdChjYy5meC5NZXNzYWdlLnNob3dSZXN1bHQsXCJsb3NlXCIpO1xyXG4gICAgICAgICAgIFxyXG4gICAgICAgICAgICAgICAgcmV0dXJuO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIGlmKCBpPDAgfHwgaSA+ICh0aGlzLmJsb2NrX0FycmF5Lmxlbmd0aC0xKSl7XHJcbiAgICAgICAgICAgICAgICBjYy5meC5Ob3RpZmljYXRpb25zLmVtaXQoY2MuZnguTWVzc2FnZS5zaG93UmVzdWx0LFwibG9zZVwiKTtcclxuICAgICAgICAgICAgICAgIHJldHVybjtcclxuICAgICAgICAgICAgfVxyXG5cclxuICAgICAgICAgICAgbGV0IHRhcmdldCA9IHRoaXMuYmxvY2tfQXJyYXlbaV0uZ2V0Q29tcG9uZW50KFwiQmxvY2tcIik7XHJcbiAgICAgICAgICAgIHRhcmdldC5zZXRQYXRoKGRpcmVjdGlvbik7XHJcblxyXG4gICAgICAgICAgICBpZihvcmRlciA+IDAgJiYgb3JkZXIgPCB0aGlzLnBhdGhfQXJyYXkubGVuZ3RoLTEpe1xyXG4gICAgICAgICAgICAgICAgaWYodGhpcy5wYXRoX0FycmF5W29yZGVyKzFdLnogPT0gNSl7XHJcbiAgICAgICAgICAgICAgICAgICAgdGhpcy5zZXRfU29pbChvcmRlcisxLHRoaXMucGF0aF9BcnJheSxcInJvYWRcIik7XHJcbiAgICAgICAgICAgICAgICAgICAgY2lyY3VsYXRlID0gZmFsc2U7XHJcbiAgICAgICAgICAgICAgICAgICAgcmV0dXJuO1xyXG4gXHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICBlbHNlIGlmKG9yZGVyID09IDEgJiYgdGhpcy5wYXRoX0FycmF5W29yZGVyXS56ID09IDUpe1xyXG4gICAgICAgICAgICAgICAgICAgIHRoaXMuc2V0X1NvaWwob3JkZXIsdGhpcy5wYXRoX0FycmF5LFwicm9hZFwiKTtcclxuICAgICAgICAgICAgICAgICAgICBjaXJjdWxhdGUgPSBmYWxzZTtcclxuICAgICAgICAgICAgICAgICAgICByZXR1cm47XHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgbGV0IHBvcyA9IGNjLnYyKCk7XHJcbiAgICAgICAgICAgIGlmKGRpcmVjdGlvbiA9PSBcIkVuZFwiKXtcclxuICAgICAgICAgICAgICAgIGlmKG9yZGVyID4gMCl7XHJcbiAgICAgICAgICAgICAgICAgICAgLy8gaWYodGhpcy5wYXRoX0FycmF5W29yZGVyLTFdLnogPT0gMCl7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIHBvcyA9IGNjLnYyKHRoaXMucGF0aF9BcnJheVtvcmRlci0xXS54LCB0aGlzLnBhdGhfQXJyYXlbb3JkZXItMV0ueSk7XHJcbiAgICAgICAgICAgICAgICAgICAgLy8gfVxyXG4gICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIGxldCBkYXRhID0ge1xyXG4gICAgICAgICAgICAgICAgb3JkZXI6b3JkZXIsXHJcbiAgICAgICAgICAgICAgICB0aW1lOmNjLmZ4LkdhbWVDb25maWcuVElNRV9JTkZPLndhdGVyU3BlZWRbY2MuZnguR2FtZUNvbmZpZy5HTV9JTkZPLmxldmVsXSxcclxuICAgICAgICAgICAgICAgIHR5cGU6dGhpcy5wYXRoX0FycmF5W29yZGVyXS56LFxyXG4gICAgICAgICAgICAgICAgY2lyY3VsYXRlOmNpcmN1bGF0ZSxcclxuICAgICAgICAgICAgICAgIGxhc3Q6cG9zXHJcbiAgICAgICAgICAgIH07XHJcbiAgICAgICAgXHJcbiAgICAgICAgICAgIHRhcmdldC5ydW5Sb2FkKGRhdGEpO1xyXG4gICAgICAgIH1cclxuICAgIH1cclxuICAgIC8qKlxyXG4gICAgICog5Yik5pat6L6555WM44CC5oiW6ICF5pKe5bGx77yM5oiW6ICF5rm/5Zyw5rKh5pyJ5Yqg5Zu6XHJcbiAgICAgKiBAcGFyYW0gb3JkZXIg5bu6562R5Zyw5Zu+5pWw57uE6YeM55qE5omn6KGM55qE5bqP5YiX5Y+3XHJcbiAgICAgKiBAcGFyYW0geCDlvZPliY3mk43kvZzlnLDlnZfmqKrlnZDmoIdcclxuICAgICAqIEBwYXJhbSB5IOW9k+WJjeaTjeS9nOWcsOWdl+e6teWdkOagh1xyXG4gICAgICogQHBhcmFtIGRpcmVjdGlvbiDlvZPliY3mk43kvZzmlrnlkJHvvIzoi6XkuI3mmK/mlrnlkJHliJnkuLrmga/lo6TmiJbogIXliqDlm7pcclxuICAgICAqIEBwYXJhbSByb2FkIOW7uuetkeWcsOWbvuaVsOe7hO+8jOWPr+eQhuino+S4uui3r+W+hOaVsOe7hO+8jHBhdGhfQXJyYXlcclxuICAgICAqL1xyXG4gICAgZ2V0Qm91bmRhcnkob3JkZXIseCx5LGRpcmVjdGlvbixyb2FkKXtcclxuICAgICAgICBsZXQgamcgPSB0cnVlO1xyXG4gICAgICAgIGlmKHggPCAwIHx8IHggPj0gdGhpcy5tYXBfV2lkdGggfHwgeSA8IDAgfHwgeSA+PSB0aGlzLm1hcF9IaWdodCl7XHJcbiAgICAgICAgICAgIGpnID0gZmFsc2U7XHJcbiAgICAgICAgICAgIC8vIGNvbnNvbGUubG9nKFwi6LaF6L+H6L6555WM77yM5ri45oiP57uT5p2fXCIpO1xyXG4gICAgICAgICAgICAvLyBhbGVydChcIui2hei/h+i+ueeVjO+8jOayu+awtOWksei0pVwiKTtcclxuICAgICAgICAgICAgY2MuZnguTm90aWZpY2F0aW9ucy5lbWl0KGNjLmZ4Lk1lc3NhZ2Uuc2hvd1Jlc3VsdCxcImxvc2VcIik7XHJcbiAgICAgICAgfVxyXG4gICAgICAgIGVsc2Uge1xyXG4gICAgICAgICAgICBsZXQgaSA9IHJvYWRbb3JkZXJdLngqdGhpcy5tYXBfQXJyYXlbMF0ubGVuZ3RoK3JvYWRbb3JkZXJdLnk7XHJcbiAgICAgICAgICAgIGxldCB0YXJnZXQgPSB0aGlzLmJsb2NrX0FycmF5W2ldLmdldENvbXBvbmVudChcIkJsb2NrXCIpO1xyXG4gICAgICAgICAgICBpZih0YXJnZXQuYmxvY2tfVHlwZSA9PSAzKXtcclxuICAgICAgICAgICAgICAgIGpnID0gZmFsc2U7XHJcbiAgICAgICAgICAgICAgICAvLyBjb25zb2xlLmxvZyhcIuS/ruetkeWxseWzsO+8jOa4uOaIj+e7k+adn1wiKTtcclxuICAgICAgICAgICAgICAgIC8vIGFsZXJ0KFwi5L+u562R5bGx5bOw77yM5rK75rC05aSx6LSlXCIpO1xyXG4gICAgICAgICAgICAgICAgY2MuZnguTm90aWZpY2F0aW9ucy5lbWl0KGNjLmZ4Lk1lc3NhZ2Uuc2hvd1Jlc3VsdCxcImxvc2VcIik7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgZWxzZSBpZih0YXJnZXQuYmxvY2tfVHlwZSA9PSAyICYmIGRpcmVjdGlvbiAhPSBcIlJlaW5mb3JjZVwiKXtcclxuICAgICAgICAgICAgICAgIGpnID0gZmFsc2U7XHJcbiAgICAgICAgICAgICAgICAvLyBjb25zb2xlLmxvZyhcIuS/ruetkeacquWKoOWbuua5v+WcsCzmuLjmiI/nu5PmnZ9cIik7XHJcbiAgICAgICAgICAgICAgICAvLyBhbGVydChcIuS/ruetkeacquWKoOWbuua5v+WcsCzmuLjmiI/nu5PmnZ9cIik7XHJcbiAgICAgICAgICAgICAgICBjYy5meC5Ob3RpZmljYXRpb25zLmVtaXQoY2MuZnguTWVzc2FnZS5zaG93UmVzdWx0LFwibG9zZVwiKTtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgICAgICByZXR1cm4gamc7XHJcbiAgICB9XHJcbiAgICAvKipcclxuICAgICAqIOW8gOWni+aJp+ihjOa0quWzsOadpeS6hueahOWKqOeUu1xyXG4gICAgICogQHBhcmFtIG9yZGVyIOW7uuetkeWcsOWbvuaVsOe7hOmHjOeahOaJp+ihjOeahOW6j+WIl+WPt++8jOS+neasoeW+gOS4i+WKoFxyXG4gICAgICovXHJcbiAgICBydW5XYXRlcihvcmRlcil7XHJcbiAgICAgICAgb3JkZXIgPSBwYXJzZUludChvcmRlcik7XHJcbiAgICAgICAgXHJcbiAgICAgICAgaWYob3JkZXIgPD0gdGhpcy53YXRlcl9BcnJheS5sZW5ndGgtMSl7XHJcbiAgICAgICAgICAgIGxldCBpID0gdGhpcy53YXRlcl9BcnJheVtvcmRlcl0ueCp0aGlzLm1hcF9BcnJheVswXS5sZW5ndGgrdGhpcy53YXRlcl9BcnJheVtvcmRlcl0ueTtcclxuICAgICAgICAgICAgbGV0IGRpcmVjdGlvbiA9IFwiXCI7XHJcbiAgICAgICAgICAgIGxldCBjaXJjdWxhdGUgPSB0cnVlO1xyXG4gICAgICAgICAgICAvL+acgOWQjuS4gOatpee7k+adn1xyXG4gICAgICAgICAgICBpZihvcmRlciA9PSB0aGlzLndhdGVyX0FycmF5Lmxlbmd0aC0xKXtcclxuICAgICAgICAgICAgICAgIGNpcmN1bGF0ZSA9IGZhbHNlO1xyXG4gICAgICAgICAgICAgICAgZGlyZWN0aW9uID0gXCJFbmRcIjtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICBlbHNle1xyXG4gICAgICAgICAgICAgICAgaWYodGhpcy53YXRlcl9BcnJheVtvcmRlcl0ueiA9PSA2ICYmIG9yZGVyICsgMSA8IHRoaXMud2F0ZXJfQXJyYXkubGVuZ3RoICYmIG9yZGVyIT0xKSB7XHJcbiAgICAgICAgICAgICAgICAgICAgZGlyZWN0aW9uID0gXCJSZWluZm9yY2VcIjtcclxuICAgICAgICAgICAgICAgICAgICBpID0gdGhpcy53YXRlcl9BcnJheVtvcmRlcisxXS54KnRoaXMubWFwX0FycmF5WzBdLmxlbmd0aCt0aGlzLndhdGVyX0FycmF5W29yZGVyKzFdLnk7XHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICBlbHNlIGlmKG9yZGVyKzEgPCB0aGlzLndhdGVyX0FycmF5Lmxlbmd0aCl7XHJcbiAgICAgICAgICAgICAgICAgICAgaWYodGhpcy53YXRlcl9BcnJheVtvcmRlcisxXS56ID09IDUpe1xyXG4gICAgICAgICAgICAgICAgICAgICAgICBkaXJlY3Rpb24gPSBcIlhpX1NvaWxcIjtcclxuICAgICAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICAgICAgZWxzZSBpZih0aGlzLndhdGVyX0FycmF5W29yZGVyKzFdLnogPT0gNiAmJiBvcmRlciA9PSAwKXtcclxuICAgICAgICAgICAgICAgICAgICAgICAgZGlyZWN0aW9uID0gXCJSZWluZm9yY2VcIjtcclxuICAgICAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICAgICAgZWxzZXtcclxuICAgICAgICAgICAgICAgICAgICAgICAgZGlyZWN0aW9uID0gdGhpcy5nZXREaXJlY3Rpb24ob3JkZXIsdGhpcy53YXRlcl9BcnJheSk7XHJcbiAgICAgICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgZWxzZXtcclxuICAgICAgICAgICAgICAgICAgICBkaXJlY3Rpb24gPSB0aGlzLmdldERpcmVjdGlvbihvcmRlcix0aGlzLndhdGVyX0FycmF5KTtcclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICBsZXQgamcgPSB0aGlzLmdldEJvdW5kYXJ5KG9yZGVyLHRoaXMud2F0ZXJfQXJyYXlbb3JkZXJdLngsdGhpcy53YXRlcl9BcnJheVtvcmRlcl0ueSxkaXJlY3Rpb24sdGhpcy53YXRlcl9BcnJheSk7XHJcbiAgICAgICAgICAgIGlmKGRpcmVjdGlvbiA9PSBcIlwiIHx8IGpnID09IGZhbHNlIHx8IGRpcmVjdGlvbiA9PSBcImVyclwiKXtcclxuICAgICAgICAgICAgICAgIGNjLmZ4Lk5vdGlmaWNhdGlvbnMuZW1pdChjYy5meC5NZXNzYWdlLnNob3dSZXN1bHQsXCJsb3NlXCIpO1xyXG4gICAgICAgICAgICAgICAgcmV0dXJuO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIGxldCB0YXJnZXQgPSB0aGlzLmJsb2NrX0FycmF5W2ldLmdldENvbXBvbmVudChcIkJsb2NrXCIpO1xyXG4gICAgICAgICAgICB0YXJnZXQuc2V0UGF0aChkaXJlY3Rpb24pO1xyXG5cclxuICAgICAgICAgICAgaWYob3JkZXIgPiAwICYmIG9yZGVyIDwgdGhpcy53YXRlcl9BcnJheS5sZW5ndGgtMSl7XHJcbiAgICAgICAgICAgICAgICBpZih0aGlzLndhdGVyX0FycmF5W29yZGVyKzFdLnogPT0gNSl7XHJcbiAgICAgICAgICAgICAgICAgICAgdGhpcy5zZXRfU29pbChvcmRlcisxLHRoaXMud2F0ZXJfQXJyYXksXCJ3YXRlclwiKTtcclxuICAgICAgICAgICAgICAgICAgICBjaXJjdWxhdGUgPSBmYWxzZTtcclxuICAgICAgICAgICAgICAgICAgICByZXR1cm47XHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICBlbHNlIGlmKG9yZGVyID09IDEgJiYgdGhpcy53YXRlcl9BcnJheVtvcmRlcl0ueiA9PSA1KXtcclxuICAgICAgICAgICAgICAgICAgICB0aGlzLnNldF9Tb2lsKG9yZGVyLHRoaXMud2F0ZXJfQXJyYXksXCJ3YXRlclwiKTtcclxuICAgICAgICAgICAgICAgICAgICBjaXJjdWxhdGUgPSBmYWxzZTtcclxuICAgICAgICAgICAgICAgICAgICByZXR1cm47XHJcbiAgICAgICAgICAgICAgICB9IFxyXG4gICAgICAgICAgICB9XHJcblxyXG4gICAgICAgICAgICBsZXQgcG9zID0gY2MudjIoKTtcclxuICAgICAgICAgICAgaWYoZGlyZWN0aW9uID09IFwiRW5kXCIpe1xyXG4gICAgICAgICAgICAgICAgaWYob3JkZXIgPiAwKXtcclxuICAgICAgICAgICAgICAgICAgICBpZih0aGlzLndhdGVyX0FycmF5W29yZGVyLTFdLnogPT0gMCl7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIHBvcyA9IGNjLnYyKHRoaXMud2F0ZXJfQXJyYXlbb3JkZXItMV0ueCwgdGhpcy53YXRlcl9BcnJheVtvcmRlci0xXS55KTtcclxuICAgICAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgbGV0IGRhdGEgPSB7XHJcbiAgICAgICAgICAgICAgICBvcmRlcjpvcmRlcixcclxuICAgICAgICAgICAgICAgIHRpbWU6Y2MuZnguR2FtZUNvbmZpZy5USU1FX0lORk8ud2F0ZXJTcGVlZFtjYy5meC5HYW1lQ29uZmlnLkdNX0lORk8ubGV2ZWxdLFxyXG4gICAgICAgICAgICAgICAgdHlwZTp0aGlzLndhdGVyX0FycmF5W29yZGVyXS56LFxyXG4gICAgICAgICAgICAgICAgY2lyY3VsYXRlOmNpcmN1bGF0ZSxcclxuICAgICAgICAgICAgICAgIGxhc3Q6cG9zXHJcbiAgICAgICAgICAgIH07XHJcbiAgICAgICAgICAgIHRhcmdldC5ydW5XYXRlcihkYXRhKTtcclxuICAgICAgICB9XHJcbiAgICB9XHJcbiAgICAvKipcclxuICAgICAqIOiOt+WPluaBr+WjpOeahOagvOWtkOeahOaWueWQkVxyXG4gICAgICogQHBhcmFtIG9yZGVyIOW7uuetkeWcsOWbvuaVsOe7hOmHjOeahOaJp+ihjOeahOW6j+WIl+WPt++8jOS+neasoeW+gOS4i+WKoFxyXG4gICAgICogQHBhcmFtIHJvYWQg5bu6562R5Zyw5Zu+5pWw57uE5oiW6ICF5rSq5bOw6Lev5b6E5pWw57uE77yM5Y+v55CG6Kej5Li66Lev5b6E5pWw57uE77yMcGF0aF9BcnJheSB3YXRlcl9BcnJheVxyXG4gICAgICovXHJcbiAgICBnZXRYaV9Tb2lsKG9yZGVyLHJvYWQpe1xyXG4gICAgICAgIHZhciBkaXJlY3Rpb24gPSBudWxsO1xyXG4gICAgICAgIC8v5aaC5p6c5oGv5aOk5ZCO6Z2i6L+Y5pyJ5LiL5LiA5q2l55qE6K+dXHJcbiAgICAgICAgaWYob3JkZXIgKyAxIDwgcm9hZC5sZW5ndGgpe1xyXG4gICAgICAgICAgICBkaXJlY3Rpb24gPSB0aGlzLmdldERpcmVjdGlvbihvcmRlcixyb2FkKTtcclxuICAgICAgICAgICAgaWYoZGlyZWN0aW9uID09IFwidXBcIiB8fCBkaXJlY3Rpb24gPT0gXCJyaWdodF91cFwiIHx8IGRpcmVjdGlvbiA9PSBcImxlZnRfdXBcIil7XHJcbiAgICAgICAgICAgICAgICBkaXJlY3Rpb24gPSBcInVwXCI7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgZWxzZSBpZihkaXJlY3Rpb24gPT0gXCJkb3duXCIgfHwgZGlyZWN0aW9uID09IFwibGVmdF9kb3duXCIgfHwgZGlyZWN0aW9uID09IFwicmlnaHRfZG93blwiKXtcclxuICAgICAgICAgICAgICAgIGRpcmVjdGlvbiA9IFwiZG93blwiO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIGVsc2UgaWYoZGlyZWN0aW9uID09IFwibGVmdFwiIHx8IGRpcmVjdGlvbiA9PSBcInVwX2xlZnRcIiB8fCBkaXJlY3Rpb24gPT0gXCJkb3duX2xlZnRcIil7XHJcbiAgICAgICAgICAgICAgICBkaXJlY3Rpb24gPSBcImxlZnRcIjtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICBlbHNlIGlmKGRpcmVjdGlvbiA9PSBcInJpZ2h0XCIgfHwgZGlyZWN0aW9uID09IFwidXBfcmlnaHRcIiB8fCBkaXJlY3Rpb24gPT0gXCJkb3duX3JpZ2h0XCIpe1xyXG4gICAgICAgICAgICAgICAgZGlyZWN0aW9uID0gXCJyaWdodFwiO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfSAgXHJcbiAgICAgICAgcmV0dXJuIGRpcmVjdGlvbjtcclxuICAgIH1cclxuICAgIC8qKlxyXG4gICAgICog6K6+572u5oGv5aOk5omn6KGM5pa55rOVXHJcbiAgICAgKiBAcGFyYW0gb3JkZXIg5bu6562R5Zyw5Zu+5pWw57uE6YeM55qE5omn6KGM55qE5bqP5YiX5Y+377yM5L6d5qyh5b6A5LiL5YqgXHJcbiAgICAgKiBAcGFyYW0gcm9hZCDlu7rnrZHlnLDlm77mlbDnu4TmiJbogIXmtKrls7Dot6/lvoTmlbDnu4TvvIzlj6/nkIbop6PkuLrot6/lvoTmlbDnu4TvvIxwYXRoX0FycmF5IHdhdGVyX0FycmF5XHJcbiAgICAgKiBAcGFyYW0gbmFtZSByb2Fk5oiW6ICFd2F0ZXIs5bu6562R6Lev5b6E5oiW6ICF5rSq5bOw6Lev5b6EXHJcbiAgICAgKi9cclxuICAgIHNldF9Tb2lsKG9yZGVyLHJvYWQsbmFtZSl7XHJcbiAgICAgICAgdmFyIGRpcmVjdGlvbiA9IHRoaXMuZ2V0WGlfU29pbChvcmRlcixyb2FkKTtcclxuXHJcbiAgICAgICAgdmFyIGxlbmd0aCA9IDA7XHJcbiAgICAgICAgaWYoZGlyZWN0aW9uID09IFwicmlnaHRcIil7XHJcbiAgICAgICAgICAgIGxlbmd0aCA9IHRoaXMubWFwX1dpZHRoIC0gMTtcclxuICAgICAgICAgICAgLy8gbGV0IHRlbXAgPSB0aGlzLm1hcF9XaWR0aCAtIDE7XHJcbiAgICAgICAgICAgIGZvcihsZXQgaT1yb2FkW29yZGVyXS54O2k8PWxlbmd0aDtpKyspe1xyXG4gICAgICAgICAgICAgICAgbGV0IG4gPSBpKnRoaXMubWFwX0FycmF5WzBdLmxlbmd0aCtyb2FkW29yZGVyXS55O1xyXG4gICAgICAgICAgICAgICAgbGV0IHRhcmdldCA9IHRoaXMuYmxvY2tfQXJyYXlbbl0uZ2V0Q29tcG9uZW50KFwiQmxvY2tcIik7XHJcbiAgICAgICAgICAgICAgICBpZih0YXJnZXQuYmxvY2tfVHlwZSA9PSAzIHx8IHRhcmdldC5ibG9ja19UeXBlID09IDQpe1xyXG4gICAgICAgICAgICAgICAgICAgIGxlbmd0aCA9IGktMTtcclxuICAgICAgICAgICAgICAgICAgICBpZih0YXJnZXQuYmxvY2tfVHlwZSA9PSA0KXtcclxuICAgICAgICAgICAgICAgICAgICAgICAgbGVuZ3RoICs9IDE7XHJcbiAgICAgICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgICAgIGkgPSAxMDAwMDtcclxuICAgICAgICAgICAgICAgICAgICBicmVhaztcclxuICAgICAgICAgICAgICAgIH1cclxuICBcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH0gXHJcbiAgICAgICAgZWxzZSBpZihkaXJlY3Rpb24gPT0gXCJsZWZ0XCIpe1xyXG4gICAgICAgICAgICBsZW5ndGggPSAwO1xyXG4gICAgICAgICAgICBmb3IobGV0IGk9cm9hZFtvcmRlcl0ueDtpPj1sZW5ndGg7aS0tKXtcclxuICAgICAgICAgICAgICAgIGxldCBuID0gaSp0aGlzLm1hcF9BcnJheVswXS5sZW5ndGgrcm9hZFtvcmRlcl0ueTtcclxuICAgICAgICAgICAgICAgIGxldCB0YXJnZXQgPSB0aGlzLmJsb2NrX0FycmF5W25dLmdldENvbXBvbmVudChcIkJsb2NrXCIpO1xyXG4gICAgICAgICAgICAgICAgXHJcbiAgICAgICAgICAgICAgICBpZih0YXJnZXQuYmxvY2tfVHlwZSA9PSAzIHx8IHRhcmdldC5ibG9ja19UeXBlID09IDQpe1xyXG4gICAgICAgICAgICAgICAgICAgIGxlbmd0aCA9ICBpICsgMTtcclxuICAgICAgICAgICAgICAgICAgICBpZih0YXJnZXQuYmxvY2tfVHlwZSA9PSA0KXtcclxuICAgICAgICAgICAgICAgICAgICAgICAgbGVuZ3RoIC09IDE7XHJcbiAgICAgICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgICAgIGkgPSAtMTtcclxuICAgICAgICAgICAgICAgICAgICBicmVhaztcclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH0gXHJcbiAgICAgICAgZWxzZSBpZihkaXJlY3Rpb24gPT0gXCJ1cFwiKXtcclxuICAgICAgICAgICAgbGVuZ3RoID0gMDtcclxuXHJcbiAgICAgICAgICAgIGZvcihsZXQgaT1yb2FkW29yZGVyXS55O2k+PWxlbmd0aDtpLS0pe1xyXG4gICAgICAgICAgICAgICAgbGV0IG4gPSByb2FkW29yZGVyXS54KnRoaXMubWFwX0FycmF5WzBdLmxlbmd0aCArIGk7XHJcbiAgICAgICAgICAgICAgICBsZXQgdGFyZ2V0ID0gdGhpcy5ibG9ja19BcnJheVtuXS5nZXRDb21wb25lbnQoXCJCbG9ja1wiKTtcclxuICAgICAgICAgICAgICAgIGlmKHRhcmdldC5ibG9ja19UeXBlID09IDMgfHwgdGFyZ2V0LmJsb2NrX1R5cGUgPT0gNCl7XHJcbiAgICAgICAgICAgICAgICAgICAgbGVuZ3RoID0gaSArIDE7XHJcbiAgICAgICAgICAgICAgICAgICAgaWYodGFyZ2V0LmJsb2NrX1R5cGUgPT0gNCl7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIGxlbmd0aCAtPSAxO1xyXG4gICAgICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgICAgICBpID0gLTE7XHJcbiAgICAgICAgICAgICAgICAgICAgYnJlYWs7XHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9IFxyXG4gICAgICAgIGVsc2UgaWYoZGlyZWN0aW9uID09IFwiZG93blwiKXtcclxuICAgICAgICAgICAgbGVuZ3RoID0gdGhpcy5tYXBfSGlnaHQgLSAxO1xyXG4gICAgICAgICAgICBmb3IobGV0IGk9cm9hZFtvcmRlcl0ueTtpPD1sZW5ndGg7aSsrKXtcclxuICAgICAgICAgICAgICAgIGxldCBuID0gcm9hZFtvcmRlcl0ueCp0aGlzLm1hcF9BcnJheVswXS5sZW5ndGggKyBpO1xyXG4gICAgICAgICAgICAgICAgbGV0IHRhcmdldCA9IHRoaXMuYmxvY2tfQXJyYXlbbl0uZ2V0Q29tcG9uZW50KFwiQmxvY2tcIik7XHJcbiAgICAgICAgICAgICAgICBpZih0YXJnZXQuYmxvY2tfVHlwZSA9PSAzIHx8IHRhcmdldC5ibG9ja19UeXBlID09IDQpe1xyXG4gICAgICAgICAgICAgICAgICAgIGxlbmd0aCA9IGktMTtcclxuICAgICAgICAgICAgICAgICAgICBpZih0YXJnZXQuYmxvY2tfVHlwZSA9PSA0KXtcclxuICAgICAgICAgICAgICAgICAgICAgICAgbGVuZ3RoICs9IDE7XHJcbiAgICAgICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgICAgIGkgPSAxMDAwMDtcclxuICAgICAgICAgICAgICAgICAgICBicmVhaztcclxuICAgICAgICAgICAgICAgIH1cclxuICAgICBcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH0gXHJcblxyXG4gICAgICAgIHRoaXMuc29pbF9GaW5kKGRpcmVjdGlvbixvcmRlcixsZW5ndGgscm9hZCxuYW1lKTtcclxuICAgIH1cclxuICAgIC8v5p+l5om+5oGv5aOk6Juu6YGX5oa+6Lev5b6EXHJcbiAgICBzb2lsX0ZpbmQoZGlyZWN0aW9uLG9yZGVyLGxlbmd0aCxyb2FkLG5hbWUpe1xyXG4gICAgICAgIFxyXG4gICAgICAgIGxldCBzdGFydCA9IHJvYWRbb3JkZXJdLng7XHJcbiAgICAgICAgaWYoZGlyZWN0aW9uID09IFwicmlnaHRcIil7XHJcbiAgICAgICAgICAgIGZvcihsZXQgaSA9IHN0YXJ0OyBpPD1sZW5ndGg7IGkrKyl7XHJcbiAgICAgICAgICAgICAgICBsZXQgbiA9IGkqdGhpcy5tYXBfQXJyYXlbMF0ubGVuZ3RoK3JvYWRbb3JkZXJdLnk7XHJcbiAgICAgICAgICAgICAgICBsZXQgdGFyZ2V0ID0gdGhpcy5ibG9ja19BcnJheVtuXS5nZXRDb21wb25lbnQoXCJCbG9ja1wiKTtcclxuICAgICAgICAgICAgICAgIGlmKGkgPT0gc3RhcnQpe1xyXG4gICAgICAgICAgICAgICAgICAgIGlmKGkgPT0gc3RhcnQgJiYgaT09bGVuZ3RoKXtcclxuICAgICAgICAgICAgICAgICAgICAgICAgY2MuZnguTm90aWZpY2F0aW9ucy5lbWl0KGNjLmZ4Lk1lc3NhZ2Uuc2hvd1Jlc3VsdCxcImxvc2VcIik7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIHRhcmdldC5zZXRfWGlfU29pbFR5cGUodGhpcy5nZXREaXJlY3Rpb24ob3JkZXIscm9hZCksb3JkZXIsbmFtZSk7XHJcbiAgICAgICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgICAgIGVsc2UgdGFyZ2V0LnNldF9YaV9Tb2lsVHlwZSh0aGlzLmdldERpcmVjdGlvbihvcmRlcixyb2FkKSxudWxsLG5hbWUpO1xyXG4gICAgICAgICAgICAgICAgICAgIGxldCB2YWx1ZSA9IGNjLnYzKHRoaXMucGF0aF9BcnJheVtvcmRlcl0ueCx0aGlzLnBhdGhfQXJyYXlbb3JkZXJdLnksMCk7XHJcbiAgICAgICAgICAgICAgICAgICAgaWYodGhpcy53YXRlcl9BcnJheVt0aGlzLndhdGVyX0FycmF5Lmxlbmd0aC0xXSAhPSB2YWx1ZSl7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIC8vIGNvbnNvbGUubG9nKFwi54m55Yir5o+S5YWlOlwiLHRoaXMucGF0aF9BcnJheVtvcmRlcl0ueCx0aGlzLnBhdGhfQXJyYXlbb3JkZXJdLnkpO1xyXG4gICAgICAgICAgICAgICAgICAgICAgICB0aGlzLmNoYW5nZVdhdGVyKHZhbHVlKTtcclxuICAgICAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICB9ICBcclxuICAgICAgICAgICAgICAgIGVsc2Uge1xyXG4gICAgICAgICAgICAgICAgICAgIGxldCBqZyA9IG51bGw7XHJcbiAgICAgICAgICAgICAgICAgICAgaWYoaSA9PSBsZW5ndGgpe1xyXG4gICAgICAgICAgICAgICAgICAgICAgICBsZXQgbnVtYmVyID0gaSAtIHN0YXJ0IC0xO1xyXG4gICAgICAgICAgICAgICAgICAgICAgICB0aGlzLmNoYW5nZVBhdGgob3JkZXIsbnVtYmVyLGZhbHNlLHJvYWQpO1xyXG4gICAgICAgICAgICAgICAgICAgICAgICBqZyA9IG9yZGVyO1xyXG4gICAgICAgICAgICAgICAgICAgIH0gXHJcbiAgICAgICAgICAgICAgICAgICAgdGFyZ2V0LnNldF9YaV9Tb2lsVHlwZShkaXJlY3Rpb24samcsbmFtZSk7XHJcbiAgICAgICAgICAgICAgICB9ICAgXHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9IFxyXG4gICAgICAgIGVsc2UgaWYoZGlyZWN0aW9uID09IFwibGVmdFwiKXtcclxuICAgICAgICAgICAgZm9yKGxldCBpID0gc3RhcnQ7IGk+PWxlbmd0aDsgaS0tKXtcclxuICAgICAgICAgICAgICAgIGxldCBuID0gaSp0aGlzLm1hcF9BcnJheVswXS5sZW5ndGgrcm9hZFtvcmRlcl0ueTtcclxuICAgICAgICAgICAgICAgIGxldCB0YXJnZXQgPSB0aGlzLmJsb2NrX0FycmF5W25dLmdldENvbXBvbmVudChcIkJsb2NrXCIpO1xyXG4gICAgICAgICAgICAgICAgaWYoaSA9PSBzdGFydCl7XHJcbiAgICAgICAgICAgICAgICAgICAgaWYoaSA9PSBzdGFydCAmJiBpPT1sZW5ndGgpe1xyXG4gICAgICAgICAgICAgICAgICAgICAgICBjYy5meC5Ob3RpZmljYXRpb25zLmVtaXQoY2MuZnguTWVzc2FnZS5zaG93UmVzdWx0LFwibG9zZVwiKTtcclxuICAgICAgICAgICAgICAgICAgICAgICAgdGFyZ2V0LnNldF9YaV9Tb2lsVHlwZSh0aGlzLmdldERpcmVjdGlvbihvcmRlcixyb2FkKSxvcmRlcixuYW1lKTtcclxuICAgICAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICAgICAgZWxzZSB0YXJnZXQuc2V0X1hpX1NvaWxUeXBlKHRoaXMuZ2V0RGlyZWN0aW9uKG9yZGVyLHJvYWQpLG51bGwsbmFtZSk7XHJcbiAgICAgICAgICAgICAgICAgICAgbGV0IHZhbHVlID0gY2MudjModGhpcy5wYXRoX0FycmF5W29yZGVyXS54LHRoaXMucGF0aF9BcnJheVtvcmRlcl0ueSwwKTtcclxuICAgICAgICAgICAgICAgICAgICBpZih0aGlzLndhdGVyX0FycmF5W3RoaXMud2F0ZXJfQXJyYXkubGVuZ3RoLTFdICE9IHZhbHVlKXtcclxuICAgICAgICAgICAgICAgICAgICAgICAgLy8gY29uc29sZS5sb2coXCLnibnliKvmj5LlhaU6XCIsdGhpcy5wYXRoX0FycmF5W29yZGVyXS54LHRoaXMucGF0aF9BcnJheVtvcmRlcl0ueSk7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIHRoaXMuY2hhbmdlV2F0ZXIodmFsdWUpO1xyXG4gICAgICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgIH0gIFxyXG4gICAgICAgICAgICAgICAgZWxzZSB7XHJcbiAgICAgICAgICAgICAgICAgICAgbGV0IGpnID0gbnVsbDtcclxuICAgICAgICAgICAgICAgICAgICBpZihpID09IGxlbmd0aCl7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIGxldCBudW1iZXIgPSBpIC0gc3RhcnQgKyAxO1xyXG4gICAgICAgICAgICAgICAgICAgICAgICB0aGlzLmNoYW5nZVBhdGgob3JkZXIsbnVtYmVyLGZhbHNlLHJvYWQpO1xyXG4gICAgICAgICAgICAgICAgICAgICAgICBqZyA9IG9yZGVyO1xyXG4gICAgICAgICAgICAgICAgICAgIH0gXHJcbiAgICAgICAgICAgICAgICAgICAgdGFyZ2V0LnNldF9YaV9Tb2lsVHlwZShkaXJlY3Rpb24samcsbmFtZSk7XHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9IFxyXG4gICAgICAgIGVsc2UgaWYoZGlyZWN0aW9uID09IFwidXBcIil7XHJcbiAgICAgICAgICAgIHN0YXJ0ID0gcm9hZFtvcmRlcl0ueTtcclxuICAgICAgICAgICAgZm9yKGxldCBpID0gc3RhcnQ7IGk+PWxlbmd0aDsgaS0tKXtcclxuICAgICAgICAgICAgICAgIGxldCBuID0gcm9hZFtvcmRlcl0ueCp0aGlzLm1hcF9BcnJheVswXS5sZW5ndGgraTtcclxuICAgICAgICAgICAgICAgIGxldCB0YXJnZXQgPSB0aGlzLmJsb2NrX0FycmF5W25dLmdldENvbXBvbmVudChcIkJsb2NrXCIpO1xyXG4gICAgICAgICAgICAgICAgaWYoaSA9PSBzdGFydCl7XHJcbiAgICAgICAgICAgICAgICAgICAgaWYoaSA9PSBzdGFydCAmJiBpPT1sZW5ndGgpe1xyXG4gICAgICAgICAgICAgICAgICAgICAgICBjYy5meC5Ob3RpZmljYXRpb25zLmVtaXQoY2MuZnguTWVzc2FnZS5zaG93UmVzdWx0LFwibG9zZVwiKTtcclxuICAgICAgICAgICAgICAgICAgICAgICAgdGFyZ2V0LnNldF9YaV9Tb2lsVHlwZSh0aGlzLmdldERpcmVjdGlvbihvcmRlcixyb2FkKSxvcmRlcixuYW1lKTtcclxuICAgICAgICAgICAgICAgICAgICB9IFxyXG4gICAgICAgICAgICAgICAgICAgIGVsc2V7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIHRhcmdldC5zZXRfWGlfU29pbFR5cGUodGhpcy5nZXREaXJlY3Rpb24ob3JkZXIscm9hZCksbnVsbCxuYW1lKTtcclxuICAgICAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICAgICAgbGV0IHZhbHVlID0gY2MudjModGhpcy5wYXRoX0FycmF5W29yZGVyXS54LHRoaXMucGF0aF9BcnJheVtvcmRlcl0ueSwwKTtcclxuICAgICAgICAgICAgICAgICAgICBpZih0aGlzLndhdGVyX0FycmF5W3RoaXMud2F0ZXJfQXJyYXkubGVuZ3RoLTFdICE9IHZhbHVlKXtcclxuICAgICAgICAgICAgICAgICAgICAgICAgLy8gY29uc29sZS5sb2coXCLnibnliKvmj5LlhaU6XCIsdGhpcy5wYXRoX0FycmF5W29yZGVyXS54LHRoaXMucGF0aF9BcnJheVtvcmRlcl0ueSk7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIHRoaXMuY2hhbmdlV2F0ZXIodmFsdWUpO1xyXG4gICAgICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgIH0gIFxyXG4gICAgICAgICAgICAgICAgZWxzZSB7XHJcbiAgICAgICAgICAgICAgICAgICAgbGV0IGpnID0gbnVsbDtcclxuICAgICAgICAgICAgICAgICAgICBpZihpID09IGxlbmd0aCl7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIGxldCBudW1iZXIgPSBpIC0gc3RhcnQgKyAxO1xyXG4gICAgICAgICAgICAgICAgICAgICAgICB0aGlzLmNoYW5nZVBhdGgob3JkZXIsbnVtYmVyLHRydWUscm9hZCk7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIGpnID0gb3JkZXI7XHJcbiAgICAgICAgICAgICAgICAgICAgfSBcclxuICAgICAgICAgICAgICAgICAgICAvLyBjb25zb2xlLmxvZyhcIuaDs+S4iuaBr+WjpOaPkuWFpTpcIix0aGlzLnBhdGhfQXJyYXlbb3JkZXJdLngsaSk7XHJcbiAgICAgICAgICAgICAgICAgICAgdGFyZ2V0LnNldF9YaV9Tb2lsVHlwZShkaXJlY3Rpb24samcsbmFtZSk7XHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9IFxyXG4gICAgICAgIGVsc2UgaWYoZGlyZWN0aW9uID09IFwiZG93blwiKXtcclxuICAgICAgICAgICAgc3RhcnQgPSByb2FkW29yZGVyXS55O1xyXG4gICAgICAgICAgICBmb3IobGV0IGkgPSBzdGFydDsgaTw9bGVuZ3RoOyBpKyspe1xyXG4gICAgICAgICAgICAgICAgbGV0IG4gPSByb2FkW29yZGVyXS54KnRoaXMubWFwX0FycmF5WzBdLmxlbmd0aCtpO1xyXG4gICAgICAgICAgICAgICAgbGV0IHRhcmdldCA9IHRoaXMuYmxvY2tfQXJyYXlbbl0uZ2V0Q29tcG9uZW50KFwiQmxvY2tcIik7XHJcbiAgICAgICAgICAgICAgICBpZihpID09IHN0YXJ0KXtcclxuICAgICAgICAgICAgICAgICAgICBpZihpID09IHN0YXJ0ICYmIGk9PWxlbmd0aCl7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIGNjLmZ4Lk5vdGlmaWNhdGlvbnMuZW1pdChjYy5meC5NZXNzYWdlLnNob3dSZXN1bHQsXCJsb3NlXCIpO1xyXG4gICAgICAgICAgICAgICAgICAgICAgICB0YXJnZXQuc2V0X1hpX1NvaWxUeXBlKHRoaXMuZ2V0RGlyZWN0aW9uKG9yZGVyLHJvYWQpLG9yZGVyLG5hbWUpO1xyXG4gICAgICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgICAgICBlbHNlIHRhcmdldC5zZXRfWGlfU29pbFR5cGUodGhpcy5nZXREaXJlY3Rpb24ob3JkZXIscm9hZCksbnVsbCxuYW1lKTtcclxuICAgICAgICAgICAgICAgICAgICBsZXQgdmFsdWUgPSBjYy52Myh0aGlzLnBhdGhfQXJyYXlbb3JkZXJdLngsdGhpcy5wYXRoX0FycmF5W29yZGVyXS55LDApO1xyXG4gICAgICAgICAgICAgICAgICAgIGlmKHRoaXMud2F0ZXJfQXJyYXlbdGhpcy53YXRlcl9BcnJheS5sZW5ndGgtMV0gIT0gdmFsdWUpe1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAvLyBjb25zb2xlLmxvZyhcIueJueWIq+aPkuWFpTpcIix0aGlzLnBhdGhfQXJyYXlbb3JkZXJdLngsdGhpcy5wYXRoX0FycmF5W29yZGVyXS55KTtcclxuICAgICAgICAgICAgICAgICAgICAgICAgdGhpcy5jaGFuZ2VXYXRlcih2YWx1ZSk7XHJcbiAgICAgICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgfSBcclxuICAgICAgICAgICAgICAgIGVsc2Uge1xyXG4gICAgICAgICAgICAgICAgICAgIGxldCBqZyA9IG51bGw7XHJcbiAgICAgICAgICAgICAgICAgICAgaWYoaSA9PSBsZW5ndGgpe1xyXG4gICAgICAgICAgICAgICAgICAgICAgICBsZXQgbnVtYmVyID0gaSAtIHN0YXJ0IC0gMTtcclxuICAgICAgICAgICAgICAgICAgICAgICAgdGhpcy5jaGFuZ2VQYXRoKG9yZGVyLG51bWJlcix0cnVlLHJvYWQpO1xyXG4gICAgICAgICAgICAgICAgICAgICAgICBqZyA9IG9yZGVyO1xyXG4gICAgICAgICAgICAgICAgICAgIH0gXHJcbiAgICAgICAgICAgICAgICAgICAgdGFyZ2V0LnNldF9YaV9Tb2lsVHlwZShkaXJlY3Rpb24samcsbmFtZSk7XHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9IFxyXG4gICAgfVxyXG5cclxuICAgIC8qKlxyXG4gICAgICog5pS55Y+Y5rC05rWB5Zyw5Zu+XHJcbiAgICAgKiBAcGFyYW0gdmFsdWUg6ZyA6KaB5qC55o2u5L2/55So5oGv5aOk5oOF5Ya177yM5o+S5YWl5Yiw5rSq5bOw6Lev5b6E55qE54K5XHJcbiAgICAgKi9cclxuICAgIGNoYW5nZVdhdGVyKHZhbHVlKXtcclxuICAgICAgICBsZXQgamcgPSB0cnVlO1xyXG4gICAgICAgIGlmKHRoaXMud2F0ZXJfQXJyYXkubGVuZ3RoID4gMCl7XHJcbiAgICAgICAgICAgIGlmKHRoaXMud2F0ZXJfQXJyYXlbdGhpcy53YXRlcl9BcnJheS5sZW5ndGgtMV0ueCA9PSB2YWx1ZS54ICYmIHRoaXMud2F0ZXJfQXJyYXlbdGhpcy53YXRlcl9BcnJheS5sZW5ndGgtMV0ueSA9PSB2YWx1ZS55KXtcclxuICAgICAgICAgICAgICAgIGpnID0gZmFsc2U7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICAgICAgaWYoamcpIHRoaXMud2F0ZXJfQXJyYXkucHVzaCh2YWx1ZSk7XHJcbiAgICB9XHJcbiAgICAvKipcclxuICAgICAqIOaBr+WjpOi/h+WQjuaUueWPmOS/ruetkei3r+W+hFxyXG4gICAgICogQHBhcmFtIG9yZGVyIOW7uuetkeWcsOWbvuaVsOe7hOmHjOeahOaJp+ihjOeahOW6j+WIl+WPt1xyXG4gICAgICogQHBhcmFtIG51bWJlciDmga/lo6TmiafooYzplb/luqYs5pS55Y+Y5oGv5aOk55So5ZCO5YW25LuW6Lev5b6E55qEWOaIllnlgLxcclxuICAgICAqIEBwYXJhbSBkaXJlY3Rpb24g5Y+q5Li65Lik5Liq5pa55ZCR77yM5qiq5ZCRZmFsc2Us57q15ZCRdHJ1ZVxyXG4gICAgICogQHBhcmFtIHJvYWQg5bu6562R5Zyw5Zu+5pWw57uE5oiW6ICF5rSq5bOw6Lev5b6E5pWw57uE77yM5Y+v55CG6Kej5Li66Lev5b6E5pWw57uE77yMcGF0aF9BcnJheSB3YXRlcl9BcnJheVxyXG4gICAgICovXHJcbiAgICBjaGFuZ2VQYXRoKG9yZGVyLG51bWJlcixkaXJlY3Rpb24scm9hZCl7XHJcbiAgXHJcbiAgICAgICAgZm9yKGxldCBpID0gKG9yZGVyKzEpOyBpPHJvYWQubGVuZ3RoOyBpKyspe1xyXG4gICAgICAgICAgICBpZighZGlyZWN0aW9uKXtcclxuICAgICAgICAgICAgICAgIHJvYWRbaV0ueCArPSAobnVtYmVyKTtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICBlbHNle1xyXG4gICAgICAgICAgICAgICAgcm9hZFtpXS55ICs9IChudW1iZXIpO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgICAgIGlmKGRpcmVjdGlvbil7XHJcbiAgICAgICAgICAgIGlmKG51bWJlciA8IDApe1xyXG4gICAgICAgICAgICAgICAgZm9yKGxldCBuPSAtbnVtYmVyOyBuPjA7IG4tLSl7XHJcbiAgICAgICAgICAgICAgICAgICAgdGhpcy5jaGFuZ2VXYXRlcihjYy52Myh0aGlzLnBhdGhfQXJyYXlbb3JkZXIrMV0ueCx0aGlzLnBhdGhfQXJyYXlbb3JkZXIrMV0ueStuLDApKTtcclxuICAgICAgICAgICAgICAgICAgICAvLyBjb25zb2xlLmxvZyhcIjHnibnmrormlL7lhaU6XCIsdGhpcy5wYXRoX0FycmF5W29yZGVyKzFdLngsdGhpcy5wYXRoX0FycmF5W29yZGVyKzFdLnkrbilcclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICBlbHNleyBcclxuICAgICAgICAgICAgICAgIGZvcihsZXQgbj1udW1iZXI7IG4+MDsgbi0tKXtcclxuICAgICAgICAgICAgICAgICAgICB0aGlzLmNoYW5nZVdhdGVyKGNjLnYzKHRoaXMucGF0aF9BcnJheVtvcmRlcisxXS54LHRoaXMucGF0aF9BcnJheVtvcmRlcisxXS55LW4sMCkpO1xyXG4gICAgICAgICAgICAgICAgICAgIC8vIGNvbnNvbGUubG9nKFwiMueJueauiuaUvuWFpTpcIix0aGlzLnBhdGhfQXJyYXlbb3JkZXIrMV0ueCx0aGlzLnBhdGhfQXJyYXlbb3JkZXIrMV0ueS1uKVxyXG4gICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfWVsc2V7XHJcbiAgICAgICAgICAgIGlmKG51bWJlciA8IDApe1xyXG4gICAgICAgICAgICAgICAgZm9yKGxldCBtPSAtbnVtYmVyOyBtPjA7IG0tLSl7XHJcbiAgICAgICAgICAgICAgICAgICAgdGhpcy5jaGFuZ2VXYXRlcihjYy52Myh0aGlzLnBhdGhfQXJyYXlbb3JkZXIrMV0ueCttLHRoaXMucGF0aF9BcnJheVtvcmRlcisxXS55LDApKTtcclxuICAgICAgICAgICAgICAgICAgICAvLyBjb25zb2xlLmxvZyhcIjPnibnmrormlL7lhaU6XCIsdGhpcy5wYXRoX0FycmF5W29yZGVyKzFdLngrbSx0aGlzLnBhdGhfQXJyYXlbb3JkZXIrMV0ueSlcclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICBlbHNle1xyXG4gICAgICAgICAgICAgICAgZm9yKGxldCBtPW51bWJlcjsgbT4wOyBtLS0pe1xyXG4gICAgICAgICAgICAgICAgICAgIHRoaXMuY2hhbmdlV2F0ZXIoY2MudjModGhpcy5wYXRoX0FycmF5W29yZGVyKzFdLngtbSx0aGlzLnBhdGhfQXJyYXlbb3JkZXIrMV0ueSwwKSk7XHJcbiAgICAgICAgICAgICAgICAgICAgLy8gY29uc29sZS5sb2coXCI054m55q6K5pS+5YWlOlwiLHRoaXMucGF0aF9BcnJheVtvcmRlcisxXS54LW0sdGhpcy5wYXRoX0FycmF5W29yZGVyKzFdLnkpXHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICB9XHJcbiAgICAvKipcclxuICAgICAqIOiOt+WPlua0quWzsOaWueWQkVxyXG4gICAgICogQHBhcmFtIG9yZGVyIOW7uuetkeWcsOWbvuaVsOe7hOmHjOeahOaJp+ihjOeahOW6j+WIl+WPt1xyXG4gICAgICogQHBhcmFtIHJvYWQg5bu6562R5Zyw5Zu+5pWw57uE5oiW6ICF5rSq5bOw6Lev5b6E5pWw57uE77yM5Y+v55CG6Kej5Li66Lev5b6E5pWw57uE77yMcGF0aF9BcnJheSB3YXRlcl9BcnJheVxyXG4gICAgICovXHJcbiAgICBnZXREaXJlY3Rpb24ob3JkZXIscm9hZCl7XHJcbiAgICAgICAgdmFyIG5hbWUgPSBcIlwiO1xyXG4gICAgICAgIC8v5YWl5rW35Y+j5q+U6L6D5aSN5p2C5Y2V54us5Yik5patXHJcbiAgICAgICAgaWYob3JkZXIgPT0gMCl7XHJcbiAgICAgICAgICAgIGlmKHRoaXMucGF0aF9BcnJheVtvcmRlcisxXS56ID09IDYgJiYgcm9hZCA9PSB0aGlzLnBhdGhfQXJyYXkpIG9yZGVyICs9IDE7XHJcbiAgICAgICAgICAgIGxldCBuZXh0WCA9IHJvYWRbb3JkZXIrMV0ueCAtIHJvYWRbb3JkZXJdLng7XHJcbiAgICAgICAgICAgIGxldCBuZXh0WSA9IHJvYWRbb3JkZXJdLnkgLSByb2FkW29yZGVyKzFdLnk7XHJcbiAgICAgICAgICAgIC8v5Zyo5bqV6L65XHJcbiAgICAgICAgICAgIGlmKHJvYWRbb3JkZXJdLnkgPT0gdGhpcy5tYXBfQXJyYXlbMF0ubGVuZ3RoLTEpe1xyXG4gICAgICAgICAgICAgICAgaWYobmV4dFggPT0gMCl7XHJcbiAgICAgICAgICAgICAgICAgICAgaWYobmV4dFkgPT0gMSluYW1lID0gXCJ1cFwiO1xyXG4gICAgICAgICAgICAgICAgICAgIGVsc2UgaWYobmV4dFkgPT0gLTEpIG5hbWUgPSBcImVyclwiO1xyXG4gICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgZWxzZSBpZihuZXh0WCA9PSAxKSBuYW1lID0gXCJ1cF9yaWdodFwiO1xyXG4gICAgICAgICAgICAgICAgZWxzZSBpZihuZXh0WCA9PSAtMSkgbmFtZSA9IFwidXBfbGVmdFwiO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIC8v5Zyo6aG26L65XHJcbiAgICAgICAgICAgIGVsc2UgaWYocm9hZFtvcmRlcl0ueSA9PSAwKXtcclxuICAgICAgICAgICAgICAgIGlmKG5leHRYID09IDApe1xyXG4gICAgICAgICAgICAgICAgICAgIGlmKG5leHRZID09IDEpbmFtZSA9IFwiZXJyXCI7XHJcbiAgICAgICAgICAgICAgICAgICAgZWxzZSBpZihuZXh0WSA9PSAtMSkgbmFtZSA9IFwiZG93blwiO1xyXG4gICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgZWxzZSBpZihuZXh0WCA9PSAxKSBuYW1lID0gXCJkb3duX3JpZ2h0XCI7XHJcbiAgICAgICAgICAgICAgICBlbHNlIGlmKG5leHRYID09IC0xKSBuYW1lID0gXCJkb3duX2xlZnRcIjtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAvL+WcqOW3pui+uVxyXG4gICAgICAgICAgICBlbHNlIGlmKHJvYWRbb3JkZXJdLnggPT0gMCl7XHJcbiAgICAgICAgICAgICAgICBpZihuZXh0WCA9PSAwKXtcclxuICAgICAgICAgICAgICAgICAgICBpZihuZXh0WSA9PSAxKW5hbWUgPSBcInJpZ2h0X3VwXCI7XHJcbiAgICAgICAgICAgICAgICAgICAgZWxzZSBpZihuZXh0WSA9PSAtMSkgbmFtZSA9IFwicmlnaHRfZG93blwiO1xyXG4gICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgZWxzZSBpZihuZXh0WCA9PSAxKSBuYW1lID0gXCJyaWdodFwiO1xyXG4gICAgICAgICAgICAgICAgZWxzZSBpZihuZXh0WCA9PSAtMSkgbmFtZSA9IFwiZXJyXCI7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgLy/lnKjlj7PovrlcclxuICAgICAgICAgICAgZWxzZSBpZihyb2FkW29yZGVyXS54ID09IHRoaXMubWFwX0FycmF5Lmxlbmd0aC0xKXtcclxuICAgICAgICAgICAgICAgIGlmKG5leHRYID09IDApe1xyXG4gICAgICAgICAgICAgICAgICAgIGlmKG5leHRZID09IDEpbmFtZSA9IFwibGVmdF91cFwiO1xyXG4gICAgICAgICAgICAgICAgICAgIGVsc2UgaWYobmV4dFkgPT0gLTEpIG5hbWUgPSBcImxlZnRfZG93blwiO1xyXG4gICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgZWxzZSBpZihuZXh0WCA9PSAxKSBuYW1lID0gXCJlcnJcIjtcclxuICAgICAgICAgICAgICAgIGVsc2UgaWYobmV4dFggPT0gLTEpIG5hbWUgPSBcImxlZnRcIjtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgICAgICAvL+S4jeaYr+esrOS4gOatpe+8jOW3sue7j+i1sOi/h+S4gOatpVxyXG4gICAgICAgIGVsc2UgaWYob3JkZXIgPiAwKXtcclxuICAgICAgICAgICAgdmFyIG5leHQgPSAxO1xyXG4gICAgICAgICAgICBpZihvcmRlcisyIDwgcm9hZC5sZW5ndGgpe1xyXG4gICAgICAgICAgICAgICAgaWYocm9hZFtvcmRlcisxXS56ID09IDYpIG5leHQgPSAyO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgIFxyXG4gICAgICAgICAgICAvL+eUqOS6juWIpOaWreatpOeCueeahOS4iuS4gOS4queCue+8jOaYr+S4uuS6huWIpOaWreW9k+WJjeaWueWdl+a0quawtOS4g+eCue+8jOS7peWPiuS4i+S4gOS4quenu+WKqOaWueWQke+8jOWIpOaWrea0que7iOeCueaWueWQkVxyXG4gICAgICAgICAgICBsZXQgbmV4dFggPSByb2FkW29yZGVyK25leHRdLnggLSByb2FkW29yZGVyXS54O1xyXG4gICAgICAgICAgICBsZXQgbmV4dFkgPSByb2FkW29yZGVyXS55IC0gcm9hZFtvcmRlcituZXh0XS55XHJcbiAgICAgICAgICAgIGxldCBwcmV2aW91c1ggPSByb2FkW29yZGVyXS54IC0gcm9hZFtvcmRlci0xXS54O1xyXG4gICAgICAgICAgICBsZXQgcHJldmlvdXNZID0gcm9hZFtvcmRlci0xXS55IC0gcm9hZFtvcmRlcl0ueTtcclxuICAgICAgICAgICAgaWYocHJldmlvdXNYID09IDAgJiYgcHJldmlvdXNZID09IDApe1xyXG4gICAgICAgICAgICAgICAgaWYob3JkZXIgPiAxKXtcclxuICAgICAgICAgICAgICAgICAgICBwcmV2aW91c1ggPSByb2FkW29yZGVyXS54IC0gcm9hZFtvcmRlci0yXS54O1xyXG4gICAgICAgICAgICAgICAgICAgIHByZXZpb3VzWSA9IHJvYWRbb3JkZXItMl0ueSAtIHJvYWRbb3JkZXJdLnk7XHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICBlbHNlIGlmKG9yZGVyICsgMSA8IHJvYWQubGVuZ3RoKXtcclxuICAgICAgICAgICAgICAgICAgICBwcmV2aW91c1ggPSByb2FkW29yZGVyKzFdLnggLSByb2FkW29yZGVyXS54O1xyXG4gICAgICAgICAgICAgICAgICAgIHByZXZpb3VzWSA9IHJvYWRbb3JkZXJdLnkgLSByb2FkW29yZGVyKzFdLnk7XHJcbiAgICAgICAgICAgICAgICAgICAgLy8gY29uc29sZS5sb2coXCLmga/lo6TvvIzkuIrkuIvlnZDmoIflt67ot51cIixwcmV2aW91c1gscHJldmlvdXNZKTtcclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICBpZihwcmV2aW91c1ggPT0gMCAmJiBwcmV2aW91c1kgPj0gMSl7XHJcbiAgICAgICAgICAgICAgICBpZihuZXh0WCA9PSAwKXtcclxuICAgICAgICAgICAgICAgICAgICBpZihuZXh0WSA9PSAxKW5hbWUgPSBcInVwXCI7XHJcbiAgICAgICAgICAgICAgICAgICAgZWxzZSBpZihuZXh0WSA9PSAtMSkgbmFtZSA9IFwiZXJyXCI7XHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICBlbHNlIGlmKG5leHRYID09IDEpIG5hbWUgPSBcInVwX3JpZ2h0XCI7XHJcbiAgICAgICAgICAgICAgICBlbHNlIGlmKG5leHRYID09IC0xKSBuYW1lID0gXCJ1cF9sZWZ0XCI7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgZWxzZSBpZihwcmV2aW91c1ggPT0gMCAmJiBwcmV2aW91c1kgPD0gLTEpe1xyXG4gICAgICAgICAgICAgICAgaWYobmV4dFggPT0gMCl7XHJcbiAgICAgICAgICAgICAgICAgICAgaWYobmV4dFkgPT0gMSluYW1lID0gXCJlcnJcIjtcclxuICAgICAgICAgICAgICAgICAgICBlbHNlIGlmKG5leHRZID09IC0xKSBuYW1lID0gXCJkb3duXCI7XHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICBlbHNlIGlmKG5leHRYID09IDEpIG5hbWUgPSBcImRvd25fcmlnaHRcIjtcclxuICAgICAgICAgICAgICAgIGVsc2UgaWYobmV4dFggPT0gLTEpIG5hbWUgPSBcImRvd25fbGVmdFwiO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIGVsc2UgaWYocHJldmlvdXNYID49IDEgJiYgcHJldmlvdXNZID09IDApe1xyXG4gICAgICAgICAgICAgICAgaWYobmV4dFggPT0gMCl7XHJcbiAgICAgICAgICAgICAgICAgICAgaWYobmV4dFkgPT0gMSluYW1lID0gXCJyaWdodF91cFwiO1xyXG4gICAgICAgICAgICAgICAgICAgIGVsc2UgaWYobmV4dFkgPT0gLTEpIG5hbWUgPSBcInJpZ2h0X2Rvd25cIjtcclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgIGVsc2UgaWYobmV4dFggPT0gMSkgbmFtZSA9IFwicmlnaHRcIjtcclxuICAgICAgICAgICAgICAgIGVsc2UgaWYobmV4dFggPT0gLTEpIG5hbWUgPSBcImVyclwiO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIGVsc2UgaWYocHJldmlvdXNYIDw9IC0xICYmIHByZXZpb3VzWSA9PSAwKXtcclxuICAgICAgICAgICAgICAgIGlmKG5leHRYID09IDApe1xyXG4gICAgICAgICAgICAgICAgICAgIGlmKG5leHRZID09IDEpbmFtZSA9IFwibGVmdF91cFwiO1xyXG4gICAgICAgICAgICAgICAgICAgIGVsc2UgaWYobmV4dFkgPT0gLTEpIG5hbWUgPSBcImxlZnRfZG93blwiO1xyXG4gICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgZWxzZSBpZihuZXh0WCA9PSAxKSBuYW1lID0gXCJlcnJcIjtcclxuICAgICAgICAgICAgICAgIGVsc2UgaWYobmV4dFggPT0gLTEpIG5hbWUgPSBcImxlZnRcIjtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuXHJcbiAgICAgICAgcmV0dXJuIG5hbWUgO1xyXG4gICAgfVxyXG5cclxuICAgIC8v5qC55o2u5piv5ZCm5YWo6Z2i5bGP77yM5YGa54us56uL6YCC6YWN5pa56Z2iXHJcbiAgICBmaXQoKXtcclxuICAgICAgICB2YXIgamcgPSB0aGlzLnNldEZpdCgpO1xyXG4gICAgICAgIGlmKCFqZyl7XHJcbiAgICAgICAgICAgIHRoaXMuTWFwLnNjYWxlID0gMS4yO1xyXG4gICAgICAgIH1lbHNle1xyXG4gICAgICAgICAgICB0aGlzLk1hcC5zY2FsZSA9IDE7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG4gICAgLy/liKTmlq3lhajpnaLlsY9cclxuICAgIGdldFNldFNjcmVlblJlc29sdXRpb25GbGFnICgpIHtcclxuICAgICAgICBsZXQgc2l6ZSA9IGNjLndpblNpemU7XHJcbiAgICAgICAgbGV0IHdpZHRoID0gc2l6ZS53aWR0aDtcclxuICAgICAgICBsZXQgaGVpZ2h0ID0gc2l6ZS5oZWlnaHQ7XHJcbiAgICAgICAgaWYgKChoZWlnaHQgLyB3aWR0aCkgPiAoMTYuMiAvIDkpKSByZXR1cm4gZmFsc2U7XHJcbiAgICAgICAgcmV0dXJuIHRydWU7XHJcbiAgICB9XHJcbiAgICAvL+WIpOaWreWFqOmdouWxj+mAgumFjVxyXG4gICAgc2V0Rml0ICgpIHtcclxuICAgICAgICBsZXQgZmxhZyA9IHRoaXMuZ2V0U2V0U2NyZWVuUmVzb2x1dGlvbkZsYWcoKTtcclxuICAgICAgICBpZiAoZmxhZykge1xyXG4gICAgICAgIH0gZWxzZSB7XHJcbiAgICAgICAgfVxyXG4gICAgICAgIHJldHVybiBmbGFnO1xyXG4gICAgfVxyXG4gICAgLy/ov5Tlm57pppbpobVcclxuICAgIGJhY2tTY2VuZSgpe1xyXG4gICAgICAgIGNjLmRpcmVjdG9yLmxvYWRTY2VuZShcIkxvYWRTY2VuZVwiKTtcclxuICAgIH1cclxuICAgIC8qKlxyXG4gICAgICog5byA5aeL5L+u562RXHJcbiAgICAgKiBAcGFyYW0gZGF0YSDorrDlvZXmk43kvZznmoTmlbDnu4RcclxuICAgICAqL1xyXG4gICAgc3RhcnRHYW1lKGRhdGEpe1xyXG4gICAgICAgIHRoaXMudW5zY2hlZHVsZSh0aGlzLnVwZGF0ZVdhdGVyVGltZSk7XHJcbiAgICAgICAgZm9yKGxldCBpPTA7IGk8dGhpcy5ibG9ja19BcnJheS5sZW5ndGg7aSsrKXtcclxuICAgICAgICAgICAgdGhpcy5ibG9ja19BcnJheVtpXS5nZXRDaGlsZEJ5TmFtZShcInRpcFdpblwiKS5hY3RpdmUgPSBmYWxzZTtcclxuICAgICAgICAgICAgdGhpcy5ibG9ja19BcnJheVtpXS5nZXRDaGlsZEJ5TmFtZShcInRpcExvc2VcIikuYWN0aXZlID0gZmFsc2U7XHJcbiAgICAgICAgfVxyXG4gICAgICAgIHRoaXMudW5zY2hlZHVsZSh0aGlzLnVwZGF0ZUNvdW50RG93blRpbWUpO1xyXG4gICAgICAgIHZhciBub3cgPSBjYy5meC5HYW1lVG9vbC5nZXRUaW1lKCk7XHJcbiAgICAgICAgdmFyIGZpbmlzaGkgPSBub3cgLSB0aGlzLmZpbmlzaGlUaW1lO1xyXG4gICAgICAgIHZhciB0b3RhbFRpbWUgPSBub3cgLSB0aGlzLnN0YXJ0VGltZTtcclxuICAgICAgICB0aGlzLnNjb3JlVGltZSA9IHRoaXMud2F0ZXJUaW1lO1xyXG4gICAgICAgIGlmKHRoaXMud2F0ZXJUaW1lIDw9IDAuNSkgZmluaXNoaSA9IC0xO1xyXG4gICAgICAgIC8vIGNvbnNvbGUubG9nKFwic3VibWl0VGltZTpcIixmaW5pc2hpLHRoaXMuZmluaXNoaVRpbWUpO1xyXG4gICAgICAgIGNjLmZ4LkdhbWVDb25maWcuQ0xJQ0tfU0VUKFwic3VibWl0VGltZVwiLGZpbmlzaGkpO1xyXG4gICAgICAgIGlmKGZpbmlzaGkgPT0gLTEpIFxyXG4gICAgICAgICAgICBjYy5meC5HYW1lQ29uZmlnLkNMSUNLX1NFVChcImR1cmF0aW9uXCIsY2MuZnguR2FtZUNvbmZpZy5USU1FX0lORk8ud2F0ZXJUaW1lW2NjLmZ4LkdhbWVDb25maWcuR01fSU5GTy5sZXZlbF0pO1xyXG4gICAgICAgIGVsc2UgXHJcbiAgICAgICAgICAgIGNjLmZ4LkdhbWVDb25maWcuQ0xJQ0tfU0VUKFwiZHVyYXRpb25cIix0b3RhbFRpbWUpO1xyXG4gICAgICAgICAgICBcclxuICAgICAgICBjYy5meC5HYW1lQ29uZmlnLkNMSUNLX1NFVChcInVzZWRTdGVwc1wiLGRhdGEubGVuZ3RoKTtcclxuICAgICAgICB0aGlzLnNldE1hcChkYXRhKTtcclxuICBcclxuICAgICAgICB2YXIgYXJyID0gdGhpcy5jaGFuZ2VTdGVwKGRhdGEpO1xyXG4gICAgICAgIGNjLmZ4LkdhbWVDb25maWcuQ0xJQ0tfU0VUKFwic3RlcExpc3RcIixhcnIpO1xyXG4gICAgfVxyXG5cclxuICAgIC8qKlxyXG4gICAgICog55So5LqO5Z+L54K56K6w5b2VIOi9rOWPmOaWueWQkeWQjeensOS4uuWfi+eCueaJgOmcgOimgeagvOW8j1xyXG4gICAgICogQHBhcmFtIGRhdGEg6K6w5b2V5pON5L2c55qE5pWw57uEXHJcbiAgICAgKi9cclxuICAgIGNoYW5nZVN0ZXAoZGF0YSl7XHJcbiAgICAgICAgdmFyIGFyciA9IFtdO1xyXG4gICAgICAgIGlmKGRhdGEubGVuZ3RoID4gMCl7XHJcbiAgICAgICAgICAgIGZvcihsZXQgaT0wOyBpPGRhdGEubGVuZ3RoOyBpKyspe1xyXG4gICAgICAgICAgICAgICAgaWYoZGF0YVtpXSA9PSBcInVwXCIpIGFycltpXSA9IFwiVVwiO1xyXG4gICAgICAgICAgICAgICAgZWxzZSBpZihkYXRhW2ldID09IFwiZG93blwiKSBhcnJbaV0gPSBcIkRcIjtcclxuICAgICAgICAgICAgICAgIGVsc2UgaWYoZGF0YVtpXSA9PSBcImxlZnRcIikgYXJyW2ldID0gXCJMXCI7XHJcbiAgICAgICAgICAgICAgICBlbHNlIGlmKGRhdGFbaV0gPT0gXCJyaWdodFwiKSBhcnJbaV0gPSBcIlJcIjtcclxuICAgICAgICAgICAgICAgIGVsc2UgaWYoZGF0YVtpXSA9PSBcInNvaWxcIikgYXJyW2ldID0gXCJYXCI7XHJcbiAgICAgICAgICAgICAgICBlbHNlIGlmKGRhdGFbaV0gPT0gXCJyZWluZm9yY2VcIikgYXJyW2ldID0gXCJGXCI7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICAgICAgcmV0dXJuIGFycjtcclxuICAgIH1cclxuICAgIC8v5rSq5bOw5YCS6K6h5pe277yM6K6h5pe25ZmoXHJcbiAgICB1cGRhdGVXYXRlclRpbWUoKXtcclxuICAgICAgICBpZiAodGhpcy53YXRlclRpbWUgPiAwKSB7XHJcbiAgICAgICAgICAgIHRoaXMud2F0ZXJUaW1lIC09IDE7XHJcbiAgICAgICAgICAgIHRoaXMuQ291bnRkb3duLnN0cmluZyA9ICBjYy5meC5HYW1lVG9vbC5nZXRUaW1lTWFyZ2luKHRoaXMud2F0ZXJUaW1lKTtcclxuICAgICAgICAgICAgaWYodGhpcy53YXRlclRpbWUgPD0gMCl7XHJcbiAgICAgICAgICAgICAgICB0aGlzLnVuc2NoZWR1bGUodGhpcy51cGRhdGVXYXRlclRpbWUpO1xyXG4gICAgICAgICAgICAgICAgaWYoIXRoaXMucGxhbl9vdmVyKXtcclxuICAgICAgICAgICAgICAgICAgICB0aGlzLndhdGVyVGltZSA9IDA7XHJcbiAgICAgICAgICAgICAgICAgICAgdGhpcy5wbGFuX292ZXIgPSB0cnVlO1xyXG4gICAgICAgICAgICAgICAgICAgIHNldFRpbWVvdXQoKCkgPT4ge1xyXG4gICAgICAgICAgICAgICAgICAgICAgICBpZih0aGlzLndhdGVyX0FycmF5Lmxlbmd0aCA9PSAwKXtcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNjLmZ4Lk5vdGlmaWNhdGlvbnMuZW1pdChjYy5meC5NZXNzYWdlLnNob3dSZXN1bHQsXCJsb3NlXCIpO1xyXG4gICAgICAgICAgICAgICAgICAgICAgICB9ICAgICAgICAgXHJcbiAgICAgICAgICAgICAgICAgICAgICAgIGVsc2V7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBjYy5meC5HYW1lQ29uZmlnLkdNX0lORk8ubWluX1RpbWUgPSB0aGlzLndhdGVyVGltZTtcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHRoaXMucnVuV2F0ZXIoMCk7IFxyXG4gICAgICAgICAgICAgICAgICAgICAgICB9ICAgXHJcbiAgICAgICAgICAgICAgICAgICAgfSwgNTAwKTtcclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgIH1cclxuXHJcbiAgICAvL+WmguaenOaYr+WAkuiuoeaXtiDosIPnlKjmraTmlrnms5VcclxuICAgIHVwZGF0ZUNvdW50RG93blRpbWUgKCkge1xyXG4gICAgICAgIGlmICh0aGlzLmNvdW50VGltZSA+IDApIHtcclxuICAgICAgICAgICAgdGhpcy5jb3VudFRpbWUgLT0gMTtcclxuICAgICAgICAgICAgY2MuZnguR2FtZUNvbmZpZy5USU1FX0lORk8udG90YWxUaW1lID0gdGhpcy5jb3VudFRpbWU7XHJcbiAgICAgICAgICAgIHRoaXMuVGltZS5zdHJpbmcgPSAgY2MuZnguR2FtZVRvb2wuZ2V0VGltZU1hcmdpbih0aGlzLmNvdW50VGltZSk7XHJcbiAgICAgICAgICAgIGlmKHRoaXMuY291bnRUaW1lIDwgNSl7XHJcbiAgICAgICAgICAgICAgICBsZXQgb3ZlciA9IHRoaXMubm9kZS5nZXRDaGlsZEJ5TmFtZShcIk92ZXJcIik7XHJcbiAgICAgICAgICAgICAgICBjYy50d2VlbihvdmVyKVxyXG4gICAgICAgICAgICAgICAgLnRvKDAuMix7b3BhY2l0eToyNTV9KVxyXG4gICAgICAgICAgICAgICAgLmRlbGF5KDAuMSlcclxuICAgICAgICAgICAgICAgIC50bygwLjIse29wYWNpdHk6MH0pXHJcbiAgICAgICAgICAgICAgICAuc3RhcnQoKTtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICBpZih0aGlzLmNvdW50VGltZSA8PSAwKXtcclxuICAgICAgICAgICAgICAgIHRoaXMuY291bnRUaW1lID0gMDtcclxuICAgICAgICAgICAgICAgIHRoaXMuc2V0RGF0YShcImxvc2VcIik7XHJcbiAgICAgICAgICAgICAgICB0aGlzLnVuc2NoZWR1bGUodGhpcy51cGRhdGVDb3VudERvd25UaW1lKTtcclxuICAgICAgICAgICAgICAgIHRoaXMuZ2FtZU92ZXIoKTsgICAgXHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICB9XHJcbiAgICAvL+S4iuS8oOavj+asoeaTjeS9nOaVsOaNriBzdWNjZXNz5Li65oiQ5Yqf6L+Y5piv5aSx6LSlXHJcbiAgICBzZXREYXRhKHN1Y2Nlc3Mpe1xyXG4gICAgICAgIC8v6K6+572u5Z+L54K55pWw5o2uXHJcbiAgICAgICAgY2MuZnguR2FtZUNvbmZpZy5DTElDS19TRVQoXCJtYXBJZFwiLGNjLmZ4LkdhbWVDb25maWcuTEVWRUxfSU5GT1tjYy5meC5HYW1lQ29uZmlnLkdNX0lORk8ubGV2ZWxdW3RoaXMuY3VzdG9tXS5pZCk7XHJcbiAgICAgICAgY2MuZnguR2FtZUNvbmZpZy5DTElDS19TRVQoXCJkaWZmaWN1bHR5XCIsY2MuZnguR2FtZUNvbmZpZy5HTV9JTkZPLmxldmVsKTtcclxuICAgICAgICBjYy5meC5HYW1lQ29uZmlnLkNMSUNLX1NFVChcIm9wdGltaXplZFN0ZXBzXCIsY2MuZnguR2FtZUNvbmZpZy5MRVZFTF9JTkZPW2NjLmZ4LkdhbWVDb25maWcuR01fSU5GTy5sZXZlbF1bdGhpcy5jdXN0b21dLm1pbl9zdGVwcyk7XHJcbiAgICAgICAgY2MuZnguR2FtZUNvbmZpZy5DTElDS19TRVQoXCJyb3VuZFwiLGNjLmZ4LkdhbWVDb25maWcuR01fSU5GTy5yb3VuZCk7XHJcbiAgICAgICAgY2MuZnguR2FtZUNvbmZpZy5DTElDS19TRVQoXCJ0aW1lclwiLGNjLmZ4LkdhbWVDb25maWcuVElNRV9JTkZPLnRvdGFsVGltZSk7XHJcbiAgICAgICAgY2MuZnguR2FtZUNvbmZpZy5DTElDS19TRVQoXCJjdW11bGF0aXZlU2NvcmVcIixjYy5meC5HYW1lQ29uZmlnLkdNX0lORk8uc2NvcmUpO1xyXG4gICAgICAgIHN1Y2Nlc3MgPSBzdWNjZXNzID09XCJsb3NlXCI/ZmFsc2U6dHJ1ZVxyXG4gICAgICAgIGlmKHN1Y2Nlc3MgIT0gbnVsbCl7XHJcbiAgICAgICAgICAgIGNjLmZ4LkdhbWVDb25maWcuQ0xJQ0tfU0VUKFwic3VjY2Vzc1wiLHN1Y2Nlc3MpO1xyXG4gICAgICAgICAgICBjYy5meC5HYW1lQ29uZmlnLkdNX0lORk8uZmVuID0gdGhpcy5nZXRTY29yZSgpO1xyXG4gICAgICAgICAgICBpZighc3VjY2VzcykgY2MuZnguR2FtZUNvbmZpZy5HTV9JTkZPLmZlbiA9IDA7XHJcbiAgICAgICAgICAgIGNjLmZ4LkdhbWVDb25maWcuQ0xJQ0tfU0VUKFwiZ2V0U2NvcmVcIixjYy5meC5HYW1lQ29uZmlnLkdNX0lORk8uZmVuKTtcclxuICAgICAgICAgICAgY2MuZnguR2FtZUNvbmZpZy5HTV9JTkZPLnNjb3JlICs9IGNjLmZ4LkdhbWVDb25maWcuR01fSU5GTy5mZW47XHJcbiAgICAgICAgICAgIHRoaXMubm9kZS5nZXRDaGlsZEJ5TmFtZShcIlRvcFwiKS5nZXRDaGlsZEJ5TmFtZShcImlkXCIpLmdldENvbXBvbmVudChjYy5MYWJlbCkuc3RyaW5nID0gXHJcbiAgICAgICAgICAgIGNjLmZ4LkdhbWVDb25maWcuR01fSU5GTy5zY29yZTtcclxuICAgICAgICAgICAgY2MuZnguR2FtZUNvbmZpZy5DTElDS19TRVQoXCJjdW11bGF0aXZlU2NvcmVcIixjYy5meC5HYW1lQ29uZmlnLkdNX0lORk8uc2NvcmUpO1xyXG4gICAgICAgICAgICBpZih0aGlzLmNvdW50VGltZSAhPSAwKWNjLmZ4LkdhbWVDb25maWcuR01fSU5GTy5zdWNjZXNzTGlzdC5wdXNoKHN1Y2Nlc3MpO1xyXG4gICAgICAgIH1cclxuICAgICAgICBjYy5meC5HYW1lVG9vbC5zZXRHYW1lRGF0YSgpO1xyXG4gICAgICAgIFxyXG4gICAgfVxyXG4gICAgLy/orqHnrpflvpfliIZcclxuICAgIGdldFNjb3JlKCl7XHJcbiAgICAgICAgLy/mnIDlsI/mraXmlbBcclxuICAgICAgICBsZXQgbWluID0gY2MuZnguR2FtZUNvbmZpZy5MRVZFTF9JTkZPW2NjLmZ4LkdhbWVDb25maWcuR01fSU5GTy5sZXZlbF1bdGhpcy5jdXN0b21dLm1pbl9zdGVwcztcclxuICAgICAgICAvL+WunumZheS9v+eUqOatpeaVsFxyXG4gICAgICAgIGxldCBub3cgPSB0aGlzLnBhdGhfQXJyYXkubGVuZ3RoLTE7XHJcbiAgICAgICAgaWYobm93IDw9MCkgbm93ID0gMDtcclxuICAgICAgICB2YXIgeCA9ICgyLjUqbWluIC0gbm93KSAvIG1pbjtcclxuICAgICAgICBsZXQgc2NvcmUgPSBNYXRoLnBvdyhtaW4seCkgKiogMC41O1xyXG4gICAgICAgIHNjb3JlID0gc2NvcmUgKiAodGhpcy5zY29yZVRpbWUgKyAxMCkqMTAwO1xyXG4gICAgICAgIHJldHVybiBNYXRoLmZsb29yKHNjb3JlKTtcclxuICAgIH1cclxuXHJcbiAgICAvL+S4iuS8oOaOkuihjOamnOaVsOaNrlxyXG4gICAgZ2FtZU92ZXIoKXtcclxuICAgICAgICB2YXIgcmF0ZSA9IDA7XHJcbiAgICAgICAgdmFyIHN1Y2Nlc3NMaXN0ID0gY2MuZnguR2FtZUNvbmZpZy5HTV9JTkZPLnN1Y2Nlc3NMaXN0O1xyXG4gICAgICAgIGlmKHN1Y2Nlc3NMaXN0Lmxlbmd0aCA+IDApe1xyXG4gICAgICAgICAgICB2YXIgc3VjY2VzcyA9IDA7XHJcbiAgICAgICAgICAgIGZvcihsZXQgaT0wOyBpPHN1Y2Nlc3NMaXN0Lmxlbmd0aDsgaSsrKXtcclxuICAgICAgICAgICAgICAgIGlmKHN1Y2Nlc3NMaXN0W2ldID09IHRydWUpIHN1Y2Nlc3MgKz0gMTtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICByYXRlID0gc3VjY2Vzcy9zdWNjZXNzTGlzdC5sZW5ndGg7XHJcbiAgICAgICAgfVxyXG4gICAgICAgIHJhdGUgPSBNYXRoLmZsb29yKHJhdGUgKiAxMDAwKS8xMDtcclxuICAgICAgICBsZXQgZGF0YSA9IHtcclxuICAgICAgICAgICAgc2NvcmU6IGNjLmZ4LkdhbWVDb25maWcuR01fSU5GTy5zY29yZSxcclxuICAgICAgICAgICAgcmF0ZTogcmF0ZVxyXG4gICAgICAgIH1cclxuICAgICAgICBjYy5meC5HYW1lVG9vbC5zZXRSYW5rKGRhdGEpO1xyXG4gICAgICAgIHRoaXMubm9kZS5nZXRDaGlsZEJ5TmFtZShcIkdhbWVPdmVyXCIpLmFjdGl2ZSA9IHRydWU7XHJcbiAgICAgICAgdGhpcy5ub2RlLmdldENoaWxkQnlOYW1lKFwiR2FtZU92ZXJcIikub3BhY2l0eSA9IDA7XHJcbiAgICAgICAgY2MudHdlZW4odGhpcy5ub2RlLmdldENoaWxkQnlOYW1lKFwiR2FtZU92ZXJcIikpXHJcbiAgICAgICAgLnRvKDAuNCx7b3BhY2l0eToyNTV9KVxyXG4gICAgICAgIC5kZWxheSgxKVxyXG4gICAgICAgIC50bygwLjQse29wYWNpdHk6NTB9KVxyXG4gICAgICAgIC5jYWxsKCgpID0+e1xyXG4gICAgICAgICAgICBjYy5kaXJlY3Rvci5sb2FkU2NlbmUoXCJPdmVyU2NlbmVcIik7XHJcbiAgICAgICAgfSlcclxuICAgICAgICAuc3RhcnQoKVxyXG4gICAgfVxyXG4gICAgLy/lsZXnpLrnu5PmnpwgZGF0YeS4uuaIkOWKn+aIluiAheWksei0pVxyXG4gICAgc2hvd1Jlc3VsdChkYXRhKXtcclxuICAgICAgICBpZih0aGlzLm5vZGUuZ2V0Q2hpbGRCeU5hbWUoXCJHYW1lT3ZlclwiKS5hY3RpdmUgPT0gZmFsc2UgJiYgdGhpcy5ub2RlLmdldENoaWxkQnlOYW1lKFwiV2luZG93XCIpLmFjdGl2ZSA9PSBmYWxzZSl7XHJcbiAgICAgICAgICAgIGNjLmZ4Lk5vdGlmaWNhdGlvbnMuZW1pdChjYy5meC5NZXNzYWdlLnNldERhdGEsZGF0YSk7XHJcbiAgICAgICAgICAgIGlmKGRhdGEgPT0gXCJsb3NlXCIpe1xyXG4gICAgICAgICAgICAgICAgY2MuZnguQXVkaW9NYW5hZ2VyLl9pbnN0YW5jZS5wbGF5RWZmZWN0KFwibG9zZVwiLG51bGwpO1xyXG4gICAgICAgICAgICAgICAgY2MuZnguR2FtZUNvbmZpZy5HTV9JTkZPLm1pbl9UaW1lID0gLTE7XHJcbiAgICAgICAgICAgIH0gXHJcbiAgICAgICAgICAgIGVsc2V7XHJcbiAgICAgICAgICAgICAgICBjYy5meC5BdWRpb01hbmFnZXIuX2luc3RhbmNlLnBsYXlFZmZlY3QoXCJ3aW5cIixudWxsKTtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICB0aGlzLm5vZGUuZ2V0Q2hpbGRCeU5hbWUoXCJXaW5kb3dcIikuYWN0aXZlID0gdHJ1ZTtcclxuICAgICAgICAgICAgdGhpcy5ub2RlLmdldENoaWxkQnlOYW1lKFwiV2luZG93XCIpLmdldENvbXBvbmVudChcIldpbmRvd1wiKS5pbml0KGRhdGEpO1xyXG4gICAgICAgIH1cclxuICAgIH1cclxuICAgIC8v6K6w5b2V5Y+N5bqU5pe26ZW/77yM5Lul5Y+K5YGa5q2l6aqk5o+Q56S6IGRhdGHkuLrmk43kvZzlkI3np7BcclxuICAgIGNsaWNrU3VuKGRhdGEpe1xyXG4gICAgICAgIC8v5aaC5p6c5rKh5pyJ6K6w5b2V6L+HIOWbnuWQiOW8gOWni+WIsOaTjeS9nOWPjeW6lOaXtumVv++8jOWImeesrOS4gOasoeiusOW9le+8jCDlkI7pnaLkuI3orrDlvZVcclxuXHJcbiAgICAgICAgaWYoY2MuZnguR2FtZUNvbmZpZy5DTElDS19EQVRBLnN0YXJ0VGltZSA9PSAtMSl7XHJcbiAgICAgICAgICAgIHRoaXMuZmluaXNoaVRpbWUgPSBjYy5meC5HYW1lVG9vbC5nZXRUaW1lKCk7XHJcbiAgICAgICAgICAgIHZhciBub3cgID0gdGhpcy5maW5pc2hpVGltZSAtIHRoaXMuc3RhcnRUaW1lO1xyXG4gICAgICAgICAgICAvLyBjb25zb2xlLmxvZyhcInN0YXJ0VGltZTpcIix0aGlzLmZpbmlzaGlUaW1lKTtcclxuICAgICAgICAgICAgY2MuZnguR2FtZUNvbmZpZy5DTElDS19TRVQoXCJzdGFydFRpbWVcIixub3cpO1xyXG4gICAgICAgIH1cclxuICAgICAgICBpZihjYy5meC5HYW1lQ29uZmlnLkdNX0lORk8ubGV2ZWwgPiAzKSByZXR1cm47XHJcbiAgICAgICAgLy/mraXpqqTmj5DnpLpcclxuICAgICAgICB2YXIgbm93UG9zID0gdGhpcy5wYXRoX0FycmF5WzBdO1xyXG4gICAgICAgIGlmKHRoaXMudGlwX0FycmF5Lmxlbmd0aCAhPSAwKXtcclxuICAgICAgICAgICAgaWYodGhpcy50aXBfQXJyYXlbdGhpcy50aXBfQXJyYXkubGVuZ3RoLTFdID09IG51bGwpe1xyXG4gICAgICAgICAgICAgICAgdGhpcy50aXBfQXJyYXkucHVzaChudWxsKTtcclxuICAgICAgICAgICAgICAgIHJldHVybjtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICBub3dQb3MgPSB0aGlzLnRpcF9BcnJheVt0aGlzLnRpcF9BcnJheS5sZW5ndGgtMV1bdGhpcy50aXBfQXJyYXlbdGhpcy50aXBfQXJyYXkubGVuZ3RoLTFdLmxlbmd0aC0xXTtcclxuICAgICAgICAgICAgaWYobm93UG9zKXtcclxuICAgICAgICAgICAgICAgIGxldCBuID0gbm93UG9zLngqdGhpcy5tYXBfQXJyYXlbMF0ubGVuZ3RoK25vd1Bvcy55O1xyXG4gICAgICAgICAgICAgICAgbGV0IHRhcmdldE5vZGUgPSB0aGlzLmJsb2NrX0FycmF5W25dO1xyXG4gICAgICAgICAgICAgICAgaWYodGFyZ2V0Tm9kZS5nZXRDaGlsZEJ5TmFtZShcInRpcExvc2VcIikuYWN0aXZlID09IHRydWUpe1xyXG4gICAgICAgICAgICAgICAgICAgIHRoaXMudGlwX0FycmF5LnB1c2gobnVsbCk7XHJcbiAgICAgICAgICAgICAgICAgICAgcmV0dXJuO1xyXG4gICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIGVsc2V7XHJcbiAgICAgICAgICAgICAgICByZXR1cm47XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9IFxyXG5cclxuICAgICAgICBpZihkYXRhID09IFwidXBcIil7XHJcbiAgICAgICAgICAgIGxldCBuID0gY2MudjIobm93UG9zLngsbm93UG9zLnktMSk7XHJcbiAgICAgICAgICAgIHRoaXMudGlwQ2FuKG4sZGF0YSk7XHJcbiAgICAgICAgfVxyXG4gICAgICAgIGVsc2UgaWYoZGF0YSA9PSBcImRvd25cIil7XHJcbiAgICAgICAgICAgIGxldCBuID0gY2MudjIobm93UG9zLngsbm93UG9zLnkrMSk7XHJcbiAgICAgICAgICAgIHRoaXMudGlwQ2FuKG4sZGF0YSk7XHJcbiAgICAgICAgfVxyXG4gICAgICAgIGVsc2UgaWYoZGF0YSA9PSBcImxlZnRcIil7XHJcbiAgICAgICAgICAgIGxldCBuID0gY2MudjIobm93UG9zLngtMSxub3dQb3MueSk7XHJcbiAgICAgICAgICAgIHRoaXMudGlwQ2FuKG4sZGF0YSk7XHJcbiAgICAgICAgfVxyXG4gICAgICAgIGVsc2UgaWYoZGF0YSA9PSBcInJpZ2h0XCIpe1xyXG4gICAgICAgICAgICBsZXQgbiA9IGNjLnYyKG5vd1Bvcy54KzEsbm93UG9zLnkpO1xyXG4gICAgICAgICAgICB0aGlzLnRpcENhbihuLGRhdGEpO1xyXG4gICAgICAgIH1cclxuICAgICAgICBlbHNlIGlmKGRhdGEgPT0gXCJyZWluZm9yY2VcIil7XHJcbiAgICAgICAgICAgIGxldCBuID0gY2MudjMobm93UG9zLngsbm93UG9zLnksMik7XHJcbiAgICAgICAgICAgIHRoaXMudGlwX0FycmF5LnB1c2goW25dKTtcclxuICAgICAgICB9XHJcbiAgICAgICAgZWxzZSBpZihkYXRhID09IFwic29pbFwiKXtcclxuICAgICAgICAgICAgbGV0IG4gPSBjYy52Myhub3dQb3MueCxub3dQb3MueSwzKTtcclxuICAgICAgICAgICAgdGhpcy50aXBfQXJyYXkucHVzaChbbl0pO1xyXG4gICAgICAgIH1cclxuICAgIFxyXG4gICAgfVxyXG4gICAgLy/mj5DnpLrmmK/lkKbplJnor68gIOWPquWJjeS4ieWFs+aciSAscG9z5Li65L2N572u77yMZGF0YeS4uuaTjeS9nOaWueWQkVxyXG4gICAgdGlwQ2FuKHBvcyxkYXRhKXtcclxuICAgIFxyXG4gICAgICAgIC8v5YWI5Yik5pat5piv5ZCm5Ye66L6555WMXHJcbiAgICAgICAgaWYocG9zLnggPDAgfHwgcG9zLnggPnRoaXMubWFwX0FycmF5Lmxlbmd0aC0xIHx8IHBvcy55IDwwIHx8IHBvcy55ID4gdGhpcy5tYXBfQXJyYXlbMF0ubGVuZ3RoLTEgKXtcclxuICAgICAgICAgICAgdGhpcy50aXBfQXJyYXkucHVzaChudWxsKTtcclxuICAgICAgICAgICAgcmV0dXJuO1xyXG4gICAgICAgIH0gICBcclxuICAgICAgICBsZXQgbiA9IHBvcy54KnRoaXMubWFwX0FycmF5WzBdLmxlbmd0aCtwb3MueTtcclxuICAgICAgICBsZXQgdGFyZ2V0ID0gdGhpcy5ibG9ja19BcnJheVtuXS5nZXRDb21wb25lbnQoXCJCbG9ja1wiKTtcclxuICAgICAgICB0YXJnZXQubm9kZS5nZXRDaGlsZEJ5TmFtZShcInRpcFdpblwiKS5hY3RpdmUgPSB0cnVlO1xyXG5cclxuICAgICAgICAvL+mHjeWkjei3r+WbnuWktOi3r++8jOaIluiAheWxseWzsFxyXG4gICAgICAgIGlmKHRhcmdldC5yZXBlYXRSb2FkKGZhbHNlLG51bGwpID09IHRydWUgfHwgdGFyZ2V0LmJsb2NrX1R5cGUgPT0gMyl7XHJcbiAgICAgICAgICAgIHRoaXMudGlwX0FycmF5LnB1c2goW2NjLnYzKHBvcy54LHBvcy55LDApXSk7XHJcbiAgICAgICAgICAgIHRhcmdldC5ub2RlLmdldENoaWxkQnlOYW1lKFwidGlwTG9zZVwiKS5hY3RpdmUgPSB0cnVlO1xyXG4gICAgICAgICAgICB0YXJnZXQubm9kZS5nZXRDaGlsZEJ5TmFtZShcInRpcFdpblwiKS5hY3RpdmUgPSBmYWxzZTtcclxuICAgICAgICB9XHJcbiAgICAgICAgLy/mub/lnLAg5LiK5LiA5q2l5aaC5p6c5rKh55So5oGv5aOk5oiW6ICF5Yqg5Zu6XHJcbiAgICAgICAgZWxzZSBpZih0YXJnZXQuYmxvY2tfVHlwZSA9PSAyKXtcclxuICAgICAgICAgICAgaWYodGhpcy50aXBfQXJyYXkubGVuZ3RoID4gMCl7XHJcbiAgICAgICAgICAgICAgICBpZih0aGlzLnRpcF9BcnJheVt0aGlzLnRpcF9BcnJheS5sZW5ndGgtMV1bMF0ueiA9PSAwKXtcclxuICAgICAgICAgICAgICAgICAgICB0YXJnZXQubm9kZS5nZXRDaGlsZEJ5TmFtZShcInRpcExvc2VcIikuYWN0aXZlID0gdHJ1ZTtcclxuICAgICAgICAgICAgICAgICAgICB0YXJnZXQubm9kZS5nZXRDaGlsZEJ5TmFtZShcInRpcFdpblwiKS5hY3RpdmUgPSBmYWxzZTtcclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgIGVsc2UgaWYodGhpcy50aXBfQXJyYXlbdGhpcy50aXBfQXJyYXkubGVuZ3RoLTFdWzBdLnogPT0gMil7XHJcbiAgICAgICAgICAgICAgICAgICAgdGFyZ2V0Lm5vZGUuZ2V0Q2hpbGRCeU5hbWUoXCJ0aXBMb3NlXCIpLmFjdGl2ZSA9IGZhbHNlO1xyXG4gICAgICAgICAgICAgICAgICAgIHRhcmdldC5ub2RlLmdldENoaWxkQnlOYW1lKFwidGlwV2luXCIpLmFjdGl2ZSA9IHRydWU7XHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgZWxzZXtcclxuICAgICAgICAgICAgICAgIHRhcmdldC5ub2RlLmdldENoaWxkQnlOYW1lKFwidGlwTG9zZVwiKS5hY3RpdmUgPSB0cnVlO1xyXG4gICAgICAgICAgICAgICAgdGFyZ2V0Lm5vZGUuZ2V0Q2hpbGRCeU5hbWUoXCJ0aXBXaW5cIikuYWN0aXZlID0gZmFsc2U7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcblxyXG4gICAgICAgIGlmKHRoaXMudGlwX0FycmF5Lmxlbmd0aCA+IDApe1xyXG4gICAgICAgICAgICBpZih0aGlzLnRpcF9BcnJheVt0aGlzLnRpcF9BcnJheS5sZW5ndGgtMV1bMF0ueiA9PSAzKXtcclxuICAgICAgICAgICAgICAgIGlmKGRhdGEgPT0gXCJ1cFwiKXtcclxuICAgICAgICAgICAgICAgICAgICB2YXIgYXJyID0gW107XHJcbiAgICAgICAgICAgICAgICAgICAgZm9yKGxldCBpPXBvcy55OyBpID49MDtpLS0pe1xyXG4gICAgICAgICAgICAgICAgICAgICAgICBsZXQgYmxvY2sgPSB0aGlzLmJsb2NrX0FycmF5W3Bvcy54KnRoaXMubWFwX0FycmF5WzBdLmxlbmd0aCtpXS5nZXRDb21wb25lbnQoXCJCbG9ja1wiKTtcclxuICAgICAgICAgICAgICAgICAgICAgICAgaWYoYmxvY2suYmxvY2tfVHlwZSA9PSAzKXtcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGkgPSAtMTAwMDA7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgICAgICAgICAgZWxzZXtcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGJsb2NrLm5vZGUuZ2V0Q2hpbGRCeU5hbWUoXCJ0aXBXaW5cIikuYWN0aXZlID0gdHJ1ZTtcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGFyci5wdXNoKGNjLnYzKHBvcy54LGksMCkpO1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgaWYoIGJsb2NrLmJsb2NrX1R5cGUgPT0gNCkgaSA9IC0xMDAwMDtcclxuICAgICAgICAgICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgICAgICB0aGlzLnRpcF9BcnJheS5wdXNoKGFycik7XHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICBlbHNlIGlmKGRhdGEgPT0gXCJkb3duXCIpe1xyXG4gICAgICAgICAgICAgICAgICAgIHZhciBhcnIgPSBbXTtcclxuICAgICAgICAgICAgICAgICAgICBmb3IobGV0IGk9cG9zLnk7IGk8dGhpcy5tYXBfQXJyYXlbMF0ubGVuZ3RoO2krKyl7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIGxldCBibG9jayA9IHRoaXMuYmxvY2tfQXJyYXlbcG9zLngqdGhpcy5tYXBfQXJyYXlbMF0ubGVuZ3RoK2ldLmdldENvbXBvbmVudChcIkJsb2NrXCIpO1xyXG4gICAgICAgICAgICAgICAgICAgICAgICBpZihibG9jay5ibG9ja19UeXBlID09IDMpe1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgaSA9IDEwMDAwO1xyXG4gICAgICAgICAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIGVsc2V7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBibG9jay5ub2RlLmdldENoaWxkQnlOYW1lKFwidGlwV2luXCIpLmFjdGl2ZSA9IHRydWU7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBhcnIucHVzaChjYy52Myhwb3MueCxpLDApKTtcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGlmKCBibG9jay5ibG9ja19UeXBlID09IDQpIGkgPSAxMDAwMDtcclxuICAgICAgICAgICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgICAgICB0aGlzLnRpcF9BcnJheS5wdXNoKGFycik7XHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICBlbHNlIGlmKGRhdGEgPT0gXCJyaWdodFwiKXtcclxuICAgICAgICAgICAgICAgICAgICB2YXIgYXJyID0gW107XHJcbiAgICAgICAgICAgICAgICAgICAgZm9yKGxldCBpPXBvcy54OyBpPHRoaXMubWFwX0FycmF5Lmxlbmd0aDtpKyspe1xyXG4gICAgICAgICAgICAgICAgICAgICAgICBsZXQgYmxvY2sgPSB0aGlzLmJsb2NrX0FycmF5W2kqdGhpcy5tYXBfQXJyYXlbMF0ubGVuZ3RoK3Bvcy55XS5nZXRDb21wb25lbnQoXCJCbG9ja1wiKTtcclxuICAgICAgICAgICAgICAgICAgICAgICAgaWYoYmxvY2suYmxvY2tfVHlwZSA9PSAzKXtcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGkgPSAxMDAwMDtcclxuICAgICAgICAgICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgICAgICAgICBlbHNle1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgYmxvY2subm9kZS5nZXRDaGlsZEJ5TmFtZShcInRpcFdpblwiKS5hY3RpdmUgPSB0cnVlO1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgYXJyLnB1c2goY2MudjMoaSxwb3MueSwwKSk7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBpZiggYmxvY2suYmxvY2tfVHlwZSA9PSA0KSBpID0gMTAwMDA7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICAgICAgdGhpcy50aXBfQXJyYXkucHVzaChhcnIpO1xyXG4gICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgZWxzZSBpZihkYXRhID09IFwibGVmdFwiKXtcclxuICAgICAgICAgICAgICAgICAgICB2YXIgYXJyID0gW107XHJcbiAgICAgICAgICAgICAgICAgICAgZm9yKGxldCBpPXBvcy54OyBpPj0wIDtpLS0pe1xyXG4gICAgICAgICAgICAgICAgICAgICAgICBsZXQgYmxvY2sgPSB0aGlzLmJsb2NrX0FycmF5W2kqdGhpcy5tYXBfQXJyYXlbMF0ubGVuZ3RoK3Bvcy55XS5nZXRDb21wb25lbnQoXCJCbG9ja1wiKTtcclxuICAgICAgICAgICAgICAgICAgICAgICAgaWYoYmxvY2suYmxvY2tfVHlwZSA9PSAzKXtcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGkgPSAtMTAwMDA7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgICAgICAgICAgZWxzZXtcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGJsb2NrLm5vZGUuZ2V0Q2hpbGRCeU5hbWUoXCJ0aXBXaW5cIikuYWN0aXZlID0gdHJ1ZTtcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGFyci5wdXNoKGNjLnYzKGkscG9zLnksMCkpO1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgaWYoIGJsb2NrLmJsb2NrX1R5cGUgPT0gNCkgaSA9IC0xMDAwMDtcclxuICAgICAgICAgICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgICAgICB0aGlzLnRpcF9BcnJheS5wdXNoKGFycik7XHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgZWxzZXtcclxuICAgICAgICAgICAgICAgIGxldCBwb3NKZyA9IGNjLnYzKHBvcy54LHBvcy55LDApO1xyXG4gICAgICAgICAgICAgICAgaWYoZGF0YSA9PSBcInJlaW5mb3JjZVwiKSBwb3MueiA9IDI7XHJcbiAgICAgICAgICAgICAgICBpZihkYXRhID09IFwic29pbFwiKSBwb3MueiA9IDM7IFxyXG4gICAgICAgICAgICAgICAgdGhpcy50aXBfQXJyYXkucHVzaChbcG9zSmddKTtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAvLyBjb25zb2xlLmxvZyh0aGlzLnRpcF9BcnJheSk7XHJcbiAgICAgICAgICAgIHJldHVybjtcclxuICAgICAgICB9XHJcblxyXG4gICAgICAgIGxldCBwb3NKZyA9IGNjLnYzKHBvcy54LHBvcy55LDApO1xyXG4gICAgICAgIGlmKGRhdGEgPT0gXCJyZWluZm9yY2VcIikgcG9zLnogPSAyO1xyXG4gICAgICAgIGlmKGRhdGEgPT0gXCJzb2lsXCIpIHBvcy56ID0gMzsgXHJcbiAgICAgICAgdGhpcy50aXBfQXJyYXkucHVzaChbcG9zSmddKTtcclxuICAgICAgICAvLyBjb25zb2xlLmxvZyh0aGlzLnRpcF9BcnJheSk7XHJcbiAgICB9XHJcblxyXG4gICAgLy/np7vpmaTmj5DnpLpcclxuICAgIHJlbW92ZVRpcChkYXRhKXtcclxuICAgICAgICBpZihjYy5meC5HYW1lQ29uZmlnLkdNX0lORk8ubGV2ZWwgPiAzKSByZXR1cm47XHJcbiAgICAgICAgLy/liIbkuLrmkqTlm57kuIDmraUg5ZKM5YWo6YOo5riF56m6XHJcbiAgICAgICAgaWYodGhpcy50aXBfQXJyYXkubGVuZ3RoID4gMCl7XHJcbiAgICAgICAgICAgIGlmKGRhdGEgPT0gXCJiYWNrXCIpe1xyXG4gICAgICAgICAgICAgICAgbGV0IHRhcmdldCA9IHRoaXMudGlwX0FycmF5W3RoaXMudGlwX0FycmF5Lmxlbmd0aC0xXTtcclxuICAgICAgICAgICAgICAgIGlmKHRhcmdldCA9PSBudWxsKXtcclxuICAgICAgICAgICAgICAgICAgICB0aGlzLnRpcF9BcnJheS5wb3AoKTtcclxuICAgICAgICAgICAgICAgIH0gXHJcbiAgICAgICAgICAgICAgICBlbHNle1xyXG4gICAgICAgICAgICAgICAgICAgIHRoaXMudGlwX0FycmF5LnBvcCgpO1xyXG4gICAgICAgICAgICAgICAgICAgIGZvcihsZXQgaT0wOyBpPHRhcmdldC5sZW5ndGg7aSsrKXtcclxuICAgICAgICAgICAgICAgICAgICAgICAgaWYodGFyZ2V0W2ldKXtcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGlmKCB0YXJnZXRbMF0ueiA9PSAwKXtcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBsZXQgbiA9IHRhcmdldFtpXS54KnRoaXMubWFwX0FycmF5WzBdLmxlbmd0aCt0YXJnZXRbaV0ueTtcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBsZXQgbm9kZSA9IHRoaXMuYmxvY2tfQXJyYXlbbl07XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbm9kZS5nZXRDaGlsZEJ5TmFtZShcInRpcFdpblwiKS5hY3RpdmUgPSBmYWxzZTtcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBub2RlLmdldENoaWxkQnlOYW1lKFwidGlwTG9zZVwiKS5hY3RpdmUgPSBmYWxzZTtcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIH1cclxuXHJcbiAgICAgICAgICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIH0gXHJcbiAgICAgICAgICAgIGVsc2UgaWYoZGF0YSA9PSBcInJlbW92ZVwiKXtcclxuICAgICAgICAgICAgICAgIGZvcihsZXQgaiA9MDsgajx0aGlzLnRpcF9BcnJheS5sZW5ndGg7IGorKyl7XHJcbiAgICAgICAgICAgICAgICAgICAgbGV0IHRhcmdldCA9IHRoaXMudGlwX0FycmF5W2pdO1xyXG4gICAgICAgICAgICAgICAgICAgIGlmKHRhcmdldCAhPSBudWxsKXtcclxuICAgICAgICAgICAgICAgICAgICAgICAgZm9yKGxldCBpPTA7IGk8dGFyZ2V0Lmxlbmd0aDtpKyspe1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgaWYodGFyZ2V0W2ldKXtcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBsZXQgbiA9IHRhcmdldFtpXS54KnRoaXMubWFwX0FycmF5WzBdLmxlbmd0aCt0YXJnZXRbaV0ueTtcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBsZXQgbm9kZSA9IHRoaXMuYmxvY2tfQXJyYXlbbl07XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbm9kZS5nZXRDaGlsZEJ5TmFtZShcInRpcFdpblwiKS5hY3RpdmUgPSBmYWxzZTtcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBub2RlLmdldENoaWxkQnlOYW1lKFwidGlwTG9zZVwiKS5hY3RpdmUgPSBmYWxzZTtcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgIHRoaXMudGlwX0FycmF5ID0gW107XHJcbiAgICAgICAgICAgIH0gXHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG5cclxuICAgIC8v6I635Y+W5byV5a+85ZCN5a2XXHJcbiAgICBnZXRHdWlkZU5hbWUoKXtcclxuICAgICAgICB2YXIgbmFtZSA9IFwib25lXCI7XHJcbiAgICAgICAgc3dpdGNoKHRoaXMuc3RlcCl7XHJcbiAgICAgICAgICAgIGNhc2UgMTpcclxuICAgICAgICAgICAgICAgIG5hbWUgPSBcIm9uZVwiO1xyXG4gICAgICAgICAgICAgICAgdGhpcy5idG5DbGljayA9IGZhbHNlO1xyXG4gICAgICAgICAgICAgICAgdGhpcy5iZ0NsaWNrID0gdHJ1ZTtcclxuICAgICAgICAgICAgICAgIGJyZWFrO1xyXG4gICAgICAgICAgICBjYXNlIDI6XHJcbiAgICAgICAgICAgICAgICBuYW1lID0gXCJ0d29cIjtcclxuICAgICAgICAgICAgICAgIHRoaXMuYnRuQ2xpY2sgPSBmYWxzZTtcclxuICAgICAgICAgICAgICAgIHRoaXMuYmdDbGljayA9IHRydWU7XHJcbiAgICAgICAgICAgICAgICBicmVhaztcclxuICAgICAgICAgICAgY2FzZSAzOlxyXG4gICAgICAgICAgICAgICAgbmFtZSA9IFwidGhyZWVcIjtcclxuICAgICAgICAgICAgICAgIHRoaXMuYnRuQ2xpY2sgPSBmYWxzZTtcclxuICAgICAgICAgICAgICAgIHRoaXMuYmdDbGljayA9IHRydWU7XHJcbiAgICAgICAgICAgICAgICBicmVhaztcclxuICAgICAgICAgICAgY2FzZSA0OlxyXG4gICAgICAgICAgICAgICAgbmFtZSA9IFwiZm91clwiO1xyXG4gICAgICAgICAgICAgICAgdGhpcy5idG5DbGljayA9IGZhbHNlO1xyXG4gICAgICAgICAgICAgICAgdGhpcy5iZ0NsaWNrID0gdHJ1ZTtcclxuICAgICAgICAgICAgICAgIGJyZWFrO1xyXG4gICAgICAgICAgICBjYXNlIDU6XHJcbiAgICAgICAgICAgICAgICBuYW1lID0gXCJmaXZlXCI7XHJcbiAgICAgICAgICAgICAgICB0aGlzLmJ0bkNsaWNrID0gdHJ1ZTtcclxuICAgICAgICAgICAgICAgIHRoaXMuYmdDbGljayA9IGZhbHNlO1xyXG4gICAgICAgICAgICAgICAgYnJlYWs7XHJcbiAgICAgICAgICAgIGNhc2UgNjpcclxuICAgICAgICAgICAgICAgIG5hbWUgPSBcInNpeFwiO1xyXG4gICAgICAgICAgICAgICAgdGhpcy5idG5DbGljayA9IHRydWU7XHJcbiAgICAgICAgICAgICAgICB0aGlzLmJnQ2xpY2sgPSBmYWxzZTtcclxuICAgICAgICAgICAgICAgIGJyZWFrO1xyXG4gICAgICAgICAgICBjYXNlIDc6XHJcbiAgICAgICAgICAgICAgICBuYW1lID0gXCJzZXZlblwiO1xyXG4gICAgICAgICAgICAgICAgdGhpcy5idG5DbGljayA9IGZhbHNlO1xyXG4gICAgICAgICAgICAgICAgdGhpcy5iZ0NsaWNrID0gdHJ1ZTtcclxuICAgICAgICAgICAgICAgIGJyZWFrO1xyXG4gICAgICAgICAgICBjYXNlIDg6XHJcbiAgICAgICAgICAgICAgICBuYW1lID0gXCJlaWdodFwiO1xyXG4gICAgICAgICAgICAgICAgdGhpcy5idG5DbGljayA9IGZhbHNlO1xyXG4gICAgICAgICAgICAgICAgdGhpcy5iZ0NsaWNrID0gdHJ1ZTtcclxuICAgICAgICAgICAgICAgIGJyZWFrO1xyXG4gICAgICAgICAgICBjYXNlIDk6XHJcbiAgICAgICAgICAgICAgICBuYW1lID0gXCJuaW5lXCI7XHJcbiAgICAgICAgICAgICAgICB0aGlzLmJ0bkNsaWNrID0gZmFsc2U7XHJcbiAgICAgICAgICAgICAgICB0aGlzLmJnQ2xpY2sgPSB0cnVlO1xyXG4gICAgICAgICAgICAgICAgYnJlYWs7XHJcbiAgICAgICAgICAgIGNhc2UgMTA6XHJcbiAgICAgICAgICAgICAgICBuYW1lID0gXCJ0ZW5cIjtcclxuICAgICAgICAgICAgICAgIHRoaXMuYnRuQ2xpY2sgPSB0cnVlO1xyXG4gICAgICAgICAgICAgICAgdGhpcy5iZ0NsaWNrID0gZmFsc2U7XHJcbiAgICAgICAgICAgICAgICBicmVhaztcclxuICAgICAgICAgICAgY2FzZSAxMTpcclxuICAgICAgICAgICAgICAgIG5hbWUgPSBcImVsZXZlblwiO1xyXG4gICAgICAgICAgICAgICAgdGhpcy5idG5DbGljayA9IGZhbHNlO1xyXG4gICAgICAgICAgICAgICAgdGhpcy5iZ0NsaWNrID0gdHJ1ZTtcclxuICAgICAgICAgICAgICAgIGJyZWFrO1xyXG4gICAgICAgICAgICBjYXNlIDEyOlxyXG4gICAgICAgICAgICAgICAgbmFtZSA9IFwidHdlbHZlXCI7XHJcbiAgICAgICAgICAgICAgICB0aGlzLmJ0bkNsaWNrID0gdHJ1ZTtcclxuICAgICAgICAgICAgICAgIHRoaXMuYmdDbGljayA9IGZhbHNlO1xyXG4gICAgICAgICAgICAgICAgYnJlYWs7XHJcbiAgICAgICAgICAgIGNhc2UgMTM6XHJcbiAgICAgICAgICAgICAgICBuYW1lID0gXCJ0aGlydGVlblwiO1xyXG4gICAgICAgICAgICAgICAgdGhpcy5idG5DbGljayA9IHRydWU7XHJcbiAgICAgICAgICAgICAgICB0aGlzLmJnQ2xpY2sgPSBmYWxzZTtcclxuICAgICAgICAgICAgICAgIGJyZWFrO1xyXG4gICAgICAgICAgICBjYXNlIDE0OlxyXG4gICAgICAgICAgICAgICAgbmFtZSA9IFwiZm91cnRlZW5cIjtcclxuICAgICAgICAgICAgICAgIHRoaXMuYnRuQ2xpY2sgPSB0cnVlO1xyXG4gICAgICAgICAgICAgICAgdGhpcy5iZ0NsaWNrID0gZmFsc2U7XHJcbiAgICAgICAgICAgICAgICBicmVhaztcclxuICAgICAgICAgICAgY2FzZSAxNTpcclxuICAgICAgICAgICAgICAgIG5hbWUgPSBcImZpdmV0ZWVuXCI7XHJcbiAgICAgICAgICAgICAgICB0aGlzLmJ0bkNsaWNrID0gdHJ1ZTtcclxuICAgICAgICAgICAgICAgIHRoaXMuYmdDbGljayA9IGZhbHNlO1xyXG4gICAgICAgICAgICAgICAgYnJlYWs7XHJcbiAgICAgICAgICAgIGNhc2UgMTY6XHJcbiAgICAgICAgICAgICAgICBuYW1lID0gXCJzaXh0ZWVuXCI7XHJcbiAgICAgICAgICAgICAgICB0aGlzLmJ0bkNsaWNrID0gdHJ1ZTtcclxuICAgICAgICAgICAgICAgIHRoaXMuYmdDbGljayA9IGZhbHNlO1xyXG4gICAgICAgICAgICAgICAgYnJlYWs7XHJcbiAgICAgICAgICAgIGNhc2UgMTc6XHJcbiAgICAgICAgICAgICAgICBuYW1lID0gXCJsYXN0XCI7XHJcbiAgICAgICAgICAgICAgICB0aGlzLmJ0bkNsaWNrID0gdHJ1ZTtcclxuICAgICAgICAgICAgICAgIHRoaXMuYmdDbGljayA9IGZhbHNlO1xyXG4gICAgICAgICAgICAgICAgYnJlYWs7XHJcbiAgICAgICAgfVxyXG5cclxuICAgICAgICByZXR1cm4gbmFtZTtcclxuICAgIH1cclxuICAgIC8v5byV5a+85LiL5LiA5q2lXHJcbiAgICBndWlkZU5leHQoKXtcclxuICAgICAgICAvL+avj+asoeWFiOaKiuaJgOacieeahFxyXG4gICAgICAgIGNvbnNvbGUubG9nKHRoaXMuc3RlcCx0aGlzLkd1aWRlLmNoaWxkcmVuLmxlbmd0aCk7XHJcbiAgICAgICAgaWYodGhpcy5zdGVwICsgMSAgPT0gIHRoaXMuR3VpZGUuY2hpbGRyZW4ubGVuZ3RoKXtcclxuICAgICAgICAgICAgY2MuZnguR2FtZUNvbmZpZy5HTV9JTkZPLmd1aWRlID0gZmFsc2U7XHJcbiAgICAgICAgICAgIC8vIGNjLmRpcmVjdG9yLmxvYWRTY2VuZShcIkdhbWVTY2VuZVwiKTtcclxuICAgICAgICAgICAgbGV0IG5hbWUgPSBjYy5meC5HYW1lQ29uZmlnLkdNX0lORk8uZ2FtZUlkICsgXCJfZ3VpZGVcIjtcclxuICAgICAgICAgICAgY2MuZnguU3RvcmFnZU1lc3NhZ2Uuc2V0U3RvcmFnZShuYW1lLGNjLmZ4LkdhbWVDb25maWcuR01fSU5GTy5ndWlkZSk7XHJcbiAgICAgICAgfVxyXG4gICAgICAgIGlmKHRoaXMuc3RlcCA+IDApIHRoaXMuR3VpZGUuY2hpbGRyZW5bdGhpcy5zdGVwLTFdLmFjdGl2ZSA9IGZhbHNlO1xyXG4gICAgICAgIHRoaXMuc3RlcCArPSAxO1xyXG4gICAgICAgIGxldCBuYW1lID0gdGhpcy5nZXRHdWlkZU5hbWUoKTtcclxuICAgXHJcbiAgICAgICAgdmFyIHRhcmdldCA9IHRoaXMuR3VpZGUuZ2V0Q2hpbGRCeU5hbWUobmFtZSk7XHJcbiAgICAgICAgdGFyZ2V0LmFjdGl2ZSA9IHRydWU7XHJcbiAgICAgICAgbGV0IHNpemUgPSBjYy53aW5TaXplO1xyXG5cclxuICAgICAgICBpZihzaXplLmhlaWdodCA+IDEzMzQpe1xyXG4gICAgICAgICAgICBsZXQgaGVpZ2h0ID0gKHNpemUuaGVpZ2h0IC0gMTMzNCkvMjtcclxuICAgICAgICAgICAgdGFyZ2V0LmdldENoaWxkQnlOYW1lKFwic3BcIikuaGVpZ2h0ICs9IGhlaWdodDtcclxuICAgICAgICB9XHJcbiAgICB9XHJcblxyXG4gICAgb25FbmFibGUgKCkge1xyXG4gICAgICAgIGNjLmZ4Lk5vdGlmaWNhdGlvbnMub24oY2MuZnguTWVzc2FnZS5jb250cm9sLCB0aGlzLmNsaWNrU3VuLCB0aGlzKTtcclxuICAgICAgICBjYy5meC5Ob3RpZmljYXRpb25zLm9uKGNjLmZ4Lk1lc3NhZ2UubmV4dCwgdGhpcy5ydW5Sb2FkLCB0aGlzKTtcclxuICAgICAgICBjYy5meC5Ob3RpZmljYXRpb25zLm9uKGNjLmZ4Lk1lc3NhZ2UubmV4dFdhdGVyLCB0aGlzLnJ1bldhdGVyLCB0aGlzKTtcclxuICAgICAgICBjYy5meC5Ob3RpZmljYXRpb25zLm9uKGNjLmZ4Lk1lc3NhZ2Uuc3RhcnRHYW1lLCB0aGlzLnN0YXJ0R2FtZSwgdGhpcyk7XHJcbiAgICAgICAgY2MuZnguTm90aWZpY2F0aW9ucy5vbihjYy5meC5NZXNzYWdlLmNoYW5nZVBhdGgsIHRoaXMuY2hhbmdlUGF0aCwgdGhpcyk7XHJcbiAgICAgICAgY2MuZnguTm90aWZpY2F0aW9ucy5vbihjYy5meC5NZXNzYWdlLnNldERhdGEsIHRoaXMuc2V0RGF0YSwgdGhpcyk7XHJcbiAgICAgICAgY2MuZnguTm90aWZpY2F0aW9ucy5vbihjYy5meC5NZXNzYWdlLmd1aWRlTmV4dCwgdGhpcy5ndWlkZU5leHQsIHRoaXMpO1xyXG4gICAgICAgIGNjLmZ4Lk5vdGlmaWNhdGlvbnMub24oY2MuZnguTWVzc2FnZS5zaG93UmVzdWx0LCB0aGlzLnNob3dSZXN1bHQsIHRoaXMpO1xyXG4gICAgICAgIGNjLmZ4Lk5vdGlmaWNhdGlvbnMub24oY2MuZnguTWVzc2FnZS5yZW1vdmVUaXAsIHRoaXMucmVtb3ZlVGlwLCB0aGlzKTtcclxuICAgIH1cclxuICAgIG9uRGlzYWJsZSAoKSB7XHJcbiAgICAgICAgY2MuZnguTm90aWZpY2F0aW9ucy5vZmYoY2MuZnguTWVzc2FnZS5jb250cm9sLCB0aGlzLmNsaWNrU3VuKTtcclxuICAgICAgICBjYy5meC5Ob3RpZmljYXRpb25zLm9mZihjYy5meC5NZXNzYWdlLm5leHQsIHRoaXMucnVuUm9hZCk7XHJcbiAgICAgICAgY2MuZnguTm90aWZpY2F0aW9ucy5vZmYoY2MuZnguTWVzc2FnZS5uZXh0V2F0ZXIsIHRoaXMucnVuV2F0ZXIpO1xyXG4gICAgICAgIGNjLmZ4Lk5vdGlmaWNhdGlvbnMub2ZmKGNjLmZ4Lk1lc3NhZ2Uuc3RhcnRHYW1lLCB0aGlzLnN0YXJ0R2FtZSk7XHJcbiAgICAgICAgY2MuZnguTm90aWZpY2F0aW9ucy5vZmYoY2MuZnguTWVzc2FnZS5jaGFuZ2VQYXRoLCB0aGlzLmNoYW5nZVBhdGgpO1xyXG4gICAgICAgIGNjLmZ4Lk5vdGlmaWNhdGlvbnMub2ZmKGNjLmZ4Lk1lc3NhZ2Uuc2V0RGF0YSwgdGhpcy5zZXREYXRhKTtcclxuICAgICAgICBjYy5meC5Ob3RpZmljYXRpb25zLm9mZihjYy5meC5NZXNzYWdlLmd1aWRlTmV4dCwgdGhpcy5ndWlkZU5leHQpO1xyXG4gICAgICAgIGNjLmZ4Lk5vdGlmaWNhdGlvbnMub2ZmKGNjLmZ4Lk1lc3NhZ2Uuc2hvd1Jlc3VsdCwgdGhpcy5zaG93UmVzdWx0KTtcclxuICAgICAgICBjYy5meC5Ob3RpZmljYXRpb25zLm9mZihjYy5meC5NZXNzYWdlLnJlbW92ZVRpcCwgdGhpcy5yZW1vdmVUaXApO1xyXG4gICAgfVxyXG4gICAgdXBkYXRlIChkdCkge1xyXG5cclxuICAgXHJcbiAgICB9XHJcbn1cclxuIl19 +//------QC-SOURCE-SPLIT------ + + (function() { + var nodeEnv = typeof require !== 'undefined' && typeof process !== 'undefined'; + var __module = nodeEnv ? module : {exports:{}}; + var __filename = 'preview-scripts/assets/Script/Block.js'; + var __require = nodeEnv ? function (request) { + return cc.require(request); + } : function (request) { + return __quick_compile_project__.require(request, __filename); + }; + function __define (exports, require, module) { + if (!nodeEnv) {__quick_compile_project__.registerModule(__filename, module);}"use strict"; +cc._RF.push(module, 'c58deN2u1NGZL8nJwvnu1PR', 'Block'); +// Script/Block.ts + +"use strict"; +// Learn TypeScript: +// - https://docs.cocos.com/creator/manual/en/scripting/typescript.html +// Learn Attribute: +// - https://docs.cocos.com/creator/manual/en/scripting/reference/attributes.html +// Learn life-cycle callbacks: +// - https://docs.cocos.com/creator/manual/en/scripting/life-cycle-callbacks.html +var __extends = (this && this.__extends) || (function () { + var extendStatics = function (d, b) { + extendStatics = Object.setPrototypeOf || + ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) || + function (d, b) { for (var p in b) if (Object.prototype.hasOwnProperty.call(b, p)) d[p] = b[p]; }; + return extendStatics(d, b); + }; + return function (d, b) { + extendStatics(d, b); + function __() { this.constructor = d; } + d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __()); + }; +})(); +var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) { + var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d; + if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc); + else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r; + return c > 3 && r && Object.defineProperty(target, key, r), r; +}; +Object.defineProperty(exports, "__esModule", { value: true }); +exports.PathType = exports.BlockType = void 0; +var _a = cc._decorator, ccclass = _a.ccclass, property = _a.property; +var BlockType; +(function (BlockType) { + /*普通地块 */ + BlockType[BlockType["Nomal"] = 0] = "Nomal"; + /*起点地块 */ + BlockType[BlockType["Start"] = 1] = "Start"; + /*湿地 */ + BlockType[BlockType["Nunja"] = 2] = "Nunja"; + /*山峰 */ + BlockType[BlockType["Peak"] = 3] = "Peak"; + /*终点地块 */ + BlockType[BlockType["End"] = 4] = "End"; + /*息壤 */ + BlockType[BlockType["Xi_Soil"] = 5] = "Xi_Soil"; + /*加固 */ + BlockType[BlockType["Reinforce"] = 6] = "Reinforce"; +})(BlockType = exports.BlockType || (exports.BlockType = {})); +var PathType; +(function (PathType) { + PathType["err"] = "err"; + PathType["up"] = "up"; + PathType["down"] = "down"; + PathType["left"] = "left"; + PathType["right"] = "right"; + PathType["up_left"] = "up_left"; + PathType["up_right"] = "up_right"; + PathType["down_left"] = "down_left"; + PathType["down_right"] = "down_right"; + PathType["left_up"] = "left_up"; + PathType["left_down"] = "left_down"; + PathType["right_up"] = "right_up"; + PathType["right_down"] = "right_down"; +})(PathType = exports.PathType || (exports.PathType = {})); +var NewClass = /** @class */ (function (_super) { + __extends(NewClass, _super); + function NewClass() { + var _this = _super !== null && _super.apply(this, arguments) || this; + // LIFE-CYCLE CALLBACKS: + _this.UI = null; + return _this; + // update (dt) {} + } + NewClass.prototype.onLoad = function () { + this.finishi = false; + this.pos_Shifting = 0; + this.pos = cc.v2(0, 0); + }; + NewClass.prototype.start = function () { + }; + /** + * 息壤过后改变修筑路径 + * @param order 建筑地图数组里的执行的序列号 + * @param number 息壤执行长度,改变息壤用后其他路径的X或Y值 + * @param direction 只为两个方向,横向false,纵向true + * @param road 建筑地图数组或者洪峰路径数组,可理解为路径数组,path_Array water_Array + */ + //初始化地图块数据 + NewClass.prototype.initData = function (type, pos, max) { + this.block_Type = type; + this.pos = cc.v2(pos.x, pos.y); + // if(this.pos.y%2 == 0) this.node.getChildByName("tip").active = true; + if (type == cc.Enum(BlockType).Start) { + var bg = this.node.getChildByName("sp"); + // this.node.getComponent(cc.Sprite).spriteFrame = null; + // bg.getComponent(cc.Sprite).spriteFrame = this.UI["_spriteFrames"]["start"]; + if (cc.fx.GameConfig.GM_INFO.level > 3) { + // bg.getChildByName("start").y = 20; + bg.getChildByName("end").y = 20; + } + this.rotateTarget(bg, "start", pos, max); + } + else if (type == cc.Enum(BlockType).End) { + var bg = this.node.getChildByName("sp"); + // this.node.getComponent(cc.Sprite).spriteFrame = null; + bg.getComponent(cc.Sprite).spriteFrame = this.UI["_spriteFrames"]["end"]; + if (cc.fx.GameConfig.GM_INFO.level > 3) { + // bg.getChildByName("start").y = 20; + bg.getChildByName("end").y = 20; + } + this.rotateTarget(bg, "end", pos, max); + } + else if (type == cc.Enum(BlockType).Nunja) { + var random = Math.floor(Math.random() * 4); + var rotationArr = [0, 90, 180, 270]; + var rotation = rotationArr[random]; + this.node.getChildByName("bg").getComponent(cc.Sprite).spriteFrame = this.UI["_spriteFrames"]["e5"]; + this.node.getChildByName("bg").angle = -rotation; + this.node.getComponent(cc.Sprite).spriteFrame = null; + } + else if (type == cc.Enum(BlockType).Peak) { + var random = Math.floor(Math.random() * 4 + 1); + var name = "shan" + random; + this.node.getChildByName("bg").getComponent(cc.Sprite).spriteFrame = this.UI["_spriteFrames"][name]; + this.node.getComponent(cc.Sprite).spriteFrame = null; + } + if (cc.fx.GameConfig.GM_INFO.level == 1) { + this.node.getChildByName("tipWin").opacity = 220; + this.node.getChildByName("tipLose").opacity = 220; + } + else if (cc.fx.GameConfig.GM_INFO.level == 2) { + this.node.getChildByName("tipWin").opacity = 100; + this.node.getChildByName("tipLose").opacity = 100; + } + else if (cc.fx.GameConfig.GM_INFO.level == 3) { + this.node.getChildByName("tipWin").opacity = 50; + this.node.getChildByName("tipLose").opacity = 50; + } + else if (cc.fx.GameConfig.GM_INFO.level > 3) { + this.node.getChildByName("tipWin").opacity = 0; + this.node.getChildByName("tipLose").opacity = 0; + } + }; + //旋转入海口和出海口的 图片以及文字角度 + NewClass.prototype.rotateTarget = function (bg, name, pos, max) { + var target = bg.getChildByName(name); + if (pos.y == max.y - 1) { + bg.angle = 0; + if (name == "end") + target.getComponent(cc.Sprite).spriteFrame = this.UI["_spriteFrames"]["end_x"]; + target.active = true; + target.angle = 0; + return; + } + else if (pos.y == 0) { + bg.angle = -180; + if (name == "end") + target.getComponent(cc.Sprite).spriteFrame = this.UI["_spriteFrames"]["end_x"]; + target.active = true; + target.angle = -180; + return; + } + else if (pos.x == max.x - 1) { + bg.angle = 90; + if (name == "start") + target.getComponent(cc.Sprite).spriteFrame = this.UI["_spriteFrames"]["start_y"]; + else + target.getComponent(cc.Sprite).spriteFrame = this.UI["_spriteFrames"]["end_y"]; + target.active = true; + target.angle = -90; + } + else if (pos.x == 0) { + bg.angle = -90; + if (name == "start") + target.getComponent(cc.Sprite).spriteFrame = this.UI["_spriteFrames"]["start_y"]; + else + target.getComponent(cc.Sprite).spriteFrame = this.UI["_spriteFrames"]["end_y"]; + target.active = true; + target.angle = 90; + } + }; + NewClass.prototype.setPath = function (type) { + this.path_Type = type; + }; + //设置息壤在起点 + NewClass.prototype.set_Xi_Soil = function (direction, type) { + var sp = this.node.getChildByName("sp"); + var turn = this.node.getChildByName("turnStart"); + var water = this.node.getChildByName("waterStart"); + if (direction == "left" || direction == "right") { + if (sp.angle == 0) { + turn.active = true; + water.active = true; + water.opacity = 0; + if (type) { + turn.angle = direction == "left" ? 90 : 0; + water.angle = direction == "left" ? 90 : 0; + } + else { + turn.angle = direction == "left" ? 0 : 90; + water.angle = direction == "left" ? 0 : 90; + } + } + else if (sp.angle == -180) { + turn.active = true; + water.active = true; + water.opacity = 0; + if (type) { + turn.angle = direction == "left" ? -180 : -90; + water.angle = direction == "left" ? -180 : -90; + } + else { + turn.angle = direction == "left" ? 270 : -180; + water.angle = direction == "left" ? 270 : -180; + } + } + else if (sp.angle == -90) { + turn.active = true; + turn.getComponent(cc.Sprite).spriteFrame = this.UI["_spriteFrames"]["a1"]; + turn.angle = 90; + if (type) { + water.active = true; + water.angle = 90; + water.getComponent(cc.Sprite).spriteFrame = this.UI["_spriteFrames"]["block1"]; + water.opacity = 0; + } + } + else if (sp.angle == 90) { + turn.active = true; + turn.getComponent(cc.Sprite).spriteFrame = this.UI["_spriteFrames"]["a1"]; + turn.angle = 90; + if (type) { + water.active = true; + water.angle = 90; + water.getComponent(cc.Sprite).spriteFrame = this.UI["_spriteFrames"]["block1"]; + water.opacity = 0; + } + } + } + else if (direction == "up" || direction == "down") { + var sp_1 = this.node.getChildByName("sp"); + if (sp_1.angle == -90) { + turn.active = true; + water.active = true; + water.opacity = 0; + if (type) { + turn.angle = direction == "up" ? 0 : -90; + water.angle = direction == "up" ? 0 : -90; + } + else { + turn.angle = direction == "up" ? -90 : 0; + water.angle = direction == "up" ? -90 : 0; + } + } + else if (sp_1.angle == 90) { + turn.active = true; + water.active = true; + water.opacity = 0; + if (type) { + turn.angle = direction == "up" ? 90 : 180; + water.angle = direction == "up" ? 90 : 180; + } + else { + turn.angle = direction == "up" ? 180 : 90; + water.angle = direction == "up" ? 180 : 90; + } + } + else if (sp_1.angle == 0) { + turn.active = true; + turn.getComponent(cc.Sprite).spriteFrame = this.UI["_spriteFrames"]["a1"]; + turn.angle = 0; + if (type) { + water.active = true; + water.getComponent(cc.Sprite).spriteFrame = this.UI["_spriteFrames"]["block1"]; + water.opacity = 0; + } + } + else if (sp_1.angle == -180) { + turn.active = true; + turn.getComponent(cc.Sprite).spriteFrame = this.UI["_spriteFrames"]["a1"]; + turn.angle = 0; + if (type) { + water.active = true; + water.getComponent(cc.Sprite).spriteFrame = this.UI["_spriteFrames"]["block1"]; + water.opacity = 0; + } + } + } + }; + //息壤具体执行方法 外部可调用 + NewClass.prototype.set_Xi_SoilType = function (direction, end, name) { + var _this = this; + // console.log("息壤",direction,name,end); + var jg = this.repeatRoad(true, direction); + console.log("息壤重复判断结果", jg); + if (jg == true) { + cc.fx.Notifications.emit(cc.fx.Message.showResult, "lose"); + return; + } + if (this.block_Type == cc.Enum(BlockType).Start) { + this.set_Xi_Soil(direction, false); + return; + } + if (this.block_Type == cc.Enum(BlockType).Nunja) { + this.block_Type = cc.Enum(BlockType).Nomal; + this.node.getChildByName("bg").getComponent(cc.Sprite).spriteFrame = null; + this.node.getComponent(cc.Sprite).spriteFrame = this.UI["_spriteFrames"]["block_Bg"]; + } + if (end != null) { + if (this.block_Type == cc.Enum(BlockType).End) { + this.finishi = true; + setTimeout(function () { + _this.set_Xi_Soil(direction, true); + }, 500); + } + setTimeout(function () { + if (name == "water") + cc.fx.Notifications.emit(cc.fx.Message.nextWater, (end + 1)); + else + cc.fx.Notifications.emit(cc.fx.Message.next, (end + 1)); + }, 400); + } + if (this.block_Type != cc.Enum(BlockType).End && this.block_Type != cc.Enum(BlockType).Start) { + this.block_Type = cc.Enum(BlockType).Xi_Soil; + } + else { + } + var target = this.node.getChildByName("Xi_Soil"); + this.path_Type = direction; + target.active = true; + target.opacity = 0; + cc.tween(target) + .to(0.1, { opacity: 255 }) + .to(0.1, { opacity: 0 }) + .call(function () { + if (direction != null && end == null) { + var data = { + order: 0, + time: cc.fx.GameConfig.TIME_INFO.waterSpeed[0], + type: 0, + circulate: false + }; + if (name == "water") { + _this.runWater(data); + } + else + _this.runRoad(data); + } + }) + .start(); + }; + //判断重复路径 + NewClass.prototype.repeatRoad = function (type, direction) { + //如果双向都占用了还进来就算死了- + var jg = false; + if (this.node.getChildByName("vertical2").active == true && this.node.getChildByName("horizontal2").active == true) { + // alert("治水失败"); + jg = true; + if (type) { + cc.fx.Notifications.emit(cc.fx.Message.showResult, "lose"); + } + } + else if (this.node.getChildByName("turn2").active == true && this.block_Type != cc.Enum(BlockType).Xi_Soil) { + // alert("治水失败"); + jg = true; + if (type) { + cc.fx.Notifications.emit(cc.fx.Message.showResult, "lose"); + } + } + if (direction) { + if (this.node.getChildByName("vertical2").active == true && this.block_Type == cc.Enum(BlockType).Xi_Soil && (direction == "up" || direction == "down")) { + // alert("治水失败"); + if (this.node.getChildByName("vertical2").angle == 0 || this.node.getChildByName("vertical2").angle == 180) { + jg = true; + if (type) { + cc.fx.Notifications.emit(cc.fx.Message.showResult, "lose"); + } + } + } + else if (this.node.getChildByName("vertical2").active == true && this.block_Type == cc.Enum(BlockType).Xi_Soil && (direction == "right" || direction == "left")) { + // alert("治水失败"); + if (this.node.getChildByName("vertical2").angle == 90 || this.node.getChildByName("vertical2").angle == 270) { + jg = true; + if (type) { + cc.fx.Notifications.emit(cc.fx.Message.showResult, "lose"); + } + } + } + } + return jg; + }; + //修筑路线执行 + NewClass.prototype.runRoad = function (data) { + if (this.path_Type == "err") { + setTimeout(function () { + if (data.circulate) + cc.fx.Notifications.emit(cc.fx.Message.next, order); + }, data.time); + return; + } + var jg = this.repeatRoad(true, null); + if (jg == true) + return; + var target = null; + var progress = 1; + var time = data.time; + var order = data.order + 1; + var random = Math.floor(Math.random() * 4 + 1); + target = this.node.getChildByName("vertical2"); + if (target.name == "vertical") { + var water1_1 = target.getChildByName("wave").getChildByName("water1"); + var water2_1 = target.getChildByName("wave").getChildByName("water2"); + var water3_1 = target.getChildByName("wave").getChildByName("water3"); + var timeDelay = 0.15; + water1_1.runAction(cc.sequence(cc.moveTo(0.6, cc.v2(water1_1.x, 120)), cc.delayTime(timeDelay), cc.callFunc(function () { + water1_1.y = -120; + })).repeatForever()); + water2_1.runAction(cc.sequence(cc.moveTo(0.6, cc.v2(water2_1.x, 120)), cc.delayTime(timeDelay), cc.callFunc(function () { + water2_1.y = -120; + })).repeatForever()); + water3_1.runAction(cc.sequence(cc.moveTo(0.6, cc.v2(water3_1.x, 120)), cc.delayTime(timeDelay), cc.callFunc(function () { + water3_1.y = -120; + })).repeatForever()); + } + var name = "a" + random; + if (this.block_Type != cc.Enum(BlockType).Reinforce) + target.getComponent(cc.Sprite).spriteFrame = this.UI["_spriteFrames"][name]; + if (target.active == true) { + target = this.node.getChildByName("horizontal2"); + name = "b" + random; + if (this.block_Type != cc.Enum(BlockType).Reinforce) + target.getComponent(cc.Sprite).spriteFrame = this.UI["_spriteFrames"][name]; + } + // console.log(this.path_Type,data.order); + if (this.path_Type == cc.Enum(PathType).up) { + } + else if (this.path_Type == cc.Enum(PathType).down) { + target.angle = 180; + } + else if (this.path_Type == cc.Enum(PathType).left) { + target.angle = 90; + name = "b" + random; + if (this.block_Type != cc.Enum(BlockType).Reinforce) + target.getComponent(cc.Sprite).spriteFrame = this.UI["_spriteFrames"][name]; + } + else if (this.path_Type == cc.Enum(PathType).right) { + target.angle = 270; + name = "b" + random; + if (this.block_Type != cc.Enum(BlockType).Reinforce) + target.getComponent(cc.Sprite).spriteFrame = this.UI["_spriteFrames"][name]; + } + else { + target = this.node.getChildByName("turn2"); + if (target.name == "turn") { + var water_1 = target.getChildByName("wave").getChildByName("water"); + water_1.opacity = 0; + water_1.runAction(cc.sequence(cc.rotateTo(7.2, -1080), cc.delayTime(0)).repeatForever()); + setTimeout(function () { + water_1.opacity = 255; + }, 200); + } + name = "c" + random; + if (this.block_Type != cc.Enum(BlockType).Reinforce) + target.getComponent(cc.Sprite).spriteFrame = this.UI["_spriteFrames"][name]; + progress = 0.25; + if (this.path_Type == cc.Enum(PathType).up_left) { + target.setPosition(-this.pos_Shifting, -this.pos_Shifting); + } + else if (this.path_Type == cc.Enum(PathType).up_right) { + target.scaleX = -1; + target.setPosition(this.pos_Shifting, -this.pos_Shifting); + } + else if (this.path_Type == cc.Enum(PathType).down_left) { + target.angle = 180; + target.scaleX = -1; + target.setPosition(-this.pos_Shifting, this.pos_Shifting); + } + else if (this.path_Type == cc.Enum(PathType).down_right) { + target.angle = 180; + target.setPosition(this.pos_Shifting, this.pos_Shifting); + } + else if (this.path_Type == cc.Enum(PathType).left_up) { + target.angle = -90; + target.scaleY = -1; + target.setPosition(this.pos_Shifting, this.pos_Shifting); + } + else if (this.path_Type == cc.Enum(PathType).left_down) { + target.angle = 90; + target.setPosition(-this.pos_Shifting, -this.pos_Shifting); + } + else if (this.path_Type == cc.Enum(PathType).right_up) { + target.angle = -90; + target.setPosition(-this.pos_Shifting, this.pos_Shifting); + } + else if (this.path_Type == cc.Enum(PathType).right_down) { + target.angle = -90; + target.scaleX = -1; + target.setPosition(-this.pos_Shifting, -this.pos_Shifting); + } + } + if (this.path_Type == "Reinforce") { + target = this.node.getChildByName("Reinforce"); + if (this.block_Type == cc.Enum(BlockType).Peak) { + cc.fx.Notifications.emit(cc.fx.Message.showResult, "lose"); + return; + } + if (this.block_Type != cc.Enum(BlockType).End) + this.block_Type = cc.Enum(BlockType).Reinforce; + this.node.getChildByName("vertical2").getComponent(cc.Sprite).spriteFrame = this.UI["_spriteFrames"]["e1"]; + this.node.getChildByName("turn2").getComponent(cc.Sprite).spriteFrame = this.UI["_spriteFrames"]["e3"]; + this.node.getChildByName("horizontal2").getComponent(cc.Sprite).spriteFrame = this.UI["_spriteFrames"]["e2"]; + target.active = true; + target.opacity = 0; + progress = 1; + cc.tween(target) + .to(cc.fx.GameConfig.TIME_INFO.ReinforceSpeed, { opacity: 255 }) + .call(function () { + if (data.circulate) + cc.fx.Notifications.emit(cc.fx.Message.changeMap, order); + cc.fx.Notifications.emit(cc.fx.Message.next, order); + }) + .start(); + } + else if (this.path_Type == "Xi_Soil") { + target.active = false; + if (this.block_Type != cc.Enum(BlockType).End && this.block_Type != cc.Enum(BlockType).Start) + this.block_Type = cc.Enum(BlockType).Xi_Soil; + target = this.node.getChildByName("Xi_Soil"); + target.active = true; + target.opacity = 0; + cc.tween(target) + .to(0.01, { opacity: 1 }) + .to(0.01, { opacity: 0 }) + .call(function () { + if (data.circulate) { + cc.fx.Notifications.emit(cc.fx.Message.next, order); + } + }) + .start(); + } + else if (this.path_Type == "End") { + target.active = false; + if (this.block_Type != cc.Enum(BlockType).End && this.block_Type != cc.Enum(BlockType).Start) + this.block_Type = cc.Enum(BlockType).Xi_Soil; + var posTemp = data.last; + var direction = "up"; + if (this.pos.x - posTemp.x >= 1) { + direction = "right"; + } + else if (this.pos.x - posTemp.x <= -1) { + direction = "left"; + } + else if (this.pos.y - posTemp.y >= 1) { + direction = "down"; + } + // console.log("结束方向:",direction); + if (!this.finishi) { + this.finishi = true; + this.set_Xi_Soil(direction, true); + } + } + else { + target.active = true; + if (this.block_Type != cc.Enum(BlockType).Xi_Soil) { + target.getComponent(cc.Sprite).fillRange = 0; + cc.tween(target.getComponent(cc.Sprite)) + .to(time, { fillRange: progress }) + .call(function () { + if (data.circulate) + cc.fx.Notifications.emit(cc.fx.Message.next, order); + }) + .start(); + } + else { + target.opacity = 0; + target.getComponent(cc.Sprite).fillRange = 1; + cc.tween(target) + .to(time, { opacity: 255 }) + .call(function () { + if (data.circulate) + cc.fx.Notifications.emit(cc.fx.Message.next, order); + }) + .start(); + } + } + }; + //洪峰执行 + NewClass.prototype.runWater = function (data) { + if (this.node.getChildByName("waterStart").active == true && this.block_Type == cc.Enum(BlockType).Start) { + // sp.getChildByName("waterStart").opacity = 255; + cc.tween(this.node.getChildByName("waterStart")) + .to(0.2, { opacity: 255 }) + .start(); + } + if (this.path_Type == "err") { + setTimeout(function () { + if (data.circulate) + cc.fx.Notifications.emit(cc.fx.Message.nextWater, order); + }, data.time); + return; + } + //如果双向都占用了还进来就算死了- + if (this.node.getChildByName("vertical").active == true && this.node.getChildByName("horizontal").active == true) { + // alert("治水失败"); + cc.fx.Notifications.emit(cc.fx.Message.showResult, "lose"); + // cc.director.loadScene("GameScene"); + return; + } + else if (this.node.getChildByName("turn").active == true && this.block_Type != cc.Enum(BlockType).Xi_Soil) { + // alert("治水失败"); + cc.fx.Notifications.emit(cc.fx.Message.showResult, "lose"); + // cc.director.loadScene("GameScene"); + return; + } + var target = null; + var progress = 1; + var time = data.time; + var order = data.order + 1; + var random = Math.floor(Math.random() * 4 + 1); + target = this.node.getChildByName("vertical"); + if (target.name == "vertical") { + var water1_2 = target.getChildByName("wave").getChildByName("water1"); + var water2_2 = target.getChildByName("wave").getChildByName("water2"); + var water3_2 = target.getChildByName("wave").getChildByName("water3"); + var timeDelay = 0.15; + water1_2.runAction(cc.sequence(cc.moveTo(0.6, cc.v2(water1_2.x, 120)), cc.delayTime(timeDelay), cc.callFunc(function () { + water1_2.y = -120; + })).repeatForever()); + water2_2.runAction(cc.sequence(cc.moveTo(0.6, cc.v2(water2_2.x, 120)), cc.delayTime(timeDelay), cc.callFunc(function () { + water2_2.y = -120; + })).repeatForever()); + water3_2.runAction(cc.sequence(cc.moveTo(0.6, cc.v2(water3_2.x, 120)), cc.delayTime(timeDelay), cc.callFunc(function () { + water3_2.y = -120; + })).repeatForever()); + } + var name = "a" + random; + // if(this.block_Type != cc.Enum(BlockType).Reinforce)target.getComponent(cc.Sprite).spriteFrame = this.UI["_spriteFrames"][name]; + if (target.active == true) { + target = this.node.getChildByName("horizontal"); + var water1_3 = target.getChildByName("wave").getChildByName("water1"); + var water2_3 = target.getChildByName("wave").getChildByName("water2"); + var water3_3 = target.getChildByName("wave").getChildByName("water3"); + var timeDelay = 0.15; + water1_3.runAction(cc.sequence(cc.moveTo(0.6, cc.v2(water1_3.x, 120)), cc.delayTime(timeDelay), cc.callFunc(function () { + water1_3.y = -120; + })).repeatForever()); + water2_3.runAction(cc.sequence(cc.moveTo(0.6, cc.v2(water2_3.x, 120)), cc.delayTime(timeDelay), cc.callFunc(function () { + water2_3.y = -120; + })).repeatForever()); + water3_3.runAction(cc.sequence(cc.moveTo(0.6, cc.v2(water3_3.x, 120)), cc.delayTime(timeDelay), cc.callFunc(function () { + water3_3.y = -120; + })).repeatForever()); + name = "b" + random; + //if(this.block_Type != cc.Enum(BlockType).Reinforce) target.getComponent(cc.Sprite).spriteFrame = this.UI["_spriteFrames"][name]; + } + // console.log(this.path_Type,data.order); + if (this.path_Type == cc.Enum(PathType).up) { + } + else if (this.path_Type == cc.Enum(PathType).down) { + target.angle = 180; + } + else if (this.path_Type == cc.Enum(PathType).left) { + target.angle = 90; + name = "b" + random; + //if(this.block_Type != cc.Enum(BlockType).Reinforce) target.getComponent(cc.Sprite).spriteFrame = this.UI["_spriteFrames"][name]; + } + else if (this.path_Type == cc.Enum(PathType).right) { + target.angle = 270; + name = "b" + random; + //if(this.block_Type != cc.Enum(BlockType).Reinforce) target.getComponent(cc.Sprite).spriteFrame = this.UI["_spriteFrames"][name]; + } + else { + target = this.node.getChildByName("turn"); + if (target.name == "turn") { + var water_2 = target.getChildByName("wave").getChildByName("water"); + water_2.opacity = 0; + water_2.runAction(cc.sequence(cc.rotateTo(7.2, -1080), cc.delayTime(0)).repeatForever()); + setTimeout(function () { + water_2.opacity = 255; + }, 200); + } + name = "c" + random; + //if(this.block_Type != cc.Enum(BlockType).Reinforce)target.getComponent(cc.Sprite).spriteFrame = this.UI["_spriteFrames"][name]; + progress = 0.25; + if (this.path_Type == cc.Enum(PathType).up_left) { + target.setPosition(-this.pos_Shifting, -this.pos_Shifting); + } + else if (this.path_Type == cc.Enum(PathType).up_right) { + target.scaleX = -1; + target.setPosition(this.pos_Shifting, -this.pos_Shifting); + } + else if (this.path_Type == cc.Enum(PathType).down_left) { + target.angle = 180; + target.scaleX = -1; + target.setPosition(-this.pos_Shifting, this.pos_Shifting); + } + else if (this.path_Type == cc.Enum(PathType).down_right) { + target.angle = 180; + target.setPosition(this.pos_Shifting, this.pos_Shifting); + } + else if (this.path_Type == cc.Enum(PathType).left_up) { + target.angle = -90; + target.scaleY = -1; + target.setPosition(this.pos_Shifting, this.pos_Shifting); + } + else if (this.path_Type == cc.Enum(PathType).left_down) { + target.angle = 90; + target.setPosition(-this.pos_Shifting, -this.pos_Shifting); + } + else if (this.path_Type == cc.Enum(PathType).right_up) { + target.angle = -90; + target.setPosition(-this.pos_Shifting, this.pos_Shifting); + } + else if (this.path_Type == cc.Enum(PathType).right_down) { + target.angle = -90; + target.scaleX = -1; + target.setPosition(-this.pos_Shifting, -this.pos_Shifting); + } + } + if (this.path_Type == "End") { + target.active = false; + if (this.block_Type == cc.Enum(BlockType).End) { + if (this.node.getChildByName("waterStart").active == true && this.block_Type == cc.Enum(BlockType).End) { + cc.tween(this.node.getChildByName("waterStart")) + .to(0.2, { opacity: 255 }) + .call(function () { + // alert("治水成功"); + cc.fx.Notifications.emit(cc.fx.Message.showResult, "win"); + if (cc.fx.GameConfig.GM_INFO.level < 7) { + cc.fx.GameConfig.GM_INFO.level += 1; + } + setTimeout(function () { + // cc.director.loadScene("GameScene"); + }, 500); + }) + .start(); + } + } + else { + target = this.node.getChildByName("End"); + target.active = true; + target.opacity = 0; + var posTemp = data.last; + if (this.pos.x - posTemp.x >= 1) { + target.angle = -90; + } + else if (this.pos.x - posTemp.x <= -1) { + target.angle = 90; + } + else if (this.pos.y - posTemp.y >= 1) { + target.angle = 180; + } + cc.tween(target) + .to(0.5, { opacity: 255 }) + .call(function () { + // alert("治水失败") + cc.fx.Notifications.emit(cc.fx.Message.showResult, "lose"); + // cc.director.loadScene("GameScene"); + }) + .start(); + } + } + else { + target.active = true; + target.getComponent(cc.Sprite).fillRange = 0; + cc.tween(target.getComponent(cc.Sprite)) + .to(time, { fillRange: progress }) + .call(function () { + if (data.circulate) + cc.fx.Notifications.emit(cc.fx.Message.nextWater, order); + }) + .start(); + } + }; + __decorate([ + property(cc.SpriteAtlas) + ], NewClass.prototype, "UI", void 0); + NewClass = __decorate([ + ccclass + ], NewClass); + return NewClass; +}(cc.Component)); +exports.default = NewClass; + +cc._RF.pop(); + } + if (nodeEnv) { + __define(__module.exports, __require, __module); + } + else { + __quick_compile_project__.registerModuleFunc(__filename, function () { + __define(__module.exports, __require, __module); + }); + } + })(); +//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbImFzc2V0c1xcU2NyaXB0XFxCbG9jay50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7Ozs7Ozs7O0FBQUEsb0JBQW9CO0FBQ3BCLHdFQUF3RTtBQUN4RSxtQkFBbUI7QUFDbkIsa0ZBQWtGO0FBQ2xGLDhCQUE4QjtBQUM5QixrRkFBa0Y7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7QUFFNUUsSUFBQSxLQUFzQixFQUFFLENBQUMsVUFBVSxFQUFsQyxPQUFPLGFBQUEsRUFBRSxRQUFRLGNBQWlCLENBQUM7QUFFMUMsSUFBWSxTQWdCWDtBQWhCRCxXQUFZLFNBQVM7SUFDakIsU0FBUztJQUNULDJDQUFTLENBQUE7SUFDVCxTQUFTO0lBQ1QsMkNBQVMsQ0FBQTtJQUNULE9BQU87SUFDUCwyQ0FBUyxDQUFBO0lBQ1QsT0FBTztJQUNQLHlDQUFRLENBQUE7SUFDUixTQUFTO0lBQ1QsdUNBQU8sQ0FBQTtJQUVQLE9BQU87SUFDUCwrQ0FBVyxDQUFBO0lBQ1gsT0FBTztJQUNQLG1EQUFhLENBQUE7QUFDakIsQ0FBQyxFQWhCVyxTQUFTLEdBQVQsaUJBQVMsS0FBVCxpQkFBUyxRQWdCcEI7QUFFRCxJQUFZLFFBY1g7QUFkRCxXQUFZLFFBQVE7SUFDaEIsdUJBQVcsQ0FBQTtJQUNYLHFCQUFTLENBQUE7SUFDVCx5QkFBYSxDQUFBO0lBQ2IseUJBQWEsQ0FBQTtJQUNiLDJCQUFlLENBQUE7SUFDZiwrQkFBbUIsQ0FBQTtJQUNuQixpQ0FBcUIsQ0FBQTtJQUNyQixtQ0FBdUIsQ0FBQTtJQUN2QixxQ0FBeUIsQ0FBQTtJQUN6QiwrQkFBbUIsQ0FBQTtJQUNuQixtQ0FBdUIsQ0FBQTtJQUN2QixpQ0FBcUIsQ0FBQTtJQUNyQixxQ0FBeUIsQ0FBQTtBQUM3QixDQUFDLEVBZFcsUUFBUSxHQUFSLGdCQUFRLEtBQVIsZ0JBQVEsUUFjbkI7QUFHRDtJQUFzQyw0QkFBWTtJQUFsRDtRQUFBLHFFQTh1QkM7UUE3dUJHLHdCQUF3QjtRQUV4QixRQUFFLEdBQW1CLElBQUks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QUNwRSxJQUFJLFFBQU0sR0FBRyxNQUFNLENBQUMsY0FBYyxDQUFDLE1BQU0sQ0FBQyxDQUFDLGNBQWMsQ0FBQyxRQUFRLENBQUMsQ0FBQztZQUNwRSxJQUFJLFFBQU0sR0FBRyxNQUFNLENBQUMsY0FBYyxDQUFDLE1BQU0sQ0FBQyxDQUFDLGNBQWMsQ0FBQyxRQUFRLENBQUMsQ0FBQztZQUNwRSxJQUFJLFNBQVMsR0FBRyxJQUFJLENBQUM7WUFDckIsUUFBTSxDQUFDLFNBQVMsQ0FBQyxFQUFFLENBQUMsUUFBUSxDQUFDLEVBQUUsQ0FBQyxNQUFNLENBQUMsR0FBRyxFQUFDLEVBQUUsQ0FBQyxFQUFFLENBQUMsUUFBTSxDQUFDLENBQUMsRUFBQyxHQUFHLENBQUMsQ0FBQyxFQUFDLEVBQUUsQ0FBQyxTQUFTLENBQUMsU0FBUyxDQUFDLEVBQ3ZGLEVBQUUsQ0FBQyxRQUFRLENBQUM7Z0JBQ1IsUUFBTSxDQUFDLENBQUMsR0FBRyxDQUFDLEdBQUcsQ0FBQTtZQUNuQixDQUFDLENBQUMsQ0FBQyxDQUFDLGFBQWEsRUFBRSxDQUFDLENBQUM7WUFDckIsUUFBTSxDQUFDLFNBQVMsQ0FBQyxFQUFFLENBQUMsUUFBUSxDQUFDLEVBQUUsQ0FBQyxNQUFNLENBQUMsR0FBRyxFQUFDLEVBQUUsQ0FBQyxFQUFFLENBQUMsUUFBTSxDQUFDLENBQUMsRUFBQyxHQUFHLENBQUMsQ0FBQyxFQUFDLEVBQUUsQ0FBQyxTQUFTLENBQUMsU0FBUyxDQUFDLEVBQ3ZGLEVBQUUsQ0FBQyxRQUFRLENBQUM7Z0JBQ1IsUUFBTSxDQUFDLENBQUMsR0FBRyxDQUFDLEdBQUcsQ0FBQTtZQUNuQixDQUFDLENBQUMsQ0FBQyxDQUFDLGFBQWEsRUFBRSxDQUFDLENBQUM7WUFDckIsUUFBTSxDQUFDLFNBQVMsQ0FBQyxFQUFFLENBQUMsUUFBUSxDQUFDLEVBQUUsQ0FBQyxNQUFNLENBQUMsR0FBRyxFQUFDLEVBQUUsQ0FBQyxFQUFFLENBQUMsUUFBTSxDQUFDLENBQUMsRUFBQyxHQUFHLENBQUMsQ0FBQyxFQUFDLEVBQUUsQ0FBQyxTQUFT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LElBQUksUUFBTSxHQUFHLE1BQU0sQ0FBQyxjQUFjLENBQUMsTUFBTSxDQUFDLENBQUMsY0FBYyxDQUFDLFFBQVEsQ0FBQyxDQUFDO1lBQ3BFLElBQUksU0FBUyxHQUFHLElBQUksQ0FBQztZQUNyQixRQUFNLENBQUMsU0FBUyxDQUFDLEVBQUUsQ0FBQyxRQUFRLENBQUMsRUFBRSxDQUFDLE1BQU0sQ0FBQyxHQUFHLEVBQUMsRUFBRSxDQUFDLEVBQUUsQ0FBQyxRQUFNLENBQUMsQ0FBQyxFQUFDLEdBQUcsQ0FBQyxDQUFDLEVBQUMsRUFBRSxDQUFDLFNBQVMsQ0FBQyxTQUFTLENBQUMsRUFDdkYsRUFBRSxDQUFDLFFBQVEsQ0FBQztnQkFDUixRQUFNLENBQUMsQ0FBQyxHQUFHLENBQUMsR0FBRyxDQUFBO1lBQ25CLENBQUMsQ0FBQyxDQUFDLENBQUMsYUFBYSxFQUFFLENBQUMsQ0FBQztZQUNyQixRQUFNLENBQUMsU0FBUyxDQUFDLEVBQUUsQ0FBQyxRQUFRLENBQUMsRUFBRSxDQUFDLE1BQU0sQ0FBQyxHQUFHLEVBQUMsRUFBRSxDQUFDLEVBQUUsQ0FBQyxRQUFNLENBQUMsQ0FBQyxFQUFDLEdBQUcsQ0FBQyxDQUFDLEVBQUMsRUFBRSxDQUFDLFNBQVMsQ0FBQyxTQUFTLENBQUMsRUFDdkYsRUFBRSxDQUFDLFFBQVEsQ0FBQztnQkFDUixRQUFNLENBQUMsQ0FBQyxHQUFHLENBQUMsR0FBRyxDQUFBO1lBQ25CLENBQUMsQ0FBQyxDQUFDLENBQUMsYUFBYSxFQUFFLENBQUMsQ0FBQztZQUNyQixRQUFNLENBQUMsU0FBUyxDQUFDLEVBQUUsQ0FBQyxRQUFRLENBQUMsRUFBRSxDQUFDLE1BQU0sQ0FBQyxHQUFHLEVBQUMsRUFBRSxDQUFDLEVBQUUsQ0FBQyxRQUFNLENBQUMsQ0FBQyxFQUFDLEdBQUcsQ0FBQyxDQUFDLEVBQUMsRUFBRSxDQUFDLFNBQVMsQ0FBQyxTQUFTLENBQUMsRUFDdkYsRUFBRSxDQUFDLFFBQVEsQ0FBQztnQkFDUixRQUFNLENBQUMsQ0FBQyxHQUFHLENBQUMsR0FBRyxDQUFBO1lB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YUFDWjtTQUVKO2FBQ0c7WUFDQSxNQUFNLENBQUMsTUFBTSxHQUFHLElBQUksQ0FBQztZQUNyQixNQUFNLENBQUMsWUFBWSxDQUFDLEVBQUUsQ0FBQyxNQUFNLENBQUMsQ0FBQyxTQUFTLEdBQUcsQ0FBQyxDQUFDO1lBQzdDLEVBQUUsQ0FBQyxLQUFLLENBQUMsTUFBTSxDQUFDLFlBQVksQ0FBQyxFQUFFLENBQUMsTUFBTSxDQUFDLENBQUM7aUJBQ3ZDLEVBQUUsQ0FBQyxJQUFJLEVBQUMsRUFBQyxTQUFTLEVBQUMsUUFBUSxFQUFDLENBQUM7aUJBQzdCLElBQUksQ0FBQztnQkFDRixJQUFHLElBQUksQ0FBQyxTQUFTO29CQUNiLEVBQUUsQ0FBQyxFQUFFLENBQUMsYUFBYSxDQUFDLElBQUksQ0FBQyxFQUFFLENBQUMsRUFBRSxDQUFDLE9BQU8sQ0FBQyxTQUFTLEVBQUMsS0FBSyxDQUFDLENBQUM7WUFDaEUsQ0FBQyxDQUFDO2lCQUNELEtBQUssRUFBRSxDQUFDO1NBQ1o7SUFFTCxDQUFDO0lBeHVCRDtRQURDLFFBQVEsQ0FBQyxFQUFFLENBQUMsV0FBVyxDQUFDO3dDQUNDO0lBSFQsUUFBUTtRQUQ1QixPQUFPO09BQ2EsUUFBUSxDQTh1QjVCO0lBQUQsZUFBQztDQTl1QkQsQUE4dUJDLENBOXVCcUMsRUFBRSxDQUFDLFNBQVMsR0E4dUJqRDtrQkE5dUJvQixRQUFRIiwiZmlsZSI6IiIsInNvdXJjZVJvb3QiOiIvIiwic291cmNlc0NvbnRlbnQiOlsiLy8gTGVhcm4gVHlwZVNjcmlwdDpcclxuLy8gIC0gaHR0cHM6Ly9kb2NzLmNvY29zLmNvbS9jcmVhdG9yL21hbnVhbC9lbi9zY3JpcHRpbmcvdHlwZXNjcmlwdC5odG1sXHJcbi8vIExlYXJuIEF0dHJpYnV0ZTpcclxuLy8gIC0gaHR0cHM6Ly9kb2NzLmNvY29zLmNvbS9jcmVhdG9yL21hbnVhbC9lbi9zY3JpcHRpbmcvcmVmZXJlbmNlL2F0dHJpYnV0ZXMuaHRtbFxyXG4vLyBMZWFybiBsaWZlLWN5Y2xlIGNhbGxiYWNrczpcclxuLy8gIC0gaHR0cHM6Ly9kb2NzLmNvY29zLmNvbS9jcmVhdG9yL21hbnVhbC9lbi9zY3JpcHRpbmcvbGlmZS1jeWNsZS1jYWxsYmFja3MuaHRtbFxyXG5cclxuY29uc3Qge2NjY2xhc3MsIHByb3BlcnR5fSA9IGNjLl9kZWNvcmF0b3I7XHJcblxyXG5leHBvcnQgZW51bSBCbG9ja1R5cGV7XHJcbiAgICAvKuaZrumAmuWcsOWdlyAqL1xyXG4gICAgTm9tYWwgPSAwLCAgXHJcbiAgICAvKui1t+eCueWcsOWdlyAqL1xyXG4gICAgU3RhcnQgPSAxLCAgXHJcbiAgICAvKua5v+WcsCAqL1xyXG4gICAgTnVuamEgPSAyLFxyXG4gICAgLyrlsbHls7AgKi9cclxuICAgIFBlYWsgPSAzLFxyXG4gICAgLyrnu4jngrnlnLDlnZcgKi9cclxuICAgIEVuZCA9IDQsXHJcblxyXG4gICAgLyrmga/lo6QgKi9cclxuICAgIFhpX1NvaWwgPSA1LFxyXG4gICAgLyrliqDlm7ogKi9cclxuICAgIFJlaW5mb3JjZSA9IDZcclxufVxyXG5cclxuZXhwb3J0IGVudW0gUGF0aFR5cGV7XHJcbiAgICBlcnIgPSBcImVyclwiLFxyXG4gICAgdXAgPSBcInVwXCIsICBcclxuICAgIGRvd24gPSBcImRvd25cIiwgIFxyXG4gICAgbGVmdCA9IFwibGVmdFwiLFxyXG4gICAgcmlnaHQgPSBcInJpZ2h0XCIsXHJcbiAgICB1cF9sZWZ0ID0gXCJ1cF9sZWZ0XCIsXHJcbiAgICB1cF9yaWdodCA9IFwidXBfcmlnaHRcIixcclxuICAgIGRvd25fbGVmdCA9IFwiZG93bl9sZWZ0XCIsXHJcbiAgICBkb3duX3JpZ2h0ID0gXCJkb3duX3JpZ2h0XCIsXHJcbiAgICBsZWZ0X3VwID0gXCJsZWZ0X3VwXCIsXHJcbiAgICBsZWZ0X2Rvd24gPSBcImxlZnRfZG93blwiLFxyXG4gICAgcmlnaHRfdXAgPSBcInJpZ2h0X3VwXCIsXHJcbiAgICByaWdodF9kb3duID0gXCJyaWdodF9kb3duXCIsXHJcbn1cclxuXHJcbkBjY2NsYXNzXHJcbmV4cG9ydCBkZWZhdWx0IGNsYXNzIE5ld0NsYXNzIGV4dGVuZHMgY2MuQ29tcG9uZW50IHtcclxuICAgIC8vIExJRkUtQ1lDTEUgQ0FMTEJBQ0tTOlxyXG4gICAgQHByb3BlcnR5KGNjLlNwcml0ZUF0bGFzKVxyXG4gICAgVUk6IGNjLlNwcml0ZUF0bGFzID0gbnVsbDtcclxuXHJcbiAgICBwb3NfU2hpZnRpbmc6bnVtYmVyO1xyXG4gICAgYmxvY2tfVHlwZTpudW1iZXI7XHJcbiAgICBwYXRoX1R5cGU6c3RyaW5nO1xyXG4gICAgZmluaXNoaTpib29sZWFuO1xyXG4gICAgcG9zOiBhbnk7XHJcbiAgICBvbkxvYWQgKCkge1xyXG4gICAgICAgIHRoaXMuZmluaXNoaSA9IGZhbHNlO1xyXG4gICAgICAgIHRoaXMucG9zX1NoaWZ0aW5nID0gMDtcclxuICAgICAgICB0aGlzLnBvcyA9IGNjLnYyKDAsMCk7XHJcbiAgICB9XHJcblxyXG4gICAgc3RhcnQgKCkge1xyXG4gICAgICAgIFxyXG4gICAgfVxyXG4gICAgLyoqXHJcbiAgICAgKiDmga/lo6Tov4flkI7mlLnlj5jkv67nrZHot6/lvoRcclxuICAgICAqIEBwYXJhbSBvcmRlciDlu7rnrZHlnLDlm77mlbDnu4Tph4znmoTmiafooYznmoTluo/liJflj7dcclxuICAgICAqIEBwYXJhbSBudW1iZXIg5oGv5aOk5omn6KGM6ZW/5bqmLOaUueWPmOaBr+WjpOeUqOWQjuWFtuS7lui3r+W+hOeahFjmiJZZ5YC8XHJcbiAgICAgKiBAcGFyYW0gZGlyZWN0aW9uIOWPquS4uuS4pOS4quaWueWQke+8jOaoquWQkWZhbHNlLOe6teWQkXRydWVcclxuICAgICAqIEBwYXJhbSByb2FkIOW7uuetkeWcsOWbvuaVsOe7hOaIluiAhea0quWzsOi3r+W+hOaVsOe7hO+8jOWPr+eQhuino+S4uui3r+W+hOaVsOe7hO+8jHBhdGhfQXJyYXkgd2F0ZXJfQXJyYXlcclxuICAgICAqL1xyXG4gICAgLy/liJ3lp4vljJblnLDlm77lnZfmlbDmja5cclxuICAgIGluaXREYXRhKHR5cGUscG9zLG1heCl7XHJcbiAgICAgICAgdGhpcy5ibG9ja19UeXBlID0gdHlwZTtcclxuICAgICAgICB0aGlzLnBvcyA9IGNjLnYyKHBvcy54LHBvcy55KTtcclxuICAgICAgICAvLyBpZih0aGlzLnBvcy55JTIgPT0gMCkgdGhpcy5ub2RlLmdldENoaWxkQnlOYW1lKFwidGlwXCIpLmFjdGl2ZSA9IHRydWU7XHJcbiAgICAgICAgaWYodHlwZSA9PSBjYy5FbnVtKEJsb2NrVHlwZSkuU3RhcnQpeyBcclxuICAgICAgICAgICAgdmFyIGJnID0gdGhpcy5ub2RlLmdldENoaWxkQnlOYW1lKFwic3BcIik7XHJcbiAgICAgICAgICAgIC8vIHRoaXMubm9kZS5nZXRDb21wb25lbnQoY2MuU3ByaXRlKS5zcHJpdGVGcmFtZSA9IG51bGw7XHJcbiAgICAgICAgICAgIC8vIGJnLmdldENvbXBvbmVudChjYy5TcHJpdGUpLnNwcml0ZUZyYW1lID0gdGhpcy5VSVtcIl9zcHJpdGVGcmFtZXNcIl1bXCJzdGFydFwiXTtcclxuICAgICAgICAgICAgaWYoY2MuZnguR2FtZUNvbmZpZy5HTV9JTkZPLmxldmVsID4gMyl7XHJcbiAgICAgICAgICAgICAgICAvLyBiZy5nZXRDaGlsZEJ5TmFtZShcInN0YXJ0XCIpLnkgPSAyMDtcclxuICAgICAgICAgICAgICAgIGJnLmdldENoaWxkQnlOYW1lKFwiZW5kXCIpLnkgPSAyMDtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICB0aGlzLnJvdGF0ZVRhcmdldChiZyxcInN0YXJ0XCIscG9zLG1heCk7XHJcbiAgICAgICAgfVxyXG4gICAgICAgIGVsc2UgaWYodHlwZSA9PSBjYy5FbnVtKEJsb2NrVHlwZSkuRW5kKXtcclxuICAgICAgICAgICAgdmFyIGJnID0gdGhpcy5ub2RlLmdldENoaWxkQnlOYW1lKFwic3BcIik7XHJcbiAgICAgICAgICAgIC8vIHRoaXMubm9kZS5nZXRDb21wb25lbnQoY2MuU3ByaXRlKS5zcHJpdGVGcmFtZSA9IG51bGw7XHJcbiAgICAgICAgICAgIGJnLmdldENvbXBvbmVudChjYy5TcHJpdGUpLnNwcml0ZUZyYW1lID0gdGhpcy5VSVtcIl9zcHJpdGVGcmFtZXNcIl1bXCJlbmRcIl07XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIGlmKGNjLmZ4LkdhbWVDb25maWcuR01fSU5GTy5sZXZlbCA+IDMpe1xyXG4gICAgICAgICAgICAgICAgLy8gYmcuZ2V0Q2hpbGRCeU5hbWUoXCJzdGFydFwiKS55ID0gMjA7XHJcbiAgICAgICAgICAgICAgICBiZy5nZXRDaGlsZEJ5TmFtZShcImVuZFwiKS55ID0gMjA7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgdGhpcy5yb3RhdGVUYXJnZXQoYmcsXCJlbmRcIixwb3MsbWF4KTtcclxuICAgICAgICB9XHJcbiAgICAgICAgZWxzZSBpZih0eXBlID09IGNjLkVudW0oQmxvY2tUeXBlKS5OdW5qYSl7XHJcbiAgICAgICAgICAgIGxldCByYW5kb20gPSBNYXRoLmZsb29yKE1hdGgucmFuZG9tKCkqNCk7XHJcbiAgICAgICAgICAgIGxldCByb3RhdGlvbkFyciA9IFswLDkwLDE4MCwyNzBdO1xyXG4gICAgICAgICAgICBsZXQgcm90YXRpb24gPSByb3RhdGlvbkFycltyYW5kb21dO1xyXG4gICAgICAgICAgICB0aGlzLm5vZGUuZ2V0Q2hpbGRCeU5hbWUoXCJiZ1wiKS5nZXRDb21wb25lbnQoY2MuU3ByaXRlKS5zcHJpdGVGcmFtZSA9IHRoaXMuVUlbXCJfc3ByaXRlRnJhbWVzXCJdW1wiZTVcIl07XHJcbiAgICAgICAgICAgIHRoaXMubm9kZS5nZXRDaGlsZEJ5TmFtZShcImJnXCIpLmFuZ2xlID0gLXJvdGF0aW9uO1xyXG4gICAgICAgICAgICB0aGlzLm5vZGUuZ2V0Q29tcG9uZW50KGNjLlNwcml0ZSkuc3ByaXRlRnJhbWUgPSBudWxsO1xyXG4gICAgICAgIH1cclxuICAgICAgICBlbHNlIGlmKHR5cGUgPT0gY2MuRW51bShCbG9ja1R5cGUpLlBlYWspe1xyXG4gICAgICAgICAgICBsZXQgcmFuZG9tID0gTWF0aC5mbG9vcihNYXRoLnJhbmRvbSgpKjQrMSk7XHJcbiAgICAgICAgICAgIGxldCBuYW1lID0gXCJzaGFuXCIgKyByYW5kb207XHJcbiAgICAgICAgICAgIHRoaXMubm9kZS5nZXRDaGlsZEJ5TmFtZShcImJnXCIpLmdldENvbXBvbmVudChjYy5TcHJpdGUpLnNwcml0ZUZyYW1lID0gdGhpcy5VSVtcIl9zcHJpdGVGcmFtZXNcIl1bbmFtZV07XHJcbiAgICAgICAgICAgIHRoaXMubm9kZS5nZXRDb21wb25lbnQoY2MuU3ByaXRlKS5zcHJpdGVGcmFtZSA9IG51bGw7XHJcbiAgICAgICAgfVxyXG4gICAgICAgIGlmKGNjLmZ4LkdhbWVDb25maWcuR01fSU5GTy5sZXZlbCA9PSAxKXtcclxuICAgICAgICAgICAgdGhpcy5ub2RlLmdldENoaWxkQnlOYW1lKFwidGlwV2luXCIpLm9wYWNpdHkgPSAyMjA7XHJcbiAgICAgICAgICAgIHRoaXMubm9kZS5nZXRDaGlsZEJ5TmFtZShcInRpcExvc2VcIikub3BhY2l0eSA9IDIyMDtcclxuICAgICAgICB9XHJcbiAgICAgICAgZWxzZSBpZihjYy5meC5HYW1lQ29uZmlnLkdNX0lORk8ubGV2ZWwgPT0gMil7XHJcbiAgICAgICAgICAgIHRoaXMubm9kZS5nZXRDaGlsZEJ5TmFtZShcInRpcFdpblwiKS5vcGFjaXR5ID0gMTAwO1xyXG4gICAgICAgICAgICB0aGlzLm5vZGUuZ2V0Q2hpbGRCeU5hbWUoXCJ0aXBMb3NlXCIpLm9wYWNpdHkgPSAxMDA7XHJcbiAgICAgICAgfVxyXG4gICAgICAgIGVsc2UgaWYoY2MuZnguR2FtZUNvbmZpZy5HTV9JTkZPLmxldmVsID09IDMpe1xyXG4gICAgICAgICAgICB0aGlzLm5vZGUuZ2V0Q2hpbGRCeU5hbWUoXCJ0aXBXaW5cIikub3BhY2l0eSA9IDUwO1xyXG4gICAgICAgICAgICB0aGlzLm5vZGUuZ2V0Q2hpbGRCeU5hbWUoXCJ0aXBMb3NlXCIpLm9wYWNpdHkgPSA1MDtcclxuICAgICAgICB9XHJcbiAgICAgICAgZWxzZSBpZihjYy5meC5HYW1lQ29uZmlnLkdNX0lORk8ubGV2ZWwgPiAzKXtcclxuICAgICAgICAgICAgdGhpcy5ub2RlLmdldENoaWxkQnlOYW1lKFwidGlwV2luXCIpLm9wYWNpdHkgPSAwO1xyXG4gICAgICAgICAgICB0aGlzLm5vZGUuZ2V0Q2hpbGRCeU5hbWUoXCJ0aXBMb3NlXCIpLm9wYWNpdHkgPSAwO1xyXG4gICAgICAgIH1cclxuICBcclxuICAgIH1cclxuICAgIC8v5peL6L2s5YWl5rW35Y+j5ZKM5Ye65rW35Y+j55qEIOWbvueJh+S7peWPiuaWh+Wtl+inkuW6plxyXG4gICAgcm90YXRlVGFyZ2V0KGJnLG5hbWUscG9zLG1heCl7XHJcbiAgICAgICAgbGV0IHRhcmdldCA9IGJnLmdldENoaWxkQnlOYW1lKG5hbWUpO1xyXG4gICAgICAgIGlmKHBvcy55ID09IG1heC55LTEpe1xyXG4gICAgICAgICAgICBiZy5hbmdsZSA9IDA7XHJcbiAgICAgICAgICAgIGlmKG5hbWUgPT0gXCJlbmRcIikgdGFyZ2V0LmdldENvbXBvbmVudChjYy5TcHJpdGUpLnNwcml0ZUZyYW1lID0gdGhpcy5VSVtcIl9zcHJpdGVGcmFtZXNcIl1bXCJlbmRfeFwiXTtcclxuICAgICAgICAgICAgdGFyZ2V0LmFjdGl2ZSA9IHRydWU7XHJcbiAgICAgICAgICAgIHRhcmdldC5hbmdsZSA9IDA7XHJcbiAgICAgICAgICAgIHJldHVybjtcclxuICAgICAgICB9XHJcbiAgICAgICAgZWxzZSBpZihwb3MueSA9PSAwKXtcclxuICAgICAgICAgICAgYmcuYW5nbGUgPSAtMTgwO1xyXG4gICAgICAgICAgICBpZihuYW1lID09IFwiZW5kXCIpdGFyZ2V0LmdldENvbXBvbmVudChjYy5TcHJpdGUpLnNwcml0ZUZyYW1lID0gdGhpcy5VSVtcIl9zcHJpdGVGcmFtZXNcIl1bXCJlbmRfeFwiXTtcclxuICAgICAgICAgICAgdGFyZ2V0LmFjdGl2ZSA9IHRydWU7XHJcbiAgICAgICAgICAgIHRhcmdldC5hbmdsZSA9IC0xODA7XHJcbiAgICAgICAgICAgIHJldHVybjtcclxuICAgICAgICB9XHJcbiAgICAgICAgZWxzZSBpZihwb3MueCA9PSBtYXgueC0xKXtcclxuICAgICAgICAgICAgYmcuYW5nbGUgPSA5MDtcclxuICAgICAgICAgICAgaWYobmFtZSA9PSBcInN0YXJ0XCIpdGFyZ2V0LmdldENvbXBvbmVudChjYy5TcHJpdGUpLnNwcml0ZUZyYW1lID0gdGhpcy5VSVtcIl9zcHJpdGVGcmFtZXNcIl1bXCJzdGFydF95XCJdO1xyXG4gICAgICAgICAgICBlbHNlIHRhcmdldC5nZXRDb21wb25lbnQoY2MuU3ByaXRlKS5zcHJpdGVGcmFtZSA9IHRoaXMuVUlbXCJfc3ByaXRlRnJhbWVzXCJdW1wiZW5kX3lcIl07XHJcbiAgICAgICAgICAgIHRhcmdldC5hY3RpdmUgPSB0cnVlO1xyXG4gICAgICAgICAgICB0YXJnZXQuYW5nbGUgPSAtOTA7XHJcbiAgICAgICAgfVxyXG4gICAgICAgIGVsc2UgaWYocG9zLnggPT0gMCl7XHJcbiAgICAgICAgICAgIGJnLmFuZ2xlID0gLTkwO1xyXG4gICAgICAgICAgICBpZihuYW1lID09IFwic3RhcnRcIil0YXJnZXQuZ2V0Q29tcG9uZW50KGNjLlNwcml0ZSkuc3ByaXRlRnJhbWUgPSB0aGlzLlVJW1wiX3Nwcml0ZUZyYW1lc1wiXVtcInN0YXJ0X3lcIl07XHJcbiAgICAgICAgICAgIGVsc2UgdGFyZ2V0LmdldENvbXBvbmVudChjYy5TcHJpdGUpLnNwcml0ZUZyYW1lID0gdGhpcy5VSVtcIl9zcHJpdGVGcmFtZXNcIl1bXCJlbmRfeVwiXTtcclxuICAgICAgICAgICAgdGFyZ2V0LmFjdGl2ZSA9IHRydWU7XHJcbiAgICAgICAgICAgIHRhcmdldC5hbmdsZSA9IDkwO1xyXG4gICAgICAgIH1cclxuICAgIH1cclxuXHJcbiAgICBzZXRQYXRoKHR5cGUpe1xyXG4gICAgICAgIHRoaXMucGF0aF9UeXBlID0gdHlwZTtcclxuICAgIH1cclxuICAgIC8v6K6+572u5oGv5aOk5Zyo6LW354K5XHJcbiAgICBzZXRfWGlfU29pbChkaXJlY3Rpb24sdHlwZSl7XHJcbiAgICAgICAgbGV0IHNwID0gdGhpcy5ub2RlLmdldENoaWxkQnlOYW1lKFwic3BcIik7XHJcbiAgICAgICAgbGV0IHR1cm4gPSB0aGlzLm5vZGUuZ2V0Q2hpbGRCeU5hbWUoXCJ0dXJuU3RhcnRcIik7XHJcbiAgICAgICAgbGV0IHdhdGVyID0gdGhpcy5ub2RlLmdldENoaWxkQnlOYW1lKFwid2F0ZXJTdGFydFwiKTtcclxuXHJcbiAgICAgICAgaWYoZGlyZWN0aW9uID09IFwibGVmdFwiIHx8IGRpcmVjdGlvbiA9PSBcInJpZ2h0XCIpe1xyXG4gICAgICAgICAgICBpZihzcC5hbmdsZSA9PSAwKXtcclxuICAgICAgICAgICAgICAgIHR1cm4uYWN0aXZlID10cnVlO1xyXG4gICAgICAgICAgICAgICAgd2F0ZXIuYWN0aXZlID0gdHJ1ZTtcclxuICAgICAgICAgICAgICAgIHdhdGVyLm9wYWNpdHkgPSAwO1xyXG4gICAgICAgICAgICAgICAgaWYodHlwZSl7XHJcbiAgICAgICAgICAgICAgICAgICAgdHVybi5hbmdsZSA9IGRpcmVjdGlvbj09XCJsZWZ0XCI/OTA6MDtcclxuICAgICAgICAgICAgICAgICAgICB3YXRlci5hbmdsZSA9IGRpcmVjdGlvbj09XCJsZWZ0XCI/OTA6MDtcclxuXHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICBlbHNle1xyXG4gICAgICAgICAgICAgICAgICAgIHR1cm4uYW5nbGUgPSBkaXJlY3Rpb249PVwibGVmdFwiPzA6OTA7XHJcbiAgICAgICAgICAgICAgICAgICAgd2F0ZXIuYW5nbGUgPSBkaXJlY3Rpb249PVwibGVmdFwiPzA6OTA7XHJcbiAgICAgICAgICAgICAgICB9XHJcblxyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIGVsc2UgaWYoc3AuYW5nbGUgPT0gLTE4MCl7XHJcbiAgICAgICAgICAgICAgICB0dXJuLmFjdGl2ZSA9dHJ1ZTtcclxuICAgICAgICAgICAgICAgIHdhdGVyLmFjdGl2ZSA9IHRydWU7XHJcbiAgICAgICAgICAgICAgICB3YXRlci5vcGFjaXR5ID0gMDtcclxuICAgICAgICAgICAgICAgIGlmKHR5cGUpe1xyXG4gICAgICAgICAgICAgICAgICAgIHR1cm4uYW5nbGUgPSBkaXJlY3Rpb249PVwibGVmdFwiPy0xODA6LTkwO1xyXG4gICAgICAgICAgICAgICAgICAgIHdhdGVyLmFuZ2xlID0gZGlyZWN0aW9uPT1cImxlZnRcIj8tMTgwOi05MDtcclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgIGVsc2V7XHJcbiAgICAgICAgICAgICAgICAgICAgdHVybi5hbmdsZSA9IGRpcmVjdGlvbj09XCJsZWZ0XCI/MjcwOi0xODA7XHJcbiAgICAgICAgICAgICAgICAgICAgd2F0ZXIuYW5nbGUgPSBkaXJlY3Rpb249PVwibGVmdFwiPzI3MDotMTgwO1xyXG4gICAgICAgICAgICAgICAgfVxyXG5cclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICBlbHNlIGlmKHNwLmFuZ2xlID09IC05MCl7XHJcbiAgICAgICAgICAgICAgICB0dXJuLmFjdGl2ZSA9dHJ1ZTtcclxuICAgICAgICAgICAgICAgIHR1cm4uZ2V0Q29tcG9uZW50KGNjLlNwcml0ZSkuc3ByaXRlRnJhbWUgPSB0aGlzLlVJW1wiX3Nwcml0ZUZyYW1lc1wiXVtcImExXCJdO1xyXG4gICAgICAgICAgICAgICAgdHVybi5hbmdsZSA9IDkwO1xyXG4gICAgICAgICAgICAgICAgaWYodHlwZSl7XHJcbiAgICAgICAgICAgICAgICAgICAgd2F0ZXIuYWN0aXZlID0gdHJ1ZTtcclxuICAgICAgICAgICAgICAgICAgICB3YXRlci5hbmdsZSA9IDkwO1xyXG4gICAgICAgICAgICAgICAgICAgIHdhdGVyLmdldENvbXBvbmVudChjYy5TcHJpdGUpLnNwcml0ZUZyYW1lID0gdGhpcy5VSVtcIl9zcHJpdGVGcmFtZXNcIl1bXCJibG9jazFcIl07XHJcbiAgICAgICAgICAgICAgICAgICAgd2F0ZXIub3BhY2l0eSA9IDA7XHJcbiAgICAgICAgICAgICAgICB9XHJcblxyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIGVsc2UgaWYoc3AuYW5nbGUgPT0gOTApe1xyXG4gICAgICAgICAgICAgICAgdHVybi5hY3RpdmUgPXRydWU7XHJcbiAgICAgICAgICAgICAgICB0dXJuLmdldENvbXBvbmVudChjYy5TcHJpdGUpLnNwcml0ZUZyYW1lID0gdGhpcy5VSVtcIl9zcHJpdGVGcmFtZXNcIl1bXCJhMVwiXTtcclxuICAgICAgICAgICAgICAgIHR1cm4uYW5nbGUgPSA5MDtcclxuICAgICAgICAgICAgICAgIGlmKHR5cGUpe1xyXG4gICAgICAgICAgICAgICAgICAgIHdhdGVyLmFjdGl2ZSA9IHRydWU7XHJcbiAgICAgICAgICAgICAgICAgICAgd2F0ZXIuYW5nbGUgPSA5MDtcclxuICAgICAgICAgICAgICAgICAgICB3YXRlci5nZXRDb21wb25lbnQoY2MuU3ByaXRlKS5zcHJpdGVGcmFtZSA9IHRoaXMuVUlbXCJfc3ByaXRlRnJhbWVzXCJdW1wiYmxvY2sxXCJdO1xyXG4gICAgICAgICAgICAgICAgICAgIHdhdGVyLm9wYWNpdHkgPSAwO1xyXG4gICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgXHJcbiAgICAgICAgfVxyXG4gICAgICAgIGVsc2UgaWYoZGlyZWN0aW9uID09IFwidXBcIiB8fCBkaXJlY3Rpb24gPT0gXCJkb3duXCIpe1xyXG4gICAgICAgICAgICBsZXQgc3AgPSB0aGlzLm5vZGUuZ2V0Q2hpbGRCeU5hbWUoXCJzcFwiKTtcclxuICAgICAgICAgICAgaWYoc3AuYW5nbGUgPT0gLTkwKXtcclxuICAgICAgICAgICAgICAgIHR1cm4uYWN0aXZlID10cnVlO1xyXG4gICAgICAgICAgICAgICAgd2F0ZXIuYWN0aXZlID0gdHJ1ZTtcclxuICAgICAgICAgICAgICAgIHdhdGVyLm9wYWNpdHkgPSAwO1xyXG4gICAgICAgICAgICAgICAgaWYodHlwZSl7XHJcbiAgICAgICAgICAgICAgICAgICAgdHVybi5hbmdsZSA9IGRpcmVjdGlvbj09XCJ1cFwiPzA6LTkwO1xyXG4gICAgICAgICAgICAgICAgICAgIHdhdGVyLmFuZ2xlID0gZGlyZWN0aW9uPT1cInVwXCI/MDotOTA7XHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICBlbHNle1xyXG4gICAgICAgICAgICAgICAgICAgIHR1cm4uYW5nbGUgPSBkaXJlY3Rpb249PVwidXBcIj8tOTA6MDtcclxuICAgICAgICAgICAgICAgICAgICB3YXRlci5hbmdsZSA9IGRpcmVjdGlvbj09XCJ1cFwiPy05MDowO1xyXG4gICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIGVsc2UgaWYoc3AuYW5nbGUgPT0gOTApe1xyXG4gICAgICAgICAgICAgICAgdHVybi5hY3RpdmUgPSB0cnVlO1xyXG4gICAgICAgICAgICAgICAgd2F0ZXIuYWN0aXZlID0gdHJ1ZTtcclxuICAgICAgICAgICAgICAgIHdhdGVyLm9wYWNpdHkgPSAwO1xyXG4gICAgICAgICAgICAgICAgaWYodHlwZSl7XHJcbiAgICAgICAgICAgICAgICAgICAgdHVybi5hbmdsZSA9IGRpcmVjdGlvbj09XCJ1cFwiPzkwOjE4MDtcclxuICAgICAgICAgICAgICAgICAgICB3YXRlci5hbmdsZSA9IGRpcmVjdGlvbj09XCJ1cFwiPzkwOjE4MDtcclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgIGVsc2V7XHJcbiAgICAgICAgICAgICAgICAgICAgdHVybi5hbmdsZSA9IGRpcmVjdGlvbj09XCJ1cFwiPzE4MDo5MDtcclxuICAgICAgICAgICAgICAgICAgICB3YXRlci5hbmdsZSA9IGRpcmVjdGlvbj09XCJ1cFwiPzE4MDo5MDtcclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICBcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICBlbHNlIGlmKHNwLmFuZ2xlID09IDApe1xyXG4gICAgICAgICAgICAgICAgdHVybi5hY3RpdmUgPXRydWU7XHJcbiAgICAgICAgICAgICAgICB0dXJuLmdldENvbXBvbmVudChjYy5TcHJpdGUpLnNwcml0ZUZyYW1lID0gdGhpcy5VSVtcIl9zcHJpdGVGcmFtZXNcIl1bXCJhMVwiXTtcclxuICAgICAgICAgICAgICAgIHR1cm4uYW5nbGUgPSAwO1xyXG4gICAgICAgICAgICAgICAgaWYodHlwZSl7XHJcbiAgICAgICAgICAgICAgICAgICAgd2F0ZXIuYWN0aXZlID0gdHJ1ZTtcclxuICAgICAgICAgICAgICAgICAgICB3YXRlci5nZXRDb21wb25lbnQoY2MuU3ByaXRlKS5zcHJpdGVGcmFtZSA9IHRoaXMuVUlbXCJfc3ByaXRlRnJhbWVzXCJdW1wiYmxvY2sxXCJdO1xyXG4gICAgICAgICAgICAgICAgICAgIHdhdGVyLm9wYWNpdHkgPSAwO1xyXG4gICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIGVsc2UgaWYoc3AuYW5nbGUgPT0gLTE4MCl7XHJcbiAgICAgICAgICAgICAgICB0dXJuLmFjdGl2ZSA9dHJ1ZTtcclxuICAgICAgICAgICAgICAgIHR1cm4uZ2V0Q29tcG9uZW50KGNjLlNwcml0ZSkuc3ByaXRlRnJhbWUgPSB0aGlzLlVJW1wiX3Nwcml0ZUZyYW1lc1wiXVtcImExXCJdO1xyXG4gICAgICAgICAgICAgICAgdHVybi5hbmdsZSA9IDA7XHJcbiAgICAgICAgICAgICAgICBpZih0eXBlKXtcclxuICAgICAgICAgICAgICAgICAgICB3YXRlci5hY3RpdmUgPSB0cnVlO1xyXG4gICAgICAgICAgICAgICAgICAgIHdhdGVyLmdldENvbXBvbmVudChjYy5TcHJpdGUpLnNwcml0ZUZyYW1lID0gdGhpcy5VSVtcIl9zcHJpdGVGcmFtZXNcIl1bXCJibG9jazFcIl07XHJcbiAgICAgICAgICAgICAgICAgICAgd2F0ZXIub3BhY2l0eSA9IDA7XHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICB9XHJcbiAgICAvL+aBr+WjpOWFt+S9k+aJp+ihjOaWueazlSAg5aSW6YOo5Y+v6LCD55SoXHJcbiAgICBzZXRfWGlfU29pbFR5cGUoZGlyZWN0aW9uLGVuZCxuYW1lKXtcclxuICAgICAgICAvLyBjb25zb2xlLmxvZyhcIuaBr+WjpFwiLGRpcmVjdGlvbixuYW1lLGVuZCk7XHJcbiAgICAgICAgdmFyIGpnID0gdGhpcy5yZXBlYXRSb2FkKHRydWUsZGlyZWN0aW9uKTtcclxuICAgICAgICBjb25zb2xlLmxvZyhcIuaBr+WjpOmHjeWkjeWIpOaWree7k+aenFwiLGpnKTtcclxuICAgICAgICBpZihqZyA9PSB0cnVlKXtcclxuICAgICAgICAgICAgY2MuZnguTm90aWZpY2F0aW9ucy5lbWl0KGNjLmZ4Lk1lc3NhZ2Uuc2hvd1Jlc3VsdCxcImxvc2VcIik7XHJcbiAgICAgICAgICAgIHJldHVybjtcclxuICAgICAgICB9IFxyXG5cclxuICAgICAgICBpZih0aGlzLmJsb2NrX1R5cGUgPT0gY2MuRW51bShCbG9ja1R5cGUpLlN0YXJ0KXtcclxuICAgICAgICAgICAgdGhpcy5zZXRfWGlfU29pbChkaXJlY3Rpb24sZmFsc2UpO1xyXG4gICAgICAgICAgICByZXR1cm47XHJcbiAgICAgICAgfVxyXG5cclxuICAgICAgICBpZih0aGlzLmJsb2NrX1R5cGUgPT0gY2MuRW51bShCbG9ja1R5cGUpLk51bmphKXtcclxuICAgICAgICAgICAgdGhpcy5ibG9ja19UeXBlID0gY2MuRW51bShCbG9ja1R5cGUpLk5vbWFsO1xyXG4gICAgICAgICAgICB0aGlzLm5vZGUuZ2V0Q2hpbGRCeU5hbWUoXCJiZ1wiKS5nZXRDb21wb25lbnQoY2MuU3ByaXRlKS5zcHJpdGVGcmFtZSA9IG51bGw7XHJcbiAgICAgICAgICAgIHRoaXMubm9kZS5nZXRDb21wb25lbnQoY2MuU3ByaXRlKS5zcHJpdGVGcmFtZSA9ICB0aGlzLlVJW1wiX3Nwcml0ZUZyYW1lc1wiXVtcImJsb2NrX0JnXCJdO1xyXG4gICAgICAgIH1cclxuICAgICAgICBpZihlbmQgIT0gbnVsbCl7XHJcbiAgICAgICAgICAgIGlmKHRoaXMuYmxvY2tfVHlwZSA9PSBjYy5FbnVtKEJsb2NrVHlwZSkuRW5kKXtcclxuICAgICAgICAgICAgICAgIHRoaXMuZmluaXNoaSA9IHRydWU7XHJcbiAgICAgICAgICAgICAgICBzZXRUaW1lb3V0KCgpID0+IHtcclxuICAgICAgICAgICAgICAgICAgICB0aGlzLnNldF9YaV9Tb2lsKGRpcmVjdGlvbix0cnVlKTtcclxuICAgICAgICAgICAgICAgIH0sIDUwMCk7XHJcbiAgICAgICAgIFxyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIHNldFRpbWVvdXQoKCkgPT4ge1xyXG4gICAgICAgICAgICAgICAgaWYobmFtZSA9PSBcIndhdGVyXCIpIGNjLmZ4Lk5vdGlmaWNhdGlvbnMuZW1pdChjYy5meC5NZXNzYWdlLm5leHRXYXRlciwoZW5kKzEpKTtcclxuICAgICAgICAgICAgICAgIGVsc2UgY2MuZnguTm90aWZpY2F0aW9ucy5lbWl0KGNjLmZ4Lk1lc3NhZ2UubmV4dCwoZW5kKzEpKTtcclxuICAgICAgICAgICAgfSwgNDAwKTtcclxuICAgICAgICB9XHJcblxyXG4gICAgICAgIGlmKHRoaXMuYmxvY2tfVHlwZSAhPSBjYy5FbnVtKEJsb2NrVHlwZSkuRW5kICYmIHRoaXMuYmxvY2tfVHlwZSAhPSBjYy5FbnVtKEJsb2NrVHlwZSkuU3RhcnQpe1xyXG4gICAgICAgICAgICB0aGlzLmJsb2NrX1R5cGUgPSBjYy5FbnVtKEJsb2NrVHlwZSkuWGlfU29pbDtcclxuICAgICAgICB9IFxyXG4gICAgICAgIGVsc2V7XHJcbiAgICAgICAgfVxyXG5cclxuICAgICAgICBsZXQgdGFyZ2V0ID0gdGhpcy5ub2RlLmdldENoaWxkQnlOYW1lKFwiWGlfU29pbFwiKTsgXHJcbiAgICAgICAgdGhpcy5wYXRoX1R5cGUgPSBkaXJlY3Rpb247XHJcbiAgICAgICAgdGFyZ2V0LmFjdGl2ZSA9IHRydWU7XHJcbiAgICAgICAgdGFyZ2V0Lm9wYWNpdHkgPSAwO1xyXG4gICAgICAgIGNjLnR3ZWVuKHRhcmdldClcclxuICAgICAgICAudG8oMC4xLHtvcGFjaXR5OjI1NX0pXHJcbiAgICAgICAgLnRvKDAuMSx7b3BhY2l0eTowfSlcclxuICAgICAgICAuY2FsbCgoKSA9PntcclxuICAgICAgICAgICAgaWYoZGlyZWN0aW9uICE9IG51bGwgJiYgZW5kID09IG51bGwpe1xyXG4gICAgICAgICAgICAgICAgbGV0IGRhdGEgPSB7XHJcbiAgICAgICAgICAgICAgICAgICAgb3JkZXI6MCxcclxuICAgICAgICAgICAgICAgICAgICB0aW1lOmNjLmZ4LkdhbWVDb25maWcuVElNRV9JTkZPLndhdGVyU3BlZWRbMF0sXHJcbiAgICAgICAgICAgICAgICAgICAgdHlwZTowLFxyXG4gICAgICAgICAgICAgICAgICAgIGNpcmN1bGF0ZTpmYWxzZVxyXG4gICAgICAgICAgICAgICAgfTtcclxuICAgICAgICAgICAgICAgIGlmKG5hbWUgPT0gXCJ3YXRlclwiKXtcclxuICAgICAgICAgICAgICAgICAgICB0aGlzLnJ1bldhdGVyKGRhdGEpO1xyXG4gICAgICAgICAgICAgICAgfSBcclxuICAgICAgICAgICAgICAgIGVsc2UgdGhpcy5ydW5Sb2FkKGRhdGEpO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfSlcclxuICAgICAgICAuc3RhcnQoKTtcclxuICAgIH1cclxuICAgIC8v5Yik5pat6YeN5aSN6Lev5b6EIFxyXG4gICAgcmVwZWF0Um9hZCh0eXBlLGRpcmVjdGlvbil7XHJcbiAgICAgICAgLy/lpoLmnpzlj4zlkJHpg73ljaDnlKjkuobov5jov5vmnaXlsLHnrpfmrbvkuoYtIFxyXG4gICAgICAgIHZhciBqZyA9IGZhbHNlO1xyXG5cclxuICAgICAgICBpZih0aGlzLm5vZGUuZ2V0Q2hpbGRCeU5hbWUoXCJ2ZXJ0aWNhbDJcIikuYWN0aXZlID09IHRydWUgJiYgdGhpcy5ub2RlLmdldENoaWxkQnlOYW1lKFwiaG9yaXpvbnRhbDJcIikuYWN0aXZlID09IHRydWUpe1xyXG4gICAgICAgICAgICAvLyBhbGVydChcIuayu+awtOWksei0pVwiKTtcclxuICAgICAgICAgICAgamcgPSB0cnVlO1xyXG4gICAgICAgICAgICBpZih0eXBlKXtcclxuICAgICAgICAgICAgICAgIGNjLmZ4Lk5vdGlmaWNhdGlvbnMuZW1pdChjYy5meC5NZXNzYWdlLnNob3dSZXN1bHQsXCJsb3NlXCIpO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG5cclxuICAgICAgICBlbHNlIGlmKHRoaXMubm9kZS5nZXRDaGlsZEJ5TmFtZShcInR1cm4yXCIpLmFjdGl2ZSA9PSB0cnVlICYmIHRoaXMuYmxvY2tfVHlwZSAhPSBjYy5FbnVtKEJsb2NrVHlwZSkuWGlfU29pbCl7XHJcbiAgICAgICAgICAgIC8vIGFsZXJ0KFwi5rK75rC05aSx6LSlXCIpO1xyXG4gICAgICAgICAgICBqZyA9IHRydWU7XHJcbiAgICAgICAgICAgIGlmKHR5cGUpe1xyXG4gICAgICAgICAgICAgICAgY2MuZnguTm90aWZpY2F0aW9ucy5lbWl0KGNjLmZ4Lk1lc3NhZ2Uuc2hvd1Jlc3VsdCxcImxvc2VcIik7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcblxyXG4gICAgICAgIGlmKGRpcmVjdGlvbil7XHJcbiAgICAgICAgICAgIGlmKHRoaXMubm9kZS5nZXRDaGlsZEJ5TmFtZShcInZlcnRpY2FsMlwiKS5hY3RpdmUgPT0gdHJ1ZSAmJiB0aGlzLmJsb2NrX1R5cGUgPT0gY2MuRW51bShCbG9ja1R5cGUpLlhpX1NvaWwgJiYgKGRpcmVjdGlvbiA9PSBcInVwXCJ8fCBkaXJlY3Rpb24gPT1cImRvd25cIikpe1xyXG4gICAgICAgICAgICAgICAgLy8gYWxlcnQoXCLmsrvmsLTlpLHotKVcIik7XHJcbiAgICAgICAgICAgICAgICBpZih0aGlzLm5vZGUuZ2V0Q2hpbGRCeU5hbWUoXCJ2ZXJ0aWNhbDJcIikuYW5nbGUgPT0gMCB8fCB0aGlzLm5vZGUuZ2V0Q2hpbGRCeU5hbWUoXCJ2ZXJ0aWNhbDJcIikuYW5nbGUgPT0gMTgwICl7XHJcbiAgICAgICAgICAgICAgICAgICAgamcgPSB0cnVlO1xyXG4gICAgICAgICAgICAgICAgICAgIGlmKHR5cGUpe1xyXG4gICAgICAgICAgICAgICAgICAgICAgICBjYy5meC5Ob3RpZmljYXRpb25zLmVtaXQoY2MuZnguTWVzc2FnZS5zaG93UmVzdWx0LFwibG9zZVwiKTtcclxuICAgICAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICB9XHJcblxyXG5cclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICBlbHNlIGlmKHRoaXMubm9kZS5nZXRDaGlsZEJ5TmFtZShcInZlcnRpY2FsMlwiKS5hY3RpdmUgPT0gdHJ1ZSAmJiB0aGlzLmJsb2NrX1R5cGUgPT0gY2MuRW51bShCbG9ja1R5cGUpLlhpX1NvaWwgJiYgKGRpcmVjdGlvbiA9PSBcInJpZ2h0XCJ8fCBkaXJlY3Rpb24gPT1cImxlZnRcIikpe1xyXG4gICAgICAgICAgICAgICAgLy8gYWxlcnQoXCLmsrvmsLTlpLHotKVcIik7XHJcbiAgICAgICAgICAgICAgICBpZih0aGlzLm5vZGUuZ2V0Q2hpbGRCeU5hbWUoXCJ2ZXJ0aWNhbDJcIikuYW5nbGUgPT0gOTAgfHwgdGhpcy5ub2RlLmdldENoaWxkQnlOYW1lKFwidmVydGljYWwyXCIpLmFuZ2xlID09IDI3MCApe1xyXG4gICAgICAgICAgICAgICAgICAgIGpnID0gdHJ1ZTtcclxuICAgICAgICAgICAgICAgICAgICBpZih0eXBlKXtcclxuICAgICAgICAgICAgICAgICAgICAgICAgY2MuZnguTm90aWZpY2F0aW9ucy5lbWl0KGNjLmZ4Lk1lc3NhZ2Uuc2hvd1Jlc3VsdCxcImxvc2VcIik7XHJcbiAgICAgICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgfSAgICBcclxuXHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcblxyXG4gICAgICAgIHJldHVybiBqZztcclxuICAgIH1cclxuXHJcbiAgICAvL+S/ruetkei3r+e6v+aJp+ihjFxyXG4gICAgcnVuUm9hZChkYXRhKXtcclxuICAgICAgICBpZih0aGlzLnBhdGhfVHlwZSA9PSBcImVyclwiKXtcclxuICAgICAgICAgICAgc2V0VGltZW91dCgoKSA9PiB7XHJcbiAgICAgICAgICAgICAgICBpZihkYXRhLmNpcmN1bGF0ZSlcclxuICAgICAgICAgICAgICAgICAgICBjYy5meC5Ob3RpZmljYXRpb25zLmVtaXQoY2MuZnguTWVzc2FnZS5uZXh0LG9yZGVyKTtcclxuICAgICAgICAgICAgfSwgZGF0YS50aW1lKTtcclxuICAgICAgICAgICAgcmV0dXJuO1xyXG4gICAgICAgIH1cclxuICAgICAgICB2YXIgamcgPSB0aGlzLnJlcGVhdFJvYWQodHJ1ZSxudWxsKTtcclxuICAgICAgICBpZihqZyA9PSB0cnVlKSByZXR1cm47XHJcbiAgICAgICAgdmFyIHRhcmdldCA9IG51bGw7XHJcbiAgICAgICAgdmFyIHByb2dyZXNzID0gMTtcclxuICAgICAgICB2YXIgdGltZSA9IGRhdGEudGltZTtcclxuICAgICAgICB2YXIgb3JkZXIgPSBkYXRhLm9yZGVyICsgMTtcclxuICAgICAgICB2YXIgcmFuZG9tID0gTWF0aC5mbG9vcihNYXRoLnJhbmRvbSgpKjQgKyAxKTtcclxuICAgICAgICB0YXJnZXQgPSB0aGlzLm5vZGUuZ2V0Q2hpbGRCeU5hbWUoXCJ2ZXJ0aWNhbDJcIik7XHJcbiAgICAgICAgaWYodGFyZ2V0Lm5hbWUgPT0gXCJ2ZXJ0aWNhbFwiKXtcclxuICAgICAgICAgICAgbGV0IHdhdGVyMSA9IHRhcmdldC5nZXRDaGlsZEJ5TmFtZShcIndhdmVcIikuZ2V0Q2hpbGRCeU5hbWUoXCJ3YXRlcjFcIik7XHJcbiAgICAgICAgICAgIGxldCB3YXRlcjIgPSB0YXJnZXQuZ2V0Q2hpbGRCeU5hbWUoXCJ3YXZlXCIpLmdldENoaWxkQnlOYW1lKFwid2F0ZXIyXCIpO1xyXG4gICAgICAgICAgICBsZXQgd2F0ZXIzID0gdGFyZ2V0LmdldENoaWxkQnlOYW1lKFwid2F2ZVwiKS5nZXRDaGlsZEJ5TmFtZShcIndhdGVyM1wiKTtcclxuICAgICAgICAgICAgbGV0IHRpbWVEZWxheSA9IDAuMTU7XHJcbiAgICAgICAgICAgIHdhdGVyMS5ydW5BY3Rpb24oY2Muc2VxdWVuY2UoY2MubW92ZVRvKDAuNixjYy52Mih3YXRlcjEueCwxMjApKSxjYy5kZWxheVRpbWUodGltZURlbGF5KSxcclxuICAgICAgICAgICAgY2MuY2FsbEZ1bmMoKCk9PntcclxuICAgICAgICAgICAgICAgIHdhdGVyMS55ID0gLTEyMFxyXG4gICAgICAgICAgICB9KSkucmVwZWF0Rm9yZXZlcigpKTtcclxuICAgICAgICAgICAgd2F0ZXIyLnJ1bkFjdGlvbihjYy5zZXF1ZW5jZShjYy5tb3ZlVG8oMC42LGNjLnYyKHdhdGVyMi54LDEyMCkpLGNjLmRlbGF5VGltZSh0aW1lRGVsYXkpLFxyXG4gICAgICAgICAgICBjYy5jYWxsRnVuYygoKT0+e1xyXG4gICAgICAgICAgICAgICAgd2F0ZXIyLnkgPSAtMTIwXHJcbiAgICAgICAgICAgIH0pKS5yZXBlYXRGb3JldmVyKCkpO1xyXG4gICAgICAgICAgICB3YXRlcjMucnVuQWN0aW9uKGNjLnNlcXVlbmNlKGNjLm1vdmVUbygwLjYsY2MudjIod2F0ZXIzLngsMTIwKSksY2MuZGVsYXlUaW1lKHRpbWVEZWxheSksXHJcbiAgICAgICAgICAgIGNjLmNhbGxGdW5jKCgpPT57XHJcbiAgICAgICAgICAgICAgICB3YXRlcjMueSA9IC0xMjBcclxuICAgICAgICAgICAgfSkpLnJlcGVhdEZvcmV2ZXIoKSk7XHJcbiAgICAgICAgfVxyXG5cclxuICAgICAgICB2YXIgbmFtZSA9IFwiYVwiICsgcmFuZG9tO1xyXG4gICAgICAgIGlmKHRoaXMuYmxvY2tfVHlwZSAhPSBjYy5FbnVtKEJsb2NrVHlwZSkuUmVpbmZvcmNlKXRhcmdldC5nZXRDb21wb25lbnQoY2MuU3ByaXRlKS5zcHJpdGVGcmFtZSA9IHRoaXMuVUlbXCJfc3ByaXRlRnJhbWVzXCJdW25hbWVdO1xyXG5cclxuICAgICAgICBpZih0YXJnZXQuYWN0aXZlID09IHRydWUpe1xyXG4gICAgICAgICAgICB0YXJnZXQgPSB0aGlzLm5vZGUuZ2V0Q2hpbGRCeU5hbWUoXCJob3Jpem9udGFsMlwiKTtcclxuICAgICAgICAgICAgbmFtZSA9IFwiYlwiICsgcmFuZG9tO1xyXG4gICAgICAgICAgICBpZih0aGlzLmJsb2NrX1R5cGUgIT0gY2MuRW51bShCbG9ja1R5cGUpLlJlaW5mb3JjZSkgdGFyZ2V0LmdldENvbXBvbmVudChjYy5TcHJpdGUpLnNwcml0ZUZyYW1lID0gdGhpcy5VSVtcIl9zcHJpdGVGcmFtZXNcIl1bbmFtZV07XHJcbiAgICAgICAgfSBcclxuICAgICAgICAvLyBjb25zb2xlLmxvZyh0aGlzLnBhdGhfVHlwZSxkYXRhLm9yZGVyKTtcclxuICAgICAgICBpZih0aGlzLnBhdGhfVHlwZSA9PSBjYy5FbnVtKFBhdGhUeXBlKS51cCl7XHJcbiAgICAgICAgfVxyXG4gICAgICAgIGVsc2UgaWYodGhpcy5wYXRoX1R5cGUgPT0gY2MuRW51bShQYXRoVHlwZSkuZG93bil7XHJcbiAgICAgICAgICAgIHRhcmdldC5hbmdsZSA9IDE4MDtcclxuICAgICAgICB9XHJcbiAgICAgICAgZWxzZSBpZih0aGlzLnBhdGhfVHlwZSA9PSBjYy5FbnVtKFBhdGhUeXBlKS5sZWZ0KXtcclxuICAgICAgICAgICAgdGFyZ2V0LmFuZ2xlID0gOTA7XHJcbiAgICAgICAgICAgIG5hbWUgPSBcImJcIiArIHJhbmRvbTtcclxuICAgICAgICAgICAgaWYodGhpcy5ibG9ja19UeXBlICE9IGNjLkVudW0oQmxvY2tUeXBlKS5SZWluZm9yY2UpIHRhcmdldC5nZXRDb21wb25lbnQoY2MuU3ByaXRlKS5zcHJpdGVGcmFtZSA9IHRoaXMuVUlbXCJfc3ByaXRlRnJhbWVzXCJdW25hbWVdO1xyXG4gICAgICAgIH1cclxuICAgICAgICBlbHNlIGlmKHRoaXMucGF0aF9UeXBlID09IGNjLkVudW0oUGF0aFR5cGUpLnJpZ2h0KXtcclxuICAgICAgICAgICAgdGFyZ2V0LmFuZ2xlID0gMjcwO1xyXG4gICAgICAgICAgICBuYW1lID0gXCJiXCIgKyByYW5kb207XHJcbiAgICAgICAgICAgIGlmKHRoaXMuYmxvY2tfVHlwZSAhPSBjYy5FbnVtKEJsb2NrVHlwZSkuUmVpbmZvcmNlKSB0YXJnZXQuZ2V0Q29tcG9uZW50KGNjLlNwcml0ZSkuc3ByaXRlRnJhbWUgPSB0aGlzLlVJW1wiX3Nwcml0ZUZyYW1lc1wiXVtuYW1lXTtcclxuICAgICAgICB9XHJcbiAgICAgICAgZWxzZXtcclxuICAgICAgICAgICAgdGFyZ2V0ID0gdGhpcy5ub2RlLmdldENoaWxkQnlOYW1lKFwidHVybjJcIik7XHJcbiAgICAgICAgICAgIGlmKHRhcmdldC5uYW1lID09IFwidHVyblwiKXtcclxuICAgICAgICAgICAgICAgIGxldCB3YXRlciA9IHRhcmdldC5nZXRDaGlsZEJ5TmFtZShcIndhdmVcIikuZ2V0Q2hpbGRCeU5hbWUoXCJ3YXRlclwiKTtcclxuICAgICAgICAgICAgICAgIHdhdGVyLm9wYWNpdHkgPSAwXHJcbiAgICAgICAgICAgICAgICB3YXRlci5ydW5BY3Rpb24oY2Muc2VxdWVuY2UoY2Mucm90YXRlVG8oNy4yLC0xMDgwKSxjYy5kZWxheVRpbWUoMCkpLnJlcGVhdEZvcmV2ZXIoKSk7XHJcbiAgICAgICAgICAgICAgICBzZXRUaW1lb3V0KCgpID0+IHtcclxuICAgICAgICAgICAgICAgICAgICB3YXRlci5vcGFjaXR5ID0gMjU1O1xyXG4gICAgICAgICAgICAgICAgfSwgMjAwKTtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICBuYW1lID0gXCJjXCIgKyByYW5kb207XHJcbiAgICAgICAgICAgIGlmKHRoaXMuYmxvY2tfVHlwZSAhPSBjYy5FbnVtKEJsb2NrVHlwZSkuUmVpbmZvcmNlKXRhcmdldC5nZXRDb21wb25lbnQoY2MuU3ByaXRlKS5zcHJpdGVGcmFtZSA9IHRoaXMuVUlbXCJfc3ByaXRlRnJhbWVzXCJdW25hbWVdO1xyXG4gICAgICAgICAgICBwcm9ncmVzcyA9IDAuMjU7XHJcbiAgICAgICAgICAgIGlmKHRoaXMucGF0aF9UeXBlID09IGNjLkVudW0oUGF0aFR5cGUpLnVwX2xlZnQpe1xyXG4gICAgICAgICAgICAgICAgdGFyZ2V0LnNldFBvc2l0aW9uKC10aGlzLnBvc19TaGlmdGluZywtdGhpcy5wb3NfU2hpZnRpbmcpO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIGVsc2UgaWYodGhpcy5wYXRoX1R5cGUgPT0gY2MuRW51bShQYXRoVHlwZSkudXBfcmlnaHQpe1xyXG4gICAgICAgICAgICAgICAgdGFyZ2V0LnNjYWxlWCA9IC0xO1xyXG4gICAgICAgICAgICAgICAgdGFyZ2V0LnNldFBvc2l0aW9uKHRoaXMucG9zX1NoaWZ0aW5nLC10aGlzLnBvc19TaGlmdGluZyk7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgZWxzZSBpZih0aGlzLnBhdGhfVHlwZSA9PSBjYy5FbnVtKFBhdGhUeXBlKS5kb3duX2xlZnQpe1xyXG4gICAgICAgICAgICAgICAgdGFyZ2V0LmFuZ2xlID0gMTgwO1xyXG4gICAgICAgICAgICAgICAgdGFyZ2V0LnNjYWxlWCA9IC0xO1xyXG4gICAgICAgICAgICAgICAgdGFyZ2V0LnNldFBvc2l0aW9uKC10aGlzLnBvc19TaGlmdGluZyx0aGlzLnBvc19TaGlmdGluZyk7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgZWxzZSBpZih0aGlzLnBhdGhfVHlwZSA9PSBjYy5FbnVtKFBhdGhUeXBlKS5kb3duX3JpZ2h0KXtcclxuICAgICAgICAgICAgICAgIHRhcmdldC5hbmdsZSA9IDE4MDtcclxuICAgICAgICAgICAgICAgIHRhcmdldC5zZXRQb3NpdGlvbih0aGlzLnBvc19TaGlmdGluZyx0aGlzLnBvc19TaGlmdGluZyk7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgZWxzZSBpZih0aGlzLnBhdGhfVHlwZSA9PSBjYy5FbnVtKFBhdGhUeXBlKS5sZWZ0X3VwKXtcclxuICAgICAgICAgICAgICAgIHRhcmdldC5hbmdsZSA9IC05MDtcclxuICAgICAgICAgICAgICAgIHRhcmdldC5zY2FsZVkgPSAtMTtcclxuICAgICAgICAgICAgICAgIHRhcmdldC5zZXRQb3NpdGlvbih0aGlzLnBvc19TaGlmdGluZyx0aGlzLnBvc19TaGlmdGluZyk7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgZWxzZSBpZih0aGlzLnBhdGhfVHlwZSA9PSBjYy5FbnVtKFBhdGhUeXBlKS5sZWZ0X2Rvd24pe1xyXG4gICAgICAgICAgICAgICAgdGFyZ2V0LmFuZ2xlID0gOTA7XHJcbiAgICAgICAgICAgICAgICB0YXJnZXQuc2V0UG9zaXRpb24oLXRoaXMucG9zX1NoaWZ0aW5nLC10aGlzLnBvc19TaGlmdGluZyk7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgZWxzZSBpZih0aGlzLnBhdGhfVHlwZSA9PSBjYy5FbnVtKFBhdGhUeXBlKS5yaWdodF91cCl7XHJcbiAgICAgICAgICAgICAgICB0YXJnZXQuYW5nbGUgPSAtOTA7XHJcbiAgICAgICAgICAgICAgICB0YXJnZXQuc2V0UG9zaXRpb24oLXRoaXMucG9zX1NoaWZ0aW5nLHRoaXMucG9zX1NoaWZ0aW5nKTtcclxuICAgICBcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICBlbHNlIGlmKHRoaXMucGF0aF9UeXBlID09IGNjLkVudW0oUGF0aFR5cGUpLnJpZ2h0X2Rvd24pe1xyXG4gICAgICAgICAgICAgICAgdGFyZ2V0LmFuZ2xlID0gLTkwO1xyXG4gICAgICAgICAgICAgICAgdGFyZ2V0LnNjYWxlWCA9IC0xO1xyXG4gICAgICAgICAgICAgICAgdGFyZ2V0LnNldFBvc2l0aW9uKC10aGlzLnBvc19TaGlmdGluZywtdGhpcy5wb3NfU2hpZnRpbmcpO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgICAgIGlmKHRoaXMucGF0aF9UeXBlID09IFwiUmVpbmZvcmNlXCIpe1xyXG4gICAgICAgICAgICB0YXJnZXQgPSB0aGlzLm5vZGUuZ2V0Q2hpbGRCeU5hbWUoXCJSZWluZm9yY2VcIik7XHJcbiAgICAgICAgICAgIGlmKHRoaXMuYmxvY2tfVHlwZSA9PSBjYy5FbnVtKEJsb2NrVHlwZSkuUGVhayl7XHJcbiAgICAgICAgICAgICAgICBjYy5meC5Ob3RpZmljYXRpb25zLmVtaXQoY2MuZnguTWVzc2FnZS5zaG93UmVzdWx0LFwibG9zZVwiKTtcclxuICAgICAgICAgICAgICAgIHJldHVybjtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICBpZih0aGlzLmJsb2NrX1R5cGUgIT0gY2MuRW51bShCbG9ja1R5cGUpLkVuZCl0aGlzLmJsb2NrX1R5cGUgPSBjYy5FbnVtKEJsb2NrVHlwZSkuUmVpbmZvcmNlO1xyXG4gICAgICAgICAgICB0aGlzLm5vZGUuZ2V0Q2hpbGRCeU5hbWUoXCJ2ZXJ0aWNhbDJcIikuZ2V0Q29tcG9uZW50KGNjLlNwcml0ZSkuc3ByaXRlRnJhbWUgPSB0aGlzLlVJW1wiX3Nwcml0ZUZyYW1lc1wiXVtcImUxXCJdO1xyXG4gICAgICAgICAgICB0aGlzLm5vZGUuZ2V0Q2hpbGRCeU5hbWUoXCJ0dXJuMlwiKS5nZXRDb21wb25lbnQoY2MuU3ByaXRlKS5zcHJpdGVGcmFtZSA9IHRoaXMuVUlbXCJfc3ByaXRlRnJhbWVzXCJdW1wiZTNcIl07XHJcbiAgICAgICAgICAgIHRoaXMubm9kZS5nZXRDaGlsZEJ5TmFtZShcImhvcml6b250YWwyXCIpLmdldENvbXBvbmVudChjYy5TcHJpdGUpLnNwcml0ZUZyYW1lID0gdGhpcy5VSVtcIl9zcHJpdGVGcmFtZXNcIl1bXCJlMlwiXTtcclxuICAgICAgICAgICAgdGFyZ2V0LmFjdGl2ZSA9IHRydWU7XHJcbiAgICAgICAgICAgIHRhcmdldC5vcGFjaXR5ID0gMDtcclxuICAgICAgICAgICAgcHJvZ3Jlc3MgPSAxO1xyXG4gICAgICAgICAgICBjYy50d2Vlbih0YXJnZXQpXHJcbiAgICAgICAgICAgIC50byhjYy5meC5HYW1lQ29uZmlnLlRJTUVfSU5GTy5SZWluZm9yY2VTcGVlZCx7b3BhY2l0eToyNTV9KVxyXG4gICAgICAgICAgICAuY2FsbCgoKSA9PntcclxuICAgICAgICAgICAgICAgIGlmKGRhdGEuY2lyY3VsYXRlKVxyXG4gICAgICAgICAgICAgICAgICAgIGNjLmZ4Lk5vdGlmaWNhdGlvbnMuZW1pdChjYy5meC5NZXNzYWdlLmNoYW5nZU1hcCxvcmRlcik7XHJcbiAgICAgICAgICAgICAgICAgICAgY2MuZnguTm90aWZpY2F0aW9ucy5lbWl0KGNjLmZ4Lk1lc3NhZ2UubmV4dCxvcmRlcik7XHJcbiAgICAgICAgICAgIH0pXHJcbiAgICAgICAgICAgIC5zdGFydCgpO1xyXG4gICAgICAgIH1cclxuICAgICAgICBlbHNlIGlmKHRoaXMucGF0aF9UeXBlID09IFwiWGlfU29pbFwiKXtcclxuICAgICAgICAgICAgdGFyZ2V0LmFjdGl2ZSA9IGZhbHNlO1xyXG4gICAgICAgICAgICBpZih0aGlzLmJsb2NrX1R5cGUgIT0gY2MuRW51bShCbG9ja1R5cGUpLkVuZCAmJiB0aGlzLmJsb2NrX1R5cGUgIT0gY2MuRW51bShCbG9ja1R5cGUpLlN0YXJ0KVxyXG4gICAgICAgICAgICAgICAgdGhpcy5ibG9ja19UeXBlID0gY2MuRW51bShCbG9ja1R5cGUpLlhpX1NvaWw7XHJcbiAgICAgICAgICAgIHRhcmdldCA9IHRoaXMubm9kZS5nZXRDaGlsZEJ5TmFtZShcIlhpX1NvaWxcIik7IFxyXG4gICAgICAgICAgICB0YXJnZXQuYWN0aXZlID0gdHJ1ZTtcclxuICAgICAgICAgICAgdGFyZ2V0Lm9wYWNpdHkgPSAwO1xyXG4gICAgICAgICAgICBjYy50d2Vlbih0YXJnZXQpXHJcbiAgICAgICAgICAgIC50bygwLjAxLHtvcGFjaXR5OjF9KVxyXG4gICAgICAgICAgICAudG8oMC4wMSx7b3BhY2l0eTowfSlcclxuICAgICAgICAgICAgLmNhbGwoKCkgPT57XHJcbiAgICAgICAgICAgICAgICBpZihkYXRhLmNpcmN1bGF0ZSl7XHJcbiAgICAgICAgICAgICAgICAgICAgY2MuZnguTm90aWZpY2F0aW9ucy5lbWl0KGNjLmZ4Lk1lc3NhZ2UubmV4dCxvcmRlcik7XHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICAgICBcclxuICAgICAgICAgICAgfSlcclxuICAgICAgICAgICAgLnN0YXJ0KCk7XHJcbiAgICAgICAgfVxyXG4gICAgICAgIGVsc2UgaWYodGhpcy5wYXRoX1R5cGUgPT0gXCJFbmRcIil7XHJcbiAgICAgICAgICAgIHRhcmdldC5hY3RpdmUgPSBmYWxzZTtcclxuICAgICAgICAgICAgaWYodGhpcy5ibG9ja19UeXBlICE9IGNjLkVudW0oQmxvY2tUeXBlKS5FbmQgJiYgdGhpcy5ibG9ja19UeXBlICE9IGNjLkVudW0oQmxvY2tUeXBlKS5TdGFydClcclxuICAgICAgICAgICAgICAgIHRoaXMuYmxvY2tfVHlwZSA9IGNjLkVudW0oQmxvY2tUeXBlKS5YaV9Tb2lsO1xyXG4gICAgICAgICAgICBsZXQgcG9zVGVtcCA9IGRhdGEubGFzdDtcclxuICAgICAgICAgICAgdmFyIGRpcmVjdGlvbiA9IFwidXBcIjtcclxuICAgICAgICAgICAgaWYodGhpcy5wb3MueCAtIHBvc1RlbXAueCA+PSAxKXtcclxuICAgICAgICAgICAgICAgIGRpcmVjdGlvbiA9IFwicmlnaHRcIjtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICBlbHNlIGlmKHRoaXMucG9zLnggLSBwb3NUZW1wLnggPD0gLTEpe1xyXG4gICAgICAgICAgICAgICAgZGlyZWN0aW9uID0gXCJsZWZ0XCI7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgZWxzZSBpZih0aGlzLnBvcy55IC0gcG9zVGVtcC55ID49IDEpe1xyXG4gICAgICAgICAgICAgICAgZGlyZWN0aW9uID0gXCJkb3duXCI7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgICBcclxuICAgICAgICAgICAgLy8gY29uc29sZS5sb2coXCLnu5PmnZ/mlrnlkJE6XCIsZGlyZWN0aW9uKTtcclxuICAgICAgICAgICAgaWYoIXRoaXMuZmluaXNoaSl7XHJcbiAgICAgICAgICAgICAgICB0aGlzLmZpbmlzaGkgPSB0cnVlO1xyXG4gICAgICAgICAgICAgICAgdGhpcy5zZXRfWGlfU29pbChkaXJlY3Rpb24sdHJ1ZSk7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICAgICAgZWxzZXtcclxuICAgICAgICAgICAgdGFyZ2V0LmFjdGl2ZSA9IHRydWU7XHJcbiAgICAgICAgICAgIGlmKHRoaXMuYmxvY2tfVHlwZSAhPSBjYy5FbnVtKEJsb2NrVHlwZSkuWGlfU29pbCl7XHJcbiAgICAgICAgICAgICAgICB0YXJnZXQuZ2V0Q29tcG9uZW50KGNjLlNwcml0ZSkuZmlsbFJhbmdlID0gMDtcclxuICAgICAgICAgICAgICAgIGNjLnR3ZWVuKHRhcmdldC5nZXRDb21wb25lbnQoY2MuU3ByaXRlKSlcclxuICAgICAgICAgICAgICAgIC50byh0aW1lLHtmaWxsUmFuZ2U6cHJvZ3Jlc3N9KVxyXG4gICAgICAgICAgICAgICAgLmNhbGwoKCkgPT57XHJcbiAgICAgICAgICAgICAgICAgICAgaWYoZGF0YS5jaXJjdWxhdGUpXHJcbiAgICAgICAgICAgICAgICAgICAgICAgIGNjLmZ4Lk5vdGlmaWNhdGlvbnMuZW1pdChjYy5meC5NZXNzYWdlLm5leHQsb3JkZXIpO1xyXG4gICAgICAgICAgICAgICAgfSlcclxuICAgICAgICAgICAgICAgIC5zdGFydCgpO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIGVsc2V7XHJcbiAgICAgICAgICAgICAgICB0YXJnZXQub3BhY2l0eSA9IDA7XHJcbiAgICAgICAgICAgICAgICB0YXJnZXQuZ2V0Q29tcG9uZW50KGNjLlNwcml0ZSkuZmlsbFJhbmdlID0gMTtcclxuICAgICAgICAgICAgICAgIGNjLnR3ZWVuKHRhcmdldClcclxuICAgICAgICAgICAgICAgIC50byh0aW1lLHtvcGFjaXR5OjI1NX0pXHJcbiAgICAgICAgICAgICAgICAuY2FsbCgoKSA9PntcclxuICAgICAgICAgICAgICAgICAgICBpZihkYXRhLmNpcmN1bGF0ZSlcclxuICAgICAgICAgICAgICAgICAgICAgICAgY2MuZnguTm90aWZpY2F0aW9ucy5lbWl0KGNjLmZ4Lk1lc3NhZ2UubmV4dCxvcmRlcik7XHJcbiAgICAgICAgICAgICAgICB9KVxyXG4gICAgICAgICAgICAgICAgLnN0YXJ0KCk7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcblxyXG4gICAgfVxyXG4gICAgLy/mtKrls7DmiafooYxcclxuICAgIHJ1bldhdGVyKGRhdGEpe1xyXG4gICAgICAgIGlmKHRoaXMubm9kZS5nZXRDaGlsZEJ5TmFtZShcIndhdGVyU3RhcnRcIikuYWN0aXZlID09IHRydWUgJiYgdGhpcy5ibG9ja19UeXBlID09IGNjLkVudW0oQmxvY2tUeXBlKS5TdGFydCl7XHJcbiAgICAgICAgICAgIC8vIHNwLmdldENoaWxkQnlOYW1lKFwid2F0ZXJTdGFydFwiKS5vcGFjaXR5ID0gMjU1O1xyXG4gICAgICAgICAgICBjYy50d2Vlbih0aGlzLm5vZGUuZ2V0Q2hpbGRCeU5hbWUoXCJ3YXRlclN0YXJ0XCIpKVxyXG4gICAgICAgICAgICAudG8oMC4yLHtvcGFjaXR5OjI1NX0pXHJcbiAgICAgICAgICAgIC5zdGFydCgpO1xyXG4gICAgICAgIH1cclxuXHJcblxyXG4gICAgICAgIGlmKHRoaXMucGF0aF9UeXBlID09IFwiZXJyXCIpe1xyXG4gICAgICAgICAgICBzZXRUaW1lb3V0KCgpID0+IHtcclxuICAgICAgICAgICAgICAgIGlmKGRhdGEuY2lyY3VsYXRlKVxyXG4gICAgICAgICAgICAgICAgICAgIGNjLmZ4Lk5vdGlmaWNhdGlvbnMuZW1pdChjYy5meC5NZXNzYWdlLm5leHRXYXRlcixvcmRlcik7XHJcbiAgICAgICAgICAgIH0sIGRhdGEudGltZSk7XHJcbiAgICAgICAgICAgIHJldHVybjtcclxuICAgICAgICB9XHJcbiAgICAgICAgLy/lpoLmnpzlj4zlkJHpg73ljaDnlKjkuobov5jov5vmnaXlsLHnrpfmrbvkuoYtIFxyXG4gICAgICAgIGlmKHRoaXMubm9kZS5nZXRDaGlsZEJ5TmFtZShcInZlcnRpY2FsXCIpLmFjdGl2ZSA9PSB0cnVlICYmIHRoaXMubm9kZS5nZXRDaGlsZEJ5TmFtZShcImhvcml6b250YWxcIikuYWN0aXZlID09IHRydWUpe1xyXG4gICAgICAgICAgICAvLyBhbGVydChcIuayu+awtOWksei0pVwiKTtcclxuICAgICAgICAgICAgY2MuZnguTm90aWZpY2F0aW9ucy5lbWl0KGNjLmZ4Lk1lc3NhZ2Uuc2hvd1Jlc3VsdCxcImxvc2VcIik7XHJcbiAgICAgICAgICAgIC8vIGNjLmRpcmVjdG9yLmxvYWRTY2VuZShcIkdhbWVTY2VuZVwiKTtcclxuICAgICAgICAgICAgcmV0dXJuO1xyXG4gICAgICAgIH1cclxuXHJcbiAgICAgICAgZWxzZSBpZih0aGlzLm5vZGUuZ2V0Q2hpbGRCeU5hbWUoXCJ0dXJuXCIpLmFjdGl2ZSA9PSB0cnVlICYmIHRoaXMuYmxvY2tfVHlwZSAhPSBjYy5FbnVtKEJsb2NrVHlwZSkuWGlfU29pbCl7XHJcbiAgICAgICAgICAgIC8vIGFsZXJ0KFwi5rK75rC05aSx6LSlXCIpO1xyXG4gICAgICAgICAgICBjYy5meC5Ob3RpZmljYXRpb25zLmVtaXQoY2MuZnguTWVzc2FnZS5zaG93UmVzdWx0LFwibG9zZVwiKTtcclxuICAgICAgICAgICAgLy8gY2MuZGlyZWN0b3IubG9hZFNjZW5lKFwiR2FtZVNjZW5lXCIpO1xyXG4gICAgICAgICAgICByZXR1cm47XHJcbiAgICAgICAgfVxyXG4gICAgICAgIHZhciB0YXJnZXQgPSBudWxsO1xyXG4gICAgICAgIHZhciBwcm9ncmVzcyA9IDE7XHJcbiAgICAgICAgdmFyIHRpbWUgPSBkYXRhLnRpbWU7XHJcbiAgICAgICAgdmFyIG9yZGVyID0gZGF0YS5vcmRlciArIDE7XHJcbiAgICAgICAgdmFyIHJhbmRvbSA9IE1hdGguZmxvb3IoTWF0aC5yYW5kb20oKSo0ICsgMSk7XHJcbiAgICAgICAgdGFyZ2V0ID0gdGhpcy5ub2RlLmdldENoaWxkQnlOYW1lKFwidmVydGljYWxcIik7XHJcbiAgICAgICAgaWYodGFyZ2V0Lm5hbWUgPT0gXCJ2ZXJ0aWNhbFwiKXtcclxuICAgICAgICAgICAgbGV0IHdhdGVyMSA9IHRhcmdldC5nZXRDaGlsZEJ5TmFtZShcIndhdmVcIikuZ2V0Q2hpbGRCeU5hbWUoXCJ3YXRlcjFcIik7XHJcbiAgICAgICAgICAgIGxldCB3YXRlcjIgPSB0YXJnZXQuZ2V0Q2hpbGRCeU5hbWUoXCJ3YXZlXCIpLmdldENoaWxkQnlOYW1lKFwid2F0ZXIyXCIpO1xyXG4gICAgICAgICAgICBsZXQgd2F0ZXIzID0gdGFyZ2V0LmdldENoaWxkQnlOYW1lKFwid2F2ZVwiKS5nZXRDaGlsZEJ5TmFtZShcIndhdGVyM1wiKTtcclxuICAgICAgICAgICAgbGV0IHRpbWVEZWxheSA9IDAuMTU7XHJcbiAgICAgICAgICAgIHdhdGVyMS5ydW5BY3Rpb24oY2Muc2VxdWVuY2UoY2MubW92ZVRvKDAuNixjYy52Mih3YXRlcjEueCwxMjApKSxjYy5kZWxheVRpbWUodGltZURlbGF5KSxcclxuICAgICAgICAgICAgY2MuY2FsbEZ1bmMoKCk9PntcclxuICAgICAgICAgICAgICAgIHdhdGVyMS55ID0gLTEyMFxyXG4gICAgICAgICAgICB9KSkucmVwZWF0Rm9yZXZlcigpKTtcclxuICAgICAgICAgICAgd2F0ZXIyLnJ1bkFjdGlvbihjYy5zZXF1ZW5jZShjYy5tb3ZlVG8oMC42LGNjLnYyKHdhdGVyMi54LDEyMCkpLGNjLmRlbGF5VGltZSh0aW1lRGVsYXkpLFxyXG4gICAgICAgICAgICBjYy5jYWxsRnVuYygoKT0+e1xyXG4gICAgICAgICAgICAgICAgd2F0ZXIyLnkgPSAtMTIwXHJcbiAgICAgICAgICAgIH0pKS5yZXBlYXRGb3JldmVyKCkpO1xyXG4gICAgICAgICAgICB3YXRlcjMucnVuQWN0aW9uKGNjLnNlcXVlbmNlKGNjLm1vdmVUbygwLjYsY2MudjIod2F0ZXIzLngsMTIwKSksY2MuZGVsYXlUaW1lKHRpbWVEZWxheSksXHJcbiAgICAgICAgICAgIGNjLmNhbGxGdW5jKCgpPT57XHJcbiAgICAgICAgICAgICAgICB3YXRlcjMueSA9IC0xMjBcclxuICAgICAgICAgICAgfSkpLnJlcGVhdEZvcmV2ZXIoKSk7XHJcbiAgICAgICAgfVxyXG5cclxuICAgICAgICB2YXIgbmFtZSA9IFwiYVwiICsgcmFuZG9tO1xyXG4gICAgICAgIC8vIGlmKHRoaXMuYmxvY2tfVHlwZSAhPSBjYy5FbnVtKEJsb2NrVHlwZSkuUmVpbmZvcmNlKXRhcmdldC5nZXRDb21wb25lbnQoY2MuU3ByaXRlKS5zcHJpdGVGcmFtZSA9IHRoaXMuVUlbXCJfc3ByaXRlRnJhbWVzXCJdW25hbWVdO1xyXG5cclxuICAgICAgICBpZih0YXJnZXQuYWN0aXZlID09IHRydWUpe1xyXG4gICAgICAgICAgICB0YXJnZXQgPSB0aGlzLm5vZGUuZ2V0Q2hpbGRCeU5hbWUoXCJob3Jpem9udGFsXCIpO1xyXG4gICAgICAgICAgICBsZXQgd2F0ZXIxID0gdGFyZ2V0LmdldENoaWxkQnlOYW1lKFwid2F2ZVwiKS5nZXRDaGlsZEJ5TmFtZShcIndhdGVyMVwiKTtcclxuICAgICAgICAgICAgbGV0IHdhdGVyMiA9IHRhcmdldC5nZXRDaGlsZEJ5TmFtZShcIndhdmVcIikuZ2V0Q2hpbGRCeU5hbWUoXCJ3YXRlcjJcIik7XHJcbiAgICAgICAgICAgIGxldCB3YXRlcjMgPSB0YXJnZXQuZ2V0Q2hpbGRCeU5hbWUoXCJ3YXZlXCIpLmdldENoaWxkQnlOYW1lKFwid2F0ZXIzXCIpO1xyXG4gICAgICAgICAgICBsZXQgdGltZURlbGF5ID0gMC4xNTtcclxuICAgICAgICAgICAgd2F0ZXIxLnJ1bkFjdGlvbihjYy5zZXF1ZW5jZShjYy5tb3ZlVG8oMC42LGNjLnYyKHdhdGVyMS54LDEyMCkpLGNjLmRlbGF5VGltZSh0aW1lRGVsYXkpLFxyXG4gICAgICAgICAgICBjYy5jYWxsRnVuYygoKT0+e1xyXG4gICAgICAgICAgICAgICAgd2F0ZXIxLnkgPSAtMTIwXHJcbiAgICAgICAgICAgIH0pKS5yZXBlYXRGb3JldmVyKCkpO1xyXG4gICAgICAgICAgICB3YXRlcjIucnVuQWN0aW9uKGNjLnNlcXVlbmNlKGNjLm1vdmVUbygwLjYsY2MudjIod2F0ZXIyLngsMTIwKSksY2MuZGVsYXlUaW1lKHRpbWVEZWxheSksXHJcbiAgICAgICAgICAgIGNjLmNhbGxGdW5jKCgpPT57XHJcbiAgICAgICAgICAgICAgICB3YXRlcjIueSA9IC0xMjBcclxuICAgICAgICAgICAgfSkpLnJlcGVhdEZvcmV2ZXIoKSk7XHJcbiAgICAgICAgICAgIHdhdGVyMy5ydW5BY3Rpb24oY2Muc2VxdWVuY2UoY2MubW92ZVRvKDAuNixjYy52Mih3YXRlcjMueCwxMjApKSxjYy5kZWxheVRpbWUodGltZURlbGF5KSxcclxuICAgICAgICAgICAgY2MuY2FsbEZ1bmMoKCk9PntcclxuICAgICAgICAgICAgICAgIHdhdGVyMy55ID0gLTEyMFxyXG4gICAgICAgICAgICB9KSkucmVwZWF0Rm9yZXZlcigpKTtcclxuICAgICAgICAgICAgbmFtZSA9IFwiYlwiICsgcmFuZG9tO1xyXG4gICAgICAgICAgICAvL2lmKHRoaXMuYmxvY2tfVHlwZSAhPSBjYy5FbnVtKEJsb2NrVHlwZSkuUmVpbmZvcmNlKSB0YXJnZXQuZ2V0Q29tcG9uZW50KGNjLlNwcml0ZSkuc3ByaXRlRnJhbWUgPSB0aGlzLlVJW1wiX3Nwcml0ZUZyYW1lc1wiXVtuYW1lXTtcclxuICAgICAgICB9IFxyXG4gICAgICAgIC8vIGNvbnNvbGUubG9nKHRoaXMucGF0aF9UeXBlLGRhdGEub3JkZXIpO1xyXG4gICAgICAgIGlmKHRoaXMucGF0aF9UeXBlID09IGNjLkVudW0oUGF0aFR5cGUpLnVwKXtcclxuICAgICAgICB9XHJcbiAgICAgICAgZWxzZSBpZih0aGlzLnBhdGhfVHlwZSA9PSBjYy5FbnVtKFBhdGhUeXBlKS5kb3duKXtcclxuICAgICAgICAgICAgdGFyZ2V0LmFuZ2xlID0gMTgwO1xyXG4gICAgICAgIH1cclxuICAgICAgICBlbHNlIGlmKHRoaXMucGF0aF9UeXBlID09IGNjLkVudW0oUGF0aFR5cGUpLmxlZnQpe1xyXG4gICAgICAgICAgICB0YXJnZXQuYW5nbGUgPSA5MDtcclxuICAgICAgICAgICAgbmFtZSA9IFwiYlwiICsgcmFuZG9tO1xyXG4gICAgICAgICAgICAvL2lmKHRoaXMuYmxvY2tfVHlwZSAhPSBjYy5FbnVtKEJsb2NrVHlwZSkuUmVpbmZvcmNlKSB0YXJnZXQuZ2V0Q29tcG9uZW50KGNjLlNwcml0ZSkuc3ByaXRlRnJhbWUgPSB0aGlzLlVJW1wiX3Nwcml0ZUZyYW1lc1wiXVtuYW1lXTtcclxuICAgICAgICB9XHJcbiAgICAgICAgZWxzZSBpZih0aGlzLnBhdGhfVHlwZSA9PSBjYy5FbnVtKFBhdGhUeXBlKS5yaWdodCl7XHJcbiAgICAgICAgICAgIHRhcmdldC5hbmdsZSA9IDI3MDtcclxuICAgICAgICAgICAgbmFtZSA9IFwiYlwiICsgcmFuZG9tO1xyXG4gICAgICAgICAgICAvL2lmKHRoaXMuYmxvY2tfVHlwZSAhPSBjYy5FbnVtKEJsb2NrVHlwZSkuUmVpbmZvcmNlKSB0YXJnZXQuZ2V0Q29tcG9uZW50KGNjLlNwcml0ZSkuc3ByaXRlRnJhbWUgPSB0aGlzLlVJW1wiX3Nwcml0ZUZyYW1lc1wiXVtuYW1lXTtcclxuICAgICAgICB9XHJcbiAgICAgICAgZWxzZXtcclxuICAgICAgICAgICAgdGFyZ2V0ID0gdGhpcy5ub2RlLmdldENoaWxkQnlOYW1lKFwidHVyblwiKTtcclxuICAgICAgICAgICAgaWYodGFyZ2V0Lm5hbWUgPT0gXCJ0dXJuXCIpe1xyXG4gICAgICAgICAgICAgICAgbGV0IHdhdGVyID0gdGFyZ2V0LmdldENoaWxkQnlOYW1lKFwid2F2ZVwiKS5nZXRDaGlsZEJ5TmFtZShcIndhdGVyXCIpO1xyXG4gICAgICAgICAgICAgICAgd2F0ZXIub3BhY2l0eSA9IDBcclxuICAgICAgICAgICAgICAgIHdhdGVyLnJ1bkFjdGlvbihjYy5zZXF1ZW5jZShjYy5yb3RhdGVUbyg3LjIsLTEwODApLGNjLmRlbGF5VGltZSgwKSkucmVwZWF0Rm9yZXZlcigpKTtcclxuICAgICAgICAgICAgICAgIHNldFRpbWVvdXQoKCkgPT4ge1xyXG4gICAgICAgICAgICAgICAgICAgIHdhdGVyLm9wYWNpdHkgPSAyNTU7XHJcbiAgICAgICAgICAgICAgICB9LCAyMDApO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIG5hbWUgPSBcImNcIiArIHJhbmRvbTtcclxuICAgICAgICAgICAgLy9pZih0aGlzLmJsb2NrX1R5cGUgIT0gY2MuRW51bShCbG9ja1R5cGUpLlJlaW5mb3JjZSl0YXJnZXQuZ2V0Q29tcG9uZW50KGNjLlNwcml0ZSkuc3ByaXRlRnJhbWUgPSB0aGlzLlVJW1wiX3Nwcml0ZUZyYW1lc1wiXVtuYW1lXTtcclxuICAgICAgICAgICAgcHJvZ3Jlc3MgPSAwLjI1O1xyXG4gICAgICAgICAgICBpZih0aGlzLnBhdGhfVHlwZSA9PSBjYy5FbnVtKFBhdGhUeXBlKS51cF9sZWZ0KXtcclxuICAgICAgICAgICAgICAgIHRhcmdldC5zZXRQb3NpdGlvbigtdGhpcy5wb3NfU2hpZnRpbmcsLXRoaXMucG9zX1NoaWZ0aW5nKTtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICBlbHNlIGlmKHRoaXMucGF0aF9UeXBlID09IGNjLkVudW0oUGF0aFR5cGUpLnVwX3JpZ2h0KXtcclxuICAgICAgICAgICAgICAgIHRhcmdldC5zY2FsZVggPSAtMTtcclxuICAgICAgICAgICAgICAgIHRhcmdldC5zZXRQb3NpdGlvbih0aGlzLnBvc19TaGlmdGluZywtdGhpcy5wb3NfU2hpZnRpbmcpO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIGVsc2UgaWYodGhpcy5wYXRoX1R5cGUgPT0gY2MuRW51bShQYXRoVHlwZSkuZG93bl9sZWZ0KXtcclxuICAgICAgICAgICAgICAgIHRhcmdldC5hbmdsZSA9IDE4MDtcclxuICAgICAgICAgICAgICAgIHRhcmdldC5zY2FsZVggPSAtMTtcclxuICAgICAgICAgICAgICAgIHRhcmdldC5zZXRQb3NpdGlvbigtdGhpcy5wb3NfU2hpZnRpbmcsdGhpcy5wb3NfU2hpZnRpbmcpO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIGVsc2UgaWYodGhpcy5wYXRoX1R5cGUgPT0gY2MuRW51bShQYXRoVHlwZSkuZG93bl9yaWdodCl7XHJcbiAgICAgICAgICAgICAgICB0YXJnZXQuYW5nbGUgPSAxODA7XHJcbiAgICAgICAgICAgICAgICB0YXJnZXQuc2V0UG9zaXRpb24odGhpcy5wb3NfU2hpZnRpbmcsdGhpcy5wb3NfU2hpZnRpbmcpO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIGVsc2UgaWYodGhpcy5wYXRoX1R5cGUgPT0gY2MuRW51bShQYXRoVHlwZSkubGVmdF91cCl7XHJcbiAgICAgICAgICAgICAgICB0YXJnZXQuYW5nbGUgPSAtOTA7XHJcbiAgICAgICAgICAgICAgICB0YXJnZXQuc2NhbGVZID0gLTE7XHJcbiAgICAgICAgICAgICAgICB0YXJnZXQuc2V0UG9zaXRpb24odGhpcy5wb3NfU2hpZnRpbmcsdGhpcy5wb3NfU2hpZnRpbmcpO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIGVsc2UgaWYodGhpcy5wYXRoX1R5cGUgPT0gY2MuRW51bShQYXRoVHlwZSkubGVmdF9kb3duKXtcclxuICAgICAgICAgICAgICAgIHRhcmdldC5hbmdsZSA9IDkwO1xyXG4gICAgICAgICAgICAgICAgdGFyZ2V0LnNldFBvc2l0aW9uKC10aGlzLnBvc19TaGlmdGluZywtdGhpcy5wb3NfU2hpZnRpbmcpO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIGVsc2UgaWYodGhpcy5wYXRoX1R5cGUgPT0gY2MuRW51bShQYXRoVHlwZSkucmlnaHRfdXApe1xyXG4gICAgICAgICAgICAgICAgdGFyZ2V0LmFuZ2xlID0gLTkwO1xyXG4gICAgICAgICAgICAgICAgdGFyZ2V0LnNldFBvc2l0aW9uKC10aGlzLnBvc19TaGlmdGluZyx0aGlzLnBvc19TaGlmdGluZyk7XHJcbiAgICAgICAgXHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgZWxzZSBpZih0aGlzLnBhdGhfVHlwZSA9PSBjYy5FbnVtKFBhdGhUeXBlKS5yaWdodF9kb3duKXtcclxuICAgICAgICAgICAgICAgIHRhcmdldC5hbmdsZSA9IC05MDtcclxuICAgICAgICAgICAgICAgIHRhcmdldC5zY2FsZVggPSAtMTtcclxuICAgICAgICAgICAgICAgIHRhcmdldC5zZXRQb3NpdGlvbigtdGhpcy5wb3NfU2hpZnRpbmcsLXRoaXMucG9zX1NoaWZ0aW5nKTtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuXHJcbiAgICAgICAgaWYodGhpcy5wYXRoX1R5cGUgPT0gXCJFbmRcIil7XHJcbiAgICAgICAgICAgIHRhcmdldC5hY3RpdmUgPSBmYWxzZTtcclxuICAgICAgICAgICAgaWYodGhpcy5ibG9ja19UeXBlID09IGNjLkVudW0oQmxvY2tUeXBlKS5FbmQpe1xyXG4gICAgICAgICAgICAgICAgaWYodGhpcy5ub2RlLmdldENoaWxkQnlOYW1lKFwid2F0ZXJTdGFydFwiKS5hY3RpdmUgPT0gdHJ1ZSAmJiB0aGlzLmJsb2NrX1R5cGUgPT0gY2MuRW51bShCbG9ja1R5cGUpLkVuZCl7XHJcbiAgICAgICAgICAgICAgICAgICAgY2MudHdlZW4odGhpcy5ub2RlLmdldENoaWxkQnlOYW1lKFwid2F0ZXJTdGFydFwiKSlcclxuICAgICAgICAgICAgICAgICAgICAudG8oMC4yLHtvcGFjaXR5OjI1NX0pXHJcbiAgICAgICAgICAgICAgICAgICAgLmNhbGwoKCk9PntcclxuICAgICAgICAgICAgICAgICAgICAgICAgLy8gYWxlcnQoXCLmsrvmsLTmiJDlip9cIik7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIGNjLmZ4Lk5vdGlmaWNhdGlvbnMuZW1pdChjYy5meC5NZXNzYWdlLnNob3dSZXN1bHQsXCJ3aW5cIik7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIFxyXG4gICAgICAgICAgICAgICAgICAgICAgICBpZihjYy5meC5HYW1lQ29uZmlnLkdNX0lORk8ubGV2ZWwgPCA3KXtcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNjLmZ4LkdhbWVDb25maWcuR01fSU5GTy5sZXZlbCArPSAxO1xyXG4gICAgICAgICAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIHNldFRpbWVvdXQoKCkgPT4ge1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgLy8gY2MuZGlyZWN0b3IubG9hZFNjZW5lKFwiR2FtZVNjZW5lXCIpO1xyXG4gICAgICAgICAgICAgICAgICAgICAgICB9LCA1MDApO1xyXG4gICAgICAgICAgICAgICAgICAgXHJcbiAgICAgICAgICAgICAgICAgICAgfSlcclxuICAgICAgICAgICAgICAgICAgICAuc3RhcnQoKTtcclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICBlbHNle1xyXG4gICAgICAgICAgICAgICAgdGFyZ2V0ID0gdGhpcy5ub2RlLmdldENoaWxkQnlOYW1lKFwiRW5kXCIpOyBcclxuICAgICAgICAgICAgICAgIHRhcmdldC5hY3RpdmUgPSB0cnVlO1xyXG4gICAgICAgICAgICAgICAgdGFyZ2V0Lm9wYWNpdHkgPSAwO1xyXG5cclxuICAgICAgICAgICAgICAgIGxldCBwb3NUZW1wID0gZGF0YS5sYXN0O1xyXG4gICAgICAgICAgICAgICAgaWYodGhpcy5wb3MueCAtIHBvc1RlbXAueCA+PSAxKXtcclxuICAgICAgICAgICAgICAgICAgICB0YXJnZXQuYW5nbGUgPSAtOTA7XHJcblxyXG4gICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgZWxzZSBpZih0aGlzLnBvcy54IC0gcG9zVGVtcC54IDw9IC0xKXtcclxuICAgICAgICAgICAgICAgICAgICB0YXJnZXQuYW5nbGUgPSA5MDtcclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgIGVsc2UgaWYodGhpcy5wb3MueSAtIHBvc1RlbXAueSA+PSAxKXtcclxuICAgICAgICAgICAgICAgICAgICB0YXJnZXQuYW5nbGUgPSAxODA7XHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgIFxyXG4gICAgICAgICAgICAgICAgY2MudHdlZW4odGFyZ2V0KVxyXG4gICAgICAgICAgICAgICAgLnRvKDAuNSx7b3BhY2l0eToyNTV9KVxyXG4gICAgICAgICAgICAgICAgLmNhbGwoKCkgPT57XHJcbiAgICAgICAgICAgICAgICAgICAgLy8gYWxlcnQoXCLmsrvmsLTlpLHotKVcIilcclxuICAgICAgICAgICAgICAgICAgICBjYy5meC5Ob3RpZmljYXRpb25zLmVtaXQoY2MuZnguTWVzc2FnZS5zaG93UmVzdWx0LFwibG9zZVwiKTtcclxuICAgICAgICAgICAgICAgICAgICAvLyBjYy5kaXJlY3Rvci5sb2FkU2NlbmUoXCJHYW1lU2NlbmVcIik7XHJcblxyXG4gICAgICAgICAgICAgICAgfSlcclxuICAgICAgICAgICAgICAgIC5zdGFydCgpO1xyXG4gICAgICAgICAgICB9XHJcblxyXG4gICAgICAgIH1cclxuICAgICAgICBlbHNle1xyXG4gICAgICAgICAgICB0YXJnZXQuYWN0aXZlID0gdHJ1ZTtcclxuICAgICAgICAgICAgdGFyZ2V0LmdldENvbXBvbmVudChjYy5TcHJpdGUpLmZpbGxSYW5nZSA9IDA7XHJcbiAgICAgICAgICAgIGNjLnR3ZWVuKHRhcmdldC5nZXRDb21wb25lbnQoY2MuU3ByaXRlKSlcclxuICAgICAgICAgICAgLnRvKHRpbWUse2ZpbGxSYW5nZTpwcm9ncmVzc30pXHJcbiAgICAgICAgICAgIC5jYWxsKCgpID0+e1xyXG4gICAgICAgICAgICAgICAgaWYoZGF0YS5jaXJjdWxhdGUpXHJcbiAgICAgICAgICAgICAgICAgICAgY2MuZnguTm90aWZpY2F0aW9ucy5lbWl0KGNjLmZ4Lk1lc3NhZ2UubmV4dFdhdGVyLG9yZGVyKTtcclxuICAgICAgICAgICAgfSlcclxuICAgICAgICAgICAgLnN0YXJ0KCk7XHJcbiAgICAgICAgfVxyXG5cclxuICAgIH1cclxuXHJcbiAgICAvLyB1cGRhdGUgKGR0KSB7fVxyXG59XHJcbiJdfQ== +//------QC-SOURCE-SPLIT------ + + (function() { + var nodeEnv = typeof require !== 'undefined' && typeof process !== 'undefined'; + var __module = nodeEnv ? module : {exports:{}}; + var __filename = 'preview-scripts/assets/Script/GameOver.js'; + var __require = nodeEnv ? function (request) { + return cc.require(request); + } : function (request) { + return __quick_compile_project__.require(request, __filename); + }; + function __define (exports, require, module) { + if (!nodeEnv) {__quick_compile_project__.registerModule(__filename, module);}"use strict"; +cc._RF.push(module, '805c6nf399HWZeuWnNB9CTH', 'GameOver'); +// Script/GameOver.ts + +"use strict"; +var __extends = (this && this.__extends) || (function () { + var extendStatics = function (d, b) { + extendStatics = Object.setPrototypeOf || + ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) || + function (d, b) { for (var p in b) if (Object.prototype.hasOwnProperty.call(b, p)) d[p] = b[p]; }; + return extendStatics(d, b); + }; + return function (d, b) { + extendStatics(d, b); + function __() { this.constructor = d; } + d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __()); + }; +})(); +var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) { + var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d; + if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc); + else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r; + return c > 3 && r && Object.defineProperty(target, key, r), r; +}; +Object.defineProperty(exports, "__esModule", { value: true }); +var _a = cc._decorator, ccclass = _a.ccclass, property = _a.property; +var NewClass = /** @class */ (function (_super) { + __extends(NewClass, _super); + function NewClass() { + var _this = _super !== null && _super.apply(this, arguments) || this; + _this.count = null; + _this.time = null; + _this.selfNode = null; + _this.one = null; + _this.two = null; + _this.three = null; + _this.four = null; + _this.five = null; + return _this; + } + // onLoad () {} + NewClass.prototype.start = function () { + this.count.string = cc.fx.GameConfig.GM_INFO.score + ""; + var yes = 0; + var successList = cc.fx.GameConfig.GM_INFO.successList; + if (successList.length > 0) { + var success = 0; + for (var i = 0; i < successList.length; i++) { + if (successList[i] == true) + success += 1; + } + yes = success / successList.length; + } + yes = Math.floor(yes * 1000) / 10; + this.time.string = yes + "%"; + this.init(); + }; + //初始化数据 + NewClass.prototype.init = function () { + this.listData = []; + this.selfData = null; + this.one.active = false; + this.two.active = false; + this.three.active = false; + this.four.active = false; + this.five.active = false; + var urlNow = window.location.href; + if (this.containsTrain(urlNow)) { + this.node.getChildByName("again").active = false; + this.node.getChildByName("back").active = false; + this.node.getChildByName("finishi").active = true; + } + else { + this.node.getChildByName("again").active = true; + this.node.getChildByName("back").active = true; + this.node.getChildByName("finishi").active = false; + } + this.getRank(); + }; + //打开排行榜 + NewClass.prototype.openRank = function () { + cc.director.loadScene("RankScene"); + }; + //重新开始玩 + NewClass.prototype.again = function () { + cc.fx.GameConfig.GM_INFO.round = 0; + cc.fx.GameConfig.GM_INFO.level = 0; + cc.fx.GameConfig.GM_INFO.stepTimeList = 0; + cc.fx.GameConfig.GM_INFO.successList = []; + cc.fx.GameConfig.GM_INFO.fen = 0; + cc.fx.GameConfig.GM_INFO.score = 0; + cc.fx.GameConfig.GM_INFO.min_Steps = 0; + cc.fx.GameConfig.GM_INFO.min_Time = 0; + cc.fx.GameConfig.TIME_INFO.totalTime = 120; + cc.director.loadScene("GameScene"); + }; + //判断来源 + NewClass.prototype.containsTrain = function (str) { + return /from=train/i.test(str); + }; + //获取排行榜 + NewClass.prototype.getRank = function () { + var _this = this; + //获取排行榜数据 所需数据量 + var dataFile = { + length: 5 + }; + cc.fx.GameTool.getRank(dataFile, function (data) { return _this.getRankData(data); }); + }; + //打开排行榜 + NewClass.prototype.jumpFinishi = function () { + var url = "https://train.sparkus.cn/poster/game/"; + window.location.href = url; + }; + //设置排行信息 + NewClass.prototype.getRankData = function (data) { + if (data) { + cc.fx.GameTool.getRankData(data, this, 4); + cc.fx.GameTool.setPic(this.selfNode.getChildByName("pic").getChildByName("icon"), this.selfData.pic); + var length = this.listData.length - 1; + if (length > 4) + length = 4; + for (var i = 0; i <= length; i++) { + this.setRank(i, this.listData[i]); + } + } + }; + //根据内容填充排行榜 + NewClass.prototype.setRank = function (num, data) { + var hitNode = null; + if (num == 0) { + hitNode = this.one; + } + else if (num == 1) { + hitNode = this.two; + } + else if (num == 2) { + hitNode = this.three; + } + else if (num == 3) { + hitNode = this.four; + } + else if (num == 4) { + hitNode = this.five; + } + if (hitNode) { + hitNode.active = true; + if (data.nickName.length >= 4) + cc.fx.GameTool.subName(data.nickName, 4); + hitNode.getChildByName("name").getComponent(cc.Label).string = data.nickName; + hitNode.getChildByName("total").getComponent(cc.Label).string = data.score; + cc.fx.GameTool.setPic(hitNode.getChildByName("pic").getChildByName("icon"), data.pic); + } + }; + __decorate([ + property(cc.Label) + ], NewClass.prototype, "count", void 0); + __decorate([ + property(cc.Label) + ], NewClass.prototype, "time", void 0); + __decorate([ + property(cc.Node) + ], NewClass.prototype, "selfNode", void 0); + __decorate([ + property(cc.Node) + ], NewClass.prototype, "one", void 0); + __decorate([ + property(cc.Node) + ], NewClass.prototype, "two", void 0); + __decorate([ + property(cc.Node) + ], NewClass.prototype, "three", void 0); + __decorate([ + property(cc.Node) + ], NewClass.prototype, "four", void 0); + __decorate([ + property(cc.Node) + ], NewClass.prototype, "five", void 0); + NewClass = __decorate([ + ccclass + ], NewClass); + return NewClass; +}(cc.Component)); +exports.default = NewClass; + +cc._RF.pop(); + } + if (nodeEnv) { + __define(__module.exports, __require, __module); + } + else { + __quick_compile_project__.registerModuleFunc(__filename, function () { + __define(__module.exports, __require, __module); + }); + } + })(); +//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbImFzc2V0c1xcU2NyaXB0XFxHYW1lT3Zlci50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7QUFDTSxJQUFBLEtBQXNCLEVBQUUsQ0FBQyxVQUFVLEVBQWxDLE9BQU8sYUFBQSxFQUFFLFFBQVEsY0FBaUIsQ0FBQztBQUcxQztJQUFzQyw0QkFBWTtJQUFsRDtRQUFBLHFFQWtJQztRQWhJRyxXQUFLLEdBQWEsSUFBSSxDQUFDO1FBRXZCLFVBQUksR0FBYSxJQUFJLENBQUM7UUFFdEIsY0FBUSxHQUFZLElBQUksQ0FBQztRQUV6QixTQUFHLEdBQVksSUFBSSxDQUFDO1FBRXBCLFNBQUcsR0FBWSxJQUFJLENBQUM7UUFFcEIsV0FBSyxHQUFZLElBQUksQ0FBQztRQUV0QixVQUFJLEdBQVksSUFBSSxDQUFDO1FBRXJCLFVBQUksR0FBWSxJQUFJLENBQUM7O0lBa0h6QixDQUFDO0lBL0dHLGVBQWU7SUFDZix3QkFBSyxHQUFMO1FBQ0ksSUFBSSxDQUFDLEtBQUssQ0FBQyxNQUFNLEdBQUcsRUFBRSxDQUFDLEVBQUUsQ0FBQyxVQUFVLENBQUMsT0FBTyxDQUFDLEtBQUssR0FBRyxFQUFFLENBQUM7UUFDeEQsSUFBSSxHQUFHLEdBQUcsQ0FBQyxDQUFDO1FBQ1osSUFBSSxXQUFXLEdBQUcsRUFBRSxDQUFDLEVBQUUsQ0FBQyxVQUFVLENBQUMsT0FBTyxDQUFDLFdBQVcsQ0FBQztRQUN2RCxJQUFHLFdBQVcsQ0FBQyxNQUFNLEdBQUcsQ0FBQyxFQUFDO1lBQ3RCLElBQUksT0FBTyxHQUFHLENBQUMsQ0FBQztZQUNoQixLQUFJLElBQUksQ0FBQyxHQUFDLENBQUMsRUFBRSxDQUFDLEdBQUMsV0FBVyxDQUFDLE1BQU0sRUFBRSxDQUFDLEVBQUUsRUFBQztnQkFDbkMsSUFBRyxXQUFXLENBQUMsQ0FBQyxDQUFDLElBQUksSUFBSTtvQkFBRSxPQUFPLElBQUksQ0FBQyxDQUFDO2FBQzNDO1lBQ0QsR0FBRyxH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SSxDQUFDLFFBQVEsQ0FBQztZQUM3RSxPQUFPLENBQUMsY0FBYyxDQUFDLE9BQU8sQ0FBQyxDQUFDLFlBQVksQ0FBQyxFQUFFLENBQUMsS0FBSyxDQUFDLENBQUMsTUFBTSxHQUFHLElBQUksQ0FBQyxLQUFLLENBQUM7WUFDMUUsRUFBRSxDQUFDLEVBQUUsQ0FBQyxRQUFRLENBQUMsTUFBTSxDQUFDLE9BQU8sQ0FBQyxjQUFjLENBQUMsS0FBSyxDQUFDLENBQUMsY0FBYyxDQUFDLE1BQU0sQ0FBQyxFQUFDLElBQUksQ0FBQyxHQUFHLENBQUMsQ0FBQztTQUN6RjtJQUNMLENBQUM7SUEvSEQ7UUFEQyxRQUFRLENBQUMsRUFBRSxDQUFDLEtBQUssQ0FBQzsyQ0FDSTtJQUV2QjtRQURDLFFBQVEsQ0FBQyxFQUFFLENBQUMsS0FBSyxDQUFDOzBDQUNHO0lBRXRCO1FBREMsUUFBUSxDQUFDLEVBQUUsQ0FBQyxJQUFJLENBQUM7OENBQ087SUFFekI7UUFEQyxRQUFRLENBQUMsRUFBRSxDQUFDLElBQUksQ0FBQzt5Q0FDRTtJQUVwQjtRQURDLFFBQVEsQ0FBQyxFQUFFLENBQUMsSUFBSSxDQUFDO3lDQUNFO0lBRXBCO1FBREMsUUFBUSxDQUFDLEVBQUUsQ0FBQyxJQUFJLENBQUM7MkNBQ0k7SUFFdEI7UUFEQyxRQUFRLENBQUMsRUFBRSxDQUFDLElBQUksQ0FBQzswQ0FDRztJQUVyQjtRQURDLFFBQVEsQ0FBQyxFQUFFLENBQUMsSUFBSSxDQUFDOzBDQUNHO0lBaEJKLFFBQVE7UUFENUIsT0FBTztPQUNhLFFBQVEsQ0FrSTVCO0lBQUQsZUFBQztDQWxJRCxBQWtJQyxDQWxJcUMsRUFBRSxDQUFDLFNBQVMsR0FrSWpEO2tCQWxJb0IsUUFBUSIsImZpbGUiOiIiLCJzb3VyY2VSb290IjoiLyIsInNvdXJjZXNDb250ZW50IjpbIlxyXG5jb25zdCB7Y2NjbGFzcywgcHJvcGVydHl9ID0gY2MuX2RlY29yYXRvcjtcclxuXHJcbkBjY2NsYXNzXHJcbmV4cG9ydCBkZWZhdWx0IGNsYXNzIE5ld0NsYXNzIGV4dGVuZHMgY2MuQ29tcG9uZW50IHtcclxuICAgIEBwcm9wZXJ0eShjYy5MYWJlbClcclxuICAgIGNvdW50OiBjYy5MYWJlbCA9IG51bGw7XHJcbiAgICBAcHJvcGVydHkoY2MuTGFiZWwpXHJcbiAgICB0aW1lOiBjYy5MYWJlbCA9IG51bGw7XHJcbiAgICBAcHJvcGVydHkoY2MuTm9kZSlcclxuICAgIHNlbGZOb2RlOiBjYy5Ob2RlID0gbnVsbDtcclxuICAgIEBwcm9wZXJ0eShjYy5Ob2RlKVxyXG4gICAgb25lOiBjYy5Ob2RlID0gbnVsbDtcclxuICAgIEBwcm9wZXJ0eShjYy5Ob2RlKVxyXG4gICAgdHdvOiBjYy5Ob2RlID0gbnVsbDtcclxuICAgIEBwcm9wZXJ0eShjYy5Ob2RlKVxyXG4gICAgdGhyZWU6IGNjLk5vZGUgPSBudWxsO1xyXG4gICAgQHByb3BlcnR5KGNjLk5vZGUpXHJcbiAgICBmb3VyOiBjYy5Ob2RlID0gbnVsbDtcclxuICAgIEBwcm9wZXJ0eShjYy5Ob2RlKVxyXG4gICAgZml2ZTogY2MuTm9kZSA9IG51bGw7XHJcbiAgICBsaXN0RGF0YTogYW55O1xyXG4gICAgc2VsZkRhdGE6IGFueTtcclxuICAgIC8vIG9uTG9hZCAoKSB7fVxyXG4gICAgc3RhcnQgKCkge1xyXG4gICAgICAgIHRoaXMuY291bnQuc3RyaW5nID0gY2MuZnguR2FtZUNvbmZpZy5HTV9JTkZPLnNjb3JlICsgXCJcIjtcclxuICAgICAgICB2YXIgeWVzID0gMDtcclxuICAgICAgICB2YXIgc3VjY2Vzc0xpc3QgPSBjYy5meC5HYW1lQ29uZmlnLkdNX0lORk8uc3VjY2Vzc0xpc3Q7XHJcbiAgICAgICAgaWYoc3VjY2Vzc0xpc3QubGVuZ3RoID4gMCl7XHJcbiAgICAgICAgICAgIHZhciBzdWNjZXNzID0gMDtcclxuICAgICAgICAgICAgZm9yKGxldCBpPTA7IGk8c3VjY2Vzc0xpc3QubGVuZ3RoOyBpKyspe1xyXG4gICAgICAgICAgICAgICAgaWYoc3VjY2Vzc0xpc3RbaV0gPT0gdHJ1ZSkgc3VjY2VzcyArPSAxO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIHllcyA9IHN1Y2Nlc3Mvc3VjY2Vzc0xpc3QubGVuZ3RoO1xyXG4gICAgICAgIH1cclxuICAgICAgICB5ZXMgPSBNYXRoLmZsb29yKHllcyAqIDEwMDApLzEwO1xyXG4gICAgICAgIHRoaXMudGltZS5zdHJpbmcgPSAgIHllcyArIFwiJVwiO1xyXG4gICAgICAgIHRoaXMuaW5pdCgpO1xyXG4gICAgfVxyXG4gICAgLy/liJ3lp4vljJbmlbDmja5cclxuICAgIGluaXQoKXtcclxuICAgICAgICB0aGlzLmxpc3REYXRhID0gW107XHJcbiAgICAgICAgdGhpcy5zZWxmRGF0YSA9IG51bGw7XHJcbiAgICAgICAgdGhpcy5vbmUuYWN0aXZlID0gZmFsc2U7XHJcbiAgICAgICAgdGhpcy50d28uYWN0aXZlID0gZmFsc2U7XHJcbiAgICAgICAgdGhpcy50aHJlZS5hY3RpdmUgPSBmYWxzZTtcclxuICAgICAgICB0aGlzLmZvdXIuYWN0aXZlID0gZmFsc2U7XHJcbiAgICAgICAgdGhpcy5maXZlLmFjdGl2ZSA9IGZhbHNlO1xyXG4gICAgICAgIHZhciB1cmxOb3cgPSB3aW5kb3cubG9jYXRpb24uaHJlZjtcclxuICAgICAgICBpZih0aGlzLmNvbnRhaW5zVHJhaW4odXJsTm93KSl7XHJcbiAgICAgICAgICAgIHRoaXMubm9kZS5nZXRDaGlsZEJ5TmFtZShcImFnYWluXCIpLmFjdGl2ZSA9IGZhbHNlO1xyXG4gICAgICAgICAgICB0aGlzLm5vZGUuZ2V0Q2hpbGRCeU5hbWUoXCJiYWNrXCIpLmFjdGl2ZSA9IGZhbHNlO1xyXG4gICAgICAgICAgICB0aGlzLm5vZGUuZ2V0Q2hpbGRCeU5hbWUoXCJmaW5pc2hpXCIpLmFjdGl2ZSA9IHRydWU7XHJcbiAgICAgICAgfVxyXG4gICAgICAgIGVsc2V7XHJcbiAgICAgICAgICAgIHRoaXMubm9kZS5nZXRDaGlsZEJ5TmFtZShcImFnYWluXCIpLmFjdGl2ZSA9IHRydWU7XHJcbiAgICAgICAgICAgIHRoaXMubm9kZS5nZXRDaGlsZEJ5TmFtZShcImJhY2tcIikuYWN0aXZlID0gdHJ1ZTtcclxuICAgICAgICAgICAgdGhpcy5ub2RlLmdldENoaWxkQnlOYW1lKFwiZmluaXNoaVwiKS5hY3RpdmUgPSBmYWxzZTtcclxuICAgICAgICB9XHJcbiAgICAgICAgdGhpcy5nZXRSYW5rKCk7XHJcbiAgICB9XHJcbiAgICAvL+aJk+W8gOaOkuihjOamnFxyXG4gICAgb3BlblJhbmsoKXtcclxuICAgICAgICBjYy5kaXJlY3Rvci5sb2FkU2NlbmUoXCJSYW5rU2NlbmVcIik7XHJcbiAgICB9XHJcbiAgICAvL+mHjeaWsOW8gOWni+eOqVxyXG4gICAgYWdhaW4oKXtcclxuICAgICAgICBjYy5meC5HYW1lQ29uZmlnLkdNX0lORk8ucm91bmQgPSAwO1xyXG4gICAgICAgIGNjLmZ4LkdhbWVDb25maWcuR01fSU5GTy5sZXZlbCA9IDA7XHJcbiAgICAgICAgY2MuZnguR2FtZUNvbmZpZy5HTV9JTkZPLnN0ZXBUaW1lTGlzdCA9IDA7XHJcbiAgICAgICAgY2MuZnguR2FtZUNvbmZpZy5HTV9JTkZPLnN1Y2Nlc3NMaXN0ID0gW107XHJcbiAgICAgICAgY2MuZnguR2FtZUNvbmZpZy5HTV9JTkZPLmZlbiA9IDA7XHJcbiAgICAgICAgY2MuZnguR2FtZUNvbmZpZy5HTV9JTkZPLnNjb3JlID0gMDtcclxuICAgICAgICBjYy5meC5HYW1lQ29uZmlnLkdNX0lORk8ubWluX1N0ZXBzID0gMDtcclxuICAgICAgICBjYy5meC5HYW1lQ29uZmlnLkdNX0lORk8ubWluX1RpbWUgPSAwO1xyXG4gICAgICAgIGNjLmZ4LkdhbWVDb25maWcuVElNRV9JTkZPLnRvdGFsVGltZSA9IDEyMDtcclxuICAgICAgICBjYy5kaXJlY3Rvci5sb2FkU2NlbmUoXCJHYW1lU2NlbmVcIik7XHJcbiAgICB9XHJcbiAgICAvL+WIpOaWreadpea6kFxyXG4gICAgY29udGFpbnNUcmFpbihzdHIpIHtcclxuICAgICAgICByZXR1cm4gL2Zyb209dHJhaW4vaS50ZXN0KHN0cik7XHJcbiAgICB9XHJcbiAgICAvL+iOt+WPluaOkuihjOamnFxyXG4gICAgZ2V0UmFuaygpe1xyXG4gICAgICAgIC8v6I635Y+W5o6S6KGM5qac5pWw5o2uICDmiYDpnIDmlbDmja7ph49cclxuICAgICAgICBsZXQgZGF0YUZpbGUgPSB7XHJcbiAgICAgICAgICAgIGxlbmd0aDo1XHJcbiAgICAgICAgfVxyXG4gICAgICAgICBjYy5meC5HYW1lVG9vbC5nZXRSYW5rKGRhdGFGaWxlLGRhdGEgPT50aGlzLmdldFJhbmtEYXRhKGRhdGEpKTtcclxuICAgIH1cclxuICAgIC8v5omT5byA5o6S6KGM5qacXHJcbiAgICBqdW1wRmluaXNoaSgpe1xyXG4gICAgICAgIGxldCB1cmwgPSBcImh0dHBzOi8vdHJhaW4uc3Bhcmt1cy5jbi9wb3N0ZXIvZ2FtZS9cIjtcclxuICAgICAgICB3aW5kb3cubG9jYXRpb24uaHJlZiA9IHVybDtcclxuICAgIH1cclxuICAgIC8v6K6+572u5o6S6KGM5L+h5oGvXHJcbiAgICBnZXRSYW5rRGF0YShkYXRhKXtcclxuXHJcbiAgICAgICAgaWYoZGF0YSl7XHJcbiAgICAgICAgICAgICBjYy5meC5HYW1lVG9vbC5nZXRSYW5rRGF0YShkYXRhLHRoaXMsNCk7XHJcbiAgICAgICAgICAgICBjYy5meC5HYW1lVG9vbC5zZXRQaWModGhpcy5zZWxmTm9kZS5nZXRDaGlsZEJ5TmFtZShcInBpY1wiKS5nZXRDaGlsZEJ5TmFtZShcImljb25cIiksdGhpcy5zZWxmRGF0YS5waWMpO1xyXG4gICAgICAgICAgICB2YXIgbGVuZ3RoID0gdGhpcy5saXN0RGF0YS5sZW5ndGgtMTsgaWYobGVuZ3RoID4gNCkgbGVuZ3RoID0gNDtcclxuICAgICAgICAgICAgZm9yKGxldCBpPTA7aTw9bGVuZ3RoO2krKyl7XHJcbiAgICAgICAgICAgICAgICB0aGlzLnNldFJhbmsoaSx0aGlzLmxpc3REYXRhW2ldKTtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgIH1cclxuICAgIC8v5qC55o2u5YaF5a655aGr5YWF5o6S6KGM5qacXHJcbiAgICBzZXRSYW5rKG51bSxkYXRhKXtcclxuICAgICAgICB2YXIgaGl0Tm9kZSA9IG51bGw7XHJcbiAgICAgICAgaWYobnVtID09IDApe1xyXG4gICAgICAgICAgICBoaXROb2RlID0gdGhpcy5vbmU7XHJcbiAgICAgICAgfVxyXG4gICAgICAgIGVsc2UgaWYobnVtID09IDEpe1xyXG4gICAgICAgICAgICBoaXROb2RlID0gdGhpcy50d287XHJcbiAgICAgICAgfVxyXG4gICAgICAgIGVsc2UgaWYobnVtID09IDIpe1xyXG4gICAgICAgICAgICBoaXROb2RlID0gdGhpcy50aHJlZTtcclxuICAgICAgICB9XHJcbiAgICAgICAgZWxzZSBpZihudW0gPT0gMyl7XHJcbiAgICAgICAgICAgIGhpdE5vZGUgPSB0aGlzLmZvdXI7XHJcbiAgICAgICAgfVxyXG4gICAgICAgIGVsc2UgaWYobnVtID09IDQpe1xyXG4gICAgICAgICAgICBoaXROb2RlID0gdGhpcy5maXZlO1xyXG4gICAgICAgIH1cclxuICAgICAgICBpZihoaXROb2RlKXtcclxuICAgICAgICAgICAgaGl0Tm9kZS5hY3RpdmUgPSB0cnVlO1xyXG4gICAgICAgICAgICBpZihkYXRhLm5pY2tOYW1lLmxlbmd0aCA+PSA0KVxyXG4gICAgICAgICAgICAgICAgY2MuZnguR2FtZVRvb2wuc3ViTmFtZShkYXRhLm5pY2tOYW1lLDQpO1xyXG4gICAgICAgICAgICBoaXROb2RlLmdldENoaWxkQnlOYW1lKFwibmFtZVwiKS5nZXRDb21wb25lbnQoY2MuTGFiZWwpLnN0cmluZyA9IGRhdGEubmlja05hbWU7XHJcbiAgICAgICAgICAgIGhpdE5vZGUuZ2V0Q2hpbGRCeU5hbWUoXCJ0b3RhbFwiKS5nZXRDb21wb25lbnQoY2MuTGFiZWwpLnN0cmluZyA9IGRhdGEuc2NvcmU7XHJcbiAgICAgICAgICAgICBjYy5meC5HYW1lVG9vbC5zZXRQaWMoaGl0Tm9kZS5nZXRDaGlsZEJ5TmFtZShcInBpY1wiKS5nZXRDaGlsZEJ5TmFtZShcImljb25cIiksZGF0YS5waWMpO1xyXG4gICAgICAgIH1cclxuICAgIH0gICBcclxufVxyXG4iXX0= +//------QC-SOURCE-SPLIT------ + + (function() { + var nodeEnv = typeof require !== 'undefined' && typeof process !== 'undefined'; + var __module = nodeEnv ? module : {exports:{}}; + var __filename = 'preview-scripts/assets/Script/ControlManager.js'; + var __require = nodeEnv ? function (request) { + return cc.require(request); + } : function (request) { + return __quick_compile_project__.require(request, __filename); + }; + function __define (exports, require, module) { + if (!nodeEnv) {__quick_compile_project__.registerModule(__filename, module);}"use strict"; +cc._RF.push(module, 'e35abcX5VRAoItO6mgFcYyX', 'ControlManager'); +// Script/ControlManager.ts + +"use strict"; +// Learn TypeScript: +// - https://docs.cocos.com/creator/manual/en/scripting/typescript.html +// Learn Attribute: +// - https://docs.cocos.com/creator/manual/en/scripting/reference/attributes.html +// Learn life-cycle callbacks: +// - https://docs.cocos.com/creator/manual/en/scripting/life-cycle-callbacks.html +var __extends = (this && this.__extends) || (function () { + var extendStatics = function (d, b) { + extendStatics = Object.setPrototypeOf || + ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) || + function (d, b) { for (var p in b) if (Object.prototype.hasOwnProperty.call(b, p)) d[p] = b[p]; }; + return extendStatics(d, b); + }; + return function (d, b) { + extendStatics(d, b); + function __() { this.constructor = d; } + d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __()); + }; +})(); +var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) { + var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d; + if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc); + else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r; + return c > 3 && r && Object.defineProperty(target, key, r), r; +}; +Object.defineProperty(exports, "__esModule", { value: true }); +var _a = cc._decorator, ccclass = _a.ccclass, property = _a.property; +var NewClass = /** @class */ (function (_super) { + __extends(NewClass, _super); + function NewClass() { + var _this = _super !== null && _super.apply(this, arguments) || this; + _this.Map = null; + _this.tip = null; + _this.reinforce = null; + _this.soil = null; + return _this; + // update (dt) {} + } + // LIFE-CYCLE CALLBACKS: + // onLoad () {} + NewClass.prototype.start = function () { + this.tipArray = []; + this.controlArray = []; + this.canTouch = true; + this.Reinforce = false; + this.Soil = false; + this.mapHeight = 0; + }; + NewClass.prototype.setPosition = function (tip) { + tip.setPosition(30, -25); + if (this.tipArray.length > 0) { + var length = this.tipArray.length + 1; + var posY = Math.ceil(length / 8) - 1; + var posX = length - Math.floor(posY) * 8 - 1; + tip.setPosition(30 + 48 * posX, -25 - 48 * posY + this.mapHeight); + } + }; + //清空所有 + NewClass.prototype.removeAllTip = function () { + if (!this.canTouch) + return; + if (this.tipArray.length > 0) { + cc.fx.AudioManager._instance.playEffect("qingkong", null); + for (var i = 0; i < this.tipArray.length; i++) { + var tip = this.tipArray[i]; + tip.active = false; + tip.removeFromParent(this.Map); + tip = null; + } + this.tipArray = []; + this.controlArray = []; + var drawingReset = cc.fx.GameConfig.CLICK_DATA.drawingReset + 1; + cc.fx.GameConfig.CLICK_SET("drawingReset", drawingReset); + cc.fx.Notifications.emit(cc.fx.Message.removeTip, "remove"); + this.mapHeight = 0; + } + }; + //撤回一步 + NewClass.prototype.back_Click = function () { + if (!this.canTouch) + return; + if (this.tipArray.length > 0) { + cc.fx.AudioManager._instance.playEffect("chehui", null); + var tip = this.tipArray[this.tipArray.length - 1]; + tip.active = false; + tip.removeFromParent(this.Map); + tip = null; + this.tipArray.pop(); + this.controlArray.pop(); + var drawingBack = cc.fx.GameConfig.CLICK_DATA.drawingBack + 1; + cc.fx.GameConfig.CLICK_SET("drawingBack", drawingBack); + cc.fx.Notifications.emit(cc.fx.Message.removeTip, "back"); + if (this.tipArray.length >= 24) { + if ((this.tipArray.length) % 8 == 0) { + this.mapMove(false); + } + } + } + }; + //点击事件 + NewClass.prototype.btn_Click = function (target, data) { + var GameManager = this.node.parent.getComponent("GameManager"); + if (GameManager.btnClick == true) { + GameManager.btnClick = false; + cc.fx.Notifications.emit(cc.fx.Message.guideNext); + } + cc.fx.Notifications.emit(cc.fx.Message.control, data); + if (!this.canTouch) + return; + var prefab = this.tip; + if (data == "reinforce" || data == "soil") { + prefab = this[data]; + if (data == "reinforce") { + if (this.Reinforce) { + this.Reinforce = false; + this.back_Click(); + return; + } + else { + cc.fx.AudioManager._instance.playEffect("jineng", null); + this.Reinforce = true; + this.Soil = false; + } + } + else if (data == "soil") { + if (this.Soil) { + this.Soil = false; + this.back_Click(); + return; + } + else { + cc.fx.AudioManager._instance.playEffect("jineng", null); + this.Soil = true; + this.Reinforce = false; + } + } + } + else { + cc.fx.AudioManager._instance.playEffect("fangxiang", null); + this.Reinforce = false; + this.Soil = false; + } + var tip = cc.instantiate(prefab); + if (data == "up") + tip.angle = 180; + if (data == "left") + tip.angle = -90; + if (data == "right") + tip.angle = 90; + tip.parent = this.Map; + if (this.controlArray[this.controlArray.length - 1] == "reinforce" || + this.controlArray[this.controlArray.length - 1] == "soil") { + if (data == "reinforce" || data == "soil") { + this.tipArray[this.tipArray.length - 1].removeFromParent(); + this.tipArray[this.tipArray.length - 1] = null; + this.tipArray.pop(); + this.controlArray.pop(); + } + } + this.setPosition(tip); + this.tipArray.push(tip); + this.controlArray.push(data); + if (this.tipArray.length >= 25) { + if ((this.tipArray.length - 1) % 8 == 0) { + this.mapMove(true); + } + } + }; + //地图放不下了上下移动 + NewClass.prototype.mapMove = function (type) { + if (type) + this.mapHeight += 48; + else + this.mapHeight -= 48; + for (var i = 0; i < this.tipArray.length; i++) { + var tip = this.tipArray[i]; + if (type) + tip.y += 48; + else + tip.y -= 48; + } + }; + //点击开始 创建河道 + NewClass.prototype.start_Click = function () { + if (!this.canTouch) + return; + this.canTouch = false; + cc.fx.AudioManager._instance.playEffect("build", null); + cc.fx.Notifications.emit(cc.fx.Message.startGame, this.controlArray); + }; + __decorate([ + property(cc.Node) + ], NewClass.prototype, "Map", void 0); + __decorate([ + property(cc.Prefab) + ], NewClass.prototype, "tip", void 0); + __decorate([ + property(cc.Prefab) + ], NewClass.prototype, "reinforce", void 0); + __decorate([ + property(cc.Prefab) + ], NewClass.prototype, "soil", void 0); + NewClass = __decorate([ + ccclass + ], NewClass); + return NewClass; +}(cc.Component)); +exports.default = NewClass; + +cc._RF.pop(); + } + if (nodeEnv) { + __define(__module.exports, __require, __module); + } + else { + __quick_compile_project__.registerModuleFunc(__filename, function () { + __define(__module.exports, __require, __module); + }); + } + })(); +//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbImFzc2V0c1xcU2NyaXB0XFxDb250cm9sTWFuYWdlci50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7Ozs7Ozs7O0FBQUEsb0JBQW9CO0FBQ3BCLHdFQUF3RTtBQUN4RSxtQkFBbUI7QUFDbkIsa0ZBQWtGO0FBQ2xGLDhCQUE4QjtBQUM5QixrRkFBa0Y7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OztBQUU1RSxJQUFBLEtBQXNCLEVBQUUsQ0FBQyxVQUFVLEVBQWxDLE9BQU8sYUFBQSxFQUFFLFFBQVEsY0FBaUIsQ0FBQztBQUcxQztJQUFzQyw0QkFBWTtJQUFsRDtRQUFBLHFFQXVLQztRQXBLRyxTQUFHLEdBQVksSUFBSSxDQUFDO1FBRXBCLFNBQUcsR0FBYyxJQUFJLENBQUM7UUFFdEIsZUFBUyxHQUFjLElBQUksQ0FBQztRQUU1QixVQUFJLEdBQWMsSUFBSSxDQUFDOztRQTZKdkIsaUJBQWlCO0lBQ3JCLENBQUM7SUFySkcsd0JBQXdCO0lBRXhCLGVBQWU7SUFFZix3QkFBSyxHQUFMO1FBQ0ksSUFBSSxDQUFDLFFBQVEsR0FBRyxFQUFFLENBQUM7UUFDbkIsSUFBSSxDQUFDLFlBQVksR0FBRyxFQUFFLENBQUM7UUFDdkIsSUFBSSxDQUFDLFFBQVEsR0FBRyxJQUFJLENBQUM7UUFDckIsSUFBSSxDQUFDLFNBQVMsR0FBRyxLQUFLLENBQUM7UUFDdkIsSUFBSSxDQUFDLElBQUksR0FBRyxLQUFLLENBQUM7UUFDbEIsSUFBSSxDQUFDLFNBQVMsR0FBRyxDQUFDLENBQUM7SUFDdkIsQ0FBQztJQUVELDhCQUFXLEdBQVgsVUFBWSxHQUFHO1FBQ1gsR0FBRyxDQUFDLFdBQVcsQ0FBQyxFQUFFLEVBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQztRQUN4QixJQUFHLElBQUksQ0FBQyxRQUFRLENBQUMsTUFBTSxHQUFHLENBQUMsRUFBQztZQUN4QixJQUFJLE1BQU0sR0FBRyxJQUFJLENBQUMsUUFBUSxDQUFDLE1BQU0sR0FBQyxDQUFDLENBQUM7WUFDcEMsSUFB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QUFDOzBDQUNHO0lBVE4sUUFBUTtRQUQ1QixPQUFPO09BQ2EsUUFBUSxDQXVLNUI7SUFBRCxlQUFDO0NBdktELEFBdUtDLENBdktxQyxFQUFFLENBQUMsU0FBUyxHQXVLakQ7a0JBdktvQixRQUFRIiwiZmlsZSI6IiIsInNvdXJjZVJvb3QiOiIvIiwic291cmNlc0NvbnRlbnQiOlsiLy8gTGVhcm4gVHlwZVNjcmlwdDpcclxuLy8gIC0gaHR0cHM6Ly9kb2NzLmNvY29zLmNvbS9jcmVhdG9yL21hbnVhbC9lbi9zY3JpcHRpbmcvdHlwZXNjcmlwdC5odG1sXHJcbi8vIExlYXJuIEF0dHJpYnV0ZTpcclxuLy8gIC0gaHR0cHM6Ly9kb2NzLmNvY29zLmNvbS9jcmVhdG9yL21hbnVhbC9lbi9zY3JpcHRpbmcvcmVmZXJlbmNlL2F0dHJpYnV0ZXMuaHRtbFxyXG4vLyBMZWFybiBsaWZlLWN5Y2xlIGNhbGxiYWNrczpcclxuLy8gIC0gaHR0cHM6Ly9kb2NzLmNvY29zLmNvbS9jcmVhdG9yL21hbnVhbC9lbi9zY3JpcHRpbmcvbGlmZS1jeWNsZS1jYWxsYmFja3MuaHRtbFxyXG5cclxuY29uc3Qge2NjY2xhc3MsIHByb3BlcnR5fSA9IGNjLl9kZWNvcmF0b3I7XHJcblxyXG5AY2NjbGFzc1xyXG5leHBvcnQgZGVmYXVsdCBjbGFzcyBOZXdDbGFzcyBleHRlbmRzIGNjLkNvbXBvbmVudCB7XHJcblxyXG4gICAgQHByb3BlcnR5KGNjLk5vZGUpXHJcbiAgICBNYXA6IGNjLk5vZGUgPSBudWxsO1xyXG4gICAgQHByb3BlcnR5KGNjLlByZWZhYilcclxuICAgIHRpcDogY2MuUHJlZmFiID0gbnVsbDtcclxuICAgIEBwcm9wZXJ0eShjYy5QcmVmYWIpXHJcbiAgICByZWluZm9yY2U6IGNjLlByZWZhYiA9IG51bGw7XHJcbiAgICBAcHJvcGVydHkoY2MuUHJlZmFiKVxyXG4gICAgc29pbDogY2MuUHJlZmFiID0gbnVsbDtcclxuICAgIFxyXG5cclxuICAgIHRpcEFycmF5OmFueTtcclxuICAgIGNvbnRyb2xBcnJheTphbnk7XHJcbiAgICBjYW5Ub3VjaDpib29sZWFuO1xyXG4gICAgUmVpbmZvcmNlOmJvb2xlYW47XHJcbiAgICBTb2lsOmJvb2xlYW47XHJcbiAgICBtYXBIZWlnaHQ6bnVtYmVyO1xyXG4gICAgLy8gTElGRS1DWUNMRSBDQUxMQkFDS1M6XHJcblxyXG4gICAgLy8gb25Mb2FkICgpIHt9XHJcblxyXG4gICAgc3RhcnQgKCkge1xyXG4gICAgICAgIHRoaXMudGlwQXJyYXkgPSBbXTtcclxuICAgICAgICB0aGlzLmNvbnRyb2xBcnJheSA9IFtdO1xyXG4gICAgICAgIHRoaXMuY2FuVG91Y2ggPSB0cnVlO1xyXG4gICAgICAgIHRoaXMuUmVpbmZvcmNlID0gZmFsc2U7XHJcbiAgICAgICAgdGhpcy5Tb2lsID0gZmFsc2U7XHJcbiAgICAgICAgdGhpcy5tYXBIZWlnaHQgPSAwO1xyXG4gICAgfVxyXG5cclxuICAgIHNldFBvc2l0aW9uKHRpcCl7XHJcbiAgICAgICAgdGlwLnNldFBvc2l0aW9uKDMwLC0yNSk7XHJcbiAgICAgICAgaWYodGhpcy50aXBBcnJheS5sZW5ndGggPiAwKXtcclxuICAgICAgICAgICAgbGV0IGxlbmd0aCA9IHRoaXMudGlwQXJyYXkubGVuZ3RoKzE7XHJcbiAgICAgICAgICAgIGxldCBwb3NZID0gTWF0aC5jZWlsKGxlbmd0aC84KSAtIDE7XHJcbiAgICAgICAgICAgIGxldCBwb3NYID0gbGVuZ3RoIC0gTWF0aC5mbG9vcihwb3NZKSo4IC0gMTtcclxuICAgICAgICAgICAgdGlwLnNldFBvc2l0aW9uKDMwICsgNDgqcG9zWCwtMjUgLTQ4KnBvc1kgKyB0aGlzLm1hcEhlaWdodCk7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG4gICAgLy/muIXnqbrmiYDmnIlcclxuICAgIHJlbW92ZUFsbFRpcCgpe1xyXG4gICAgICAgIGlmKCF0aGlzLmNhblRvdWNoKSByZXR1cm47XHJcbiAgICAgICAgaWYodGhpcy50aXBBcnJheS5sZW5ndGggPiAwKXtcclxuICAgICAgICAgICAgY2MuZnguQXVkaW9NYW5hZ2VyLl9pbnN0YW5jZS5wbGF5RWZmZWN0KFwicWluZ2tvbmdcIixudWxsKTtcclxuICAgICAgICAgICAgZm9yKGxldCBpPTA7IGk8dGhpcy50aXBBcnJheS5sZW5ndGg7aSsrKXtcclxuICAgICAgICAgICAgICAgIGxldCB0aXAgPSB0aGlzLnRpcEFycmF5W2ldO1xyXG4gICAgICAgICAgICAgICAgdGlwLmFjdGl2ZSA9IGZhbHNlO1xyXG4gICAgICAgICAgICAgICAgdGlwLnJlbW92ZUZyb21QYXJlbnQodGhpcy5NYXApO1xyXG4gICAgICAgICAgICAgICAgdGlwID0gbnVsbDtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICB0aGlzLnRpcEFycmF5ID0gW107XHJcbiAgICAgICAgICAgIHRoaXMuY29udHJvbEFycmF5ID0gW107XHJcbiAgICAgICAgICAgIHZhciBkcmF3aW5nUmVzZXQgPSBjYy5meC5HYW1lQ29uZmlnLkNMSUNLX0RBVEEuZHJhd2luZ1Jlc2V0ICsgMTtcclxuICAgICAgICAgICAgY2MuZnguR2FtZUNvbmZpZy5DTElDS19TRVQoXCJkcmF3aW5nUmVzZXRcIixkcmF3aW5nUmVzZXQpO1xyXG4gICAgICAgICAgICBjYy5meC5Ob3RpZmljYXRpb25zLmVtaXQoY2MuZnguTWVzc2FnZS5yZW1vdmVUaXAsXCJyZW1vdmVcIik7XHJcbiAgICAgICAgICAgIHRoaXMubWFwSGVpZ2h0ID0gMDtcclxuICAgICAgICB9XHJcbiAgICB9XHJcbiAgICAvL+aSpOWbnuS4gOatpVxyXG4gICAgYmFja19DbGljaygpe1xyXG4gICAgICAgIGlmKCF0aGlzLmNhblRvdWNoKSByZXR1cm47XHJcbiAgICAgICAgaWYodGhpcy50aXBBcnJheS5sZW5ndGggPiAwKXtcclxuICAgICAgICAgICAgY2MuZnguQXVkaW9NYW5hZ2VyLl9pbnN0YW5jZS5wbGF5RWZmZWN0KFwiY2hlaHVpXCIsbnVsbCk7XHJcbiAgICAgICAgICAgIGxldCB0aXAgPSB0aGlzLnRpcEFycmF5W3RoaXMudGlwQXJyYXkubGVuZ3RoLTFdO1xyXG4gICAgICAgICAgICB0aXAuYWN0aXZlID0gZmFsc2U7XHJcbiAgICAgICAgICAgIHRpcC5yZW1vdmVGcm9tUGFyZW50KHRoaXMuTWFwKTtcclxuICAgICAgICAgICAgdGlwID0gbnVsbDtcclxuICAgICAgICAgICAgdGhpcy50aXBBcnJheS5wb3AoKTtcclxuICAgICAgICAgICAgdGhpcy5jb250cm9sQXJyYXkucG9wKCk7XHJcbiAgICAgICAgICAgIHZhciBkcmF3aW5nQmFjayA9IGNjLmZ4LkdhbWVDb25maWcuQ0xJQ0tfREFUQS5kcmF3aW5nQmFjayArIDE7XHJcbiAgICAgICAgICAgIGNjLmZ4LkdhbWVDb25maWcuQ0xJQ0tfU0VUKFwiZHJhd2luZ0JhY2tcIixkcmF3aW5nQmFjayk7XHJcbiAgICAgICAgICAgIGNjLmZ4Lk5vdGlmaWNhdGlvbnMuZW1pdChjYy5meC5NZXNzYWdlLnJlbW92ZVRpcCxcImJhY2tcIik7XHJcbiAgICAgICAgICAgIGlmKHRoaXMudGlwQXJyYXkubGVuZ3RoID49IDI0KXtcclxuICAgICAgICAgICAgICAgIGlmKCh0aGlzLnRpcEFycmF5Lmxlbmd0aCApJTggPT0gMCl7XHJcbiAgICAgICAgICAgICAgICAgICAgdGhpcy5tYXBNb3ZlKGZhbHNlKTtcclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgIH1cclxuXHJcbiAgICAvL+eCueWHu+S6i+S7tlxyXG4gICAgYnRuX0NsaWNrKHRhcmdldCxkYXRhKXtcclxuICAgICAgICB2YXIgR2FtZU1hbmFnZXIgPSB0aGlzLm5vZGUucGFyZW50LmdldENvbXBvbmVudChcIkdhbWVNYW5hZ2VyXCIpO1xyXG4gICAgICAgIGlmKEdhbWVNYW5hZ2VyLmJ0bkNsaWNrID09IHRydWUpe1xyXG4gICAgICAgICAgICBHYW1lTWFuYWdlci5idG5DbGljayA9IGZhbHNlO1xyXG4gICAgICAgICAgICBjYy5meC5Ob3RpZmljYXRpb25zLmVtaXQoY2MuZnguTWVzc2FnZS5ndWlkZU5leHQpO1xyXG4gICAgICAgIH1cclxuICAgICAgICBjYy5meC5Ob3RpZmljYXRpb25zLmVtaXQoY2MuZnguTWVzc2FnZS5jb250cm9sLGRhdGEpO1xyXG4gICAgICAgIGlmKCF0aGlzLmNhblRvdWNoKSByZXR1cm47XHJcbiAgICAgICAgbGV0IHByZWZhYiA9IHRoaXMudGlwO1xyXG4gICAgICAgIGlmKGRhdGEgPT0gXCJyZWluZm9yY2VcIiB8fCBkYXRhID09IFwic29pbFwiKXtcclxuICAgICAgICAgICAgcHJlZmFiID0gdGhpc1tkYXRhXTtcclxuICAgICAgICAgICAgaWYoZGF0YSA9PSBcInJlaW5mb3JjZVwiKXtcclxuICAgICAgICAgICAgICAgIGlmKHRoaXMuUmVpbmZvcmNlKXtcclxuICAgICAgICAgICAgICAgICAgICB0aGlzLlJlaW5mb3JjZSA9IGZhbHNlO1xyXG4gICAgICAgICAgICAgICAgICAgIHRoaXMuYmFja19DbGljaygpO1xyXG4gICAgICAgICAgICAgICAgICAgIHJldHVybjtcclxuICAgICAgICAgICAgICAgIH1lbHNle1xyXG4gICAgICAgICAgICAgICAgICAgIGNjLmZ4LkF1ZGlvTWFuYWdlci5faW5zdGFuY2UucGxheUVmZmVjdChcImppbmVuZ1wiLG51bGwpO1xyXG4gICAgICAgICAgICAgICAgICAgIHRoaXMuUmVpbmZvcmNlID0gdHJ1ZTtcclxuICAgICAgICAgICAgICAgICAgICB0aGlzLlNvaWwgPSBmYWxzZTtcclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgfSBcclxuICAgICAgICAgICAgZWxzZSBpZihkYXRhID09IFwic29pbFwiKXtcclxuICAgICAgICAgICAgICAgIGlmKHRoaXMuU29pbCl7XHJcbiAgICAgICAgICAgICAgICAgICAgdGhpcy5Tb2lsID0gZmFsc2U7XHJcbiAgICAgICAgICAgICAgICAgICAgdGhpcy5iYWNrX0NsaWNrKCk7XHJcbiAgICAgICAgICAgICAgICAgICAgcmV0dXJuO1xyXG4gICAgICAgICAgICAgICAgfWVsc2V7XHJcbiAgICAgICAgICAgICAgICAgICAgY2MuZnguQXVkaW9NYW5hZ2VyLl9pbnN0YW5jZS5wbGF5RWZmZWN0KFwiamluZW5nXCIsbnVsbCk7XHJcbiAgICAgICAgICAgICAgICAgICAgdGhpcy5Tb2lsID0gdHJ1ZTtcclxuICAgICAgICAgICAgICAgICAgICB0aGlzLlJlaW5mb3JjZSA9IGZhbHNlO1xyXG4gICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICB9IFxyXG4gICAgICAgIH1cclxuICAgICAgICBlbHNle1xyXG4gICAgICAgICAgICBjYy5meC5BdWRpb01hbmFnZXIuX2luc3RhbmNlLnBsYXlFZmZlY3QoXCJmYW5neGlhbmdcIixudWxsKTtcclxuICAgICAgICAgICAgdGhpcy5SZWluZm9yY2UgPSBmYWxzZTtcclxuICAgICAgICAgICAgdGhpcy5Tb2lsID0gZmFsc2U7XHJcbiAgICAgICAgfVxyXG4gICAgICAgIGxldCB0aXAgPSBjYy5pbnN0YW50aWF0ZShwcmVmYWIpO1xyXG4gICAgICAgIGlmKGRhdGEgPT0gXCJ1cFwiKSB0aXAuYW5nbGUgPSAxODA7XHJcbiAgICAgICAgaWYoZGF0YSA9PSBcImxlZnRcIikgdGlwLmFuZ2xlID0gLTkwO1xyXG4gICAgICAgIGlmKGRhdGEgPT0gXCJyaWdodFwiKSB0aXAuYW5nbGUgPSA5MDtcclxuICAgICAgICB0aXAucGFyZW50ID0gdGhpcy5NYXA7XHJcbiAgICBcclxuICAgICAgICBpZih0aGlzLmNvbnRyb2xBcnJheVt0aGlzLmNvbnRyb2xBcnJheS5sZW5ndGgtMV0gPT0gXCJyZWluZm9yY2VcIiB8fCBcclxuICAgICAgICAgICAgdGhpcy5jb250cm9sQXJyYXlbdGhpcy5jb250cm9sQXJyYXkubGVuZ3RoLTFdID09IFwic29pbFwiKXtcclxuICAgICAgICAgICAgICAgIGlmKGRhdGEgPT0gXCJyZWluZm9yY2VcIiB8fCBkYXRhID09IFwic29pbFwiKXtcclxuICAgICAgICAgICAgICAgICAgICB0aGlzLnRpcEFycmF5W3RoaXMudGlwQXJyYXkubGVuZ3RoLTFdLnJlbW92ZUZyb21QYXJlbnQoKTtcclxuICAgICAgICAgICAgICAgICAgICB0aGlzLnRpcEFycmF5W3RoaXMudGlwQXJyYXkubGVuZ3RoLTFdID0gbnVsbDtcclxuICAgICAgICAgICAgICAgICAgICB0aGlzLnRpcEFycmF5LnBvcCgpO1xyXG4gICAgICAgICAgICAgICAgICAgIHRoaXMuY29udHJvbEFycmF5LnBvcCgpO1xyXG4gICAgICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgICAgICB0aGlzLnNldFBvc2l0aW9uKHRpcCk7XHJcblxyXG4gICAgICAgIHRoaXMudGlwQXJyYXkucHVzaCh0aXApO1xyXG4gICAgICAgIHRoaXMuY29udHJvbEFycmF5LnB1c2goZGF0YSk7XHJcbiAgICBcclxuICAgICAgICBpZih0aGlzLnRpcEFycmF5Lmxlbmd0aCA+PSAyNSl7XHJcbiAgICAgICAgICAgIGlmKCh0aGlzLnRpcEFycmF5Lmxlbmd0aCAtIDEpJTggPT0gMCl7XHJcbiAgICAgICAgICAgICAgICB0aGlzLm1hcE1vdmUodHJ1ZSk7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICB9XHJcbiAgICAvL+WcsOWbvuaUvuS4jeS4i+S6huS4iuS4i+enu+WKqFxyXG4gICAgbWFwTW92ZSh0eXBlKXtcclxuICAgICAgICBpZih0eXBlKSB0aGlzLm1hcEhlaWdodCArPSA0ODtcclxuICAgICAgICBlbHNlIHRoaXMubWFwSGVpZ2h0IC09IDQ4O1xyXG4gICAgICAgIGZvcihsZXQgaT0wOyBpPHRoaXMudGlwQXJyYXkubGVuZ3RoO2krKyl7XHJcbiAgICAgICAgICAgIGxldCB0aXAgPSB0aGlzLnRpcEFycmF5W2ldO1xyXG4gICAgICAgICAgICBpZih0eXBlKXRpcC55ICs9IDQ4O1xyXG4gICAgICAgICAgICBlbHNlIHRpcC55IC09IDQ4O1xyXG4gICAgICAgIH1cclxuICAgIH1cclxuXHJcbiAgICAvL+eCueWHu+W8gOWniyDliJvlu7rmsrPpgZNcclxuICAgIHN0YXJ0X0NsaWNrKCl7XHJcbiAgICAgICAgaWYoIXRoaXMuY2FuVG91Y2gpIHJldHVybjtcclxuICAgICAgICB0aGlzLmNhblRvdWNoID0gZmFsc2U7XHJcbiAgICAgICAgY2MuZnguQXVkaW9NYW5hZ2VyLl9pbnN0YW5jZS5wbGF5RWZmZWN0KFwiYnVpbGRcIixudWxsKTtcclxuICAgICAgICBjYy5meC5Ob3RpZmljYXRpb25zLmVtaXQoY2MuZnguTWVzc2FnZS5zdGFydEdhbWUsdGhpcy5jb250cm9sQXJyYXkpO1xyXG4gICAgfVxyXG5cclxuICAgIC8vIHVwZGF0ZSAoZHQpIHt9XHJcbn1cclxuIl19 +//------QC-SOURCE-SPLIT------ + + (function() { + var nodeEnv = typeof require !== 'undefined' && typeof process !== 'undefined'; + var __module = nodeEnv ? module : {exports:{}}; + var __filename = 'preview-scripts/tiledmap-optimize-resource/Script/TmoSprite.js'; + var __require = nodeEnv ? function (request) { + return cc.require(request); + } : function (request) { + return __quick_compile_project__.require(request, __filename); + }; + function __define (exports, require, module) { + if (!nodeEnv) {__quick_compile_project__.registerModule(__filename, module);}"use strict"; +cc._RF.push(module, '4fa6cO05aBKGoM+5EX9zhkC', 'TmoSprite'); +// Script/TmoSprite.js + +"use strict"; + +exports.__esModule = true; +exports["default"] = void 0; + +var _TmoAssembler = require("./TmoAssembler"); + +var _default = cc.Class({ + "extends": cc.Sprite, + + /** + * 设置TextureIndex + */ + setTextureIdx: function setTextureIdx(idx) { + this._textureIdx = idx; + this.setVertsDirty(); + }, + _getDefaultMaterial: function _getDefaultMaterial() { + // 从TiledMap取得默认的材质 + return this._getTiledMap().getObjectMaterial(); + }, + _updateMaterial: function _updateMaterial() { + // make sure material is belong to self. + var material = this.getMaterial(0); + + if (material) { + if (material.getDefine('USE_TEXTURE') !== undefined) { + material.define('USE_TEXTURE', true); + } // 手动设置哈希值,避免无法合批 + + + material.updateHash(999999); // 增加WITH_COLOR宏定义 + + var noColor = this.isNoColor(); + material.define('WITH_COLOR', !noColor); + } + + cc.BlendFunc.prototype._updateMaterial.call(this); + }, + _resetAssembler: function _resetAssembler() { + // 修改默认Assembler + var assembler = this._assembler = new _TmoAssembler.TmoAssembler(); + assembler.init(this); + + this._updateColor(); + + this.setVertsDirty(); + }, + _getTiledMap: function _getTiledMap() { + return this.node._tiledMap; + }, + isNoColor: function isNoColor() { + return this._getTiledMap().isNoColor(); + } +}); + +exports["default"] = _default; +module.exports = exports["default"]; + +cc._RF.pop(); + } + if (nodeEnv) { + __define(__module.exports, __require, __module); + } + else { + __quick_compile_project__.registerModuleFunc(__filename, function () { + __define(__module.exports, __require, __module); + }); + } + })(); +//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbInBhY2thZ2VzXFxUaWxlZE1hcE9wdGltaXplclxccmVzb3VyY2VcXFNjcmlwdFxcVG1vU3ByaXRlLmpzIl0sIm5hbWVzIjpbImNjIiwiQ2xhc3MiLCJTcHJpdGUiLCJzZXRUZXh0dXJlSWR4IiwiaWR4IiwiX3RleHR1cmVJZHgiLCJzZXRWZXJ0c0RpcnR5IiwiX2dldERlZmF1bHRNYXRlcmlhbCIsIl9nZXRUaWxlZE1hcCIsImdldE9iamVjdE1hdGVyaWFsIiwiX3VwZGF0ZU1hdGVyaWFsIiwibWF0ZXJpYWwiLCJnZXRNYXRlcmlhbCIsImdldERlZmluZSIsInVuZGVmaW5lZCIsImRlZmluZSIsInVwZGF0ZUhhc2giLCJub0NvbG9yIiwiaXNOb0NvbG9yIiwiQmxlbmRGdW5jIiwicHJvdG90eXBlIiwiY2FsbCIsIl9yZXNldEFzc2VtYmxlciIsImFzc2VtYmxlciIsIl9hc3NlbWJsZXIiLCJUbW9Bc3NlbWJsZXIiLCJpbml0IiwiX3VwZGF0ZUNvbG9yIiwibm9kZSIsIl90aWxlZE1hcCJdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7QUFBQTs7ZUFFZUEsRUFBRSxDQUFDQyxLQUFILENBQVM7QUFDcEIsYUFBU0QsRUFBRSxDQUFDRSxNQURROztBQUdwQjtBQUNKO0FBQ0E7QUFDSUMsRUFBQUEsYUFOb0IseUJBTU5DLEdBTk0sRUFNRDtBQUNmLFNBQUtDLFdBQUwsR0FBbUJELEdBQW5CO0FBQ0EsU0FBS0UsYUFBTDtBQUNILEdBVG1CO0FBV3BCQyxFQUFBQSxtQkFYb0IsaUNBV0U7QUFDbEI7QUFDQSxXQUFPLEtBQUtDLFlBQUwsR0FBb0JDLGlCQUFwQixFQUFQO0FBQ0gsR0FkbUI7QUFnQnBCQyxFQUFBQSxlQWhCb0IsNkJBZ0JGO0FBQ2Q7QUFDQSxRQUFJQyxRQUFRLEdBQUcsS0FBS0MsV0FBTCxDQUFpQixDQUFqQixDQUFmOztBQUNBLFFBQUlELFFBQUosRUFBYztBQUNWLFVBQUlBLFFBQVEsQ0FBQ0UsU0FBVCxDQUFtQixhQUFuQixNQUFzQ0MsU0FBMUMsRUFBcUQ7QUFDakRILFFBQUFBLFFBQVEsQ0FBQ0ksTUFBVCxDQUFnQixhQUFoQixFQUErQixJQUEvQjtBQUNILE9BSFMsQ0FJVjs7O0FBQ0FKLE1BQUFBLFFBQVEsQ0FBQ0ssVUFBVCxDQUFvQixNQUFwQixFQUxVLENBT1Y7O0FBQ0EsVUFBSUMsT0FBTyxHQUFHLEtBQUtDLFNBQUwsRUFBZDtBQUNBUCxNQUFBQSxRQUFRLENBQUNJLE1BQVQsQ0FBZ0IsWUFBaEIsRUFBOEIsQ0FBQ0UsT0FBL0I7QUFDSDs7QUFFRGpCLElBQUFBLEVBQUUsQ0FBQ21CLFNBQUgsQ0FBYUMsU0FBYixDQUF1QlYsZUFBdkIsQ0FBdUNXLElBQXZDLENBQTRDLElBQTVDO0FBQ0gsR0FoQ21CO0FBa0NwQkMsRUFBQUEsZUFsQ29CLDZCQWtDRjtBQUNkO0FBQ0EsUUFBSUMsU0FBUyxHQUFHLEtBQUtDLFVBQUwsR0FBa0IsSUFBSUMsMEJBQUosRUFBbEM7QUFDQUYsSUFBQUEsU0FBUyxDQUFDRyxJQUFWLENBQWUsSUFBZjs7QUFFQSxTQUFLQyxZQUFMOztBQUNBLFNBQUtyQixhQUFMO0FBQ0gsR0F6Q21CO0FBMkNwQkUsRUFBQUEsWUEzQ29CLDBCQTJDTDtBQUNYLFdBQU8sS0FBS29CLElBQUwsQ0FBVUMsU0FBakI7QUFDSCxHQTdDbUI7QUErQ3BCWCxFQUFBQSxTQS9Db0IsdUJBK0NSO0FBQ1IsV0FBTyxLQUFLVixZQUFMLEdBQW9CVSxTQUFwQixFQUFQO0FBQ0g7QUFqRG1CLENBQVQiLCJzb3VyY2VSb290IjoiLyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IFRtb0Fzc2VtYmxlciB9IGZyb20gXCIuL1Rtb0Fzc2VtYmxlclwiO1xyXG5cclxuZXhwb3J0IGRlZmF1bHQgY2MuQ2xhc3Moe1xyXG4gICAgZXh0ZW5kczogY2MuU3ByaXRlLFxyXG5cclxuICAgIC8qKlxyXG4gICAgICog6K6+572uVGV4dHVyZUluZGV4XHJcbiAgICAgKi9cclxuICAgIHNldFRleHR1cmVJZHgoaWR4KSB7XHJcbiAgICAgICAgdGhpcy5fdGV4dHVyZUlkeCA9IGlkeFxyXG4gICAgICAgIHRoaXMuc2V0VmVydHNEaXJ0eSgpO1xyXG4gICAgfSxcclxuXHJcbiAgICBfZ2V0RGVmYXVsdE1hdGVyaWFsKCkge1xyXG4gICAgICAgIC8vIOS7jlRpbGVkTWFw5Y+W5b6X6buY6K6k55qE5p2Q6LSoXHJcbiAgICAgICAgcmV0dXJuIHRoaXMuX2dldFRpbGVkTWFwKCkuZ2V0T2JqZWN0TWF0ZXJpYWwoKTtcclxuICAgIH0sXHJcblxyXG4gICAgX3VwZGF0ZU1hdGVyaWFsKCkge1xyXG4gICAgICAgIC8vIG1ha2Ugc3VyZSBtYXRlcmlhbCBpcyBiZWxvbmcgdG8gc2VsZi5cclxuICAgICAgICBsZXQgbWF0ZXJpYWwgPSB0aGlzLmdldE1hdGVyaWFsKDApO1xyXG4gICAgICAgIGlmIChtYXRlcmlhbCkge1xyXG4gICAgICAgICAgICBpZiAobWF0ZXJpYWwuZ2V0RGVmaW5lKCdVU0VfVEVYVFVSRScpICE9PSB1bmRlZmluZWQpIHtcclxuICAgICAgICAgICAgICAgIG1hdGVyaWFsLmRlZmluZSgnVVNFX1RFWFRVUkUnLCB0cnVlKTtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAvLyDmiYvliqjorr7nva7lk4jluIzlgLzvvIzpgb/lhY3ml6Dms5XlkIjmiblcclxuICAgICAgICAgICAgbWF0ZXJpYWwudXBkYXRlSGFzaCg5OTk5OTkpO1xyXG5cclxuICAgICAgICAgICAgLy8g5aKe5YqgV0lUSF9DT0xPUuWuj+WumuS5iVxyXG4gICAgICAgICAgICBsZXQgbm9Db2xvciA9IHRoaXMuaXNOb0NvbG9yKCk7XHJcbiAgICAgICAgICAgIG1hdGVyaWFsLmRlZmluZSgnV0lUSF9DT0xPUicsICFub0NvbG9yKTtcclxuICAgICAgICB9XHJcblxyXG4gICAgICAgIGNjLkJsZW5kRnVuYy5wcm90b3R5cGUuX3VwZGF0ZU1hdGVyaWFsLmNhbGwodGhpcyk7XHJcbiAgICB9LFxyXG5cclxuICAgIF9yZXNldEFzc2VtYmxlcigpIHtcclxuICAgICAgICAvLyDkv67mlLnpu5jorqRBc3NlbWJsZXJcclxuICAgICAgICBsZXQgYXNzZW1ibGVyID0gdGhpcy5fYXNzZW1ibGVyID0gbmV3IFRtb0Fzc2VtYmxlcigpO1xyXG4gICAgICAgIGFzc2VtYmxlci5pbml0KHRoaXMpO1xyXG5cclxuICAgICAgICB0aGlzLl91cGRhdGVDb2xvcigpO1xyXG4gICAgICAgIHRoaXMuc2V0VmVydHNEaXJ0eSgpO1xyXG4gICAgfSxcclxuXHJcbiAgICBfZ2V0VGlsZWRNYXAoKSB7XHJcbiAgICAgICAgcmV0dXJuIHRoaXMubm9kZS5fdGlsZWRNYXA7XHJcbiAgICB9LFxyXG5cclxuICAgIGlzTm9Db2xvcigpIHtcclxuICAgICAgICByZXR1cm4gdGhpcy5fZ2V0VGlsZWRNYXAoKS5pc05vQ29sb3IoKTtcclxuICAgIH1cclxufSk7XHJcbiJdfQ== //------QC-SOURCE-SPLIT------ (function() { @@ -6606,7 +7010,7 @@ cc._RF.pop(); (function() { var nodeEnv = typeof require !== 'undefined' && typeof process !== 'undefined'; var __module = nodeEnv ? module : {exports:{}}; - var __filename = 'preview-scripts/assets/Script/module/Tool/GameTool.js'; + var __filename = 'preview-scripts/tiledmap-optimize-resource/Script/TmoTiledMap.js'; var __require = nodeEnv ? function (request) { return cc.require(request); } : function (request) { @@ -6614,329 +7018,183 @@ cc._RF.pop(); }; function __define (exports, require, module) { if (!nodeEnv) {__quick_compile_project__.registerModule(__filename, module);}"use strict"; -cc._RF.push(module, '43bfcJ6/25Fs4fHUE0PeBOX', 'GameTool'); -// Script/module/Tool/GameTool.ts +cc._RF.push(module, '0b9eetmSUdJRZCQS91TYCw/', 'TmoTiledMap'); +// Script/TmoTiledMap.js "use strict"; -Object.defineProperty(exports, "__esModule", { value: true }); -exports.GameTool = void 0; -//最大工具类 各种公共方法,以及处理上传,获取后端接口数据 -var GameTool = { - _startTime: 0, - _endTime: 0, - _totalTime: 0, - //获取userId - Authentication: function () { - var name = "user_" + cc.fx.GameConfig.GM_INFO.gameId; - var data = JSON.parse(localStorage.getItem(name)); - if (data == "undifend" || data == null || data == "") { - var url = "https://api.sparkus.cn/api/user/auth/login?domain=hui32579WdYPsgYq&callback=" + location.href; - window.location.href = url; + +// Learn cc.Class: +// - https://docs.cocos.com/creator/manual/en/scripting/class.html +// Learn Attribute: +// - https://docs.cocos.com/creator/manual/en/scripting/reference/attributes.html +// Learn life-cycle callbacks: +// - https://docs.cocos.com/creator/manual/en/scripting/life-cycle-callbacks.html +var TmoTiledLayer = require("./TmoTiledLayer"); + +var TmoObjectGroup = require("./TmoObjectGroup"); + +cc.Class({ + "extends": cc.TiledMap, + properties: { + objectMaterial: cc.Material, + noColor: true, + singleTexture: true, + _objectTextures: [] + }, + _applyFile: function _applyFile() { + if (!this.objectMaterial) { + cc.error("TiledmapOptimize: 未设置objectMaterial!"); + return; + } + + this._super(); + }, + _buildLayerAndGroup: function _buildLayerAndGroup() { + var tilesets = this._tilesets; + var texGrids = this._texGrids; + var animations = this._animations; + texGrids.length = 0; + + for (var i = 0, l = tilesets.length; i < l; ++i) { + var tilesetInfo = tilesets[i]; + if (!tilesetInfo) continue; + cc.TiledMap.fillTextureGrids(tilesetInfo, texGrids, i); + } + + this._fillAniGrids(texGrids, animations); + + var layers = this._layers; + var groups = this._groups; + var images = this._images; + var oldNodeNames = {}; + + for (var _i = 0, n = layers.length; _i < n; _i++) { + oldNodeNames[layers[_i].node._name] = true; + } + + for (var _i2 = 0, _n = groups.length; _i2 < _n; _i2++) { + oldNodeNames[groups[_i2].node._name] = true; + } + + for (var _i3 = 0, _n2 = images.length; _i3 < _n2; _i3++) { + oldNodeNames[images[_i3]._name] = true; + } + + layers = this._layers = []; + groups = this._groups = []; + images = this._images = []; + var mapInfo = this._mapInfo; + var node = this.node; + var layerInfos = mapInfo.getAllChildren(); + var textures = this._textures; + var maxWidth = 0; + var maxHeight = 0; + this._objectTextures = []; + var firstTmxLayer = null; + + if (layerInfos && layerInfos.length > 0) { + for (var _i4 = 0, len = layerInfos.length; _i4 < len; _i4++) { + var layerInfo = layerInfos[_i4]; + var name = layerInfo.name; + var child = this.node.getChildByName(name); + oldNodeNames[name] = false; + + if (!child) { + child = new cc.Node(); + child.name = name; + node.addChild(child); } - else { - cc.fx.StorageMessage.setStorage(name, data); - cc.fx.GameConfig.GM_INFO.userId = parseInt(data.userId); + + child.setSiblingIndex(_i4); + child.active = layerInfo.visible; + + if (layerInfo instanceof cc.TMXLayerInfo) { + // 此处修改 改为创建MyTiledLayer + var layer = child.getComponent(TmoTiledLayer); + + if (!layer) { + layer = child.addComponent(TmoTiledLayer); + } // 修改结束 + // 此处修改 传递firstTmxLayer 记录firstTmxLayer + + + layer._init(layerInfo, mapInfo, tilesets, textures, texGrids, this, firstTmxLayer); + + firstTmxLayer = firstTmxLayer || layer; // 修改结束 + // tell the layerinfo to release the ownership of the tiles map. + + layerInfo.ownTiles = false; + layers.push(layer); + } else if (layerInfo instanceof cc.TMXObjectGroupInfo) { + var group = child.getComponent(TmoObjectGroup); + + if (!group) { + group = child.addComponent(TmoObjectGroup); + } + + group._init(layerInfo, mapInfo, texGrids, this); + + groups.push(group); + } else if (layerInfo instanceof cc.TMXImageLayerInfo) { + var texture = layerInfo.sourceImage; + child.opacity = layerInfo.opacity; + child.layerInfo = layerInfo; + child._offset = cc.v2(layerInfo.offset.x, -layerInfo.offset.y); + var image = child.getComponent(cc.Sprite); + + if (!image) { + image = child.addComponent(cc.Sprite); + } + + var spf = image.spriteFrame || new cc.SpriteFrame(); + spf.setTexture(texture); + image.spriteFrame = spf; + child.width = texture.width; + child.height = texture.height; + images.push(child); } - }, - //埋点上传 - setGameData: function () { - //GAME_DATA 初始化 每次清零 - cc.fx.GameConfig.GAME_DATA = []; - cc.fx.GameConfig.GAME_DATA.push(cc.fx.GameConfig.CLICK_DATA); - cc.fx.GameConfig.CLICK_init(); - var data = cc.fx.GameConfig.GAME_DATA; - var matchId = this.getMatchId(); - var postData = { - "gameId": cc.fx.GameConfig.GM_INFO.gameId, - "userId": cc.fx.GameConfig.GM_INFO.userId, - "matchId": matchId, - "data": data - }; - console.log("上传数据:", data); - cc.fx.HttpUtil.uploadUserLogData(postData, function () { }); - }, - //上传排行榜 type为1 - setRank: function (data) { - //GAME_DATA 初始化 每次清零 - var postData = { - "gameId": cc.fx.GameConfig.GM_INFO.gameId, - "userId": cc.fx.GameConfig.GM_INFO.userId, - "type": 1, - "score": data.score, - "accuracy": data.date, - "success": cc.fx.GameConfig.GM_INFO.success - }; - cc.fx.HttpUtil.rankData(1, function () { }, postData); - }, - //获取排行榜 type为2 - getRank: function (data, callback) { - var rankLength = data.length; - var postData = { - "gameId": cc.fx.GameConfig.GM_INFO.gameId, - "userId": cc.fx.GameConfig.GM_INFO.userId, - "page": 1, - "pageSize": rankLength - }; - //回调进getRankData - cc.fx.HttpUtil.rankData(2, function (data) { callback(data); }, postData); - }, - //获取matchId 用于上传每次点击数据里面记录id方便查询 - getMatchId: function () { - var matchId = cc.sys.localStorage.getItem("matchId"); - var tempId = matchId; - if (matchId == "undifend" || matchId == null) { - matchId = this.setMatchId(); - } - else { - if (this.containsNanana(matchId) == true) { - matchId = this.setMatchId(); - } - else { - var char = parseInt(tempId.substring(10, tempId.length)); - if (cc.fx.GameConfig.GM_INFO.level == 1) { - char += 1; - matchId = tempId.slice(0, 10) + char + ""; - if (this.containsNanana(matchId)) - matchId = this.setMatchId(); - cc.fx.GameConfig.GM_INFO.matchId = matchId; - cc.sys.localStorage.setItem("matchId", matchId); - } - } - } - if (this.containsNanana(matchId) == true) { - matchId = this.setMatchId(); - } - return matchId; - }, - //检测matchId 如果有缓存以前的nanana数据清除 - containsNanana: function (str) { - return /na/i.test(str); - }, - //重新设置MatchId - setMatchId: function () { - // 定义包含可用字符的字符集 - var characters = 'abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789'; - // 创建一个数组以保存随机字符 - var uuidArray = []; - // 循环10次 生成10位的UUID - for (var i = 0; i < 10; i++) { - // 生成随机索引,范围是字符集的长度 - var randomIndex = Math.floor(Math.random() * characters.length); - // 从字符集中获取随机字符 - var randomChar = characters.charAt(randomIndex); - // 将字符添加到数组中 - uuidArray.push(randomChar); - } - var data = uuidArray.join('') + 1 + ""; - cc.sys.localStorage.setItem("matchNumber", 1); - cc.sys.localStorage.setItem("matchId", data); - cc.fx.GameConfig.GM_INFO.matchId = data; - return data; - }, - //截取名字 - subName: function (name, length) { - if (name.length > length) { - name = name.substring(0, length) + "..."; - } - return name; - }, - //设置头像 - setPic: function (node, pic) { - node.active = false; - var url = pic; - setTimeout(function () { - fetch(url) - .then(function (response) { - return response.headers.get('Content-Length'); - }) - .then(function (errNo) { - if (errNo == "5093") { - node.active = true; - } - }) - .catch(function (error) { - // console.error('Error fetching X-Info:', error); - }); - }, 100); - cc.assetManager.loadRemote(url, { ext: '.png' }, function (err, texture) { - if (texture) { - node.active = true; - node.getComponent(cc.Sprite).spriteFrame = new cc.SpriteFrame(texture); - } - else { - console.log(err, texture); - } - }); - }, - //第一个参数把目标带进来处理,第二个参数为名字长度,不同场景不同需求 - //名字4短,小排行,名字6长,大排行 - getRankData: function (data, target, nameLength) { - target.listData = data.data.list; - target.selfData = data.data.info; - var rankData = []; - var self = false; - cc.fx.GameTool.setPic(target.selfNode.getChildByName("pic").getChildByName("icon"), target.selfData.pic); - for (var i = 0; i <= target.listData.length - 1; i++) { - rankData.push({ rank: (i + 1), name: target.listData[i].nickName, total: target.listData[i].score, time: null, pic: target.listData[i].pic }); - if (cc.fx.GameConfig.GM_INFO.userId == target.listData[i].userId) { - self = true; - target.rankNumber = i; - target.selfNode.getChildByName("rankLab").getComponent(cc.Label).string = (i + 1) + ""; - } - if (i == (target.listData.length - 1) && self == false) { - target.rankNumber = i; - target.selfNode.getChildByName("rankLab").getComponent(cc.Label).string = "99+"; - } - } - cc.fx.GameTool.subName(target.selfData.nickName, nameLength); - target.selfNode.getChildByName("nameLab").getComponent(cc.Label).string = target.selfData.nickName; - target.selfNode.getChildByName("totalLab").getComponent(cc.Label).string = target.selfData.score; - var timeTemp = cc.fx.GameTool.getTimeShenNong(target.selfData.totleTimes); - // target.selfNode.getChildByName("timeLab").getComponent(cc.Label).string = timeTemp + ""; - switch (target.selfNode.getChildByName("rankLab").getComponent(cc.Label).string) { - case "1": - target.selfNode.getChildByName("rank").getChildByName("one").active = true; - break; - case "2": - target.selfNode.getChildByName("rank").getChildByName("two").active = true; - break; - case "3": - target.selfNode.getChildByName("rank").getChildByName("three").active = true; - break; - } - // 大排行 - if (nameLength == 6) { - target.rankList.setData(rankData); - target.selfNode.opacity = 255; - if (target.selfData.totalSunCount == 0) - target.selfNode.opacity = 0; - } - }, - getSeedRandom: function (min, max) { - console.log("随机数:", cc.fx.GameConfig.GM_INFO.currSeed); - max = max || 1; - min = min || 0; - cc.fx.GameConfig.GM_INFO.currSeed = (cc.fx.GameConfig.GM_INFO.currSeed * 9301 + 49297) % 233280; - var rnd = cc.fx.GameConfig.GM_INFO.currSeed / 233280.0; - var tmp = min + rnd * (max - min); - return parseInt(tmp); - }, - //获取关卡配置的那个关卡数 - getCustom: function (type) { - var custom = cc.fx.StorageMessage.getStorage(cc.fx.storageType.storageTypeCustom); - if (custom == "undifend" || custom == null || custom == "") { - this.setCustom(); - } - else { - cc.fx.GameConfig.GM_INFO_SET("custom", custom[0]); - if (custom[0] != 0 || type == true) { - custom.shift(); - if (custom.length == 0) { - this.setCustom(); - } - else - cc.fx.StorageMessage.setStorage(cc.fx.storageType.storageTypeCustom, custom); - } - } - }, - //本地没有存储到配置,或者配置用完,重新创建配置 - setCustom: function () { - var arrayLength = cc.fx.GameConfig.LEVEL_INFO.length; - var arrayList = []; - for (var i = 1; i < arrayLength; i++) { - arrayList.push(i); - } - arrayList.sort(function () { return Math.random() - 0.5; }); - arrayList.unshift(0); - cc.fx.GameConfig.GM_INFO_SET("custom", arrayList[0]); - cc.fx.StorageMessage.setStorage(cc.fx.storageType.storageTypeCustom, arrayList); - }, - getSetScreenResolutionFlag: function () { - var size = cc.winSize; - var width = size.width; - var height = size.height; - if ((height / width) > (16.2 / 9)) - return false; - return true; - }, - //判断全面屏适配 - setFit: function (canvas) { - var flag = cc.fx.GameTool.getSetScreenResolutionFlag(); - if (flag) { - // console.log("不是全面屏"); - } - else { - // console.log("是全面屏"); - } - return flag; - }, - //获取游戏信息 - getGameInfo: function (node) { - var jg = false; - return jg; - }, - //设置游戏信息 - setGameInfo: function (pd) { - }, - //打字机效果 - typingAni: function (label, text, cb, target) { - var self = target; - var html = ''; - var arr = text.split(''); - var len = arr.length; - var step = 0; - self.func = function () { - html += arr[step]; - label.string = html; - if (++step == len) { - self.unschedule(self.func); - cb && cb(); - } - }; - self.schedule(self.func, 0.1, cc.macro.REPEAT_FOREVER, 0); - }, - //输入秒,返回需要展示时间格式 - getTimeMargin: function (second) { - var total = 0; - total = second; - var hour = 0; - hour = parseInt((total / 3600) + ""); //计算整数小时数 - var afterHour = total - hour * 60 * 60; //取得算出小时数后剩余的秒数 - var min = parseInt((afterHour / 60) + ""); //计算整数分 - var m = "" + min; - if (min < 10) - m = "0" + min; - var afterMin = total - hour * 60 * 60 - min * 60; //取得算出分后剩余的秒数 - var miao = afterMin + ""; - if (afterMin < 10) - miao = "0" + afterMin; - return m + ':' + miao; - }, - //输入秒,返回需要展示时间格式 - getTimeShenNong: function (second) { - second = parseInt(second / 1000 + ""); - var total = 0; - total = second; - var min = 0; - if (total > 60) { - min = parseInt((total / 60) + ""); //计算整数分 - } - var m = min + "'"; - var afterMin = total - min * 60; //取得算出分后剩余的秒数 - var miao = afterMin + "''"; - return m + miao; - }, - //获取时间戳 - getTime: function () { - var timestamp = (new Date().getTime()); - return timestamp; - }, - pushLister: function () { - }, - removeAllLister: function () { - }, -}; -exports.GameTool = GameTool; + + maxWidth = Math.max(maxWidth, child.width); + maxHeight = Math.max(maxHeight, child.height); + } + } // 设置材质的texture属性 + + + var objectTextures = this._objectTextures; + + for (var _i5 = 0; _i5 < objectTextures.length; _i5++) { + var idx = _i5 === 0 ? '' : _i5; + this.objectMaterial.setProperty("texture" + idx, objectTextures[_i5], 0); + } + + var children = node.children; + + for (var _i6 = 0, _n3 = children.length; _i6 < _n3; _i6++) { + var c = children[_i6]; + + if (oldNodeNames[c._name]) { + c.destroy(); + } + } + + this.node.width = maxWidth; + this.node.height = maxHeight; + + this._syncAnchorPoint(); + }, + getObjectMaterial: function getObjectMaterial() { + return this.objectMaterial; + }, + isNoColor: function isNoColor() { + return this.noColor; + }, + isSingleTexture: function isSingleTexture() { + return this.singleTexture; + }, + getObjectTextures: function getObjectTextures() { + return this._objectTextures; + } +}); cc._RF.pop(); } @@ -6949,7 +7207,992 @@ cc._RF.pop(); }); } })(); -//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbImFzc2V0c1xcU2NyaXB0XFxtb2R1bGVcXFRvb2xcXEdhbWVUb29sLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7Ozs7Ozs7Ozs7Ozs7OztBQUNBLCtCQUErQjtBQUMvQixJQUFJLFFBQVEsR0FBRztJQUNYLFVBQVUsRUFBRSxDQUFDO0lBQ2IsUUFBUSxFQUFFLENBQUM7SUFDWCxVQUFVLEVBQUUsQ0FBQztJQUNiLFVBQVU7SUFDVixjQUFjO1FBQ1YsSUFBSSxJQUFJLEdBQUcsT0FBTyxHQUFHLEVBQUUsQ0FBQyxFQUFFLENBQUMsVUFBVSxDQUFDLE9BQU8sQ0FBQyxNQUFNLENBQUM7UUFDckQsSUFBSSxJQUFJLEdBQUcsSUFBSSxDQUFDLEtBQUssQ0FBQyxZQUFZLENBQUMsT0FBTyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUM7UUFDbEQsSUFBRyxJQUFJLElBQUksVUFBVSxJQUFJLElBQUksSUFBRSxJQUFJLElBQUksSUFBSSxJQUFJLEVBQUUsRUFBQztZQUM5QyxJQUFJLEdBQUcsR0FBRyw4RUFBOEUsR0FBQyxRQUFRLENBQUMsSUFBSSxDQUFDO1lBQ3ZHLE1BQU0sQ0FBQyxRQUFRLENBQUMsSUFBSSxHQUFHLEdBQUcsQ0FBQztTQUM5QjthQUNHO1lBQ0EsRUFBRSxDQUFDLEVBQUUsQ0FBQyxjQUFjLENBQUMsVUFBVSxDQUFDLElBQUksRUFBQyxJQUFJLENBQUMsQ0FBQztZQUMzQyxFQUFFLENBQUMsRUFBRSxDQUFDLFVBQVUsQ0FBQyxPQUFPLENBQUMsTUFBTSxHQUFHLFFBQVEsQ0FBQyxJQUFJLENBQUMsTUFBTSxDQUFDLENBQUM7U0FDM0Q7SUFDTCxDQUFDO0lBRUQsTUFBTTtJQUNOLFdBQVc7UUFDUCxvQkFBb0I7UUFDcEIsRUFBRSxDQUFDLEVBQUUsQ0FBQyxVQUFVLENBQUMsU0FBUyxHQUFHLEVBQUUsQ0FBQztRQUNoQyxFQUFFLENBQUMsRUFBRSxDQUFDLFVBQVUsQ0FBQyxTQUFTLENBQUMsSUFBSSxDQUFDLEVBQUUsQ0FBQyxFQUFF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QixDQUFDO0lBRUQsT0FBTztJQUNQLE9BQU87UUFDSCxJQUFNLFNBQVMsR0FBSSxDQUFDLElBQUksSUFBSSxFQUFFLENBQUMsT0FBTyxFQUFFLENBQUMsQ0FBQTtRQUN6QyxPQUFPLFNBQVMsQ0FBQztJQUNyQixDQUFDO0lBQ0QsVUFBVSxFQUFDO0lBRVgsQ0FBQztJQUNELGVBQWUsRUFBQztJQUVoQixDQUFDO0NBRUosQ0FBQztBQUNPLDRCQUFRIiwiZmlsZSI6IiIsInNvdXJjZVJvb3QiOiIvIiwic291cmNlc0NvbnRlbnQiOlsiXHJcbi8v5pyA5aSn5bel5YW357G7ICDlkITnp43lhazlhbHmlrnms5XvvIzku6Xlj4rlpITnkIbkuIrkvKDvvIzojrflj5blkI7nq6/mjqXlj6PmlbDmja5cclxudmFyIEdhbWVUb29sID0ge1xyXG4gICAgX3N0YXJ0VGltZTogMCxcclxuICAgIF9lbmRUaW1lOiAwLFxyXG4gICAgX3RvdGFsVGltZTogMCxcclxuICAgIC8v6I635Y+WdXNlcklkXHJcbiAgICBBdXRoZW50aWNhdGlvbigpe1xyXG4gICAgICAgIGxldCBuYW1lID0gXCJ1c2VyX1wiICsgY2MuZnguR2FtZUNvbmZpZy5HTV9JTkZPLmdhbWVJZDtcclxuICAgICAgICB2YXIgZGF0YSA9IEpTT04ucGFyc2UobG9jYWxTdG9yYWdlLmdldEl0ZW0obmFtZSkpO1xyXG4gICAgICAgIGlmKGRhdGEgPT0gXCJ1bmRpZmVuZFwiIHx8IGRhdGE9PW51bGwgfHwgZGF0YSA9PSBcIlwiKXtcclxuICAgICAgICAgICAgbGV0IHVybCA9IFwiaHR0cHM6Ly9hcGkuc3Bhcmt1cy5jbi9hcGkvdXNlci9hdXRoL2xvZ2luP2RvbWFpbj1odWkzMjU3OVdkWVBzZ1lxJmNhbGxiYWNrPVwiK2xvY2F0aW9uLmhyZWY7XHJcbiAgICAgICAgICAgIHdpbmRvdy5sb2NhdGlvbi5ocmVmID0gdXJsO1xyXG4gICAgICAgIH1cclxuICAgICAgICBlbHNle1xyXG4gICAgICAgICAgICBjYy5meC5TdG9yYWdlTWVzc2FnZS5zZXRTdG9yYWdlKG5hbWUsZGF0YSk7XHJcbiAgICAgICAgICAgIGNjLmZ4LkdhbWVDb25maWcuR01fSU5GTy51c2VySWQgPSBwYXJzZUludChkYXRhLnVzZXJJZCk7XHJcbiAgICAgICAgfVxyXG4gICAgfSxcclxuXHJcbiAgICAvL+Wfi+eCueS4iuS8oFxyXG4gICAgc2V0R2FtZURhdGEoKXtcclxuICAgICAgICAvL0dBTUVfREFUQSDliJ3lp4vljJYg5q+P5qyh5riF6Zu2XHJcbiAgICAgICAgY2MuZnguR2FtZUNvbmZpZy5HQU1FX0RBVEEgPSBbXTtcclxuICAgICAgICBjYy5meC5HYW1lQ29uZmlnLkdBTUVfREFUQS5wdXNoKGNjLmZ4LkdhbWVDb25maWcuQ0xJQ0tfREFUQSk7XHJcbiAgICAgICAgY2MuZnguR2FtZUNvbmZpZy5DTElDS19pbml0KCk7XHJcbiAgICAgICAgbGV0IGRhdGEgPSBjYy5meC5HYW1lQ29uZmlnLkdBTUVfREFUQTtcclxuICAgICAgICBsZXQgbWF0Y2hJZCA9IHRoaXMuZ2V0TWF0Y2hJZCgpO1xyXG4gICAgICAgIGxldCBwb3N0RGF0YSA9IHtcclxuICAgICAgICAgICAgXCJnYW1lSWRcIjpjYy5meC5HYW1lQ29uZmlnLkdNX0lORk8uZ2FtZUlkLFxyXG4gICAgICAgICAgICBcInVzZXJJZFwiOmNjLmZ4LkdhbWVDb25maWcuR01fSU5GTy51c2VySWQsXHJcbiAgICAgICAgICAgIFwibWF0Y2hJZFwiOm1hdGNoSWQsXHJcbiAgICAgICAgICAgIFwiZGF0YVwiOiBkYXRhXHJcbiAgICAgICAgfTtcclxuXHJcbiAgICAgICAgY29uc29sZS5sb2coXCLkuIrkvKDmlbDmja46XCIsZGF0YSk7XHJcbiAgICAgICAgY2MuZnguSHR0cFV0aWwudXBsb2FkVXNlckxvZ0RhdGEocG9zdERhdGEsZnVuY3Rpb24oKXt9KVxyXG4gICAgfSxcclxuICAgIC8v5LiK5Lyg5o6S6KGM5qacICB0eXBl5Li6MVxyXG4gICAgc2V0UmFuayhkYXRhKXtcclxuICAgICAgICAvL0dBTUVfREFUQSDliJ3lp4vljJYg5q+P5qyh5riF6Zu2XHJcbiAgICAgICAgbGV0IHBvc3REYXRhID0ge1xyXG4gICAgICAgICAgICBcImdhbWVJZFwiOmNjLmZ4LkdhbWVDb25maWcuR01fSU5GTy5nYW1lSWQsXHJcbiAgICAgICAgICAgIFwidXNlcklkXCI6Y2MuZnguR2FtZUNvbmZpZy5HTV9JTkZPLnVzZXJJZCxcclxuICAgICAgICAgICAgXCJ0eXBlXCI6MSxcclxuICAgICAgICAgICAgXCJzY29yZVwiOiBkYXRhLnNjb3JlLFxyXG4gICAgICAgICAgICBcImFjY3VyYWN5XCI6IGRhdGEuZGF0ZSxcclxuICAgICAgICAgICAgXCJzdWNjZXNzXCI6IGNjLmZ4LkdhbWVDb25maWcuR01fSU5GTy5zdWNjZXNzXHJcbiAgICAgICAgfTtcclxuICAgICAgICBjYy5meC5IdHRwVXRpbC5yYW5rRGF0YSgxLGZ1bmN0aW9uKCl7fSxwb3N0RGF0YSk7XHJcbiAgICB9LFxyXG4gICAgLy/ojrflj5bmjpLooYzmppwgdHlwZeS4ujJcclxuICAgIGdldFJhbmsoZGF0YSxjYWxsYmFjayl7XHJcbiAgICAgICAgbGV0IHJhbmtMZW5ndGggPSBkYXRhLmxlbmd0aDtcclxuICAgICAgICBsZXQgcG9zdERhdGEgPSB7XHJcbiAgICAgICAgICAgIFwiZ2FtZUlkXCI6Y2MuZnguR2FtZUNvbmZpZy5HTV9JTkZPLmdhbWVJZCxcclxuICAgICAgICAgICAgXCJ1c2VySWRcIjpjYy5meC5HYW1lQ29uZmlnLkdNX0lORk8udXNlcklkLFxyXG4gICAgICAgICAgICBcInBhZ2VcIjoxLFxyXG4gICAgICAgICAgICBcInBhZ2VTaXplXCI6cmFua0xlbmd0aFxyXG4gICAgICAgIH07IFxyXG4gICAgICAgIC8v5Zue6LCD6L+bZ2V0UmFua0RhdGFcclxuICAgICAgICBjYy5meC5IdHRwVXRpbC5yYW5rRGF0YSgyLGRhdGEgPT57Y2FsbGJhY2soZGF0YSl9LHBvc3REYXRhKTtcclxuICAgIH0sXHJcbiAgICAvL+iOt+WPlm1hdGNoSWQgIOeUqOS6juS4iuS8oOavj+asoeeCueWHu+aVsOaNrumHjOmdouiusOW9lWlk5pa55L6/5p+l6K+iXHJcbiAgICBnZXRNYXRjaElkICgpe1xyXG4gICAgICAgIGxldCBtYXRjaElkID0gY2Muc3lzLmxvY2FsU3RvcmFnZS5nZXRJdGVtKFwibWF0Y2hJZFwiKTtcclxuICAgICAgICBsZXQgdGVtcElkID0gbWF0Y2hJZDtcclxuICAgICAgICBpZihtYXRjaElkID09IFwidW5kaWZlbmRcIiB8fCBtYXRjaElkPT1udWxsKXtcclxuICAgICAgICAgICAgbWF0Y2hJZCA9ICB0aGlzLnNldE1hdGNoSWQoKTtcclxuICAgICAgICB9XHJcbiAgICAgICAgZWxzZXtcclxuICAgICAgICAgICAgaWYodGhpcy5jb250YWluc05hbmFuYShtYXRjaElkKSA9PSB0cnVlKXtcclxuICAgICAgICAgICAgICAgIG1hdGNoSWQgPSAgdGhpcy5zZXRNYXRjaElkKCk7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgZWxzZXtcclxuICAgICAgICAgICAgICAgIGxldCBjaGFyID0gcGFyc2VJbnQodGVtcElkLnN1YnN0cmluZygxMCx0ZW1wSWQubGVuZ3RoKSk7XHJcbiAgICAgICAgICAgICAgICBpZihjYy5meC5HYW1lQ29uZmlnLkdNX0lORk8ubGV2ZWwgPT0gMSl7XHJcbiAgICAgICAgICAgICAgICAgICAgY2hhciArPSAxO1xyXG4gICAgICAgICAgICAgICAgICAgIG1hdGNoSWQgID0gdGVtcElkLnNsaWNlKDAsIDEwKSArIGNoYXIgKyBcIlwiO1xyXG4gICAgICAgICAgICAgICAgICAgIGlmKHRoaXMuY29udGFpbnNOYW5hbmEobWF0Y2hJZCkpIG1hdGNoSWQgPSB0aGlzLnNldE1hdGNoSWQoKTtcclxuICAgICAgICAgICAgICAgICAgICBjYy5meC5HYW1lQ29uZmlnLkdNX0lORk8ubWF0Y2hJZCA9IG1hdGNoSWQ7XHJcbiAgICAgICAgICAgICAgICAgICAgY2Muc3lzLmxvY2FsU3RvcmFnZS5zZXRJdGVtKFwibWF0Y2hJZFwiLG1hdGNoSWQpO1xyXG4gICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG5cclxuICAgICAgICBpZih0aGlzLmNvbnRhaW5zTmFuYW5hKG1hdGNoSWQpID09IHRydWUpe1xyXG4gICAgICAgICAgICBtYXRjaElkID0gIHRoaXMuc2V0TWF0Y2hJZCgpO1xyXG4gICAgICAgIH1cclxuICAgICAgICByZXR1cm4gbWF0Y2hJZDtcclxuICAgIH0sXHJcbiAgICAvL+ajgOa1i21hdGNoSWQg5aaC5p6c5pyJ57yT5a2Y5Lul5YmN55qEbmFuYW5h5pWw5o2u5riF6ZmkXHJcbiAgICBjb250YWluc05hbmFuYShzdHIpIHtcclxuICAgICAgICByZXR1cm4gL25hL2kudGVzdChzdHIpO1xyXG4gICAgfSxcclxuICAgIC8v6YeN5paw6K6+572uTWF0Y2hJZFxyXG4gICAgc2V0TWF0Y2hJZCAoKXtcclxuICAgICAgICAvLyDlrprkuYnljIXlkKvlj6/nlKjlrZfnrKbnmoTlrZfnrKbpm4ZcclxuICAgICAgICBjb25zdCBjaGFyYWN0ZXJzID0gJ2FiY2RlZmdoaWprbG1ub3BxcnN0dXZ3eHl6QUJDREVGR0hJSktMTU5PUFFSU1RVVldYWVowMTIzNDU2Nzg5JztcclxuICAgICAgICAvLyDliJvlu7rkuIDkuKrmlbDnu4Tku6Xkv53lrZjpmo/mnLrlrZfnrKZcclxuICAgICAgICBjb25zdCB1dWlkQXJyYXkgPSBbXTtcclxuICAgICAgICAvLyDlvqrnjq8xMOasoSDnlJ/miJAxMOS9jeeahFVVSURcclxuICAgICAgICBmb3IgKGxldCBpID0gMDsgaSA8IDEwOyBpKyspIHtcclxuICAgICAgICAgICAgICAgIC8vIOeUn+aIkOmaj+acuue0ouW8le+8jOiMg+WbtOaYr+Wtl+espumbhueahOmVv+W6plxyXG4gICAgICAgICAgICBjb25zdCByYW5kb21JbmRleCA9IE1hdGguZmxvb3IoTWF0aC5yYW5kb20oKSAqIGNoYXJhY3RlcnMubGVuZ3RoKTtcclxuICAgICAgICAgICAgLy8g5LuO5a2X56ym6ZuG5Lit6I635Y+W6ZqP5py65a2X56ymXHJcbiAgICAgICAgICAgIGNvbnN0IHJhbmRvbUNoYXIgPSBjaGFyYWN0ZXJzLmNoYXJBdChyYW5kb21JbmRleCk7XHJcbiAgICAgICAgICAgIC8vIOWwhuWtl+espua3u+WKoOWIsOaVsOe7hOS4rVxyXG4gICAgICAgICAgICB1dWlkQXJyYXkucHVzaChyYW5kb21DaGFyKTtcclxuICAgICAgICB9XHJcbiAgICAgICAgbGV0IGRhdGEgPSAgdXVpZEFycmF5LmpvaW4oJycpICsgMSArIFwiXCI7XHJcbiAgICAgICAgY2Muc3lzLmxvY2FsU3RvcmFnZS5zZXRJdGVtKFwibWF0Y2hOdW1iZXJcIiwxKTtcclxuICAgICAgICBjYy5zeXMubG9jYWxTdG9yYWdlLnNldEl0ZW0oXCJtYXRjaElkXCIsZGF0YSk7XHJcbiAgICAgICAgY2MuZnguR2FtZUNvbmZpZy5HTV9JTkZPLm1hdGNoSWQgPSBkYXRhO1xyXG4gICAgICAgIHJldHVybiBkYXRhO1xyXG4gICAgfSxcclxuICAgIC8v5oiq5Y+W5ZCN5a2XXHJcbiAgICBzdWJOYW1lKG5hbWUsbGVuZ3RoKXtcclxuICAgICAgICBpZihuYW1lLmxlbmd0aCA+IGxlbmd0aCl7XHJcbiAgICAgICAgICAgIG5hbWUgPSBuYW1lLnN1YnN0cmluZygwLGxlbmd0aCkgKyBcIi4uLlwiXHJcbiAgICAgICAgfVxyXG4gICAgICAgIHJldHVybiBuYW1lO1xyXG4gICAgfSxcclxuICAgIC8v6K6+572u5aS05YOPXHJcbiAgICBzZXRQaWMobm9kZSxwaWMpe1xyXG4gICAgICAgIG5vZGUuYWN0aXZlID0gZmFsc2U7XHJcbiAgICAgICAgbGV0IHVybCA9IHBpYztcclxuICAgICAgICBzZXRUaW1lb3V0KCgpID0+IHtcclxuICAgICAgICAgICAgZmV0Y2godXJsKVxyXG4gICAgICAgICAgICAudGhlbihyZXNwb25zZSA9PiB7XHJcbiAgICAgICAgICAgICAgICByZXR1cm4gcmVzcG9uc2UuaGVhZGVycy5nZXQoJ0NvbnRlbnQtTGVuZ3RoJyk7XHJcbiAgICAgICAgICAgIH0pXHJcbiAgICAgICAgICAgIC50aGVuKGVyck5vID0+IHtcclxuICAgICAgICAgICAgICAgIGlmKGVyck5vID09IFwiNTA5M1wiKXtcclxuICAgICAgICAgICAgICAgICAgICBub2RlLmFjdGl2ZSA9IHRydWU7XHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIH0pXHJcbiAgICAgICAgICAgIC5jYXRjaChlcnJvciA9PiB7XHJcbiAgICAgICAgICAgICAgICAvLyBjb25zb2xlLmVycm9yKCdFcnJvciBmZXRjaGluZyBYLUluZm86JywgZXJyb3IpO1xyXG4gICAgICAgICAgICB9KTtcclxuICAgICAgICB9LCAxMDApO1xyXG4gICAgICAgIGNjLmFzc2V0TWFuYWdlci5sb2FkUmVtb3RlKHVybCwge2V4dDonLnBuZyd9LChlcnIsIHRleHR1cmU6Y2MuVGV4dHVyZTJEKSA9PiB7XHJcbiAgICAgICAgICAgIGlmKHRleHR1cmUpe1xyXG4gICAgICAgICAgICAgICAgbm9kZS5hY3RpdmUgPSB0cnVlO1xyXG4gICAgICAgICAgICAgICAgbm9kZS5nZXRDb21wb25lbnQoY2MuU3ByaXRlKS5zcHJpdGVGcmFtZSA9IG5ldyBjYy5TcHJpdGVGcmFtZSh0ZXh0dXJlKTtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICBlbHNle1xyXG4gICAgICAgICAgICAgICAgY29uc29sZS5sb2coZXJyLHRleHR1cmUpXHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9KVxyXG4gICAgfSxcclxuICAgIC8v56ys5LiA5Liq5Y+C5pWw5oqK55uu5qCH5bim6L+b5p2l5aSE55CG77yM56ys5LqM5Liq5Y+C5pWw5Li65ZCN5a2X6ZW/5bqm77yM5LiN5ZCM5Zy65pmv5LiN5ZCM6ZyA5rGCXHJcbiAgICAvL+WQjeWtlzTnn63vvIzlsI/mjpLooYzvvIzlkI3lrZc26ZW/77yM5aSn5o6S6KGMXHJcbiAgICBnZXRSYW5rRGF0YShkYXRhLHRhcmdldCxuYW1lTGVuZ3RoKXtcclxuICAgICAgICB0YXJnZXQubGlzdERhdGEgPSBkYXRhLmRhdGEubGlzdDtcclxuICAgICAgICB0YXJnZXQuc2VsZkRhdGEgPSBkYXRhLmRhdGEuaW5mbztcclxuICAgICAgICBsZXQgcmFua0RhdGEgPSBbXTtcclxuICAgICAgICBsZXQgc2VsZiA9IGZhbHNlO1xyXG4gICAgICAgICBjYy5meC5HYW1lVG9vbC5zZXRQaWModGFyZ2V0LnNlbGZOb2RlLmdldENoaWxkQnlOYW1lKFwicGljXCIpLmdldENoaWxkQnlOYW1lKFwiaWNvblwiKSx0YXJnZXQuc2VsZkRhdGEucGljKTtcclxuICAgICAgICBmb3IobGV0IGk9MDtpPD10YXJnZXQubGlzdERhdGEubGVuZ3RoLTE7aSsrKXtcclxuICAgICAgICAgICAgcmFua0RhdGEucHVzaCh7cmFuazooaSsxKSwgbmFtZTp0YXJnZXQubGlzdERhdGFbaV0ubmlja05hbWUsIHRvdGFsOnRhcmdldC5saXN0RGF0YVtpXS5zY29yZSx0aW1lOm51bGwsIHBpYzp0YXJnZXQubGlzdERhdGFbaV0ucGljfSk7XHJcbiAgICAgICAgICAgIGlmKGNjLmZ4LkdhbWVDb25maWcuR01fSU5GTy51c2VySWQgPT0gdGFyZ2V0Lmxpc3REYXRhW2ldLnVzZXJJZCl7XHJcbiAgICAgICAgICAgICAgICBzZWxmID0gdHJ1ZTtcclxuICAgICAgICAgICAgICAgIHRhcmdldC5yYW5rTnVtYmVyID0gaTtcclxuICAgICAgICAgICAgICAgIHRhcmdldC5zZWxmTm9kZS5nZXRDaGlsZEJ5TmFtZShcInJhbmtMYWJcIikuZ2V0Q29tcG9uZW50KGNjLkxhYmVsKS5zdHJpbmcgPShpKzEpICsgXCJcIjsgXHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgaWYoaSA9PSAodGFyZ2V0Lmxpc3REYXRhLmxlbmd0aC0xKSAmJiBzZWxmID09IGZhbHNlKXtcclxuICAgICAgICAgICAgICAgIHRhcmdldC5yYW5rTnVtYmVyID0gaTtcclxuICAgICAgICAgICAgICAgIHRhcmdldC5zZWxmTm9kZS5nZXRDaGlsZEJ5TmFtZShcInJhbmtMYWJcIikuZ2V0Q29tcG9uZW50KGNjLkxhYmVsKS5zdHJpbmcgPSBcIjk5K1wiOyBcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgICAgICAgY2MuZnguR2FtZVRvb2wuc3ViTmFtZSh0YXJnZXQuc2VsZkRhdGEubmlja05hbWUsbmFtZUxlbmd0aCk7XHJcbiAgICAgICAgdGFyZ2V0LnNlbGZOb2RlLmdldENoaWxkQnlOYW1lKFwibmFtZUxhYlwiKS5nZXRDb21wb25lbnQoY2MuTGFiZWwpLnN0cmluZyA9IHRhcmdldC5zZWxmRGF0YS5uaWNrTmFtZTtcclxuICAgICAgICB0YXJnZXQuc2VsZk5vZGUuZ2V0Q2hpbGRCeU5hbWUoXCJ0b3RhbExhYlwiKS5nZXRDb21wb25lbnQoY2MuTGFiZWwpLnN0cmluZyA9IHRhcmdldC5zZWxmRGF0YS5zY29yZTtcclxuICAgICAgICBsZXQgdGltZVRlbXAgPSBjYy5meC5HYW1lVG9vbC5nZXRUaW1lU2hlbk5vbmcodGFyZ2V0LnNlbGZEYXRhLnRvdGxlVGltZXMpO1xyXG4gICAgICAgIC8vIHRhcmdldC5zZWxmTm9kZS5nZXRDaGlsZEJ5TmFtZShcInRpbWVMYWJcIikuZ2V0Q29tcG9uZW50KGNjLkxhYmVsKS5zdHJpbmcgPSB0aW1lVGVtcCArIFwiXCI7XHJcbiAgICAgICAgc3dpdGNoKHRhcmdldC5zZWxmTm9kZS5nZXRDaGlsZEJ5TmFtZShcInJhbmtMYWJcIikuZ2V0Q29tcG9uZW50KGNjLkxhYmVsKS5zdHJpbmcpe1xyXG4gICAgICAgICAgICBjYXNlIFwiMVwiOlxyXG4gICAgICAgICAgICAgICAgdGFyZ2V0LnNlbGZOb2RlLmdldENoaWxkQnlOYW1lKFwicmFua1wiKS5nZXRDaGlsZEJ5TmFtZShcIm9uZVwiKS5hY3RpdmUgPSB0cnVlO1xyXG4gICAgICAgICAgICAgICAgYnJlYWs7XHJcbiAgICAgICAgICAgIGNhc2UgXCIyXCI6XHJcbiAgICAgICAgICAgICAgICB0YXJnZXQuc2VsZk5vZGUuZ2V0Q2hpbGRCeU5hbWUoXCJyYW5rXCIpLmdldENoaWxkQnlOYW1lKFwidHdvXCIpLmFjdGl2ZSA9IHRydWU7XHJcbiAgICAgICAgICAgICAgICBicmVhaztcclxuICAgICAgICAgICAgY2FzZSBcIjNcIjpcclxuICAgICAgICAgICAgICAgIHRhcmdldC5zZWxmTm9kZS5nZXRDaGlsZEJ5TmFtZShcInJhbmtcIikuZ2V0Q2hpbGRCeU5hbWUoXCJ0aHJlZVwiKS5hY3RpdmUgPSB0cnVlO1xyXG4gICAgICAgICAgICAgICAgYnJlYWs7XHJcbiAgICAgICAgfVxyXG4gICAgICAgIC8vIOWkp+aOkuihjFxyXG4gICAgICAgIGlmKG5hbWVMZW5ndGggPT0gNil7XHJcbiAgICAgICAgICAgIHRhcmdldC5yYW5rTGlzdC5zZXREYXRhKHJhbmtEYXRhKTtcclxuICAgICAgICAgICAgdGFyZ2V0LnNlbGZOb2RlLm9wYWNpdHkgPSAyNTU7XHJcbiAgICAgICAgICAgIGlmKHRhcmdldC5zZWxmRGF0YS50b3RhbFN1bkNvdW50ID09IDApIHRhcmdldC5zZWxmTm9kZS5vcGFjaXR5ID0gMDtcclxuICAgICAgICB9XHJcbiAgICB9LFxyXG5cclxuICAgIGdldFNlZWRSYW5kb206IGZ1bmN0aW9uIChtaW4sIG1heCkgey8v5YyF5ZCrbWluIOS4jeWMheWQq21heFxyXG4gICAgICAgIGNvbnNvbGUubG9nKFwi6ZqP5py65pWwOlwiLGNjLmZ4LkdhbWVDb25maWcuR01fSU5GTy5jdXJyU2VlZCk7XHJcbiAgICAgICAgbWF4ID0gbWF4IHx8IDE7XHJcbiAgICAgICAgbWluID0gbWluIHx8IDA7XHJcbiAgICAgICAgY2MuZnguR2FtZUNvbmZpZy5HTV9JTkZPLmN1cnJTZWVkID0gKGNjLmZ4LkdhbWVDb25maWcuR01fSU5GTy5jdXJyU2VlZCAqIDkzMDEgKyA0OTI5NykgJSAyMzMyODA7XHJcbiAgICAgICAgbGV0IHJuZCA9IGNjLmZ4LkdhbWVDb25maWcuR01fSU5GTy5jdXJyU2VlZCAgLyAyMzMyODAuMDtcclxuICAgICAgICBsZXQgdG1wID0gbWluICsgcm5kICogKG1heCAtIG1pbik7XHJcbiAgICAgICAgcmV0dXJuIHBhcnNlSW50KHRtcCk7XHJcbiAgICB9LFxyXG4gICAgLy/ojrflj5blhbPljaHphY3nva7nmoTpgqPkuKrlhbPljaHmlbBcclxuICAgIGdldEN1c3RvbSh0eXBlKXtcclxuICAgICAgICBsZXQgY3VzdG9tID0gY2MuZnguU3RvcmFnZU1lc3NhZ2UuZ2V0U3RvcmFnZShjYy5meC5zdG9yYWdlVHlwZS5zdG9yYWdlVHlwZUN1c3RvbSk7XHJcbiAgICAgICAgaWYoY3VzdG9tID09IFwidW5kaWZlbmRcIiB8fCBjdXN0b209PW51bGwgfHwgY3VzdG9tID09IFwiXCIpe1xyXG4gICAgICAgICAgICB0aGlzLnNldEN1c3RvbSgpO1xyXG4gICAgICAgIH1cclxuICAgICAgICBlbHNle1xyXG4gICAgICAgICAgICBjYy5meC5HYW1lQ29uZmlnLkdNX0lORk9fU0VUKFwiY3VzdG9tXCIsY3VzdG9tWzBdKTtcclxuICAgICAgICAgICAgaWYoY3VzdG9tWzBdICE9IDAgfHwgdHlwZSA9PSAgdHJ1ZSl7XHJcbiAgICAgICAgICAgICAgICBjdXN0b20uc2hpZnQoKTtcclxuICAgICAgICAgICAgICAgIGlmKGN1c3RvbS5sZW5ndGggPT0gMCl7XHJcbiAgICAgICAgICAgICAgICAgICAgdGhpcy5zZXRDdXN0b20oKTtcclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgIGVsc2UgY2MuZnguU3RvcmFnZU1lc3NhZ2Uuc2V0U3RvcmFnZShjYy5meC5zdG9yYWdlVHlwZS5zdG9yYWdlVHlwZUN1c3RvbSxjdXN0b20pO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgfSxcclxuICAgIC8v5pys5Zyw5rKh5pyJ5a2Y5YKo5Yiw6YWN572u77yM5oiW6ICF6YWN572u55So5a6M77yM6YeN5paw5Yib5bu66YWN572uXHJcbiAgICBzZXRDdXN0b20oKXtcclxuICAgICAgICBsZXQgYXJyYXlMZW5ndGggPSBjYy5meC5HYW1lQ29uZmlnLkxFVkVMX0lORk8ubGVuZ3RoO1xyXG4gICAgICAgIGxldCBhcnJheUxpc3QgPSBbXTtcclxuICAgICAgICBmb3IobGV0IGk9MTsgaTxhcnJheUxlbmd0aDtpKyspe1xyXG4gICAgICAgICAgICBhcnJheUxpc3QucHVzaChpKTtcclxuICAgICAgICB9XHJcbiAgICAgICAgYXJyYXlMaXN0LnNvcnQoKCkgPT4gTWF0aC5yYW5kb20oKSAtIDAuNSk7XHJcbiAgICAgICAgYXJyYXlMaXN0LnVuc2hpZnQoMClcclxuICAgICAgICBjYy5meC5HYW1lQ29uZmlnLkdNX0lORk9fU0VUKFwiY3VzdG9tXCIsYXJyYXlMaXN0WzBdKTtcclxuICAgICAgICBjYy5meC5TdG9yYWdlTWVzc2FnZS5zZXRTdG9yYWdlKGNjLmZ4LnN0b3JhZ2VUeXBlLnN0b3JhZ2VUeXBlQ3VzdG9tLGFycmF5TGlzdCk7XHJcbiAgICB9LFxyXG5cclxuXHJcbiAgICBnZXRTZXRTY3JlZW5SZXNvbHV0aW9uRmxhZzogZnVuY3Rpb24gKCkge1xyXG4gICAgICAgIGxldCBzaXplID0gY2Mud2luU2l6ZTtcclxuICAgICAgICBsZXQgd2lkdGggPSBzaXplLndpZHRoO1xyXG4gICAgICAgIGxldCBoZWlnaHQgPSBzaXplLmhlaWdodDtcclxuICAgICAgICBpZiAoKGhlaWdodCAvIHdpZHRoKSA+ICgxNi4yIC8gOSkpIHJldHVybiBmYWxzZTtcclxuICAgICAgICByZXR1cm4gdHJ1ZTtcclxuICAgIH0sXHJcbiAgICAvL+WIpOaWreWFqOmdouWxj+mAgumFjVxyXG4gICAgc2V0Rml0OiBmdW5jdGlvbiAoY2FudmFzKSB7XHJcbiAgICAgICAgbGV0IGZsYWcgPSAgY2MuZnguR2FtZVRvb2wuZ2V0U2V0U2NyZWVuUmVzb2x1dGlvbkZsYWcoKTtcclxuICAgICAgICBpZiAoZmxhZykge1xyXG4gICAgICAgIFx0Ly8gY29uc29sZS5sb2coXCLkuI3mmK/lhajpnaLlsY9cIik7XHJcbiAgICAgICAgfSBlbHNlIHtcclxuICAgICAgICBcdC8vIGNvbnNvbGUubG9nKFwi5piv5YWo6Z2i5bGPXCIpO1xyXG4gICAgICAgIH1cclxuICAgICAgICByZXR1cm4gZmxhZztcclxuICAgIH0sXHJcbiAgICAvL+iOt+WPlua4uOaIj+S/oeaBr1xyXG4gICAgZ2V0R2FtZUluZm86IGZ1bmN0aW9uKG5vZGUpe1xyXG4gICAgICAgIHZhciBqZyA9IGZhbHNlO1xyXG4gICAgICAgIHJldHVybiBqZztcclxuICAgIH0sXHJcbiAgICAvL+iuvue9rua4uOaIj+S/oeaBr1xyXG4gICAgc2V0R2FtZUluZm86IGZ1bmN0aW9uKHBkKXtcclxuICAgXHJcbiAgICB9LFxyXG5cclxuICAgIC8v5omT5a2X5py65pWI5p6cXHJcbiAgICB0eXBpbmdBbmkobGFiZWwsdGV4dCxjYix0YXJnZXQpe1xyXG4gICAgICAgIHZhciBzZWxmID0gdGFyZ2V0O1xyXG4gICAgICAgIHZhciBodG1sID0gJyc7XHJcbiAgICAgICAgdmFyIGFyciA9IHRleHQuc3BsaXQoJycpO1xyXG4gICAgICAgIHZhciBsZW4gPSBhcnIubGVuZ3RoO1xyXG4gICAgICAgIHZhciBzdGVwID0gMDtcclxuICAgICAgICBzZWxmLmZ1bmMgPSAoKT0+e1xyXG4gICAgICAgICAgICBodG1sICs9IGFycltzdGVwXTtcclxuICAgICAgICAgICAgbGFiZWwuc3RyaW5nID0gaHRtbDtcclxuICAgICAgICAgICAgaWYgKCsrc3RlcCA9PSBsZW4pIHtcclxuICAgICAgICAgICAgICAgIHNlbGYudW5zY2hlZHVsZShzZWxmLmZ1bmMpO1xyXG4gICAgICAgICAgICAgICAgY2IgJiYgY2IoKTtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgICAgICBzZWxmLnNjaGVkdWxlKHNlbGYuZnVuYywwLjEsIGNjLm1hY3JvLlJFUEVBVF9GT1JFVkVSLCAwKVxyXG4gICAgfSxcclxuXHJcbiAgICAvL+i+k+WFpeenkizov5Tlm57pnIDopoHlsZXnpLrml7bpl7TmoLzlvI9cclxuICAgIGdldFRpbWVNYXJnaW46KHNlY29uZCkgPT4ge1xyXG4gICAgICAgIGxldCB0b3RhbCA9IDA7XHJcbiAgICAgICAgdG90YWwgPSBzZWNvbmQ7XHJcbiAgICAgICAgbGV0IGhvdXIgPSAwO1xyXG4gICAgICAgIGhvdXIgPSBwYXJzZUludCgodG90YWwgLyAzNjAwKSArIFwiXCIpOy8v6K6h566X5pW05pWw5bCP5pe25pWwXHJcbiAgICAgICAgbGV0IGFmdGVySG91ciA9IHRvdGFsIC0gaG91ciAqIDYwICogNjA7Ly/lj5blvpfnrpflh7rlsI/ml7bmlbDlkI7liankvZnnmoTnp5LmlbBcclxuICAgICAgICBsZXQgbWluID0gcGFyc2VJbnQoKGFmdGVySG91ciAvIDYwKStcIlwiKTsvL+iuoeeul+aVtOaVsOWIhlxyXG4gICAgICAgIGxldCBtID0gXCJcIiArIG1pbjsgIFxyXG4gICAgICAgIGlmKG1pbiA8IDEwKSBtID0gXCIwXCIrbWluO1xyXG4gICAgICAgIGxldCBhZnRlck1pbiA9IHRvdGFsIC0gaG91ciAqIDYwICogNjAgLSBtaW4gKiA2MDsvL+WPluW+l+eul+WHuuWIhuWQjuWJqeS9meeahOenkuaVsFxyXG4gICAgICAgIGxldCBtaWFvID0gYWZ0ZXJNaW4gKyBcIlwiO1xyXG4gICAgICAgIGlmKGFmdGVyTWluIDwgMTApIG1pYW8gPSBcIjBcIiArIGFmdGVyTWluO1xyXG4gICAgICAgIHJldHVybiBtICsgJzonICsgbWlhb1xyXG4gICAgfSxcclxuXHJcbiAgICAvL+i+k+WFpeenkizov5Tlm57pnIDopoHlsZXnpLrml7bpl7TmoLzlvI9cclxuICAgIGdldFRpbWVTaGVuTm9uZzooc2Vjb25kKSA9PiB7XHJcbiAgICAgICAgc2Vjb25kID0gcGFyc2VJbnQoc2Vjb25kLzEwMDArXCJcIik7XHJcbiAgICAgICAgbGV0IHRvdGFsID0gMDtcclxuICAgICAgICB0b3RhbCA9IHNlY29uZDtcclxuICAgICAgICBsZXQgbWluID0gMDtcclxuICAgICAgICBpZih0b3RhbCA+IDYwKXtcclxuICAgICAgICAgICAgbWluID0gcGFyc2VJbnQoKHRvdGFsIC8gNjApK1wiXCIpOy8v6K6h566X5pW05pWw5YiGXHJcbiAgICAgICAgfVxyXG4gICAgICAgIGxldCBtID0gIG1pbiArIFwiJ1wiOyAgXHJcblxyXG4gICAgICAgIGxldCBhZnRlck1pbiA9IHRvdGFsIC0gbWluICogNjA7Ly/lj5blvpfnrpflh7rliIblkI7liankvZnnmoTnp5LmlbBcclxuICAgICAgICBsZXQgbWlhbyA9IGFmdGVyTWluICsgXCInJ1wiO1xyXG4gICAgICAgIHJldHVybiBtICsgbWlhb1xyXG4gICAgfSxcclxuXHJcbiAgICAvL+iOt+WPluaXtumXtOaIs1xyXG4gICAgZ2V0VGltZSgpe1xyXG4gICAgICAgIGNvbnN0IHRpbWVzdGFtcCA9ICAobmV3IERhdGUoKS5nZXRUaW1lKCkpXHJcbiAgICAgICAgcmV0dXJuIHRpbWVzdGFtcDtcclxuICAgIH0sXHJcbiAgICBwdXNoTGlzdGVyOmZ1bmN0aW9uICgpIHtcclxuICAgICAgICBcclxuICAgIH0sXHJcbiAgICByZW1vdmVBbGxMaXN0ZXI6ZnVuY3Rpb24gKCkge1xyXG4gICAgICAgIFxyXG4gICAgfSxcclxuXHJcbn07XHJcbmV4cG9ydCB7IEdhbWVUb29sIH07Il19 +//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbInBhY2thZ2VzXFxUaWxlZE1hcE9wdGltaXplclxccmVzb3VyY2VcXFNjcmlwdFxcVG1vVGlsZWRNYXAuanMiXSwibmFtZXMiOlsiVG1vVGlsZWRMYXllciIsInJlcXVpcmUiLCJUbW9PYmplY3RHcm91cCIsImNjIiwiQ2xhc3MiLCJUaWxlZE1hcCIsInByb3BlcnRpZXMiLCJvYmplY3RNYXRlcmlhbCIsIk1hdGVyaWFsIiwibm9Db2xvciIsInNpbmdsZVRleHR1cmUiLCJfb2JqZWN0VGV4dHVyZXMiLCJfYXBwbHlGaWxlIiwiZXJyb3IiLCJfc3VwZXIiLCJfYnVpbGRMYXllckFuZEdyb3VwIiwidGlsZXNldHMiLCJfdGlsZXNldHMiLCJ0ZXhHcmlkcyIsIl90ZXhHcmlkcyIsImFuaW1hdGlvbnMiLCJfYW5pbWF0aW9ucyIsImxlbmd0aCIsImkiLCJsIiwidGlsZXNldEluZm8iLCJmaWxsVGV4dHVyZUdyaWRzIiwiX2ZpbGxBbmlHcmlkcyIsImxheWVycyIsIl9sYXllcnMiLCJncm91cHMiLCJfZ3JvdXBzIiwiaW1hZ2VzIiwiX2ltYWdlcyIsIm9sZE5vZGVOYW1lcyIsIm4iLCJub2RlIiwiX25hbWUiLCJtYXBJbmZvIiwiX21hcEluZm8iLCJsYXllckluZm9zIiwiZ2V0QWxsQ2hpbGRyZW4iLCJ0ZXh0dXJlcyIsIl90ZXh0dXJlcyIsIm1heFdpZHRoIiwibWF4SGVpZ2h0IiwiZmlyc3RUbXhMYXllciIsImxlbiIsImxheWVySW5mbyIsIm5hbWUiLCJjaGlsZCIsImdldENoaWxkQnlOYW1lIiwiTm9kZSIsImFkZENoaWxkIiwic2V0U2libGluZ0luZGV4IiwiYWN0aXZlIiwidmlzaWJsZSIsIlRNWExheWVySW5mbyIsImxheWVyIiwiZ2V0Q29tcG9uZW50IiwiYWRkQ29tcG9uZW50IiwiX2luaXQiLCJvd25UaWxlcyIsInB1c2giLCJUTVhPYmplY3RHcm91cEluZm8iLCJncm91cCIsIlRNWEltYWdlTGF5ZXJJbmZvIiwidGV4dHVyZSIsInNvdXJjZUltYWdlIiwib3BhY2l0eSIsIl9vZmZzZXQiLCJ2MiIsIm9mZnNldCIsIngiLCJ5IiwiaW1hZ2UiLCJTcHJpdGUiLCJzcGYiLCJzcHJpdGVGcmFtZSIsIlNwcml0ZUZyYW1lIiwic2V0VGV4dHVyZSIsIndpZHRoIiwiaGVpZ2h0IiwiTWF0aCIsIm1heCIsIm9iamVjdFRleHR1cmVzIiwiaWR4Iiwic2V0UHJvcGVydHkiLCJjaGlsZHJlbiIsImMiLCJkZXN0cm95IiwiX3N5bmNBbmNob3JQb2ludCIsImdldE9iamVjdE1hdGVyaWFsIiwiaXNOb0NvbG9yIiwiaXNTaW5nbGVUZXh0dXJlIiwiZ2V0T2JqZWN0VGV4dHVyZXMiXSwibWFwcGluZ3MiOiI7Ozs7Ozs7Ozs7Ozs7Ozs7O0FBQUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsSUFBTUEsYUFBYSxHQUFHQyxPQUFPLENBQUMsaUJBQUQsQ0FBN0I7O0FBQ0EsSUFBTUMsY0FBYyxHQUFHRCxPQUFPLENBQUMsa0JBQUQsQ0FBOUI7O0FBQ0FFLEVBQUUsQ0FBQ0MsS0FBSCxDQUFTO0FBQ0wsYUFBU0QsRUFBRSxDQUFDRSxRQURQO0FBRUxDLEVBQUFBLFVBQVUsRUFBRTtBQUNSQyxJQUFBQSxjQUFjLEVBQUVKLEVBQUUsQ0FBQ0ssUUFEWDtBQUVSQyxJQUFBQSxPQUFPLEVBQUUsSUFGRDtBQUdSQyxJQUFBQSxhQUFhLEVBQUUsSUFIUDtBQUtSQyxJQUFBQSxlQUFlLEVBQUU7QUFMVCxHQUZQO0FBV0xDLEVBQUFBLFVBQVUsRUFBRSxzQkFBWTtBQUNwQixRQUFJLENBQUMsS0FBS0wsY0FBVixFQUEwQjtBQUN0QkosTUFBQUEsRUFBRSxDQUFDVSxLQUFILENBQVMsc0NBQVQ7QUFDQTtBQUNIOztBQUVELFNBQUtDLE1BQUw7QUFDSCxHQWxCSTtBQW9CTEMsRUFBQUEsbUJBQW1CLEVBQUUsK0JBQVk7QUFDN0IsUUFBSUMsUUFBUSxHQUFHLEtBQUtDLFNBQXBCO0FBQ0EsUUFBSUMsUUFBUSxHQUFHLEtBQUtDLFNBQXBCO0FBQ0EsUUFBSUMsVUFBVSxHQUFHLEtB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SDtBQUNKOztBQUVELFNBQUt0RCxJQUFMLENBQVU2QyxLQUFWLEdBQWtCckMsUUFBbEI7QUFDQSxTQUFLUixJQUFMLENBQVU4QyxNQUFWLEdBQW1CckMsU0FBbkI7O0FBQ0EsU0FBSzhDLGdCQUFMO0FBQ0gsR0FqSkk7QUFtSkxDLEVBQUFBLGlCQUFpQixFQUFFLDZCQUFZO0FBQzNCLFdBQU8sS0FBS3JGLGNBQVo7QUFDSCxHQXJKSTtBQXVKTHNGLEVBQUFBLFNBQVMsRUFBRSxxQkFBWTtBQUNuQixXQUFPLEtBQUtwRixPQUFaO0FBQ0gsR0F6Skk7QUEySkxxRixFQUFBQSxlQUFlLEVBQUUsMkJBQVk7QUFDekIsV0FBTyxLQUFLcEYsYUFBWjtBQUNILEdBN0pJO0FBK0pMcUYsRUFBQUEsaUJBQWlCLEVBQUUsNkJBQVk7QUFDM0IsV0FBTyxLQUFLcEYsZUFBWjtBQUNIO0FBaktJLENBQVQiLCJzb3VyY2VSb290IjoiLyIsInNvdXJjZXNDb250ZW50IjpbIi8vIExlYXJuIGNjLkNsYXNzOlxyXG4vLyAgLSBodHRwczovL2RvY3MuY29jb3MuY29tL2NyZWF0b3IvbWFudWFsL2VuL3NjcmlwdGluZy9jbGFzcy5odG1sXHJcbi8vIExlYXJuIEF0dHJpYnV0ZTpcclxuLy8gIC0gaHR0cHM6Ly9kb2NzLmNvY29zLmNvbS9jcmVhdG9yL21hbnVhbC9lbi9zY3JpcHRpbmcvcmVmZXJlbmNlL2F0dHJpYnV0ZXMuaHRtbFxyXG4vLyBMZWFybiBsaWZlLWN5Y2xlIGNhbGxiYWNrczpcclxuLy8gIC0gaHR0cHM6Ly9kb2NzLmNvY29zLmNvbS9jcmVhdG9yL21hbnVhbC9lbi9zY3JpcHRpbmcvbGlmZS1jeWNsZS1jYWxsYmFja3MuaHRtbFxyXG5jb25zdCBUbW9UaWxlZExheWVyID0gcmVxdWlyZShcIi4vVG1vVGlsZWRMYXllclwiKTtcclxuY29uc3QgVG1vT2JqZWN0R3JvdXAgPSByZXF1aXJlKFwiLi9UbW9PYmplY3RHcm91cFwiKTtcclxuY2MuQ2xhc3Moe1xyXG4gICAgZXh0ZW5kczogY2MuVGlsZWRNYXAsXHJcbiAgICBwcm9wZXJ0aWVzOiB7XHJcbiAgICAgICAgb2JqZWN0TWF0ZXJpYWw6IGNjLk1hdGVyaWFsLFxyXG4gICAgICAgIG5vQ29sb3I6IHRydWUsXHJcbiAgICAgICAgc2luZ2xlVGV4dHVyZTogdHJ1ZSxcclxuXHJcbiAgICAgICAgX29iamVjdFRleHR1cmVzOiBbXSxcclxuICAgIH0sXHJcbiAgICBcclxuXHJcbiAgICBfYXBwbHlGaWxlOiBmdW5jdGlvbiAoKSB7XHJcbiAgICAgICAgaWYgKCF0aGlzLm9iamVjdE1hdGVyaWFsKSB7XHJcbiAgICAgICAgICAgIGNjLmVycm9yKFwiVGlsZWRtYXBPcHRpbWl6ZTog5pyq6K6+572ub2JqZWN0TWF0ZXJpYWwhXCIpO1xyXG4gICAgICAgICAgICByZXR1cm47XHJcbiAgICAgICAgfVxyXG5cclxuICAgICAgICB0aGlzLl9zdXBlcigpO1xyXG4gICAgfSxcclxuXHJcbiAgICBfYnVpbGRMYXllckFuZEdyb3VwOiBmdW5jdGlvbiAoKSB7XHJcbiAgICAgICAgbGV0IHRpbGVzZXRzID0gdGhpcy5fdGlsZXNldHM7XHJcbiAgICAgICAgbGV0IHRleEdyaWRzID0gdGhpcy5fdGV4R3JpZHM7XHJcbiAgICAgICAgbGV0IGFuaW1hdGlvbnMgPSB0aGlzLl9hbmltYXRpb25zO1xyXG4gICAgICAgIHRleEdyaWRzLmxlbmd0aCA9IDA7XHJcbiAgICAgICAgZm9yIChsZXQgaSA9IDAsIGwgPSB0aWxlc2V0cy5sZW5ndGg7IGkgPCBsOyArK2kpIHtcclxuICAgICAgICAgICAgbGV0IHRpbGVzZXRJbmZvID0gdGlsZXNldHNbaV07XHJcbiAgICAgICAgICAgIGlmICghdGlsZXNldEluZm8pIGNvbnRpbnVlO1xyXG4gICAgICAgICAgICBjYy5UaWxlZE1hcC5maWxsVGV4dHVyZUdyaWRzKHRpbGVzZXRJbmZvLCB0ZXhHcmlkcywgaSk7XHJcbiAgICAgICAgfVxyXG4gICAgICAgIHRoaXMuX2ZpbGxBbmlHcmlkcyh0ZXhHcmlkcywgYW5pbWF0aW9ucyk7XHJcblxyXG4gICAgICAgIGxldCBsYXllcnMgPSB0aGlzLl9sYXllcnM7XHJcbiAgICAgICAgbGV0IGdyb3VwcyA9IHRoaXMuX2dyb3VwcztcclxuICAgICAgICBsZXQgaW1hZ2VzID0gdGhpcy5faW1hZ2VzO1xyXG4gICAgICAgIGxldCBvbGROb2RlTmFtZXMgPSB7fTtcclxuICAgICAgICBmb3IgKGxldCBpID0gMCwgbiA9IGxheWVycy5sZW5ndGg7IGkgPCBuOyBpKyspIHtcclxuICAgICAgICAgICAgb2xkTm9kZU5hbWVzW2xheWVyc1tpXS5ub2RlLl9uYW1lXSA9IHRydWU7XHJcbiAgICAgICAgfVxyXG4gICAgICAgIGZvciAobGV0IGkgPSAwLCBuID0gZ3JvdXBzLmxlbmd0aDsgaSA8IG47IGkrKykge1xyXG4gICAgICAgICAgICBvbGROb2RlTmFtZXNbZ3JvdXBzW2ldLm5vZGUuX25hbWVdID0gdHJ1ZTtcclxuICAgICAgICB9XHJcbiAgICAgICAgZm9yIChsZXQgaSA9IDAsIG4gPSBpbWFnZXMubGVuZ3RoOyBpIDwgbjsgaSsrKSB7XHJcbiAgICAgICAgICAgIG9sZE5vZGVOYW1lc1tpbWFnZXNbaV0uX25hbWVdID0gdHJ1ZTtcclxuICAgICAgICB9XHJcblxyXG4gICAgICAgIGxheWVycyA9IHRoaXMuX2xheWVycyA9IFtdO1xyXG4gICAgICAgIGdyb3VwcyA9IHRoaXMuX2dyb3VwcyA9IFtdO1xyXG4gICAgICAgIGltYWdlcyA9IHRoaXMuX2ltYWdlcyA9IFtdO1xyXG5cclxuICAgICAgICBsZXQgbWFwSW5mbyA9IHRoaXMuX21hcEluZm87XHJcbiAgICAgICAgbGV0IG5vZGUgPSB0aGlzLm5vZGU7XHJcbiAgICAgICAgbGV0IGxheWVySW5mb3MgPSBtYXBJbmZvLmdldEFsbENoaWxkcmVuKCk7XHJcbiAgICAgICAgbGV0IHRleHR1cmVzID0gdGhpcy5fdGV4dHVyZXM7XHJcbiAgICAgICAgbGV0IG1heFdpZHRoID0gMDtcclxuICAgICAgICBsZXQgbWF4SGVpZ2h0ID0gMDtcclxuXHJcbiAgICAgICAgdGhpcy5fb2JqZWN0VGV4dHVyZXMgPSBbXTtcclxuICAgICAgICBsZXQgZmlyc3RUbXhMYXllciA9IG51bGw7XHJcblxyXG4gICAgICAgIGlmIChsYXllckluZm9zICYmIGxheWVySW5mb3MubGVuZ3RoID4gMCkge1xyXG4gICAgICAgICAgICBmb3IgKGxldCBpID0gMCwgbGVuID0gbGF5ZXJJbmZvcy5sZW5ndGg7IGkgPCBsZW47IGkrKykge1xyXG4gICAgICAgICAgICAgICAgbGV0IGxheWVySW5mbyA9IGxheWVySW5mb3NbaV07XHJcbiAgICAgICAgICAgICAgICBsZXQgbmFtZSA9IGxheWVySW5mby5uYW1lO1xyXG5cclxuICAgICAgICAgICAgICAgIGxldCBjaGlsZCA9IHRoaXMubm9kZS5nZXRDaGlsZEJ5TmFtZShuYW1lKTtcclxuICAgICAgICAgICAgICAgIG9sZE5vZGVOYW1lc1tuYW1lXSA9IGZhbHNlO1xyXG5cclxuICAgICAgICAgICAgICAgIGlmICghY2hpbGQpIHtcclxuICAgICAgICAgICAgICAgICAgICBjaGlsZCA9IG5ldyBjYy5Ob2RlKCk7XHJcbiAgICAgICAgICAgICAgICAgICAgY2hpbGQubmFtZSA9IG5hbWU7XHJcbiAgICAgICAgICAgICAgICAgICAgbm9kZS5hZGRDaGlsZChjaGlsZCk7XHJcbiAgICAgICAgICAgICAgICB9XHJcblxyXG4gICAgICAgICAgICAgICAgY2hpbGQuc2V0U2libGluZ0luZGV4KGkpO1xyXG4gICAgICAgICAgICAgICAgY2hpbGQuYWN0aXZlID0gbGF5ZXJJbmZvLnZpc2libGU7XHJcblxyXG4gICAgICAgICAgICAgICAgaWYgKGxheWVySW5mbyBpbnN0YW5jZW9mIGNjLlRNWExheWVySW5mbykge1xyXG4gICAgICAgICAgICAgICAgICAgIC8vIOatpOWkhOS/ruaUuSDmlLnkuLrliJvlu7pNeVRpbGVkTGF5ZXJcclxuICAgICAgICAgICAgICAgICAgICBsZXQgbGF5ZXIgPSBjaGlsZC5nZXRDb21wb25lbnQoVG1vVGlsZWRMYXllcik7XHJcbiAgICAgICAgICAgICAgICAgICAgaWYgKCFsYXllcikge1xyXG4gICAgICAgICAgICAgICAgICAgICAgICBsYXllciA9IGNoaWxkLmFkZENvbXBvbmVudChUbW9UaWxlZExheWVyKTtcclxuICAgICAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICAgICAgLy8g5L+u5pS557uT5p2fXHJcbiAgICAgICAgICAgICAgICAgICAgLy8g5q2k5aSE5L+u5pS5IOS8oOmAkmZpcnN0VG14TGF5ZXIg6K6w5b2VZmlyc3RUbXhMYXllclxyXG4gICAgICAgICAgICAgICAgICAgIGxheWVyLl9pbml0KGxheWVySW5mbywgbWFwSW5mbywgdGlsZXNldHMsIHRleHR1cmVzLCB0ZXhHcmlkcywgdGhpcywgZmlyc3RUbXhMYXllcik7XHJcbiAgICAgICAgICAgICAgICAgICAgZmlyc3RUbXhMYXllciA9IGZpcnN0VG14TGF5ZXIgfHwgbGF5ZXI7XHJcbiAgICAgICAgICAgICAgICAgICAgLy8g5L+u5pS557uT5p2fXHJcblxyXG4gICAgICAgICAgICAgICAgICAgIC8vIHRlbGwgdGhlIGxheWVyaW5mbyB0byByZWxlYXNlIHRoZSBvd25lcnNoaXAgb2YgdGhlIHRpbGVzIG1hcC5cclxuICAgICAgICAgICAgICAgICAgICBsYXllckluZm8ub3duVGlsZXMgPSBmYWxzZTtcclxuICAgICAgICAgICAgICAgICAgICBsYXllcnMucHVzaChsYXllcik7XHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICBlbHNlIGlmIChsYXllckluZm8gaW5zdGFuY2VvZiBjYy5UTVhPYmplY3RHcm91cEluZm8pIHtcclxuICAgICAgICAgICAgICAgICAgICBsZXQgZ3JvdXAgPSBjaGlsZC5nZXRDb21wb25lbnQoVG1vT2JqZWN0R3JvdXApO1xyXG4gICAgICAgICAgICAgICAgICAgIGlmICghZ3JvdXApIHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgZ3JvdXAgPSBjaGlsZC5hZGRDb21wb25lbnQoVG1vT2JqZWN0R3JvdXApO1xyXG4gICAgICAgICAgICAgICAgICAgIH1cclxuXHJcbiAgICAgICAgICAgICAgICAgICAgZ3JvdXAuX2luaXQobGF5ZXJJbmZvLCBtYXBJbmZvLCB0ZXhHcmlkcywgdGhpcyk7XHJcbiAgICAgICAgICAgICAgICAgICAgZ3JvdXBzLnB1c2goZ3JvdXApO1xyXG4gICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgZWxzZSBpZiAobGF5ZXJJbmZvIGluc3RhbmNlb2YgY2MuVE1YSW1hZ2VMYXllckluZm8pIHtcclxuICAgICAgICAgICAgICAgICAgICBsZXQgdGV4dHVyZSA9IGxheWVySW5mby5zb3VyY2VJbWFnZTtcclxuICAgICAgICAgICAgICAgICAgICBjaGlsZC5vcGFjaXR5ID0gbGF5ZXJJbmZvLm9wYWNpdHk7XHJcbiAgICAgICAgICAgICAgICAgICAgY2hpbGQubGF5ZXJJbmZvID0gbGF5ZXJJbmZvO1xyXG4gICAgICAgICAgICAgICAgICAgIGNoaWxkLl9vZmZzZXQgPSBjYy52MihsYXllckluZm8ub2Zmc2V0LngsIC1sYXllckluZm8ub2Zmc2V0LnkpO1xyXG5cclxuICAgICAgICAgICAgICAgICAgICBsZXQgaW1hZ2UgPSBjaGlsZC5nZXRDb21wb25lbnQoY2MuU3ByaXRlKTtcclxuICAgICAgICAgICAgICAgICAgICBpZiAoIWltYWdlKSB7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIGltYWdlID0gY2hpbGQuYWRkQ29tcG9uZW50KGNjLlNwcml0ZSk7XHJcbiAgICAgICAgICAgICAgICAgICAgfVxyXG5cclxuICAgICAgICAgICAgICAgICAgICBsZXQgc3BmID0gaW1hZ2Uuc3ByaXRlRnJhbWUgfHwgbmV3IGNjLlNwcml0ZUZyYW1lKCk7XHJcbiAgICAgICAgICAgICAgICAgICAgc3BmLnNldFRleHR1cmUodGV4dHVyZSk7XHJcbiAgICAgICAgICAgICAgICAgICAgaW1hZ2Uuc3ByaXRlRnJhbWUgPSBzcGY7XHJcblxyXG4gICAgICAgICAgICAgICAgICAgIGNoaWxkLndpZHRoID0gdGV4dHVyZS53aWR0aDtcclxuICAgICAgICAgICAgICAgICAgICBjaGlsZC5oZWlnaHQgPSB0ZXh0dXJlLmhlaWdodDtcclxuICAgICAgICAgICAgICAgICAgICBpbWFnZXMucHVzaChjaGlsZCk7XHJcbiAgICAgICAgICAgICAgICB9XHJcblxyXG4gICAgICAgICAgICAgICAgbWF4V2lkdGggPSBNYXRoLm1heChtYXhXaWR0aCwgY2hpbGQud2lkdGgpO1xyXG4gICAgICAgICAgICAgICAgbWF4SGVpZ2h0ID0gTWF0aC5tYXgobWF4SGVpZ2h0LCBjaGlsZC5oZWlnaHQpO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG5cclxuICAgICAgICAvLyDorr7nva7mnZDotKjnmoR0ZXh0dXJl5bGe5oCnXHJcbiAgICAgICAgbGV0IG9iamVjdFRleHR1cmVzID0gdGhpcy5fb2JqZWN0VGV4dHVyZXM7XHJcbiAgICAgICAgZm9yIChsZXQgaSA9IDA7IGkgPCBvYmplY3RUZXh0dXJlcy5sZW5ndGg7IGkrKykge1xyXG4gICAgICAgICAgICBsZXQgaWR4ID0gaSA9PT0gMCA/ICcnIDogaTtcclxuICAgICAgICAgICAgdGhpcy5vYmplY3RNYXRlcmlhbC5zZXRQcm9wZXJ0eShgdGV4dHVyZSR7aWR4fWAsIG9iamVjdFRleHR1cmVzW2ldLCAwKTtcclxuICAgICAgICB9XHJcblxyXG4gICAgICAgIGxldCBjaGlsZHJlbiA9IG5vZGUuY2hpbGRyZW47XHJcbiAgICAgICAgZm9yIChsZXQgaSA9IDAsIG4gPSBjaGlsZHJlbi5sZW5ndGg7IGkgPCBuOyBpKyspIHtcclxuICAgICAgICAgICAgbGV0IGMgPSBjaGlsZHJlbltpXTtcclxuICAgICAgICAgICAgaWYgKG9sZE5vZGVOYW1lc1tjLl9uYW1lXSkge1xyXG4gICAgICAgICAgICAgICAgYy5kZXN0cm95KCk7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcblxyXG4gICAgICAgIHRoaXMubm9kZS53aWR0aCA9IG1heFdpZHRoO1xyXG4gICAgICAgIHRoaXMubm9kZS5oZWlnaHQgPSBtYXhIZWlnaHQ7XHJcbiAgICAgICAgdGhpcy5fc3luY0FuY2hvclBvaW50KCk7XHJcbiAgICB9LFxyXG5cclxuICAgIGdldE9iamVjdE1hdGVyaWFsOiBmdW5jdGlvbiAoKSB7XHJcbiAgICAgICAgcmV0dXJuIHRoaXMub2JqZWN0TWF0ZXJpYWw7XHJcbiAgICB9LFxyXG5cclxuICAgIGlzTm9Db2xvcjogZnVuY3Rpb24gKCkge1xyXG4gICAgICAgIHJldHVybiB0aGlzLm5vQ29sb3I7XHJcbiAgICB9LFxyXG5cclxuICAgIGlzU2luZ2xlVGV4dHVyZTogZnVuY3Rpb24gKCkge1xyXG4gICAgICAgIHJldHVybiB0aGlzLnNpbmdsZVRleHR1cmU7XHJcbiAgICB9LFxyXG5cclxuICAgIGdldE9iamVjdFRleHR1cmVzOiBmdW5jdGlvbiAoKSB7XHJcbiAgICAgICAgcmV0dXJuIHRoaXMuX29iamVjdFRleHR1cmVzO1xyXG4gICAgfVxyXG59KTsiXX0= +//------QC-SOURCE-SPLIT------ + + (function() { + var nodeEnv = typeof require !== 'undefined' && typeof process !== 'undefined'; + var __module = nodeEnv ? module : {exports:{}}; + var __filename = 'preview-scripts/tiledmap-optimize-resource/Script/TmoAssembler.js'; + var __require = nodeEnv ? function (request) { + return cc.require(request); + } : function (request) { + return __quick_compile_project__.require(request, __filename); + }; + function __define (exports, require, module) { + if (!nodeEnv) {__quick_compile_project__.registerModule(__filename, module);}"use strict"; +cc._RF.push(module, '18d1c5ObBtCeaysyO5bMIgb', 'TmoAssembler'); +// Script/TmoAssembler.js + +"use strict"; + +exports.__esModule = true; +exports.TmoAssembler = void 0; + +function _defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if ("value" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } + +function _createClass(Constructor, protoProps, staticProps) { if (protoProps) _defineProperties(Constructor.prototype, protoProps); if (staticProps) _defineProperties(Constructor, staticProps); return Constructor; } + +function _inheritsLoose(subClass, superClass) { subClass.prototype = Object.create(superClass.prototype); subClass.prototype.constructor = subClass; _setPrototypeOf(subClass, superClass); } + +function _setPrototypeOf(o, p) { _setPrototypeOf = Object.setPrototypeOf || function _setPrototypeOf(o, p) { o.__proto__ = p; return o; }; return _setPrototypeOf(o, p); } + +var gfx = cc.gfx; // 颜色去除 + 物件图集合批 + +var vfmtPosUvIndex = new gfx.VertexFormat([{ + name: gfx.ATTR_POSITION, + type: gfx.ATTR_TYPE_FLOAT32, + num: 2 +}, { + name: gfx.ATTR_UV0, + type: gfx.ATTR_TYPE_FLOAT32, + num: 2 +}, { + name: "a_texture_idx", + type: gfx.ATTR_TYPE_FLOAT32, + num: 1 +}]); // 仅物件图集合批 + +var vfmtPosUvColorIndex = new gfx.VertexFormat([{ + name: gfx.ATTR_POSITION, + type: gfx.ATTR_TYPE_FLOAT32, + num: 2 +}, { + name: gfx.ATTR_UV0, + type: gfx.ATTR_TYPE_FLOAT32, + num: 2 +}, { + name: "a_texture_idx", + type: gfx.ATTR_TYPE_FLOAT32, + num: 1 +}, { + name: gfx.ATTR_COLOR, + type: gfx.ATTR_TYPE_UINT8, + num: 4, + normalize: true +}]); + +var TmoAssembler = /*#__PURE__*/function (_cc$Assembler) { + _inheritsLoose(TmoAssembler, _cc$Assembler); + + function TmoAssembler() { + return _cc$Assembler.apply(this, arguments) || this; + } + + var _proto = TmoAssembler.prototype; + + _proto.init = function init(comp) { + _cc$Assembler.prototype.init.call(this, comp); + + this._noColor = comp.isNoColor(); + this.updateColor = this._noColor ? undefined : this.updateColorFunc; + this.uvOffset = 2; + this.colorOffset = 5; + this.textureIndexOffset = 4; + this.floatsPerVert = this._noColor ? 5 : 6; + this.indicesCount = 6; + this.verticesCount = 4; + this._renderData = new cc.RenderData(); + + this._renderData.init(this); + + this.initLocal(); + this.initData(); + }; + + _proto.initLocal = function initLocal() { + this._local = []; + this._local.length = 4; + }; + + _proto.initData = function initData() { + var data = this._renderData; + data.createFlexData(0, this.verticesCount, this.indicesCount, this.getVfmt()); // 填充顶点索引信息 + + var indices = data.iDatas[0]; + var count = indices.length / 6; + + for (var i = 0, idx = 0; i < count; i++) { + var vertextID = i * 4; + indices[idx++] = vertextID; + indices[idx++] = vertextID + 1; + indices[idx++] = vertextID + 2; + indices[idx++] = vertextID + 1; + indices[idx++] = vertextID + 3; + indices[idx++] = vertextID + 2; + } + }; + + _proto.getBuffer = function getBuffer() { + return cc.renderer._handle.getBuffer("mesh", this.getVfmt()); + }; + + _proto.getVfmt = function getVfmt() { + return this._noColor ? vfmtPosUvIndex : vfmtPosUvColorIndex; + }; + + _proto.updateRenderData = function updateRenderData(sprite) { + this.packToDynamicAtlas(sprite, sprite._spriteFrame); + + if (sprite._vertsDirty) { + this.updateUVs(sprite); + this.updateVerts(sprite); + this.updateTextureIdx(sprite); + sprite._vertsDirty = false; + } + } + /** + * 填充textureIndex数据 + * @param {cc.Sprite} sprite + */ + ; + + _proto.updateTextureIdx = function updateTextureIdx(sprite) { + var textureIdx = sprite._textureIdx; + var verts = this._renderData.vDatas[0]; + var verticesCount = this.verticesCount; + var floatsPerVert = this.floatsPerVert; + var textureIndexOffset = this.textureIndexOffset; + + for (var i = 0; i < verticesCount; i++) { + var index = i * floatsPerVert + textureIndexOffset; + verts[index] = textureIdx; + } + }; + + _proto.updateUVs = function updateUVs(sprite) { + var uv = sprite._spriteFrame.uv; + var uvOffset = this.uvOffset; + var floatsPerVert = this.floatsPerVert; + var verts = this._renderData.vDatas[0]; + + for (var i = 0; i < 4; i++) { + var srcOffset = i * 2; + var dstOffset = floatsPerVert * i + uvOffset; + verts[dstOffset] = uv[srcOffset]; + verts[dstOffset + 1] = uv[srcOffset + 1]; + } + }; + + _proto.updateVerts = function updateVerts(sprite) { + var node = sprite.node, + cw = node.width, + ch = node.height, + appx = node.anchorX * cw, + appy = node.anchorY * ch, + l, + b, + r, + t; + + if (sprite.trim) { + l = -appx; + b = -appy; + r = cw - appx; + t = ch - appy; + } else { + var frame = sprite.spriteFrame, + ow = frame._originalSize.width, + oh = frame._originalSize.height, + rw = frame._rect.width, + rh = frame._rect.height, + offset = frame._offset, + scaleX = cw / ow, + scaleY = ch / oh; + var trimLeft = offset.x + (ow - rw) / 2; + var trimRight = offset.x - (ow - rw) / 2; + var trimBottom = offset.y + (oh - rh) / 2; + var trimTop = offset.y - (oh - rh) / 2; + l = trimLeft * scaleX - appx; + b = trimBottom * scaleY - appy; + r = cw + trimRight * scaleX - appx; + t = ch + trimTop * scaleY - appy; + } + + var local = this._local; + local[0] = l; + local[1] = b; + local[2] = r; + local[3] = t; + this.updateWorldVerts(sprite); + }; + + _proto.updateColorFunc = function updateColorFunc(comp, color) { + var uintVerts = this._renderData.uintVDatas[0]; + if (!uintVerts) return; + color = color != null ? color : comp.node.color._val; + var floatsPerVert = this.floatsPerVert; + var colorOffset = this.colorOffset; + + for (var i = colorOffset, l = uintVerts.length; i < l; i += floatsPerVert) { + uintVerts[i] = color; + } + }; + + _proto.updateWorldVerts = function updateWorldVerts(comp) { + if (CC_NATIVERENDERER) { + // 原生平台兼容代码 复制于jsb-engine.js中的cc.Assembler2D.prototype.updateWorldVerts + var local = this._local; + var verts = this._renderData.vDatas[0]; + var vl = local[0], + vr = local[2], + vb = local[1], + vt = local[3]; + var floatsPerVert = this.floatsPerVert; + var vertexOffset = 0; // left bottom + + verts[vertexOffset] = vl; + verts[vertexOffset + 1] = vb; + vertexOffset += floatsPerVert; // right bottom + + verts[vertexOffset] = vr; + verts[vertexOffset + 1] = vb; + vertexOffset += floatsPerVert; // left top + + verts[vertexOffset] = vl; + verts[vertexOffset + 1] = vt; + vertexOffset += floatsPerVert; // right top + + verts[vertexOffset] = vr; + verts[vertexOffset + 1] = vt; + } else { + var _local = this._local; + var _verts = this._renderData.vDatas[0]; + var matrix = comp.node._worldMatrix; + var matrixm = matrix.m, + a = matrixm[0], + b = matrixm[1], + c = matrixm[4], + d = matrixm[5], + tx = matrixm[12], + ty = matrixm[13]; + var _vl = _local[0], + _vr = _local[2], + _vb = _local[1], + _vt = _local[3]; + var _floatsPerVert = this.floatsPerVert; + var _vertexOffset = 0; + var justTranslate = a === 1 && b === 0 && c === 0 && d === 1; + + if (justTranslate) { + // left bottom + _verts[_vertexOffset] = _vl + tx; + _verts[_vertexOffset + 1] = _vb + ty; + _vertexOffset += _floatsPerVert; // right bottom + + _verts[_vertexOffset] = _vr + tx; + _verts[_vertexOffset + 1] = _vb + ty; + _vertexOffset += _floatsPerVert; // left top + + _verts[_vertexOffset] = _vl + tx; + _verts[_vertexOffset + 1] = _vt + ty; + _vertexOffset += _floatsPerVert; // right top + + _verts[_vertexOffset] = _vr + tx; + _verts[_vertexOffset + 1] = _vt + ty; + } else { + var al = a * _vl, + ar = a * _vr, + bl = b * _vl, + br = b * _vr, + cb = c * _vb, + ct = c * _vt, + db = d * _vb, + dt = d * _vt; // left bottom + + _verts[_vertexOffset] = al + cb + tx; + _verts[_vertexOffset + 1] = bl + db + ty; + _vertexOffset += _floatsPerVert; // right bottom + + _verts[_vertexOffset] = ar + cb + tx; + _verts[_vertexOffset + 1] = br + db + ty; + _vertexOffset += _floatsPerVert; // left top + + _verts[_vertexOffset] = al + ct + tx; + _verts[_vertexOffset + 1] = bl + dt + ty; + _vertexOffset += _floatsPerVert; // right top + + _verts[_vertexOffset] = ar + ct + tx; + _verts[_vertexOffset + 1] = br + dt + ty; + } + } + }; + + _proto.fillBuffers = function fillBuffers(comp, renderer) { + if (renderer.worldMatDirty) { + this.updateWorldVerts(comp); + } + + var renderData = this._renderData; + var vData = renderData.vDatas[0]; + var iData = renderData.iDatas[0]; + var buffer = this.getBuffer(renderer); + var offsetInfo = buffer.request(this.verticesCount, this.indicesCount); // buffer data may be realloc, need get reference after request. + // fill vertices + + var vertexOffset = offsetInfo.byteOffset >> 2, + vbuf = buffer._vData; + + if (vData.length + vertexOffset > vbuf.length) { + vbuf.set(vData.subarray(0, vbuf.length - vertexOffset), vertexOffset); + } else { + vbuf.set(vData, vertexOffset); + } // fill indices + + + var ibuf = buffer._iData, + indiceOffset = offsetInfo.indiceOffset, + vertexId = offsetInfo.vertexOffset; + + for (var i = 0, l = iData.length; i < l; i++) { + ibuf[indiceOffset++] = vertexId + iData[i]; + } + }; + + _proto.packToDynamicAtlas = function packToDynamicAtlas(comp, frame) { + if (CC_TEST) return; + + if (!frame._original && cc.dynamicAtlasManager && frame._texture.packable) { + var packedFrame = cc.dynamicAtlasManager.insertSpriteFrame(frame); + + if (packedFrame) { + frame._setDynamicAtlasFrame(packedFrame); + } + } + + var material = comp._materials[0]; + if (!material) return; + + if (material.getProperty('texture') !== frame._texture) { + // texture was packed to dynamic atlas, should update uvs + comp._vertsDirty = true; + + comp._updateMaterial(); + } + }; + + _createClass(TmoAssembler, [{ + key: "verticesFloats", + get: function get() { + return this.verticesCount * this.floatsPerVert; + } + }]); + + return TmoAssembler; +}(cc.Assembler); + +exports.TmoAssembler = TmoAssembler; + +cc._RF.pop(); + } + if (nodeEnv) { + __define(__module.exports, __require, __module); + } + else { + __quick_compile_project__.registerModuleFunc(__filename, function () { + __define(__module.exports, __require, __module); + }); + } + })(); +//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbInBhY2thZ2VzXFxUaWxlZE1hcE9wdGltaXplclxccmVzb3VyY2VcXFNjcmlwdFxcVG1vQXNzZW1ibGVyLmpzIl0sIm5hbWVzIjpbImdmeCIsImNjIiwidmZtdFBvc1V2SW5kZXgiLCJWZXJ0ZXhGb3JtYXQiLCJuYW1lIiwiQVRUUl9QT1NJVElPTiIsInR5cGUiLCJBVFRSX1RZUEVfRkxPQVQzMiIsIm51bSIsIkFUVFJfVVYwIiwidmZtdFBvc1V2Q29sb3JJbmRleCIsIkFUVFJfQ09MT1IiLCJBVFRSX1RZUEVfVUlOVDgiLCJub3JtYWxpemUiLCJUbW9Bc3NlbWJsZXIiLCJpbml0IiwiY29tcCIsIl9ub0NvbG9yIiwiaXNOb0NvbG9yIiwidXBkYXRlQ29sb3IiLCJ1bmRlZmluZWQiLCJ1cGRhdGVDb2xvckZ1bmMiLCJ1dk9mZnNldCIsImNvbG9yT2Zmc2V0IiwidGV4dHVyZUluZGV4T2Zmc2V0IiwiZmxvYXRzUGVyVmVydCIsImluZGljZXNDb3VudCIsInZlcnRpY2VzQ291bnQiLCJfcmVuZGVyRGF0YSIsIlJlbmRlckRhdGEiLCJpbml0TG9jYWwiLCJpbml0RGF0YSIsIl9sb2NhbCIsImxlbmd0aCIsImRhdGEiLCJjcmVhdGVGbGV4RGF0YSIsImdldFZmbXQiLCJpbmRpY2VzIiwiaURhdGFzIiwiY291bnQiLCJpIiwiaWR4IiwidmVydGV4dElEIiwiZ2V0QnVmZmVyIiwicmVuZGVyZXIiLCJfaGFuZGxlIiwidXBkYXRlUmVuZGVyRGF0YSIsInNwcml0ZSIsInBhY2tUb0R5bmFtaWNBdGxhcyIsIl9zcHJpdGVGcmFtZSIsIl92ZXJ0c0RpcnR5IiwidXBkYXRlVVZzIiwidXBkYXRlVmVydHMiLCJ1cGRhdGVUZXh0dXJlSWR4IiwidGV4dHVyZUlkeCIsIl90ZXh0dXJlSWR4IiwidmVydHMiLCJ2RGF0YXMiLCJpbmRleCIsInV2Iiwic3JjT2Zmc2V0IiwiZHN0T2Zmc2V0Iiwibm9kZSIsImN3Iiwid2lkdGgiLCJjaCIsImhlaWdodCIsImFwcHgiLCJhbmNob3JYIiwiYXBweSIsImFuY2hvclkiLCJsIiwiYiIsInIiLCJ0IiwidHJpbSIsImZyYW1lIiwic3ByaXRlRnJhbWUiLCJvdyIsIl9vcmlnaW5hbFNpemUiLCJvaCIsInJ3IiwiX3JlY3QiLCJyaCIsIm9mZnNldCIsIl9vZmZzZXQiLCJzY2FsZVgiLCJzY2FsZVkiLCJ0cmltTGVmdCIsIngiLCJ0cmltUmlnaHQiLCJ0cmltQm90dG9tIiwieSIsInRyaW1Ub3AiLCJsb2NhbCIsInVwZGF0ZVdvcmxkVmVydHMiLCJjb2xvciIsInVpbnRWZXJ0cyIsInVpbnRWRGF0YXMiLCJfdmFsIiwiQ0NfTkFUSVZFUkVOREVSRVIiLCJ2bCIsInZyIiwidmIiLCJ2dCIsInZlcnRleE9mZnNldCIsIm1hdHJpeCIsIl93b3JsZE1hdHJpeCIsIm1hdHJpeG0iLCJtIiwiYSIsImMiLCJkIiwidHgiLCJ0eSIsImp1c3RUcmFuc2xhdGUiLCJhbCIsImFyIiwiYmwiLCJiciIsImNiIiwiY3QiLCJkYiIsImR0IiwiZmlsbEJ1ZmZlcnMiLCJ3b3JsZE1hdERpcnR5IiwicmVuZGVyRGF0YSIsInZEYXRhIiwiaURhdGEiLCJidWZmZXIiLCJvZmZzZXRJbmZvIiwicmVxdWVzdCIsImJ5dGVPZmZzZXQiLCJ2YnVmIiwiX3ZEYXRhIiwic2V0Iiwic3ViYXJyYXkiLCJpYnVmIiwiX2lEYXRhIiwiaW5kaWNlT2Zmc2V0IiwidmVydGV4SWQiLCJDQ19URVNUIiwiX29yaWdpbmFsIiwiZHluYW1pY0F0bGFzTWFuYWdlciIsIl90ZXh0dXJlIiwicGFja2FibGUiLCJwYWNrZWRGcmFtZSIsImluc2VydFNwcml0ZUZyYW1lIiwiX3NldER5bmFtaWNBdGxhc0ZyYW1lIiwibWF0ZXJpYWwiLCJfbWF0ZXJpYWxzIiwiZ2V0UHJvcGVydHkiLCJfdXBkYXRlTWF0ZXJpYWwiLCJBc3NlbWJsZXIiXSwibWFwcGluZ3MiOiI7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7QUFBQSxJQUFJQSxHQUFHLEdBQUdDLEVBQUUsQ0FBQ0QsR0FBYixFQUNBOztBQUNBLElB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RSxFQUEyRTtBQUN2RSxVQUFJQyxXQUFXLEdBQUdqSixFQUFFLENBQUM4SSxtQkFBSCxDQUF1QkksaUJBQXZCLENBQXlDdkUsS0FBekMsQ0FBbEI7O0FBQ0EsVUFBSXNFLFdBQUosRUFBaUI7QUFDYnRFLFFBQUFBLEtBQUssQ0FBQ3dFLHFCQUFOLENBQTRCRixXQUE1QjtBQUNIO0FBQ0o7O0FBQ0QsUUFBSUcsUUFBUSxHQUFHckksSUFBSSxDQUFDc0ksVUFBTCxDQUFnQixDQUFoQixDQUFmO0FBQ0EsUUFBSSxDQUFDRCxRQUFMLEVBQWU7O0FBRWYsUUFBSUEsUUFBUSxDQUFDRSxXQUFULENBQXFCLFNBQXJCLE1BQW9DM0UsS0FBSyxDQUFDb0UsUUFBOUMsRUFBd0Q7QUFDcEQ7QUFDQWhJLE1BQUFBLElBQUksQ0FBQ2tDLFdBQUwsR0FBbUIsSUFBbkI7O0FBQ0FsQyxNQUFBQSxJQUFJLENBQUN3SSxlQUFMO0FBQ0g7QUFDSjs7OztTQXBKRCxlQUFxQjtBQUNqQixhQUFPLEtBQUs3SCxhQUFMLEdBQXFCLEtBQUtGLGFBQWpDO0FBQ0g7Ozs7RUFwSTZCeEIsRUFBRSxDQUFDd0oiLCJzb3VyY2VSb290IjoiLyIsInNvdXJjZXNDb250ZW50IjpbImxldCBnZnggPSBjYy5nZng7XHJcbi8vIOminOiJsuWOu+mZpCArIOeJqeS7tuWbvumbhuWQiOaJuVxyXG52YXIgdmZtdFBvc1V2SW5kZXggPSBuZXcgZ2Z4LlZlcnRleEZvcm1hdChbXHJcbiAgICB7IG5hbWU6IGdmeC5BVFRSX1BPU0lUSU9OLCB0eXBlOiBnZnguQVRUUl9UWVBFX0ZMT0FUMzIsIG51bTogMiB9LFxyXG4gICAgeyBuYW1lOiBnZnguQVRUUl9VVjAsIHR5cGU6IGdmeC5BVFRSX1RZUEVfRkxPQVQzMiwgbnVtOiAyIH0sXHJcbiAgICB7IG5hbWU6IFwiYV90ZXh0dXJlX2lkeFwiLCB0eXBlOiBnZnguQVRUUl9UWVBFX0ZMT0FUMzIsIG51bTogMSB9LFxyXG5dKTtcclxuXHJcbi8vIOS7heeJqeS7tuWbvumbhuWQiOaJuVxyXG52YXIgdmZtdFBvc1V2Q29sb3JJbmRleCA9IG5ldyBnZnguVmVydGV4Rm9ybWF0KFtcclxuICAgIHsgbmFtZTogZ2Z4LkFUVFJfUE9TSVRJT04sIHR5cGU6IGdmeC5BVFRSX1RZUEVfRkxPQVQzMiwgbnVtOiAyIH0sXHJcbiAgICB7IG5hbWU6IGdmeC5BVFRSX1VWMCwgdHlwZTogZ2Z4LkFUVFJfVFlQRV9GTE9BVDMyLCBudW06IDIgfSxcclxuICAgIHsgbmFtZTogXCJhX3RleHR1cmVfaWR4XCIsIHR5cGU6IGdmeC5BVFRSX1RZUEVfRkxPQVQzMiwgbnVtOiAxIH0sXHJcbiAgICB7IG5hbWU6IGdmeC5BVFRSX0NPTE9SLCB0eXBlOiBnZnguQVRUUl9UWVBFX1VJTlQ4LCBudW06IDQsIG5vcm1hbGl6ZTogdHJ1ZSB9LFxyXG5dKTtcclxuXHJcbmV4cG9ydCBjbGFzcyBUbW9Bc3NlbWJsZXIgZXh0ZW5kcyBjYy5Bc3NlbWJsZXIge1xyXG4gICAgaW5pdChjb21wKSB7XHJcbiAgICAgICAgc3VwZXIuaW5pdChjb21wKTtcclxuXHJcbiAgICAgICAgdGhpcy5fbm9Db2xvciA9IGNvbXAuaXNOb0NvbG9yKCk7XHJcbiAgICAgICAgdGhpcy51cGRhdGVDb2xvciA9IHRoaXMuX25vQ29sb3IgPyB1bmRlZmluZWQgOiB0aGlzLnVwZGF0ZUNvbG9yRnVuYztcclxuXHJcbiAgICAgICAgdGhpcy51dk9mZnNldCA9IDI7XHJcbiAgICAgICAgdGhpcy5jb2xvck9mZnNldCA9IDU7XHJcbiAgICAgICAgdGhpcy50ZXh0dXJlSW5kZXhPZmZzZXQgPSA0O1xyXG4gICAgICAgIHRoaXMuZmxvYXRzUGVyVmVydCA9IHRoaXMuX25vQ29sb3IgPyA1IDogNjtcclxuXHJcbiAgICAgICAgdGhpcy5pbmRpY2VzQ291bnQgPSA2O1xyXG4gICAgICAgIHRoaXMudmVydGljZXNDb3VudCA9IDQ7XHJcblxyXG4gICAgICAgIHRoaXMuX3JlbmRlckRhdGEgPSBuZXcgY2MuUmVuZGVyRGF0YSgpO1xyXG4gICAgICAgIHRoaXMuX3JlbmRlckRhdGEuaW5pdCh0aGlzKTtcclxuXHJcbiAgICAgICAgdGhpcy5pbml0TG9jYWwoKTtcclxuICAgICAgICB0aGlzLmluaXREYXRhKCk7XHJcbiAgICB9XHJcblxyXG4gICAgaW5pdExvY2FsKCkge1xyXG4gICAgICAgIHRoaXMuX2xvY2FsID0gW107XHJcbiAgICAgICAgdGhpcy5fbG9jYWwubGVuZ3RoID0gNDtcclxuICAgIH1cclxuXHJcbiAgICBpbml0RGF0YSgpIHtcclxuICAgICAgICBsZXQgZGF0YSA9IHRoaXMuX3JlbmRlckRhdGE7XHJcbiAgICAgICAgZGF0YS5jcmVhdGVGbGV4RGF0YSgwLCB0aGlzLnZlcnRpY2VzQ291bnQsIHRoaXMuaW5kaWNlc0NvdW50LCB0aGlzLmdldFZmbXQoKSk7XHJcblxyXG4gICAgICAgIC8vIOWhq+WFhemhtueCuee0ouW8leS/oeaBr1xyXG4gICAgICAgIGxldCBpbmRpY2VzID0gZGF0YS5pRGF0YXNbMF07XHJcbiAgICAgICAgbGV0IGNvdW50ID0gaW5kaWNlcy5sZW5ndGggLyA2O1xyXG4gICAgICAgIGZvciAobGV0IGkgPSAwLCBpZHggPSAwOyBpIDwgY291bnQ7IGkrKykge1xyXG4gICAgICAgICAgICBsZXQgdmVydGV4dElEID0gaSAqIDQ7XHJcbiAgICAgICAgICAgIGluZGljZXNbaWR4KytdID0gdmVydGV4dElEO1xyXG4gICAgICAgICAgICBpbmRpY2VzW2lkeCsrXSA9IHZlcnRleHRJRCArIDE7XHJcbiAgICAgICAgICAgIGluZGljZXNbaWR4KytdID0gdmVydGV4dElEICsgMjtcclxuICAgICAgICAgICAgaW5kaWNlc1tpZHgrK10gPSB2ZXJ0ZXh0SUQgKyAxO1xyXG4gICAgICAgICAgICBpbmRpY2VzW2lkeCsrXSA9IHZlcnRleHRJRCArIDM7XHJcbiAgICAgICAgICAgIGluZGljZXNbaWR4KytdID0gdmVydGV4dElEICsgMjtcclxuICAgICAgICB9XHJcbiAgICB9XHJcblxyXG4gICAgZ2V0QnVmZmVyKCkge1xyXG4gICAgICAgIHJldHVybiBjYy5yZW5kZXJlci5faGFuZGxlLmdldEJ1ZmZlcihcIm1lc2hcIiwgdGhpcy5nZXRWZm10KCkpO1xyXG4gICAgfVxyXG5cclxuICAgIGdldFZmbXQoKSB7XHJcbiAgICAgICAgcmV0dXJuIHRoaXMuX25vQ29sb3IgPyB2Zm10UG9zVXZJbmRleCA6IHZmbXRQb3NVdkNvbG9ySW5kZXg7XHJcbiAgICB9XHJcblxyXG4gICAgdXBkYXRlUmVuZGVyRGF0YShzcHJpdGUpIHtcclxuICAgICAgICB0aGlzLnBhY2tUb0R5bmFtaWNBdGxhcyhzcHJpdGUsIHNwcml0ZS5fc3ByaXRlRnJhbWUpO1xyXG5cclxuICAgICAgICBpZiAoc3ByaXRlLl92ZXJ0c0RpcnR5KSB7XHJcbiAgICAgICAgICAgIHRoaXMudXBkYXRlVVZzKHNwcml0ZSk7XHJcbiAgICAgICAgICAgIHRoaXMudXBkYXRlVmVydHMoc3ByaXRlKTtcclxuICAgICAgICAgICAgdGhpcy51cGRhdGVUZXh0dXJlSWR4KHNwcml0ZSk7XHJcbiAgICAgICAgICAgIHNwcml0ZS5fdmVydHNEaXJ0eSA9IGZhbHNlO1xyXG4gICAgICAgIH1cclxuICAgIH1cclxuXHJcbiAgICAvKipcclxuICAgICAqIOWhq+WFhXRleHR1cmVJbmRleOaVsOaNrlxyXG4gICAgICogQHBhcmFtIHtjYy5TcHJpdGV9IHNwcml0ZSBcclxuICAgICAqL1xyXG4gICAgdXBkYXRlVGV4dHVyZUlkeChzcHJpdGUpIHtcclxuICAgICAgICBsZXQgdGV4dHVyZUlkeCA9IHNwcml0ZS5fdGV4dHVyZUlkeDtcclxuICAgICAgICBsZXQgdmVydHMgPSB0aGlzLl9yZW5kZXJEYXRhLnZEYXRhc1swXTtcclxuXHJcbiAgICAgICAgbGV0IHZlcnRpY2VzQ291bnQgPSB0aGlzLnZlcnRpY2VzQ291bnQ7XHJcbiAgICAgICAgbGV0IGZsb2F0c1BlclZlcnQgPSB0aGlzLmZsb2F0c1BlclZlcnQ7XHJcbiAgICAgICAgbGV0IHRleHR1cmVJbmRleE9mZnNldCA9IHRoaXMudGV4dHVyZUluZGV4T2Zmc2V0O1xyXG5cclxuICAgICAgICBmb3IgKGxldCBpID0gMDsgaSA8IHZlcnRpY2VzQ291bnQ7IGkrKykge1xyXG4gICAgICAgICAgICBsZXQgaW5kZXggPSBpICogZmxvYXRzUGVyVmVydCArIHRleHR1cmVJbmRleE9mZnNldDtcclxuICAgICAgICAgICAgdmVydHNbaW5kZXhdID0gdGV4dHVyZUlkeDtcclxuICAgICAgICB9XHJcbiAgICB9XHJcblxyXG4gICAgdXBkYXRlVVZzKHNwcml0ZSkge1xyXG4gICAgICAgIGxldCB1diA9IHNwcml0ZS5fc3ByaXRlRnJhbWUudXY7XHJcbiAgICAgICAgbGV0IHV2T2Zmc2V0ID0gdGhpcy51dk9mZnNldDtcclxuICAgICAgICBsZXQgZmxvYXRzUGVyVmVydCA9IHRoaXMuZmxvYXRzUGVyVmVydDtcclxuICAgICAgICBsZXQgdmVydHMgPSB0aGlzLl9yZW5kZXJEYXRhLnZEYXRhc1swXTtcclxuICAgICAgICBmb3IgKGxldCBpID0gMDsgaSA8IDQ7IGkrKykge1xyXG4gICAgICAgICAgICBsZXQgc3JjT2Zmc2V0ID0gaSAqIDI7XHJcbiAgICAgICAgICAgIGxldCBkc3RPZmZzZXQgPSBmbG9hdHNQZXJWZXJ0ICogaSArIHV2T2Zmc2V0O1xyXG4gICAgICAgICAgICB2ZXJ0c1tkc3RPZmZzZXRdID0gdXZbc3JjT2Zmc2V0XTtcclxuICAgICAgICAgICAgdmVydHNbZHN0T2Zmc2V0ICsgMV0gPSB1dltzcmNPZmZzZXQgKyAxXTtcclxuICAgICAgICB9XHJcbiAgICB9XHJcblxyXG4gICAgdXBkYXRlVmVydHMoc3ByaXRlKSB7XHJcbiAgICAgICAgbGV0IG5vZGUgPSBzcHJpdGUubm9kZSxcclxuICAgICAgICAgICAgY3cgPSBub2RlLndpZHRoLCBjaCA9IG5vZGUuaGVpZ2h0LFxyXG4gICAgICAgICAgICBhcHB4ID0gbm9kZS5hbmNob3JYICogY3csIGFwcHkgPSBub2RlLmFuY2hvclkgKiBjaCxcclxuICAgICAgICAgICAgbCwgYiwgciwgdDtcclxuICAgICAgICBpZiAoc3ByaXRlLnRyaW0pIHtcclxuICAgICAgICAgICAgbCA9IC1hcHB4O1xyXG4gICAgICAgICAgICBiID0gLWFwcHk7XHJcbiAgICAgICAgICAgIHIgPSBjdyAtIGFwcHg7XHJcbiAgICAgICAgICAgIHQgPSBjaCAtIGFwcHk7XHJcbiAgICAgICAgfVxyXG4gICAgICAgIGVsc2Uge1xyXG4gICAgICAgICAgICBsZXQgZnJhbWUgPSBzcHJpdGUuc3ByaXRlRnJhbWUsXHJcbiAgICAgICAgICAgICAgICBvdyA9IGZyYW1lLl9vcmlnaW5hbFNpemUud2lkdGgsIG9oID0gZnJhbWUuX29yaWdpbmFsU2l6ZS5oZWlnaHQsXHJcbiAgICAgICAgICAgICAgICBydyA9IGZyYW1lLl9yZWN0LndpZHRoLCByaCA9IGZyYW1lLl9yZWN0LmhlaWdodCxcclxuICAgICAgICAgICAgICAgIG9mZnNldCA9IGZyYW1lLl9vZmZzZXQsXHJcbiAgICAgICAgICAgICAgICBzY2FsZVggPSBjdyAvIG93LCBzY2FsZVkgPSBjaCAvIG9oO1xyXG4gICAgICAgICAgICBsZXQgdHJpbUxlZnQgPSBvZmZzZXQueCArIChvdyAtIHJ3KSAvIDI7XHJcbiAgICAgICAgICAgIGxldCB0cmltUmlnaHQgPSBvZmZzZXQueCAtIChvdyAtIHJ3KSAvIDI7XHJcbiAgICAgICAgICAgIGxldCB0cmltQm90dG9tID0gb2Zmc2V0LnkgKyAob2ggLSByaCkgLyAyO1xyXG4gICAgICAgICAgICBsZXQgdHJpbVRvcCA9IG9mZnNldC55IC0gKG9oIC0gcmgpIC8gMjtcclxuICAgICAgICAgICAgbCA9IHRyaW1MZWZ0ICogc2NhbGVYIC0gYXBweDtcclxuICAgICAgICAgICAgYiA9IHRyaW1Cb3R0b20gKiBzY2FsZVkgLSBhcHB5O1xyXG4gICAgICAgICAgICByID0gY3cgKyB0cmltUmlnaHQgKiBzY2FsZVggLSBhcHB4O1xyXG4gICAgICAgICAgICB0ID0gY2ggKyB0cmltVG9wICogc2NhbGVZIC0gYXBweTtcclxuICAgICAgICB9XHJcblxyXG4gICAgICAgIGxldCBsb2NhbCA9IHRoaXMuX2xvY2FsO1xyXG4gICAgICAgIGxvY2FsWzBdID0gbDtcclxuICAgICAgICBsb2NhbFsxXSA9IGI7XHJcbiAgICAgICAgbG9jYWxbMl0gPSByO1xyXG4gICAgICAgIGxvY2FsWzNdID0gdDtcclxuICAgICAgICB0aGlzLnVwZGF0ZVdvcmxkVmVydHMoc3ByaXRlKTtcclxuICAgIH1cclxuXHJcbiAgICBnZXQgdmVydGljZXNGbG9hdHMoKSB7XHJcbiAgICAgICAgcmV0dXJuIHRoaXMudmVydGljZXNDb3VudCAqIHRoaXMuZmxvYXRzUGVyVmVydDtcclxuICAgIH1cclxuXHJcbiAgICB1cGRhdGVDb2xvckZ1bmMoY29tcCwgY29sb3IpIHtcclxuICAgICAgICBsZXQgdWludFZlcnRzID0gdGhpcy5fcmVuZGVyRGF0YS51aW50VkRhdGFzWzBdO1xyXG4gICAgICAgIGlmICghdWludFZlcnRzKSByZXR1cm47XHJcbiAgICAgICAgY29sb3IgPSBjb2xvciAhPSBudWxsID8gY29sb3IgOiBjb21wLm5vZGUuY29sb3IuX3ZhbDtcclxuICAgICAgICBsZXQgZmxvYXRzUGVyVmVydCA9IHRoaXMuZmxvYXRzUGVyVmVydDtcclxuICAgICAgICBsZXQgY29sb3JPZmZzZXQgPSB0aGlzLmNvbG9yT2Zmc2V0O1xyXG4gICAgICAgIGZvciAobGV0IGkgPSBjb2xvck9mZnNldCwgbCA9IHVpbnRWZXJ0cy5sZW5ndGg7IGkgPCBsOyBpICs9IGZsb2F0c1BlclZlcnQpIHtcclxuICAgICAgICAgICAgdWludFZlcnRzW2ldID0gY29sb3I7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG5cclxuICAgIHVwZGF0ZVdvcmxkVmVydHMoY29tcCkge1xyXG4gICAgICAgIGlmIChDQ19OQVRJVkVSRU5ERVJFUikge1xyXG4gICAgICAgICAgICAvLyDljp/nlJ/lubPlj7Dlhbzlrrnku6PnoIEg5aSN5Yi25LqOanNiLWVuZ2luZS5qc+S4reeahGNjLkFzc2VtYmxlcjJELnByb3RvdHlwZS51cGRhdGVXb3JsZFZlcnRzXHJcbiAgICAgICAgICAgIHZhciBsb2NhbCA9IHRoaXMuX2xvY2FsO1xyXG4gICAgICAgICAgICB2YXIgdmVydHMgPSB0aGlzLl9yZW5kZXJEYXRhLnZEYXRhc1swXTtcclxuICAgICAgICAgICAgdmFyIHZsID0gbG9jYWxbMF0sXHJcbiAgICAgICAgICAgICAgICB2ciA9IGxvY2FsWzJdLFxyXG4gICAgICAgICAgICAgICAgdmIgPSBsb2NhbFsxXSxcclxuICAgICAgICAgICAgICAgIHZ0ID0gbG9jYWxbM107XHJcbiAgICAgICAgICAgIHZhciBmbG9hdHNQZXJWZXJ0ID0gdGhpcy5mbG9hdHNQZXJWZXJ0O1xyXG4gICAgICAgICAgICB2YXIgdmVydGV4T2Zmc2V0ID0gMDsgLy8gbGVmdCBib3R0b21cclxuXHJcbiAgICAgICAgICAgIHZlcnRzW3ZlcnRleE9mZnNldF0gPSB2bDtcclxuICAgICAgICAgICAgdmVydHNbdmVydGV4T2Zmc2V0ICsgMV0gPSB2YjtcclxuICAgICAgICAgICAgdmVydGV4T2Zmc2V0ICs9IGZsb2F0c1BlclZlcnQ7IC8vIHJpZ2h0IGJvdHRvbVxyXG5cclxuICAgICAgICAgICAgdmVydHNbdmVydGV4T2Zmc2V0XSA9IHZyO1xyXG4gICAgICAgICAgICB2ZXJ0c1t2ZXJ0ZXhPZmZzZXQgKyAxXSA9IHZiO1xyXG4gICAgICAgICAgICB2ZXJ0ZXhPZmZzZXQgKz0gZmxvYXRzUGVyVmVydDsgLy8gbGVmdCB0b3BcclxuXHJcbiAgICAgICAgICAgIHZlcnRzW3ZlcnRleE9mZnNldF0gPSB2bDtcclxuICAgICAgICAgICAgdmVydHNbdmVydGV4T2Zmc2V0ICsgMV0gPSB2dDtcclxuICAgICAgICAgICAgdmVydGV4T2Zmc2V0ICs9IGZsb2F0c1BlclZlcnQ7IC8vIHJpZ2h0IHRvcFxyXG5cclxuICAgICAgICAgICAgdmVydHNbdmVydGV4T2Zmc2V0XSA9IHZyO1xyXG4gICAgICAgICAgICB2ZXJ0c1t2ZXJ0ZXhPZmZzZXQgKyAxXSA9IHZ0O1xyXG4gICAgICAgIH0gZWxzZSB7XHJcbiAgICAgICAgICAgIGxldCBsb2NhbCA9IHRoaXMuX2xvY2FsO1xyXG4gICAgICAgICAgICBsZXQgdmVydHMgPSB0aGlzLl9yZW5kZXJEYXRhLnZEYXRhc1swXTtcclxuXHJcbiAgICAgICAgICAgIGxldCBtYXRyaXggPSBjb21wLm5vZGUuX3dvcmxkTWF0cml4O1xyXG4gICAgICAgICAgICBsZXQgbWF0cml4bSA9IG1hdHJpeC5tLFxyXG4gICAgICAgICAgICAgICAgYSA9IG1hdHJpeG1bMF0sIGIgPSBtYXRyaXhtWzFdLCBjID0gbWF0cml4bVs0XSwgZCA9IG1hdHJpeG1bNV0sXHJcbiAgICAgICAgICAgICAgICB0eCA9IG1hdHJpeG1bMTJdLCB0eSA9IG1hdHJpeG1bMTNdO1xyXG5cclxuICAgICAgICAgICAgbGV0IHZsID0gbG9jYWxbMF0sIHZyID0gbG9jYWxbMl0sXHJcbiAgICAgICAgICAgICAgICB2YiA9IGxvY2FsWzFdLCB2dCA9IGxvY2FsWzNdO1xyXG5cclxuICAgICAgICAgICAgbGV0IGZsb2F0c1BlclZlcnQgPSB0aGlzLmZsb2F0c1BlclZlcnQ7XHJcbiAgICAgICAgICAgIGxldCB2ZXJ0ZXhPZmZzZXQgPSAwO1xyXG4gICAgICAgICAgICBsZXQganVzdFRyYW5zbGF0ZSA9IGEgPT09IDEgJiYgYiA9PT0gMCAmJiBjID09PSAwICYmIGQgPT09IDE7XHJcblxyXG4gICAgICAgICAgICBpZiAoanVzdFRyYW5zbGF0ZSkge1xyXG4gICAgICAgICAgICAgICAgLy8gbGVmdCBib3R0b21cclxuICAgICAgICAgICAgICAgIHZlcnRzW3ZlcnRleE9mZnNldF0gPSB2bCArIHR4O1xyXG4gICAgICAgICAgICAgICAgdmVydHNbdmVydGV4T2Zmc2V0ICsgMV0gPSB2YiArIHR5O1xyXG4gICAgICAgICAgICAgICAgdmVydGV4T2Zmc2V0ICs9IGZsb2F0c1BlclZlcnQ7XHJcbiAgICAgICAgICAgICAgICAvLyByaWdodCBib3R0b21cclxuICAgICAgICAgICAgICAgIHZlcnRzW3ZlcnRleE9mZnNldF0gPSB2ciArIHR4O1xyXG4gICAgICAgICAgICAgICAgdmVydHNbdmVydGV4T2Zmc2V0ICsgMV0gPSB2YiArIHR5O1xyXG4gICAgICAgICAgICAgICAgdmVydGV4T2Zmc2V0ICs9IGZsb2F0c1BlclZlcnQ7XHJcbiAgICAgICAgICAgICAgICAvLyBsZWZ0IHRvcFxyXG4gICAgICAgICAgICAgICAgdmVydHNbdmVydGV4T2Zmc2V0XSA9IHZsICsgdHg7XHJcbiAgICAgICAgICAgICAgICB2ZXJ0c1t2ZXJ0ZXhPZmZzZXQgKyAxXSA9IHZ0ICsgdHk7XHJcbiAgICAgICAgICAgICAgICB2ZXJ0ZXhPZmZzZXQgKz0gZmxvYXRzUGVyVmVydDtcclxuICAgICAgICAgICAgICAgIC8vIHJpZ2h0IHRvcFxyXG4gICAgICAgICAgICAgICAgdmVydHNbdmVydGV4T2Zmc2V0XSA9IHZyICsgdHg7XHJcbiAgICAgICAgICAgICAgICB2ZXJ0c1t2ZXJ0ZXhPZmZzZXQgKyAxXSA9IHZ0ICsgdHk7XHJcbiAgICAgICAgICAgIH0gZWxzZSB7XHJcbiAgICAgICAgICAgICAgICBsZXQgYWwgPSBhICogdmwsIGFyID0gYSAqIHZyLFxyXG4gICAgICAgICAgICAgICAgICAgIGJsID0gYiAqIHZsLCBiciA9IGIgKiB2cixcclxuICAgICAgICAgICAgICAgICAgICBjYiA9IGMgKiB2YiwgY3QgPSBjICogdnQsXHJcbiAgICAgICAgICAgICAgICAgICAgZGIgPSBkICogdmIsIGR0ID0gZCAqIHZ0O1xyXG5cclxuICAgICAgICAgICAgICAgIC8vIGxlZnQgYm90dG9tXHJcbiAgICAgICAgICAgICAgICB2ZXJ0c1t2ZXJ0ZXhPZmZzZXRdID0gYWwgKyBjYiArIHR4O1xyXG4gICAgICAgICAgICAgICAgdmVydHNbdmVydGV4T2Zmc2V0ICsgMV0gPSBibCArIGRiICsgdHk7XHJcbiAgICAgICAgICAgICAgICB2ZXJ0ZXhPZmZzZXQgKz0gZmxvYXRzUGVyVmVydDtcclxuICAgICAgICAgICAgICAgIC8vIHJpZ2h0IGJvdHRvbVxyXG4gICAgICAgICAgICAgICAgdmVydHNbdmVydGV4T2Zmc2V0XSA9IGFyICsgY2IgKyB0eDtcclxuICAgICAgICAgICAgICAgIHZlcnRzW3ZlcnRleE9mZnNldCArIDFdID0gYnIgKyBkYiArIHR5O1xyXG4gICAgICAgICAgICAgICAgdmVydGV4T2Zmc2V0ICs9IGZsb2F0c1BlclZlcnQ7XHJcbiAgICAgICAgICAgICAgICAvLyBsZWZ0IHRvcFxyXG4gICAgICAgICAgICAgICAgdmVydHNbdmVydGV4T2Zmc2V0XSA9IGFsICsgY3QgKyB0eDtcclxuICAgICAgICAgICAgICAgIHZlcnRzW3ZlcnRleE9mZnNldCArIDFdID0gYmwgKyBkdCArIHR5O1xyXG4gICAgICAgICAgICAgICAgdmVydGV4T2Zmc2V0ICs9IGZsb2F0c1BlclZlcnQ7XHJcbiAgICAgICAgICAgICAgICAvLyByaWdodCB0b3BcclxuICAgICAgICAgICAgICAgIHZlcnRzW3ZlcnRleE9mZnNldF0gPSBhciArIGN0ICsgdHg7XHJcbiAgICAgICAgICAgICAgICB2ZXJ0c1t2ZXJ0ZXhPZmZzZXQgKyAxXSA9IGJyICsgZHQgKyB0eTtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgIH1cclxuXHJcbiAgICBmaWxsQnVmZmVycyhjb21wLCByZW5kZXJlcikge1xyXG4gICAgICAgIGlmIChyZW5kZXJlci53b3JsZE1hdERpcnR5KSB7XHJcbiAgICAgICAgICAgIHRoaXMudXBkYXRlV29ybGRWZXJ0cyhjb21wKTtcclxuICAgICAgICB9XHJcblxyXG4gICAgICAgIGxldCByZW5kZXJEYXRhID0gdGhpcy5fcmVuZGVyRGF0YTtcclxuICAgICAgICBsZXQgdkRhdGEgPSByZW5kZXJEYXRhLnZEYXRhc1swXTtcclxuICAgICAgICBsZXQgaURhdGEgPSByZW5kZXJEYXRhLmlEYXRhc1swXTtcclxuXHJcbiAgICAgICAgbGV0IGJ1ZmZlciA9IHRoaXMuZ2V0QnVmZmVyKHJlbmRlcmVyKTtcclxuICAgICAgICBsZXQgb2Zmc2V0SW5mbyA9IGJ1ZmZlci5yZXF1ZXN0KHRoaXMudmVydGljZXNDb3VudCwgdGhpcy5pbmRpY2VzQ291bnQpO1xyXG5cclxuICAgICAgICAvLyBidWZmZXIgZGF0YSBtYXkgYmUgcmVhbGxvYywgbmVlZCBnZXQgcmVmZXJlbmNlIGFmdGVyIHJlcXVlc3QuXHJcblxyXG4gICAgICAgIC8vIGZpbGwgdmVydGljZXNcclxuICAgICAgICBsZXQgdmVydGV4T2Zmc2V0ID0gb2Zmc2V0SW5mby5ieXRlT2Zmc2V0ID4+IDIsXHJcbiAgICAgICAgICAgIHZidWYgPSBidWZmZXIuX3ZEYXRhO1xyXG5cclxuICAgICAgICBpZiAodkRhdGEubGVuZ3RoICsgdmVydGV4T2Zmc2V0ID4gdmJ1Zi5sZW5ndGgpIHtcclxuICAgICAgICAgICAgdmJ1Zi5zZXQodkRhdGEuc3ViYXJyYXkoMCwgdmJ1Zi5sZW5ndGggLSB2ZXJ0ZXhPZmZzZXQpLCB2ZXJ0ZXhPZmZzZXQpO1xyXG4gICAgICAgIH0gZWxzZSB7XHJcbiAgICAgICAgICAgIHZidWYuc2V0KHZEYXRhLCB2ZXJ0ZXhPZmZzZXQpO1xyXG4gICAgICAgIH1cclxuXHJcbiAgICAgICAgLy8gZmlsbCBpbmRpY2VzXHJcbiAgICAgICAgbGV0IGlidWYgPSBidWZmZXIuX2lEYXRhLFxyXG4gICAgICAgICAgICBpbmRpY2VPZmZzZXQgPSBvZmZzZXRJbmZvLmluZGljZU9mZnNldCxcclxuICAgICAgICAgICAgdmVydGV4SWQgPSBvZmZzZXRJbmZvLnZlcnRleE9mZnNldDtcclxuICAgICAgICBmb3IgKGxldCBpID0gMCwgbCA9IGlEYXRhLmxlbmd0aDsgaSA8IGw7IGkrKykge1xyXG4gICAgICAgICAgICBpYnVmW2luZGljZU9mZnNldCsrXSA9IHZlcnRleElkICsgaURhdGFbaV07XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG5cclxuICAgIHBhY2tUb0R5bmFtaWNBdGxhcyhjb21wLCBmcmFtZSkge1xyXG4gICAgICAgIGlmIChDQ19URVNUKSByZXR1cm47XHJcblxyXG4gICAgICAgIGlmICghZnJhbWUuX29yaWdpbmFsICYmIGNjLmR5bmFtaWNBdGxhc01hbmFnZXIgJiYgZnJhbWUuX3RleHR1cmUucGFja2FibGUpIHtcclxuICAgICAgICAgICAgbGV0IHBhY2tlZEZyYW1lID0gY2MuZHluYW1pY0F0bGFzTWFuYWdlci5pbnNlcnRTcHJpdGVGcmFtZShmcmFtZSk7XHJcbiAgICAgICAgICAgIGlmIChwYWNrZWRGcmFtZSkge1xyXG4gICAgICAgICAgICAgICAgZnJhbWUuX3NldER5bmFtaWNBdGxhc0ZyYW1lKHBhY2tlZEZyYW1lKTtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgICAgICBsZXQgbWF0ZXJpYWwgPSBjb21wLl9tYXRlcmlhbHNbMF07XHJcbiAgICAgICAgaWYgKCFtYXRlcmlhbCkgcmV0dXJuO1xyXG5cclxuICAgICAgICBpZiAobWF0ZXJpYWwuZ2V0UHJvcGVydHkoJ3RleHR1cmUnKSAhPT0gZnJhbWUuX3RleHR1cmUpIHtcclxuICAgICAgICAgICAgLy8gdGV4dHVyZSB3YXMgcGFja2VkIHRvIGR5bmFtaWMgYXRsYXMsIHNob3VsZCB1cGRhdGUgdXZzXHJcbiAgICAgICAgICAgIGNvbXAuX3ZlcnRzRGlydHkgPSB0cnVlO1xyXG4gICAgICAgICAgICBjb21wLl91cGRhdGVNYXRlcmlhbCgpO1xyXG4gICAgICAgIH1cclxuICAgIH1cclxufSJdfQ== +//------QC-SOURCE-SPLIT------ + + (function() { + var nodeEnv = typeof require !== 'undefined' && typeof process !== 'undefined'; + var __module = nodeEnv ? module : {exports:{}}; + var __filename = 'preview-scripts/tiledmap-optimize-resource/Script/TmoObjectGroup.js'; + var __require = nodeEnv ? function (request) { + return cc.require(request); + } : function (request) { + return __quick_compile_project__.require(request, __filename); + }; + function __define (exports, require, module) { + if (!nodeEnv) {__quick_compile_project__.registerModule(__filename, module);}"use strict"; +cc._RF.push(module, '30e2eSQWDNKI69FbaYfN62j', 'TmoObjectGroup'); +// Script/TmoObjectGroup.js + +"use strict"; + +exports.__esModule = true; +exports["default"] = void 0; + +// Learn cc.Class: +// - https://docs.cocos.com/creator/manual/en/scripting/class.html +// Learn Attribute: +// - https://docs.cocos.com/creator/manual/en/scripting/reference/attributes.html +// Learn life-cycle callbacks: +// - https://docs.cocos.com/creator/manual/en/scripting/life-cycle-callbacks.html +var TmoSprite = require("./TmoSprite"); + +var _default = cc.Class({ + "extends": cc.TiledObjectGroup, + _init: function _init(groupInfo, mapInfo, texGrids, tiledMap) { + var TiledMap = cc.TiledMap; + var TMXObjectType = TiledMap.TMXObjectType; + var Orientation = TiledMap.Orientation; + var StaggerAxis = TiledMap.StaggerAxis; + var TileFlag = TiledMap.TileFlag; + var FLIPPED_MASK = TileFlag.FLIPPED_MASK; + var FLAG_HORIZONTAL = TileFlag.HORIZONTAL; + var FLAG_VERTICAL = TileFlag.VERTICAL; + this._groupName = groupInfo.name; + this._positionOffset = groupInfo.offset; + this._mapInfo = mapInfo; + this._properties = groupInfo.getProperties(); + this._offset = cc.v2(groupInfo.offset.x, -groupInfo.offset.y); + this._opacity = groupInfo._opacity; + var mapSize = mapInfo._mapSize; + var tileSize = mapInfo._tileSize; + var width = 0, + height = 0; + + if (mapInfo.orientation === Orientation.HEX) { + if (mapInfo.getStaggerAxis() === StaggerAxis.STAGGERAXIS_X) { + height = tileSize.height * (mapSize.height + 0.5); + width = (tileSize.width + mapInfo.getHexSideLength()) * Math.floor(mapSize.width / 2) + tileSize.width * (mapSize.width % 2); + } else { + width = tileSize.width * (mapSize.width + 0.5); + height = (tileSize.height + mapInfo.getHexSideLength()) * Math.floor(mapSize.height / 2) + tileSize.height * (mapSize.height % 2); + } + } else if (mapInfo.orientation === Orientation.ISO) { + var wh = mapSize.width + mapSize.height; + width = tileSize.width * 0.5 * wh; + height = tileSize.height * 0.5 * wh; + } else { + width = mapSize.width * tileSize.width; + height = mapSize.height * tileSize.height; + } + + this.node.setContentSize(width, height); + var leftTopX = width * this.node.anchorX; + var leftTopY = height * (1 - this.node.anchorY); + var objects = groupInfo._objects; + var aliveNodes = {}; // 生成映射Map { Texture2D: textureIndex } + + var textureIndexMap = new Map(); + var objectTextures = tiledMap.getObjectTextures(); + objectTextures.forEach(function (texture, idx) { + return textureIndexMap.set(texture, idx); + }); + + for (var i = 0, l = objects.length; i < l; i++) { + var object = objects[i]; + var objType = object.type; + object.offset = cc.v2(object.x, object.y); + var points = object.points || object.polylinePoints; + + if (points) { + for (var pi = 0; pi < points.length; pi++) { + points[pi].y *= -1; + } + } + + if (Orientation.ISO !== mapInfo.orientation) { + object.y = height - object.y; + } else { + var posIdxX = object.x / tileSize.height; + var posIdxY = object.y / tileSize.height; + object.x = tileSize.width * 0.5 * (mapSize.height + posIdxX - posIdxY); + object.y = tileSize.height * 0.5 * (mapSize.width + mapSize.height - posIdxX - posIdxY); + } + + if (objType === TMXObjectType.TEXT) { + var textName = "text" + object.id; + aliveNodes[textName] = true; + var textNode = this.node.getChildByName(textName); + + if (!textNode) { + textNode = new cc.Node(); + } + + textNode.active = object.visible; + textNode.anchorX = 0; + textNode.anchorY = 1; + textNode.angle = -object.rotation; + textNode.x = object.x - leftTopX; + textNode.y = object.y - leftTopY; + textNode.name = textName; + textNode.parent = this.node; + textNode.color = object.color; + textNode.opacity = this._opacity; + textNode.setSiblingIndex(i); + var label = textNode.getComponent(cc.Label); + + if (!label) { + label = textNode.addComponent(cc.Label); + } + + label.overflow = cc.Label.Overflow.SHRINK; + label.lineHeight = object.height; + label.string = object.text; + label.horizontalAlign = object.halign; + label.verticalAlign = object.valign; + label.fontSize = object.pixelsize; + textNode.width = object.width; + textNode.height = object.height; + } + + if (objType === TMXObjectType.IMAGE) { + var gid = object.gid; + var grid = texGrids[(gid & FLIPPED_MASK) >>> 0]; + if (!grid) continue; + var tileset = grid.tileset; + var imgName = "img" + object.id; + aliveNodes[imgName] = true; + var imgNode = this.node.getChildByName(imgName); + var imgWidth = object.width || grid.width; + var imgHeight = object.height || grid.height; + var tileOffsetX = tileset.tileOffset.x; + var tileOffsetY = tileset.tileOffset.y; // Delete image nodes implemented as private nodes + // Use cc.Node to implement node-level requirements + + if (imgNode instanceof cc.PrivateNode) { + imgNode.removeFromParent(); + imgNode.destroy(); + imgNode = null; + } + + if (!imgNode) { + imgNode = new cc.Node(); + } + + if (Orientation.ISO == mapInfo.orientation) { + imgNode.anchorX = 0.5 + tileOffsetX / imgWidth; + imgNode.anchorY = tileOffsetY / imgHeight; + } else { + imgNode.anchorX = tileOffsetX / imgWidth; + imgNode.anchorY = tileOffsetY / imgHeight; + } + + imgNode.active = object.visible; + imgNode.angle = -object.rotation; + imgNode.x = object.x - leftTopX; + imgNode.y = object.y - leftTopY; + imgNode.name = imgName; + imgNode.parent = this.node; + imgNode.opacity = this._opacity; + imgNode.setSiblingIndex(i); + imgNode._tiledMap = tiledMap; + var sp = imgNode.getComponent(TmoSprite); + + if (!sp) { + sp = imgNode.addComponent(TmoSprite); + } + + var spf = sp.spriteFrame; + + if (!spf) { + spf = new cc.SpriteFrame(); + } + + if ((gid & FLAG_HORIZONTAL) >>> 0) { + spf.setFlipX(true); + } else { + spf.setFlipX(false); + } + + if ((gid & FLAG_VERTICAL) >>> 0) { + spf.setFlipY(true); + } else { + spf.setFlipY(false); + } + + var sourceImage = grid.tileset.sourceImage; + spf.setTexture(sourceImage, cc.rect(grid)); + sp.spriteFrame = spf; + sp.setVertsDirty(); // object group may has no width or height info + + imgNode.width = imgWidth; + imgNode.height = imgHeight; // 收集图集 更新textureIndexMap + + if (!textureIndexMap.has(sourceImage)) { + textureIndexMap.set(sourceImage, objectTextures.length); + objectTextures.push(sourceImage); + } // 设置textureIndex + + + var textureIndex = textureIndexMap.get(sourceImage); + sp.setTextureIdx(textureIndex + 1); + } + } + + this._objects = objects; // destroy useless node + + var children = this.node.children; + var uselessExp = /^(?:img|text)\d+$/; + + for (var _i = 0, n = children.length; _i < n; _i++) { + var c = children[_i]; + var cName = c._name; + var isUseless = uselessExp.test(cName); + if (isUseless && !aliveNodes[cName]) c.destroy(); + } + } +}); + +exports["default"] = _default; +module.exports = exports["default"]; + +cc._RF.pop(); + } + if (nodeEnv) { + __define(__module.exports, __require, __module); + } + else { + __quick_compile_project__.registerModuleFunc(__filename, function () { + __define(__module.exports, __require, __module); + }); + } + })(); +//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbInBhY2thZ2VzXFxUaWxlZE1hcE9wdGltaXplclxccmVzb3VyY2VcXFNjcmlwdFxcVG1vT2JqZWN0R3JvdXAuanMiXSwibmFtZXMiOlsiVG1vU3ByaXRlIiwicmVxdWlyZSIsImNjIiwiQ2xhc3MiLCJUaWxlZE9iamVjdEdyb3VwIiwiX2luaXQiLCJncm91cEluZm8iLCJtYXBJbmZvIiwidGV4R3JpZHMiLCJ0aWxlZE1hcCIsIlRpbGVkTWFwIiwiVE1YT2JqZWN0VHlwZSIsIk9yaWVudGF0aW9uIiwiU3RhZ2dlckF4aXMiLCJUaWxlRmxhZyIsIkZMSVBQRURfTUFTSyIsIkZMQUdfSE9SSVpPTlRBTCIsIkhPUklaT05UQUwiLCJGTEFHX1ZFUlRJQ0FMIiwiVkVSVElDQUwiLCJfZ3JvdXBOYW1lIiwibmFtZSIsIl9wb3NpdGlvbk9mZnNldCIsIm9mZnNldCIsIl9tYXBJbmZvIiwiX3Byb3BlcnRpZXMiLCJnZXRQcm9wZXJ0aWVzIiwiX29mZnNldCIsInYyIiwieCIsInkiLCJfb3BhY2l0eSIsIm1hcFNpemUiLCJfbWFwU2l6ZSIsInRpbGVTaXplIiwiX3RpbGVTaXplIiwid2lkdGgiLCJoZWlnaHQiLCJvcmllbnRhdGlvbiIsIkhFWCIsImdldFN0YWdnZXJBeGlzIiwiU1RBR0dFUkFYSVNfWCIsImdldEhleFNpZGVMZW5ndGgiLCJNYXRoIiwiZmxvb3IiLCJJU08iLCJ3aCIsIm5vZGUiLCJzZXRDb250ZW50U2l6ZSIsImxlZnRUb3BYIiwiYW5jaG9yWCIsImxlZnRUb3BZIiwiYW5jaG9yWSIsIm9iamVjdHMiLCJfb2JqZWN0cyIsImFsaXZlTm9kZXMiLCJ0ZXh0dXJlSW5kZXhNYXAiLCJNYXAiLCJvYmplY3RUZXh0dXJlcyIsImdldE9iamVjdFRleHR1cmVzIiwiZm9yRWFjaCIsInRleHR1cmUiLCJpZHgiLCJzZXQiLCJpIiwibCIsImxlbmd0aCIsIm9iamVjdCIsIm9ialR5cGUiLCJ0eXBlIiwicG9pbnRzIiwicG9seWxpbmVQb2ludHMiLCJwaSIsInBvc0lkeFgiLCJwb3NJZHhZIiwiVEVYVCIsInRleHROYW1lIiwiaWQiLCJ0ZXh0Tm9kZSIsImdldENoaWxkQnlOYW1lIiwiTm9kZSIsImFjdGl2ZSIsInZpc2libGUiLCJhbmdsZSIsInJvdGF0aW9uIiwicGFyZW50IiwiY29sb3IiLCJvcGFjaXR5Iiwic2V0U2libGluZ0luZGV4IiwibGFiZWwiLCJnZXRDb21wb25lbnQiLCJMYWJlbCIsImFkZENvbXBvbmVudCIsIm92ZXJmbG93IiwiT3ZlcmZsb3ciLCJTSFJJTksiLCJsaW5lSGVpZ2h0Iiwic3RyaW5nIiwidGV4dCIsImhvcml6b250YWxBbGlnbiIsImhhbGlnbiIsInZlcnRpY2FsQWxpZ24iLCJ2YWxpZ24iLCJmb250U2l6ZSIsInBpeGVsc2l6ZSIsIklNQUdFIiwiZ2lkIiwiZ3JpZCIsInRpbGVzZXQiLCJpbWdOYW1lIiwiaW1nTm9kZSIsImltZ1dpZHRoIiwiaW1nSGVpZ2h0IiwidGlsZU9mZnNldFgiLCJ0aWxlT2Zmc2V0IiwidGlsZU9mZnNldFkiLCJQcml2YXRlTm9kZSIsInJlbW92ZUZyb21QYXJlbnQiLCJkZXN0cm95IiwiX3RpbGVkTWFwIiwic3AiLCJzcGYiLCJzcHJpdGVGcmFtZSIsIlNwcml0ZUZyYW1lIiwic2V0RmxpcFgiLCJzZXRGbGlwWSIsInNvdXJjZUltYWdlIiwic2V0VGV4dHVyZSIsInJlY3QiLCJzZXRWZXJ0c0RpcnR5IiwiaGFzIiwicHVzaCIsInRleHR1cmVJbmRleCIsImdldCIsInNldFRleHR1cmVJZHgiLCJjaGlsZHJlbiIsInVzZWxlc3NFeHAiLCJuIiwiYyIsImNOYW1lIiwiX25hbWUiLCJpc1VzZWxlc3MiLCJ0ZXN0Il0sIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7Ozs7Ozs7Ozs7OztBQUFBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUVBLElBQU1BLFNBQVMsR0FBR0MsT0FBTyxDQUFDLGFBQUQsQ0FBekI7O2VBRWVDLEVBQUUsQ0FBQ0MsS0FBSCxDQUFTO0FBQ3BCLGFBQVNELEVBQUUsQ0FBQ0UsZ0JBRFE7QUFH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QyxFQUFpRDtBQUM3QyxVQUFJMEUsQ0FBQyxHQUFHSCxRQUFRLENBQUN2RSxFQUFELENBQWhCO0FBQ0EsVUFBSTJFLEtBQUssR0FBR0QsQ0FBQyxDQUFDRSxLQUFkO0FBQ0EsVUFBSUMsU0FBUyxHQUFHTCxVQUFVLENBQUNNLElBQVgsQ0FBZ0JILEtBQWhCLENBQWhCO0FBQ0EsVUFBSUUsU0FBUyxJQUFJLENBQUN0RixVQUFVLENBQUNvRixLQUFELENBQTVCLEVBQXFDRCxDQUFDLENBQUNwQixPQUFGO0FBQ3hDO0FBRUo7QUEvTW1CLENBQVQiLCJzb3VyY2VSb290IjoiLyIsInNvdXJjZXNDb250ZW50IjpbIi8vIExlYXJuIGNjLkNsYXNzOlxyXG4vLyAgLSBodHRwczovL2RvY3MuY29jb3MuY29tL2NyZWF0b3IvbWFudWFsL2VuL3NjcmlwdGluZy9jbGFzcy5odG1sXHJcbi8vIExlYXJuIEF0dHJpYnV0ZTpcclxuLy8gIC0gaHR0cHM6Ly9kb2NzLmNvY29zLmNvbS9jcmVhdG9yL21hbnVhbC9lbi9zY3JpcHRpbmcvcmVmZXJlbmNlL2F0dHJpYnV0ZXMuaHRtbFxyXG4vLyBMZWFybiBsaWZlLWN5Y2xlIGNhbGxiYWNrczpcclxuLy8gIC0gaHR0cHM6Ly9kb2NzLmNvY29zLmNvbS9jcmVhdG9yL21hbnVhbC9lbi9zY3JpcHRpbmcvbGlmZS1jeWNsZS1jYWxsYmFja3MuaHRtbFxyXG5cclxuY29uc3QgVG1vU3ByaXRlID0gcmVxdWlyZShcIi4vVG1vU3ByaXRlXCIpO1xyXG5cclxuZXhwb3J0IGRlZmF1bHQgY2MuQ2xhc3Moe1xyXG4gICAgZXh0ZW5kczogY2MuVGlsZWRPYmplY3RHcm91cCxcclxuXHJcbiAgICBfaW5pdChncm91cEluZm8sIG1hcEluZm8sIHRleEdyaWRzLCB0aWxlZE1hcCkge1xyXG4gICAgICAgIGNvbnN0IFRpbGVkTWFwID0gY2MuVGlsZWRNYXA7XHJcbiAgICAgICAgY29uc3QgVE1YT2JqZWN0VHlwZSA9IFRpbGVkTWFwLlRNWE9iamVjdFR5cGU7XHJcbiAgICAgICAgY29uc3QgT3JpZW50YXRpb24gPSBUaWxlZE1hcC5PcmllbnRhdGlvbjtcclxuICAgICAgICBjb25zdCBTdGFnZ2VyQXhpcyA9IFRpbGVkTWFwLlN0YWdnZXJBeGlzO1xyXG4gICAgICAgIGNvbnN0IFRpbGVGbGFnID0gVGlsZWRNYXAuVGlsZUZsYWc7XHJcbiAgICAgICAgY29uc3QgRkxJUFBFRF9NQVNLID0gVGlsZUZsYWcuRkxJUFBFRF9NQVNLO1xyXG4gICAgICAgIGNvbnN0IEZMQUdfSE9SSVpPTlRBTCA9IFRpbGVGbGFnLkhPUklaT05UQUw7XHJcbiAgICAgICAgY29uc3QgRkxBR19WRVJUSUNBTCA9IFRpbGVGbGFnLlZFUlRJQ0FMO1xyXG5cclxuICAgICAgICB0aGlzLl9ncm91cE5hbWUgPSBncm91cEluZm8ubmFtZTtcclxuICAgICAgICB0aGlzLl9wb3NpdGlvbk9mZnNldCA9IGdyb3VwSW5mby5vZmZzZXQ7XHJcbiAgICAgICAgdGhpcy5fbWFwSW5mbyA9IG1hcEluZm87XHJcbiAgICAgICAgdGhpcy5fcHJvcGVydGllcyA9IGdyb3VwSW5mby5nZXRQcm9wZXJ0aWVzKCk7XHJcbiAgICAgICAgdGhpcy5fb2Zmc2V0ID0gY2MudjIoZ3JvdXBJbmZvLm9mZnNldC54LCAtZ3JvdXBJbmZvLm9mZnNldC55KTtcclxuICAgICAgICB0aGlzLl9vcGFjaXR5ID0gZ3JvdXBJbmZvLl9vcGFjaXR5O1xyXG5cclxuICAgICAgICBsZXQgbWFwU2l6ZSA9IG1hcEluZm8uX21hcFNpemU7XHJcbiAgICAgICAgbGV0IHRpbGVTaXplID0gbWFwSW5mby5fdGlsZVNpemU7XHJcbiAgICAgICAgbGV0IHdpZHRoID0gMCwgaGVpZ2h0ID0gMDtcclxuICAgICAgICBpZiAobWFwSW5mby5vcmllbnRhdGlvbiA9PT0gT3JpZW50YXRpb24uSEVYKSB7XHJcbiAgICAgICAgICAgIGlmIChtYXBJbmZvLmdldFN0YWdnZXJBeGlzKCkgPT09IFN0YWdnZXJBeGlzLlNUQUdHRVJBWElTX1gpIHtcclxuICAgICAgICAgICAgICAgIGhlaWdodCA9IHRpbGVTaXplLmhlaWdodCAqIChtYXBTaXplLmhlaWdodCArIDAuNSk7XHJcbiAgICAgICAgICAgICAgICB3aWR0aCA9ICh0aWxlU2l6ZS53aWR0aCArIG1hcEluZm8uZ2V0SGV4U2lkZUxlbmd0aCgpKSAqIE1hdGguZmxvb3IobWFwU2l6ZS53aWR0aCAvIDIpICsgdGlsZVNpemUud2lkdGggKiAobWFwU2l6ZS53aWR0aCAlIDIpO1xyXG4gICAgICAgICAgICB9IGVsc2Uge1xyXG4gICAgICAgICAgICAgICAgd2lkdGggPSB0aWxlU2l6ZS53aWR0aCAqIChtYXBTaXplLndpZHRoICsgMC41KTtcclxuICAgICAgICAgICAgICAgIGhlaWdodCA9ICh0aWxlU2l6ZS5oZWlnaHQgKyBtYXBJbmZvLmdldEhleFNpZGVMZW5ndGgoKSkgKiBNYXRoLmZsb29yKG1hcFNpemUuaGVpZ2h0IC8gMikgKyB0aWxlU2l6ZS5oZWlnaHQgKiAobWFwU2l6ZS5oZWlnaHQgJSAyKTtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH0gZWxzZSBpZiAobWFwSW5mby5vcmllbnRhdGlvbiA9PT0gT3JpZW50YXRpb24uSVNPKSB7XHJcbiAgICAgICAgICAgIGxldCB3aCA9IG1hcFNpemUud2lkdGggKyBtYXBTaXplLmhlaWdodDtcclxuICAgICAgICAgICAgd2lkdGggPSB0aWxlU2l6ZS53aWR0aCAqIDAuNSAqIHdoO1xyXG4gICAgICAgICAgICBoZWlnaHQgPSB0aWxlU2l6ZS5oZWlnaHQgKiAwLjUgKiB3aDtcclxuICAgICAgICB9IGVsc2Uge1xyXG4gICAgICAgICAgICB3aWR0aCA9IG1hcFNpemUud2lkdGggKiB0aWxlU2l6ZS53aWR0aDtcclxuICAgICAgICAgICAgaGVpZ2h0ID0gbWFwU2l6ZS5oZWlnaHQgKiB0aWxlU2l6ZS5oZWlnaHQ7XHJcbiAgICAgICAgfVxyXG4gICAgICAgIHRoaXMubm9kZS5zZXRDb250ZW50U2l6ZSh3aWR0aCwgaGVpZ2h0KTtcclxuXHJcbiAgICAgICAgbGV0IGxlZnRUb3BYID0gd2lkdGggKiB0aGlzLm5vZGUuYW5jaG9yWDtcclxuICAgICAgICBsZXQgbGVmdFRvcFkgPSBoZWlnaHQgKiAoMSAtIHRoaXMubm9kZS5hbmNob3JZKTtcclxuXHJcbiAgICAgICAgbGV0IG9iamVjdHMgPSBncm91cEluZm8uX29iamVjdHM7XHJcbiAgICAgICAgbGV0IGFsaXZlTm9kZXMgPSB7fTtcclxuXHJcbiAgICAgICAgLy8g55Sf5oiQ5pig5bCETWFwICAgeyBUZXh0dXJlMkQ6IHRleHR1cmVJbmRleCB9XHJcbiAgICAgICAgbGV0IHRleHR1cmVJbmRleE1hcCA9IG5ldyBNYXAoKTtcclxuICAgICAgICBsZXQgb2JqZWN0VGV4dHVyZXMgPSB0aWxlZE1hcC5nZXRPYmplY3RUZXh0dXJlcygpO1xyXG4gICAgICAgIG9iamVjdFRleHR1cmVzLmZvckVhY2goKHRleHR1cmUsIGlkeCkgPT4gdGV4dHVyZUluZGV4TWFwLnNldCh0ZXh0dXJlLCBpZHgpKTtcclxuXHJcbiAgICAgICAgZm9yIChsZXQgaSA9IDAsIGwgPSBvYmplY3RzLmxlbmd0aDsgaSA8IGw7IGkrKykge1xyXG4gICAgICAgICAgICBsZXQgb2JqZWN0ID0gb2JqZWN0c1tpXTtcclxuICAgICAgICAgICAgbGV0IG9ialR5cGUgPSBvYmplY3QudHlwZTtcclxuICAgICAgICAgICAgb2JqZWN0Lm9mZnNldCA9IGNjLnYyKG9iamVjdC54LCBvYmplY3QueSk7XHJcblxyXG4gICAgICAgICAgICBsZXQgcG9pbnRzID0gb2JqZWN0LnBvaW50cyB8fCBvYmplY3QucG9seWxpbmVQb2ludHM7XHJcbiAgICAgICAgICAgIGlmIChwb2ludHMpIHtcclxuICAgICAgICAgICAgICAgIGZvciAobGV0IHBpID0gMDsgcGkgPCBwb2ludHMubGVuZ3RoOyBwaSsrKSB7XHJcbiAgICAgICAgICAgICAgICAgICAgcG9pbnRzW3BpXS55ICo9IC0xO1xyXG4gICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICB9XHJcblxyXG4gICAgICAgICAgICBpZiAoT3JpZW50YXRpb24uSVNPICE9PSBtYXBJbmZvLm9yaWVudGF0aW9uKSB7XHJcbiAgICAgICAgICAgICAgICBvYmplY3QueSA9IGhlaWdodCAtIG9iamVjdC55O1xyXG4gICAgICAgICAgICB9IGVsc2Uge1xyXG4gICAgICAgICAgICAgICAgbGV0IHBvc0lkeFggPSBvYmplY3QueCAvIHRpbGVTaXplLmhlaWdodDtcclxuICAgICAgICAgICAgICAgIGxldCBwb3NJZHhZID0gb2JqZWN0LnkgLyB0aWxlU2l6ZS5oZWlnaHQ7XHJcbiAgICAgICAgICAgICAgICBvYmplY3QueCA9IHRpbGVTaXplLndpZHRoICogMC41ICogKG1hcFNpemUuaGVpZ2h0ICsgcG9zSWR4WCAtIHBvc0lkeFkpO1xyXG4gICAgICAgICAgICAgICAgb2JqZWN0LnkgPSB0aWxlU2l6ZS5oZWlnaHQgKiAwLjUgKiAobWFwU2l6ZS53aWR0aCArIG1hcFNpemUuaGVpZ2h0IC0gcG9zSWR4WCAtIHBvc0lkeFkpO1xyXG4gICAgICAgICAgICB9XHJcblxyXG4gICAgICAgICAgICBpZiAob2JqVHlwZSA9PT0gVE1YT2JqZWN0VHlwZS5URVhUKSB7XHJcbiAgICAgICAgICAgICAgICBsZXQgdGV4dE5hbWUgPSBcInRleHRcIiArIG9iamVjdC5pZDtcclxuICAgICAgICAgICAgICAgIGFsaXZlTm9kZXNbdGV4dE5hbWVdID0gdHJ1ZTtcclxuXHJcbiAgICAgICAgICAgICAgICBsZXQgdGV4dE5vZGUgPSB0aGlzLm5vZGUuZ2V0Q2hpbGRCeU5hbWUodGV4dE5hbWUpO1xyXG4gICAgICAgICAgICAgICAgaWYgKCF0ZXh0Tm9kZSkge1xyXG4gICAgICAgICAgICAgICAgICAgIHRleHROb2RlID0gbmV3IGNjLk5vZGUoKTtcclxuICAgICAgICAgICAgICAgIH1cclxuXHJcbiAgICAgICAgICAgICAgICB0ZXh0Tm9kZS5hY3RpdmUgPSBvYmplY3QudmlzaWJsZTtcclxuICAgICAgICAgICAgICAgIHRleHROb2RlLmFuY2hvclggPSAwO1xyXG4gICAgICAgICAgICAgICAgdGV4dE5vZGUuYW5jaG9yWSA9IDE7XHJcbiAgICAgICAgICAgICAgICB0ZXh0Tm9kZS5hbmdsZSA9IC1vYmplY3Qucm90YXRpb247XHJcbiAgICAgICAgICAgICAgICB0ZXh0Tm9kZS54ID0gb2JqZWN0LnggLSBsZWZ0VG9wWDtcclxuICAgICAgICAgICAgICAgIHRleHROb2RlLnkgPSBvYmplY3QueSAtIGxlZnRUb3BZO1xyXG4gICAgICAgICAgICAgICAgdGV4dE5vZGUubmFtZSA9IHRleHROYW1lO1xyXG4gICAgICAgICAgICAgICAgdGV4dE5vZGUucGFyZW50ID0gdGhpcy5ub2RlO1xyXG4gICAgICAgICAgICAgICAgdGV4dE5vZGUuY29sb3IgPSBvYmplY3QuY29sb3I7XHJcbiAgICAgICAgICAgICAgICB0ZXh0Tm9kZS5vcGFjaXR5ID0gdGhpcy5fb3BhY2l0eTtcclxuICAgICAgICAgICAgICAgIHRleHROb2RlLnNldFNpYmxpbmdJbmRleChpKTtcclxuXHJcbiAgICAgICAgICAgICAgICBsZXQgbGFiZWwgPSB0ZXh0Tm9kZS5nZXRDb21wb25lbnQoY2MuTGFiZWwpO1xyXG4gICAgICAgICAgICAgICAgaWYgKCFsYWJlbCkge1xyXG4gICAgICAgICAgICAgICAgICAgIGxhYmVsID0gdGV4dE5vZGUuYWRkQ29tcG9uZW50KGNjLkxhYmVsKTtcclxuICAgICAgICAgICAgICAgIH1cclxuXHJcbiAgICAgICAgICAgICAgICBsYWJlbC5vdmVyZmxvdyA9IGNjLkxhYmVsLk92ZXJmbG93LlNIUklOSztcclxuICAgICAgICAgICAgICAgIGxhYmVsLmxpbmVIZWlnaHQgPSBvYmplY3QuaGVpZ2h0O1xyXG4gICAgICAgICAgICAgICAgbGFiZWwuc3RyaW5nID0gb2JqZWN0LnRleHQ7XHJcbiAgICAgICAgICAgICAgICBsYWJlbC5ob3Jpem9udGFsQWxpZ24gPSBvYmplY3QuaGFsaWduO1xyXG4gICAgICAgICAgICAgICAgbGFiZWwudmVydGljYWxBbGlnbiA9IG9iamVjdC52YWxpZ247XHJcbiAgICAgICAgICAgICAgICBsYWJlbC5mb250U2l6ZSA9IG9iamVjdC5waXhlbHNpemU7XHJcblxyXG4gICAgICAgICAgICAgICAgdGV4dE5vZGUud2lkdGggPSBvYmplY3Qud2lkdGg7XHJcbiAgICAgICAgICAgICAgICB0ZXh0Tm9kZS5oZWlnaHQgPSBvYmplY3QuaGVpZ2h0O1xyXG4gICAgICAgICAgICB9XHJcblxyXG4gICAgICAgICAgICBpZiAob2JqVHlwZSA9PT0gVE1YT2JqZWN0VHlwZS5JTUFHRSkge1xyXG4gICAgICAgICAgICAgICAgbGV0IGdpZCA9IG9iamVjdC5naWQ7XHJcbiAgICAgICAgICAgICAgICBsZXQgZ3JpZCA9IHRleEdyaWRzWyhnaWQgJiBGTElQUEVEX01BU0spID4+PiAwXTtcclxuICAgICAgICAgICAgICAgIGlmICghZ3JpZCkgY29udGludWU7XHJcbiAgICAgICAgICAgICAgICBsZXQgdGlsZXNldCA9IGdyaWQudGlsZXNldDtcclxuICAgICAgICAgICAgICAgIGxldCBpbWdOYW1lID0gXCJpbWdcIiArIG9iamVjdC5pZDtcclxuICAgICAgICAgICAgICAgIGFsaXZlTm9kZXNbaW1nTmFtZV0gPSB0cnVlO1xyXG4gICAgICAgICAgICAgICAgbGV0IGltZ05vZGUgPSB0aGlzLm5vZGUuZ2V0Q2hpbGRCeU5hbWUoaW1nTmFtZSk7XHJcbiAgICAgICAgICAgICAgICBsZXQgaW1nV2lkdGggPSBvYmplY3Qud2lkdGggfHwgZ3JpZC53aWR0aDtcclxuICAgICAgICAgICAgICAgIGxldCBpbWdIZWlnaHQgPSBvYmplY3QuaGVpZ2h0IHx8IGdyaWQuaGVpZ2h0O1xyXG4gICAgICAgICAgICAgICAgbGV0IHRpbGVPZmZzZXRYID0gdGlsZXNldC50aWxlT2Zmc2V0Lng7XHJcbiAgICAgICAgICAgICAgICBsZXQgdGlsZU9mZnNldFkgPSB0aWxlc2V0LnRpbGVPZmZzZXQueTtcclxuXHJcbiAgICAgICAgICAgICAgICAvLyBEZWxldGUgaW1hZ2Ugbm9kZXMgaW1wbGVtZW50ZWQgYXMgcHJpdmF0ZSBub2Rlc1xyXG4gICAgICAgICAgICAgICAgLy8gVXNlIGNjLk5vZGUgdG8gaW1wbGVtZW50IG5vZGUtbGV2ZWwgcmVxdWlyZW1lbnRzXHJcbiAgICAgICAgICAgICAgICBpZiAoaW1nTm9kZSBpbnN0YW5jZW9mIGNjLlByaXZhdGVOb2RlKSB7XHJcbiAgICAgICAgICAgICAgICAgICAgaW1nTm9kZS5yZW1vdmVGcm9tUGFyZW50KCk7XHJcbiAgICAgICAgICAgICAgICAgICAgaW1nTm9kZS5kZXN0cm95KCk7XHJcbiAgICAgICAgICAgICAgICAgICAgaW1nTm9kZSA9IG51bGw7XHJcbiAgICAgICAgICAgICAgICB9XHJcblxyXG4gICAgICAgICAgICAgICAgaWYgKCFpbWdOb2RlKSB7XHJcbiAgICAgICAgICAgICAgICAgICAgaW1nTm9kZSA9IG5ldyBjYy5Ob2RlKCk7XHJcbiAgICAgICAgICAgICAgICB9XHJcblxyXG4gICAgICAgICAgICAgICAgaWYgKE9yaWVudGF0aW9uLklTTyA9PSBtYXBJbmZvLm9yaWVudGF0aW9uKSB7XHJcbiAgICAgICAgICAgICAgICAgICAgaW1nTm9kZS5hbmNob3JYID0gMC41ICsgdGlsZU9mZnNldFggLyBpbWdXaWR0aDtcclxuICAgICAgICAgICAgICAgICAgICBpbWdOb2RlLmFuY2hvclkgPSB0aWxlT2Zmc2V0WSAvIGltZ0hlaWdodDtcclxuICAgICAgICAgICAgICAgIH0gZWxzZSB7XHJcbiAgICAgICAgICAgICAgICAgICAgaW1nTm9kZS5hbmNob3JYID0gdGlsZU9mZnNldFggLyBpbWdXaWR0aDtcclxuICAgICAgICAgICAgICAgICAgICBpbWdOb2RlLmFuY2hvclkgPSB0aWxlT2Zmc2V0WSAvIGltZ0hlaWdodDtcclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgIGltZ05vZGUuYWN0aXZlID0gb2JqZWN0LnZpc2libGU7XHJcbiAgICAgICAgICAgICAgICBpbWdOb2RlLmFuZ2xlID0gLW9iamVjdC5yb3RhdGlvbjtcclxuICAgICAgICAgICAgICAgIGltZ05vZGUueCA9IG9iamVjdC54IC0gbGVmdFRvcFg7XHJcbiAgICAgICAgICAgICAgICBpbWdOb2RlLnkgPSBvYmplY3QueSAtIGxlZnRUb3BZO1xyXG4gICAgICAgICAgICAgICAgaW1nTm9kZS5uYW1lID0gaW1nTmFtZTtcclxuICAgICAgICAgICAgICAgIGltZ05vZGUucGFyZW50ID0gdGhpcy5ub2RlO1xyXG4gICAgICAgICAgICAgICAgaW1nTm9kZS5vcGFjaXR5ID0gdGhpcy5fb3BhY2l0eTtcclxuICAgICAgICAgICAgICAgIGltZ05vZGUuc2V0U2libGluZ0luZGV4KGkpO1xyXG4gICAgICAgICAgICAgICAgaW1nTm9kZS5fdGlsZWRNYXAgPSB0aWxlZE1hcDtcclxuXHJcblxyXG4gICAgICAgICAgICAgICAgbGV0IHNwID0gaW1nTm9kZS5nZXRDb21wb25lbnQoVG1vU3ByaXRlKTtcclxuICAgICAgICAgICAgICAgIGlmICghc3ApIHtcclxuICAgICAgICAgICAgICAgICAgICBzcCA9IGltZ05vZGUuYWRkQ29tcG9uZW50KFRtb1Nwcml0ZSk7XHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICBsZXQgc3BmID0gc3Auc3ByaXRlRnJhbWU7XHJcbiAgICAgICAgICAgICAgICBpZiAoIXNwZikge1xyXG4gICAgICAgICAgICAgICAgICAgIHNwZiA9IG5ldyBjYy5TcHJpdGVGcmFtZSgpO1xyXG4gICAgICAgICAgICAgICAgfVxyXG5cclxuICAgICAgICAgICAgICAgIGlmICgoZ2lkICYgRkxBR19IT1JJWk9OVEFMKSA+Pj4gMCkge1xyXG4gICAgICAgICAgICAgICAgICAgIHNwZi5zZXRGbGlwWCh0cnVlKTtcclxuICAgICAgICAgICAgICAgIH0gZWxzZSB7XHJcbiAgICAgICAgICAgICAgICAgICAgc3BmLnNldEZsaXBYKGZhbHNlKTtcclxuICAgICAgICAgICAgICAgIH1cclxuXHJcbiAgICAgICAgICAgICAgICBpZiAoKGdpZCAmIEZMQUdfVkVSVElDQUwpID4+PiAwKSB7XHJcbiAgICAgICAgICAgICAgICAgICAgc3BmLnNldEZsaXBZKHRydWUpO1xyXG4gICAgICAgICAgICAgICAgfSBlbHNlIHtcclxuICAgICAgICAgICAgICAgICAgICBzcGYuc2V0RmxpcFkoZmFsc2UpO1xyXG4gICAgICAgICAgICAgICAgfVxyXG5cclxuICAgICAgICAgICAgICAgIGxldCBzb3VyY2VJbWFnZSA9IGdyaWQudGlsZXNldC5zb3VyY2VJbWFnZTtcclxuICAgICAgICAgICAgICAgIHNwZi5zZXRUZXh0dXJlKHNvdXJjZUltYWdlLCBjYy5yZWN0KGdyaWQpKTtcclxuICAgICAgICAgICAgICAgIHNwLnNwcml0ZUZyYW1lID0gc3BmO1xyXG4gICAgICAgICAgICAgICAgc3Auc2V0VmVydHNEaXJ0eSgpO1xyXG5cclxuICAgICAgICAgICAgICAgIC8vIG9iamVjdCBncm91cCBtYXkgaGFzIG5vIHdpZHRoIG9yIGhlaWdodCBpbmZvXHJcbiAgICAgICAgICAgICAgICBpbWdOb2RlLndpZHRoID0gaW1nV2lkdGg7XHJcbiAgICAgICAgICAgICAgICBpbWdOb2RlLmhlaWdodCA9IGltZ0hlaWdodDtcclxuXHJcbiAgICAgICAgICAgICAgICAvLyDmlLbpm4blm77pm4Yg5pu05pawdGV4dHVyZUluZGV4TWFwXHJcbiAgICAgICAgICAgICAgICBpZiAoIXRleHR1cmVJbmRleE1hcC5oYXMoc291cmNlSW1hZ2UpKSB7XHJcbiAgICAgICAgICAgICAgICAgICAgdGV4dHVyZUluZGV4TWFwLnNldChzb3VyY2VJbWFnZSwgb2JqZWN0VGV4dHVyZXMubGVuZ3RoKTtcclxuICAgICAgICAgICAgICAgICAgICBvYmplY3RUZXh0dXJlcy5wdXNoKHNvdXJjZUltYWdlKTtcclxuICAgICAgICAgICAgICAgIH1cclxuXHJcbiAgICAgICAgICAgICAgICAvLyDorr7nva50ZXh0dXJlSW5kZXhcclxuICAgICAgICAgICAgICAgIGxldCB0ZXh0dXJlSW5kZXggPSB0ZXh0dXJlSW5kZXhNYXAuZ2V0KHNvdXJjZUltYWdlKTtcclxuICAgICAgICAgICAgICAgIHNwLnNldFRleHR1cmVJZHgodGV4dHVyZUluZGV4ICsgMSk7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICAgICAgdGhpcy5fb2JqZWN0cyA9IG9iamVjdHM7XHJcblxyXG5cclxuICAgICAgICAvLyBkZXN0cm95IHVzZWxlc3Mgbm9kZVxyXG4gICAgICAgIGxldCBjaGlsZHJlbiA9IHRoaXMubm9kZS5jaGlsZHJlbjtcclxuICAgICAgICBsZXQgdXNlbGVzc0V4cCA9IC9eKD86aW1nfHRleHQpXFxkKyQvO1xyXG4gICAgICAgIGZvciAobGV0IGkgPSAwLCBuID0gY2hpbGRyZW4ubGVuZ3RoOyBpIDwgbjsgaSsrKSB7XHJcbiAgICAgICAgICAgIGxldCBjID0gY2hpbGRyZW5baV07XHJcbiAgICAgICAgICAgIGxldCBjTmFtZSA9IGMuX25hbWU7XHJcbiAgICAgICAgICAgIGxldCBpc1VzZWxlc3MgPSB1c2VsZXNzRXhwLnRlc3QoY05hbWUpO1xyXG4gICAgICAgICAgICBpZiAoaXNVc2VsZXNzICYmICFhbGl2ZU5vZGVzW2NOYW1lXSkgYy5kZXN0cm95KCk7XHJcbiAgICAgICAgfVxyXG5cclxuICAgIH1cclxufSk7XHJcbiJdfQ== +//------QC-SOURCE-SPLIT------ + + (function() { + var nodeEnv = typeof require !== 'undefined' && typeof process !== 'undefined'; + var __module = nodeEnv ? module : {exports:{}}; + var __filename = 'preview-scripts/assets/Script/module/Crypto/HttpUtil.js'; + var __require = nodeEnv ? function (request) { + return cc.require(request); + } : function (request) { + return __quick_compile_project__.require(request, __filename); + }; + function __define (exports, require, module) { + if (!nodeEnv) {__quick_compile_project__.registerModule(__filename, module);}"use strict"; +cc._RF.push(module, '771a32aQBNGVKd3+66gyTKA', 'HttpUtil'); +// Script/module/Crypto/HttpUtil.ts + +"use strict"; +var __extends = (this && this.__extends) || (function () { + var extendStatics = function (d, b) { + extendStatics = Object.setPrototypeOf || + ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) || + function (d, b) { for (var p in b) if (Object.prototype.hasOwnProperty.call(b, p)) d[p] = b[p]; }; + return extendStatics(d, b); + }; + return function (d, b) { + extendStatics(d, b); + function __() { this.constructor = d; } + d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __()); + }; +})(); +var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) { + var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d; + if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc); + else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r; + return c > 3 && r && Object.defineProperty(target, key, r), r; +}; +var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) { + function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); } + return new (P || (P = Promise))(function (resolve, reject) { + function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } } + function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } } + function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); } + step((generator = generator.apply(thisArg, _arguments || [])).next()); + }); +}; +var __generator = (this && this.__generator) || function (thisArg, body) { + var _ = { label: 0, sent: function() { if (t[0] & 1) throw t[1]; return t[1]; }, trys: [], ops: [] }, f, y, t, g; + return g = { next: verb(0), "throw": verb(1), "return": verb(2) }, typeof Symbol === "function" && (g[Symbol.iterator] = function() { return this; }), g; + function verb(n) { return function (v) { return step([n, v]); }; } + function step(op) { + if (f) throw new TypeError("Generator is already executing."); + while (_) try { + if (f = 1, y && (t = op[0] & 2 ? y["return"] : op[0] ? y["throw"] || ((t = y["return"]) && t.call(y), 0) : y.next) && !(t = t.call(y, op[1])).done) return t; + if (y = 0, t) op = [op[0] & 2, t.value]; + switch (op[0]) { + case 0: case 1: t = op; break; + case 4: _.label++; return { value: op[1], done: false }; + case 5: _.label++; y = op[1]; op = [0]; continue; + case 7: op = _.ops.pop(); _.trys.pop(); continue; + default: + if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) { _ = 0; continue; } + if (op[0] === 3 && (!t || (op[1] > t[0] && op[1] < t[3]))) { _.label = op[1]; break; } + if (op[0] === 6 && _.label < t[1]) { _.label = t[1]; t = op; break; } + if (t && _.label < t[2]) { _.label = t[2]; _.ops.push(op); break; } + if (t[2]) _.ops.pop(); + _.trys.pop(); continue; + } + op = body.call(thisArg, _); + } catch (e) { op = [6, e]; y = 0; } finally { f = t = 0; } + if (op[0] & 5) throw op[1]; return { value: op[0] ? op[1] : void 0, done: true }; + } +}; +Object.defineProperty(exports, "__esModule", { value: true }); +var _a = cc._decorator, ccclass = _a.ccclass, property = _a.property; +var CryptoJS = require("./crypto-js.min.js"); //引用AES源码js +var BASE_URL = "https://api.sparkus.cn"; +//只负责网络接口 次类只负责和后端交互,不负责处理数据 数据处理在GameTool +var HttpUtil = /** @class */ (function (_super) { + __extends(HttpUtil, _super); + function HttpUtil() { + return _super !== null && _super.apply(this, arguments) || this; + } + HttpUtil_1 = HttpUtil; + HttpUtil.getShareInfo = function (shareUrl) { + return __awaiter(this, void 0, Promise, function () { + var time, url; + return __generator(this, function (_a) { + console.log("设置分享链接:", shareUrl); + time = Math.floor((new Date().getTime()) / 1000); + url = HttpUtil_1.apiSign("/api/share/cfg?gameId=" + config.gameId + "&time=" + time + "&url=" + shareUrl, {}); + return [2 /*return*/, this.post(url, null, null)]; + }); + }); + }; + //排行榜 + HttpUtil.rankData = function (type, callback, data) { + return __awaiter(this, void 0, Promise, function () { + var time, url; + return __generator(this, function (_a) { + time = Math.floor((new Date().getTime()) / 1000); + url = HttpUtil_1.apiSign("/api/get/rank/data?gameId=" + config.gameId + "&dataType=" + type + "&time=" + time, data); + this.post(url, data, callback); + return [2 /*return*/]; + }); + }); + }; + HttpUtil.uploadUserLogData = function (data, callback) { + return __awaiter(this, void 0, Promise, function () { + var url; + return __generator(this, function (_a) { + url = '/log/collect/data'; + this.post(url, data, callback); + return [2 /*return*/]; + }); + }); + }; + //暂时用不到 + HttpUtil.getUserRecord = function (data, callback) { + return __awaiter(this, void 0, Promise, function () { + var time, url; + return __generator(this, function (_a) { + time = Math.floor((new Date().getTime()) / 1000); + url = HttpUtil_1.apiSign("/api/get/user/data?gameId=" + config.gameId + "&time=" + time, data); + this.post(url, data, callback); + return [2 /*return*/]; + }); + }); + }; + HttpUtil.post = function (url, data, callback) { + return __awaiter(this, void 0, void 0, function () { + var response; + return __generator(this, function (_a) { + switch (_a.label) { + case 0: return [4 /*yield*/, this.fetchData(url, data, 'POST')]; + case 1: + response = _a.sent(); + callback && callback(response); + return [2 /*return*/]; + } + }); + }); + }; + HttpUtil.get = function (url, callback) { + return __awaiter(this, void 0, void 0, function () { + var response; + return __generator(this, function (_a) { + switch (_a.label) { + case 0: return [4 /*yield*/, this.fetchData(url, null, 'GET')]; + case 1: + response = _a.sent(); + callback && callback(response); + return [2 /*return*/]; + } + }); + }); + }; + HttpUtil.fetchData = function (url, data, method) { + return __awaiter(this, void 0, void 0, function () { + var fullUrl, headers, options, response, error_1; + return __generator(this, function (_a) { + switch (_a.label) { + case 0: + fullUrl = "" + BASE_URL + url; + headers = { 'Content-Type': 'application/json' }; + options = { + method: method, + headers: headers, + body: data ? JSON.stringify(data) : null, + }; + _a.label = 1; + case 1: + _a.trys.push([1, 4, , 5]); + return [4 /*yield*/, fetch(fullUrl, options)]; + case 2: + response = _a.sent(); + if (!response.ok) { + throw new Error("HTTP error! status: " + response.status); + } + return [4 /*yield*/, response.json()]; + case 3: return [2 /*return*/, _a.sent()]; + case 4: + error_1 = _a.sent(); + console.error('Fetch error:', error_1); + return [2 /*return*/, null]; + case 5: return [2 /*return*/]; + } + }); + }); + }; + /** + * + * @param url {string} 接口地址 + * @param params {object} 需要加密的参数对象 + */ + HttpUtil.apiSign = function (url, params) { + if (params === void 0) { params = {}; } + var convertUrl = url.trim(); + if (convertUrl.indexOf('?') === -1) { + convertUrl += '?'; + } + // 传入参数转换拼接字符串 + var postStr = getQueryString(params); + var signedStr = genSignStr(convertUrl, postStr); + var encryptStr = "sign=" + signedStr; + var encryptSignStr = fxCry.encryptByDES(encryptStr, config.secretKey); + encryptSignStr = encodeURIComponent(encryptSignStr); + return urlencode(convertUrl) + "&_p=" + encryptSignStr; + }; + var HttpUtil_1; + HttpUtil = HttpUtil_1 = __decorate([ + ccclass + ], HttpUtil); + return HttpUtil; +}(cc.Component)); +exports.default = HttpUtil; +function responseHandler(response) { + return response.data; +} +// 响应拦截器 +// Rq.interceptors.response.use(responseHandler) +var config = { + gameId: "100012", + secretKey: "onnfPKJW", + EK: "hui231%1" +}; +var Crypoto = /** @class */ (function () { + function Crypoto() { + // 加密的向明值,自己根据项目实际情况定,需要跟后端开发保持一致 + this.keyHex = this.getHetKey(); + } + Crypoto.prototype.getHetKey = function () { + return CryptoJS.enc.Utf8.parse(config.EK); + }; + /** DES加密 */ + Crypoto.prototype.encryptByDES = function (message, secret) { + if (!message) { + return message; + } + var key = secret ? CryptoJS.enc.Utf8.parse(secret) : this.keyHex; + var encrypted = CryptoJS.DES.encrypt(message, key, { + mode: CryptoJS.mode.ECB, + padding: CryptoJS.pad.Pkcs7 + }); + return encrypted.toString(); + }; + /** DES解密 */ + Crypoto.prototype.decryptByDES = function (message, secret) { + var key = secret ? CryptoJS.enc.Utf8.parse(secret) : this.keyHex; + var decrypted = CryptoJS.DES.decrypt({ + ciphertext: CryptoJS.enc.Base64.parse(message) + }, key, { + mode: CryptoJS.mode.ECB, + padding: CryptoJS.pad.Pkcs7 + }); + return decrypted.toString(CryptoJS.enc.Utf8); + }; + /** hmacSHA256加密 */ + Crypoto.prototype.hmacSha256 = function (message, secret) { + var keyHex = secret ? CryptoJS.enc.Utf8.parse(secret) : this.keyHex; + var hash = CryptoJS.HmacSHA256(message, keyHex); + return hash.toString(); + }; + /** hmacSHA256验证 */ + Crypoto.prototype.verifyHmacSha256 = function (message, signature) { + var hash = CryptoJS.HmacSHA256(message, this.keyHex); + return hash.toString() === signature; + }; + /** CBC加密 */ + Crypoto.prototype.encryptCBC = function (word) { + if (!word) { + return word; + } + var srcs = CryptoJS.enc.Utf8.parse(word); + var encrypted = CryptoJS.AES.encrypt(srcs, this.keyHex, { + iv: this.keyHex, + mode: CryptoJS.mode.CBC, + padding: CryptoJS.pad.ZeroPadding + }); + return encrypted.toString(); + }; + /** CBC解密 */ + Crypoto.prototype.decryptCBC = function (word) { + if (!word) { + return word; + } + var encryptedHexStr = CryptoJS.enc.Hex.parse(word); + var srcs = CryptoJS.enc.Base64.stringify(encryptedHexStr); + var decrypt = CryptoJS.AES.decrypt(srcs, this.keyHex, { + iv: this.keyHex, + mode: CryptoJS.mode.CBC, + padding: CryptoJS.pad.ZeroPadding + }); + var decryptedStr = decrypt.toString(CryptoJS.enc.Utf8); + return decryptedStr.toString(); + }; + return Crypoto; +}()); +var fxCry = new Crypoto(); +function isEmpty(data) { + return data === "" || data === null || data === undefined || data.length === 0 || JSON.stringify(data) == "{}"; +} +function getQueryString(obj) { + // 首先对对象的键进行排序并过滤空值 + var sortedKeys = Object.keys(obj).sort(); + var sortedObj = {}; + for (var i = 0; i < sortedKeys.length; i++) { + if (isEmpty(obj[sortedKeys[i]])) { + continue; + } + sortedObj[sortedKeys[i]] = obj[sortedKeys[i]]; + } + // 然后将排序后的对象转换为查询字符串 + var params = []; + for (var key in sortedObj) { + params.push(encodeURIComponent(key) + "=" + encodeURIComponent(sortedObj[key])); + } + return params.join('&'); +} +/** + * 组装签名字符串 + * @param string url: 请求地址 + * @param string postStr: post参数的a=1&b=2 + * @returns + */ +function genSignStr(url, postStr) { + var lessUrl = url.replace('?', ''); + lessUrl = lessUrl + "&" + postStr; + return encodeURIComponent(fxCry.hmacSha256(lessUrl)); +} +// 对参数进行统一urlencode +function urlencode(url) { + var _a = url.split("?", 2), baseUrl = _a[0], queryString = _a[1]; + var params = new URLSearchParams(queryString); + return baseUrl + "?" + params.toString(); +} + +cc._RF.pop(); + } + if (nodeEnv) { + __define(__module.exports, __require, __module); + } + else { + __quick_compile_project__.registerModuleFunc(__filename, function () { + __define(__module.exports, __require, __module); + }); + } + })(); +//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbImFzc2V0c1xcU2NyaXB0XFxtb2R1bGVcXENyeXB0b1xcSHR0cFV0aWwudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O0FBQ00sSUFBQSxLQUFzQixFQUFFLENBQUMsVUFBVSxFQUFsQyxPQUFPLGFBQUEsRUFBRSxRQUFRLGNBQWlCLENBQUM7QUFDMUMsNkNBQWdELENBQUUsV0FBVztBQUU3RCxJQUFNLFFBQVEsR0FBRyx3QkFBd0IsQ0FBQztBQUMxQywwQ0FBMEM7QUFFMUM7SUFBc0MsNEJBQVk7SUFBbEQ7O0lBOEVBLENBQUM7aUJBOUVvQixRQUFRO0lBQ1gscUJBQVksR0FBMUIsVUFBMkIsUUFBZ0I7dUNBQUcsT0FBTzs7O2dCQUNuRCxPQUFPLENBQUMsR0FBRyxDQUFDLFNBQVMsRUFBQyxRQUFRLENBQUMsQ0FBQztnQkFDMUIsSUFBSSxHQUFHLElBQUksQ0FBQyxLQUFLLENBQUMsQ0FBQyxJQUFJLElBQUksRUFBRSxDQUFDLE9BQU8sRUFBRSxDQUFDLEdBQUcsSUFBSSxDQUFDLENBQUE7Z0JBQ2hELEdBQUcsR0FBRyxVQUFRLENBQUMsT0FBTyxDQUFDLDJCQUF5QixNQUFNLENBQUMsTUFBTSxjQUFTLElBQUksYUFBUSxRQUFVLEVBQUMsRUFBRSxDQUFDLENBQUE7Z0JBQ3RHLHNCQUFPLElBQUksQ0FBQyxJQUFJLENBQUMsR0FBRyxFQUFDLElBQUksRUFBQyxJQUFJLENBQUMsRUFBQzs7O0tBQ2pDO0lBQ0QsS0FBSztJQUNRLGlCQUFRLEdBQXJCLFVBQXNCLElBQUksRUFBQyxRQUFRLEVBQUMsSUFBSTt1Q0FBRyxPQUFPOzs7Z0JBQzFDLElBQUksR0FBRyxJQUFJLENBQUMsS0FBSyxDQUFDLENBQUMsSUFBSSxJQUFJLEVBQUUsQ0FBQyxPQUFPLEVBQUUsQ0FBQyxHQUFHLElBQUksQ0FBQyxDQUFBO2dCQUNoRCxHQUFHLEdB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VyxDQUFDLENBQUM7SUFDaEQsT0FBVSxPQUFPLFNBQUksTUFBTSxDQUFDLFFBQVEsRUFBSSxDQUFDO0FBQzNDLENBQUMiLCJmaWxlIjoiIiwic291cmNlUm9vdCI6Ii8iLCJzb3VyY2VzQ29udGVudCI6WyJcclxuY29uc3Qge2NjY2xhc3MsIHByb3BlcnR5fSA9IGNjLl9kZWNvcmF0b3I7XHJcbmltcG9ydCBDcnlwdG9KUyA9IHJlcXVpcmUoJy4vY3J5cHRvLWpzLm1pbi5qcycpOyAgLy/lvJXnlKhBRVPmupDnoIFqc1xyXG5cclxuY29uc3QgQkFTRV9VUkwgPSBcImh0dHBzOi8vYXBpLnNwYXJrdXMuY25cIjtcclxuLy/lj6rotJ/otKPnvZHnu5zmjqXlj6Mg5qyh57G75Y+q6LSf6LSj5ZKM5ZCO56uv5Lqk5LqS77yM5LiN6LSf6LSj5aSE55CG5pWw5o2uIOaVsOaNruWkhOeQhuWcqEdhbWVUb29sXHJcbkBjY2NsYXNzXHJcbmV4cG9ydCBkZWZhdWx0IGNsYXNzIEh0dHBVdGlsIGV4dGVuZHMgY2MuQ29tcG9uZW50IHtcclxuICAgIHN0YXRpYyBhc3luYyAgZ2V0U2hhcmVJbmZvKHNoYXJlVXJsOiBzdHJpbmcpOiBQcm9taXNlPGFueT4ge1xyXG4gICAgICBjb25zb2xlLmxvZyhcIuiuvue9ruWIhuS6q+mTvuaOpTpcIixzaGFyZVVybCk7XHJcbiAgICAgIGNvbnN0IHRpbWUgPSBNYXRoLmZsb29yKChuZXcgRGF0ZSgpLmdldFRpbWUoKSkgLyAxMDAwKVxyXG4gICAgICBjb25zdCB1cmwgPSBIdHRwVXRpbC5hcGlTaWduKGAvYXBpL3NoYXJlL2NmZz9nYW1lSWQ9JHtjb25maWcuZ2FtZUlkfSZ0aW1lPSR7dGltZX0mdXJsPSR7c2hhcmVVcmx9YCx7fSlcclxuICAgICAgcmV0dXJuIHRoaXMucG9zdCh1cmwsbnVsbCxudWxsKTtcclxuICAgIH1cclxuICAgIC8v5o6S6KGM5qacXHJcbiAgICBzdGF0aWMgYXN5bmMgcmFua0RhdGEodHlwZSxjYWxsYmFjayxkYXRhKTogUHJvbWlzZTxhbnk+IHtcclxuICAgICAgY29uc3QgdGltZSA9IE1hdGguZmxvb3IoKG5ldyBEYXRlKCkuZ2V0VGltZSgpKSAvIDEwMDApXHJcbiAgICAgIGNvbnN0IHVybCA9IEh0dHBVdGlsLmFwaVNpZ24oYC9hcGkvZ2V0L3JhbmsvZGF0YT9nYW1lSWQ9JHtjb25maWcuZ2FtZUlkfSZkYXRhVHlwZT0ke3R5cGV9JnRpbWU9JHt0aW1lfWAsIGRhdGEpXHJcbiAgICAgIHRoaXMucG9zdCh1cmwsZGF0YSxjYWxsYmFjayk7XHJcbiAgICB9XHJcbiAgXHJcbiAgICBzdGF0aWMgYXN5bmMgdXBsb2FkVXNlckxvZ0RhdGEoZGF0YSxjYWxsYmFjayk6IFByb21pc2U8YW55PiB7XHJcbiAgICAgIGNvbnN0IHVybCA9ICcvbG9nL2NvbGxlY3QvZGF0YSc7XHJcbiAgICAgIHRoaXMucG9zdCh1cmwsZGF0YSxjYWxsYmFjayk7XHJcbiAgICB9XHJcbiAgICAvL+aaguaXtueUqOS4jeWIsFxyXG4gICAgc3RhdGljIGFzeW5jIGdldFVzZXJSZWNvcmQoZGF0YSxjYWxsYmFjayk6IFByb21pc2U8YW55PiB7XHJcbiAgICAgIGNvbnN0IHRpbWUgPSBNYXRoLmZsb29yKChuZXcgRGF0ZSgpLmdldFRpbWUoKSkgLyAxMDAwKVxyXG4gICAgICBjb25zdCB1cmwgPSBIdHRwVXRpbC5hcGlTaWduKGAvYXBpL2dldC91c2VyL2RhdGE/Z2FtZUlkPSR7Y29uZmlnLmdhbWVJZH0mdGltZT0ke3RpbWV9YCwgZGF0YSlcclxuICAgICAgdGhpcy5wb3N0KHVybCxkYXRhLGNhbGxiYWNrKTtcclxuICAgIH1cclxuICBzdGF0aWMgYXN5bmMgcG9zdCh1cmwsIGRhdGEsIGNhbGxiYWNrKSB7XHJcbiAgICBjb25zdCByZXNwb25zZSA9IGF3YWl0IHRoaXMuZmV0Y2hEYXRhKHVybCwgZGF0YSwgJ1BPU1QnKTtcclxuICAgIGNhbGxiYWNrICYmIGNhbGxiYWNrKHJlc3BvbnNlKTtcclxuICB9XHJcblxyXG4gIHN0YXRpYyBhc3luYyBnZXQodXJsLCBjYWxsYmFjaykge1xyXG4gICAgY29uc3QgcmVzcG9uc2UgPSBhd2FpdCB0aGlzLmZldGNoRGF0YSh1cmwsIG51bGwsICdHRVQnKTtcclxuICAgIGNhbGxiYWNrICYmIGNhbGxiYWNrKHJlc3BvbnNlKTtcclxuICB9XHJcblxyXG4gIHN0YXRpYyBhc3luYyBmZXRjaERhdGEodXJsLCBkYXRhLCBtZXRob2QpIHtcclxuICAgIGNvbnN0IGZ1bGxVcmwgPSBgJHtCQVNFX1VSTH0ke3VybH1gO1xyXG4gICAgY29uc3QgaGVhZGVycyA9IHsgJ0NvbnRlbnQtVHlwZSc6ICdhcHBsaWNhdGlvbi9qc29uJyB9O1xyXG4gICAgY29uc3Qgb3B0aW9ucyA9IHtcclxuICAgICAgbWV0aG9kLFxyXG4gICAgICBoZWFkZXJzLFxyXG4gICAgICBib2R5OiBkYXRhID8gSlNPTi5zdHJpbmdpZnkoZGF0YSkgOiBudWxsLFxyXG4gICAgfTtcclxuXHJcbiAgICB0cnkge1xyXG4gICAgICBjb25zdCByZXNwb25zZSA9IGF3YWl0IGZldGNoKGZ1bGxVcmwsIG9wdGlvbnMpO1xyXG4gICAgICBpZiAoIXJlc3BvbnNlLm9rKSB7XHJcbiAgICAgICAgdGhyb3cgbmV3IEVycm9yKGBIVFRQIGVycm9yISBzdGF0dXM6ICR7cmVzcG9uc2Uuc3RhdHVzfWApO1xyXG4gICAgICB9XHJcbiAgICAgIHJldHVybiBhd2FpdCByZXNwb25zZS5qc29uKCk7XHJcbiAgICB9IGNhdGNoIChlcnJvcikge1xyXG4gICAgICBjb25zb2xlLmVycm9yKCdGZXRjaCBlcnJvcjonLCBlcnJvcik7XHJcbiAgICAgIHJldHVybiBudWxsO1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgLyoqXHJcbiAqIFxyXG4gKiBAcGFyYW0gdXJsIHtzdHJpbmd9IOaOpeWPo+WcsOWdgFxyXG4gKiBAcGFyYW0gcGFyYW1zIHtvYmplY3R9IOmcgOimgeWKoOWvhueahOWPguaVsOWvueixoVxyXG4gKi9cclxuICBzdGF0aWMgYXBpU2lnbih1cmw6IHN0cmluZywgcGFyYW1zID0ge30pIHtcclxuXHJcbiAgICBsZXQgY29udmVydFVybCA9IHVybC50cmltKClcclxuICAgIGlmIChjb252ZXJ0VXJsLmluZGV4T2YoJz8nKSA9PT0gLTEpIHtcclxuICAgICAgY29udmVydFVybCArPSAnPydcclxuICAgIH1cclxuICAgIFxyXG4gICAgLy8g5Lyg5YWl5Y+C5pWw6L2s5o2i5ou85o6l5a2X56ym5LiyXHJcbiAgICBsZXQgcG9zdFN0ciA9ICBnZXRRdWVyeVN0cmluZyhwYXJhbXMpXHJcbiAgXHJcbiAgICBjb25zdCBzaWduZWRTdHIgPSBnZW5TaWduU3RyKGNvbnZlcnRVcmwsIHBvc3RTdHIpXHJcbiAgICBjb25zdCBlbmNyeXB0U3RyID0gYHNpZ249JHtzaWduZWRTdHJ9YFxyXG5cclxuICAgIGxldCBlbmNyeXB0U2lnblN0ciA9IGZ4Q3J5LmVuY3J5cHRCeURFUyhlbmNyeXB0U3RyLCBjb25maWcuc2VjcmV0S2V5KVxyXG4gICAgZW5jcnlwdFNpZ25TdHIgPSBlbmNvZGVVUklDb21wb25lbnQoZW5jcnlwdFNpZ25TdHIpXHJcblxyXG4gICAgcmV0dXJuIGAke3VybGVuY29kZShjb252ZXJ0VXJsKX0mX3A9JHtlbmNyeXB0U2lnblN0cn1gXHJcbiAgfVxyXG59XHJcblxyXG5mdW5jdGlvbiByZXNwb25zZUhhbmRsZXIocmVzcG9uc2U6IHsgZGF0YTogYW55IH0pIHtcclxuICByZXR1cm4gcmVzcG9uc2UuZGF0YVxyXG59XHJcbi8vIOWTjeW6lOaLpuaIquWZqFxyXG4vLyBScS5pbnRlcmNlcHRvcnMucmVzcG9uc2UudXNlKHJlc3BvbnNlSGFuZGxlcilcclxuY29uc3QgY29uZmlnID0ge1xyXG4gIGdhbWVJZDogXCIxMDAwMTJcIixcclxuICBzZWNyZXRLZXk6IFwib25uZlBLSldcIixcclxuICBFSzpcImh1aTIzMSUxXCJcclxufTtcclxuXHJcbmludGVyZmFjZSBDcnlwb3RvVHlwZSB7XHJcbiAgZW5jcnlwdEJ5REVTOiBhbnlcclxuICBkZWNyeXB0QnlERVM6IGFueVxyXG4gIGhtYWNTaGEyNTY6IGFueVxyXG59XHJcbiBcclxuY2xhc3MgQ3J5cG90byBpbXBsZW1lbnRzIENyeXBvdG9UeXBlIHtcclxuICAgIC8vIOWKoOWvhueahOWQkeaYjuWAvO+8jOiHquW3seagueaNrumhueebruWunumZheaDheWGteWumu+8jOmcgOimgei3n+WQjuerr+W8gOWPkeS/neaMgeS4gOiHtFxyXG4gICAgcHJpdmF0ZSBrZXlIZXggPSB0aGlzLmdldEhldEtleSgpXHJcbiAgICBwcml2YXRlIGdldEhldEtleSgpIHtcclxuICAgICAgICByZXR1cm4gQ3J5cHRvSlMuZW5jLlV0ZjgucGFyc2UoY29uZmlnLkVLKTtcclxuICAgIH1cclxuXHJcbiAgICAvKiogREVT5Yqg5a+GICovXHJcbiAgICBlbmNyeXB0QnlERVMobWVzc2FnZTogc3RyaW5nLCBzZWNyZXQ/OiBzdHJpbmcpIHtcclxuICAgICAgaWYoIW1lc3NhZ2UpIHtcclxuICAgICAgICByZXR1cm4gbWVzc2FnZVxyXG4gICAgICB9XHJcbiAgICAgIGNvbnN0IGtleSA9IHNlY3JldD8gQ3J5cHRvSlMuZW5jLlV0ZjgucGFyc2Uoc2VjcmV0KTogdGhpcy5rZXlIZXhcclxuICAgICAgY29uc3QgZW5jcnlwdGVkID0gQ3J5cHRvSlMuREVTLmVuY3J5cHQobWVzc2FnZSwga2V5LCB7XHJcbiAgICAgICAgbW9kZTogQ3J5cHRvSlMubW9kZS5FQ0IsXHJcbiAgICAgICAgcGFkZGluZzogQ3J5cHRvSlMucGFkLlBrY3M3XHJcbiAgICAgIH0pO1xyXG4gICAgICByZXR1cm4gZW5jcnlwdGVkLnRvU3RyaW5nKClcclxuICAgIH1cclxuXHJcbiAgICAvKiogREVT6Kej5a+GICovXHJcbiAgICBkZWNyeXB0QnlERVMobWVzc2FnZTogc3RyaW5nLCBzZWNyZXQ/OiBzdHJpbmcpIHtcclxuICAgICAgY29uc3Qga2V5ID0gc2VjcmV0PyBDcnlwdG9KUy5lbmMuVXRmOC5wYXJzZShzZWNyZXQpOiB0aGlzLmtleUhleFxyXG5cclxuICAgICAgY29uc3QgZGVjcnlwdGVkID0gQ3J5cHRvSlMuREVTLmRlY3J5cHQoe1xyXG4gICAgICAgIGNpcGhlcnRleHQ6IENyeXB0b0pTLmVuYy5CYXNlNjQucGFyc2UobWVzc2FnZSlcclxuICAgICAgfSwga2V5LCB7XHJcbiAgICAgICAgbW9kZTogQ3J5cHRvSlMubW9kZS5FQ0IsXHJcbiAgICAgICAgcGFkZGluZzogQ3J5cHRvSlMucGFkLlBrY3M3XHJcbiAgICAgIH0pXHJcblxyXG4gICAgICByZXR1cm4gZGVjcnlwdGVkLnRvU3RyaW5nKENyeXB0b0pTLmVuYy5VdGY4KVxyXG4gICAgfVxyXG5cclxuICAgIC8qKiBobWFjU0hBMjU25Yqg5a+GICovXHJcbiAgICBobWFjU2hhMjU2KG1lc3NhZ2U6IHN0cmluZywgc2VjcmV0Pzogc3RyaW5nKSB7XHJcbiAgICAgIGNvbnN0IGtleUhleCA9IHNlY3JldD8gQ3J5cHRvSlMuZW5jLlV0ZjgucGFyc2Uoc2VjcmV0KTogdGhpcy5rZXlIZXhcclxuICAgICAgXHJcbiAgICAgIGNvbnN0IGhhc2ggPSBDcnlwdG9KUy5IbWFjU0hBMjU2KG1lc3NhZ2UsIGtleUhleCk7XHJcbiAgICAgIHJldHVybiBoYXNoLnRvU3RyaW5nKClcclxuICAgIH1cclxuXHJcbiAgICAvKiogaG1hY1NIQTI1NumqjOivgSAqL1xyXG4gICAgdmVyaWZ5SG1hY1NoYTI1NihtZXNzYWdlOiBzdHJpbmcsIHNpZ25hdHVyZTogc3RyaW5nKSB7XHJcbiAgICAgIGNvbnN0IGhhc2ggPSBDcnlwdG9KUy5IbWFjU0hBMjU2KG1lc3NhZ2UsIHRoaXMua2V5SGV4KTtcclxuICAgICAgcmV0dXJuIGhhc2gudG9TdHJpbmcoKSA9PT0gc2lnbmF0dXJlXHJcbiAgICB9XHJcbiBcclxuICAgIC8qKiBDQkPliqDlr4YgKi9cclxuICAgIGVuY3J5cHRDQkMod29yZDogc3RyaW5nKSB7XHJcbiAgICAgICAgaWYgKCF3b3JkKSB7XHJcbiAgICAgICAgICAgIHJldHVybiB3b3JkO1xyXG4gICAgICAgIH1cclxuICAgICAgICBjb25zdCBzcmNzID0gQ3J5cHRvSlMuZW5jLlV0ZjgucGFyc2Uod29yZCk7XHJcbiAgICAgICAgY29uc3QgZW5jcnlwdGVkID0gQ3J5cHRvSlMuQUVTLmVuY3J5cHQoc3JjcywgdGhpcy5rZXlIZXgsIHtcclxuICAgICAgICAgICAgaXY6IHRoaXMua2V5SGV4LFxyXG4gICAgICAgICAgICBtb2RlOiBDcnlwdG9KUy5tb2RlLkNCQyxcclxuICAgICAgICAgICAgcGFkZGluZzogQ3J5cHRvSlMucGFkLlplcm9QYWRkaW5nXHJcbiAgICAgICAgfSk7XHJcbiAgICAgICAgcmV0dXJuIGVuY3J5cHRlZC50b1N0cmluZygpOyBcclxuICAgIH1cclxuIFxyXG4gICAgLyoqIENCQ+ino+WvhiAqL1xyXG4gICAgZGVjcnlwdENCQyh3b3JkOiBzdHJpbmcpIHtcclxuICAgICAgICBpZiAoIXdvcmQpIHtcclxuICAgICAgICAgICAgcmV0dXJuIHdvcmQ7XHJcbiAgICAgICAgfVxyXG4gICAgICAgIGNvbnN0IGVuY3J5cHRlZEhleFN0ciA9IENyeXB0b0pTLmVuYy5IZXgucGFyc2Uod29yZCk7XHJcbiAgICAgICAgY29uc3Qgc3JjcyA9IENyeXB0b0pTLmVuYy5CYXNlNjQuc3RyaW5naWZ5KGVuY3J5cHRlZEhleFN0cik7XHJcbiAgICAgICAgY29uc3QgZGVjcnlwdCA9IENyeXB0b0pTLkFFUy5kZWNyeXB0KHNyY3MsIHRoaXMua2V5SGV4LCB7XHJcbiAgICAgICAgICAgIGl2OiB0aGlzLmtleUhleCxcclxuICAgICAgICAgICAgbW9kZTogQ3J5cHRvSlMubW9kZS5DQkMsXHJcbiAgICAgICAgICAgIHBhZGRpbmc6IENyeXB0b0pTLnBhZC5aZXJvUGFkZGluZ1xyXG4gICAgICAgIH0pO1xyXG4gICAgICAgIGNvbnN0IGRlY3J5cHRlZFN0ciA9IGRlY3J5cHQudG9TdHJpbmcoQ3J5cHRvSlMuZW5jLlV0ZjgpO1xyXG4gICAgICAgIHJldHVybiBkZWNyeXB0ZWRTdHIudG9TdHJpbmcoKTtcclxuICAgIH1cclxufVxyXG5jb25zdCBmeENyeSA9IG5ldyBDcnlwb3RvKCk7XHJcblxyXG5mdW5jdGlvbiBpc0VtcHR5KGRhdGEpIHtcclxuICByZXR1cm4gZGF0YSA9PT0gXCJcIiB8fCBkYXRhID09PSBudWxsIHx8IGRhdGEgPT09IHVuZGVmaW5lZCB8fCBkYXRhLmxlbmd0aCA9PT0gMCB8fCBKU09OLnN0cmluZ2lmeShkYXRhKSA9PSBcInt9XCJcclxufVxyXG5cclxuZnVuY3Rpb24gZ2V0UXVlcnlTdHJpbmcob2JqKSB7XHJcbiAgLy8g6aaW5YWI5a+55a+56LGh55qE6ZSu6L+b6KGM5o6S5bqP5bm26L+H5ruk56m65YC8XHJcbiAgY29uc3Qgc29ydGVkS2V5cyA9IE9iamVjdC5rZXlzKG9iaikuc29ydCgpO1xyXG4gIGNvbnN0IHNvcnRlZE9iaiA9IHt9O1xyXG4gIGZvciAobGV0IGkgPSAwOyBpIDwgc29ydGVkS2V5cy5sZW5ndGg7IGkrKykge1xyXG4gICAgaWYgKGlzRW1wdHkob2JqW3NvcnRlZEtleXNbaV1dKSkge1xyXG4gICAgICBjb250aW51ZTtcclxuICAgIH1cclxuICAgIHNvcnRlZE9ialtzb3J0ZWRLZXlzW2ldXSA9IG9ialtzb3J0ZWRLZXlzW2ldXTtcclxuICB9XHJcbiAgXHJcbiAgLy8g54S25ZCO5bCG5o6S5bqP5ZCO55qE5a+56LGh6L2s5o2i5Li65p+l6K+i5a2X56ym5LiyXHJcbiAgY29uc3QgcGFyYW1zID0gW107XHJcbiAgZm9yIChjb25zdCBrZXkgaW4gc29ydGVkT2JqKSB7XHJcbiAgICBwYXJhbXMucHVzaChgJHtlbmNvZGVVUklDb21wb25lbnQoa2V5KX09JHtlbmNvZGVVUklDb21wb25lbnQoc29ydGVkT2JqW2tleV0pfWApO1xyXG4gIH1cclxuICByZXR1cm4gcGFyYW1zLmpvaW4oJyYnKTtcclxufVxyXG5cclxuXHJcbi8qKlxyXG4gKiDnu4Too4Xnrb7lkI3lrZfnrKbkuLJcclxuICogQHBhcmFtIHN0cmluZyB1cmw6IOivt+axguWcsOWdgCBcclxuICogQHBhcmFtIHN0cmluZyBwb3N0U3RyOiBwb3N05Y+C5pWw55qEYT0xJmI9MiBcclxuICogQHJldHVybnMgXHJcbiAqL1xyXG5cclxuZnVuY3Rpb24gZ2VuU2lnblN0cih1cmw6IHN0cmluZywgcG9zdFN0cjogc3RyaW5nKTogc3RyaW5nIHtcclxuICBsZXQgbGVzc1VybCA9IHVybC5yZXBsYWNlKCc/JywgJycpXHJcbiAgbGVzc1VybCA9IGxlc3NVcmwgKyBcIiZcIiArIHBvc3RTdHJcclxuICByZXR1cm4gZW5jb2RlVVJJQ29tcG9uZW50KGZ4Q3J5LmhtYWNTaGEyNTYobGVzc1VybCkpXHJcbn1cclxuLy8g5a+55Y+C5pWw6L+b6KGM57uf5LiAdXJsZW5jb2RlXHJcbmZ1bmN0aW9uIHVybGVuY29kZSh1cmw6IHN0cmluZyk6IHN0cmluZyB7XHJcbiAgY29uc3QgW2Jhc2VVcmwsIHF1ZXJ5U3RyaW5nXSA9IHVybC5zcGxpdChcIj9cIiwgMik7XHJcbiAgY29uc3QgcGFyYW1zID0gbmV3IFVSTFNlYXJjaFBhcmFtcyhxdWVyeVN0cmluZyk7XHJcbiAgcmV0dXJuIGAke2Jhc2VVcmx9PyR7cGFyYW1zLnRvU3RyaW5nKCl9YDtcclxufVxyXG5cclxuXHJcblxyXG4iXX0= //------QC-SOURCE-SPLIT------ (function() { diff --git a/temp/quick-scripts/dst/__qc_index__.js b/temp/quick-scripts/dst/__qc_index__.js index c42fc10..5b4bde0 100644 --- a/temp/quick-scripts/dst/__qc_index__.js +++ b/temp/quick-scripts/dst/__qc_index__.js @@ -20,6 +20,7 @@ require('./assets/Script/Load'); require('./assets/Script/Map'); require('./assets/Script/Mask'); require('./assets/Script/RankManager'); +require('./assets/Script/Sdk/MiniGameSdk'); require('./assets/Script/Window'); require('./assets/Script/module/Config/GameConfig'); require('./assets/Script/module/Crypto/HttpUtil'); diff --git a/temp/quick-scripts/dst/__quick_compile__.js b/temp/quick-scripts/dst/__quick_compile__.js index 78b2c83..b4fee80 100644 --- a/temp/quick-scripts/dst/__quick_compile__.js +++ b/temp/quick-scripts/dst/__quick_compile__.js @@ -1,6 +1,6 @@ (function () { -var scripts = [{"deps":{"./assets/Script/DynamicAtlasManager":7,"./assets/Script/GameManager":11,"./assets/Script/GameOver":5,"./assets/Script/GameScene":4,"./assets/Script/Load":12,"./assets/Script/Map":14,"./assets/Script/Mask":1,"./assets/Script/RankManager":6,"./assets/Script/Window":9,"./assets/Script/Block":8,"./assets/migration/use_v2.1-2.2.1_cc.Toggle_event":3,"./assets/Script/ControlManager":10,"./assets/Script/module/Crypto/crypto-js.min":28,"./assets/Script/module/Crypto/HttpUtil":19,"./assets/Script/module/GameStart/GameAppStart":17,"./assets/Script/module/Music/AudioManager":24,"./assets/Script/module/Notification/Notification":21,"./assets/Script/module/RankList/List":26,"./assets/Script/module/RankList/ItemRender":20,"./assets/Script/module/Share/share":25,"./assets/Script/module/Storage/Storage":22,"./assets/Script/module/Tool/GameTool":27,"./assets/Script/module/Config/GameConfig":23,"./tiledmap-optimize-resource/Script/TmoSprite":2,"./tiledmap-optimize-resource/Script/TmoTiledLayer":13,"./tiledmap-optimize-resource/Script/TmoTiledMap":16,"./tiledmap-optimize-resource/Script/TmoAssembler":15,"./tiledmap-optimize-resource/Script/TmoObjectGroup":18},"path":"preview-scripts/__qc_index__.js"},{"deps":{},"path":"preview-scripts/assets/Script/Mask.js"},{"deps":{"./TmoAssembler":15},"path":"preview-scripts/tiledmap-optimize-resource/Script/TmoSprite.js"},{"deps":{},"path":"preview-scripts/assets/migration/use_v2.1-2.2.1_cc.Toggle_event.js"},{"deps":{},"path":"preview-scripts/assets/Script/GameScene.js"},{"deps":{},"path":"preview-scripts/assets/Script/GameOver.js"},{"deps":{"./module/RankList/List":26},"path":"preview-scripts/assets/Script/RankManager.js"},{"deps":{},"path":"preview-scripts/assets/Script/DynamicAtlasManager.js"},{"deps":{},"path":"preview-scripts/assets/Script/Block.js"},{"deps":{},"path":"preview-scripts/assets/Script/Window.js"},{"deps":{},"path":"preview-scripts/assets/Script/ControlManager.js"},{"deps":{"./Block":8},"path":"preview-scripts/assets/Script/GameManager.js"},{"deps":{},"path":"preview-scripts/assets/Script/Load.js"},{"deps":{},"path":"preview-scripts/tiledmap-optimize-resource/Script/TmoTiledLayer.js"},{"deps":{},"path":"preview-scripts/assets/Script/Map.js"},{"deps":{},"path":"preview-scripts/tiledmap-optimize-resource/Script/TmoAssembler.js"},{"deps":{"./TmoTiledLayer":13,"./TmoObjectGroup":18},"path":"preview-scripts/tiledmap-optimize-resource/Script/TmoTiledMap.js"},{"deps":{"../Config/GameConfig":23,"../Crypto/HttpUtil":19,"../Music/AudioManager":24,"../Notification/Notification":21,"../Storage/Storage":22,"../Tool/GameTool":27},"path":"preview-scripts/assets/Script/module/GameStart/GameAppStart.js"},{"deps":{"./TmoSprite":2},"path":"preview-scripts/tiledmap-optimize-resource/Script/TmoObjectGroup.js"},{"deps":{"./crypto-js.min.js":28},"path":"preview-scripts/assets/Script/module/Crypto/HttpUtil.js"},{"deps":{},"path":"preview-scripts/assets/Script/module/RankList/ItemRender.js"},{"deps":{},"path":"preview-scripts/assets/Script/module/Notification/Notification.js"},{"deps":{},"path":"preview-scripts/assets/Script/module/Storage/Storage.js"},{"deps":{"../Share/share":25},"path":"preview-scripts/assets/Script/module/Config/GameConfig.js"},{"deps":{},"path":"preview-scripts/assets/Script/module/Music/AudioManager.js"},{"deps":{},"path":"preview-scripts/assets/Script/module/Share/share.js"},{"deps":{"./ItemRender":20},"path":"preview-scripts/assets/Script/module/RankList/List.js"},{"deps":{},"path":"preview-scripts/assets/Script/module/Tool/GameTool.js"},{"deps":{},"path":"preview-scripts/assets/Script/module/Crypto/crypto-js.min.js"}]; +var scripts = [{"deps":{"./assets/Script/DynamicAtlasManager":14,"./assets/Script/GameManager":19,"./assets/Script/GameOver":21,"./assets/Script/GameScene":12,"./assets/Script/Load":16,"./assets/Script/Map":15,"./assets/Script/Mask":4,"./assets/Script/RankManager":17,"./assets/Script/Window":18,"./assets/Script/Block":20,"./assets/Script/Sdk/MiniGameSdk":1,"./assets/migration/use_v2.1-2.2.1_cc.Toggle_event":6,"./assets/Script/ControlManager":22,"./assets/Script/module/Crypto/crypto-js.min":29,"./assets/Script/module/Crypto/HttpUtil":28,"./assets/Script/module/GameStart/GameAppStart":2,"./assets/Script/module/Music/AudioManager":8,"./assets/Script/module/Notification/Notification":5,"./assets/Script/module/RankList/List":24,"./assets/Script/module/RankList/ItemRender":11,"./assets/Script/module/Share/share":9,"./assets/Script/module/Storage/Storage":13,"./assets/Script/module/Tool/GameTool":7,"./assets/Script/module/Config/GameConfig":10,"./tiledmap-optimize-resource/Script/TmoSprite":23,"./tiledmap-optimize-resource/Script/TmoTiledLayer":3,"./tiledmap-optimize-resource/Script/TmoTiledMap":25,"./tiledmap-optimize-resource/Script/TmoAssembler":26,"./tiledmap-optimize-resource/Script/TmoObjectGroup":27},"path":"preview-scripts/__qc_index__.js"},{"deps":{},"path":"preview-scripts/assets/Script/Sdk/MiniGameSdk.js"},{"deps":{"../Config/GameConfig":10,"../Crypto/HttpUtil":28,"../Music/AudioManager":8,"../Notification/Notification":5,"../Storage/Storage":13,"../Tool/GameTool":7},"path":"preview-scripts/assets/Script/module/GameStart/GameAppStart.js"},{"deps":{},"path":"preview-scripts/tiledmap-optimize-resource/Script/TmoTiledLayer.js"},{"deps":{},"path":"preview-scripts/assets/Script/Mask.js"},{"deps":{},"path":"preview-scripts/assets/Script/module/Notification/Notification.js"},{"deps":{},"path":"preview-scripts/assets/migration/use_v2.1-2.2.1_cc.Toggle_event.js"},{"deps":{},"path":"preview-scripts/assets/Script/module/Tool/GameTool.js"},{"deps":{},"path":"preview-scripts/assets/Script/module/Music/AudioManager.js"},{"deps":{},"path":"preview-scripts/assets/Script/module/Share/share.js"},{"deps":{"../Share/share":9},"path":"preview-scripts/assets/Script/module/Config/GameConfig.js"},{"deps":{},"path":"preview-scripts/assets/Script/module/RankList/ItemRender.js"},{"deps":{},"path":"preview-scripts/assets/Script/GameScene.js"},{"deps":{},"path":"preview-scripts/assets/Script/module/Storage/Storage.js"},{"deps":{},"path":"preview-scripts/assets/Script/DynamicAtlasManager.js"},{"deps":{},"path":"preview-scripts/assets/Script/Map.js"},{"deps":{},"path":"preview-scripts/assets/Script/Load.js"},{"deps":{"./module/RankList/List":24},"path":"preview-scripts/assets/Script/RankManager.js"},{"deps":{},"path":"preview-scripts/assets/Script/Window.js"},{"deps":{"./Block":20},"path":"preview-scripts/assets/Script/GameManager.js"},{"deps":{},"path":"preview-scripts/assets/Script/Block.js"},{"deps":{},"path":"preview-scripts/assets/Script/GameOver.js"},{"deps":{},"path":"preview-scripts/assets/Script/ControlManager.js"},{"deps":{"./TmoAssembler":26},"path":"preview-scripts/tiledmap-optimize-resource/Script/TmoSprite.js"},{"deps":{"./ItemRender":11},"path":"preview-scripts/assets/Script/module/RankList/List.js"},{"deps":{"./TmoTiledLayer":3,"./TmoObjectGroup":27},"path":"preview-scripts/tiledmap-optimize-resource/Script/TmoTiledMap.js"},{"deps":{},"path":"preview-scripts/tiledmap-optimize-resource/Script/TmoAssembler.js"},{"deps":{"./TmoSprite":23},"path":"preview-scripts/tiledmap-optimize-resource/Script/TmoObjectGroup.js"},{"deps":{"./crypto-js.min.js":29},"path":"preview-scripts/assets/Script/module/Crypto/HttpUtil.js"},{"deps":{},"path":"preview-scripts/assets/Script/module/Crypto/crypto-js.min.js"}]; var entries = ["preview-scripts/__qc_index__.js"]; var bundleScript = 'preview-scripts/__qc_bundle__.js'; diff --git a/temp/quick-scripts/dst/assets/Script/Block.js b/temp/quick-scripts/dst/assets/Script/Block.js index d18f942..efff85b 100644 --- a/temp/quick-scripts/dst/assets/Script/Block.js +++ b/temp/quick-scripts/dst/assets/Script/Block.js @@ -91,6 +91,13 @@ var NewClass = /** @class */ (function (_super) { }; NewClass.prototype.start = function () { }; + /** + * 息壤过后改变修筑路径 + * @param order 建筑地图数组里的执行的序列号 + * @param number 息壤执行长度,改变息壤用后其他路径的X或Y值 + * @param direction 只为两个方向,横向false,纵向true + * @param road 建筑地图数组或者洪峰路径数组,可理解为路径数组,path_Array water_Array + */ //初始化地图块数据 NewClass.prototype.initData = function (type, pos, max) { this.block_Type = type; @@ -99,9 +106,9 @@ var NewClass = /** @class */ (function (_super) { if (type == cc.Enum(BlockType).Start) { var bg = this.node.getChildByName("sp"); // this.node.getComponent(cc.Sprite).spriteFrame = null; - bg.getComponent(cc.Sprite).spriteFrame = this.UI["_spriteFrames"]["start"]; + // bg.getComponent(cc.Sprite).spriteFrame = this.UI["_spriteFrames"]["start"]; if (cc.fx.GameConfig.GM_INFO.level > 3) { - bg.getChildByName("start").y = 20; + // bg.getChildByName("start").y = 20; bg.getChildByName("end").y = 20; } this.rotateTarget(bg, "start", pos, max); @@ -111,7 +118,7 @@ var NewClass = /** @class */ (function (_super) { // this.node.getComponent(cc.Sprite).spriteFrame = null; bg.getComponent(cc.Sprite).spriteFrame = this.UI["_spriteFrames"]["end"]; if (cc.fx.GameConfig.GM_INFO.level > 3) { - bg.getChildByName("start").y = 20; + // bg.getChildByName("start").y = 20; bg.getChildByName("end").y = 20; } this.rotateTarget(bg, "end", pos, max); @@ -296,11 +303,13 @@ var NewClass = /** @class */ (function (_super) { //息壤具体执行方法 外部可调用 NewClass.prototype.set_Xi_SoilType = function (direction, end, name) { var _this = this; - // console.log("息壤",direction,name,this.block_Type); + // console.log("息壤",direction,name,end); var jg = this.repeatRoad(true, direction); console.log("息壤重复判断结果", jg); - if (jg == true) + if (jg == true) { + cc.fx.Notifications.emit(cc.fx.Message.showResult, "lose"); return; + } if (this.block_Type == cc.Enum(BlockType).Start) { this.set_Xi_Soil(direction, false); return; @@ -362,7 +371,6 @@ var NewClass = /** @class */ (function (_super) { jg = true; if (type) { cc.fx.Notifications.emit(cc.fx.Message.showResult, "lose"); - cc.fx.Notifications.emit(cc.fx.Message.setData, false); } } else if (this.node.getChildByName("turn2").active == true && this.block_Type != cc.Enum(BlockType).Xi_Soil) { @@ -370,24 +378,25 @@ var NewClass = /** @class */ (function (_super) { jg = true; if (type) { cc.fx.Notifications.emit(cc.fx.Message.showResult, "lose"); - cc.fx.Notifications.emit(cc.fx.Message.setData, false); } } if (direction) { if (this.node.getChildByName("vertical2").active == true && this.block_Type == cc.Enum(BlockType).Xi_Soil && (direction == "up" || direction == "down")) { // alert("治水失败"); - jg = true; - if (type) { - cc.fx.Notifications.emit(cc.fx.Message.showResult, "lose"); - cc.fx.Notifications.emit(cc.fx.Message.setData, false); + if (this.node.getChildByName("vertical2").angle == 0 || this.node.getChildByName("vertical2").angle == 180) { + jg = true; + if (type) { + cc.fx.Notifications.emit(cc.fx.Message.showResult, "lose"); + } } } - else if (this.node.getChildByName("horizontal2").active == true && this.block_Type == cc.Enum(BlockType).Xi_Soil && (direction == "right" || direction == "left")) { + else if (this.node.getChildByName("vertical2").active == true && this.block_Type == cc.Enum(BlockType).Xi_Soil && (direction == "right" || direction == "left")) { // alert("治水失败"); - jg = true; - if (type) { - cc.fx.Notifications.emit(cc.fx.Message.showResult, "lose"); - cc.fx.Notifications.emit(cc.fx.Message.setData, false); + if (this.node.getChildByName("vertical2").angle == 90 || this.node.getChildByName("vertical2").angle == 270) { + jg = true; + if (type) { + cc.fx.Notifications.emit(cc.fx.Message.showResult, "lose"); + } } } } @@ -506,7 +515,6 @@ var NewClass = /** @class */ (function (_super) { target = this.node.getChildByName("Reinforce"); if (this.block_Type == cc.Enum(BlockType).Peak) { cc.fx.Notifications.emit(cc.fx.Message.showResult, "lose"); - cc.fx.Notifications.emit(cc.fx.Message.setData, false); return; } if (this.block_Type != cc.Enum(BlockType).End) @@ -558,7 +566,7 @@ var NewClass = /** @class */ (function (_super) { else if (this.pos.y - posTemp.y >= 1) { direction = "down"; } - console.log("结束方向:", direction); + // console.log("结束方向:",direction); if (!this.finishi) { this.finishi = true; this.set_Xi_Soil(direction, true); @@ -608,14 +616,12 @@ var NewClass = /** @class */ (function (_super) { if (this.node.getChildByName("vertical").active == true && this.node.getChildByName("horizontal").active == true) { // alert("治水失败"); cc.fx.Notifications.emit(cc.fx.Message.showResult, "lose"); - cc.fx.Notifications.emit(cc.fx.Message.setData, false); // cc.director.loadScene("GameScene"); return; } else if (this.node.getChildByName("turn").active == true && this.block_Type != cc.Enum(BlockType).Xi_Soil) { // alert("治水失败"); cc.fx.Notifications.emit(cc.fx.Message.showResult, "lose"); - cc.fx.Notifications.emit(cc.fx.Message.setData, false); // cc.director.loadScene("GameScene"); return; } @@ -733,7 +739,6 @@ var NewClass = /** @class */ (function (_super) { .call(function () { // alert("治水成功"); cc.fx.Notifications.emit(cc.fx.Message.showResult, "win"); - cc.fx.Notifications.emit(cc.fx.Message.setData, true); if (cc.fx.GameConfig.GM_INFO.level < 7) { cc.fx.GameConfig.GM_INFO.level += 1; } @@ -763,7 +768,6 @@ var NewClass = /** @class */ (function (_super) { .call(function () { // alert("治水失败") cc.fx.Notifications.emit(cc.fx.Message.showResult, "lose"); - cc.fx.Notifications.emit(cc.fx.Message.setData, false); // cc.director.loadScene("GameScene"); }) .start(); @@ -802,4 +806,4 @@ cc._RF.pop(); }); } })(); -//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbImFzc2V0c1xcU2NyaXB0XFxCbG9jay50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7Ozs7Ozs7O0FBQUEsb0JBQW9CO0FBQ3BCLHdFQUF3RTtBQUN4RSxtQkFBbUI7QUFDbkIsa0ZBQWtGO0FBQ2xGLDhCQUE4QjtBQUM5QixrRkFBa0Y7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7QUFFNUUsSUFBQSxLQUFzQixFQUFFLENBQUMsVUFBVSxFQUFsQyxPQUFPLGFBQUEsRUFBRSxRQUFRLGNBQWlCLENBQUM7QUFFMUMsSUFBWSxTQWdCWDtBQWhCRCxXQUFZLFNBQVM7SUFDakIsU0FBUztJQUNULDJDQUFTLENBQUE7SUFDVCxTQUFTO0lBQ1QsMkNBQVMsQ0FBQTtJQUNULE9BQU87SUFDUCwyQ0FBUyxDQUFBO0lBQ1QsT0FBTztJQUNQLHlDQUFRLENBQUE7SUFDUixTQUFTO0lBQ1QsdUNBQU8sQ0FBQTtJQUVQLE9BQU87SUFDUCwrQ0FBVyxDQUFBO0lBQ1gsT0FBTztJQUNQLG1EQUFhLENBQUE7QUFDakIsQ0FBQyxFQWhCVyxTQUFTLEdBQVQsaUJBQVMsS0FBVCxpQkFBUyxRQWdCcEI7QUFFRCxJQUFZLFFBY1g7QUFkRCxXQUFZLFFBQVE7SUFDaEIsdUJBQVcsQ0FBQTtJQUNYLHFCQUFTLENBQUE7SUFDVCx5QkFBYSxDQUFBO0lBQ2IseUJBQWEsQ0FBQTtJQUNiLDJCQUFlLENBQUE7SUFDZiwrQkFBbUIsQ0FBQTtJQUNuQixpQ0FBcUIsQ0FBQTtJQUNyQixtQ0FBdUIsQ0FBQTtJQUN2QixxQ0FBeUIsQ0FBQTtJQUN6QiwrQkFBbUIsQ0FBQTtJQUNuQixtQ0FBdUIsQ0FBQTtJQUN2QixpQ0FBcUIsQ0FBQTtJQUNyQixxQ0FBeUIsQ0FBQTtBQUM3QixDQUFDLEVBZFcsUUFBUSxHQUFSLGdCQUFRLEtBQVIsZ0JBQVEsUUFjbkI7QUFHRDtJQUFzQyw0QkFBWTtJQUFsRDtRQUFBLHFFQW91QkM7UUFudUJHLHdCQUF3QjtRQUV4QixRQUFFLEdBQW1CLElBQUksQ0FBQzs7UUFndUIxQixpQkFBaUI7SUFDckIsQ0FBQztJQTF0QkcseUJBQU0sR0FBTjtRQUNJLElBQUksQ0FBQyxPQUFPLEdBQUcsS0FBSyxDQUFDO1FBQ3JCLElBQUksQ0FBQyxZQUFZLEdBQUcsQ0FBQyxDQUFDO1FBQ3RCLElBQUksQ0FBQyxHQUFHLEdBQUcsRUFBRSxDQUFDLEVBQUUsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLENBQUM7SUFDMUIsQ0FBQztJQUVELHdCQUFLLEdBQUw7SUFFQSxDQUFDO0lBQ0QsVUFBVTtJQUNWLDJCQUFRLEdBQVIsVUFBUyxJQUFJLEVBQUMsR0FBRyxFQUFDLEdBQUc7UUFDakIsSUFBSSxDQUFDLFVBQVUsR0FBRyxJQUFJLENBQUM7UUFDdkIsSUFBSSxDQUFDLEdBQUcsR0FBRyxFQUFFLENBQUMsRUFBRSxDQUFDLEdBQUcsQ0FBQyxDQUFDLEVBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxDQUFDO1FBQzlCLHVFQUF1RTtRQUN2RSxJQUFHLElBQUksSUFBSSxFQUFFLENBQUMsSUFBSSxDQUFDLFNBQVMsQ0FBQyxDQUFDLEtBQUssRUFBQztZQUNoQyxJQUFJLEVBQUUsR0FBRyxJQUFJLENBQUMsSUFBSSxDQUFDLGNBQWMsQ0FBQyxJQUFJLENBQUMsQ0FBQztZQUN4Qyx3REFBd0Q7WUFDeEQsRUFBRSxDQUFDLFlBQVksQ0FBQyxFQUFFLENBQUMsTUFBTSxDQUFDLENBQUMsV0FBVyxHQUFHLElBQUksQ0FBQyxFQUFFLENBQUMsZUFBZSxDQUFDLENBQUMsT0FBTyxDQUFDLENBQUM7WUFDM0UsSUFBRyxFQUFFLENBQUMsRUFBRSxDQUFDLFVBQVUsQ0FBQyxPQUFPLENBQUMsS0FBSyxHQUFHLENBQUMsRUFBQztnQkFDbEMsRUFBRSxDQUFDLGNBQWMsQ0FBQyxPQUFPLENBQUMsQ0FBQyxDQUFDLEdBQUcsRUFBRSxDQUFDO2dCQUNsQyxFQUFFLENBQUMsY0FBYyxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsR0FBRyxFQUFFLENBQUM7YUFDbkM7WUFDRCxJQUFJLENBQUMsWUFBWSxDQUFDLEVBQUUsRUFBQyxPQUFPLEVBQUMsR0FBRyxFQUFDLEdBQUcsQ0FBQyxDQUFDO1NBQ3pDO2FBQ0ksSUFBRyxJQUFJLElBQUksRUFBRSxDQUFDLElBQUksQ0FBQyxTQUFTLENBQUMsQ0FBQyxHQUFHLEVBQUM7WUFDbkMsSUFBSSxFQUFFLEdBQUcsSUFBSSxDQUFDLElBQUksQ0FBQyxjQUFjLENBQUMsSUFBSSxDQUFDLENBQUM7WUFDeEMsd0RBQXdEO1lBQ3hELEVBQUUsQ0FBQyxZQUFZLENBQUMsRUFBRSxDQUFDLE1BQU0sQ0FBQyxDQUFDLFdBQVcsR0FBRyxJQUFJLENBQUMsRUFBRSxDQUFDLGVBQWUsQ0FBQyxDQUFDLEtBQUssQ0FBQyxDQUFDO1lBQzdELElBQUcsRUFBRSxDQUFDLEVBQUUsQ0FBQyxVQUFVLENBQUMsT0FBTyxDQUFDLEtBQUssR0FBRyxDQUFDLEVBQUM7Z0JBQzlDLEVBQUUsQ0FBQyxjQUFjLENBQUMsT0FBTyxDQUFDLENBQUMsQ0FBQyxHQUFHLEVBQUUsQ0FBQztnQkFDbEMsRUFBRSxDQUFDLGNBQWMsQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLEdBQUcsRUFBRSxDQUFDO2FBQ25DO1lBQ0QsSUFBSSxDQUFDLFlBQVksQ0FBQyxFQUFFLEVBQUMsS0FBSyxFQUFDLEdBQUcsRUFBQyxHQUFHLENBQUMsQ0FBQztTQUN2QzthQUNJLElBQUcsSUFBSSxJQUFJLEVBQUUsQ0FBQyxJQUFJLENBQUMsU0FBUyxDQUFDLENBQUMsS0FBSyxFQUFDO1lBQ3JDLElBQUksTUFBTSxHQUFHLElBQUksQ0FBQyxLQUFLLENBQUMsSUFBSSxDQUFDLE1BQU0sRUFBRSxHQUFDLENBQUMsQ0FBQyxDQUFDO1lBQ3pDLElBQUksV0FBVyxHQUFHLENBQUMsQ0FBQyxFQUFDLEVBQUUsRUFBQyxHQUFHLEVBQUMsR0FBRyxDQUFDLENBQUM7WUFDakMsSUFBSSxRQUFRLEdBQUcsV0FBVyxDQUFDLE1BQU0sQ0FBQyxDQUFDO1lBQ25DLElBQUksQ0FBQyxJQUFJLENBQUMsY0FBYyxDQUFDLElBQUksQ0FBQyxDQUFDLFlBQVksQ0FBQyxFQUFFLENBQUMsTUFBTSxDQUFDLENBQUMsV0FBVyxHQUFHLElBQUksQ0FBQyxFQUFFLENBQUMsZUFBZSxDQUFDLENBQUMsSUFBSSxDQUFDLENBQUM7WUFDcEcsSUFBSSxDQUFDLElBQUksQ0FBQyxjQUFjLENBQUMsSUFBSSxDQUFDLENBQUMsS0FBSyxHQUFHLENBQUMsUUFBUSxDQUFDO1lBQ2pELElBQUksQ0FBQyxJQUFJLENBQUMsWUFBWSxDQUFDLEVBQUUsQ0FBQyxNQUFNLENBQUMsQ0FBQyxXQUFXLEdBQUcsSUFBSSxDQUFDO1NBQ3hEO2FBQ0ksSUFBRyxJQUFJLElBQUksRUFBRSxDQUFDLElBQUksQ0FBQyxTQUFTLENBQUMsQ0FBQyxJQUFJLEVBQUM7WUFDcEMsSUFBSSxNQUFNLEdBQUcsSUFBSSxDQUFDLEtBQUssQ0FBQyxJQUFJLENBQUMsTUFBTSxFQUFFLEdBQUMsQ0FBQyxHQUFDLENBQUMsQ0FBQyxDQUFDO1lBQzNDLElBQUksSUFBSSxHQUFHLE1BQU0sR0FBRyxNQUFNLENBQUM7WUFDM0IsSUFBSSxDQUFDLElBQUksQ0FBQyxjQUFjLENBQUMsSUFBSSxDQUFDLENBQUMsWUFBWSxDQUFDLEVBQUUsQ0FBQyxNQUFNLENBQUMsQ0FBQyxXQUFXLEdBQUcsSUFBSSxDQUFDLEVBQUUsQ0FBQyxlQUFlLENBQUMsQ0FBQyxJQUFJLENBQUMsQ0FBQztZQUNwRyxJQUFJLENBQUMsSUFBSSxDQUFDLFlBQVksQ0FBQyxFQUFFLENBQUMsTUFBTSxDQUFDLENBQUMsV0FBVyxHQUFHLElBQUksQ0FBQztTQUN4RDtRQUNELElBQUcsRUFBRSxDQUFDLEVBQUUsQ0FBQyxVQUFVLENBQUMsT0FBTyxDQUFDLEtBQUssSUFBSSxDQUFDLEVBQUM7WUFDbkMsSUFBSSxDQUFDLElBQUksQ0FBQyxjQUFjLENBQUMsUUFBUSxDQUFDLENBQUMsT0FBTyxHQUFHLEdBQUcsQ0FBQztZQUNqRCxJQUFJLENBQUMsSUFBSSxDQUFDLGNBQWMsQ0FBQyxTQUFTLENBQUMsQ0FBQyxPQUFPLEdBQUcsR0FBRyxDQUFDO1NBQ3JEO2FBQ0ksSUFBRyxFQUFFLENBQUMsRUFBRSxDQUFDLFVBQVUsQ0FBQyxPQUFPLENBQUMsS0FBSyxJQUFJLENBQUMsRUFBQztZQUN4QyxJQUFJLENBQUMsSUFBSSxDQUFDLGNBQWMsQ0FBQyxRQUFRLENBQUMsQ0FBQyxPQUFPLEdBQUcsR0FBRyxDQUFDO1lBQ2pELElBQUksQ0FBQyxJQUFJLENBQUMsY0FBYyxDQUFDLFNBQVMsQ0FBQyxDQUFDLE9BQU8sR0FBRyxHQUFHLENBQUM7U0FDckQ7YUFDSSxJQUFHLEVBQUUsQ0FBQyxFQUFFLENBQUMsVUFBVSxDQUFDLE9BQU8sQ0FBQyxLQUFLLElBQUksQ0FBQyxFQUFDO1lBQ3hDLElBQUksQ0FBQyxJQUFJLENBQUMsY0FBYyxDQUFDLFFBQVEsQ0FBQyxDQUFDLE9BQU8sR0FBRyxFQUFFLENBQUM7WUFDaEQsSUFBSSxDQUFDLElBQUksQ0FBQyxjQUFjLENBQUMsU0FBUyxDQUFDLENBQUMsT0FBTyxHQUFHLEVBQUUsQ0FBQztTQUNwRDthQUNJLElBQUcsRUFBRSxDQUFDLEVBQUUsQ0FBQyxVQUFVLENBQUMsT0FBTyxDQUFDLEtBQUssR0FBRyxDQUFDLEVBQUM7WUFDdkMsSUFBSSxDQUFDLElBQUksQ0FBQyxjQUFjLENBQUMsUUFBUSxDQUFDLENBQUMsT0FBTyxHQUFHLENBQUMsQ0FBQztZQUMvQyxJQUFJLENBQUMsSUFBSSxDQUFDLGNBQWMsQ0FBQyxTQUFTLENBQUMsQ0FBQyxPQUFPLEdBQUcsQ0FBQyxDQUFDO1NBQ25EO0lBRUwsQ0FBQztJQUNELHFCQUFxQjtJQUNyQiwrQkFBWSxHQUFaLFVBQWEsRUFBRSxFQUFDLElBQUksRUFBQyxHQUFHLEVBQUMsR0FBRztRQUN4QixJQUFJLE1BQU0sR0FBRyxFQUFFLENBQUMsY0FBYyxDQUFDLElBQUksQ0FBQyxDQUFDO1FBQ3JDLElBQUcsR0FBRyxDQUFDLENBQUMsSUFBSSxHQUFHLENBQUMsQ0FBQyxHQUFDLENBQUMsRUFBQztZQUNoQixFQUFFLENBQUMsS0FBSyxHQUFHLENBQUMsQ0FBQztZQUNiLElBQUcsSUFBSSxJQUFJLEtBQUs7Z0JBQUUsTUFBTSxDQUFDLFlBQVksQ0FBQyxFQUFFLENBQUMsTUFBTSxDQUFDLENBQUMsV0FBVyxHQUFHLElBQUksQ0FBQyxFQUFFLENBQUMsZUFBZSxDQUFDLENBQUMsT0FBTyxDQUFDLENBQUM7WUFDakcsTUFBTSxDQUFDLE1BQU0sR0FBRyxJQUFJLENBQUM7WUFDckIsTUFBTSxDQUFDLEtBQUssR0FBRyxDQUFDLENBQUM7WUFDakIsT0FBTztTQUNWO2FBQ0ksSUFBRyxHQUFHLENBQUMsQ0FBQyxJQUFJLENBQUMsRUFBQztZQUNmLEVBQUUsQ0FBQyxLQUFLLEdBQUcsQ0FBQyxHQUFHLENBQUM7WUFDaEIsSUFBRyxJQUFJLElBQUksS0FBSztnQkFBQyxNQUFNLENBQUMsWUFBWSxDQUFDLEVBQUUsQ0FBQyxNQUFNLENBQUMsQ0FBQyxXQUFXLEdBQUcsSUFBSSxDQUFDLEVBQUUsQ0FBQyxlQUFlLENBQUMsQ0FBQyxPQUFPLENBQUMsQ0FBQztZQUNoRyxNQUFNLENBQUMsTUFBTSxHQUFHLElBQUksQ0FBQztZQUNyQixNQUFNLENBQUMsS0FBSyxHQUFHLENBQUMsR0FBRyxDQUFDO1lBQ3BCLE9BQU87U0FDVjthQUNJLElBQUcsR0FBRyxDQUFDLENBQUMsSUFBSSxHQUFHLENBQUMsQ0FBQyxHQUFDLENBQUMsRUFBQztZQUNyQixFQUFFLENBQUMsS0FBSyxHQUFHLEVBQUUsQ0FBQztZQUNkLElBQUcsSUFBSSxJQUFJLE9BQU87Z0JBQUMsTUFBTSxDQUFDLFlBQVksQ0FBQyxFQUFFLENBQUMsTUFBTSxDQUFDLENBQUMsV0FBVyxHQUFHLElBQUksQ0FBQyxFQUFFLENBQUMsZUFBZSxDQUFDLENBQUMsU0FBUyxDQUFDLENBQUM7O2dCQUMvRixNQUFNLENBQUMsWUFBWSxDQUFDLEVBQUUsQ0FBQyxNQUFNLENBQUMsQ0FBQyxXQUFXLEdBQUcsSUFBSSxDQUFDLEVBQUUsQ0FBQyxlQUFlLENBQUMsQ0FBQyxPQUFPLENBQUMsQ0FBQztZQUNwRixNQUFNLENBQUMsTUFBTSxHQUFHLElBQUksQ0FBQztZQUNyQixNQUFNLENBQUMsS0FBSyxHQUFHLENBQUMsRUFBRSxDQUFDO1NBQ3RCO2FBQ0ksSUFBRyxHQUFHLENBQUMsQ0FBQyxJQUFJLENBQUMsRUFBQztZQUNmLEVBQUUsQ0FBQyxLQUFLLEdBQUcsQ0FBQyxFQUFFLENBQUM7WUFDZixJQUFHLElBQUksSUFBSSxPQUFPO2dCQUFDLE1BQU0sQ0FBQyxZQUFZLENBQUMsRUFBRSxDQUFDLE1BQU0sQ0FBQyxDQUFDLFdBQVcsR0FBRyxJQUFJLENBQUMsRUFBRSxDQUFDLGVBQWUsQ0FBQyxDQUFDLFNBQVMsQ0FBQyxDQUFDOztnQkFDL0YsTUFBTSxDQUFDLFlBQVksQ0FBQyxFQUFFLENBQUMsTUFBTSxDQUFDLENBQUMsV0FBVyxHQUFHLElBQUksQ0FBQyxFQUFFLENBQUMsZUFBZSxDQUFDLENBQUMsT0FBTyxDQUFDLENBQUM7WUFDcEYsTUFBTSxDQUFDLE1BQU0sR0FBRyxJQUFJLENBQUM7WUFDckIsTUFBTSxDQUFDLEtBQUssR0FBRyxFQUFFLENBQUM7U0FDckI7SUFDTCxDQUFDO0lBRUQsMEJBQU8sR0FBUCxVQUFRLElBQUk7UUFDUixJQUFJLENBQUMsU0FBUyxHQUFHLElBQUksQ0FBQztJQUMxQixDQUFDO0lBQ0QsU0FBUztJQUNULDhCQUFXLEdBQVgsVUFBWSxTQUFTLEVBQUMsSUFBSTtRQUN0QixJQUFJLEVBQUUsR0FBRyxJQUFJLENBQUMsSUFBSSxDQUFDLGNBQWMsQ0FBQyxJQUFJLENBQUMsQ0FBQztRQUN4QyxJQUFJLElBQUksR0FBRyxJQUFJLENBQUMsSUFBSSxDQUFDLGNBQWMsQ0FBQyxXQUFXLENBQUMsQ0FBQztRQUNqRCxJQUFJLEtBQUssR0FBRyxJQUFJLENBQUMsSUFBSSxDQUFDLGNBQWMsQ0FBQyxZQUFZLENBQUMsQ0FBQztRQUVuRCxJQUFHLFNBQVMsSUFBSSxNQUFNLElBQUksU0FBUyxJQUFJLE9BQU8sRUFBQztZQUMzQyxJQUFHLEVBQUUsQ0FBQyxLQUFLLElBQUksQ0FBQyxFQUFDO2dCQUNiLElBQUksQ0FBQyxNQUFNLEdBQUUsSUFBSSxDQUFDO2dCQUNsQixLQUFLLENBQUMsTUFBTSxHQUFHLElBQUksQ0FBQztnQkFDcEIsS0FBSyxDQUFDLE9BQU8sR0FBRyxDQUFDLENBQUM7Z0JBQ2xCLElBQUcsSUFBSSxFQUFDO29CQUNKLElBQUksQ0FBQyxLQUFLLEdBQUcsU0FBUyxJQUFFLE1BQU0sQ0FBQSxDQUFDLENBQUEsRUFBRSxDQUFBLENBQUMsQ0FBQSxDQUFDLENBQUM7b0JBQ3BDLEtBQUssQ0FBQyxLQUFLLEdBQUcsU0FBUyxJQUFFLE1BQU0sQ0FBQSxDQUFDLENBQUEsRUFBRSxDQUFBLENBQUMsQ0FBQSxDQUFDLENBQUM7aUJBRXhDO3FCQUNHO29CQUNBLElBQUksQ0FBQyxLQUFLLEdBQUcsU0FBUyxJQUFFLE1BQU0sQ0FBQSxDQUFDLENBQUEsQ0FBQyxDQUFBLENBQUMsQ0FBQSxFQUFFLENBQUM7b0JBQ3BDLEtBQUssQ0FBQyxLQUFLLEdBQUcsU0FBUyxJQUFFLE1BQU0sQ0FBQSxDQUFDLENBQUEsQ0FBQyxDQUFBLENBQUMsQ0FBQSxFQUFFLENBQUM7aUJBQ3hDO2FBRUo7aUJBQ0ksSUFBRyxFQUFFLENBQUMsS0FBSyxJQUFJLENBQUMsR0FBRyxFQUFDO2dCQUNyQixJQUFJLENBQUMsTUFBTSxHQUFFLElBQUksQ0FBQztnQkFDbEIsS0FBSyxDQUFDLE1BQU0sR0FBRyxJQUFJLENBQUM7Z0JBQ3BCLEtBQUssQ0FBQyxPQUFPLEdBQUcsQ0FBQyxDQUFDO2dCQUNsQixJQUFHLElBQUksRUFBQztvQkFDSixJQUFJLENBQUMsS0FBSyxHQUFHLFNBQVMsSUFBRSxNQUFNLENBQUEsQ0FBQyxDQUFBLENBQUMsR0FBRyxDQUFBLENBQUMsQ0FBQSxDQUFDLEVBQUUsQ0FBQztvQkFDeEMsS0FBSyxDQUFDLEtBQUssR0FBRyxTQUFTLElBQUUsTUFBTSxDQUFBLENBQUMsQ0FBQSxDQUFDLEdBQUcsQ0FBQSxDQUFDLENBQUEsQ0FBQyxFQUFFLENBQUM7aUJBQzVDO3FCQUNHO29CQUNBLElBQUksQ0FBQyxLQUFLLEdBQUcsU0FBUyxJQUFFLE1BQU0sQ0FBQSxDQUFDLENBQUEsR0FBRyxDQUFBLENBQUMsQ0FBQSxDQUFDLEdBQUcsQ0FBQztvQkFDeEMsS0FBSyxDQUFDLEtBQUssR0FBRyxTQUFTLElBQUUsTUFBTSxDQUFBLENBQUMsQ0FBQSxHQUFHLENBQUEsQ0FBQyxDQUFBLENBQUMsR0FBRyxDQUFDO2lCQUM1QzthQUVKO2lCQUNJLElBQUcsRUFBRSxDQUFDLEtBQUssSUFBSSxDQUFDLEVBQUUsRUFBQztnQkFDcEIsSUFBSSxDQUFDLE1BQU0sR0FBRSxJQUFJLENBQUM7Z0JBQ2xCLElBQUksQ0FBQyxZQUFZLENBQUMsRUFBRSxDQUFDLE1BQU0sQ0FBQyxDQUFDLFdBQVcsR0FBRyxJQUFJLENBQUMsRUFBRSxDQUFDLGVBQWUsQ0FBQyxDQUFDLElBQUksQ0FBQyxDQUFDO2dCQUMxRSxJQUFJLENBQUMsS0FBSyxHQUFHLEVBQUUsQ0FBQztnQkFDaEIsSUFBRyxJQUFJLEVBQUM7b0JBQ0osS0FBSyxDQUFDLE1BQU0sR0FBRyxJQUFJLENBQUM7b0JBQ3BCLEtBQUssQ0FBQyxLQUFLLEdBQUcsRUFBRSxDQUFDO29CQUNqQixLQUFLLENBQUMsWUFBWSxDQUFDLEVBQUUsQ0FBQyxNQUFNLENBQUMsQ0FBQyxXQUFXLEdBQUcsSUFBSSxDQUFDLEVBQUUsQ0FBQyxlQUFlLENBQUMsQ0FBQyxRQUFRLENBQUMsQ0FBQztvQkFDL0UsS0FBSyxDQUFDLE9BQU8sR0FBRyxDQUFDLENBQUM7aUJBQ3JCO2FBRUo7aUJBQ0ksSUFBRyxFQUFFLENBQUMsS0FBSyxJQUFJLEVBQUUsRUFBQztnQkFDbkIsSUFBSSxDQUFDLE1BQU0sR0FBRSxJQUFJLENBQUM7Z0JBQ2xCLElBQUksQ0FBQyxZQUFZLENBQUMsRUFBRSxDQUFDLE1BQU0sQ0FBQyxDQUFDLFdBQVcsR0FBRyxJQUFJLENBQUMsRUFBRSxDQUFDLGVBQWUsQ0FBQyxDQUFDLElBQUksQ0FBQyxDQUFDO2dCQUMxRSxJQUFJLENBQUMsS0FBSyxHQUFHLEVBQUUsQ0FBQztnQkFDaEIsSUFBRyxJQUFJLEVBQUM7b0JBQ0osS0FBSyxDQUFDLE1BQU0sR0FBRyxJQUFJLENBQUM7b0JBQ3BCLEtBQUssQ0FBQyxLQUFLLEdBQUcsRUFBRSxDQUFDO29CQUNqQixLQUFLLENBQUMsWUFBWSxDQUFDLEVBQUUsQ0FBQyxNQUFNLENBQUMsQ0FBQyxXQUFXLEdBQUcsSUFBSSxDQUFDLEVBQUUsQ0FBQyxlQUFlLENBQUMsQ0FBQyxRQUFRLENBQUMsQ0FBQztvQkFDL0UsS0FBSyxDQUFDLE9BQU8sR0FBRyxDQUFDLENBQUM7aUJBQ3JCO2FBQ0o7U0FFSjthQUNJLElBQUcsU0FBUyxJQUFJLElBQUksSUFBSSxTQUFTLElBQUksTUFBTSxFQUFDO1lBQzdDLElBQUksSUFBRSxHQUFHLElBQUksQ0FBQyxJQUFJLENBQUMsY0FBYyxDQUFDLElBQUksQ0FBQyxDQUFDO1lBQ3hDLElBQUcsSUFBRSxDQUFDLEtBQUssSUFBSSxDQUFDLEVBQUUsRUFBQztnQkFDZixJQUFJLENBQUMsTUFBTSxHQUFFLElBQUksQ0FBQztnQkFDbEIsS0FBSyxDQUFDLE1BQU0sR0FBRyxJQUFJLENBQUM7Z0JBQ3BCLEtBQUssQ0FBQyxPQUFPLEdBQUcsQ0FBQyxDQUFDO2dCQUNsQixJQUFHLElBQUksRUFBQztvQkFDSixJQUFJLENBQUMsS0FBSyxHQUFHLFNBQVMsSUFBRSxJQUFJLENBQUEsQ0FBQyxDQUFBLENBQUMsQ0FBQSxDQUFDLENBQUEsQ0FBQyxFQUFFLENBQUM7b0JBQ25DLEtBQUssQ0FBQyxLQUFLLEdBQUcsU0FBUyxJQUFFLElBQUksQ0FBQSxDQUFDLENBQUEsQ0FBQyxDQUFBLENBQUMsQ0FBQSxDQUFDLEVBQUUsQ0FBQztpQkFDdkM7cUJBQ0c7b0JBQ0EsSUFBSSxDQUFDLEtBQUssR0FBRyxTQUFTLElBQUUsSUFBSSxDQUFBLENBQUMsQ0FBQSxDQUFDLEVBQUUsQ0FBQSxDQUFDLENBQUEsQ0FBQyxDQUFDO29CQUNuQyxLQUFLLENBQUMsS0FBSyxHQUFHLFNBQVMsSUFBRSxJQUFJLENBQUEsQ0FBQyxDQUFBLENBQUMsRUFBRSxDQUFBLENBQUMsQ0FBQSxDQUFDLENBQUM7aUJBQ3ZDO2FBQ0o7aUJBQ0ksSUFBRyxJQUFFLENBQUMsS0FBSyxJQUFJLEVBQUUsRUFBQztnQkFDbkIsSUFBSSxDQUFDLE1BQU0sR0FBRyxJQUFJLENBQUM7Z0JBQ25CLEtBQUssQ0FBQyxNQUFNLEdBQUcsSUFBSSxDQUFDO2dCQUNwQixLQUFLLENBQUMsT0FBTyxHQUFHLENBQUMsQ0FBQztnQkFDbEIsSUFBRyxJQUFJLEVBQUM7b0JBQ0osSUFBSSxDQUFDLEtBQUssR0FBRyxTQUFTLElBQUUsSUFBSSxDQUFBLENBQUMsQ0FBQSxFQUFFLENBQUEsQ0FBQyxDQUFBLEdBQUcsQ0FBQztvQkFDcEMsS0FBSyxDQUFDLEtBQUssR0FBRyxTQUFTLElBQUUsSUFBSSxDQUFBLENBQUMsQ0FBQSxFQUFFLENBQUEsQ0FBQyxDQUFBLEdBQUcsQ0FBQztpQkFDeEM7cUJBQ0c7b0JBQ0EsSUFBSSxDQUFDLEtBQUssR0FBRyxTQUFTLElBQUUsSUFBSSxDQUFBLENBQUMsQ0FBQSxHQUFHLENBQUEsQ0FBQyxDQUFBLEVBQUUsQ0FBQztvQkFDcEMsS0FBSyxDQUFDLEtBQUssR0FBRyxTQUFTLElBQUUsSUFBSSxDQUFBLENBQUMsQ0FBQSxHQUFHLENBQUEsQ0FBQyxDQUFBLEVBQUUsQ0FBQztpQkFDeEM7YUFFSjtpQkFDSSxJQUFHLElBQUUsQ0FBQyxLQUFLLElBQUksQ0FBQyxFQUFDO2dCQUNsQixJQUFJLENBQUMsTUFBTSxHQUFFLElBQUksQ0FBQztnQkFDbEIsSUFBSSxDQUFDLFlBQVksQ0FBQyxFQUFFLENBQUMsTUFBTSxDQUFDLENBQUMsV0FBVyxHQUFHLElBQUksQ0FBQyxFQUFFLENBQUMsZUFBZSxDQUFDLENBQUMsSUFBSSxDQUFDLENBQUM7Z0JBQzFFLElBQUksQ0FBQyxLQUFLLEdBQUcsQ0FBQyxDQUFDO2dCQUNmLElBQUcsSUFBSSxFQUFDO29CQUNKLEtBQUssQ0FBQyxNQUFNLEdBQUcsSUFBSSxDQUFDO29CQUNwQixLQUFLLENBQUMsWUFBWSxDQUFDLEVBQUUsQ0FBQyxNQUFNLENBQUMsQ0FBQyxXQUFXLEdBQUcsSUFBSSxDQUFDLEVBQUUsQ0FBQyxlQUFlLENBQUMsQ0FBQyxRQUFRLENBQUMsQ0FBQztvQkFDL0UsS0FBSyxDQUFDLE9BQU8sR0FBRyxDQUFDLENBQUM7aUJBQ3JCO2FBQ0o7aUJBQ0ksSUFBRyxJQUFFLENBQUMsS0FBSyxJQUFJLENBQUMsR0FBRyxFQUFDO2dCQUNyQixJQUFJLENBQUMsTUFBTSxHQUFFLElBQUksQ0FBQztnQkFDbEIsSUFBSSxDQUFDLFlBQVksQ0FBQyxFQUFFLENBQUMsTUFBTSxDQUFDLENBQUMsV0FBVyxHQUFHLElBQUksQ0FBQyxFQUFFLENBQUMsZUFBZSxDQUFDLENBQUMsSUFBSSxDQUFDLENBQUM7Z0JBQzFFLElBQUksQ0FBQyxLQUFLLEdBQUcsQ0FBQyxDQUFDO2dCQUNmLElBQUcsSUFBSSxFQUFDO29CQUNKLEtBQUssQ0FBQyxNQUFNLEdBQUcsSUFBSSxDQUFDO29CQUNwQixLQUFLLENBQUMsWUFBWSxDQUFDLEVBQUUsQ0FBQyxNQUFNLENBQUMsQ0FBQyxXQUFXLEdBQUcsSUFBSSxDQUFDLEVBQUUsQ0FBQyxlQUFlLENBQUMsQ0FBQyxRQUFRLENBQUMsQ0FBQztvQkFDL0UsS0FBSyxDQUFDLE9BQU8sR0FBRyxDQUFDLENBQUM7aUJBQ3JCO2FBQ0o7U0FDSjtJQUNMLENBQUM7SUFDRCxpQkFBaUI7SUFDakIsa0NBQWUsR0FBZixVQUFnQixTQUFTLEVBQUMsR0FBRyxFQUFDLElBQUk7UUFBbEMsaUJBeURDO1FBeERHLG9EQUFvRDtRQUNwRCxJQUFJLEVBQUUsR0FBRyxJQUFJLENBQUMsVUFBVSxDQUFDLElBQUksRUFBQyxTQUFTLENBQUMsQ0FBQztRQUN6QyxPQUFPLENBQUMsR0FBRyxDQUFDLFVBQVUsRUFBQyxFQUFFLENBQUMsQ0FBQztRQUMzQixJQUFHLEVBQUUsSUFBSSxJQUFJO1lBQUUsT0FBTztRQUV0QixJQUFHLElBQUksQ0FBQyxVQUFVLElBQUksRUFBRSxDQUFDLElBQUksQ0FBQyxTQUFTLENBQUMsQ0FBQyxLQUFLLEVBQUM7WUFDM0MsSUFBSSxDQUFDLFdBQVcsQ0FBQyxTQUFTLEVBQUMsS0FBSyxDQUFDLENBQUM7WUFDbEMsT0FBTztTQUNWO1FBRUQsSUFBRyxJQUFJLENBQUMsVUFBVSxJQUFJLEVBQUUsQ0FBQyxJQUFJLENBQUMsU0FBUyxDQUFDLENBQUMsS0FBSyxFQUFDO1lBQzNDLElBQUksQ0FBQyxVQUFVLEdBQUcsRUFBRSxDQUFDLElBQUksQ0FBQyxTQUFTLENBQUMsQ0FBQyxLQUFLLENBQUM7WUFDM0MsSUFBSSxDQUFDLElBQUksQ0FBQyxjQUFjLENBQUMsSUFBSSxDQUFDLENBQUMsWUFBWSxDQUFDLEVBQUUsQ0FBQyxNQUFNLENBQUMsQ0FBQyxXQUFXLEdBQUcsSUFBSSxDQUFDO1lBQzFFLElBQUksQ0FBQyxJQUFJLENBQUMsWUFBWSxDQUFDLEVBQUUsQ0FBQyxNQUFNLENBQUMsQ0FBQyxXQUFXLEdBQUksSUFBSSxDQUFDLEVBQUUsQ0FBQyxlQUFlLENBQUMsQ0FBQyxVQUFVLENBQUMsQ0FBQztTQUN6RjtRQUNELElBQUcsR0FBRyxJQUFJLElBQUksRUFBQztZQUNYLElBQUcsSUFBSSxDQUFDLFVBQVUsSUFBSSxFQUFFLENBQUMsSUFBSSxDQUFDLFNBQVMsQ0FBQyxDQUFDLEdBQUcsRUFBQztnQkFDekMsSUFBSSxDQUFDLE9BQU8sR0FBRyxJQUFJLENBQUM7Z0JBQ3BCLFVBQVUsQ0FBQztvQkFDUCxLQUFJLENBQUMsV0FBVyxDQUFDLFNBQVMsRUFBQyxJQUFJLENBQUMsQ0FBQztnQkFDckMsQ0FBQyxFQUFFLEdBQUcsQ0FBQyxDQUFDO2FBRVg7WUFDRCxVQUFVLENBQUM7Z0JBQ1AsSUFBRyxJQUFJLElBQUksT0FBTztvQkFBRSxFQUFFLENBQUMsRUFBRSxDQUFDLGFBQWEsQ0FBQyxJQUFJLENBQUMsRUFBRSxDQUFDLEVBQUUsQ0FBQyxPQUFPLENBQUMsU0FBUyxFQUFDLENBQUMsR0FBRyxHQUFDLENBQUMsQ0FBQyxDQUFDLENBQUM7O29CQUN6RSxFQUFFLENBQUMsRUFBRSxDQUFDLGFBQWEsQ0FBQyxJQUFJLENBQUMsRUFBRSxDQUFDLEVBQUUsQ0FBQyxPQUFPLENBQUMsSUFBSSxFQUFDLENBQUMsR0FBRyxHQUFDLENBQUMsQ0FBQyxDQUFDLENBQUM7WUFDOUQsQ0FBQyxFQUFFLEdBQUcsQ0FBQyxDQUFDO1NBQ1g7UUFFRCxJQUFHLElBQUksQ0FBQyxVQUFVLElBQUksRUFBRSxDQUFDLElBQUksQ0FBQyxTQUFTLENBQUMsQ0FBQyxHQUFHLElBQUksSUFBSSxDQUFDLFVBQVUsSUFBSSxFQUFFLENBQUMsSUFBSSxDQUFDLFNBQVMsQ0FBQyxDQUFDLEtBQUssRUFBQztZQUN4RixJQUFJLENBQUMsVUFBVSxHQUFHLEVBQUUsQ0FBQyxJQUFJLENBQUMsU0FBUyxDQUFDLENBQUMsT0FBTyxDQUFDO1NBQ2hEO2FBQ0c7U0FDSDtRQUNELElBQUksTUFBTSxHQUFHLElBQUksQ0FBQyxJQUFJLENBQUMsY0FBYyxDQUFDLFNBQVMsQ0FBQyxDQUFDO1FBQ2pELElBQUksQ0FBQyxTQUFTLEdBQUcsU0FBUyxDQUFDO1FBQzNCLE1BQU0sQ0FBQyxNQUFNLEdBQUcsSUFBSSxDQUFDO1FBQ3JCLE1BQU0sQ0FBQyxPQUFPLEdBQUcsQ0FBQyxDQUFDO1FBQ25CLEVBQUUsQ0FBQyxLQUFLLENBQUMsTUFBTSxDQUFDO2FBQ2YsRUFBRSxDQUFDLEdBQUcsRUFBQyxFQUFDLE9BQU8sRUFBQyxHQUFHLEVBQUMsQ0FBQzthQUNyQixFQUFFLENBQUMsR0FBRyxFQUFDLEVBQUMsT0FBTyxFQUFDLENBQUMsRUFBQyxDQUFDO2FBQ25CLElBQUksQ0FBQztZQUNGLElBQUcsU0FBUyxJQUFJLElBQUksSUFBSSxHQUFHLElBQUksSUFBSSxFQUFDO2dCQUNoQyxJQUFJLElBQUksR0FBRztvQkFDUCxLQUFLLEVBQUMsQ0FBQztvQkFDUCxJQUFJLEVBQUMsRUFBRSxDQUFDLEVBQUUsQ0FBQyxVQUFVLENBQUMsU0FBUyxDQUFDLFVBQVUsQ0FBQyxDQUFDLENBQUM7b0JBQzdDLElBQUksRUFBQyxDQUFDO29CQUNOLFNBQVMsRUFBQyxLQUFLO2lCQUNsQixDQUFDO2dCQUNGLElBQUcsSUFBSSxJQUFJLE9BQU8sRUFBQztvQkFDZixLQUFJLENBQUMsUUFBUSxDQUFDLElBQUksQ0FBQyxDQUFDO2lCQUN2Qjs7b0JBQ0ksS0FBSSxDQUFDLE9BQU8sQ0FBQyxJQUFJLENBQUMsQ0FBQzthQUMzQjtRQUNMLENBQUMsQ0FBQzthQUNELEtBQUssRUFBRSxDQUFDO0lBQ2IsQ0FBQztJQUNELFNBQVM7SUFDVCw2QkFBVSxHQUFWLFVBQVcsSUFBSSxFQUFDLFNBQVM7UUFDckIsbUJBQW1CO1FBQ25CLElBQUksRUFBRSxHQUFHLEtBQUssQ0FBQztRQUNmLElBQUcsSUFBSSxDQUFDLElBQUksQ0FBQyxjQUFjLENBQUMsV0FBVyxDQUFDLENBQUMsTUFBTSxJQUFJLElBQUksSUFBSSxJQUFJLENBQUMsSUFBSSxDQUFDLGNBQWMsQ0FBQyxhQUFhLENBQUMsQ0FBQyxNQUFNLElBQUksSUFBSSxFQUFDO1lBQzlHLGlCQUFpQjtZQUNqQixFQUFFLEdBQUcsSUFBSSxDQUFDO1lBQ1YsSUFBRyxJQUFJLEVBQUM7Z0JBQ0osRUFBRSxDQUFDLEVBQUUsQ0FBQyxhQUFhLENBQUMsSUFBSSxDQUFDLEVBQUUsQ0FBQyxFQUFFLENBQUMsT0FBTyxDQUFDLFVBQVUsRUFBQyxNQUFNLENBQUMsQ0FBQztnQkFDMUQsRUFBRSxDQUFDLEVBQUUsQ0FBQyxhQUFhLENBQUMsSUFBSSxDQUFDLEVBQUUsQ0FBQyxFQUFFLENBQUMsT0FBTyxDQUFDLE9BQU8sRUFBQyxLQUFLLENBQUMsQ0FBQzthQUN6RDtTQUNKO2FBRUksSUFBRyxJQUFJLENBQUMsSUFBSSxDQUFDLGNBQWMsQ0FBQyxPQUFPLENBQUMsQ0FBQyxNQUFNLElBQUksSUFBSSxJQUFJLElBQUksQ0FBQyxVQUFVLElBQUksRUFBRSxDQUFDLElBQUksQ0FBQyxTQUFTLENBQUMsQ0FBQyxPQUFPLEVBQUM7WUFDdEcsaUJBQWlCO1lBQ2pCLEVBQUUsR0FBRyxJQUFJLENBQUM7WUFDVixJQUFHLElBQUksRUFBQztnQkFDSixFQUFFLENBQUMsRUFBRSxDQUFDLGFBQWEsQ0FBQyxJQUFJLENBQUMsRUFBRSxDQUFDLEVBQUUsQ0FBQyxPQUFPLENBQUMsVUFBVSxFQUFDLE1BQU0sQ0FBQyxDQUFDO2dCQUMxRCxFQUFFLENBQUMsRUFBRSxDQUFDLGFBQWEsQ0FBQyxJQUFJLENBQUMsRUFBRSxDQUFDLEVBQUUsQ0FBQyxPQUFPLENBQUMsT0FBTyxFQUFDLEtBQUssQ0FBQyxDQUFDO2FBQ3pEO1NBQ0o7UUFFRCxJQUFHLFNBQVMsRUFBQztZQUNULElBQUcsSUFBSSxDQUFDLElBQUksQ0FBQyxjQUFjLENBQUMsV0FBVyxDQUFDLENBQUMsTUFBTSxJQUFJLElBQUksSUFBSSxJQUFJLENBQUMsVUFBVSxJQUFJLEVBQUUsQ0FBQyxJQUFJLENBQUMsU0FBUyxDQUFDLENBQUMsT0FBTyxJQUFJLENBQUMsU0FBUyxJQUFJLElBQUksSUFBRyxTQUFTLElBQUcsTUFBTSxDQUFDLEVBQUM7Z0JBQ2pKLGlCQUFpQjtnQkFDakIsRUFBRSxHQUFHLElBQUksQ0FBQztnQkFDVixJQUFHLElBQUksRUFBQztvQkFDSixFQUFFLENBQUMsRUFBRSxDQUFDLGFBQWEsQ0FBQyxJQUFJLENBQUMsRUFBRSxDQUFDLEVBQUUsQ0FBQyxPQUFPLENBQUMsVUFBVSxFQUFDLE1BQU0sQ0FBQyxDQUFDO29CQUMxRCxFQUFFLENBQUMsRUFBRSxDQUFDLGFBQWEsQ0FBQyxJQUFJLENBQUMsRUFBRSxDQUFDLEVBQUUsQ0FBQyxPQUFPLENBQUMsT0FBTyxFQUFDLEtBQUssQ0FBQyxDQUFDO2lCQUN6RDthQUNKO2lCQUNJLElBQUcsSUFBSSxDQUFDLElBQUksQ0FBQyxjQUFjLENBQUMsYUFBYSxDQUFDLENBQUMsTUFBTSxJQUFJLElBQUksSUFBSSxJQUFJLENBQUMsVUFBVSxJQUFJLEVBQUUsQ0FBQyxJQUFJLENBQUMsU0FBUyxDQUFDLENBQUMsT0FBTyxJQUFJLENBQUMsU0FBUyxJQUFJLE9BQU8sSUFBRyxTQUFTLElBQUcsTUFBTSxDQUFDLEVBQUM7Z0JBQzNKLGlCQUFpQjtnQkFDakIsRUFBRSxHQUFHLElBQUksQ0FBQztnQkFDVixJQUFHLElBQUksRUFBQztvQkFDSixFQUFFLENBQUMsRUFBRSxDQUFDLGFBQWEsQ0FBQyxJQUFJLENBQUMsRUFBRSxDQUFDLEVBQUUsQ0FBQyxPQUFPLENBQUMsVUFBVSxFQUFDLE1BQU0sQ0FBQyxDQUFDO29CQUMxRCxFQUFFLENBQUMsRUFBRSxDQUFDLGFBQWEsQ0FBQyxJQUFJLENBQUMsRUFBRSxDQUFDLEVBQUUsQ0FBQyxPQUFPLENBQUMsT0FBTyxFQUFDLEtBQUssQ0FBQyxDQUFDO2lCQUN6RDthQUNKO1NBQ0o7UUFFRCxPQUFPLEVBQUUsQ0FBQztJQUNkLENBQUM7SUFFRCxRQUFRO0lBQ1IsMEJBQU8sR0FBUCxVQUFRLElBQUk7UUFDUixJQUFHLElBQUksQ0FBQyxTQUFTLElBQUksS0FBSyxFQUFDO1lBQ3ZCLFVBQVUsQ0FBQztnQkFDUCxJQUFHLElBQUksQ0FBQyxTQUFTO29CQUNiLEVBQUUsQ0FBQyxFQUFFLENBQUMsYUFBYSxDQUFDLElBQUksQ0FBQyxFQUFFLENBQUMsRUFBRSxDQUFDLE9BQU8sQ0FBQyxJQUFJLEVBQUMsS0FBSyxDQUFDLENBQUM7WUFDM0QsQ0FBQyxFQUFFLElBQUksQ0FBQyxJQUFJLENBQUMsQ0FBQztZQUNkLE9BQU87U0FDVjtRQUNELElBQUksRUFBRSxHQUFHLElBQUksQ0FBQyxVQUFVLENBQUMsSUFBSSxFQUFDLElBQUksQ0FBQyxDQUFDO1FBQ3BDLElBQUcsRUFBRSxJQUFJLElBQUk7WUFBRSxPQUFPO1FBQ3RCLElBQUksTUFBTSxHQUFHLElBQUksQ0FBQztRQUNsQixJQUFJLFFBQVEsR0FBRyxDQUFDLENBQUM7UUFDakIsSUFBSSxJQUFJLEdBQUcsSUFBSSxDQUFDLElBQUksQ0FBQztRQUNyQixJQUFJLEtBQUssR0FBRyxJQUFJLENBQUMsS0FBSyxHQUFHLENBQUMsQ0FBQztRQUMzQixJQUFJLE1BQU0sR0FBRyxJQUFJLENBQUMsS0FBSyxDQUFDLElBQUksQ0FBQyxNQUFNLEVBQUUsR0FBQyxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUM7UUFDN0MsTUFBTSxHQUFHLElBQUksQ0FBQyxJQUFJLENBQUMsY0FBYyxDQUFDLFdBQVcsQ0FBQyxDQUFDO1FBQy9DLElBQUcsTUFBTSxDQUFDLElBQUksSUFBSSxVQUFVLEVBQUM7WUFDekIsSUFBSSxRQUFNLEdBQUcsTUFBTSxDQUFDLGNBQWMsQ0FBQyxNQUFNLENBQUMsQ0FBQyxjQUFjLENBQUMsUUFBUSxDQUFDLENBQUM7WUFDcEUsSUFBSSxRQUFNLEdBQUcsTUFBTSxDQUFDLGNBQWMsQ0FBQyxNQUFNLENBQUMsQ0FBQyxjQUFjLENBQUMsUUFBUSxDQUFDLENBQUM7WUFDcEUsSUFBSSxRQUFNLEdBQUcsTUFBTSxDQUFDLGNBQWMsQ0FBQyxNQUFNLENBQUMsQ0FBQyxjQUFjLENBQUMsUUFBUSxDQUFDLENBQUM7WUFDcEUsSUFBSSxTQUFTLEdBQUcsSUFBSSxDQUFDO1lBQ3JCLFFBQU0sQ0FBQyxTQUFTLENBQUMsRUFBRSxDQUFDLFFBQVEsQ0FBQyxFQUFFLENBQUMsTUFBTSxDQUFDLEdBQUcsRUFBQyxFQUFFLENBQUMsRUFBRSxDQUFDLFFBQU0sQ0FBQyxDQUFDLEVBQUMsR0FBRyxDQUFDLENBQUMsRUFBQyxFQUFFLENBQUMsU0FBUyxDQUFDLFNBQVMsQ0FBQyxFQUN2RixFQUFFLENBQUMsUUFBUSxDQUFDO2dCQUNSLFFBQU0sQ0FBQyxDQUFDLEdBQUcsQ0FBQyxHQUFHLENBQUE7WUFDbkIsQ0FBQyxDQUFDLENBQUMsQ0FBQyxhQUFhLEVBQUUsQ0FBQyxDQUFDO1lBQ3JCLFFBQU0sQ0FBQyxTQUFTLENBQUMsRUFBRSxDQUFDLFFBQVEsQ0FBQyxFQUFFLENBQUMsTUFBTSxDQUFDLEdBQUcsRUFBQyxFQUFFLENBQUMsRUFBRSxDQUFDLFFBQU0sQ0FBQyxDQUFDLEVBQUMsR0FBRyxDQUFDLENBQUMsRUFBQyxFQUFFLENBQUMsU0FBUyxDQUFDLFNBQVMsQ0FBQyxFQUN2RixFQUFFLENBQUMsUUFBUSxDQUFDO2dCQUNSLFFBQU0sQ0FBQyxDQUFDLEdBQUcsQ0FBQyxHQUFHLENBQUE7WUFDbkIsQ0FBQyxDQUFD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R0FBRyxNQUFNLENBQUMsY0FBYyxDQUFDLE1BQU0sQ0FBQyxDQUFDLGNBQWMsQ0FBQyxRQUFRLENBQUMsQ0FBQztZQUNwRSxJQUFJLFFBQU0sR0FBRyxNQUFNLENBQUMsY0FBYyxDQUFDLE1BQU0sQ0FBQyxDQUFDLGNBQWMsQ0FBQyxRQUFRLENBQUMsQ0FBQztZQUNwRSxJQUFJLFFBQU0sR0FBRyxNQUFNLENBQUMsY0FBYyxDQUFDLE1BQU0sQ0FBQyxDQUFDLGNBQWMsQ0FBQyxRQUFRLENBQUMsQ0FBQztZQUNwRSxJQUFJLFNBQVMsR0FBRyxJQUFJLENBQUM7WUFDckIsUUFBTSxDQUFDLFNBQVMsQ0FBQyxFQUFFLENBQUMsUUFBUSxDQUFDLEVBQUUsQ0FBQyxNQUFNLENBQUMsR0FBRyxFQUFDLEVBQUUsQ0FBQyxFQUFFLENBQUMsUUFBTSxDQUFDLENBQUMsRUFBQyxHQUFHLENBQUMsQ0FBQyxFQUFDLEVBQUUsQ0FBQyxTQUFTLENBQUMsU0FBUyxDQUFDLEVBQ3ZGLEVBQUUsQ0FBQyxRQUFRLENBQUM7Z0JBQ1IsUUFBTSxDQUFDLENBQUMsR0FBRyxDQUFDLEdBQUcsQ0FBQTtZQUNuQixDQUFDLENBQUMsQ0FBQyxDQUFDLGFBQWEsRUFBRSxDQUFDLENBQUM7WUFDckIsUUFBTSxDQUFDLFNBQVMsQ0FBQyxFQUFFLENBQUMsUUFBUSxDQUFDLEVBQUUsQ0FBQyxNQUFNLENBQUMsR0FBRyxFQUFDLEVBQUUsQ0FBQyxFQUFFLENBQUMsUUFBTSxDQUFDLENBQUMsRUFBQyxHQUFHLENBQUMsQ0FBQyxFQUFDLEVBQUUsQ0FBQyxTQUFTLENBQUMsU0FBUyxDQUFDLEVBQ3ZGLEVBQUUsQ0FBQyxRQUFRLENBQUM7Z0JBQ1IsUUFBTSxDQUFDLENBQUMsR0FBRyxDQUFDLEdBQUcsQ0FBQTtZQUNuQixDQUFDLENBQUMsQ0FBQyxDQUFDLGFBQWEsRUFBRSxDQUFDLENBQUM7WUFDckIsUUFBTSxDQUFDLFNBQVMsQ0FBQyxFQUFFLENBQUMsUUFBUSxDQUFDLEVBQUUsQ0FBQyxNQUFNLENBQUMsR0FBRyxFQUFDLEVBQUUsQ0FBQyxFQUFFLENBQUMsUUFBTSxDQUFDLENBQUMsRUFBQyxHQUFHLENBQUMsQ0FBQyxFQUFDLEVBQUUsQ0FBQyxTQUFTLENBQUMsU0FBUyxDQUFDLEVBQ3ZGLEVBQUUsQ0FBQyxRQUFRLENBQUM7Z0JBQ1IsUUFBTSxDQUFDLENBQUMsR0FBRyxDQUFDLEdBQUcsQ0FBQTtZQUNuQixDQUFDLENBQUMsQ0FBQyxDQUFDLGFBQWEsRUFBRSxDQUFDLENBQUM7U0FDeEI7UUFFRCxJQUFJLElBQUksR0FBRyxHQUFHLEdBQUcsTUFBTSxDQUFDO1FBQ3hCLGtJQUFrSTtRQUVsSSxJQUFHLE1BQU0sQ0FBQyxNQUFNLElBQUksSUFBSSxFQUFDO1lBQ3JCLE1BQU0sR0FBRyxJQUFJLENBQUMsSUFBSSxDQUFDLGNBQWMsQ0FBQyxZQUFZLENBQUMsQ0FBQztZQUNoRCxJQUFJLFFBQU0sR0FBRyxNQUFNLENBQUMsY0FBYyxDQUFDLE1BQU0sQ0FBQyxDQUFDLGNBQWMsQ0FBQyxRQUFRLENBQUMsQ0FBQztZQUNwRSxJQUFJLFFBQU0sR0FBRyxNQUFNLENBQUMsY0FBYyxDQUFDLE1BQU0sQ0FBQyxDQUFDLGNBQWMsQ0FBQyxRQUFRLENBQUMsQ0FBQztZQUNwRSxJQUFJLFFBQU0sR0FBRyxNQUFNLENBQUMsY0FBYyxDQUFDLE1BQU0sQ0FBQyxDQUFDLGNBQWMsQ0FBQyxRQUFRLENBQUMsQ0FBQztZQUNwRSxJQUFJLFNBQVMsR0FBRyxJQUFJLENBQUM7WUFDckIsUUFBTSxDQUFDLFNBQVMsQ0FBQyxFQUFFLENBQUMsUUFBUSxDQUFDLEVBQUUsQ0FBQyxNQUFNLENBQUMsR0FBRyxFQUFDLEVBQUUsQ0FBQyxFQUFFLENBQUMsUUFBTSxDQUFDLENBQUMsRUFBQyxHQUFHLENBQUMsQ0FBQyxFQUFDLEVBQUUsQ0FBQyxTQUFTLENBQUMsU0FBUyxDQUFDLEVBQ3ZGLEVBQUUsQ0FBQyxRQUFRLENBQUM7Z0JBQ1IsUUFBTSxDQUFDLENBQUMsR0FBRyxDQUFDLEdBQUcsQ0FBQTtZQUNuQixDQUFDLENBQUMsQ0FBQyxDQUFDLGFBQWEsRUFBRSxDQUFDLENBQUM7WUFDckIsUUFBTSxDQUFDLFNBQVMsQ0FBQyxFQUFFLENBQUMsUUFBUSxDQUFDLEVBQUUsQ0FBQyxNQUFNLENBQUMsR0FBRyxFQUFDLEVBQUUsQ0FBQyxFQUFFLENBQUMsUUFBTSxDQUFDLENBQUMsRUFBQyxHQUFHLENBQUMsQ0FBQyxFQUFDLEVBQUUsQ0FBQyxTQUFTLENBQUMsU0FBUyxDQUFDLEVBQ3ZGLEVBQUUsQ0FBQyxRQUFRLENBQUM7Z0JBQ1IsUUFBTSxDQUFDLENBQUMsR0FBRyxDQUFDLEdBQUcsQ0FBQTtZQUNuQixDQUFDLENBQUMsQ0FBQyxDQUFDLGFBQWEsRUFBRSxDQUFDLENBQUM7WUFDckIsUUFBTSxDQUFDLFNBQVMsQ0FBQyxFQUFFLENBQUMsUUFBUSxDQUFDLEVBQUUsQ0FBQyxNQUFNLENBQUMsR0FBRyxFQUFDLEVBQUUsQ0FBQyxFQUFFLENBQUMsUUFBTSxDQUFDLENBQUMsRUFBQyxHQUFHLENBQUMsQ0FBQyxFQUFDLEVBQUUsQ0FBQyxTQUFTLENBQUMsU0FBUyxDQUFDLEVBQ3ZGLEVBQUUsQ0FBQyxRQUFRLENBQUM7Z0JBQ1IsUUFBTSxDQUFDLENBQUMsR0FBRyxDQUFDLEdBQUcsQ0FBQTtZQUNuQixDQUFDLENBQUMsQ0FBQyxDQUFDLGFBQWEsRUFBRSxDQUFDLENBQUM7WUFDckIsSUFBSSxHQUFHLEdBQUcsR0FBRyxNQUFNLENBQUM7WUFDcEIsa0lBQWtJO1NBQ3JJO1FBQ0QsMENBQTBDO1FBQzFDLElBQUcsSUFBSSxDQUFDLFNBQVMsSUFBSSxFQUFFLENBQUMsSUFBSSxDQUFDLFFBQVEsQ0FBQyxDQUFDLEVBQUUsRUFBQztTQUN6QzthQUNJLElBQUcsSUFBSSxDQUFDLFNBQVMsSUFBSSxFQUFFLENBQUMsSUFBSSxDQUFDLFFBQVEsQ0FBQyxDQUFDLElBQUksRUFBQztZQUM3QyxNQUFNLENBQUMsS0FBSyxHQUFHLEdBQUcsQ0FBQztTQUN0QjthQUNJLElBQUcsSUFBSSxDQUFDLFNBQVMsSUFBSSxFQUFFLENBQUMsSUFBSSxDQUFDLFFBQVEsQ0FBQyxDQUFDLElB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QUFDLE1BQU0sQ0FBQyxDQUFDO2lCQUN2QyxFQUFFLENBQUMsSUFBSSxFQUFDLEVBQUMsU0FBUyxFQUFDLFFBQVEsRUFBQyxDQUFDO2lCQUM3QixJQUFJLENBQUM7Z0JBQ0YsSUFBRyxJQUFJLENBQUMsU0FBUztvQkFDYixFQUFFLENBQUMsRUFBRSxDQUFDLGFBQWEsQ0FBQyxJQUFJLENBQUMsRUFBRSxDQUFDLEVBQUUsQ0FBQyxPQUFPLENBQUMsU0FBUyxFQUFDLEtBQUssQ0FBQyxDQUFDO1lBQ2hFLENBQUMsQ0FBQztpQkFDRCxLQUFLLEVBQUUsQ0FBQztTQUNaO0lBRUwsQ0FBQztJQTl0QkQ7UUFEQyxRQUFRLENBQUMsRUFBRSxDQUFDLFdBQVcsQ0FBQzt3Q0FDQztJQUhULFFBQVE7UUFENUIsT0FBTztPQUNhLFFBQVEsQ0FvdUI1QjtJQUFELGVBQUM7Q0FwdUJELEFBb3VCQyxDQXB1QnFDLEVBQUUsQ0FBQyxTQUFTLEdBb3VCakQ7a0JBcHVCb0IsUUFBUSIsImZpbGUiOiIiLCJzb3VyY2VSb290IjoiLyIsInNvdXJjZXNDb250ZW50IjpbIi8vIExlYXJuIFR5cGVTY3JpcHQ6XHJcbi8vICAtIGh0dHBzOi8vZG9jcy5jb2Nvcy5jb20vY3JlYXRvci9tYW51YWwvZW4vc2NyaXB0aW5nL3R5cGVzY3JpcHQuaHRtbFxyXG4vLyBMZWFybiBBdHRyaWJ1dGU6XHJcbi8vICAtIGh0dHBzOi8vZG9jcy5jb2Nvcy5jb20vY3JlYXRvci9tYW51YWwvZW4vc2NyaXB0aW5nL3JlZmVyZW5jZS9hdHRyaWJ1dGVzLmh0bWxcclxuLy8gTGVhcm4gbGlmZS1jeWNsZSBjYWxsYmFja3M6XHJcbi8vICAtIGh0dHBzOi8vZG9jcy5jb2Nvcy5jb20vY3JlYXRvci9tYW51YWwvZW4vc2NyaXB0aW5nL2xpZmUtY3ljbGUtY2FsbGJhY2tzLmh0bWxcclxuXHJcbmNvbnN0IHtjY2NsYXNzLCBwcm9wZXJ0eX0gPSBjYy5fZGVjb3JhdG9yO1xyXG5cclxuZXhwb3J0IGVudW0gQmxvY2tUeXBle1xyXG4gICAgLyrmma7pgJrlnLDlnZcgKi9cclxuICAgIE5vbWFsID0gMCwgIFxyXG4gICAgLyrotbfngrnlnLDlnZcgKi9cclxuICAgIFN0YXJ0ID0gMSwgIFxyXG4gICAgLyrmub/lnLAgKi9cclxuICAgIE51bmphID0gMixcclxuICAgIC8q5bGx5bOwICovXHJcbiAgICBQZWFrID0gMyxcclxuICAgIC8q57uI54K55Zyw5Z2XICovXHJcbiAgICBFbmQgPSA0LFxyXG5cclxuICAgIC8q5oGv5aOkICovXHJcbiAgICBYaV9Tb2lsID0gNSxcclxuICAgIC8q5Yqg5Zu6ICovXHJcbiAgICBSZWluZm9yY2UgPSA2XHJcbn1cclxuXHJcbmV4cG9ydCBlbnVtIFBhdGhUeXBle1xyXG4gICAgZXJyID0gXCJlcnJcIixcclxuICAgIHVwID0gXCJ1cFwiLCAgXHJcbiAgICBkb3duID0gXCJkb3duXCIsICBcclxuICAgIGxlZnQgPSBcImxlZnRcIixcclxuICAgIHJpZ2h0ID0gXCJyaWdodFwiLFxyXG4gICAgdXBfbGVmdCA9IFwidXBfbGVmdFwiLFxyXG4gICAgdXBfcmlnaHQgPSBcInVwX3JpZ2h0XCIsXHJcbiAgICBkb3duX2xlZnQgPSBcImRvd25fbGVmdFwiLFxyXG4gICAgZG93bl9yaWdodCA9IFwiZG93bl9yaWdodFwiLFxyXG4gICAgbGVmdF91cCA9IFwibGVmdF91cFwiLFxyXG4gICAgbGVmdF9kb3duID0gXCJsZWZ0X2Rvd25cIixcclxuICAgIHJpZ2h0X3VwID0gXCJyaWdodF91cFwiLFxyXG4gICAgcmlnaHRfZG93biA9IFwicmlnaHRfZG93blwiLFxyXG59XHJcblxyXG5AY2NjbGFzc1xyXG5leHBvcnQgZGVmYXVsdCBjbGFzcyBOZXdDbGFzcyBleHRlbmRzIGNjLkNvbXBvbmVudCB7XHJcbiAgICAvLyBMSUZFLUNZQ0xFIENBTExCQUNLUzpcclxuICAgIEBwcm9wZXJ0eShjYy5TcHJpdGVBdGxhcylcclxuICAgIFVJOiBjYy5TcHJpdGVBdGxhcyA9IG51bGw7XHJcblxyXG4gICAgcG9zX1NoaWZ0aW5nOm51bWJlcjtcclxuICAgIGJsb2NrX1R5cGU6bnVtYmVyO1xyXG4gICAgcGF0aF9UeXBlOnN0cmluZztcclxuICAgIGZpbmlzaGk6Ym9vbGVhbjtcclxuICAgIHBvczogYW55O1xyXG4gICAgb25Mb2FkICgpIHtcclxuICAgICAgICB0aGlzLmZpbmlzaGkgPSBmYWxzZTtcclxuICAgICAgICB0aGlzLnBvc19TaGlmdGluZyA9IDA7XHJcbiAgICAgICAgdGhpcy5wb3MgPSBjYy52MigwLDApO1xyXG4gICAgfVxyXG5cclxuICAgIHN0YXJ0ICgpIHtcclxuICAgICAgICBcclxuICAgIH1cclxuICAgIC8v5Yid5aeL5YyW5Zyw5Zu+5Z2X5pWw5o2uXHJcbiAgICBpbml0RGF0YSh0eXBlLHBvcyxtYXgpe1xyXG4gICAgICAgIHRoaXMuYmxvY2tfVHlwZSA9IHR5cGU7XHJcbiAgICAgICAgdGhpcy5wb3MgPSBjYy52Mihwb3MueCxwb3MueSk7XHJcbiAgICAgICAgLy8gaWYodGhpcy5wb3MueSUyID09IDApIHRoaXMubm9kZS5nZXRDaGlsZEJ5TmFtZShcInRpcFwiKS5hY3RpdmUgPSB0cnVlO1xyXG4gICAgICAgIGlmKHR5cGUgPT0gY2MuRW51bShCbG9ja1R5cGUpLlN0YXJ0KXsgXHJcbiAgICAgICAgICAgIHZhciBiZyA9IHRoaXMubm9kZS5nZXRDaGlsZEJ5TmFtZShcInNwXCIpO1xyXG4gICAgICAgICAgICAvLyB0aGlzLm5vZGUuZ2V0Q29tcG9uZW50KGNjLlNwcml0ZSkuc3ByaXRlRnJhbWUgPSBudWxsO1xyXG4gICAgICAgICAgICBiZy5nZXRDb21wb25lbnQoY2MuU3ByaXRlKS5zcHJpdGVGcmFtZSA9IHRoaXMuVUlbXCJfc3ByaXRlRnJhbWVzXCJdW1wic3RhcnRcIl07XHJcbiAgICAgICAgICAgIGlmKGNjLmZ4LkdhbWVDb25maWcuR01fSU5GTy5sZXZlbCA+IDMpe1xyXG4gICAgICAgICAgICAgICAgYmcuZ2V0Q2hpbGRCeU5hbWUoXCJzdGFydFwiKS55ID0gMjA7XHJcbiAgICAgICAgICAgICAgICBiZy5nZXRDaGlsZEJ5TmFtZShcImVuZFwiKS55ID0gMjA7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgdGhpcy5yb3RhdGVUYXJnZXQoYmcsXCJzdGFydFwiLHBvcyxtYXgpO1xyXG4gICAgICAgIH1cclxuICAgICAgICBlbHNlIGlmKHR5cGUgPT0gY2MuRW51bShCbG9ja1R5cGUpLkVuZCl7XHJcbiAgICAgICAgICAgIHZhciBiZyA9IHRoaXMubm9kZS5nZXRDaGlsZEJ5TmFtZShcInNwXCIpO1xyXG4gICAgICAgICAgICAvLyB0aGlzLm5vZGUuZ2V0Q29tcG9uZW50KGNjLlNwcml0ZSkuc3ByaXRlRnJhbWUgPSBudWxsO1xyXG4gICAgICAgICAgICBiZy5nZXRDb21wb25lbnQoY2MuU3ByaXRlKS5zcHJpdGVGcmFtZSA9IHRoaXMuVUlbXCJfc3ByaXRlRnJhbWVzXCJdW1wiZW5kXCJdO1xyXG4gICAgICAgICAgICAgICAgICAgICAgICBpZihjYy5meC5HYW1lQ29uZmlnLkdNX0lORk8ubGV2ZWwgPiAzKXtcclxuICAgICAgICAgICAgICAgIGJnLmdldENoaWxkQnlOYW1lKFwic3RhcnRcIikueSA9IDIwO1xyXG4gICAgICAgICAgICAgICAgYmcuZ2V0Q2hpbGRCeU5hbWUoXCJlbmRcIikueSA9IDIwO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIHRoaXMucm90YXRlVGFyZ2V0KGJnLFwiZW5kXCIscG9zLG1heCk7XHJcbiAgICAgICAgfVxyXG4gICAgICAgIGVsc2UgaWYodHlwZSA9PSBjYy5FbnVtKEJsb2NrVHlwZSkuTnVuamEpe1xyXG4gICAgICAgICAgICBsZXQgcmFuZG9tID0gTWF0aC5mbG9vcihNYXRoLnJhbmRvbSgpKjQpO1xyXG4gICAgICAgICAgICBsZXQgcm90YXRpb25BcnIgPSBbMCw5MCwxODAsMjcwXTtcclxuICAgICAgICAgICAgbGV0IHJvdGF0aW9uID0gcm90YXRpb25BcnJbcmFuZG9tXTtcclxuICAgICAgICAgICAgdGhpcy5ub2RlLmdldENoaWxkQnlOYW1lKFwiYmdcIikuZ2V0Q29tcG9uZW50KGNjLlNwcml0ZSkuc3ByaXRlRnJhbWUgPSB0aGlzLlVJW1wiX3Nwcml0ZUZyYW1lc1wiXVtcImU1XCJdO1xyXG4gICAgICAgICAgICB0aGlzLm5vZGUuZ2V0Q2hpbGRCeU5hbWUoXCJiZ1wiKS5hbmdsZSA9IC1yb3RhdGlvbjtcclxuICAgICAgICAgICAgdGhpcy5ub2RlLmdldENvbXBvbmVudChjYy5TcHJpdGUpLnNwcml0ZUZyYW1lID0gbnVsbDtcclxuICAgICAgICB9XHJcbiAgICAgICAgZWxzZSBpZih0eXBlID09IGNjLkVudW0oQmxvY2tUeXBlKS5QZWFrKXtcclxuICAgICAgICAgICAgbGV0IHJhbmRvbSA9IE1hdGguZmxvb3IoTWF0aC5yYW5kb20oKSo0KzEpO1xyXG4gICAgICAgICAgICBsZXQgbmFtZSA9IFwic2hhblwiICsgcmFuZG9tO1xyXG4gICAgICAgICAgICB0aGlzLm5vZGUuZ2V0Q2hpbGRCeU5hbWUoXCJiZ1wiKS5nZXRDb21wb25lbnQoY2MuU3ByaXRlKS5zcHJpdGVGcmFtZSA9IHRoaXMuVUlbXCJfc3ByaXRlRnJhbWVzXCJdW25hbWVdO1xyXG4gICAgICAgICAgICB0aGlzLm5vZGUuZ2V0Q29tcG9uZW50KGNjLlNwcml0ZSkuc3ByaXRlRnJhbWUgPSBudWxsO1xyXG4gICAgICAgIH1cclxuICAgICAgICBpZihjYy5meC5HYW1lQ29uZmlnLkdNX0lORk8ubGV2ZWwgPT0gMSl7XHJcbiAgICAgICAgICAgIHRoaXMubm9kZS5nZXRDaGlsZEJ5TmFtZShcInRpcFdpblwiKS5vcGFjaXR5ID0gMjIwO1xyXG4gICAgICAgICAgICB0aGlzLm5vZGUuZ2V0Q2hpbGRCeU5hbWUoXCJ0aXBMb3NlXCIpLm9wYWNpdHkgPSAyMjA7XHJcbiAgICAgICAgfVxyXG4gICAgICAgIGVsc2UgaWYoY2MuZnguR2FtZUNvbmZpZy5HTV9JTkZPLmxldmVsID09IDIpe1xyXG4gICAgICAgICAgICB0aGlzLm5vZGUuZ2V0Q2hpbGRCeU5hbWUoXCJ0aXBXaW5cIikub3BhY2l0eSA9IDEwMDtcclxuICAgICAgICAgICAgdGhpcy5ub2RlLmdldENoaWxkQnlOYW1lKFwidGlwTG9zZVwiKS5vcGFjaXR5ID0gMTAwO1xyXG4gICAgICAgIH1cclxuICAgICAgICBlbHNlIGlmKGNjLmZ4LkdhbWVDb25maWcuR01fSU5GTy5sZXZlbCA9PSAzKXtcclxuICAgICAgICAgICAgdGhpcy5ub2RlLmdldENoaWxkQnlOYW1lKFwidGlwV2luXCIpLm9wYWNpdHkgPSA1MDtcclxuICAgICAgICAgICAgdGhpcy5ub2RlLmdldENoaWxkQnlOYW1lKFwidGlwTG9zZVwiKS5vcGFjaXR5ID0gNTA7XHJcbiAgICAgICAgfVxyXG4gICAgICAgIGVsc2UgaWYoY2MuZnguR2FtZUNvbmZpZy5HTV9JTkZPLmxldmVsID4gMyl7XHJcbiAgICAgICAgICAgIHRoaXMubm9kZS5nZXRDaGlsZEJ5TmFtZShcInRpcFdpblwiKS5vcGFjaXR5ID0gMDtcclxuICAgICAgICAgICAgdGhpcy5ub2RlLmdldENoaWxkQnlOYW1lKFwidGlwTG9zZVwiKS5vcGFjaXR5ID0gMDtcclxuICAgICAgICB9XHJcbiAgXHJcbiAgICB9XHJcbiAgICAvL+aXi+i9rOWFpea1t+WPo+WSjOWHuua1t+WPo+eahCDlm77niYfku6Xlj4rmloflrZfop5LluqZcclxuICAgIHJvdGF0ZVRhcmdldChiZyxuYW1lLHBvcyxtYXgpe1xyXG4gICAgICAgIGxldCB0YXJnZXQgPSBiZy5nZXRDaGlsZEJ5TmFtZShuYW1lKTtcclxuICAgICAgICBpZihwb3MueSA9PSBtYXgueS0xKXtcclxuICAgICAgICAgICAgYmcuYW5nbGUgPSAwO1xyXG4gICAgICAgICAgICBpZihuYW1lID09IFwiZW5kXCIpIHRhcmdldC5nZXRDb21wb25lbnQoY2MuU3ByaXRlKS5zcHJpdGVGcmFtZSA9IHRoaXMuVUlbXCJfc3ByaXRlRnJhbWVzXCJdW1wiZW5kX3hcIl07XHJcbiAgICAgICAgICAgIHRhcmdldC5hY3RpdmUgPSB0cnVlO1xyXG4gICAgICAgICAgICB0YXJnZXQuYW5nbGUgPSAwO1xyXG4gICAgICAgICAgICByZXR1cm47XHJcbiAgICAgICAgfVxyXG4gICAgICAgIGVsc2UgaWYocG9zLnkgPT0gMCl7XHJcbiAgICAgICAgICAgIGJnLmFuZ2xlID0gLTE4MDtcclxuICAgICAgICAgICAgaWYobmFtZSA9PSBcImVuZFwiKXRhcmdldC5nZXRDb21wb25lbnQoY2MuU3ByaXRlKS5zcHJpdGVGcmFtZSA9IHRoaXMuVUlbXCJfc3ByaXRlRnJhbWVzXCJdW1wiZW5kX3hcIl07XHJcbiAgICAgICAgICAgIHRhcmdldC5hY3RpdmUgPSB0cnVlO1xyXG4gICAgICAgICAgICB0YXJnZXQuYW5nbGUgPSAtMTgwO1xyXG4gICAgICAgICAgICByZXR1cm47XHJcbiAgICAgICAgfVxyXG4gICAgICAgIGVsc2UgaWYocG9zLnggPT0gbWF4LngtMSl7XHJcbiAgICAgICAgICAgIGJnLmFuZ2xlID0gOTA7XHJcbiAgICAgICAgICAgIGlmKG5hbWUgPT0gXCJzdGFydFwiKXRhcmdldC5nZXRDb21wb25lbnQoY2MuU3ByaXRlKS5zcHJpdGVGcmFtZSA9IHRoaXMuVUlbXCJfc3ByaXRlRnJhbWVzXCJdW1wic3RhcnRfeVwiXTtcclxuICAgICAgICAgICAgZWxzZSB0YXJnZXQuZ2V0Q29tcG9uZW50KGNjLlNwcml0ZSkuc3ByaXRlRnJhbWUgPSB0aGlzLlVJW1wiX3Nwcml0ZUZyYW1lc1wiXVtcImVuZF95XCJdO1xyXG4gICAgICAgICAgICB0YXJnZXQuYWN0aXZlID0gdHJ1ZTtcclxuICAgICAgICAgICAgdGFyZ2V0LmFuZ2xlID0gLTkwO1xyXG4gICAgICAgIH1cclxuICAgICAgICBlbHNlIGlmKHBvcy54ID09IDApe1xyXG4gICAgICAgICAgICBiZy5hbmdsZSA9IC05MDtcclxuICAgICAgICAgICAgaWYobmFtZSA9PSBcInN0YXJ0XCIpdGFyZ2V0LmdldENvbXBvbmVudChjYy5TcHJpdGUpLnNwcml0ZUZyYW1lID0gdGhpcy5VSVtcIl9zcHJpdGVGcmFtZXNcIl1bXCJzdGFydF95XCJdO1xyXG4gICAgICAgICAgICBlbHNlIHRhcmdldC5nZXRDb21wb25lbnQoY2MuU3ByaXRlKS5zcHJpdGVGcmFtZSA9IHRoaXMuVUlbXCJfc3ByaXRlRnJhbWVzXCJdW1wiZW5kX3lcIl07XHJcbiAgICAgICAgICAgIHRhcmdldC5hY3RpdmUgPSB0cnVlO1xyXG4gICAgICAgICAgICB0YXJnZXQuYW5nbGUgPSA5MDtcclxuICAgICAgICB9XHJcbiAgICB9XHJcblxyXG4gICAgc2V0UGF0aCh0eXBlKXtcclxuICAgICAgICB0aGlzLnBhdGhfVHlwZSA9IHR5cGU7XHJcbiAgICB9XHJcbiAgICAvL+iuvue9ruaBr+WjpOWcqOi1t+eCuVxyXG4gICAgc2V0X1hpX1NvaWwoZGlyZWN0aW9uLHR5cGUpe1xyXG4gICAgICAgIGxldCBzcCA9IHRoaXMubm9kZS5nZXRDaGlsZEJ5TmFtZShcInNwXCIpO1xyXG4gICAgICAgIGxldCB0dXJuID0gdGhpcy5ub2RlLmdldENoaWxkQnlOYW1lKFwidHVyblN0YXJ0XCIpO1xyXG4gICAgICAgIGxldCB3YXRlciA9IHRoaXMubm9kZS5nZXRDaGlsZEJ5TmFtZShcIndhdGVyU3RhcnRcIik7XHJcblxyXG4gICAgICAgIGlmKGRpcmVjdGlvbiA9PSBcImxlZnRcIiB8fCBkaXJlY3Rpb24gPT0gXCJyaWdodFwiKXtcclxuICAgICAgICAgICAgaWYoc3AuYW5nbGUgPT0gMCl7XHJcbiAgICAgICAgICAgICAgICB0dXJuLmFjdGl2ZSA9dHJ1ZTtcclxuICAgICAgICAgICAgICAgIHdhdGVyLmFjdGl2ZSA9IHRydWU7XHJcbiAgICAgICAgICAgICAgICB3YXRlci5vcGFjaXR5ID0gMDtcclxuICAgICAgICAgICAgICAgIGlmKHR5cGUpe1xyXG4gICAgICAgICAgICAgICAgICAgIHR1cm4uYW5nbGUgPSBkaXJlY3Rpb249PVwibGVmdFwiPzkwOjA7XHJcbiAgICAgICAgICAgICAgICAgICAgd2F0ZXIuYW5nbGUgPSBkaXJlY3Rpb249PVwibGVmdFwiPzkwOjA7XHJcblxyXG4gICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgZWxzZXtcclxuICAgICAgICAgICAgICAgICAgICB0dXJuLmFuZ2xlID0gZGlyZWN0aW9uPT1cImxlZnRcIj8wOjkwO1xyXG4gICAgICAgICAgICAgICAgICAgIHdhdGVyLmFuZ2xlID0gZGlyZWN0aW9uPT1cImxlZnRcIj8wOjkwO1xyXG4gICAgICAgICAgICAgICAgfVxyXG5cclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICBlbHNlIGlmKHNwLmFuZ2xlID09IC0xODApe1xyXG4gICAgICAgICAgICAgICAgdHVybi5hY3RpdmUgPXRydWU7XHJcbiAgICAgICAgICAgICAgICB3YXRlci5hY3RpdmUgPSB0cnVlO1xyXG4gICAgICAgICAgICAgICAgd2F0ZXIub3BhY2l0eSA9IDA7XHJcbiAgICAgICAgICAgICAgICBpZih0eXBlKXtcclxuICAgICAgICAgICAgICAgICAgICB0dXJuLmFuZ2xlID0gZGlyZWN0aW9uPT1cImxlZnRcIj8tMTgwOi05MDtcclxuICAgICAgICAgICAgICAgICAgICB3YXRlci5hbmdsZSA9IGRpcmVjdGlvbj09XCJsZWZ0XCI/LTE4MDotOTA7XHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICBlbHNle1xyXG4gICAgICAgICAgICAgICAgICAgIHR1cm4uYW5nbGUgPSBkaXJlY3Rpb249PVwibGVmdFwiPzI3MDotMTgwO1xyXG4gICAgICAgICAgICAgICAgICAgIHdhdGVyLmFuZ2xlID0gZGlyZWN0aW9uPT1cImxlZnRcIj8yNzA6LTE4MDtcclxuICAgICAgICAgICAgICAgIH1cclxuXHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgZWxzZSBpZihzcC5hbmdsZSA9PSAtOTApe1xyXG4gICAgICAgICAgICAgICAgdHVybi5hY3RpdmUgPXRydWU7XHJcbiAgICAgICAgICAgICAgICB0dXJuLmdldENvbXBvbmVudChjYy5TcHJpdGUpLnNwcml0ZUZyYW1lID0gdGhpcy5VSVtcIl9zcHJpdGVGcmFtZXNcIl1bXCJhMVwiXTtcclxuICAgICAgICAgICAgICAgIHR1cm4uYW5nbGUgPSA5MDtcclxuICAgICAgICAgICAgICAgIGlmKHR5cGUpe1xyXG4gICAgICAgICAgICAgICAgICAgIHdhdGVyLmFjdGl2ZSA9IHRydWU7XHJcbiAgICAgICAgICAgICAgICAgICAgd2F0ZXIuYW5nbGUgPSA5MDtcclxuICAgICAgICAgICAgICAgICAgICB3YXRlci5nZXRDb21wb25lbnQoY2MuU3ByaXRlKS5zcHJpdGVGcmFtZSA9IHRoaXMuVUlbXCJfc3ByaXRlRnJhbWVzXCJdW1wiYmxvY2sxXCJdO1xyXG4gICAgICAgICAgICAgICAgICAgIHdhdGVyLm9wYWNpdHkgPSAwO1xyXG4gICAgICAgICAgICAgICAgfVxyXG5cclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICBlbHNlIGlmKHNwLmFuZ2xlID09IDkwKXtcclxuICAgICAgICAgICAgICAgIHR1cm4uYWN0aXZlID10cnVlO1xyXG4gICAgICAgICAgICAgICAgdHVybi5nZXRDb21wb25lbnQoY2MuU3ByaXRlKS5zcHJpdGVGcmFtZSA9IHRoaXMuVUlbXCJfc3ByaXRlRnJhbWVzXCJdW1wiYTFcIl07XHJcbiAgICAgICAgICAgICAgICB0dXJuLmFuZ2xlID0gOTA7XHJcbiAgICAgICAgICAgICAgICBpZih0eXBlKXtcclxuICAgICAgICAgICAgICAgICAgICB3YXRlci5hY3RpdmUgPSB0cnVlO1xyXG4gICAgICAgICAgICAgICAgICAgIHdhdGVyLmFuZ2xlID0gOTA7XHJcbiAgICAgICAgICAgICAgICAgICAgd2F0ZXIuZ2V0Q29tcG9uZW50KGNjLlNwcml0ZSkuc3ByaXRlRnJhbWUgPSB0aGlzLlVJW1wiX3Nwcml0ZUZyYW1lc1wiXVtcImJsb2NrMVwiXTtcclxuICAgICAgICAgICAgICAgICAgICB3YXRlci5vcGFjaXR5ID0gMDtcclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIFxyXG4gICAgICAgIH1cclxuICAgICAgICBlbHNlIGlmKGRpcmVjdGlvbiA9PSBcInVwXCIgfHwgZGlyZWN0aW9uID09IFwiZG93blwiKXtcclxuICAgICAgICAgICAgbGV0IHNwID0gdGhpcy5ub2RlLmdldENoaWxkQnlOYW1lKFwic3BcIik7XHJcbiAgICAgICAgICAgIGlmKHNwLmFuZ2xlID09IC05MCl7XHJcbiAgICAgICAgICAgICAgICB0dXJuLmFjdGl2ZSA9dHJ1ZTtcclxuICAgICAgICAgICAgICAgIHdhdGVyLmFjdGl2ZSA9IHRydWU7XHJcbiAgICAgICAgICAgICAgICB3YXRlci5vcGFjaXR5ID0gMDtcclxuICAgICAgICAgICAgICAgIGlmKHR5cGUpe1xyXG4gICAgICAgICAgICAgICAgICAgIHR1cm4uYW5nbGUgPSBkaXJlY3Rpb249PVwidXBcIj8wOi05MDtcclxuICAgICAgICAgICAgICAgICAgICB3YXRlci5hbmdsZSA9IGRpcmVjdGlvbj09XCJ1cFwiPzA6LTkwO1xyXG4gICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgZWxzZXtcclxuICAgICAgICAgICAgICAgICAgICB0dXJuLmFuZ2xlID0gZGlyZWN0aW9uPT1cInVwXCI/LTkwOjA7XHJcbiAgICAgICAgICAgICAgICAgICAgd2F0ZXIuYW5nbGUgPSBkaXJlY3Rpb249PVwidXBcIj8tOTA6MDtcclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICBlbHNlIGlmKHNwLmFuZ2xlID09IDkwKXtcclxuICAgICAgICAgICAgICAgIHR1cm4uYWN0aXZlID0gdHJ1ZTtcclxuICAgICAgICAgICAgICAgIHdhdGVyLmFjdGl2ZSA9IHRydWU7XHJcbiAgICAgICAgICAgICAgICB3YXRlci5vcGFjaXR5ID0gMDtcclxuICAgICAgICAgICAgICAgIGlmKHR5cGUpe1xyXG4gICAgICAgICAgICAgICAgICAgIHR1cm4uYW5nbGUgPSBkaXJlY3Rpb249PVwidXBcIj85MDoxODA7XHJcbiAgICAgICAgICAgICAgICAgICAgd2F0ZXIuYW5nbGUgPSBkaXJlY3Rpb249PVwidXBcIj85MDoxODA7XHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICBlbHNle1xyXG4gICAgICAgICAgICAgICAgICAgIHR1cm4uYW5nbGUgPSBkaXJlY3Rpb249PVwidXBcIj8xODA6OTA7XHJcbiAgICAgICAgICAgICAgICAgICAgd2F0ZXIuYW5nbGUgPSBkaXJlY3Rpb249PVwidXBcIj8xODA6OTA7XHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgXHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgZWxzZSBpZihzcC5hbmdsZSA9PSAwKXtcclxuICAgICAgICAgICAgICAgIHR1cm4uYWN0aXZlID10cnVlO1xyXG4gICAgICAgICAgICAgICAgdHVybi5nZXRDb21wb25lbnQoY2MuU3ByaXRlKS5zcHJpdGVGcmFtZSA9IHRoaXMuVUlbXCJfc3ByaXRlRnJhbWVzXCJdW1wiYTFcIl07XHJcbiAgICAgICAgICAgICAgICB0dXJuLmFuZ2xlID0gMDtcclxuICAgICAgICAgICAgICAgIGlmKHR5cGUpe1xyXG4gICAgICAgICAgICAgICAgICAgIHdhdGVyLmFjdGl2ZSA9IHRydWU7XHJcbiAgICAgICAgICAgICAgICAgICAgd2F0ZXIuZ2V0Q29tcG9uZW50KGNjLlNwcml0ZSkuc3ByaXRlRnJhbWUgPSB0aGlzLlVJW1wiX3Nwcml0ZUZyYW1lc1wiXVtcImJsb2NrMVwiXTtcclxuICAgICAgICAgICAgICAgICAgICB3YXRlci5vcGFjaXR5ID0gMDtcclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICBlbHNlIGlmKHNwLmFuZ2xlID09IC0xODApe1xyXG4gICAgICAgICAgICAgICAgdHVybi5hY3RpdmUgPXRydWU7XHJcbiAgICAgICAgICAgICAgICB0dXJuLmdldENvbXBvbmVudChjYy5TcHJpdGUpLnNwcml0ZUZyYW1lID0gdGhpcy5VSVtcIl9zcHJpdGVGcmFtZXNcIl1bXCJhMVwiXTtcclxuICAgICAgICAgICAgICAgIHR1cm4uYW5nbGUgPSAwO1xyXG4gICAgICAgICAgICAgICAgaWYodHlwZSl7XHJcbiAgICAgICAgICAgICAgICAgICAgd2F0ZXIuYWN0aXZlID0gdHJ1ZTtcclxuICAgICAgICAgICAgICAgICAgICB3YXRlci5nZXRDb21wb25lbnQoY2MuU3ByaXRlKS5zcHJpdGVGcmFtZSA9IHRoaXMuVUlbXCJfc3ByaXRlRnJhbWVzXCJdW1wiYmxvY2sxXCJdO1xyXG4gICAgICAgICAgICAgICAgICAgIHdhdGVyLm9wYWNpdHkgPSAwO1xyXG4gICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG4gICAgLy/mga/lo6TlhbfkvZPmiafooYzmlrnms5UgIOWklumDqOWPr+iwg+eUqFxyXG4gICAgc2V0X1hpX1NvaWxUeXBlKGRpcmVjdGlvbixlbmQsbmFtZSl7XHJcbiAgICAgICAgLy8gY29uc29sZS5sb2coXCLmga/lo6RcIixkaXJlY3Rpb24sbmFtZSx0aGlzLmJsb2NrX1R5cGUpO1xyXG4gICAgICAgIHZhciBqZyA9IHRoaXMucmVwZWF0Um9hZCh0cnVlLGRpcmVjdGlvbik7XHJcbiAgICAgICAgY29uc29sZS5sb2coXCLmga/lo6Tph43lpI3liKTmlq3nu5PmnpxcIixqZyk7XHJcbiAgICAgICAgaWYoamcgPT0gdHJ1ZSkgcmV0dXJuO1xyXG5cclxuICAgICAgICBpZih0aGlzLmJsb2NrX1R5cGUgPT0gY2MuRW51bShCbG9ja1R5cGUpLlN0YXJ0KXtcclxuICAgICAgICAgICAgdGhpcy5zZXRfWGlfU29pbChkaXJlY3Rpb24sZmFsc2UpO1xyXG4gICAgICAgICAgICByZXR1cm47XHJcbiAgICAgICAgfVxyXG5cclxuICAgICAgICBpZih0aGlzLmJsb2NrX1R5cGUgPT0gY2MuRW51bShCbG9ja1R5cGUpLk51bmphKXtcclxuICAgICAgICAgICAgdGhpcy5ibG9ja19UeXBlID0gY2MuRW51bShCbG9ja1R5cGUpLk5vbWFsO1xyXG4gICAgICAgICAgICB0aGlzLm5vZGUuZ2V0Q2hpbGRCeU5hbWUoXCJiZ1wiKS5nZXRDb21wb25lbnQoY2MuU3ByaXRlKS5zcHJpdGVGcmFtZSA9IG51bGw7XHJcbiAgICAgICAgICAgIHRoaXMubm9kZS5nZXRDb21wb25lbnQoY2MuU3ByaXRlKS5zcHJpdGVGcmFtZSA9ICB0aGlzLlVJW1wiX3Nwcml0ZUZyYW1lc1wiXVtcImJsb2NrX0JnXCJdO1xyXG4gICAgICAgIH1cclxuICAgICAgICBpZihlbmQgIT0gbnVsbCl7XHJcbiAgICAgICAgICAgIGlmKHRoaXMuYmxvY2tfVHlwZSA9PSBjYy5FbnVtKEJsb2NrVHlwZSkuRW5kKXtcclxuICAgICAgICAgICAgICAgIHRoaXMuZmluaXNoaSA9IHRydWU7XHJcbiAgICAgICAgICAgICAgICBzZXRUaW1lb3V0KCgpID0+IHtcclxuICAgICAgICAgICAgICAgICAgICB0aGlzLnNldF9YaV9Tb2lsKGRpcmVjdGlvbix0cnVlKTtcclxuICAgICAgICAgICAgICAgIH0sIDUwMCk7XHJcbiAgICAgICAgIFxyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIHNldFRpbWVvdXQoKCkgPT4ge1xyXG4gICAgICAgICAgICAgICAgaWYobmFtZSA9PSBcIndhdGVyXCIpIGNjLmZ4Lk5vdGlmaWNhdGlvbnMuZW1pdChjYy5meC5NZXNzYWdlLm5leHRXYXRlciwoZW5kKzEpKTtcclxuICAgICAgICAgICAgICAgIGVsc2UgY2MuZnguTm90aWZpY2F0aW9ucy5lbWl0KGNjLmZ4Lk1lc3NhZ2UubmV4dCwoZW5kKzEpKTtcclxuICAgICAgICAgICAgfSwgNDAwKTtcclxuICAgICAgICB9XHJcblxyXG4gICAgICAgIGlmKHRoaXMuYmxvY2tfVHlwZSAhPSBjYy5FbnVtKEJsb2NrVHlwZSkuRW5kICYmIHRoaXMuYmxvY2tfVHlwZSAhPSBjYy5FbnVtKEJsb2NrVHlwZSkuU3RhcnQpe1xyXG4gICAgICAgICAgICB0aGlzLmJsb2NrX1R5cGUgPSBjYy5FbnVtKEJsb2NrVHlwZSkuWGlfU29pbDtcclxuICAgICAgICB9IFxyXG4gICAgICAgIGVsc2V7XHJcbiAgICAgICAgfVxyXG4gICAgICAgIGxldCB0YXJnZXQgPSB0aGlzLm5vZGUuZ2V0Q2hpbGRCeU5hbWUoXCJYaV9Tb2lsXCIpOyBcclxuICAgICAgICB0aGlzLnBhdGhfVHlwZSA9IGRpcmVjdGlvbjtcclxuICAgICAgICB0YXJnZXQuYWN0aXZlID0gdHJ1ZTtcclxuICAgICAgICB0YXJnZXQub3BhY2l0eSA9IDA7XHJcbiAgICAgICAgY2MudHdlZW4odGFyZ2V0KVxyXG4gICAgICAgIC50bygwLjEse29wYWNpdHk6MjU1fSlcclxuICAgICAgICAudG8oMC4xLHtvcGFjaXR5OjB9KVxyXG4gICAgICAgIC5jYWxsKCgpID0+e1xyXG4gICAgICAgICAgICBpZihkaXJlY3Rpb24gIT0gbnVsbCAmJiBlbmQgPT0gbnVsbCl7XHJcbiAgICAgICAgICAgICAgICBsZXQgZGF0YSA9IHtcclxuICAgICAgICAgICAgICAgICAgICBvcmRlcjowLFxyXG4gICAgICAgICAgICAgICAgICAgIHRpbWU6Y2MuZnguR2FtZUNvbmZpZy5USU1FX0lORk8ud2F0ZXJTcGVlZFswXSxcclxuICAgICAgICAgICAgICAgICAgICB0eXBlOjAsXHJcbiAgICAgICAgICAgICAgICAgICAgY2lyY3VsYXRlOmZhbHNlXHJcbiAgICAgICAgICAgICAgICB9O1xyXG4gICAgICAgICAgICAgICAgaWYobmFtZSA9PSBcIndhdGVyXCIpe1xyXG4gICAgICAgICAgICAgICAgICAgIHRoaXMucnVuV2F0ZXIoZGF0YSk7XHJcbiAgICAgICAgICAgICAgICB9IFxyXG4gICAgICAgICAgICAgICAgZWxzZSB0aGlzLnJ1blJvYWQoZGF0YSk7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9KVxyXG4gICAgICAgIC5zdGFydCgpO1xyXG4gICAgfVxyXG4gICAgLy/liKTmlq3ph43lpI3ot6/lvoQgXHJcbiAgICByZXBlYXRSb2FkKHR5cGUsZGlyZWN0aW9uKXtcclxuICAgICAgICAvL+WmguaenOWPjOWQkemDveWNoOeUqOS6hui/mOi/m+adpeWwseeul+atu+S6hi0gXHJcbiAgICAgICAgdmFyIGpnID0gZmFsc2U7XHJcbiAgICAgICAgaWYodGhpcy5ub2RlLmdldENoaWxkQnlOYW1lKFwidmVydGljYWwyXCIpLmFjdGl2ZSA9PSB0cnVlICYmIHRoaXMubm9kZS5nZXRDaGlsZEJ5TmFtZShcImhvcml6b250YWwyXCIpLmFjdGl2ZSA9PSB0cnVlKXtcclxuICAgICAgICAgICAgLy8gYWxlcnQoXCLmsrvmsLTlpLHotKVcIik7XHJcbiAgICAgICAgICAgIGpnID0gdHJ1ZTtcclxuICAgICAgICAgICAgaWYodHlwZSl7XHJcbiAgICAgICAgICAgICAgICBjYy5meC5Ob3RpZmljYXRpb25zLmVtaXQoY2MuZnguTWVzc2FnZS5zaG93UmVzdWx0LFwibG9zZVwiKTtcclxuICAgICAgICAgICAgICAgIGNjLmZ4Lk5vdGlmaWNhdGlvbnMuZW1pdChjYy5meC5NZXNzYWdlLnNldERhdGEsZmFsc2UpO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG5cclxuICAgICAgICBlbHNlIGlmKHRoaXMubm9kZS5nZXRDaGlsZEJ5TmFtZShcInR1cm4yXCIpLmFjdGl2ZSA9PSB0cnVlICYmIHRoaXMuYmxvY2tfVHlwZSAhPSBjYy5FbnVtKEJsb2NrVHlwZSkuWGlfU29pbCl7XHJcbiAgICAgICAgICAgIC8vIGFsZXJ0KFwi5rK75rC05aSx6LSlXCIpO1xyXG4gICAgICAgICAgICBqZyA9IHRydWU7XHJcbiAgICAgICAgICAgIGlmKHR5cGUpe1xyXG4gICAgICAgICAgICAgICAgY2MuZnguTm90aWZpY2F0aW9ucy5lbWl0KGNjLmZ4Lk1lc3NhZ2Uuc2hvd1Jlc3VsdCxcImxvc2VcIik7XHJcbiAgICAgICAgICAgICAgICBjYy5meC5Ob3RpZmljYXRpb25zLmVtaXQoY2MuZnguTWVzc2FnZS5zZXREYXRhLGZhbHNlKTtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuXHJcbiAgICAgICAgaWYoZGlyZWN0aW9uKXtcclxuICAgICAgICAgICAgaWYodGhpcy5ub2RlLmdldENoaWxkQnlOYW1lKFwidmVydGljYWwyXCIpLmFjdGl2ZSA9PSB0cnVlICYmIHRoaXMuYmxvY2tfVHlwZSA9PSBjYy5FbnVtKEJsb2NrVHlwZSkuWGlfU29pbCAmJiAoZGlyZWN0aW9uID09IFwidXBcInx8IGRpcmVjdGlvbiA9PVwiZG93blwiKSl7XHJcbiAgICAgICAgICAgICAgICAvLyBhbGVydChcIuayu+awtOWksei0pVwiKTtcclxuICAgICAgICAgICAgICAgIGpnID0gdHJ1ZTtcclxuICAgICAgICAgICAgICAgIGlmKHR5cGUpe1xyXG4gICAgICAgICAgICAgICAgICAgIGNjLmZ4Lk5vdGlmaWNhdGlvbnMuZW1pdChjYy5meC5NZXNzYWdlLnNob3dSZXN1bHQsXCJsb3NlXCIpO1xyXG4gICAgICAgICAgICAgICAgICAgIGNjLmZ4Lk5vdGlmaWNhdGlvbnMuZW1pdChjYy5meC5NZXNzYWdlLnNldERhdGEsZmFsc2UpO1xyXG4gICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIGVsc2UgaWYodGhpcy5ub2RlLmdldENoaWxkQnlOYW1lKFwiaG9yaXpvbnRhbDJcIikuYWN0aXZlID09IHRydWUgJiYgdGhpcy5ibG9ja19UeXBlID09IGNjLkVudW0oQmxvY2tUeXBlKS5YaV9Tb2lsICYmIChkaXJlY3Rpb24gPT0gXCJyaWdodFwifHwgZGlyZWN0aW9uID09XCJsZWZ0XCIpKXtcclxuICAgICAgICAgICAgICAgIC8vIGFsZXJ0KFwi5rK75rC05aSx6LSlXCIpO1xyXG4gICAgICAgICAgICAgICAgamcgPSB0cnVlO1xyXG4gICAgICAgICAgICAgICAgaWYodHlwZSl7XHJcbiAgICAgICAgICAgICAgICAgICAgY2MuZnguTm90aWZpY2F0aW9ucy5lbWl0KGNjLmZ4Lk1lc3NhZ2Uuc2hvd1Jlc3VsdCxcImxvc2VcIik7XHJcbiAgICAgICAgICAgICAgICAgICAgY2MuZnguTm90aWZpY2F0aW9ucy5lbWl0KGNjLmZ4Lk1lc3NhZ2Uuc2V0RGF0YSxmYWxzZSk7XHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcblxyXG4gICAgICAgIHJldHVybiBqZztcclxuICAgIH1cclxuXHJcbiAgICAvL+S/ruetkei3r+e6v+aJp+ihjFxyXG4gICAgcnVuUm9hZChkYXRhKXtcclxuICAgICAgICBpZih0aGlzLnBhdGhfVHlwZSA9PSBcImVyclwiKXtcclxuICAgICAgICAgICAgc2V0VGltZW91dCgoKSA9PiB7XHJcbiAgICAgICAgICAgICAgICBpZihkYXRhLmNpcmN1bGF0ZSlcclxuICAgICAgICAgICAgICAgICAgICBjYy5meC5Ob3RpZmljYXRpb25zLmVtaXQoY2MuZnguTWVzc2FnZS5uZXh0LG9yZGVyKTtcclxuICAgICAgICAgICAgfSwgZGF0YS50aW1lKTtcclxuICAgICAgICAgICAgcmV0dXJuO1xyXG4gICAgICAgIH1cclxuICAgICAgICB2YXIgamcgPSB0aGlzLnJlcGVhdFJvYWQodHJ1ZSxudWxsKTtcclxuICAgICAgICBpZihqZyA9PSB0cnVlKSByZXR1cm47XHJcbiAgICAgICAgdmFyIHRhcmdldCA9IG51bGw7XHJcbiAgICAgICAgdmFyIHByb2dyZXNzID0gMTtcclxuICAgICAgICB2YXIgdGltZSA9IGRhdGEudGltZTtcclxuICAgICAgICB2YXIgb3JkZXIgPSBkYXRhLm9yZGVyICsgMTtcclxuICAgICAgICB2YXIgcmFuZG9tID0gTWF0aC5mbG9vcihNYXRoLnJhbmRvbSgpKjQgKyAxKTtcclxuICAgICAgICB0YXJnZXQgPSB0aGlzLm5vZGUuZ2V0Q2hpbGRCeU5hbWUoXCJ2ZXJ0aWNhbDJcIik7XHJcbiAgICAgICAgaWYodGFyZ2V0Lm5hbWUgPT0gXCJ2ZXJ0aWNhbFwiKXtcclxuICAgICAgICAgICAgbGV0IHdhdGVyMSA9IHRhcmdldC5nZXRDaGlsZEJ5TmFtZShcIndhdmVcIikuZ2V0Q2hpbGRCeU5hbWUoXCJ3YXRlcjFcIik7XHJcbiAgICAgICAgICAgIGxldCB3YXRlcjIgPSB0YXJnZXQuZ2V0Q2hpbGRCeU5hbWUoXCJ3YXZlXCIpLmdldENoaWxkQnlOYW1lKFwid2F0ZXIyXCIpO1xyXG4gICAgICAgICAgICBsZXQgd2F0ZXIzID0gdGFyZ2V0LmdldENoaWxkQnlOYW1lKFwid2F2ZVwiKS5nZXRDaGlsZEJ5TmFtZShcIndhdGVyM1wiKTtcclxuICAgICAgICAgICAgbGV0IHRpbWVEZWxheSA9IDAuMTU7XHJcbiAgICAgICAgICAgIHdhdGVyMS5ydW5BY3Rpb24oY2Muc2VxdWVuY2UoY2MubW92ZVRvKDAuNixjYy52Mih3YXRlcjEueCwxMjApKSxjYy5kZWxheVRpbWUodGltZURlbGF5KSxcclxuICAgICAgICAgICAgY2MuY2FsbEZ1bmMoKCk9PntcclxuICAgICAgICAgICAgICAgIHdhdGVyMS55ID0gLTEyMFxyXG4gICAgICAgICAgICB9KSkucmVwZWF0Rm9yZXZlcigpKTtcclxuICAgICAgICAgICAgd2F0ZXIyLnJ1bkFjdGlvbihjYy5zZXF1ZW5jZShjYy5tb3ZlVG8oMC42LGNjLnYyKHdhdGVyMi54LDEyMCkpLGNjLmRlbGF5VGltZSh0aW1lRGVsYXkpLFxyXG4gICAgICAgICAgICBjYy5jYWxsRnVuYygoKT0+e1xyXG4gICAgICAgICAgICAgICAgd2F0ZXIyLnkgPSAtMTIwXHJcbiAgICAgICAgICAgIH0pKS5yZXBlYXRGb3JldmVyKCkpO1xyXG4gICAgICAgICAgICB3YXRlcjMucnVuQWN0aW9uKGNjLnNlcXVlbmNlKGNjLm1vdmVUbygwLjYsY2MudjIod2F0ZXIzLngsMTIwKSksY2MuZGVsYXlUaW1lKHRpbWVEZWxheSksXHJcbiAgICAgICAgICAgIGNjLmNhbGxGdW5jKCgpPT57XHJcbiAgICAgICAgICAgICAgICB3YXRlcjMueSA9IC0xMjBcclxuICAgICAgICAgICAgfSkpLnJlcGVhdEZvcmV2ZXIoKSk7XHJcbiAgICAgICAgfVxyXG5cclxuICAgICAgICB2YXIgbmFtZSA9IFwiYVwiICsgcmFuZG9tO1xyXG4gICAgICAgIGlmKHRoaXMuYmxvY2tfVHlwZSAhPSBjYy5FbnVtKEJsb2NrVHlwZSkuUmVpbmZvcmNlKXRhcmdldC5nZXRDb21wb25lbnQoY2MuU3ByaXRlKS5zcHJpdGVGcmFtZSA9IHRoaXMuVUlbXCJfc3ByaXRlRnJhbWVzXCJdW25hbWVdO1xyXG5cclxuICAgICAgICBpZih0YXJnZXQuYWN0aXZlID09IHRydWUpe1xyXG4gICAgICAgICAgICB0YXJnZXQgPSB0aGlzLm5vZGUuZ2V0Q2hpbGRCeU5hbWUoXCJob3Jpem9udGFsMlwiKTtcclxuICAgICAgICAgICAgbmFtZSA9IFwiYlwiICsgcmFuZG9tO1xyXG4gICAgICAgICAgICBpZih0aGlzLmJsb2NrX1R5cGUgIT0gY2MuRW51bShCbG9ja1R5cGUpLlJlaW5mb3JjZSkgdGFyZ2V0LmdldENvbXBvbmVudChjYy5TcHJpdGUpLnNwcml0ZUZyYW1lID0gdGhpcy5VSVtcIl9zcHJpdGVGcmFtZXNcIl1bbmFtZV07XHJcbiAgICAgICAgfSBcclxuICAgICAgICAvLyBjb25zb2xlLmxvZyh0aGlzLnBhdGhfVHlwZSxkYXRhLm9yZGVyKTtcclxuICAgICAgICBpZih0aGlzLnBhdGhfVHlwZSA9PSBjYy5FbnVtKFBhdGhUeXBlKS51cCl7XHJcbiAgICAgICAgfVxyXG4gICAgICAgIGVsc2UgaWYodGhpcy5wYXRoX1R5cGUgPT0gY2MuRW51bShQYXRoVHlwZSkuZG93bil7XHJcbiAgICAgICAgICAgIHRhcmdldC5hbmdsZSA9IDE4MDtcclxuICAgICAgICB9XHJcbiAgICAgICAgZWxzZSBpZih0aGlzLnBhdGhfVHlwZSA9PSBjYy5FbnVtKFBhdGhUeXBlKS5sZWZ0KXtcclxuICAgICAgICAgICAgdGFyZ2V0LmFuZ2xlID0gOTA7XHJcbiAgICAgICAgICAgIG5hbWUgPSBcImJcIiArIHJhbmRvbTtcclxuICAgICAgICAgICAgaWYodGhpcy5ibG9ja19UeXBlICE9IGNjLkVudW0oQmxvY2tUeXBlKS5SZWluZm9yY2UpIHRhcmdldC5nZXRDb21wb25lbnQoY2MuU3ByaXRlKS5zcHJpdGVGcmFtZSA9IHRoaXMuVUlbXCJfc3ByaXRlRnJhbWVzXCJdW25hbWVdO1xyXG4gICAgICAgIH1cclxuICAgICAgICBlbHNlIGlmKHRoaXMucGF0aF9UeXBlID09IGNjLkVudW0oUGF0aFR5cGUpLnJpZ2h0KXtcclxuICAgICAgICAgICAgdGFyZ2V0LmFuZ2xlID0gMjcwO1xyXG4gICAgICAgICAgICBuYW1lID0gXCJiXCIgKyByYW5kb207XHJcbiAgICAgICAgICAgIGlmKHRoaXMuYmxvY2tfVHlwZSAhPSBjYy5FbnVtKEJsb2NrVHlwZSkuUmVpbmZvcmNlKSB0YXJnZXQuZ2V0Q29tcG9uZW50KGNjLlNwcml0ZSkuc3ByaXRlRnJhbWUgPSB0aGlzLlVJW1wiX3Nwcml0ZUZyYW1lc1wiXVtuYW1lXTtcclxuICAgICAgICB9XHJcbiAgICAgICAgZWxzZXtcclxuICAgICAgICAgICAgdGFyZ2V0ID0gdGhpcy5ub2RlLmdldENoaWxkQnlOYW1lKFwidHVybjJcIik7XHJcbiAgICAgICAgICAgIGlmKHRhcmdldC5uYW1lID09IFwidHVyblwiKXtcclxuICAgICAgICAgICAgICAgIGxldCB3YXRlciA9IHRhcmdldC5nZXRDaGlsZEJ5TmFtZShcIndhdmVcIikuZ2V0Q2hpbGRCeU5hbWUoXCJ3YXRlclwiKTtcclxuICAgICAgICAgICAgICAgIHdhdGVyLm9wYWNpdHkgPSAwXHJcbiAgICAgICAgICAgICAgICB3YXRlci5ydW5BY3Rpb24oY2Muc2VxdWVuY2UoY2Mucm90YXRlVG8oNy4yLC0xMDgwKSxjYy5kZWxheVRpbWUoMCkpLnJlcGVhdEZvcmV2ZXIoKSk7XHJcbiAgICAgICAgICAgICAgICBzZXRUaW1lb3V0KCgpID0+IHtcclxuICAgICAgICAgICAgICAgICAgICB3YXRlci5vcGFjaXR5ID0gMjU1O1xyXG4gICAgICAgICAgICAgICAgfSwgMjAwKTtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICBuYW1lID0gXCJjXCIgKyByYW5kb207XHJcbiAgICAgICAgICAgIGlmKHRoaXMuYmxvY2tfVHlwZSAhPSBjYy5FbnVtKEJsb2NrVHlwZSkuUmVpbmZvcmNlKXRhcmdldC5nZXRDb21wb25lbnQoY2MuU3ByaXRlKS5zcHJpdGVGcmFtZSA9IHRoaXMuVUlbXCJfc3ByaXRlRnJhbWVzXCJdW25hbWVdO1xyXG4gICAgICAgICAgICBwcm9ncmVzcyA9IDAuMjU7XHJcbiAgICAgICAgICAgIGlmKHRoaXMucGF0aF9UeXBlID09IGNjLkVudW0oUGF0aFR5cGUpLnVwX2xlZnQpe1xyXG4gICAgICAgICAgICAgICAgdGFyZ2V0LnNldFBvc2l0aW9uKC10aGlzLnBvc19TaGlmdGluZywtdGhpcy5wb3NfU2hpZnRpbmcpO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIGVsc2UgaWYodGhpcy5wYXRoX1R5cGUgPT0gY2MuRW51bShQYXRoVHlwZSkudXBfcmlnaHQpe1xyXG4gICAgICAgICAgICAgICAgdGFyZ2V0LnNjYWxlWCA9IC0xO1xyXG4gICAgICAgICAgICAgICAgdGFyZ2V0LnNldFBvc2l0aW9uKHRoaXMucG9zX1NoaWZ0aW5nLC10aGlzLnBvc19TaGlmdGluZyk7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgZWxzZSBpZih0aGlzLnBhdGhfVHlwZSA9PSBjYy5FbnVtKFBhdGhUeXBlKS5kb3duX2xlZnQpe1xyXG4gICAgICAgICAgICAgICAgdGFyZ2V0LmFuZ2xlID0gMTgwO1xyXG4gICAgICAgICAgICAgICAgdGFyZ2V0LnNjYWxlWCA9IC0xO1xyXG4gICAgICAgICAgICAgICAgdGFyZ2V0LnNldFBvc2l0aW9uKC10aGlzLnBvc19TaGlmdGluZyx0aGlzLnBvc19TaGlmdGluZyk7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgZWxzZSBpZih0aGlzLnBhdGhfVHlwZSA9PSBjYy5FbnVtKFBhdGhUeXBlKS5kb3duX3JpZ2h0KXtcclxuICAgICAgICAgICAgICAgIHRhcmdldC5hbmdsZSA9IDE4MDtcclxuICAgICAgICAgICAgICAgIHRhcmdldC5zZXRQb3NpdGlvbih0aGlzLnBvc19TaGlmdGluZyx0aGlzLnBvc19TaGlmdGluZyk7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgZWxzZSBpZih0aGlzLnBhdGhfVHlwZSA9PSBjYy5FbnVtKFBhdGhUeXBlKS5sZWZ0X3VwKXtcclxuICAgICAgICAgICAgICAgIHRhcmdldC5hbmdsZSA9IC05MDtcclxuICAgICAgICAgICAgICAgIHRhcmdldC5zY2FsZVkgPSAtMTtcclxuICAgICAgICAgICAgICAgIHRhcmdldC5zZXRQb3NpdGlvbih0aGlzLnBvc19TaGlmdGluZyx0aGlzLnBvc19TaGlmdGluZyk7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgZWxzZSBpZih0aGlzLnBhdGhfVHlwZSA9PSBjYy5FbnVtKFBhdGhUeXBlKS5sZWZ0X2Rvd24pe1xyXG4gICAgICAgICAgICAgICAgdGFyZ2V0LmFuZ2xlID0gOTA7XHJcbiAgICAgICAgICAgICAgICB0YXJnZXQuc2V0UG9zaXRpb24oLXRoaXMucG9zX1NoaWZ0aW5nLC10aGlzLnBvc19TaGlmdGluZyk7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgZWxzZSBpZih0aGlzLnBhdGhfVHlwZSA9PSBjYy5FbnVtKFBhdGhUeXBlKS5yaWdodF91cCl7XHJcbiAgICAgICAgICAgICAgICB0YXJnZXQuYW5nbGUgPSAtOTA7XHJcbiAgICAgICAgICAgICAgICB0YXJnZXQuc2V0UG9zaXRpb24oLXRoaXMucG9zX1NoaWZ0aW5nLHRoaXMucG9zX1NoaWZ0aW5nKTtcclxuICAgICBcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICBlbHNlIGlmKHRoaXMucGF0aF9UeXBlID09IGNjLkVudW0oUGF0aFR5cGUpLnJpZ2h0X2Rvd24pe1xyXG4gICAgICAgICAgICAgICAgdGFyZ2V0LmFuZ2xlID0gLTkwO1xyXG4gICAgICAgICAgICAgICAgdGFyZ2V0LnNjYWxlWCA9IC0xO1xyXG4gICAgICAgICAgICAgICAgdGFyZ2V0LnNldFBvc2l0aW9uKC10aGlzLnBvc19TaGlmdGluZywtdGhpcy5wb3NfU2hpZnRpbmcpO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgICAgIGlmKHRoaXMucGF0aF9UeXBlID09IFwiUmVpbmZvcmNlXCIpe1xyXG4gICAgICAgICAgICB0YXJnZXQgPSB0aGlzLm5vZGUuZ2V0Q2hpbGRCeU5hbWUoXCJSZWluZm9yY2VcIik7XHJcbiAgICAgICAgICAgIGlmKHRoaXMuYmxvY2tfVHlwZSA9PSBjYy5FbnVtKEJsb2NrVHlwZSkuUGVhayl7XHJcbiAgICAgICAgICAgICAgICBjYy5meC5Ob3RpZmljYXRpb25zLmVtaXQoY2MuZnguTWVzc2FnZS5zaG93UmVzdWx0LFwibG9zZVwiKTtcclxuICAgICAgICAgICAgICAgIGNjLmZ4Lk5vdGlmaWNhdGlvbnMuZW1pdChjYy5meC5NZXNzYWdlLnNldERhdGEsZmFsc2UpO1xyXG4gICAgICAgICAgICAgICAgcmV0dXJuO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIGlmKHRoaXMuYmxvY2tfVHlwZSAhPSBjYy5FbnVtKEJsb2NrVHlwZSkuRW5kKXRoaXMuYmxvY2tfVHlwZSA9IGNjLkVudW0oQmxvY2tUeXBlKS5SZWluZm9yY2U7XHJcbiAgICAgICAgICAgIHRoaXMubm9kZS5nZXRDaGlsZEJ5TmFtZShcInZlcnRpY2FsMlwiKS5nZXRDb21wb25lbnQoY2MuU3ByaXRlKS5zcHJpdGVGcmFtZSA9IHRoaXMuVUlbXCJfc3ByaXRlRnJhbWVzXCJdW1wiZTFcIl07XHJcbiAgICAgICAgICAgIHRoaXMubm9kZS5nZXRDaGlsZEJ5TmFtZShcInR1cm4yXCIpLmdldENvbXBvbmVudChjYy5TcHJpdGUpLnNwcml0ZUZyYW1lID0gdGhpcy5VSVtcIl9zcHJpdGVGcmFtZXNcIl1bXCJlM1wiXTtcclxuICAgICAgICAgICAgdGhpcy5ub2RlLmdldENoaWxkQnlOYW1lKFwiaG9yaXpvbnRhbDJcIikuZ2V0Q29tcG9uZW50KGNjLlNwcml0ZSkuc3ByaXRlRnJhbWUgPSB0aGlzLlVJW1wiX3Nwcml0ZUZyYW1lc1wiXVtcImUyXCJdO1xyXG4gICAgICAgICAgICB0YXJnZXQuYWN0aXZlID0gdHJ1ZTtcclxuICAgICAgICAgICAgdGFyZ2V0Lm9wYWNpdHkgPSAwO1xyXG4gICAgICAgICAgICBwcm9ncmVzcyA9IDE7XHJcbiAgICAgICAgICAgIGNjLnR3ZWVuKHRhcmdldClcclxuICAgICAgICAgICAgLnRvKGNjLmZ4LkdhbWVDb25maWcuVElNRV9JTkZPLlJlaW5mb3JjZVNwZWVkLHtvcGFjaXR5OjI1NX0pXHJcbiAgICAgICAgICAgIC5jYWxsKCgpID0+e1xyXG4gICAgICAgICAgICAgICAgaWYoZGF0YS5jaXJjdWxhdGUpXHJcbiAgICAgICAgICAgICAgICAgICAgY2MuZnguTm90aWZpY2F0aW9ucy5lbWl0KGNjLmZ4Lk1lc3NhZ2UuY2hhbmdlTWFwLG9yZGVyKTtcclxuICAgICAgICAgICAgICAgICAgICBjYy5meC5Ob3RpZmljYXRpb25zLmVtaXQoY2MuZnguTWVzc2FnZS5uZXh0LG9yZGVyKTtcclxuICAgICAgICAgICAgfSlcclxuICAgICAgICAgICAgLnN0YXJ0KCk7XHJcbiAgICAgICAgfVxyXG4gICAgICAgIGVsc2UgaWYodGhpcy5wYXRoX1R5cGUgPT0gXCJYaV9Tb2lsXCIpe1xyXG4gICAgICAgICAgICB0YXJnZXQuYWN0aXZlID0gZmFsc2U7XHJcbiAgICAgICAgICAgIGlmKHRoaXMuYmxvY2tfVHlwZSAhPSBjYy5FbnVtKEJsb2NrVHlwZSkuRW5kICYmIHRoaXMuYmxvY2tfVHlwZSAhPSBjYy5FbnVtKEJsb2NrVHlwZSkuU3RhcnQpXHJcbiAgICAgICAgICAgICAgICB0aGlzLmJsb2NrX1R5cGUgPSBjYy5FbnVtKEJsb2NrVHlwZSkuWGlfU29pbDtcclxuICAgICAgICAgICAgdGFyZ2V0ID0gdGhpcy5ub2RlLmdldENoaWxkQnlOYW1lKFwiWGlfU29pbFwiKTsgXHJcbiAgICAgICAgICAgIHRhcmdldC5hY3RpdmUgPSB0cnVlO1xyXG4gICAgICAgICAgICB0YXJnZXQub3BhY2l0eSA9IDA7XHJcbiAgICAgICAgICAgIGNjLnR3ZWVuKHRhcmdldClcclxuICAgICAgICAgICAgLnRvKDAuMDEse29wYWNpdHk6MX0pXHJcbiAgICAgICAgICAgIC50bygwLjAxLHtvcGFjaXR5OjB9KVxyXG4gICAgICAgICAgICAuY2FsbCgoKSA9PntcclxuICAgICAgICAgICAgICAgIGlmKGRhdGEuY2lyY3VsYXRlKXtcclxuICAgICAgICAgICAgICAgICAgICBjYy5meC5Ob3RpZmljYXRpb25zLmVtaXQoY2MuZnguTWVzc2FnZS5uZXh0LG9yZGVyKTtcclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgICAgIFxyXG4gICAgICAgICAgICB9KVxyXG4gICAgICAgICAgICAuc3RhcnQoKTtcclxuICAgICAgICB9XHJcbiAgICAgICAgZWxzZSBpZih0aGlzLnBhdGhfVHlwZSA9PSBcIkVuZFwiKXtcclxuICAgICAgICAgICAgdGFyZ2V0LmFjdGl2ZSA9IGZhbHNlO1xyXG4gICAgICAgICAgICBpZih0aGlzLmJsb2NrX1R5cGUgIT0gY2MuRW51bShCbG9ja1R5cGUpLkVuZCAmJiB0aGlzLmJsb2NrX1R5cGUgIT0gY2MuRW51bShCbG9ja1R5cGUpLlN0YXJ0KVxyXG4gICAgICAgICAgICAgICAgdGhpcy5ibG9ja19UeXBlID0gY2MuRW51bShCbG9ja1R5cGUpLlhpX1NvaWw7XHJcbiAgICAgICAgICAgIGxldCBwb3NUZW1wID0gZGF0YS5sYXN0O1xyXG4gICAgICAgICAgICB2YXIgZGlyZWN0aW9uID0gXCJ1cFwiO1xyXG4gICAgICAgICAgICBpZih0aGlzLnBvcy54IC0gcG9zVGVtcC54ID49IDEpe1xyXG4gICAgICAgICAgICAgICAgZGlyZWN0aW9uID0gXCJyaWdodFwiO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIGVsc2UgaWYodGhpcy5wb3MueCAtIHBvc1RlbXAueCA8PSAtMSl7XHJcbiAgICAgICAgICAgICAgICBkaXJlY3Rpb24gPSBcImxlZnRcIjtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICBlbHNlIGlmKHRoaXMucG9zLnkgLSBwb3NUZW1wLnkgPj0gMSl7XHJcbiAgICAgICAgICAgICAgICBkaXJlY3Rpb24gPSBcImRvd25cIjtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgIFxyXG4gICAgICAgICAgICBjb25zb2xlLmxvZyhcIue7k+adn+aWueWQkTpcIixkaXJlY3Rpb24pO1xyXG4gICAgICAgICAgICBpZighdGhpcy5maW5pc2hpKXtcclxuICAgICAgICAgICAgICAgIHRoaXMuZmluaXNoaSA9IHRydWU7XHJcbiAgICAgICAgICAgICAgICB0aGlzLnNldF9YaV9Tb2lsKGRpcmVjdGlvbix0cnVlKTtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgICAgICBlbHNle1xyXG4gICAgICAgICAgICB0YXJnZXQuYWN0aXZlID0gdHJ1ZTtcclxuICAgICAgICAgICAgaWYodGhpcy5ibG9ja19UeXBlICE9IGNjLkVudW0oQmxvY2tUeXBlKS5YaV9Tb2lsKXtcclxuICAgICAgICAgICAgICAgIHRhcmdldC5nZXRDb21wb25lbnQoY2MuU3ByaXRlKS5maWxsUmFuZ2UgPSAwO1xyXG4gICAgICAgICAgICAgICAgY2MudHdlZW4odGFyZ2V0LmdldENvbXBvbmVudChjYy5TcHJpdGUpKVxyXG4gICAgICAgICAgICAgICAgLnRvKHRpbWUse2ZpbGxSYW5nZTpwcm9ncmVzc30pXHJcbiAgICAgICAgICAgICAgICAuY2FsbCgoKSA9PntcclxuICAgICAgICAgICAgICAgICAgICBpZihkYXRhLmNpcmN1bGF0ZSlcclxuICAgICAgICAgICAgICAgICAgICAgICAgY2MuZnguTm90aWZpY2F0aW9ucy5lbWl0KGNjLmZ4Lk1lc3NhZ2UubmV4dCxvcmRlcik7XHJcbiAgICAgICAgICAgICAgICB9KVxyXG4gICAgICAgICAgICAgICAgLnN0YXJ0KCk7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgZWxzZXtcclxuICAgICAgICAgICAgICAgIHRhcmdldC5vcGFjaXR5ID0gMDtcclxuICAgICAgICAgICAgICAgIHRhcmdldC5nZXRDb21wb25lbnQoY2MuU3ByaXRlKS5maWxsUmFuZ2UgPSAxO1xyXG4gICAgICAgICAgICAgICAgY2MudHdlZW4odGFyZ2V0KVxyXG4gICAgICAgICAgICAgICAgLnRvKHRpbWUse29wYWNpdHk6MjU1fSlcclxuICAgICAgICAgICAgICAgIC5jYWxsKCgpID0+e1xyXG4gICAgICAgICAgICAgICAgICAgIGlmKGRhdGEuY2lyY3VsYXRlKVxyXG4gICAgICAgICAgICAgICAgICAgICAgICBjYy5meC5Ob3RpZmljYXRpb25zLmVtaXQoY2MuZnguTWVzc2FnZS5uZXh0LG9yZGVyKTtcclxuICAgICAgICAgICAgICAgIH0pXHJcbiAgICAgICAgICAgICAgICAuc3RhcnQoKTtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuXHJcbiAgICB9XHJcbiAgICAvL+a0quWzsOaJp+ihjFxyXG4gICAgcnVuV2F0ZXIoZGF0YSl7XHJcbiAgICAgICAgaWYodGhpcy5ub2RlLmdldENoaWxkQnlOYW1lKFwid2F0ZXJTdGFydFwiKS5hY3RpdmUgPT0gdHJ1ZSAmJiB0aGlzLmJsb2NrX1R5cGUgPT0gY2MuRW51bShCbG9ja1R5cGUpLlN0YXJ0KXtcclxuICAgICAgICAgICAgLy8gc3AuZ2V0Q2hpbGRCeU5hbWUoXCJ3YXRlclN0YXJ0XCIpLm9wYWNpdHkgPSAyNTU7XHJcbiAgICAgICAgICAgIGNjLnR3ZWVuKHRoaXMubm9kZS5nZXRDaGlsZEJ5TmFtZShcIndhdGVyU3RhcnRcIikpXHJcbiAgICAgICAgICAgIC50bygwLjIse29wYWNpdHk6MjU1fSlcclxuICAgICAgICAgICAgLnN0YXJ0KCk7XHJcbiAgICAgICAgfVxyXG5cclxuXHJcbiAgICAgICAgaWYodGhpcy5wYXRoX1R5cGUgPT0gXCJlcnJcIil7XHJcbiAgICAgICAgICAgIHNldFRpbWVvdXQoKCkgPT4ge1xyXG4gICAgICAgICAgICAgICAgaWYoZGF0YS5jaXJjdWxhdGUpXHJcbiAgICAgICAgICAgICAgICAgICAgY2MuZnguTm90aWZpY2F0aW9ucy5lbWl0KGNjLmZ4Lk1lc3NhZ2UubmV4dFdhdGVyLG9yZGVyKTtcclxuICAgICAgICAgICAgfSwgZGF0YS50aW1lKTtcclxuICAgICAgICAgICAgcmV0dXJuO1xyXG4gICAgICAgIH1cclxuICAgICAgICAvL+WmguaenOWPjOWQkemDveWNoOeUqOS6hui/mOi/m+adpeWwseeul+atu+S6hi0gXHJcbiAgICAgICAgaWYodGhpcy5ub2RlLmdldENoaWxkQnlOYW1lKFwidmVydGljYWxcIikuYWN0aXZlID09IHRydWUgJiYgdGhpcy5ub2RlLmdldENoaWxkQnlOYW1lKFwiaG9yaXpvbnRhbFwiKS5hY3RpdmUgPT0gdHJ1ZSl7XHJcbiAgICAgICAgICAgIC8vIGFsZXJ0KFwi5rK75rC05aSx6LSlXCIpO1xyXG4gICAgICAgICAgICBjYy5meC5Ob3RpZmljYXRpb25zLmVtaXQoY2MuZnguTWVzc2FnZS5zaG93UmVzdWx0LFwibG9zZVwiKTtcclxuICAgICAgICAgICAgY2MuZnguTm90aWZpY2F0aW9ucy5lbWl0KGNjLmZ4Lk1lc3NhZ2Uuc2V0RGF0YSxmYWxzZSk7XHJcbiAgICAgICAgICAgIC8vIGNjLmRpcmVjdG9yLmxvYWRTY2VuZShcIkdhbWVTY2VuZVwiKTtcclxuICAgICAgICAgICAgcmV0dXJuO1xyXG4gICAgICAgIH1cclxuXHJcbiAgICAgICAgZWxzZSBpZih0aGlzLm5vZGUuZ2V0Q2hpbGRCeU5hbWUoXCJ0dXJuXCIpLmFjdGl2ZSA9PSB0cnVlICYmIHRoaXMuYmxvY2tfVHlwZSAhPSBjYy5FbnVtKEJsb2NrVHlwZSkuWGlfU29pbCl7XHJcbiAgICAgICAgICAgIC8vIGFsZXJ0KFwi5rK75rC05aSx6LSlXCIpO1xyXG4gICAgICAgICAgICBjYy5meC5Ob3RpZmljYXRpb25zLmVtaXQoY2MuZnguTWVzc2FnZS5zaG93UmVzdWx0LFwibG9zZVwiKTtcclxuICAgICAgICAgICAgY2MuZnguTm90aWZpY2F0aW9ucy5lbWl0KGNjLmZ4Lk1lc3NhZ2Uuc2V0RGF0YSxmYWxzZSk7XHJcbiAgICAgICAgICAgIC8vIGNjLmRpcmVjdG9yLmxvYWRTY2VuZShcIkdhbWVTY2VuZVwiKTtcclxuICAgICAgICAgICAgcmV0dXJuO1xyXG4gICAgICAgIH1cclxuICAgICAgICB2YXIgdGFyZ2V0ID0gbnVsbDtcclxuICAgICAgICB2YXIgcHJvZ3Jlc3MgPSAxO1xyXG4gICAgICAgIHZhciB0aW1lID0gZGF0YS50aW1lO1xyXG4gICAgICAgIHZhciBvcmRlciA9IGRhdGEub3JkZXIgKyAxO1xyXG4gICAgICAgIHZhciByYW5kb20gPSBNYXRoLmZsb29yKE1hdGgucmFuZG9tKCkqNCArIDEpO1xyXG4gICAgICAgIHRhcmdldCA9IHRoaXMubm9kZS5nZXRDaGlsZEJ5TmFtZShcInZlcnRpY2FsXCIpO1xyXG4gICAgICAgIGlmKHRhcmdldC5uYW1lID09IFwidmVydGljYWxcIil7XHJcbiAgICAgICAgICAgIGxldCB3YXRlcjEgPSB0YXJnZXQuZ2V0Q2hpbGRCeU5hbWUoXCJ3YXZlXCIpLmdldENoaWxkQnlOYW1lKFwid2F0ZXIxXCIpO1xyXG4gICAgICAgICAgICBsZXQgd2F0ZXIyID0gdGFyZ2V0LmdldENoaWxkQnlOYW1lKFwid2F2ZVwiKS5nZXRDaGlsZEJ5TmFtZShcIndhdGVyMlwiKTtcclxuICAgICAgICAgICAgbGV0IHdhdGVyMyA9IHRhcmdldC5nZXRDaGlsZEJ5TmFtZShcIndhdmVcIikuZ2V0Q2hpbGRCeU5hbWUoXCJ3YXRlcjNcIik7XHJcbiAgICAgICAgICAgIGxldCB0aW1lRGVsYXkgPSAwLjE1O1xyXG4gICAgICAgICAgICB3YXRlcjEucnVuQWN0aW9uKGNjLnNlcXVlbmNlKGNjLm1vdmVUbygwLjYsY2MudjIod2F0ZXIxLngsMTIwKSksY2MuZGVsYXlUaW1lKHRpbWVEZWxheSksXHJcbiAgICAgICAgICAgIGNjLmNhbGxGdW5jKCgpPT57XHJcbiAgICAgICAgICAgICAgICB3YXRlcjEueSA9IC0xMjBcclxuICAgICAgICAgICAgfSkpLnJlcGVhdEZvcmV2ZXIoKSk7XHJcbiAgICAgICAgICAgIHdhdGVyMi5ydW5BY3Rpb24oY2Muc2VxdWVuY2UoY2MubW92ZVRvKDAuNixjYy52Mih3YXRlcjIueCwxMjApKSxjYy5kZWxheVRpbWUodGltZURlbGF5KSxcclxuICAgICAgICAgICAgY2MuY2FsbEZ1bmMoKCk9PntcclxuICAgICAgICAgICAgICAgIHdhdGVyMi55ID0gLTEyMFxyXG4gICAgICAgICAgICB9KSkucmVwZWF0Rm9yZXZlcigpKTtcclxuICAgICAgICAgICAgd2F0ZXIzLnJ1bkFjdGlvbihjYy5zZXF1ZW5jZShjYy5tb3ZlVG8oMC42LGNjLnYyKHdhdGVyMy54LDEyMCkpLGNjLmRlbGF5VGltZSh0aW1lRGVsYXkpLFxyXG4gICAgICAgICAgICBjYy5jYWxsRnVuYygoKT0+e1xyXG4gICAgICAgICAgICAgICAgd2F0ZXIzLnkgPSAtMTIwXHJcbiAgICAgICAgICAgIH0pKS5yZXBlYXRGb3JldmVyKCkpO1xyXG4gICAgICAgIH1cclxuXHJcbiAgICAgICAgdmFyIG5hbWUgPSBcImFcIiArIHJhbmRvbTtcclxuICAgICAgICAvLyBpZih0aGlzLmJsb2NrX1R5cGUgIT0gY2MuRW51bShCbG9ja1R5cGUpLlJlaW5mb3JjZSl0YXJnZXQuZ2V0Q29tcG9uZW50KGNjLlNwcml0ZSkuc3ByaXRlRnJhbWUgPSB0aGlzLlVJW1wiX3Nwcml0ZUZyYW1lc1wiXVtuYW1lXTtcclxuXHJcbiAgICAgICAgaWYodGFyZ2V0LmFjdGl2ZSA9PSB0cnVlKXtcclxuICAgICAgICAgICAgdGFyZ2V0ID0gdGhpcy5ub2RlLmdldENoaWxkQnlOYW1lKFwiaG9yaXpvbnRhbFwiKTtcclxuICAgICAgICAgICAgbGV0IHdhdGVyMSA9IHRhcmdldC5nZXRDaGlsZEJ5TmFtZShcIndhdmVcIikuZ2V0Q2hpbGRCeU5hbWUoXCJ3YXRlcjFcIik7XHJcbiAgICAgICAgICAgIGxldCB3YXRlcjIgPSB0YXJnZXQuZ2V0Q2hpbGRCeU5hbWUoXCJ3YXZlXCIpLmdldENoaWxkQnlOYW1lKFwid2F0ZXIyXCIpO1xyXG4gICAgICAgICAgICBsZXQgd2F0ZXIzID0gdGFyZ2V0LmdldENoaWxkQnlOYW1lKFwid2F2ZVwiKS5nZXRDaGlsZEJ5TmFtZShcIndhdGVyM1wiKTtcclxuICAgICAgICAgICAgbGV0IHRpbWVEZWxheSA9IDAuMTU7XHJcbiAgICAgICAgICAgIHdhdGVyMS5ydW5BY3Rpb24oY2Muc2VxdWVuY2UoY2MubW92ZVRvKDAuNixjYy52Mih3YXRlcjEueCwxMjApKSxjYy5kZWxheVRpbWUodGltZURlbGF5KSxcclxuICAgICAgICAgICAgY2MuY2FsbEZ1bmMoKCk9PntcclxuICAgICAgICAgICAgICAgIHdhdGVyMS55ID0gLTEyMFxyXG4gICAgICAgICAgICB9KSkucmVwZWF0Rm9yZXZlcigpKTtcclxuICAgICAgICAgICAgd2F0ZXIyLnJ1bkFjdGlvbihjYy5zZXF1ZW5jZShjYy5tb3ZlVG8oMC42LGNjLnYyKHdhdGVyMi54LDEyMCkpLGNjLmRlbGF5VGltZSh0aW1lRGVsYXkpLFxyXG4gICAgICAgICAgICBjYy5jYWxsRnVuYygoKT0+e1xyXG4gICAgICAgICAgICAgICAgd2F0ZXIyLnkgPSAtMTIwXHJcbiAgICAgICAgICAgIH0pKS5yZXBlYXRGb3JldmVyKCkpO1xyXG4gICAgICAgICAgICB3YXRlcjMucnVuQWN0aW9uKGNjLnNlcXVlbmNlKGNjLm1vdmVUbygwLjYsY2MudjIod2F0ZXIzLngsMTIwKSksY2MuZGVsYXlUaW1lKHRpbWVEZWxheSksXHJcbiAgICAgICAgICAgIGNjLmNhbGxGdW5jKCgpPT57XHJcbiAgICAgICAgICAgICAgICB3YXRlcjMueSA9IC0xMjBcclxuICAgICAgICAgICAgfSkpLnJlcGVhdEZvcmV2ZXIoKSk7XHJcbiAgICAgICAgICAgIG5hbWUgPSBcImJcIiArIHJhbmRvbTtcclxuICAgICAgICAgICAgLy9pZih0aGlzLmJsb2NrX1R5cGUgIT0gY2MuRW51bShCbG9ja1R5cGUpLlJlaW5mb3JjZSkgdGFyZ2V0LmdldENvbXBvbmVudChjYy5TcHJpdGUpLnNwcml0ZUZyYW1lID0gdGhpcy5VSVtcIl9zcHJpdGVGcmFtZXNcIl1bbmFtZV07XHJcbiAgICAgICAgfSBcclxuICAgICAgICAvLyBjb25zb2xlLmxvZyh0aGlzLnBhdGhfVHlwZSxkYXRhLm9yZGVyKTtcclxuICAgICAgICBpZih0aGlzLnBhdGhfVHlwZSA9PSBjYy5FbnVtKFBhdGhUeXBlKS51cCl7XHJcbiAgICAgICAgfVxyXG4gICAgICAgIGVsc2UgaWYodGhpcy5wYXRoX1R5cGUgPT0gY2MuRW51bShQYXRoVHlwZSkuZG93bil7XHJcbiAgICAgICAgICAgIHRhcmdldC5hbmdsZSA9IDE4MDtcclxuICAgICAgICB9XHJcbiAgICAgICAgZWxzZSBpZih0aGlzLnBhdGhfVHlwZSA9PSBjYy5FbnVtKFBhdGhUeXBlKS5sZWZ0KXtcclxuICAgICAgICAgICAgdGFyZ2V0LmFuZ2xlID0gOTA7XHJcbiAgICAgICAgICAgIG5hbWUgPSBcImJcIiArIHJhbmRvbTtcclxuICAgICAgICAgICAgLy9pZih0aGlzLmJsb2NrX1R5cGUgIT0gY2MuRW51bShCbG9ja1R5cGUpLlJlaW5mb3JjZSkgdGFyZ2V0LmdldENvbXBvbmVudChjYy5TcHJpdGUpLnNwcml0ZUZyYW1lID0gdGhpcy5VSVtcIl9zcHJpdGVGcmFtZXNcIl1bbmFtZV07XHJcbiAgICAgICAgfVxyXG4gICAgICAgIGVsc2UgaWYodGhpcy5wYXRoX1R5cGUgPT0gY2MuRW51bShQYXRoVHlwZSkucmlnaHQpe1xyXG4gICAgICAgICAgICB0YXJnZXQuYW5nbGUgPSAyNzA7XHJcbiAgICAgICAgICAgIG5hbWUgPSBcImJcIiArIHJhbmRvbTtcclxuICAgICAgICAgICAgLy9pZih0aGlzLmJsb2NrX1R5cGUgIT0gY2MuRW51bShCbG9ja1R5cGUpLlJlaW5mb3JjZSkgdGFyZ2V0LmdldENvbXBvbmVudChjYy5TcHJpdGUpLnNwcml0ZUZyYW1lID0gdGhpcy5VSVtcIl9zcHJpdGVGcmFtZXNcIl1bbmFtZV07XHJcbiAgICAgICAgfVxyXG4gICAgICAgIGVsc2V7XHJcbiAgICAgICAgICAgIHRhcmdldCA9IHRoaXMubm9kZS5nZXRDaGlsZEJ5TmFtZShcInR1cm5cIik7XHJcbiAgICAgICAgICAgIGlmKHRhcmdldC5uYW1lID09IFwidHVyblwiKXtcclxuICAgICAgICAgICAgICAgIGxldCB3YXRlciA9IHRhcmdldC5nZXRDaGlsZEJ5TmFtZShcIndhdmVcIikuZ2V0Q2hpbGRCeU5hbWUoXCJ3YXRlclwiKTtcclxuICAgICAgICAgICAgICAgIHdhdGVyLm9wYWNpdHkgPSAwXHJcbiAgICAgICAgICAgICAgICB3YXRlci5ydW5BY3Rpb24oY2Muc2VxdWVuY2UoY2Mucm90YXRlVG8oNy4yLC0xMDgwKSxjYy5kZWxheVRpbWUoMCkpLnJlcGVhdEZvcmV2ZXIoKSk7XHJcbiAgICAgICAgICAgICAgICBzZXRUaW1lb3V0KCgpID0+IHtcclxuICAgICAgICAgICAgICAgICAgICB3YXRlci5vcGFjaXR5ID0gMjU1O1xyXG4gICAgICAgICAgICAgICAgfSwgMjAwKTtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICBuYW1lID0gXCJjXCIgKyByYW5kb207XHJcbiAgICAgICAgICAgIC8vaWYodGhpcy5ibG9ja19UeXBlICE9IGNjLkVudW0oQmxvY2tUeXBlKS5SZWluZm9yY2UpdGFyZ2V0LmdldENvbXBvbmVudChjYy5TcHJpdGUpLnNwcml0ZUZyYW1lID0gdGhpcy5VSVtcIl9zcHJpdGVGcmFtZXNcIl1bbmFtZV07XHJcbiAgICAgICAgICAgIHByb2dyZXNzID0gMC4yNTtcclxuICAgICAgICAgICAgaWYodGhpcy5wYXRoX1R5cGUgPT0gY2MuRW51bShQYXRoVHlwZSkudXBfbGVmdCl7XHJcbiAgICAgICAgICAgICAgICB0YXJnZXQuc2V0UG9zaXRpb24oLXRoaXMucG9zX1NoaWZ0aW5nLC10aGlzLnBvc19TaGlmdGluZyk7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgZWxzZSBpZih0aGlzLnBhdGhfVHlwZSA9PSBjYy5FbnVtKFBhdGhUeXBlKS51cF9yaWdodCl7XHJcbiAgICAgICAgICAgICAgICB0YXJnZXQuc2NhbGVYID0gLTE7XHJcbiAgICAgICAgICAgICAgICB0YXJnZXQuc2V0UG9zaXRpb24odGhpcy5wb3NfU2hpZnRpbmcsLXRoaXMucG9zX1NoaWZ0aW5nKTtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICBlbHNlIGlmKHRoaXMucGF0aF9UeXBlID09IGNjLkVudW0oUGF0aFR5cGUpLmRvd25fbGVmdCl7XHJcbiAgICAgICAgICAgICAgICB0YXJnZXQuYW5nbGUgPSAxODA7XHJcbiAgICAgICAgICAgICAgICB0YXJnZXQuc2NhbGVYID0gLTE7XHJcbiAgICAgICAgICAgICAgICB0YXJnZXQuc2V0UG9zaXRpb24oLXRoaXMucG9zX1NoaWZ0aW5nLHRoaXMucG9zX1NoaWZ0aW5nKTtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICBlbHNlIGlmKHRoaXMucGF0aF9UeXBlID09IGNjLkVudW0oUGF0aFR5cGUpLmRvd25fcmlnaHQpe1xyXG4gICAgICAgICAgICAgICAgdGFyZ2V0LmFuZ2xlID0gMTgwO1xyXG4gICAgICAgICAgICAgICAgdGFyZ2V0LnNldFBvc2l0aW9uKHRoaXMucG9zX1NoaWZ0aW5nLHRoaXMucG9zX1NoaWZ0aW5nKTtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICBlbHNlIGlmKHRoaXMucGF0aF9UeXBlID09IGNjLkVudW0oUGF0aFR5cGUpLmxlZnRfdXApe1xyXG4gICAgICAgICAgICAgICAgdGFyZ2V0LmFuZ2xlID0gLTkwO1xyXG4gICAgICAgICAgICAgICAgdGFyZ2V0LnNjYWxlWSA9IC0xO1xyXG4gICAgICAgICAgICAgICAgdGFyZ2V0LnNldFBvc2l0aW9uKHRoaXMucG9zX1NoaWZ0aW5nLHRoaXMucG9zX1NoaWZ0aW5nKTtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICBlbHNlIGlmKHRoaXMucGF0aF9UeXBlID09IGNjLkVudW0oUGF0aFR5cGUpLmxlZnRfZG93bil7XHJcbiAgICAgICAgICAgICAgICB0YXJnZXQuYW5nbGUgPSA5MDtcclxuICAgICAgICAgICAgICAgIHRhcmdldC5zZXRQb3NpdGlvbigtdGhpcy5wb3NfU2hpZnRpbmcsLXRoaXMucG9zX1NoaWZ0aW5nKTtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICBlbHNlIGlmKHRoaXMucGF0aF9UeXBlID09IGNjLkVudW0oUGF0aFR5cGUpLnJpZ2h0X3VwKXtcclxuICAgICAgICAgICAgICAgIHRhcmdldC5hbmdsZSA9IC05MDtcclxuICAgICAgICAgICAgICAgIHRhcmdldC5zZXRQb3NpdGlvbigtdGhpcy5wb3NfU2hpZnRpbmcsdGhpcy5wb3NfU2hpZnRpbmcpO1xyXG4gICAgICAgIFxyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIGVsc2UgaWYodGhpcy5wYXRoX1R5cGUgPT0gY2MuRW51bShQYXRoVHlwZSkucmlnaHRfZG93bil7XHJcbiAgICAgICAgICAgICAgICB0YXJnZXQuYW5nbGUgPSAtOTA7XHJcbiAgICAgICAgICAgICAgICB0YXJnZXQuc2NhbGVYID0gLTE7XHJcbiAgICAgICAgICAgICAgICB0YXJnZXQuc2V0UG9zaXRpb24oLXRoaXMucG9zX1NoaWZ0aW5nLC10aGlzLnBvc19TaGlmdGluZyk7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcblxyXG4gICAgICAgIGlmKHRoaXMucGF0aF9UeXBlID09IFwiRW5kXCIpe1xyXG4gICAgICAgICAgICB0YXJnZXQuYWN0aXZlID0gZmFsc2U7XHJcbiAgICAgICAgICAgIGlmKHRoaXMuYmxvY2tfVHlwZSA9PSBjYy5FbnVtKEJsb2NrVHlwZSkuRW5kKXtcclxuICAgICAgICAgICAgICAgIGlmKHRoaXMubm9kZS5nZXRDaGlsZEJ5TmFtZShcIndhdGVyU3RhcnRcIikuYWN0aXZlID09IHRydWUgJiYgdGhpcy5ibG9ja19UeXBlID09IGNjLkVudW0oQmxvY2tUeXBlKS5FbmQpe1xyXG4gICAgICAgICAgICAgICAgICAgIGNjLnR3ZWVuKHRoaXMubm9kZS5nZXRDaGlsZEJ5TmFtZShcIndhdGVyU3RhcnRcIikpXHJcbiAgICAgICAgICAgICAgICAgICAgLnRvKDAuMix7b3BhY2l0eToyNTV9KVxyXG4gICAgICAgICAgICAgICAgICAgIC5jYWxsKCgpPT57XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIC8vIGFsZXJ0KFwi5rK75rC05oiQ5YqfXCIpO1xyXG4gICAgICAgICAgICAgICAgICAgICAgICBjYy5meC5Ob3RpZmljYXRpb25zLmVtaXQoY2MuZnguTWVzc2FnZS5zaG93UmVzdWx0LFwid2luXCIpO1xyXG4gICAgICAgICAgICAgICAgICAgICAgICBjYy5meC5Ob3RpZmljYXRpb25zLmVtaXQoY2MuZnguTWVzc2FnZS5zZXREYXRhLHRydWUpO1xyXG4gICAgICAgICAgICAgICAgICAgICAgICBcclxuICAgICAgICAgICAgICAgICAgICAgICAgaWYoY2MuZnguR2FtZUNvbmZpZy5HTV9JTkZPLmxldmVsIDwgNyl7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBjYy5meC5HYW1lQ29uZmlnLkdNX0lORk8ubGV2ZWwgKz0gMTtcclxuICAgICAgICAgICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgICAgICAgICBzZXRUaW1lb3V0KCgpID0+IHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8vIGNjLmRpcmVjdG9yLmxvYWRTY2VuZShcIkdhbWVTY2VuZVwiKTtcclxuICAgICAgICAgICAgICAgICAgICAgICAgfSwgNTAwKTtcclxuICAgICAgICAgICAgICAgICAgIFxyXG4gICAgICAgICAgICAgICAgICAgIH0pXHJcbiAgICAgICAgICAgICAgICAgICAgLnN0YXJ0KCk7XHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgZWxzZXtcclxuICAgICAgICAgICAgICAgIHRhcmdldCA9IHRoaXMubm9kZS5nZXRDaGlsZEJ5TmFtZShcIkVuZFwiKTsgXHJcbiAgICAgICAgICAgICAgICB0YXJnZXQuYWN0aXZlID0gdHJ1ZTtcclxuICAgICAgICAgICAgICAgIHRhcmdldC5vcGFjaXR5ID0gMDtcclxuXHJcbiAgICAgICAgICAgICAgICBsZXQgcG9zVGVtcCA9IGRhdGEubGFzdDtcclxuICAgICAgICAgICAgICAgIGlmKHRoaXMucG9zLnggLSBwb3NUZW1wLnggPj0gMSl7XHJcbiAgICAgICAgICAgICAgICAgICAgdGFyZ2V0LmFuZ2xlID0gLTkwO1xyXG5cclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgIGVsc2UgaWYodGhpcy5wb3MueCAtIHBvc1RlbXAueCA8PSAtMSl7XHJcbiAgICAgICAgICAgICAgICAgICAgdGFyZ2V0LmFuZ2xlID0gOTA7XHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICBlbHNlIGlmKHRoaXMucG9zLnkgLSBwb3NUZW1wLnkgPj0gMSl7XHJcbiAgICAgICAgICAgICAgICAgICAgdGFyZ2V0LmFuZ2xlID0gMTgwO1xyXG4gICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICBcclxuICAgICAgICAgICAgICAgIGNjLnR3ZWVuKHRhcmdldClcclxuICAgICAgICAgICAgICAgIC50bygwLjUse29wYWNpdHk6MjU1fSlcclxuICAgICAgICAgICAgICAgIC5jYWxsKCgpID0+e1xyXG4gICAgICAgICAgICAgICAgICAgIC8vIGFsZXJ0KFwi5rK75rC05aSx6LSlXCIpXHJcbiAgICAgICAgICAgICAgICAgICAgY2MuZnguTm90aWZpY2F0aW9ucy5lbWl0KGNjLmZ4Lk1lc3NhZ2Uuc2hvd1Jlc3VsdCxcImxvc2VcIik7XHJcbiAgICAgICAgICAgICAgICAgICAgY2MuZnguTm90aWZpY2F0aW9ucy5lbWl0KGNjLmZ4Lk1lc3NhZ2Uuc2V0RGF0YSxmYWxzZSk7XHJcbiAgICAgICAgICAgICAgICAgICAgLy8gY2MuZGlyZWN0b3IubG9hZFNjZW5lKFwiR2FtZVNjZW5lXCIpO1xyXG5cclxuICAgICAgICAgICAgICAgIH0pXHJcbiAgICAgICAgICAgICAgICAuc3RhcnQoKTtcclxuICAgICAgICAgICAgfVxyXG5cclxuICAgICAgICB9XHJcbiAgICAgICAgZWxzZXtcclxuICAgICAgICAgICAgdGFyZ2V0LmFjdGl2ZSA9IHRydWU7XHJcbiAgICAgICAgICAgIHRhcmdldC5nZXRDb21wb25lbnQoY2MuU3ByaXRlKS5maWxsUmFuZ2UgPSAwO1xyXG4gICAgICAgICAgICBjYy50d2Vlbih0YXJnZXQuZ2V0Q29tcG9uZW50KGNjLlNwcml0ZSkpXHJcbiAgICAgICAgICAgIC50byh0aW1lLHtmaWxsUmFuZ2U6cHJvZ3Jlc3N9KVxyXG4gICAgICAgICAgICAuY2FsbCgoKSA9PntcclxuICAgICAgICAgICAgICAgIGlmKGRhdGEuY2lyY3VsYXRlKVxyXG4gICAgICAgICAgICAgICAgICAgIGNjLmZ4Lk5vdGlmaWNhdGlvbnMuZW1pdChjYy5meC5NZXNzYWdlLm5leHRXYXRlcixvcmRlcik7XHJcbiAgICAgICAgICAgIH0pXHJcbiAgICAgICAgICAgIC5zdGFydCgpO1xyXG4gICAgICAgIH1cclxuXHJcbiAgICB9XHJcblxyXG4gICAgLy8gdXBkYXRlIChkdCkge31cclxufVxyXG4iXX0= \ No newline at end of file +//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbImFzc2V0c1xcU2NyaXB0XFxCbG9jay50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7Ozs7Ozs7O0FBQUEsb0JBQW9CO0FBQ3BCLHdFQUF3RTtBQUN4RSxtQkFBbUI7QUFDbkIsa0ZBQWtGO0FBQ2xGLDhCQUE4QjtBQUM5QixrRkFBa0Y7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7QUFFNUUsSUFBQSxLQUFzQixFQUFFLENBQUMsVUFBVSxFQUFsQyxPQUFPLGFBQUEsRUFBRSxRQUFRLGNBQWlCLENBQUM7QUFFMUMsSUFBWSxTQWdCWDtBQWhCRCxXQUFZLFNBQVM7SUFDakIsU0FBUztJQUNULDJDQUFTLENBQUE7SUFDVCxTQUFTO0lBQ1QsMkNBQVMsQ0FBQTtJQUNULE9BQU87SUFDUCwyQ0FBUyxDQUFBO0lBQ1QsT0FBTztJQUNQLHlDQUFRLENBQUE7SUFDUixTQUFTO0lBQ1QsdUNBQU8sQ0FBQTtJQUVQLE9BQU87SUFDUCwrQ0FBVyxDQUFBO0lBQ1gsT0FBTztJQUNQLG1EQUFhLENBQUE7QUFDakIsQ0FBQyxFQWhCVyxTQUFTLEdBQVQsaUJBQVMsS0FBVCxpQkFBUyxRQWdCcEI7QUFFRCxJQUFZLFFBY1g7QUFkRCxXQUFZLFFBQVE7SUFDaEIsdUJBQVcsQ0FBQTtJQUNYLHFCQUFTLENBQUE7SUFDVCx5QkFBYSxDQUFBO0lBQ2IseUJBQWEsQ0FBQTtJQUNiLDJCQUFlLENBQUE7SUFDZiwrQkFBbUIsQ0FBQTtJQUNuQixpQ0FBcUIsQ0FBQTtJQUNyQixtQ0FBdUIsQ0FBQTtJQUN2QixxQ0FBeUIsQ0FBQTtJQUN6QiwrQkFBbUIsQ0FBQTtJQUNuQixtQ0FBdUIsQ0FBQTtJQUN2QixpQ0FBcUIsQ0FBQTtJQUNyQixxQ0FBeUIsQ0FBQTtBQUM3QixDQUFDLEVBZFcsUUFBUSxHQUFSLGdCQUFRLEtBQVIsZ0JBQVEsUUFjbkI7QUFHRDtJQUFzQyw0QkFBWTtJQUFsRDtRQUFBLHFFQTh1QkM7UUE3dUJHLHdCQUF3QjtRQUV4QixRQUFFLEdBQW1CLElBQUks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QUNwRSxJQUFJLFFBQU0sR0FBRyxNQUFNLENBQUMsY0FBYyxDQUFDLE1BQU0sQ0FBQyxDQUFDLGNBQWMsQ0FBQyxRQUFRLENBQUMsQ0FBQztZQUNwRSxJQUFJLFFBQU0sR0FBRyxNQUFNLENBQUMsY0FBYyxDQUFDLE1BQU0sQ0FBQyxDQUFDLGNBQWMsQ0FBQyxRQUFRLENBQUMsQ0FBQztZQUNwRSxJQUFJLFNBQVMsR0FBRyxJQUFJLENBQUM7WUFDckIsUUFBTSxDQUFDLFNBQVMsQ0FBQyxFQUFFLENBQUMsUUFBUSxDQUFDLEVBQUUsQ0FBQyxNQUFNLENBQUMsR0FBRyxFQUFDLEVBQUUsQ0FBQyxFQUFFLENBQUMsUUFBTSxDQUFDLENBQUMsRUFBQyxHQUFHLENBQUMsQ0FBQyxFQUFDLEVBQUUsQ0FBQyxTQUFTLENBQUMsU0FBUyxDQUFDLEVBQ3ZGLEVBQUUsQ0FBQyxRQUFRLENBQUM7Z0JBQ1IsUUFBTSxDQUFDLENBQUMsR0FBRyxDQUFDLEdBQUcsQ0FBQTtZQUNuQixDQUFDLENBQUMsQ0FBQyxDQUFDLGFBQWEsRUFBRSxDQUFDLENBQUM7WUFDckIsUUFBTSxDQUFDLFNBQVMsQ0FBQyxFQUFFLENBQUMsUUFBUSxDQUFDLEVBQUUsQ0FBQyxNQUFNLENBQUMsR0FBRyxFQUFDLEVBQUUsQ0FBQyxFQUFFLENBQUMsUUFBTSxDQUFDLENBQUMsRUFBQyxHQUFHLENBQUMsQ0FBQyxFQUFDLEVBQUUsQ0FBQyxTQUFTLENBQUMsU0FBUyxDQUFDLEVBQ3ZGLEVBQUUsQ0FBQyxRQUFRLENBQUM7Z0JBQ1IsUUFBTSxDQUFDLENBQUMsR0FBRyxDQUFDLEdBQUcsQ0FBQTtZQUNuQixDQUFDLENBQUMsQ0FBQyxDQUFDLGFBQWEsRUFBRSxDQUFDLENBQUM7WUFDckIsUUFBTSxDQUFDLFNBQVMsQ0FBQyxFQUFFLENBQUMsUUFBUSxDQUFDLEVBQUUsQ0FBQyxNQUFNLENBQUMsR0FBRyxFQUFDLEVBQUUsQ0FBQyxFQUFFLENBQUMsUUFBTSxDQUFDLENBQUMsRUFBQyxHQUFHLENBQUMsQ0FBQyxFQUFDLEVBQUUsQ0FBQyxTQUFT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LElBQUksUUFBTSxHQUFHLE1BQU0sQ0FBQyxjQUFjLENBQUMsTUFBTSxDQUFDLENBQUMsY0FBYyxDQUFDLFFBQVEsQ0FBQyxDQUFDO1lBQ3BFLElBQUksU0FBUyxHQUFHLElBQUksQ0FBQztZQUNyQixRQUFNLENBQUMsU0FBUyxDQUFDLEVBQUUsQ0FBQyxRQUFRLENBQUMsRUFBRSxDQUFDLE1BQU0sQ0FBQyxHQUFHLEVBQUMsRUFBRSxDQUFDLEVBQUUsQ0FBQyxRQUFNLENBQUMsQ0FBQyxFQUFDLEdBQUcsQ0FBQyxDQUFDLEVBQUMsRUFBRSxDQUFDLFNBQVMsQ0FBQyxTQUFTLENBQUMsRUFDdkYsRUFBRSxDQUFDLFFBQVEsQ0FBQztnQkFDUixRQUFNLENBQUMsQ0FBQyxHQUFHLENBQUMsR0FBRyxDQUFBO1lBQ25CLENBQUMsQ0FBQyxDQUFDLENBQUMsYUFBYSxFQUFFLENBQUMsQ0FBQztZQUNyQixRQUFNLENBQUMsU0FBUyxDQUFDLEVBQUUsQ0FBQyxRQUFRLENBQUMsRUFBRSxDQUFDLE1BQU0sQ0FBQyxHQUFHLEVBQUMsRUFBRSxDQUFDLEVBQUUsQ0FBQyxRQUFNLENBQUMsQ0FBQyxFQUFDLEdBQUcsQ0FBQyxDQUFDLEVBQUMsRUFBRSxDQUFDLFNBQVMsQ0FBQyxTQUFTLENBQUMsRUFDdkYsRUFBRSxDQUFDLFFBQVEsQ0FBQztnQkFDUixRQUFNLENBQUMsQ0FBQyxHQUFHLENBQUMsR0FBRyxDQUFBO1lBQ25CLENBQUMsQ0FBQyxDQUFDLENBQUMsYUFBYSxFQUFFLENBQUMsQ0FBQztZQUNyQixRQUFNLENBQUMsU0FBUyxDQUFDLEVBQUUsQ0FBQyxRQUFRLENBQUMsRUFBRSxDQUFDLE1BQU0sQ0FBQyxHQUFHLEVBQUMsRUFBRSxDQUFDLEVBQUUsQ0FBQyxRQUFNLENBQUMsQ0FBQyxFQUFDLEdBQUcsQ0FBQyxDQUFDLEVBQUMsRUFBRSxDQUFDLFNBQVMsQ0FBQyxTQUFTLENBQUMsRUFDdkYsRUFBRSxDQUFDLFFBQVEsQ0FBQztnQkFDUixRQUFNLENBQUMsQ0FBQyxHQUFHLENBQUMsR0FBRyxDQUFBO1lBQ25CLENBQUMsQ0FBQyxDQUFDLENBQUMsYUFBYSxFQUFFLENBQUMsQ0FBQztZQUNyQixJQUFJLEdBQUcsR0FBRyxHQUFHLE1BQU0sQ0FBQztZQUNwQixrSUFBa0k7U0FDckk7UUFDRCwwQ0FBMEM7UUFDMUMsSUFBRyxJQUFJLENBQUMsU0FBUyxJQUFJLEVBQUUsQ0FBQyxJQUFJLENBQUMsUUFBUSxDQUFDLENBQUMsRUFBRSxFQUFDO1NBQ3pDO2FBQ0ksSUFBRyxJQUFJLENBQUMsU0FBUyxJQUFJLEVBQUUsQ0FBQyxJQUFJLENBQUMsUUFBUSxDQUFDLENBQUMsSUFBSSxFQUFDO1lBQzdDLE1BQU0sQ0FBQyxLQUFLLEdBQUcsR0FBRyxDQUFDO1NBQ3RCO2FBQ0ksSUFBRyxJQUFJLENBQUMsU0FBUyxJQUFJLEVBQUUsQ0FBQyxJQUFJLENBQUMsUUFBUSxDQUFDLENBQUMsSUFBSSxFQUFDO1lBQzdDLE1BQU0sQ0FBQyxLQUFLLEdBQUcsRUFBRSxDQUFDO1lBQ2xCLElBQUksR0FBRyxHQUFHLEdBQUcsTUFBTSxDQUFDO1lBQ3BCLGtJQUFrSTtTQUNySTthQUNJLElBQUcsSUFBSSxDQUFDLFNBQVMsSUFBSSxFQUFFLENBQUMsSUFBSSxDQUFDLFFBQVEsQ0FBQyxDQUFDLEtBQUssRUFBQztZQUM5QyxNQUFNLENBQUMsS0FBSyxHQUFHLEdBQUcsQ0FBQztZQUNuQixJQUFJLEdBQUcsR0FBRyxHQUFHLE1BQU0sQ0FBQztZQUNwQixrSUFBa0k7U0FDckk7YUFDRztZQUNBLE1BQU0sR0FBRyxJQUFJLENBQUMsSUFBSSxDQUFDLGNBQWMsQ0FBQyxNQUFNLENBQUMsQ0FBQztZQUMxQyxJQUFHLE1BQU0sQ0FBQyxJQUFJLElBQUksTUFBTSxFQUFDO2dCQUNyQixJQUFJLE9BQUssR0FBRyxNQUFNLENBQUMsY0FBYyxDQUFDLE1BQU0sQ0FBQyxDQUFDLGNBQWMsQ0FBQyxPQUFPLENBQUMsQ0FBQztnQkFDbEUsT0FBSyxDQUFDLE9BQU8sR0FBRyxDQUFDLENBQUE7Z0JBQ2pCLE9BQUssQ0FBQyxTQUFTLENBQUMsRUFBRSxDQUFDLFFBQVEsQ0FBQyxFQUFFLENBQUMsUUFBUSxDQUFDLEdBQUcsRUFBQyxDQUFDLElBQUksQ0FBQyxFQUFDLEVBQUUsQ0FBQyxTQUFTLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxhQUFhLEVBQUUsQ0FBQyxDQUFDO2dCQUNyRixVQUFVLENBQUM7b0JBQ1AsT0FBSyxDQUFDLE9BQU8sR0FBRyxHQUFHLENBQUM7Z0JBQ3hCLENBQUMsRUFBRSxHQUFHLENBQUMsQ0FBQzthQUNYO1lBQ0QsSUFBSSxHQUFHLEdBQUcsR0FBRyxNQUFNLENBQUM7WUFDcEIsaUlBQWlJO1lBQ2pJLFFBQVEsR0FBRyxJQUFJLENBQUM7WUFDaEIsSUFBRyxJQUFJLENBQUMsU0FBUyxJQUFJLEVBQUUsQ0FBQyxJQUFJLENBQUMsUUFBUSxDQUFDLENBQUMsT0FBTyxFQUFDO2dCQUMzQyxNQUFNLENBQUMsV0FBVyxDQUFDLENBQUMsSUFBSSxDQUFDLFlBQVksRUFBQyxDQUFDLElBQUksQ0FBQyxZQUFZLENBQUMsQ0FBQzthQUM3RDtpQkFDSSxJQUFHLElBQUksQ0FBQyxTQUFTLElBQUksRUFBRSxDQUFDLElBQUksQ0FBQyxRQUFRLENBQUMsQ0FBQyxRQUFRLEVBQUM7Z0JBQ2pELE1BQU0sQ0FBQyxNQUFNLEdBQUcsQ0FBQyxDQUFDLENBQUM7Z0JBQ25CLE1BQU0sQ0FBQyxXQUFXLENBQUMsSUFBSSxDQUFDLFlBQVksRUFBQyxDQUFDLElBQUksQ0FBQyxZQUFZLENBQUMsQ0FBQzthQUM1RDtpQkFDSSxJQUFHLElBQUksQ0FBQyxTQUFTLElBQUksRUFBRSxDQUFDLElBQUksQ0FBQyxRQUFRLENBQUMsQ0FBQyxTQUFTLEVBQUM7Z0JBQ2xELE1BQU0sQ0FBQyxLQUFLLEdBQUcsR0FBRyxDQUFDO2dCQUNuQixNQUFNLENBQUMsTUFBTSxHQUFHLENBQUMsQ0FBQyxDQUFDO2dCQUNuQixNQUFNLENBQUMsV0FBVyxDQUFDLENBQUMsSUFBSSxDQUFDLFlBQVksRUFBQyxJQUFJLENBQUMsWUFBWSxDQUFDLENBQUM7YUFDNUQ7aUJBQ0ksSUFBRyxJQUFJLENBQUMsU0FBUyxJQUFJLEVBQUUsQ0FBQyxJQUFJLENBQUMsUUFBUSxDQUFDLENBQUMsVUFBVSxFQUFDO2dCQUNuRCxNQUFNLENBQUMsS0FBSyxHQUFHLEdBQUcsQ0FBQztnQkFDbkIsTUFBTSxDQUFDLFdBQVcsQ0FBQyxJQUFJLENBQUMsWUFBWSxFQUFDLElBQUksQ0FBQyxZQUFZLENBQUMsQ0FBQzthQUMzRDtpQkFDSSxJQUFHLElBQUksQ0FBQyxTQUFTLElBQUksRUFBRSxDQUFDLElBQUksQ0FBQyxRQUFRLENBQUMsQ0FBQyxPQUFPLEVBQUM7Z0JBQ2hELE1BQU0sQ0FBQyxLQUFLLEdBQUcsQ0FBQyxFQUFFLENBQUM7Z0JBQ25CLE1BQU0sQ0FBQyxNQUFNLEdBQUcsQ0FBQyxDQUFDLENBQUM7Z0JBQ25CLE1BQU0sQ0FBQyxXQUFXLENBQUMsSUFBSSxDQUFDLFlBQVksRUFBQyxJQUFJLENBQUMsWUFBWSxDQUFDLENBQUM7YUFDM0Q7aUJBQ0ksSUFBRyxJQUFJLENBQUMsU0FBUyxJQUFJLEVBQUUsQ0FBQyxJQUFJLENBQUMsUUFBUSxDQUFDLENBQUMsU0FBUyxFQUFDO2dCQUNsRCxNQUFNLENBQUMsS0FBSyxHQUFHLEVBQUUsQ0FBQztnQkFDbEIsTUFBTSxDQUFDLFdBQVcsQ0FBQyxDQUFDLElBQUksQ0FBQyxZQUFZLEVBQUMsQ0FBQyxJQUFJLENBQUMsWUFBWSxDQUFDLENBQUM7YUFDN0Q7aUJBQ0ksSUFBRyxJQUFJLENBQUMsU0FBUyxJQUFJLEVBQUUsQ0FBQyxJQUFJLENBQUMsUUFBUSxDQUFDLENBQUMsUUFBUSxFQUFDO2dCQUNqRCxNQUFNLENBQUMsS0FBSyxHQUFHLENBQUMsRUFBRSxDQUFDO2dCQUNuQixNQUFNLENBQUMsV0FBVyxDQUFDLENBQUMsSUFBSSxDQUFDLFlBQVksRUFBQyxJQUFJLENBQUMsWUFBWSxDQUFDLENBQUM7YUFFNUQ7aUJBQ0ksSUFBRyxJQUFJLENBQUMsU0FBUyxJQUFJLEVBQUUsQ0FBQyxJQUFJLENBQUMsUUFBUSxDQUFDLENBQUMsVUFBVSxFQUFDO2dCQUNuRCxNQUFNLENBQUMsS0FBSyxHQUFHLENBQUMsRUFBRSxDQUFDO2dCQUNuQixNQUFNLENBQUMsTUFBTSxHQUFHLENBQUMsQ0FBQyxDQUFDO2dCQUNuQixNQUFNLENBQUMsV0FBVyxDQUFDLENBQUMsSUFBSSxDQUFDLFlBQVksRUFBQyxDQUFDLElBQUksQ0FBQyxZQUFZLENBQUMsQ0FBQzthQUM3RDtTQUNKO1FBRUQsSUFBRyxJQUFJLENBQUMsU0FBUyxJQUFJLEtBQUssRUFBQztZQUN2QixNQUFNLENBQUMsTUFBTSxHQUFHLEtBQUssQ0FBQztZQUN0QixJQUFHLElBQUksQ0FBQyxVQUFVLElBQUksRUFBRSxDQUFDLElBQUksQ0FBQyxTQUFTLENBQUMsQ0FBQyxHQUFHLEVBQUM7Z0JBQ3pDLElBQUcsSUFBSSxDQUFDLElBQUksQ0FBQyxjQUFjLENBQUMsWUFBWSxDQUFDLENBQUMsTUFBTSxJQUFJLElBQUksSUFBSSxJQUFJLENBQUMsVUFBVSxJQUFJLEVBQUUsQ0FBQyxJQUFJLENBQUMsU0FBUyxDQUFDLENBQUMsR0FBRyxFQUFDO29CQUNsRyxFQUFFLENBQUMsS0FBSyxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsY0FBYyxDQUFDLFlBQVksQ0FBQyxDQUFDO3lCQUMvQyxFQUFFLENBQUMsR0FBRyxFQUFDLEVBQUMsT0FBTyxFQUFDLEdBQUcsRUFBQyxDQUFDO3lCQUNyQixJQUFJLENBQUM7d0JBQ0YsaUJBQWlCO3dCQUNqQixFQUFFLENBQUMsRUFBRSxDQUFDLGFBQWEsQ0FBQyxJQUFJLENBQUMsRUFBRSxDQUFDLEVBQUUsQ0FBQyxPQUFPLENBQUMsVUFBVSxFQUFDLEtBQUssQ0FBQyxDQUFDO3dCQUV6RCxJQUFHLEVBQUUsQ0FBQyxFQUFFLENBQUMsVUFBVSxDQUFDLE9BQU8sQ0FBQyxLQUFLLEdBQUcsQ0FBQyxFQUFDOzRCQUNsQyxFQUFFLENBQUMsRUFBRSxDQUFDLFVBQVUsQ0FBQyxPQUFPLENBQUMsS0FBSyxJQUFJLENBQUMsQ0FBQzt5QkFDdkM7d0JBQ0QsVUFBVSxDQUFDOzRCQUNQLHNDQUFzQzt3QkFDMUMsQ0FBQyxFQUFFLEdBQUcsQ0FBQyxDQUFDO29CQUVaLENBQUMsQ0FBQzt5QkFDRCxLQUFLLEVBQUUsQ0FBQztpQkFDWjthQUNKO2lCQUNHO2dCQUNBLE1BQU0sR0FBRyxJQUFJLENBQUMsSUFBSSxDQUFDLGNBQWMsQ0FBQyxLQUFLLENBQUMsQ0FBQztnQkFDekMsTUFBTSxDQUFDLE1BQU0sR0FBRyxJQUFJLENBQUM7Z0JBQ3JCLE1BQU0sQ0FBQyxPQUFPLEdBQUcsQ0FBQyxDQUFDO2dCQUVuQixJQUFJLE9BQU8sR0FBRyxJQUFJLENBQUMsSUFBSSxDQUFDO2dCQUN4QixJQUFHLElBQUksQ0FBQyxHQUFHLENBQUMsQ0FBQyxHQUFHLE9BQU8sQ0FBQyxDQUFDLElBQUksQ0FBQyxFQUFDO29CQUMzQixNQUFNLENBQUMsS0FBSyxHQUFHLENBQUMsRUFBRSxDQUFDO2lCQUV0QjtxQkFDSSxJQUFHLElBQUksQ0FBQyxHQUFHLENBQUMsQ0FBQyxHQUFHLE9BQU8sQ0FBQyxDQUFDLElBQUksQ0FBQyxDQUFDLEVBQUM7b0JBQ2pDLE1BQU0sQ0FBQyxLQUFLLEdBQUcsRUFBRSxDQUFDO2lCQUNyQjtxQkFDSSxJQUFHLElBQUksQ0FBQyxHQUFHLENBQUMsQ0FBQyxHQUFHLE9BQU8sQ0FBQyxDQUFDLElBQUksQ0FBQyxFQUFDO29CQUNoQyxNQUFNLENBQUMsS0FBSyxHQUFHLEdBQUcsQ0FBQztpQkFDdEI7Z0JBRUQsRUFBRSxDQUFDLEtBQUssQ0FBQyxNQUFNLENBQUM7cUJBQ2YsRUFBRSxDQUFDLEdBQUcsRUFBQyxFQUFDLE9BQU8sRUFBQyxHQUFHLEVBQUMsQ0FBQztxQkFDckIsSUFBSSxDQUFDO29CQUNGLGdCQUFnQjtvQkFDaEIsRUFBRSxDQUFDLEVBQUUsQ0FBQyxhQUFhLENBQUMsSUFBSSxDQUFDLEVBQUUsQ0FBQyxFQUFFLENBQUMsT0FBTyxDQUFDLFVBQVUsRUFBQyxNQUFNLENBQUMsQ0FBQztvQkFDMUQsc0NBQXNDO2dCQUUxQyxDQUFDLENBQUM7cUJBQ0QsS0FBSyxFQUFFLENBQUM7YUFDWjtTQUVKO2FBQ0c7WUFDQSxNQUFNLENBQUMsTUFBTSxHQUFHLElBQUksQ0FBQztZQUNyQixNQUFNLENBQUMsWUFBWSxDQUFDLEVBQUUsQ0FBQyxNQUFNLENBQUMsQ0FBQyxTQUFTLEdBQUcsQ0FBQyxDQUFDO1lBQzdDLEVBQUUsQ0FBQyxLQUFLLENBQUMsTUFBTSxDQUFDLFlBQVksQ0FBQyxFQUFFLENBQUMsTUFBTSxDQUFDLENBQUM7aUJBQ3ZDLEVBQUUsQ0FBQyxJQUFJLEVBQUMsRUFBQyxTQUFTLEVBQUMsUUFBUSxFQUFDLENBQUM7aUJBQzdCLElBQUksQ0FBQztnQkFDRixJQUFHLElBQUksQ0FBQyxTQUFTO29CQUNiLEVBQUUsQ0FBQyxFQUFFLENBQUMsYUFBYSxDQUFDLElBQUksQ0FBQyxFQUFFLENBQUMsRUFBRSxDQUFDLE9BQU8sQ0FBQyxTQUFTLEVBQUMsS0FBSyxDQUFDLENBQUM7WUFDaEUsQ0FBQyxDQUFDO2lCQUNELEtBQUssRUFBRSxDQUFDO1NBQ1o7SUFFTCxDQUFDO0lBeHVCRDtRQURDLFFBQVEsQ0FBQyxFQUFFLENBQUMsV0FBVyxDQUFDO3dDQUNDO0lBSFQsUUFBUTtRQUQ1QixPQUFPO09BQ2EsUUFBUSxDQTh1QjVCO0lBQUQsZUFBQztDQTl1QkQsQUE4dUJDLENBOXVCcUMsRUFBRSxDQUFDLFNBQVMsR0E4dUJqRDtrQkE5dUJvQixRQUFRIiwiZmlsZSI6IiIsInNvdXJjZVJvb3QiOiIvIiwic291cmNlc0NvbnRlbnQiOlsiLy8gTGVhcm4gVHlwZVNjcmlwdDpcclxuLy8gIC0gaHR0cHM6Ly9kb2NzLmNvY29zLmNvbS9jcmVhdG9yL21hbnVhbC9lbi9zY3JpcHRpbmcvdHlwZXNjcmlwdC5odG1sXHJcbi8vIExlYXJuIEF0dHJpYnV0ZTpcclxuLy8gIC0gaHR0cHM6Ly9kb2NzLmNvY29zLmNvbS9jcmVhdG9yL21hbnVhbC9lbi9zY3JpcHRpbmcvcmVmZXJlbmNlL2F0dHJpYnV0ZXMuaHRtbFxyXG4vLyBMZWFybiBsaWZlLWN5Y2xlIGNhbGxiYWNrczpcclxuLy8gIC0gaHR0cHM6Ly9kb2NzLmNvY29zLmNvbS9jcmVhdG9yL21hbnVhbC9lbi9zY3JpcHRpbmcvbGlmZS1jeWNsZS1jYWxsYmFja3MuaHRtbFxyXG5cclxuY29uc3Qge2NjY2xhc3MsIHByb3BlcnR5fSA9IGNjLl9kZWNvcmF0b3I7XHJcblxyXG5leHBvcnQgZW51bSBCbG9ja1R5cGV7XHJcbiAgICAvKuaZrumAmuWcsOWdlyAqL1xyXG4gICAgTm9tYWwgPSAwLCAgXHJcbiAgICAvKui1t+eCueWcsOWdlyAqL1xyXG4gICAgU3RhcnQgPSAxLCAgXHJcbiAgICAvKua5v+WcsCAqL1xyXG4gICAgTnVuamEgPSAyLFxyXG4gICAgLyrlsbHls7AgKi9cclxuICAgIFBlYWsgPSAzLFxyXG4gICAgLyrnu4jngrnlnLDlnZcgKi9cclxuICAgIEVuZCA9IDQsXHJcblxyXG4gICAgLyrmga/lo6QgKi9cclxuICAgIFhpX1NvaWwgPSA1LFxyXG4gICAgLyrliqDlm7ogKi9cclxuICAgIFJlaW5mb3JjZSA9IDZcclxufVxyXG5cclxuZXhwb3J0IGVudW0gUGF0aFR5cGV7XHJcbiAgICBlcnIgPSBcImVyclwiLFxyXG4gICAgdXAgPSBcInVwXCIsICBcclxuICAgIGRvd24gPSBcImRvd25cIiwgIFxyXG4gICAgbGVmdCA9IFwibGVmdFwiLFxyXG4gICAgcmlnaHQgPSBcInJpZ2h0XCIsXHJcbiAgICB1cF9sZWZ0ID0gXCJ1cF9sZWZ0XCIsXHJcbiAgICB1cF9yaWdodCA9IFwidXBfcmlnaHRcIixcclxuICAgIGRvd25fbGVmdCA9IFwiZG93bl9sZWZ0XCIsXHJcbiAgICBkb3duX3JpZ2h0ID0gXCJkb3duX3JpZ2h0XCIsXHJcbiAgICBsZWZ0X3VwID0gXCJsZWZ0X3VwXCIsXHJcbiAgICBsZWZ0X2Rvd24gPSBcImxlZnRfZG93blwiLFxyXG4gICAgcmlnaHRfdXAgPSBcInJpZ2h0X3VwXCIsXHJcbiAgICByaWdodF9kb3duID0gXCJyaWdodF9kb3duXCIsXHJcbn1cclxuXHJcbkBjY2NsYXNzXHJcbmV4cG9ydCBkZWZhdWx0IGNsYXNzIE5ld0NsYXNzIGV4dGVuZHMgY2MuQ29tcG9uZW50IHtcclxuICAgIC8vIExJRkUtQ1lDTEUgQ0FMTEJBQ0tTOlxyXG4gICAgQHByb3BlcnR5KGNjLlNwcml0ZUF0bGFzKVxyXG4gICAgVUk6IGNjLlNwcml0ZUF0bGFzID0gbnVsbDtcclxuXHJcbiAgICBwb3NfU2hpZnRpbmc6bnVtYmVyO1xyXG4gICAgYmxvY2tfVHlwZTpudW1iZXI7XHJcbiAgICBwYXRoX1R5cGU6c3RyaW5nO1xyXG4gICAgZmluaXNoaTpib29sZWFuO1xyXG4gICAgcG9zOiBhbnk7XHJcbiAgICBvbkxvYWQgKCkge1xyXG4gICAgICAgIHRoaXMuZmluaXNoaSA9IGZhbHNlO1xyXG4gICAgICAgIHRoaXMucG9zX1NoaWZ0aW5nID0gMDtcclxuICAgICAgICB0aGlzLnBvcyA9IGNjLnYyKDAsMCk7XHJcbiAgICB9XHJcblxyXG4gICAgc3RhcnQgKCkge1xyXG4gICAgICAgIFxyXG4gICAgfVxyXG4gICAgLyoqXHJcbiAgICAgKiDmga/lo6Tov4flkI7mlLnlj5jkv67nrZHot6/lvoRcclxuICAgICAqIEBwYXJhbSBvcmRlciDlu7rnrZHlnLDlm77mlbDnu4Tph4znmoTmiafooYznmoTluo/liJflj7dcclxuICAgICAqIEBwYXJhbSBudW1iZXIg5oGv5aOk5omn6KGM6ZW/5bqmLOaUueWPmOaBr+WjpOeUqOWQjuWFtuS7lui3r+W+hOeahFjmiJZZ5YC8XHJcbiAgICAgKiBAcGFyYW0gZGlyZWN0aW9uIOWPquS4uuS4pOS4quaWueWQke+8jOaoquWQkWZhbHNlLOe6teWQkXRydWVcclxuICAgICAqIEBwYXJhbSByb2FkIOW7uuetkeWcsOWbvuaVsOe7hOaIluiAhea0quWzsOi3r+W+hOaVsOe7hO+8jOWPr+eQhuino+S4uui3r+W+hOaVsOe7hO+8jHBhdGhfQXJyYXkgd2F0ZXJfQXJyYXlcclxuICAgICAqL1xyXG4gICAgLy/liJ3lp4vljJblnLDlm77lnZfmlbDmja5cclxuICAgIGluaXREYXRhKHR5cGUscG9zLG1heCl7XHJcbiAgICAgICAgdGhpcy5ibG9ja19UeXBlID0gdHlwZTtcclxuICAgICAgICB0aGlzLnBvcyA9IGNjLnYyKHBvcy54LHBvcy55KTtcclxuICAgICAgICAvLyBpZih0aGlzLnBvcy55JTIgPT0gMCkgdGhpcy5ub2RlLmdldENoaWxkQnlOYW1lKFwidGlwXCIpLmFjdGl2ZSA9IHRydWU7XHJcbiAgICAgICAgaWYodHlwZSA9PSBjYy5FbnVtKEJsb2NrVHlwZSkuU3RhcnQpeyBcclxuICAgICAgICAgICAgdmFyIGJnID0gdGhpcy5ub2RlLmdldENoaWxkQnlOYW1lKFwic3BcIik7XHJcbiAgICAgICAgICAgIC8vIHRoaXMubm9kZS5nZXRDb21wb25lbnQoY2MuU3ByaXRlKS5zcHJpdGVGcmFtZSA9IG51bGw7XHJcbiAgICAgICAgICAgIC8vIGJnLmdldENvbXBvbmVudChjYy5TcHJpdGUpLnNwcml0ZUZyYW1lID0gdGhpcy5VSVtcIl9zcHJpdGVGcmFtZXNcIl1bXCJzdGFydFwiXTtcclxuICAgICAgICAgICAgaWYoY2MuZnguR2FtZUNvbmZpZy5HTV9JTkZPLmxldmVsID4gMyl7XHJcbiAgICAgICAgICAgICAgICAvLyBiZy5nZXRDaGlsZEJ5TmFtZShcInN0YXJ0XCIpLnkgPSAyMDtcclxuICAgICAgICAgICAgICAgIGJnLmdldENoaWxkQnlOYW1lKFwiZW5kXCIpLnkgPSAyMDtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICB0aGlzLnJvdGF0ZVRhcmdldChiZyxcInN0YXJ0XCIscG9zLG1heCk7XHJcbiAgICAgICAgfVxyXG4gICAgICAgIGVsc2UgaWYodHlwZSA9PSBjYy5FbnVtKEJsb2NrVHlwZSkuRW5kKXtcclxuICAgICAgICAgICAgdmFyIGJnID0gdGhpcy5ub2RlLmdldENoaWxkQnlOYW1lKFwic3BcIik7XHJcbiAgICAgICAgICAgIC8vIHRoaXMubm9kZS5nZXRDb21wb25lbnQoY2MuU3ByaXRlKS5zcHJpdGVGcmFtZSA9IG51bGw7XHJcbiAgICAgICAgICAgIGJnLmdldENvbXBvbmVudChjYy5TcHJpdGUpLnNwcml0ZUZyYW1lID0gdGhpcy5VSVtcIl9zcHJpdGVGcmFtZXNcIl1bXCJlbmRcIl07XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIGlmKGNjLmZ4LkdhbWVDb25maWcuR01fSU5GTy5sZXZlbCA+IDMpe1xyXG4gICAgICAgICAgICAgICAgLy8gYmcuZ2V0Q2hpbGRCeU5hbWUoXCJzdGFydFwiKS55ID0gMjA7XHJcbiAgICAgICAgICAgICAgICBiZy5nZXRDaGlsZEJ5TmFtZShcImVuZFwiKS55ID0gMjA7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgdGhpcy5yb3RhdGVUYXJnZXQoYmcsXCJlbmRcIixwb3MsbWF4KTtcclxuICAgICAgICB9XHJcbiAgICAgICAgZWxzZSBpZih0eXBlID09IGNjLkVudW0oQmxvY2tUeXBlKS5OdW5qYSl7XHJcbiAgICAgICAgICAgIGxldCByYW5kb20gPSBNYXRoLmZsb29yKE1hdGgucmFuZG9tKCkqNCk7XHJcbiAgICAgICAgICAgIGxldCByb3RhdGlvbkFyciA9IFswLDkwLDE4MCwyNzBdO1xyXG4gICAgICAgICAgICBsZXQgcm90YXRpb24gPSByb3RhdGlvbkFycltyYW5kb21dO1xyXG4gICAgICAgICAgICB0aGlzLm5vZGUuZ2V0Q2hpbGRCeU5hbWUoXCJiZ1wiKS5nZXRDb21wb25lbnQoY2MuU3ByaXRlKS5zcHJpdGVGcmFtZSA9IHRoaXMuVUlbXCJfc3ByaXRlRnJhbWVzXCJdW1wiZTVcIl07XHJcbiAgICAgICAgICAgIHRoaXMubm9kZS5nZXRDaGlsZEJ5TmFtZShcImJnXCIpLmFuZ2xlID0gLXJvdGF0aW9uO1xyXG4gICAgICAgICAgICB0aGlzLm5vZGUuZ2V0Q29tcG9uZW50KGNjLlNwcml0ZSkuc3ByaXRlRnJhbWUgPSBudWxsO1xyXG4gICAgICAgIH1cclxuICAgICAgICBlbHNlIGlmKHR5cGUgPT0gY2MuRW51bShCbG9ja1R5cGUpLlBlYWspe1xyXG4gICAgICAgICAgICBsZXQgcmFuZG9tID0gTWF0aC5mbG9vcihNYXRoLnJhbmRvbSgpKjQrMSk7XHJcbiAgICAgICAgICAgIGxldCBuYW1lID0gXCJzaGFuXCIgKyByYW5kb207XHJcbiAgICAgICAgICAgIHRoaXMubm9kZS5nZXRDaGlsZEJ5TmFtZShcImJnXCIpLmdldENvbXBvbmVudChjYy5TcHJpdGUpLnNwcml0ZUZyYW1lID0gdGhpcy5VSVtcIl9zcHJpdGVGcmFtZXNcIl1bbmFtZV07XHJcbiAgICAgICAgICAgIHRoaXMubm9kZS5nZXRDb21wb25lbnQoY2MuU3ByaXRlKS5zcHJpdGVGcmFtZSA9IG51bGw7XHJcbiAgICAgICAgfVxyXG4gICAgICAgIGlmKGNjLmZ4LkdhbWVDb25maWcuR01fSU5GTy5sZXZlbCA9PSAxKXtcclxuICAgICAgICAgICAgdGhpcy5ub2RlLmdldENoaWxkQnlOYW1lKFwidGlwV2luXCIpLm9wYWNpdHkgPSAyMjA7XHJcbiAgICAgICAgICAgIHRoaXMubm9kZS5nZXRDaGlsZEJ5TmFtZShcInRpcExvc2VcIikub3BhY2l0eSA9IDIyMDtcclxuICAgICAgICB9XHJcbiAgICAgICAgZWxzZSBpZihjYy5meC5HYW1lQ29uZmlnLkdNX0lORk8ubGV2ZWwgPT0gMil7XHJcbiAgICAgICAgICAgIHRoaXMubm9kZS5nZXRDaGlsZEJ5TmFtZShcInRpcFdpblwiKS5vcGFjaXR5ID0gMTAwO1xyXG4gICAgICAgICAgICB0aGlzLm5vZGUuZ2V0Q2hpbGRCeU5hbWUoXCJ0aXBMb3NlXCIpLm9wYWNpdHkgPSAxMDA7XHJcbiAgICAgICAgfVxyXG4gICAgICAgIGVsc2UgaWYoY2MuZnguR2FtZUNvbmZpZy5HTV9JTkZPLmxldmVsID09IDMpe1xyXG4gICAgICAgICAgICB0aGlzLm5vZGUuZ2V0Q2hpbGRCeU5hbWUoXCJ0aXBXaW5cIikub3BhY2l0eSA9IDUwO1xyXG4gICAgICAgICAgICB0aGlzLm5vZGUuZ2V0Q2hpbGRCeU5hbWUoXCJ0aXBMb3NlXCIpLm9wYWNpdHkgPSA1MDtcclxuICAgICAgICB9XHJcbiAgICAgICAgZWxzZSBpZihjYy5meC5HYW1lQ29uZmlnLkdNX0lORk8ubGV2ZWwgPiAzKXtcclxuICAgICAgICAgICAgdGhpcy5ub2RlLmdldENoaWxkQnlOYW1lKFwidGlwV2luXCIpLm9wYWNpdHkgPSAwO1xyXG4gICAgICAgICAgICB0aGlzLm5vZGUuZ2V0Q2hpbGRCeU5hbWUoXCJ0aXBMb3NlXCIpLm9wYWNpdHkgPSAwO1xyXG4gICAgICAgIH1cclxuICBcclxuICAgIH1cclxuICAgIC8v5peL6L2s5YWl5rW35Y+j5ZKM5Ye65rW35Y+j55qEIOWbvueJh+S7peWPiuaWh+Wtl+inkuW6plxyXG4gICAgcm90YXRlVGFyZ2V0KGJnLG5hbWUscG9zLG1heCl7XHJcbiAgICAgICAgbGV0IHRhcmdldCA9IGJnLmdldENoaWxkQnlOYW1lKG5hbWUpO1xyXG4gICAgICAgIGlmKHBvcy55ID09IG1heC55LTEpe1xyXG4gICAgICAgICAgICBiZy5hbmdsZSA9IDA7XHJcbiAgICAgICAgICAgIGlmKG5hbWUgPT0gXCJlbmRcIikgdGFyZ2V0LmdldENvbXBvbmVudChjYy5TcHJpdGUpLnNwcml0ZUZyYW1lID0gdGhpcy5VSVtcIl9zcHJpdGVGcmFtZXNcIl1bXCJlbmRfeFwiXTtcclxuICAgICAgICAgICAgdGFyZ2V0LmFjdGl2ZSA9IHRydWU7XHJcbiAgICAgICAgICAgIHRhcmdldC5hbmdsZSA9IDA7XHJcbiAgICAgICAgICAgIHJldHVybjtcclxuICAgICAgICB9XHJcbiAgICAgICAgZWxzZSBpZihwb3MueSA9PSAwKXtcclxuICAgICAgICAgICAgYmcuYW5nbGUgPSAtMTgwO1xyXG4gICAgICAgICAgICBpZihuYW1lID09IFwiZW5kXCIpdGFyZ2V0LmdldENvbXBvbmVudChjYy5TcHJpdGUpLnNwcml0ZUZyYW1lID0gdGhpcy5VSVtcIl9zcHJpdGVGcmFtZXNcIl1bXCJlbmRfeFwiXTtcclxuICAgICAgICAgICAgdGFyZ2V0LmFjdGl2ZSA9IHRydWU7XHJcbiAgICAgICAgICAgIHRhcmdldC5hbmdsZSA9IC0xODA7XHJcbiAgICAgICAgICAgIHJldHVybjtcclxuICAgICAgICB9XHJcbiAgICAgICAgZWxzZSBpZihwb3MueCA9PSBtYXgueC0xKXtcclxuICAgICAgICAgICAgYmcuYW5nbGUgPSA5MDtcclxuICAgICAgICAgICAgaWYobmFtZSA9PSBcInN0YXJ0XCIpdGFyZ2V0LmdldENvbXBvbmVudChjYy5TcHJpdGUpLnNwcml0ZUZyYW1lID0gdGhpcy5VSVtcIl9zcHJpdGVGcmFtZXNcIl1bXCJzdGFydF95XCJdO1xyXG4gICAgICAgICAgICBlbHNlIHRhcmdldC5nZXRDb21wb25lbnQoY2MuU3ByaXRlKS5zcHJpdGVGcmFtZSA9IHRoaXMuVUlbXCJfc3ByaXRlRnJhbWVzXCJdW1wiZW5kX3lcIl07XHJcbiAgICAgICAgICAgIHRhcmdldC5hY3RpdmUgPSB0cnVlO1xyXG4gICAgICAgICAgICB0YXJnZXQuYW5nbGUgPSAtOTA7XHJcbiAgICAgICAgfVxyXG4gICAgICAgIGVsc2UgaWYocG9zLnggPT0gMCl7XHJcbiAgICAgICAgICAgIGJnLmFuZ2xlID0gLTkwO1xyXG4gICAgICAgICAgICBpZihuYW1lID09IFwic3RhcnRcIil0YXJnZXQuZ2V0Q29tcG9uZW50KGNjLlNwcml0ZSkuc3ByaXRlRnJhbWUgPSB0aGlzLlVJW1wiX3Nwcml0ZUZyYW1lc1wiXVtcInN0YXJ0X3lcIl07XHJcbiAgICAgICAgICAgIGVsc2UgdGFyZ2V0LmdldENvbXBvbmVudChjYy5TcHJpdGUpLnNwcml0ZUZyYW1lID0gdGhpcy5VSVtcIl9zcHJpdGVGcmFtZXNcIl1bXCJlbmRfeVwiXTtcclxuICAgICAgICAgICAgdGFyZ2V0LmFjdGl2ZSA9IHRydWU7XHJcbiAgICAgICAgICAgIHRhcmdldC5hbmdsZSA9IDkwO1xyXG4gICAgICAgIH1cclxuICAgIH1cclxuXHJcbiAgICBzZXRQYXRoKHR5cGUpe1xyXG4gICAgICAgIHRoaXMucGF0aF9UeXBlID0gdHlwZTtcclxuICAgIH1cclxuICAgIC8v6K6+572u5oGv5aOk5Zyo6LW354K5XHJcbiAgICBzZXRfWGlfU29pbChkaXJlY3Rpb24sdHlwZSl7XHJcbiAgICAgICAgbGV0IHNwID0gdGhpcy5ub2RlLmdldENoaWxkQnlOYW1lKFwic3BcIik7XHJcbiAgICAgICAgbGV0IHR1cm4gPSB0aGlzLm5vZGUuZ2V0Q2hpbGRCeU5hbWUoXCJ0dXJuU3RhcnRcIik7XHJcbiAgICAgICAgbGV0IHdhdGVyID0gdGhpcy5ub2RlLmdldENoaWxkQnlOYW1lKFwid2F0ZXJTdGFydFwiKTtcclxuXHJcbiAgICAgICAgaWYoZGlyZWN0aW9uID09IFwibGVmdFwiIHx8IGRpcmVjdGlvbiA9PSBcInJpZ2h0XCIpe1xyXG4gICAgICAgICAgICBpZihzcC5hbmdsZSA9PSAwKXtcclxuICAgICAgICAgICAgICAgIHR1cm4uYWN0aXZlID10cnVlO1xyXG4gICAgICAgICAgICAgICAgd2F0ZXIuYWN0aXZlID0gdHJ1ZTtcclxuICAgICAgICAgICAgICAgIHdhdGVyLm9wYWNpdHkgPSAwO1xyXG4gICAgICAgICAgICAgICAgaWYodHlwZSl7XHJcbiAgICAgICAgICAgICAgICAgICAgdHVybi5hbmdsZSA9IGRpcmVjdGlvbj09XCJsZWZ0XCI/OTA6MDtcclxuICAgICAgICAgICAgICAgICAgICB3YXRlci5hbmdsZSA9IGRpcmVjdGlvbj09XCJsZWZ0XCI/OTA6MDtcclxuXHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICBlbHNle1xyXG4gICAgICAgICAgICAgICAgICAgIHR1cm4uYW5nbGUgPSBkaXJlY3Rpb249PVwibGVmdFwiPzA6OTA7XHJcbiAgICAgICAgICAgICAgICAgICAgd2F0ZXIuYW5nbGUgPSBkaXJlY3Rpb249PVwibGVmdFwiPzA6OTA7XHJcbiAgICAgICAgICAgICAgICB9XHJcblxyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIGVsc2UgaWYoc3AuYW5nbGUgPT0gLTE4MCl7XHJcbiAgICAgICAgICAgICAgICB0dXJuLmFjdGl2ZSA9dHJ1ZTtcclxuICAgICAgICAgICAgICAgIHdhdGVyLmFjdGl2ZSA9IHRydWU7XHJcbiAgICAgICAgICAgICAgICB3YXRlci5vcGFjaXR5ID0gMDtcclxuICAgICAgICAgICAgICAgIGlmKHR5cGUpe1xyXG4gICAgICAgICAgICAgICAgICAgIHR1cm4uYW5nbGUgPSBkaXJlY3Rpb249PVwibGVmdFwiPy0xODA6LTkwO1xyXG4gICAgICAgICAgICAgICAgICAgIHdhdGVyLmFuZ2xlID0gZGlyZWN0aW9uPT1cImxlZnRcIj8tMTgwOi05MDtcclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgIGVsc2V7XHJcbiAgICAgICAgICAgICAgICAgICAgdHVybi5hbmdsZSA9IGRpcmVjdGlvbj09XCJsZWZ0XCI/MjcwOi0xODA7XHJcbiAgICAgICAgICAgICAgICAgICAgd2F0ZXIuYW5nbGUgPSBkaXJlY3Rpb249PVwibGVmdFwiPzI3MDotMTgwO1xyXG4gICAgICAgICAgICAgICAgfVxyXG5cclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICBlbHNlIGlmKHNwLmFuZ2xlID09IC05MCl7XHJcbiAgICAgICAgICAgICAgICB0dXJuLmFjdGl2ZSA9dHJ1ZTtcclxuICAgICAgICAgICAgICAgIHR1cm4uZ2V0Q29tcG9uZW50KGNjLlNwcml0ZSkuc3ByaXRlRnJhbWUgPSB0aGlzLlVJW1wiX3Nwcml0ZUZyYW1lc1wiXVtcImExXCJdO1xyXG4gICAgICAgICAgICAgICAgdHVybi5hbmdsZSA9IDkwO1xyXG4gICAgICAgICAgICAgICAgaWYodHlwZSl7XHJcbiAgICAgICAgICAgICAgICAgICAgd2F0ZXIuYWN0aXZlID0gdHJ1ZTtcclxuICAgICAgICAgICAgICAgICAgICB3YXRlci5hbmdsZSA9IDkwO1xyXG4gICAgICAgICAgICAgICAgICAgIHdhdGVyLmdldENvbXBvbmVudChjYy5TcHJpdGUpLnNwcml0ZUZyYW1lID0gdGhpcy5VSVtcIl9zcHJpdGVGcmFtZXNcIl1bXCJibG9jazFcIl07XHJcbiAgICAgICAgICAgICAgICAgICAgd2F0ZXIub3BhY2l0eSA9IDA7XHJcbiAgICAgICAgICAgICAgICB9XHJcblxyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIGVsc2UgaWYoc3AuYW5nbGUgPT0gOTApe1xyXG4gICAgICAgICAgICAgICAgdHVybi5hY3RpdmUgPXRydWU7XHJcbiAgICAgICAgICAgICAgICB0dXJuLmdldENvbXBvbmVudChjYy5TcHJpdGUpLnNwcml0ZUZyYW1lID0gdGhpcy5VSVtcIl9zcHJpdGVGcmFtZXNcIl1bXCJhMVwiXTtcclxuICAgICAgICAgICAgICAgIHR1cm4uYW5nbGUgPSA5MDtcclxuICAgICAgICAgICAgICAgIGlmKHR5cGUpe1xyXG4gICAgICAgICAgICAgICAgICAgIHdhdGVyLmFjdGl2ZSA9IHRydWU7XHJcbiAgICAgICAgICAgICAgICAgICAgd2F0ZXIuYW5nbGUgPSA5MDtcclxuICAgICAgICAgICAgICAgICAgICB3YXRlci5nZXRDb21wb25lbnQoY2MuU3ByaXRlKS5zcHJpdGVGcmFtZSA9IHRoaXMuVUlbXCJfc3ByaXRlRnJhbWVzXCJdW1wiYmxvY2sxXCJdO1xyXG4gICAgICAgICAgICAgICAgICAgIHdhdGVyLm9wYWNpdHkgPSAwO1xyXG4gICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgXHJcbiAgICAgICAgfVxyXG4gICAgICAgIGVsc2UgaWYoZGlyZWN0aW9uID09IFwidXBcIiB8fCBkaXJlY3Rpb24gPT0gXCJkb3duXCIpe1xyXG4gICAgICAgICAgICBsZXQgc3AgPSB0aGlzLm5vZGUuZ2V0Q2hpbGRCeU5hbWUoXCJzcFwiKTtcclxuICAgICAgICAgICAgaWYoc3AuYW5nbGUgPT0gLTkwKXtcclxuICAgICAgICAgICAgICAgIHR1cm4uYWN0aXZlID10cnVlO1xyXG4gICAgICAgICAgICAgICAgd2F0ZXIuYWN0aXZlID0gdHJ1ZTtcclxuICAgICAgICAgICAgICAgIHdhdGVyLm9wYWNpdHkgPSAwO1xyXG4gICAgICAgICAgICAgICAgaWYodHlwZSl7XHJcbiAgICAgICAgICAgICAgICAgICAgdHVybi5hbmdsZSA9IGRpcmVjdGlvbj09XCJ1cFwiPzA6LTkwO1xyXG4gICAgICAgICAgICAgICAgICAgIHdhdGVyLmFuZ2xlID0gZGlyZWN0aW9uPT1cInVwXCI/MDotOTA7XHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICBlbHNle1xyXG4gICAgICAgICAgICAgICAgICAgIHR1cm4uYW5nbGUgPSBkaXJlY3Rpb249PVwidXBcIj8tOTA6MDtcclxuICAgICAgICAgICAgICAgICAgICB3YXRlci5hbmdsZSA9IGRpcmVjdGlvbj09XCJ1cFwiPy05MDowO1xyXG4gICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIGVsc2UgaWYoc3AuYW5nbGUgPT0gOTApe1xyXG4gICAgICAgICAgICAgICAgdHVybi5hY3RpdmUgPSB0cnVlO1xyXG4gICAgICAgICAgICAgICAgd2F0ZXIuYWN0aXZlID0gdHJ1ZTtcclxuICAgICAgICAgICAgICAgIHdhdGVyLm9wYWNpdHkgPSAwO1xyXG4gICAgICAgICAgICAgICAgaWYodHlwZSl7XHJcbiAgICAgICAgICAgICAgICAgICAgdHVybi5hbmdsZSA9IGRpcmVjdGlvbj09XCJ1cFwiPzkwOjE4MDtcclxuICAgICAgICAgICAgICAgICAgICB3YXRlci5hbmdsZSA9IGRpcmVjdGlvbj09XCJ1cFwiPzkwOjE4MDtcclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgIGVsc2V7XHJcbiAgICAgICAgICAgICAgICAgICAgdHVybi5hbmdsZSA9IGRpcmVjdGlvbj09XCJ1cFwiPzE4MDo5MDtcclxuICAgICAgICAgICAgICAgICAgICB3YXRlci5hbmdsZSA9IGRpcmVjdGlvbj09XCJ1cFwiPzE4MDo5MDtcclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICBcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICBlbHNlIGlmKHNwLmFuZ2xlID09IDApe1xyXG4gICAgICAgICAgICAgICAgdHVybi5hY3RpdmUgPXRydWU7XHJcbiAgICAgICAgICAgICAgICB0dXJuLmdldENvbXBvbmVudChjYy5TcHJpdGUpLnNwcml0ZUZyYW1lID0gdGhpcy5VSVtcIl9zcHJpdGVGcmFtZXNcIl1bXCJhMVwiXTtcclxuICAgICAgICAgICAgICAgIHR1cm4uYW5nbGUgPSAwO1xyXG4gICAgICAgICAgICAgICAgaWYodHlwZSl7XHJcbiAgICAgICAgICAgICAgICAgICAgd2F0ZXIuYWN0aXZlID0gdHJ1ZTtcclxuICAgICAgICAgICAgICAgICAgICB3YXRlci5nZXRDb21wb25lbnQoY2MuU3ByaXRlKS5zcHJpdGVGcmFtZSA9IHRoaXMuVUlbXCJfc3ByaXRlRnJhbWVzXCJdW1wiYmxvY2sxXCJdO1xyXG4gICAgICAgICAgICAgICAgICAgIHdhdGVyLm9wYWNpdHkgPSAwO1xyXG4gICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIGVsc2UgaWYoc3AuYW5nbGUgPT0gLTE4MCl7XHJcbiAgICAgICAgICAgICAgICB0dXJuLmFjdGl2ZSA9dHJ1ZTtcclxuICAgICAgICAgICAgICAgIHR1cm4uZ2V0Q29tcG9uZW50KGNjLlNwcml0ZSkuc3ByaXRlRnJhbWUgPSB0aGlzLlVJW1wiX3Nwcml0ZUZyYW1lc1wiXVtcImExXCJdO1xyXG4gICAgICAgICAgICAgICAgdHVybi5hbmdsZSA9IDA7XHJcbiAgICAgICAgICAgICAgICBpZih0eXBlKXtcclxuICAgICAgICAgICAgICAgICAgICB3YXRlci5hY3RpdmUgPSB0cnVlO1xyXG4gICAgICAgICAgICAgICAgICAgIHdhdGVyLmdldENvbXBvbmVudChjYy5TcHJpdGUpLnNwcml0ZUZyYW1lID0gdGhpcy5VSVtcIl9zcHJpdGVGcmFtZXNcIl1bXCJibG9jazFcIl07XHJcbiAgICAgICAgICAgICAgICAgICAgd2F0ZXIub3BhY2l0eSA9IDA7XHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICB9XHJcbiAgICAvL+aBr+WjpOWFt+S9k+aJp+ihjOaWueazlSAg5aSW6YOo5Y+v6LCD55SoXHJcbiAgICBzZXRfWGlfU29pbFR5cGUoZGlyZWN0aW9uLGVuZCxuYW1lKXtcclxuICAgICAgICAvLyBjb25zb2xlLmxvZyhcIuaBr+WjpFwiLGRpcmVjdGlvbixuYW1lLGVuZCk7XHJcbiAgICAgICAgdmFyIGpnID0gdGhpcy5yZXBlYXRSb2FkKHRydWUsZGlyZWN0aW9uKTtcclxuICAgICAgICBjb25zb2xlLmxvZyhcIuaBr+WjpOmHjeWkjeWIpOaWree7k+aenFwiLGpnKTtcclxuICAgICAgICBpZihqZyA9PSB0cnVlKXtcclxuICAgICAgICAgICAgY2MuZnguTm90aWZpY2F0aW9ucy5lbWl0KGNjLmZ4Lk1lc3NhZ2Uuc2hvd1Jlc3VsdCxcImxvc2VcIik7XHJcbiAgICAgICAgICAgIHJldHVybjtcclxuICAgICAgICB9IFxyXG5cclxuICAgICAgICBpZih0aGlzLmJsb2NrX1R5cGUgPT0gY2MuRW51bShCbG9ja1R5cGUpLlN0YXJ0KXtcclxuICAgICAgICAgICAgdGhpcy5zZXRfWGlfU29pbChkaXJlY3Rpb24sZmFsc2UpO1xyXG4gICAgICAgICAgICByZXR1cm47XHJcbiAgICAgICAgfVxyXG5cclxuICAgICAgICBpZih0aGlzLmJsb2NrX1R5cGUgPT0gY2MuRW51bShCbG9ja1R5cGUpLk51bmphKXtcclxuICAgICAgICAgICAgdGhpcy5ibG9ja19UeXBlID0gY2MuRW51bShCbG9ja1R5cGUpLk5vbWFsO1xyXG4gICAgICAgICAgICB0aGlzLm5vZGUuZ2V0Q2hpbGRCeU5hbWUoXCJiZ1wiKS5nZXRDb21wb25lbnQoY2MuU3ByaXRlKS5zcHJpdGVGcmFtZSA9IG51bGw7XHJcbiAgICAgICAgICAgIHRoaXMubm9kZS5nZXRDb21wb25lbnQoY2MuU3ByaXRlKS5zcHJpdGVGcmFtZSA9ICB0aGlzLlVJW1wiX3Nwcml0ZUZyYW1lc1wiXVtcImJsb2NrX0JnXCJdO1xyXG4gICAgICAgIH1cclxuICAgICAgICBpZihlbmQgIT0gbnVsbCl7XHJcbiAgICAgICAgICAgIGlmKHRoaXMuYmxvY2tfVHlwZSA9PSBjYy5FbnVtKEJsb2NrVHlwZSkuRW5kKXtcclxuICAgICAgICAgICAgICAgIHRoaXMuZmluaXNoaSA9IHRydWU7XHJcbiAgICAgICAgICAgICAgICBzZXRUaW1lb3V0KCgpID0+IHtcclxuICAgICAgICAgICAgICAgICAgICB0aGlzLnNldF9YaV9Tb2lsKGRpcmVjdGlvbix0cnVlKTtcclxuICAgICAgICAgICAgICAgIH0sIDUwMCk7XHJcbiAgICAgICAgIFxyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIHNldFRpbWVvdXQoKCkgPT4ge1xyXG4gICAgICAgICAgICAgICAgaWYobmFtZSA9PSBcIndhdGVyXCIpIGNjLmZ4Lk5vdGlmaWNhdGlvbnMuZW1pdChjYy5meC5NZXNzYWdlLm5leHRXYXRlciwoZW5kKzEpKTtcclxuICAgICAgICAgICAgICAgIGVsc2UgY2MuZnguTm90aWZpY2F0aW9ucy5lbWl0KGNjLmZ4Lk1lc3NhZ2UubmV4dCwoZW5kKzEpKTtcclxuICAgICAgICAgICAgfSwgNDAwKTtcclxuICAgICAgICB9XHJcblxyXG4gICAgICAgIGlmKHRoaXMuYmxvY2tfVHlwZSAhPSBjYy5FbnVtKEJsb2NrVHlwZSkuRW5kICYmIHRoaXMuYmxvY2tfVHlwZSAhPSBjYy5FbnVtKEJsb2NrVHlwZSkuU3RhcnQpe1xyXG4gICAgICAgICAgICB0aGlzLmJsb2NrX1R5cGUgPSBjYy5FbnVtKEJsb2NrVHlwZSkuWGlfU29pbDtcclxuICAgICAgICB9IFxyXG4gICAgICAgIGVsc2V7XHJcbiAgICAgICAgfVxyXG5cclxuICAgICAgICBsZXQgdGFyZ2V0ID0gdGhpcy5ub2RlLmdldENoaWxkQnlOYW1lKFwiWGlfU29pbFwiKTsgXHJcbiAgICAgICAgdGhpcy5wYXRoX1R5cGUgPSBkaXJlY3Rpb247XHJcbiAgICAgICAgdGFyZ2V0LmFjdGl2ZSA9IHRydWU7XHJcbiAgICAgICAgdGFyZ2V0Lm9wYWNpdHkgPSAwO1xyXG4gICAgICAgIGNjLnR3ZWVuKHRhcmdldClcclxuICAgICAgICAudG8oMC4xLHtvcGFjaXR5OjI1NX0pXHJcbiAgICAgICAgLnRvKDAuMSx7b3BhY2l0eTowfSlcclxuICAgICAgICAuY2FsbCgoKSA9PntcclxuICAgICAgICAgICAgaWYoZGlyZWN0aW9uICE9IG51bGwgJiYgZW5kID09IG51bGwpe1xyXG4gICAgICAgICAgICAgICAgbGV0IGRhdGEgPSB7XHJcbiAgICAgICAgICAgICAgICAgICAgb3JkZXI6MCxcclxuICAgICAgICAgICAgICAgICAgICB0aW1lOmNjLmZ4LkdhbWVDb25maWcuVElNRV9JTkZPLndhdGVyU3BlZWRbMF0sXHJcbiAgICAgICAgICAgICAgICAgICAgdHlwZTowLFxyXG4gICAgICAgICAgICAgICAgICAgIGNpcmN1bGF0ZTpmYWxzZVxyXG4gICAgICAgICAgICAgICAgfTtcclxuICAgICAgICAgICAgICAgIGlmKG5hbWUgPT0gXCJ3YXRlclwiKXtcclxuICAgICAgICAgICAgICAgICAgICB0aGlzLnJ1bldhdGVyKGRhdGEpO1xyXG4gICAgICAgICAgICAgICAgfSBcclxuICAgICAgICAgICAgICAgIGVsc2UgdGhpcy5ydW5Sb2FkKGRhdGEpO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfSlcclxuICAgICAgICAuc3RhcnQoKTtcclxuICAgIH1cclxuICAgIC8v5Yik5pat6YeN5aSN6Lev5b6EIFxyXG4gICAgcmVwZWF0Um9hZCh0eXBlLGRpcmVjdGlvbil7XHJcbiAgICAgICAgLy/lpoLmnpzlj4zlkJHpg73ljaDnlKjkuobov5jov5vmnaXlsLHnrpfmrbvkuoYtIFxyXG4gICAgICAgIHZhciBqZyA9IGZhbHNlO1xyXG5cclxuICAgICAgICBpZih0aGlzLm5vZGUuZ2V0Q2hpbGRCeU5hbWUoXCJ2ZXJ0aWNhbDJcIikuYWN0aXZlID09IHRydWUgJiYgdGhpcy5ub2RlLmdldENoaWxkQnlOYW1lKFwiaG9yaXpvbnRhbDJcIikuYWN0aXZlID09IHRydWUpe1xyXG4gICAgICAgICAgICAvLyBhbGVydChcIuayu+awtOWksei0pVwiKTtcclxuICAgICAgICAgICAgamcgPSB0cnVlO1xyXG4gICAgICAgICAgICBpZih0eXBlKXtcclxuICAgICAgICAgICAgICAgIGNjLmZ4Lk5vdGlmaWNhdGlvbnMuZW1pdChjYy5meC5NZXNzYWdlLnNob3dSZXN1bHQsXCJsb3NlXCIpO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG5cclxuICAgICAgICBlbHNlIGlmKHRoaXMubm9kZS5nZXRDaGlsZEJ5TmFtZShcInR1cm4yXCIpLmFjdGl2ZSA9PSB0cnVlICYmIHRoaXMuYmxvY2tfVHlwZSAhPSBjYy5FbnVtKEJsb2NrVHlwZSkuWGlfU29pbCl7XHJcbiAgICAgICAgICAgIC8vIGFsZXJ0KFwi5rK75rC05aSx6LSlXCIpO1xyXG4gICAgICAgICAgICBqZyA9IHRydWU7XHJcbiAgICAgICAgICAgIGlmKHR5cGUpe1xyXG4gICAgICAgICAgICAgICAgY2MuZnguTm90aWZpY2F0aW9ucy5lbWl0KGNjLmZ4Lk1lc3NhZ2Uuc2hvd1Jlc3VsdCxcImxvc2VcIik7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcblxyXG4gICAgICAgIGlmKGRpcmVjdGlvbil7XHJcbiAgICAgICAgICAgIGlmKHRoaXMubm9kZS5nZXRDaGlsZEJ5TmFtZShcInZlcnRpY2FsMlwiKS5hY3RpdmUgPT0gdHJ1ZSAmJiB0aGlzLmJsb2NrX1R5cGUgPT0gY2MuRW51bShCbG9ja1R5cGUpLlhpX1NvaWwgJiYgKGRpcmVjdGlvbiA9PSBcInVwXCJ8fCBkaXJlY3Rpb24gPT1cImRvd25cIikpe1xyXG4gICAgICAgICAgICAgICAgLy8gYWxlcnQoXCLmsrvmsLTlpLHotKVcIik7XHJcbiAgICAgICAgICAgICAgICBpZih0aGlzLm5vZGUuZ2V0Q2hpbGRCeU5hbWUoXCJ2ZXJ0aWNhbDJcIikuYW5nbGUgPT0gMCB8fCB0aGlzLm5vZGUuZ2V0Q2hpbGRCeU5hbWUoXCJ2ZXJ0aWNhbDJcIikuYW5nbGUgPT0gMTgwICl7XHJcbiAgICAgICAgICAgICAgICAgICAgamcgPSB0cnVlO1xyXG4gICAgICAgICAgICAgICAgICAgIGlmKHR5cGUpe1xyXG4gICAgICAgICAgICAgICAgICAgICAgICBjYy5meC5Ob3RpZmljYXRpb25zLmVtaXQoY2MuZnguTWVzc2FnZS5zaG93UmVzdWx0LFwibG9zZVwiKTtcclxuICAgICAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICB9XHJcblxyXG5cclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICBlbHNlIGlmKHRoaXMubm9kZS5nZXRDaGlsZEJ5TmFtZShcInZlcnRpY2FsMlwiKS5hY3RpdmUgPT0gdHJ1ZSAmJiB0aGlzLmJsb2NrX1R5cGUgPT0gY2MuRW51bShCbG9ja1R5cGUpLlhpX1NvaWwgJiYgKGRpcmVjdGlvbiA9PSBcInJpZ2h0XCJ8fCBkaXJlY3Rpb24gPT1cImxlZnRcIikpe1xyXG4gICAgICAgICAgICAgICAgLy8gYWxlcnQoXCLmsrvmsLTlpLHotKVcIik7XHJcbiAgICAgICAgICAgICAgICBpZih0aGlzLm5vZGUuZ2V0Q2hpbGRCeU5hbWUoXCJ2ZXJ0aWNhbDJcIikuYW5nbGUgPT0gOTAgfHwgdGhpcy5ub2RlLmdldENoaWxkQnlOYW1lKFwidmVydGljYWwyXCIpLmFuZ2xlID09IDI3MCApe1xyXG4gICAgICAgICAgICAgICAgICAgIGpnID0gdHJ1ZTtcclxuICAgICAgICAgICAgICAgICAgICBpZih0eXBlKXtcclxuICAgICAgICAgICAgICAgICAgICAgICAgY2MuZnguTm90aWZpY2F0aW9ucy5lbWl0KGNjLmZ4Lk1lc3NhZ2Uuc2hvd1Jlc3VsdCxcImxvc2VcIik7XHJcbiAgICAgICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgfSAgICBcclxuXHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcblxyXG4gICAgICAgIHJldHVybiBqZztcclxuICAgIH1cclxuXHJcbiAgICAvL+S/ruetkei3r+e6v+aJp+ihjFxyXG4gICAgcnVuUm9hZChkYXRhKXtcclxuICAgICAgICBpZih0aGlzLnBhdGhfVHlwZSA9PSBcImVyclwiKXtcclxuICAgICAgICAgICAgc2V0VGltZW91dCgoKSA9PiB7XHJcbiAgICAgICAgICAgICAgICBpZihkYXRhLmNpcmN1bGF0ZSlcclxuICAgICAgICAgICAgICAgICAgICBjYy5meC5Ob3RpZmljYXRpb25zLmVtaXQoY2MuZnguTWVzc2FnZS5uZXh0LG9yZGVyKTtcclxuICAgICAgICAgICAgfSwgZGF0YS50aW1lKTtcclxuICAgICAgICAgICAgcmV0dXJuO1xyXG4gICAgICAgIH1cclxuICAgICAgICB2YXIgamcgPSB0aGlzLnJlcGVhdFJvYWQodHJ1ZSxudWxsKTtcclxuICAgICAgICBpZihqZyA9PSB0cnVlKSByZXR1cm47XHJcbiAgICAgICAgdmFyIHRhcmdldCA9IG51bGw7XHJcbiAgICAgICAgdmFyIHByb2dyZXNzID0gMTtcclxuICAgICAgICB2YXIgdGltZSA9IGRhdGEudGltZTtcclxuICAgICAgICB2YXIgb3JkZXIgPSBkYXRhLm9yZGVyICsgMTtcclxuICAgICAgICB2YXIgcmFuZG9tID0gTWF0aC5mbG9vcihNYXRoLnJhbmRvbSgpKjQgKyAxKTtcclxuICAgICAgICB0YXJnZXQgPSB0aGlzLm5vZGUuZ2V0Q2hpbGRCeU5hbWUoXCJ2ZXJ0aWNhbDJcIik7XHJcbiAgICAgICAgaWYodGFyZ2V0Lm5hbWUgPT0gXCJ2ZXJ0aWNhbFwiKXtcclxuICAgICAgICAgICAgbGV0IHdhdGVyMSA9IHRhcmdldC5nZXRDaGlsZEJ5TmFtZShcIndhdmVcIikuZ2V0Q2hpbGRCeU5hbWUoXCJ3YXRlcjFcIik7XHJcbiAgICAgICAgICAgIGxldCB3YXRlcjIgPSB0YXJnZXQuZ2V0Q2hpbGRCeU5hbWUoXCJ3YXZlXCIpLmdldENoaWxkQnlOYW1lKFwid2F0ZXIyXCIpO1xyXG4gICAgICAgICAgICBsZXQgd2F0ZXIzID0gdGFyZ2V0LmdldENoaWxkQnlOYW1lKFwid2F2ZVwiKS5nZXRDaGlsZEJ5TmFtZShcIndhdGVyM1wiKTtcclxuICAgICAgICAgICAgbGV0IHRpbWVEZWxheSA9IDAuMTU7XHJcbiAgICAgICAgICAgIHdhdGVyMS5ydW5BY3Rpb24oY2Muc2VxdWVuY2UoY2MubW92ZVRvKDAuNixjYy52Mih3YXRlcjEueCwxMjApKSxjYy5kZWxheVRpbWUodGltZURlbGF5KSxcclxuICAgICAgICAgICAgY2MuY2FsbEZ1bmMoKCk9PntcclxuICAgICAgICAgICAgICAgIHdhdGVyMS55ID0gLTEyMFxyXG4gICAgICAgICAgICB9KSkucmVwZWF0Rm9yZXZlcigpKTtcclxuICAgICAgICAgICAgd2F0ZXIyLnJ1bkFjdGlvbihjYy5zZXF1ZW5jZShjYy5tb3ZlVG8oMC42LGNjLnYyKHdhdGVyMi54LDEyMCkpLGNjLmRlbGF5VGltZSh0aW1lRGVsYXkpLFxyXG4gICAgICAgICAgICBjYy5jYWxsRnVuYygoKT0+e1xyXG4gICAgICAgICAgICAgICAgd2F0ZXIyLnkgPSAtMTIwXHJcbiAgICAgICAgICAgIH0pKS5yZXBlYXRGb3JldmVyKCkpO1xyXG4gICAgICAgICAgICB3YXRlcjMucnVuQWN0aW9uKGNjLnNlcXVlbmNlKGNjLm1vdmVUbygwLjYsY2MudjIod2F0ZXIzLngsMTIwKSksY2MuZGVsYXlUaW1lKHRpbWVEZWxheSksXHJcbiAgICAgICAgICAgIGNjLmNhbGxGdW5jKCgpPT57XHJcbiAgICAgICAgICAgICAgICB3YXRlcjMueSA9IC0xMjBcclxuICAgICAgICAgICAgfSkpLnJlcGVhdEZvcmV2ZXIoKSk7XHJcbiAgICAgICAgfVxyXG5cclxuICAgICAgICB2YXIgbmFtZSA9IFwiYVwiICsgcmFuZG9tO1xyXG4gICAgICAgIGlmKHRoaXMuYmxvY2tfVHlwZSAhPSBjYy5FbnVtKEJsb2NrVHlwZSkuUmVpbmZvcmNlKXRhcmdldC5nZXRDb21wb25lbnQoY2MuU3ByaXRlKS5zcHJpdGVGcmFtZSA9IHRoaXMuVUlbXCJfc3ByaXRlRnJhbWVzXCJdW25hbWVdO1xyXG5cclxuICAgICAgICBpZih0YXJnZXQuYWN0aXZlID09IHRydWUpe1xyXG4gICAgICAgICAgICB0YXJnZXQgPSB0aGlzLm5vZGUuZ2V0Q2hpbGRCeU5hbWUoXCJob3Jpem9udGFsMlwiKTtcclxuICAgICAgICAgICAgbmFtZSA9IFwiYlwiICsgcmFuZG9tO1xyXG4gICAgICAgICAgICBpZih0aGlzLmJsb2NrX1R5cGUgIT0gY2MuRW51bShCbG9ja1R5cGUpLlJlaW5mb3JjZSkgdGFyZ2V0LmdldENvbXBvbmVudChjYy5TcHJpdGUpLnNwcml0ZUZyYW1lID0gdGhpcy5VSVtcIl9zcHJpdGVGcmFtZXNcIl1bbmFtZV07XHJcbiAgICAgICAgfSBcclxuICAgICAgICAvLyBjb25zb2xlLmxvZyh0aGlzLnBhdGhfVHlwZSxkYXRhLm9yZGVyKTtcclxuICAgICAgICBpZih0aGlzLnBhdGhfVHlwZSA9PSBjYy5FbnVtKFBhdGhUeXBlKS51cCl7XHJcbiAgICAgICAgfVxyXG4gICAgICAgIGVsc2UgaWYodGhpcy5wYXRoX1R5cGUgPT0gY2MuRW51bShQYXRoVHlwZSkuZG93bil7XHJcbiAgICAgICAgICAgIHRhcmdldC5hbmdsZSA9IDE4MDtcclxuICAgICAgICB9XHJcbiAgICAgICAgZWxzZSBpZih0aGlzLnBhdGhfVHlwZSA9PSBjYy5FbnVtKFBhdGhUeXBlKS5sZWZ0KXtcclxuICAgICAgICAgICAgdGFyZ2V0LmFuZ2xlID0gOTA7XHJcbiAgICAgICAgICAgIG5hbWUgPSBcImJcIiArIHJhbmRvbTtcclxuICAgICAgICAgICAgaWYodGhpcy5ibG9ja19UeXBlICE9IGNjLkVudW0oQmxvY2tUeXBlKS5SZWluZm9yY2UpIHRhcmdldC5nZXRDb21wb25lbnQoY2MuU3ByaXRlKS5zcHJpdGVGcmFtZSA9IHRoaXMuVUlbXCJfc3ByaXRlRnJhbWVzXCJdW25hbWVdO1xyXG4gICAgICAgIH1cclxuICAgICAgICBlbHNlIGlmKHRoaXMucGF0aF9UeXBlID09IGNjLkVudW0oUGF0aFR5cGUpLnJpZ2h0KXtcclxuICAgICAgICAgICAgdGFyZ2V0LmFuZ2xlID0gMjcwO1xyXG4gICAgICAgICAgICBuYW1lID0gXCJiXCIgKyByYW5kb207XHJcbiAgICAgICAgICAgIGlmKHRoaXMuYmxvY2tfVHlwZSAhPSBjYy5FbnVtKEJsb2NrVHlwZSkuUmVpbmZvcmNlKSB0YXJnZXQuZ2V0Q29tcG9uZW50KGNjLlNwcml0ZSkuc3ByaXRlRnJhbWUgPSB0aGlzLlVJW1wiX3Nwcml0ZUZyYW1lc1wiXVtuYW1lXTtcclxuICAgICAgICB9XHJcbiAgICAgICAgZWxzZXtcclxuICAgICAgICAgICAgdGFyZ2V0ID0gdGhpcy5ub2RlLmdldENoaWxkQnlOYW1lKFwidHVybjJcIik7XHJcbiAgICAgICAgICAgIGlmKHRhcmdldC5uYW1lID09IFwidHVyblwiKXtcclxuICAgICAgICAgICAgICAgIGxldCB3YXRlciA9IHRhcmdldC5nZXRDaGlsZEJ5TmFtZShcIndhdmVcIikuZ2V0Q2hpbGRCeU5hbWUoXCJ3YXRlclwiKTtcclxuICAgICAgICAgICAgICAgIHdhdGVyLm9wYWNpdHkgPSAwXHJcbiAgICAgICAgICAgICAgICB3YXRlci5ydW5BY3Rpb24oY2Muc2VxdWVuY2UoY2Mucm90YXRlVG8oNy4yLC0xMDgwKSxjYy5kZWxheVRpbWUoMCkpLnJlcGVhdEZvcmV2ZXIoKSk7XHJcbiAgICAgICAgICAgICAgICBzZXRUaW1lb3V0KCgpID0+IHtcclxuICAgICAgICAgICAgICAgICAgICB3YXRlci5vcGFjaXR5ID0gMjU1O1xyXG4gICAgICAgICAgICAgICAgfSwgMjAwKTtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICBuYW1lID0gXCJjXCIgKyByYW5kb207XHJcbiAgICAgICAgICAgIGlmKHRoaXMuYmxvY2tfVHlwZSAhPSBjYy5FbnVtKEJsb2NrVHlwZSkuUmVpbmZvcmNlKXRhcmdldC5nZXRDb21wb25lbnQoY2MuU3ByaXRlKS5zcHJpdGVGcmFtZSA9IHRoaXMuVUlbXCJfc3ByaXRlRnJhbWVzXCJdW25hbWVdO1xyXG4gICAgICAgICAgICBwcm9ncmVzcyA9IDAuMjU7XHJcbiAgICAgICAgICAgIGlmKHRoaXMucGF0aF9UeXBlID09IGNjLkVudW0oUGF0aFR5cGUpLnVwX2xlZnQpe1xyXG4gICAgICAgICAgICAgICAgdGFyZ2V0LnNldFBvc2l0aW9uKC10aGlzLnBvc19TaGlmdGluZywtdGhpcy5wb3NfU2hpZnRpbmcpO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIGVsc2UgaWYodGhpcy5wYXRoX1R5cGUgPT0gY2MuRW51bShQYXRoVHlwZSkudXBfcmlnaHQpe1xyXG4gICAgICAgICAgICAgICAgdGFyZ2V0LnNjYWxlWCA9IC0xO1xyXG4gICAgICAgICAgICAgICAgdGFyZ2V0LnNldFBvc2l0aW9uKHRoaXMucG9zX1NoaWZ0aW5nLC10aGlzLnBvc19TaGlmdGluZyk7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgZWxzZSBpZih0aGlzLnBhdGhfVHlwZSA9PSBjYy5FbnVtKFBhdGhUeXBlKS5kb3duX2xlZnQpe1xyXG4gICAgICAgICAgICAgICAgdGFyZ2V0LmFuZ2xlID0gMTgwO1xyXG4gICAgICAgICAgICAgICAgdGFyZ2V0LnNjYWxlWCA9IC0xO1xyXG4gICAgICAgICAgICAgICAgdGFyZ2V0LnNldFBvc2l0aW9uKC10aGlzLnBvc19TaGlmdGluZyx0aGlzLnBvc19TaGlmdGluZyk7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgZWxzZSBpZih0aGlzLnBhdGhfVHlwZSA9PSBjYy5FbnVtKFBhdGhUeXBlKS5kb3duX3JpZ2h0KXtcclxuICAgICAgICAgICAgICAgIHRhcmdldC5hbmdsZSA9IDE4MDtcclxuICAgICAgICAgICAgICAgIHRhcmdldC5zZXRQb3NpdGlvbih0aGlzLnBvc19TaGlmdGluZyx0aGlzLnBvc19TaGlmdGluZyk7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgZWxzZSBpZih0aGlzLnBhdGhfVHlwZSA9PSBjYy5FbnVtKFBhdGhUeXBlKS5sZWZ0X3VwKXtcclxuICAgICAgICAgICAgICAgIHRhcmdldC5hbmdsZSA9IC05MDtcclxuICAgICAgICAgICAgICAgIHRhcmdldC5zY2FsZVkgPSAtMTtcclxuICAgICAgICAgICAgICAgIHRhcmdldC5zZXRQb3NpdGlvbih0aGlzLnBvc19TaGlmdGluZyx0aGlzLnBvc19TaGlmdGluZyk7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgZWxzZSBpZih0aGlzLnBhdGhfVHlwZSA9PSBjYy5FbnVtKFBhdGhUeXBlKS5sZWZ0X2Rvd24pe1xyXG4gICAgICAgICAgICAgICAgdGFyZ2V0LmFuZ2xlID0gOTA7XHJcbiAgICAgICAgICAgICAgICB0YXJnZXQuc2V0UG9zaXRpb24oLXRoaXMucG9zX1NoaWZ0aW5nLC10aGlzLnBvc19TaGlmdGluZyk7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgZWxzZSBpZih0aGlzLnBhdGhfVHlwZSA9PSBjYy5FbnVtKFBhdGhUeXBlKS5yaWdodF91cCl7XHJcbiAgICAgICAgICAgICAgICB0YXJnZXQuYW5nbGUgPSAtOTA7XHJcbiAgICAgICAgICAgICAgICB0YXJnZXQuc2V0UG9zaXRpb24oLXRoaXMucG9zX1NoaWZ0aW5nLHRoaXMucG9zX1NoaWZ0aW5nKTtcclxuICAgICBcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICBlbHNlIGlmKHRoaXMucGF0aF9UeXBlID09IGNjLkVudW0oUGF0aFR5cGUpLnJpZ2h0X2Rvd24pe1xyXG4gICAgICAgICAgICAgICAgdGFyZ2V0LmFuZ2xlID0gLTkwO1xyXG4gICAgICAgICAgICAgICAgdGFyZ2V0LnNjYWxlWCA9IC0xO1xyXG4gICAgICAgICAgICAgICAgdGFyZ2V0LnNldFBvc2l0aW9uKC10aGlzLnBvc19TaGlmdGluZywtdGhpcy5wb3NfU2hpZnRpbmcpO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgICAgIGlmKHRoaXMucGF0aF9UeXBlID09IFwiUmVpbmZvcmNlXCIpe1xyXG4gICAgICAgICAgICB0YXJnZXQgPSB0aGlzLm5vZGUuZ2V0Q2hpbGRCeU5hbWUoXCJSZWluZm9yY2VcIik7XHJcbiAgICAgICAgICAgIGlmKHRoaXMuYmxvY2tfVHlwZSA9PSBjYy5FbnVtKEJsb2NrVHlwZSkuUGVhayl7XHJcbiAgICAgICAgICAgICAgICBjYy5meC5Ob3RpZmljYXRpb25zLmVtaXQoY2MuZnguTWVzc2FnZS5zaG93UmVzdWx0LFwibG9zZVwiKTtcclxuICAgICAgICAgICAgICAgIHJldHVybjtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICBpZih0aGlzLmJsb2NrX1R5cGUgIT0gY2MuRW51bShCbG9ja1R5cGUpLkVuZCl0aGlzLmJsb2NrX1R5cGUgPSBjYy5FbnVtKEJsb2NrVHlwZSkuUmVpbmZvcmNlO1xyXG4gICAgICAgICAgICB0aGlzLm5vZGUuZ2V0Q2hpbGRCeU5hbWUoXCJ2ZXJ0aWNhbDJcIikuZ2V0Q29tcG9uZW50KGNjLlNwcml0ZSkuc3ByaXRlRnJhbWUgPSB0aGlzLlVJW1wiX3Nwcml0ZUZyYW1lc1wiXVtcImUxXCJdO1xyXG4gICAgICAgICAgICB0aGlzLm5vZGUuZ2V0Q2hpbGRCeU5hbWUoXCJ0dXJuMlwiKS5nZXRDb21wb25lbnQoY2MuU3ByaXRlKS5zcHJpdGVGcmFtZSA9IHRoaXMuVUlbXCJfc3ByaXRlRnJhbWVzXCJdW1wiZTNcIl07XHJcbiAgICAgICAgICAgIHRoaXMubm9kZS5nZXRDaGlsZEJ5TmFtZShcImhvcml6b250YWwyXCIpLmdldENvbXBvbmVudChjYy5TcHJpdGUpLnNwcml0ZUZyYW1lID0gdGhpcy5VSVtcIl9zcHJpdGVGcmFtZXNcIl1bXCJlMlwiXTtcclxuICAgICAgICAgICAgdGFyZ2V0LmFjdGl2ZSA9IHRydWU7XHJcbiAgICAgICAgICAgIHRhcmdldC5vcGFjaXR5ID0gMDtcclxuICAgICAgICAgICAgcHJvZ3Jlc3MgPSAxO1xyXG4gICAgICAgICAgICBjYy50d2Vlbih0YXJnZXQpXHJcbiAgICAgICAgICAgIC50byhjYy5meC5HYW1lQ29uZmlnLlRJTUVfSU5GTy5SZWluZm9yY2VTcGVlZCx7b3BhY2l0eToyNTV9KVxyXG4gICAgICAgICAgICAuY2FsbCgoKSA9PntcclxuICAgICAgICAgICAgICAgIGlmKGRhdGEuY2lyY3VsYXRlKVxyXG4gICAgICAgICAgICAgICAgICAgIGNjLmZ4Lk5vdGlmaWNhdGlvbnMuZW1pdChjYy5meC5NZXNzYWdlLmNoYW5nZU1hcCxvcmRlcik7XHJcbiAgICAgICAgICAgICAgICAgICAgY2MuZnguTm90aWZpY2F0aW9ucy5lbWl0KGNjLmZ4Lk1lc3NhZ2UubmV4dCxvcmRlcik7XHJcbiAgICAgICAgICAgIH0pXHJcbiAgICAgICAgICAgIC5zdGFydCgpO1xyXG4gICAgICAgIH1cclxuICAgICAgICBlbHNlIGlmKHRoaXMucGF0aF9UeXBlID09IFwiWGlfU29pbFwiKXtcclxuICAgICAgICAgICAgdGFyZ2V0LmFjdGl2ZSA9IGZhbHNlO1xyXG4gICAgICAgICAgICBpZih0aGlzLmJsb2NrX1R5cGUgIT0gY2MuRW51bShCbG9ja1R5cGUpLkVuZCAmJiB0aGlzLmJsb2NrX1R5cGUgIT0gY2MuRW51bShCbG9ja1R5cGUpLlN0YXJ0KVxyXG4gICAgICAgICAgICAgICAgdGhpcy5ibG9ja19UeXBlID0gY2MuRW51bShCbG9ja1R5cGUpLlhpX1NvaWw7XHJcbiAgICAgICAgICAgIHRhcmdldCA9IHRoaXMubm9kZS5nZXRDaGlsZEJ5TmFtZShcIlhpX1NvaWxcIik7IFxyXG4gICAgICAgICAgICB0YXJnZXQuYWN0aXZlID0gdHJ1ZTtcclxuICAgICAgICAgICAgdGFyZ2V0Lm9wYWNpdHkgPSAwO1xyXG4gICAgICAgICAgICBjYy50d2Vlbih0YXJnZXQpXHJcbiAgICAgICAgICAgIC50bygwLjAxLHtvcGFjaXR5OjF9KVxyXG4gICAgICAgICAgICAudG8oMC4wMSx7b3BhY2l0eTowfSlcclxuICAgICAgICAgICAgLmNhbGwoKCkgPT57XHJcbiAgICAgICAgICAgICAgICBpZihkYXRhLmNpcmN1bGF0ZSl7XHJcbiAgICAgICAgICAgICAgICAgICAgY2MuZnguTm90aWZpY2F0aW9ucy5lbWl0KGNjLmZ4Lk1lc3NhZ2UubmV4dCxvcmRlcik7XHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICAgICBcclxuICAgICAgICAgICAgfSlcclxuICAgICAgICAgICAgLnN0YXJ0KCk7XHJcbiAgICAgICAgfVxyXG4gICAgICAgIGVsc2UgaWYodGhpcy5wYXRoX1R5cGUgPT0gXCJFbmRcIil7XHJcbiAgICAgICAgICAgIHRhcmdldC5hY3RpdmUgPSBmYWxzZTtcclxuICAgICAgICAgICAgaWYodGhpcy5ibG9ja19UeXBlICE9IGNjLkVudW0oQmxvY2tUeXBlKS5FbmQgJiYgdGhpcy5ibG9ja19UeXBlICE9IGNjLkVudW0oQmxvY2tUeXBlKS5TdGFydClcclxuICAgICAgICAgICAgICAgIHRoaXMuYmxvY2tfVHlwZSA9IGNjLkVudW0oQmxvY2tUeXBlKS5YaV9Tb2lsO1xyXG4gICAgICAgICAgICBsZXQgcG9zVGVtcCA9IGRhdGEubGFzdDtcclxuICAgICAgICAgICAgdmFyIGRpcmVjdGlvbiA9IFwidXBcIjtcclxuICAgICAgICAgICAgaWYodGhpcy5wb3MueCAtIHBvc1RlbXAueCA+PSAxKXtcclxuICAgICAgICAgICAgICAgIGRpcmVjdGlvbiA9IFwicmlnaHRcIjtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICBlbHNlIGlmKHRoaXMucG9zLnggLSBwb3NUZW1wLnggPD0gLTEpe1xyXG4gICAgICAgICAgICAgICAgZGlyZWN0aW9uID0gXCJsZWZ0XCI7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgZWxzZSBpZih0aGlzLnBvcy55IC0gcG9zVGVtcC55ID49IDEpe1xyXG4gICAgICAgICAgICAgICAgZGlyZWN0aW9uID0gXCJkb3duXCI7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgICBcclxuICAgICAgICAgICAgLy8gY29uc29sZS5sb2coXCLnu5PmnZ/mlrnlkJE6XCIsZGlyZWN0aW9uKTtcclxuICAgICAgICAgICAgaWYoIXRoaXMuZmluaXNoaSl7XHJcbiAgICAgICAgICAgICAgICB0aGlzLmZpbmlzaGkgPSB0cnVlO1xyXG4gICAgICAgICAgICAgICAgdGhpcy5zZXRfWGlfU29pbChkaXJlY3Rpb24sdHJ1ZSk7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICAgICAgZWxzZXtcclxuICAgICAgICAgICAgdGFyZ2V0LmFjdGl2ZSA9IHRydWU7XHJcbiAgICAgICAgICAgIGlmKHRoaXMuYmxvY2tfVHlwZSAhPSBjYy5FbnVtKEJsb2NrVHlwZSkuWGlfU29pbCl7XHJcbiAgICAgICAgICAgICAgICB0YXJnZXQuZ2V0Q29tcG9uZW50KGNjLlNwcml0ZSkuZmlsbFJhbmdlID0gMDtcclxuICAgICAgICAgICAgICAgIGNjLnR3ZWVuKHRhcmdldC5nZXRDb21wb25lbnQoY2MuU3ByaXRlKSlcclxuICAgICAgICAgICAgICAgIC50byh0aW1lLHtmaWxsUmFuZ2U6cHJvZ3Jlc3N9KVxyXG4gICAgICAgICAgICAgICAgLmNhbGwoKCkgPT57XHJcbiAgICAgICAgICAgICAgICAgICAgaWYoZGF0YS5jaXJjdWxhdGUpXHJcbiAgICAgICAgICAgICAgICAgICAgICAgIGNjLmZ4Lk5vdGlmaWNhdGlvbnMuZW1pdChjYy5meC5NZXNzYWdlLm5leHQsb3JkZXIpO1xyXG4gICAgICAgICAgICAgICAgfSlcclxuICAgICAgICAgICAgICAgIC5zdGFydCgpO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIGVsc2V7XHJcbiAgICAgICAgICAgICAgICB0YXJnZXQub3BhY2l0eSA9IDA7XHJcbiAgICAgICAgICAgICAgICB0YXJnZXQuZ2V0Q29tcG9uZW50KGNjLlNwcml0ZSkuZmlsbFJhbmdlID0gMTtcclxuICAgICAgICAgICAgICAgIGNjLnR3ZWVuKHRhcmdldClcclxuICAgICAgICAgICAgICAgIC50byh0aW1lLHtvcGFjaXR5OjI1NX0pXHJcbiAgICAgICAgICAgICAgICAuY2FsbCgoKSA9PntcclxuICAgICAgICAgICAgICAgICAgICBpZihkYXRhLmNpcmN1bGF0ZSlcclxuICAgICAgICAgICAgICAgICAgICAgICAgY2MuZnguTm90aWZpY2F0aW9ucy5lbWl0KGNjLmZ4Lk1lc3NhZ2UubmV4dCxvcmRlcik7XHJcbiAgICAgICAgICAgICAgICB9KVxyXG4gICAgICAgICAgICAgICAgLnN0YXJ0KCk7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcblxyXG4gICAgfVxyXG4gICAgLy/mtKrls7DmiafooYxcclxuICAgIHJ1bldhdGVyKGRhdGEpe1xyXG4gICAgICAgIGlmKHRoaXMubm9kZS5nZXRDaGlsZEJ5TmFtZShcIndhdGVyU3RhcnRcIikuYWN0aXZlID09IHRydWUgJiYgdGhpcy5ibG9ja19UeXBlID09IGNjLkVudW0oQmxvY2tUeXBlKS5TdGFydCl7XHJcbiAgICAgICAgICAgIC8vIHNwLmdldENoaWxkQnlOYW1lKFwid2F0ZXJTdGFydFwiKS5vcGFjaXR5ID0gMjU1O1xyXG4gICAgICAgICAgICBjYy50d2Vlbih0aGlzLm5vZGUuZ2V0Q2hpbGRCeU5hbWUoXCJ3YXRlclN0YXJ0XCIpKVxyXG4gICAgICAgICAgICAudG8oMC4yLHtvcGFjaXR5OjI1NX0pXHJcbiAgICAgICAgICAgIC5zdGFydCgpO1xyXG4gICAgICAgIH1cclxuXHJcblxyXG4gICAgICAgIGlmKHRoaXMucGF0aF9UeXBlID09IFwiZXJyXCIpe1xyXG4gICAgICAgICAgICBzZXRUaW1lb3V0KCgpID0+IHtcclxuICAgICAgICAgICAgICAgIGlmKGRhdGEuY2lyY3VsYXRlKVxyXG4gICAgICAgICAgICAgICAgICAgIGNjLmZ4Lk5vdGlmaWNhdGlvbnMuZW1pdChjYy5meC5NZXNzYWdlLm5leHRXYXRlcixvcmRlcik7XHJcbiAgICAgICAgICAgIH0sIGRhdGEudGltZSk7XHJcbiAgICAgICAgICAgIHJldHVybjtcclxuICAgICAgICB9XHJcbiAgICAgICAgLy/lpoLmnpzlj4zlkJHpg73ljaDnlKjkuobov5jov5vmnaXlsLHnrpfmrbvkuoYtIFxyXG4gICAgICAgIGlmKHRoaXMubm9kZS5nZXRDaGlsZEJ5TmFtZShcInZlcnRpY2FsXCIpLmFjdGl2ZSA9PSB0cnVlICYmIHRoaXMubm9kZS5nZXRDaGlsZEJ5TmFtZShcImhvcml6b250YWxcIikuYWN0aXZlID09IHRydWUpe1xyXG4gICAgICAgICAgICAvLyBhbGVydChcIuayu+awtOWksei0pVwiKTtcclxuICAgICAgICAgICAgY2MuZnguTm90aWZpY2F0aW9ucy5lbWl0KGNjLmZ4Lk1lc3NhZ2Uuc2hvd1Jlc3VsdCxcImxvc2VcIik7XHJcbiAgICAgICAgICAgIC8vIGNjLmRpcmVjdG9yLmxvYWRTY2VuZShcIkdhbWVTY2VuZVwiKTtcclxuICAgICAgICAgICAgcmV0dXJuO1xyXG4gICAgICAgIH1cclxuXHJcbiAgICAgICAgZWxzZSBpZih0aGlzLm5vZGUuZ2V0Q2hpbGRCeU5hbWUoXCJ0dXJuXCIpLmFjdGl2ZSA9PSB0cnVlICYmIHRoaXMuYmxvY2tfVHlwZSAhPSBjYy5FbnVtKEJsb2NrVHlwZSkuWGlfU29pbCl7XHJcbiAgICAgICAgICAgIC8vIGFsZXJ0KFwi5rK75rC05aSx6LSlXCIpO1xyXG4gICAgICAgICAgICBjYy5meC5Ob3RpZmljYXRpb25zLmVtaXQoY2MuZnguTWVzc2FnZS5zaG93UmVzdWx0LFwibG9zZVwiKTtcclxuICAgICAgICAgICAgLy8gY2MuZGlyZWN0b3IubG9hZFNjZW5lKFwiR2FtZVNjZW5lXCIpO1xyXG4gICAgICAgICAgICByZXR1cm47XHJcbiAgICAgICAgfVxyXG4gICAgICAgIHZhciB0YXJnZXQgPSBudWxsO1xyXG4gICAgICAgIHZhciBwcm9ncmVzcyA9IDE7XHJcbiAgICAgICAgdmFyIHRpbWUgPSBkYXRhLnRpbWU7XHJcbiAgICAgICAgdmFyIG9yZGVyID0gZGF0YS5vcmRlciArIDE7XHJcbiAgICAgICAgdmFyIHJhbmRvbSA9IE1hdGguZmxvb3IoTWF0aC5yYW5kb20oKSo0ICsgMSk7XHJcbiAgICAgICAgdGFyZ2V0ID0gdGhpcy5ub2RlLmdldENoaWxkQnlOYW1lKFwidmVydGljYWxcIik7XHJcbiAgICAgICAgaWYodGFyZ2V0Lm5hbWUgPT0gXCJ2ZXJ0aWNhbFwiKXtcclxuICAgICAgICAgICAgbGV0IHdhdGVyMSA9IHRhcmdldC5nZXRDaGlsZEJ5TmFtZShcIndhdmVcIikuZ2V0Q2hpbGRCeU5hbWUoXCJ3YXRlcjFcIik7XHJcbiAgICAgICAgICAgIGxldCB3YXRlcjIgPSB0YXJnZXQuZ2V0Q2hpbGRCeU5hbWUoXCJ3YXZlXCIpLmdldENoaWxkQnlOYW1lKFwid2F0ZXIyXCIpO1xyXG4gICAgICAgICAgICBsZXQgd2F0ZXIzID0gdGFyZ2V0LmdldENoaWxkQnlOYW1lKFwid2F2ZVwiKS5nZXRDaGlsZEJ5TmFtZShcIndhdGVyM1wiKTtcclxuICAgICAgICAgICAgbGV0IHRpbWVEZWxheSA9IDAuMTU7XHJcbiAgICAgICAgICAgIHdhdGVyMS5ydW5BY3Rpb24oY2Muc2VxdWVuY2UoY2MubW92ZVRvKDAuNixjYy52Mih3YXRlcjEueCwxMjApKSxjYy5kZWxheVRpbWUodGltZURlbGF5KSxcclxuICAgICAgICAgICAgY2MuY2FsbEZ1bmMoKCk9PntcclxuICAgICAgICAgICAgICAgIHdhdGVyMS55ID0gLTEyMFxyXG4gICAgICAgICAgICB9KSkucmVwZWF0Rm9yZXZlcigpKTtcclxuICAgICAgICAgICAgd2F0ZXIyLnJ1bkFjdGlvbihjYy5zZXF1ZW5jZShjYy5tb3ZlVG8oMC42LGNjLnYyKHdhdGVyMi54LDEyMCkpLGNjLmRlbGF5VGltZSh0aW1lRGVsYXkpLFxyXG4gICAgICAgICAgICBjYy5jYWxsRnVuYygoKT0+e1xyXG4gICAgICAgICAgICAgICAgd2F0ZXIyLnkgPSAtMTIwXHJcbiAgICAgICAgICAgIH0pKS5yZXBlYXRGb3JldmVyKCkpO1xyXG4gICAgICAgICAgICB3YXRlcjMucnVuQWN0aW9uKGNjLnNlcXVlbmNlKGNjLm1vdmVUbygwLjYsY2MudjIod2F0ZXIzLngsMTIwKSksY2MuZGVsYXlUaW1lKHRpbWVEZWxheSksXHJcbiAgICAgICAgICAgIGNjLmNhbGxGdW5jKCgpPT57XHJcbiAgICAgICAgICAgICAgICB3YXRlcjMueSA9IC0xMjBcclxuICAgICAgICAgICAgfSkpLnJlcGVhdEZvcmV2ZXIoKSk7XHJcbiAgICAgICAgfVxyXG5cclxuICAgICAgICB2YXIgbmFtZSA9IFwiYVwiICsgcmFuZG9tO1xyXG4gICAgICAgIC8vIGlmKHRoaXMuYmxvY2tfVHlwZSAhPSBjYy5FbnVtKEJsb2NrVHlwZSkuUmVpbmZvcmNlKXRhcmdldC5nZXRDb21wb25lbnQoY2MuU3ByaXRlKS5zcHJpdGVGcmFtZSA9IHRoaXMuVUlbXCJfc3ByaXRlRnJhbWVzXCJdW25hbWVdO1xyXG5cclxuICAgICAgICBpZih0YXJnZXQuYWN0aXZlID09IHRydWUpe1xyXG4gICAgICAgICAgICB0YXJnZXQgPSB0aGlzLm5vZGUuZ2V0Q2hpbGRCeU5hbWUoXCJob3Jpem9udGFsXCIpO1xyXG4gICAgICAgICAgICBsZXQgd2F0ZXIxID0gdGFyZ2V0LmdldENoaWxkQnlOYW1lKFwid2F2ZVwiKS5nZXRDaGlsZEJ5TmFtZShcIndhdGVyMVwiKTtcclxuICAgICAgICAgICAgbGV0IHdhdGVyMiA9IHRhcmdldC5nZXRDaGlsZEJ5TmFtZShcIndhdmVcIikuZ2V0Q2hpbGRCeU5hbWUoXCJ3YXRlcjJcIik7XHJcbiAgICAgICAgICAgIGxldCB3YXRlcjMgPSB0YXJnZXQuZ2V0Q2hpbGRCeU5hbWUoXCJ3YXZlXCIpLmdldENoaWxkQnlOYW1lKFwid2F0ZXIzXCIpO1xyXG4gICAgICAgICAgICBsZXQgdGltZURlbGF5ID0gMC4xNTtcclxuICAgICAgICAgICAgd2F0ZXIxLnJ1bkFjdGlvbihjYy5zZXF1ZW5jZShjYy5tb3ZlVG8oMC42LGNjLnYyKHdhdGVyMS54LDEyMCkpLGNjLmRlbGF5VGltZSh0aW1lRGVsYXkpLFxyXG4gICAgICAgICAgICBjYy5jYWxsRnVuYygoKT0+e1xyXG4gICAgICAgICAgICAgICAgd2F0ZXIxLnkgPSAtMTIwXHJcbiAgICAgICAgICAgIH0pKS5yZXBlYXRGb3JldmVyKCkpO1xyXG4gICAgICAgICAgICB3YXRlcjIucnVuQWN0aW9uKGNjLnNlcXVlbmNlKGNjLm1vdmVUbygwLjYsY2MudjIod2F0ZXIyLngsMTIwKSksY2MuZGVsYXlUaW1lKHRpbWVEZWxheSksXHJcbiAgICAgICAgICAgIGNjLmNhbGxGdW5jKCgpPT57XHJcbiAgICAgICAgICAgICAgICB3YXRlcjIueSA9IC0xMjBcclxuICAgICAgICAgICAgfSkpLnJlcGVhdEZvcmV2ZXIoKSk7XHJcbiAgICAgICAgICAgIHdhdGVyMy5ydW5BY3Rpb24oY2Muc2VxdWVuY2UoY2MubW92ZVRvKDAuNixjYy52Mih3YXRlcjMueCwxMjApKSxjYy5kZWxheVRpbWUodGltZURlbGF5KSxcclxuICAgICAgICAgICAgY2MuY2FsbEZ1bmMoKCk9PntcclxuICAgICAgICAgICAgICAgIHdhdGVyMy55ID0gLTEyMFxyXG4gICAgICAgICAgICB9KSkucmVwZWF0Rm9yZXZlcigpKTtcclxuICAgICAgICAgICAgbmFtZSA9IFwiYlwiICsgcmFuZG9tO1xyXG4gICAgICAgICAgICAvL2lmKHRoaXMuYmxvY2tfVHlwZSAhPSBjYy5FbnVtKEJsb2NrVHlwZSkuUmVpbmZvcmNlKSB0YXJnZXQuZ2V0Q29tcG9uZW50KGNjLlNwcml0ZSkuc3ByaXRlRnJhbWUgPSB0aGlzLlVJW1wiX3Nwcml0ZUZyYW1lc1wiXVtuYW1lXTtcclxuICAgICAgICB9IFxyXG4gICAgICAgIC8vIGNvbnNvbGUubG9nKHRoaXMucGF0aF9UeXBlLGRhdGEub3JkZXIpO1xyXG4gICAgICAgIGlmKHRoaXMucGF0aF9UeXBlID09IGNjLkVudW0oUGF0aFR5cGUpLnVwKXtcclxuICAgICAgICB9XHJcbiAgICAgICAgZWxzZSBpZih0aGlzLnBhdGhfVHlwZSA9PSBjYy5FbnVtKFBhdGhUeXBlKS5kb3duKXtcclxuICAgICAgICAgICAgdGFyZ2V0LmFuZ2xlID0gMTgwO1xyXG4gICAgICAgIH1cclxuICAgICAgICBlbHNlIGlmKHRoaXMucGF0aF9UeXBlID09IGNjLkVudW0oUGF0aFR5cGUpLmxlZnQpe1xyXG4gICAgICAgICAgICB0YXJnZXQuYW5nbGUgPSA5MDtcclxuICAgICAgICAgICAgbmFtZSA9IFwiYlwiICsgcmFuZG9tO1xyXG4gICAgICAgICAgICAvL2lmKHRoaXMuYmxvY2tfVHlwZSAhPSBjYy5FbnVtKEJsb2NrVHlwZSkuUmVpbmZvcmNlKSB0YXJnZXQuZ2V0Q29tcG9uZW50KGNjLlNwcml0ZSkuc3ByaXRlRnJhbWUgPSB0aGlzLlVJW1wiX3Nwcml0ZUZyYW1lc1wiXVtuYW1lXTtcclxuICAgICAgICB9XHJcbiAgICAgICAgZWxzZSBpZih0aGlzLnBhdGhfVHlwZSA9PSBjYy5FbnVtKFBhdGhUeXBlKS5yaWdodCl7XHJcbiAgICAgICAgICAgIHRhcmdldC5hbmdsZSA9IDI3MDtcclxuICAgICAgICAgICAgbmFtZSA9IFwiYlwiICsgcmFuZG9tO1xyXG4gICAgICAgICAgICAvL2lmKHRoaXMuYmxvY2tfVHlwZSAhPSBjYy5FbnVtKEJsb2NrVHlwZSkuUmVpbmZvcmNlKSB0YXJnZXQuZ2V0Q29tcG9uZW50KGNjLlNwcml0ZSkuc3ByaXRlRnJhbWUgPSB0aGlzLlVJW1wiX3Nwcml0ZUZyYW1lc1wiXVtuYW1lXTtcclxuICAgICAgICB9XHJcbiAgICAgICAgZWxzZXtcclxuICAgICAgICAgICAgdGFyZ2V0ID0gdGhpcy5ub2RlLmdldENoaWxkQnlOYW1lKFwidHVyblwiKTtcclxuICAgICAgICAgICAgaWYodGFyZ2V0Lm5hbWUgPT0gXCJ0dXJuXCIpe1xyXG4gICAgICAgICAgICAgICAgbGV0IHdhdGVyID0gdGFyZ2V0LmdldENoaWxkQnlOYW1lKFwid2F2ZVwiKS5nZXRDaGlsZEJ5TmFtZShcIndhdGVyXCIpO1xyXG4gICAgICAgICAgICAgICAgd2F0ZXIub3BhY2l0eSA9IDBcclxuICAgICAgICAgICAgICAgIHdhdGVyLnJ1bkFjdGlvbihjYy5zZXF1ZW5jZShjYy5yb3RhdGVUbyg3LjIsLTEwODApLGNjLmRlbGF5VGltZSgwKSkucmVwZWF0Rm9yZXZlcigpKTtcclxuICAgICAgICAgICAgICAgIHNldFRpbWVvdXQoKCkgPT4ge1xyXG4gICAgICAgICAgICAgICAgICAgIHdhdGVyLm9wYWNpdHkgPSAyNTU7XHJcbiAgICAgICAgICAgICAgICB9LCAyMDApO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIG5hbWUgPSBcImNcIiArIHJhbmRvbTtcclxuICAgICAgICAgICAgLy9pZih0aGlzLmJsb2NrX1R5cGUgIT0gY2MuRW51bShCbG9ja1R5cGUpLlJlaW5mb3JjZSl0YXJnZXQuZ2V0Q29tcG9uZW50KGNjLlNwcml0ZSkuc3ByaXRlRnJhbWUgPSB0aGlzLlVJW1wiX3Nwcml0ZUZyYW1lc1wiXVtuYW1lXTtcclxuICAgICAgICAgICAgcHJvZ3Jlc3MgPSAwLjI1O1xyXG4gICAgICAgICAgICBpZih0aGlzLnBhdGhfVHlwZSA9PSBjYy5FbnVtKFBhdGhUeXBlKS51cF9sZWZ0KXtcclxuICAgICAgICAgICAgICAgIHRhcmdldC5zZXRQb3NpdGlvbigtdGhpcy5wb3NfU2hpZnRpbmcsLXRoaXMucG9zX1NoaWZ0aW5nKTtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICBlbHNlIGlmKHRoaXMucGF0aF9UeXBlID09IGNjLkVudW0oUGF0aFR5cGUpLnVwX3JpZ2h0KXtcclxuICAgICAgICAgICAgICAgIHRhcmdldC5zY2FsZVggPSAtMTtcclxuICAgICAgICAgICAgICAgIHRhcmdldC5zZXRQb3NpdGlvbih0aGlzLnBvc19TaGlmdGluZywtdGhpcy5wb3NfU2hpZnRpbmcpO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIGVsc2UgaWYodGhpcy5wYXRoX1R5cGUgPT0gY2MuRW51bShQYXRoVHlwZSkuZG93bl9sZWZ0KXtcclxuICAgICAgICAgICAgICAgIHRhcmdldC5hbmdsZSA9IDE4MDtcclxuICAgICAgICAgICAgICAgIHRhcmdldC5zY2FsZVggPSAtMTtcclxuICAgICAgICAgICAgICAgIHRhcmdldC5zZXRQb3NpdGlvbigtdGhpcy5wb3NfU2hpZnRpbmcsdGhpcy5wb3NfU2hpZnRpbmcpO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIGVsc2UgaWYodGhpcy5wYXRoX1R5cGUgPT0gY2MuRW51bShQYXRoVHlwZSkuZG93bl9yaWdodCl7XHJcbiAgICAgICAgICAgICAgICB0YXJnZXQuYW5nbGUgPSAxODA7XHJcbiAgICAgICAgICAgICAgICB0YXJnZXQuc2V0UG9zaXRpb24odGhpcy5wb3NfU2hpZnRpbmcsdGhpcy5wb3NfU2hpZnRpbmcpO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIGVsc2UgaWYodGhpcy5wYXRoX1R5cGUgPT0gY2MuRW51bShQYXRoVHlwZSkubGVmdF91cCl7XHJcbiAgICAgICAgICAgICAgICB0YXJnZXQuYW5nbGUgPSAtOTA7XHJcbiAgICAgICAgICAgICAgICB0YXJnZXQuc2NhbGVZID0gLTE7XHJcbiAgICAgICAgICAgICAgICB0YXJnZXQuc2V0UG9zaXRpb24odGhpcy5wb3NfU2hpZnRpbmcsdGhpcy5wb3NfU2hpZnRpbmcpO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIGVsc2UgaWYodGhpcy5wYXRoX1R5cGUgPT0gY2MuRW51bShQYXRoVHlwZSkubGVmdF9kb3duKXtcclxuICAgICAgICAgICAgICAgIHRhcmdldC5hbmdsZSA9IDkwO1xyXG4gICAgICAgICAgICAgICAgdGFyZ2V0LnNldFBvc2l0aW9uKC10aGlzLnBvc19TaGlmdGluZywtdGhpcy5wb3NfU2hpZnRpbmcpO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIGVsc2UgaWYodGhpcy5wYXRoX1R5cGUgPT0gY2MuRW51bShQYXRoVHlwZSkucmlnaHRfdXApe1xyXG4gICAgICAgICAgICAgICAgdGFyZ2V0LmFuZ2xlID0gLTkwO1xyXG4gICAgICAgICAgICAgICAgdGFyZ2V0LnNldFBvc2l0aW9uKC10aGlzLnBvc19TaGlmdGluZyx0aGlzLnBvc19TaGlmdGluZyk7XHJcbiAgICAgICAgXHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgZWxzZSBpZih0aGlzLnBhdGhfVHlwZSA9PSBjYy5FbnVtKFBhdGhUeXBlKS5yaWdodF9kb3duKXtcclxuICAgICAgICAgICAgICAgIHRhcmdldC5hbmdsZSA9IC05MDtcclxuICAgICAgICAgICAgICAgIHRhcmdldC5zY2FsZVggPSAtMTtcclxuICAgICAgICAgICAgICAgIHRhcmdldC5zZXRQb3NpdGlvbigtdGhpcy5wb3NfU2hpZnRpbmcsLXRoaXMucG9zX1NoaWZ0aW5nKTtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuXHJcbiAgICAgICAgaWYodGhpcy5wYXRoX1R5cGUgPT0gXCJFbmRcIil7XHJcbiAgICAgICAgICAgIHRhcmdldC5hY3RpdmUgPSBmYWxzZTtcclxuICAgICAgICAgICAgaWYodGhpcy5ibG9ja19UeXBlID09IGNjLkVudW0oQmxvY2tUeXBlKS5FbmQpe1xyXG4gICAgICAgICAgICAgICAgaWYodGhpcy5ub2RlLmdldENoaWxkQnlOYW1lKFwid2F0ZXJTdGFydFwiKS5hY3RpdmUgPT0gdHJ1ZSAmJiB0aGlzLmJsb2NrX1R5cGUgPT0gY2MuRW51bShCbG9ja1R5cGUpLkVuZCl7XHJcbiAgICAgICAgICAgICAgICAgICAgY2MudHdlZW4odGhpcy5ub2RlLmdldENoaWxkQnlOYW1lKFwid2F0ZXJTdGFydFwiKSlcclxuICAgICAgICAgICAgICAgICAgICAudG8oMC4yLHtvcGFjaXR5OjI1NX0pXHJcbiAgICAgICAgICAgICAgICAgICAgLmNhbGwoKCk9PntcclxuICAgICAgICAgICAgICAgICAgICAgICAgLy8gYWxlcnQoXCLmsrvmsLTmiJDlip9cIik7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIGNjLmZ4Lk5vdGlmaWNhdGlvbnMuZW1pdChjYy5meC5NZXNzYWdlLnNob3dSZXN1bHQsXCJ3aW5cIik7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIFxyXG4gICAgICAgICAgICAgICAgICAgICAgICBpZihjYy5meC5HYW1lQ29uZmlnLkdNX0lORk8ubGV2ZWwgPCA3KXtcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNjLmZ4LkdhbWVDb25maWcuR01fSU5GTy5sZXZlbCArPSAxO1xyXG4gICAgICAgICAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIHNldFRpbWVvdXQoKCkgPT4ge1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgLy8gY2MuZGlyZWN0b3IubG9hZFNjZW5lKFwiR2FtZVNjZW5lXCIpO1xyXG4gICAgICAgICAgICAgICAgICAgICAgICB9LCA1MDApO1xyXG4gICAgICAgICAgICAgICAgICAgXHJcbiAgICAgICAgICAgICAgICAgICAgfSlcclxuICAgICAgICAgICAgICAgICAgICAuc3RhcnQoKTtcclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICBlbHNle1xyXG4gICAgICAgICAgICAgICAgdGFyZ2V0ID0gdGhpcy5ub2RlLmdldENoaWxkQnlOYW1lKFwiRW5kXCIpOyBcclxuICAgICAgICAgICAgICAgIHRhcmdldC5hY3RpdmUgPSB0cnVlO1xyXG4gICAgICAgICAgICAgICAgdGFyZ2V0Lm9wYWNpdHkgPSAwO1xyXG5cclxuICAgICAgICAgICAgICAgIGxldCBwb3NUZW1wID0gZGF0YS5sYXN0O1xyXG4gICAgICAgICAgICAgICAgaWYodGhpcy5wb3MueCAtIHBvc1RlbXAueCA+PSAxKXtcclxuICAgICAgICAgICAgICAgICAgICB0YXJnZXQuYW5nbGUgPSAtOTA7XHJcblxyXG4gICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgZWxzZSBpZih0aGlzLnBvcy54IC0gcG9zVGVtcC54IDw9IC0xKXtcclxuICAgICAgICAgICAgICAgICAgICB0YXJnZXQuYW5nbGUgPSA5MDtcclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgIGVsc2UgaWYodGhpcy5wb3MueSAtIHBvc1RlbXAueSA+PSAxKXtcclxuICAgICAgICAgICAgICAgICAgICB0YXJnZXQuYW5nbGUgPSAxODA7XHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgIFxyXG4gICAgICAgICAgICAgICAgY2MudHdlZW4odGFyZ2V0KVxyXG4gICAgICAgICAgICAgICAgLnRvKDAuNSx7b3BhY2l0eToyNTV9KVxyXG4gICAgICAgICAgICAgICAgLmNhbGwoKCkgPT57XHJcbiAgICAgICAgICAgICAgICAgICAgLy8gYWxlcnQoXCLmsrvmsLTlpLHotKVcIilcclxuICAgICAgICAgICAgICAgICAgICBjYy5meC5Ob3RpZmljYXRpb25zLmVtaXQoY2MuZnguTWVzc2FnZS5zaG93UmVzdWx0LFwibG9zZVwiKTtcclxuICAgICAgICAgICAgICAgICAgICAvLyBjYy5kaXJlY3Rvci5sb2FkU2NlbmUoXCJHYW1lU2NlbmVcIik7XHJcblxyXG4gICAgICAgICAgICAgICAgfSlcclxuICAgICAgICAgICAgICAgIC5zdGFydCgpO1xyXG4gICAgICAgICAgICB9XHJcblxyXG4gICAgICAgIH1cclxuICAgICAgICBlbHNle1xyXG4gICAgICAgICAgICB0YXJnZXQuYWN0aXZlID0gdHJ1ZTtcclxuICAgICAgICAgICAgdGFyZ2V0LmdldENvbXBvbmVudChjYy5TcHJpdGUpLmZpbGxSYW5nZSA9IDA7XHJcbiAgICAgICAgICAgIGNjLnR3ZWVuKHRhcmdldC5nZXRDb21wb25lbnQoY2MuU3ByaXRlKSlcclxuICAgICAgICAgICAgLnRvKHRpbWUse2ZpbGxSYW5nZTpwcm9ncmVzc30pXHJcbiAgICAgICAgICAgIC5jYWxsKCgpID0+e1xyXG4gICAgICAgICAgICAgICAgaWYoZGF0YS5jaXJjdWxhdGUpXHJcbiAgICAgICAgICAgICAgICAgICAgY2MuZnguTm90aWZpY2F0aW9ucy5lbWl0KGNjLmZ4Lk1lc3NhZ2UubmV4dFdhdGVyLG9yZGVyKTtcclxuICAgICAgICAgICAgfSlcclxuICAgICAgICAgICAgLnN0YXJ0KCk7XHJcbiAgICAgICAgfVxyXG5cclxuICAgIH1cclxuXHJcbiAgICAvLyB1cGRhdGUgKGR0KSB7fVxyXG59XHJcbiJdfQ== \ No newline at end of file diff --git a/temp/quick-scripts/dst/assets/Script/ControlManager.js b/temp/quick-scripts/dst/assets/Script/ControlManager.js index 9da59a7..687527e 100644 --- a/temp/quick-scripts/dst/assets/Script/ControlManager.js +++ b/temp/quick-scripts/dst/assets/Script/ControlManager.js @@ -60,14 +60,15 @@ var NewClass = /** @class */ (function (_super) { this.canTouch = true; this.Reinforce = false; this.Soil = false; + this.mapHeight = 0; }; NewClass.prototype.setPosition = function (tip) { - tip.setPosition(30, -35); + tip.setPosition(30, -25); if (this.tipArray.length > 0) { var length = this.tipArray.length + 1; var posY = Math.ceil(length / 8) - 1; var posX = length - Math.floor(posY) * 8 - 1; - tip.setPosition(30 + 48 * posX, -35 - 48 * posY); + tip.setPosition(30 + 48 * posX, -25 - 48 * posY + this.mapHeight); } }; //清空所有 @@ -87,6 +88,7 @@ var NewClass = /** @class */ (function (_super) { var drawingReset = cc.fx.GameConfig.CLICK_DATA.drawingReset + 1; cc.fx.GameConfig.CLICK_SET("drawingReset", drawingReset); cc.fx.Notifications.emit(cc.fx.Message.removeTip, "remove"); + this.mapHeight = 0; } }; //撤回一步 @@ -104,6 +106,11 @@ var NewClass = /** @class */ (function (_super) { var drawingBack = cc.fx.GameConfig.CLICK_DATA.drawingBack + 1; cc.fx.GameConfig.CLICK_SET("drawingBack", drawingBack); cc.fx.Notifications.emit(cc.fx.Message.removeTip, "back"); + if (this.tipArray.length >= 24) { + if ((this.tipArray.length) % 8 == 0) { + this.mapMove(false); + } + } } }; //点击事件 @@ -169,6 +176,25 @@ var NewClass = /** @class */ (function (_super) { this.setPosition(tip); this.tipArray.push(tip); this.controlArray.push(data); + if (this.tipArray.length >= 25) { + if ((this.tipArray.length - 1) % 8 == 0) { + this.mapMove(true); + } + } + }; + //地图放不下了上下移动 + NewClass.prototype.mapMove = function (type) { + if (type) + this.mapHeight += 48; + else + this.mapHeight -= 48; + for (var i = 0; i < this.tipArray.length; i++) { + var tip = this.tipArray[i]; + if (type) + tip.y += 48; + else + tip.y -= 48; + } }; //点击开始 创建河道 NewClass.prototype.start_Click = function () { @@ -208,4 +234,4 @@ cc._RF.pop(); }); } })(); -//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbImFzc2V0c1xcU2NyaXB0XFxDb250cm9sTWFuYWdlci50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7Ozs7Ozs7O0FBQUEsb0JBQW9CO0FBQ3BCLHdFQUF3RTtBQUN4RSxtQkFBbUI7QUFDbkIsa0ZBQWtGO0FBQ2xGLDhCQUE4QjtBQUM5QixrRkFBa0Y7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OztBQUU1RSxJQUFBLEtBQXNCLEVBQUUsQ0FBQyxVQUFVLEVBQWxDLE9BQU8sYUFBQSxFQUFFLFFBQVEsY0FBaUIsQ0FBQztBQUcxQztJQUFzQyw0QkFBWTtJQUFsRDtRQUFBLHFFQWdKQztRQTdJRyxTQUFHLEdBQVksSUFBSSxDQUFDO1FBRXBCLFNBQUcsR0FBYyxJQUFJLENBQUM7UUFFdEIsZUFBUyxHQUFjLElBQUksQ0FBQztRQUU1QixVQUFJLEdBQWMsSUFBSSxDQUFDOztRQXNJdkIsaUJBQWlCO0lBQ3JCLENBQUM7SUEvSEcsd0JBQXdCO0lBRXhCLGVBQWU7SUFFZix3QkFBSyxHQUFMO1FBQ0ksSUFBSSxDQUFDLFFBQVEsR0FBRyxFQUFFLENBQUM7UUFDbkIsSUFBSSxDQUFDLFlBQVksR0FBRyxFQUFFLENBQUM7UUFDdkIsSUFBSSxDQUFDLFFBQVEsR0FBRyxJQUFJLENBQUM7UUFDckIsSUFBSSxDQUFDLFNBQVMsR0FBRyxLQUFLLENBQUM7UUFDdkIsSUFBSSxDQUFDLElBQUksR0FBRyxLQUFLLENBQUM7SUFDdEIsQ0FBQztJQUVELDhCQUFXLEdBQVgsVUFBWSxHQUFHO1FBQ1gsR0FBRyxDQUFDLFdBQVcsQ0FBQyxFQUFFLEVBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQztRQUN4QixJQUFHLElBQUksQ0FBQyxRQUFRLENBQUMsTUFBTSxHQUFHLENBQUMsRUFBQztZQUN4QixJQUFJLE1BQU0sR0FBRyxJQUFJLENBQUMsUUFBUSxDQUFDLE1BQU0sR0FBQyxDQUFDLENBQUM7WUFDcEMsSUFBSSxJQUFJLEdBQUcsSUFBSSxDQUFDLElBQUksQ0FBQyxNQUFN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UUFBUSxDQUFDLEVBQUUsQ0FBQyxNQUFNLENBQUM7K0NBQ1E7SUFFNUI7UUFEQyxRQUFRLENBQUMsRUFBRSxDQUFDLE1BQU0sQ0FBQzswQ0FDRztJQVROLFFBQVE7UUFENUIsT0FBTztPQUNhLFFBQVEsQ0FnSjVCO0lBQUQsZUFBQztDQWhKRCxBQWdKQyxDQWhKcUMsRUFBRSxDQUFDLFNBQVMsR0FnSmpEO2tCQWhKb0IsUUFBUSIsImZpbGUiOiIiLCJzb3VyY2VSb290IjoiLyIsInNvdXJjZXNDb250ZW50IjpbIi8vIExlYXJuIFR5cGVTY3JpcHQ6XHJcbi8vICAtIGh0dHBzOi8vZG9jcy5jb2Nvcy5jb20vY3JlYXRvci9tYW51YWwvZW4vc2NyaXB0aW5nL3R5cGVzY3JpcHQuaHRtbFxyXG4vLyBMZWFybiBBdHRyaWJ1dGU6XHJcbi8vICAtIGh0dHBzOi8vZG9jcy5jb2Nvcy5jb20vY3JlYXRvci9tYW51YWwvZW4vc2NyaXB0aW5nL3JlZmVyZW5jZS9hdHRyaWJ1dGVzLmh0bWxcclxuLy8gTGVhcm4gbGlmZS1jeWNsZSBjYWxsYmFja3M6XHJcbi8vICAtIGh0dHBzOi8vZG9jcy5jb2Nvcy5jb20vY3JlYXRvci9tYW51YWwvZW4vc2NyaXB0aW5nL2xpZmUtY3ljbGUtY2FsbGJhY2tzLmh0bWxcclxuXHJcbmNvbnN0IHtjY2NsYXNzLCBwcm9wZXJ0eX0gPSBjYy5fZGVjb3JhdG9yO1xyXG5cclxuQGNjY2xhc3NcclxuZXhwb3J0IGRlZmF1bHQgY2xhc3MgTmV3Q2xhc3MgZXh0ZW5kcyBjYy5Db21wb25lbnQge1xyXG5cclxuICAgIEBwcm9wZXJ0eShjYy5Ob2RlKVxyXG4gICAgTWFwOiBjYy5Ob2RlID0gbnVsbDtcclxuICAgIEBwcm9wZXJ0eShjYy5QcmVmYWIpXHJcbiAgICB0aXA6IGNjLlByZWZhYiA9IG51bGw7XHJcbiAgICBAcHJvcGVydHkoY2MuUHJlZmFiKVxyXG4gICAgcmVpbmZvcmNlOiBjYy5QcmVmYWIgPSBudWxsO1xyXG4gICAgQHByb3BlcnR5KGNjLlByZWZhYilcclxuICAgIHNvaWw6IGNjLlByZWZhYiA9IG51bGw7XHJcbiAgICBcclxuXHJcbiAgICB0aXBBcnJheTphbnk7XHJcbiAgICBjb250cm9sQXJyYXk6YW55O1xyXG4gICAgY2FuVG91Y2g6Ym9vbGVhbjtcclxuICAgIFJlaW5mb3JjZTpib29sZWFuO1xyXG4gICAgU29pbDpib29sZWFuO1xyXG4gICAgLy8gTElGRS1DWUNMRSBDQUxMQkFDS1M6XHJcblxyXG4gICAgLy8gb25Mb2FkICgpIHt9XHJcblxyXG4gICAgc3RhcnQgKCkge1xyXG4gICAgICAgIHRoaXMudGlwQXJyYXkgPSBbXTtcclxuICAgICAgICB0aGlzLmNvbnRyb2xBcnJheSA9IFtdO1xyXG4gICAgICAgIHRoaXMuY2FuVG91Y2ggPSB0cnVlO1xyXG4gICAgICAgIHRoaXMuUmVpbmZvcmNlID0gZmFsc2U7XHJcbiAgICAgICAgdGhpcy5Tb2lsID0gZmFsc2U7XHJcbiAgICB9XHJcblxyXG4gICAgc2V0UG9zaXRpb24odGlwKXtcclxuICAgICAgICB0aXAuc2V0UG9zaXRpb24oMzAsLTM1KTtcclxuICAgICAgICBpZih0aGlzLnRpcEFycmF5Lmxlbmd0aCA+IDApe1xyXG4gICAgICAgICAgICBsZXQgbGVuZ3RoID0gdGhpcy50aXBBcnJheS5sZW5ndGgrMTtcclxuICAgICAgICAgICAgbGV0IHBvc1kgPSBNYXRoLmNlaWwobGVuZ3RoLzgpIC0gMTtcclxuICAgICAgICAgICAgbGV0IHBvc1ggPSBsZW5ndGggLSBNYXRoLmZsb29yKHBvc1kpKjggLSAxO1xyXG4gICAgICAgICAgICB0aXAuc2V0UG9zaXRpb24oMzAgKyA0OCpwb3NYLC0zNSAtNDgqcG9zWSk7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG4gICAgLy/muIXnqbrmiYDmnIlcclxuICAgIHJlbW92ZUFsbFRpcCgpe1xyXG4gICAgICAgIGlmKCF0aGlzLmNhblRvdWNoKSByZXR1cm47XHJcbiAgICAgICAgaWYodGhpcy50aXBBcnJheS5sZW5ndGggPiAwKXtcclxuICAgICAgICAgICAgY2MuZnguQXVkaW9NYW5hZ2VyLl9pbnN0YW5jZS5wbGF5RWZmZWN0KFwicWluZ2tvbmdcIixudWxsKTtcclxuICAgICAgICAgICAgZm9yKGxldCBpPTA7IGk8dGhpcy50aXBBcnJheS5sZW5ndGg7aSsrKXtcclxuICAgICAgICAgICAgICAgIGxldCB0aXAgPSB0aGlzLnRpcEFycmF5W2ldO1xyXG4gICAgICAgICAgICAgICAgdGlwLmFjdGl2ZSA9IGZhbHNlO1xyXG4gICAgICAgICAgICAgICAgdGlwLnJlbW92ZUZyb21QYXJlbnQodGhpcy5NYXApO1xyXG4gICAgICAgICAgICAgICAgdGlwID0gbnVsbDtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICB0aGlzLnRpcEFycmF5ID0gW107XHJcbiAgICAgICAgICAgIHRoaXMuY29udHJvbEFycmF5ID0gW107XHJcbiAgICAgICAgICAgIHZhciBkcmF3aW5nUmVzZXQgPSBjYy5meC5HYW1lQ29uZmlnLkNMSUNLX0RBVEEuZHJhd2luZ1Jlc2V0ICsgMTtcclxuICAgICAgICAgICAgY2MuZnguR2FtZUNvbmZpZy5DTElDS19TRVQoXCJkcmF3aW5nUmVzZXRcIixkcmF3aW5nUmVzZXQpO1xyXG4gICAgICAgICAgICBjYy5meC5Ob3RpZmljYXRpb25zLmVtaXQoY2MuZnguTWVzc2FnZS5yZW1vdmVUaXAsXCJyZW1vdmVcIik7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG4gICAgLy/mkqTlm57kuIDmraVcclxuICAgIGJhY2tfQ2xpY2soKXtcclxuICAgICAgICBpZighdGhpcy5jYW5Ub3VjaCkgcmV0dXJuO1xyXG4gICAgICAgIGlmKHRoaXMudGlwQXJyYXkubGVuZ3RoID4gMCl7XHJcbiAgICAgICAgICAgIGNjLmZ4LkF1ZGlvTWFuYWdlci5faW5zdGFuY2UucGxheUVmZmVjdChcImNoZWh1aVwiLG51bGwpO1xyXG4gICAgICAgICAgICBsZXQgdGlwID0gdGhpcy50aXBBcnJheVt0aGlzLnRpcEFycmF5Lmxlbmd0aC0xXTtcclxuICAgICAgICAgICAgdGlwLmFjdGl2ZSA9IGZhbHNlO1xyXG4gICAgICAgICAgICB0aXAucmVtb3ZlRnJvbVBhcmVudCh0aGlzLk1hcCk7XHJcbiAgICAgICAgICAgIHRpcCA9IG51bGw7XHJcbiAgICAgICAgICAgIHRoaXMudGlwQXJyYXkucG9wKCk7XHJcbiAgICAgICAgICAgIHRoaXMuY29udHJvbEFycmF5LnBvcCgpO1xyXG4gICAgICAgICAgICB2YXIgZHJhd2luZ0JhY2sgPSBjYy5meC5HYW1lQ29uZmlnLkNMSUNLX0RBVEEuZHJhd2luZ0JhY2sgKyAxO1xyXG4gICAgICAgICAgICBjYy5meC5HYW1lQ29uZmlnLkNMSUNLX1NFVChcImRyYXdpbmdCYWNrXCIsZHJhd2luZ0JhY2spO1xyXG4gICAgICAgICAgICBjYy5meC5Ob3RpZmljYXRpb25zLmVtaXQoY2MuZnguTWVzc2FnZS5yZW1vdmVUaXAsXCJiYWNrXCIpO1xyXG4gICAgICAgIH1cclxuICAgIH1cclxuXHJcbiAgICAvL+eCueWHu+S6i+S7tlxyXG4gICAgYnRuX0NsaWNrKHRhcmdldCxkYXRhKXtcclxuICAgICAgICB2YXIgR2FtZU1hbmFnZXIgPSB0aGlzLm5vZGUucGFyZW50LmdldENvbXBvbmVudChcIkdhbWVNYW5hZ2VyXCIpO1xyXG4gICAgICAgIGlmKEdhbWVNYW5hZ2VyLmJ0bkNsaWNrID09IHRydWUpe1xyXG4gICAgICAgICAgICBHYW1lTWFuYWdlci5idG5DbGljayA9IGZhbHNlO1xyXG4gICAgICAgICAgICBjYy5meC5Ob3RpZmljYXRpb25zLmVtaXQoY2MuZnguTWVzc2FnZS5ndWlkZU5leHQpO1xyXG4gICAgICAgIH1cclxuICAgICAgICBjYy5meC5Ob3RpZmljYXRpb25zLmVtaXQoY2MuZnguTWVzc2FnZS5jb250cm9sLGRhdGEpO1xyXG4gICAgICAgIGlmKCF0aGlzLmNhblRvdWNoKSByZXR1cm47XHJcbiAgICAgICAgbGV0IHByZWZhYiA9IHRoaXMudGlwO1xyXG4gICAgICAgIGlmKGRhdGEgPT0gXCJyZWluZm9yY2VcIiB8fCBkYXRhID09IFwic29pbFwiKXtcclxuICAgICAgICAgICAgcHJlZmFiID0gdGhpc1tkYXRhXTtcclxuICAgICAgICAgICAgaWYoZGF0YSA9PSBcInJlaW5mb3JjZVwiKXtcclxuICAgICAgICAgICAgICAgIGlmKHRoaXMuUmVpbmZvcmNlKXtcclxuICAgICAgICAgICAgICAgICAgICB0aGlzLlJlaW5mb3JjZSA9IGZhbHNlO1xyXG4gICAgICAgICAgICAgICAgICAgIHRoaXMuYmFja19DbGljaygpO1xyXG4gICAgICAgICAgICAgICAgICAgIHJldHVybjtcclxuICAgICAgICAgICAgICAgIH1lbHNle1xyXG4gICAgICAgICAgICAgICAgICAgIGNjLmZ4LkF1ZGlvTWFuYWdlci5faW5zdGFuY2UucGxheUVmZmVjdChcImppbmVuZ1wiLG51bGwpO1xyXG4gICAgICAgICAgICAgICAgICAgIHRoaXMuUmVpbmZvcmNlID0gdHJ1ZTtcclxuICAgICAgICAgICAgICAgICAgICB0aGlzLlNvaWwgPSBmYWxzZTtcclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgfSBcclxuICAgICAgICAgICAgZWxzZSBpZihkYXRhID09IFwic29pbFwiKXtcclxuICAgICAgICAgICAgICAgIGlmKHRoaXMuU29pbCl7XHJcbiAgICAgICAgICAgICAgICAgICAgdGhpcy5Tb2lsID0gZmFsc2U7XHJcbiAgICAgICAgICAgICAgICAgICAgdGhpcy5iYWNrX0NsaWNrKCk7XHJcbiAgICAgICAgICAgICAgICAgICAgcmV0dXJuO1xyXG4gICAgICAgICAgICAgICAgfWVsc2V7XHJcbiAgICAgICAgICAgICAgICAgICAgY2MuZnguQXVkaW9NYW5hZ2VyLl9pbnN0YW5jZS5wbGF5RWZmZWN0KFwiamluZW5nXCIsbnVsbCk7XHJcbiAgICAgICAgICAgICAgICAgICAgdGhpcy5Tb2lsID0gdHJ1ZTtcclxuICAgICAgICAgICAgICAgICAgICB0aGlzLlJlaW5mb3JjZSA9IGZhbHNlO1xyXG4gICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICB9IFxyXG4gICAgICAgIH1cclxuICAgICAgICBlbHNle1xyXG4gICAgICAgICAgICBjYy5meC5BdWRpb01hbmFnZXIuX2luc3RhbmNlLnBsYXlFZmZlY3QoXCJmYW5neGlhbmdcIixudWxsKTtcclxuICAgICAgICAgICAgdGhpcy5SZWluZm9yY2UgPSBmYWxzZTtcclxuICAgICAgICAgICAgdGhpcy5Tb2lsID0gZmFsc2U7XHJcbiAgICAgICAgfVxyXG4gICAgICAgIGxldCB0aXAgPSBjYy5pbnN0YW50aWF0ZShwcmVmYWIpO1xyXG4gICAgICAgIGlmKGRhdGEgPT0gXCJ1cFwiKSB0aXAuYW5nbGUgPSAxODA7XHJcbiAgICAgICAgaWYoZGF0YSA9PSBcImxlZnRcIikgdGlwLmFuZ2xlID0gLTkwO1xyXG4gICAgICAgIGlmKGRhdGEgPT0gXCJyaWdodFwiKSB0aXAuYW5nbGUgPSA5MDtcclxuICAgICAgICB0aXAucGFyZW50ID0gdGhpcy5NYXA7XHJcbiAgICBcclxuICAgICAgICBpZih0aGlzLmNvbnRyb2xBcnJheVt0aGlzLmNvbnRyb2xBcnJheS5sZW5ndGgtMV0gPT0gXCJyZWluZm9yY2VcIiB8fCBcclxuICAgICAgICAgICAgdGhpcy5jb250cm9sQXJyYXlbdGhpcy5jb250cm9sQXJyYXkubGVuZ3RoLTFdID09IFwic29pbFwiKXtcclxuICAgICAgICAgICAgICAgIGlmKGRhdGEgPT0gXCJyZWluZm9yY2VcIiB8fCBkYXRhID09IFwic29pbFwiKXtcclxuICAgICAgICAgICAgICAgICAgICB0aGlzLnRpcEFycmF5W3RoaXMudGlwQXJyYXkubGVuZ3RoLTFdLnJlbW92ZUZyb21QYXJlbnQoKTtcclxuICAgICAgICAgICAgICAgICAgICB0aGlzLnRpcEFycmF5W3RoaXMudGlwQXJyYXkubGVuZ3RoLTFdID0gbnVsbDtcclxuICAgICAgICAgICAgICAgICAgICB0aGlzLnRpcEFycmF5LnBvcCgpO1xyXG4gICAgICAgICAgICAgICAgICAgIHRoaXMuY29udHJvbEFycmF5LnBvcCgpO1xyXG4gICAgICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgICAgICB0aGlzLnNldFBvc2l0aW9uKHRpcCk7XHJcblxyXG4gICAgICAgIHRoaXMudGlwQXJyYXkucHVzaCh0aXApO1xyXG4gICAgICAgIHRoaXMuY29udHJvbEFycmF5LnB1c2goZGF0YSk7XHJcbiAgXHJcbiAgICB9XHJcblxyXG4gICAgLy/ngrnlh7vlvIDlp4sg5Yib5bu65rKz6YGTXHJcbiAgICBzdGFydF9DbGljaygpe1xyXG4gICAgICAgIGlmKCF0aGlzLmNhblRvdWNoKSByZXR1cm47XHJcbiAgICAgICAgdGhpcy5jYW5Ub3VjaCA9IGZhbHNlO1xyXG4gICAgICAgIGNjLmZ4LkF1ZGlvTWFuYWdlci5faW5zdGFuY2UucGxheUVmZmVjdChcImJ1aWxkXCIsbnVsbCk7XHJcbiAgICAgICAgY2MuZnguTm90aWZpY2F0aW9ucy5lbWl0KGNjLmZ4Lk1lc3NhZ2Uuc3RhcnRHYW1lLHRoaXMuY29udHJvbEFycmF5KTtcclxuICAgIH1cclxuXHJcbiAgICAvLyB1cGRhdGUgKGR0KSB7fVxyXG59XHJcbiJdfQ== \ No newline at end of file +//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbImFzc2V0c1xcU2NyaXB0XFxDb250cm9sTWFuYWdlci50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7Ozs7Ozs7O0FBQUEsb0JBQW9CO0FBQ3BCLHdFQUF3RTtBQUN4RSxtQkFBbUI7QUFDbkIsa0ZBQWtGO0FBQ2xGLDhCQUE4QjtBQUM5QixrRkFBa0Y7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OztBQUU1RSxJQUFBLEtBQXNCLEVBQUUsQ0FBQyxVQUFVLEVBQWxDLE9BQU8sYUFBQSxFQUFFLFFBQVEsY0FBaUIsQ0FBQztBQUcxQztJQUFzQyw0QkFBWTtJQUFsRDtRQUFBLHFFQXVLQztRQXBLRyxTQUFHLEdBQVksSUFBSSxDQUFDO1FBRXBCLFNBQUcsR0FBYyxJQUFJLENBQUM7UUFFdEIsZUFBUyxHQUFjLElBQUksQ0FBQztRQUU1QixVQUFJLEdBQWMsSUFBSSxDQUFDOztRQTZKdkIsaUJBQWlCO0lBQ3JCLENBQUM7SUFySkcsd0JBQXdCO0lBRXhCLGVBQWU7SUFFZix3QkFBSyxHQUFMO1FBQ0ksSUFBSSxDQUFDLFFBQVEsR0FBRyxFQUFFLENBQUM7UUFDbkIsSUFBSSxDQUFDLFlBQVksR0FBRyxFQUFFLENBQUM7UUFDdkIsSUFBSSxDQUFDLFFBQVEsR0FBRyxJQUFJLENBQUM7UUFDckIsSUFBSSxDQUFDLFNBQVMsR0FBRyxLQUFLLENBQUM7UUFDdkIsSUFBSSxDQUFDLElBQUksR0FBRyxLQUFLLENBQUM7UUFDbEIsSUFBSSxDQUFDLFNBQVMsR0FBRyxDQUFDLENBQUM7SUFDdkIsQ0FBQztJQUVELDhCQUFXLEdBQVgsVUFBWSxHQUFHO1FBQ1gsR0FBRyxDQUFDLFdBQVcsQ0FBQyxFQUFFLEVBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQztRQUN4QixJQUFHLElBQUksQ0FBQyxRQUFRLENBQUMsTUFBTSxHQUFHLENBQUMsRUFBQztZQUN4QixJQUFJLE1BQU0sR0FBRyxJQUFJLENBQUMsUUFBUSxDQUFDLE1BQU0sR0FBQyxDQUFDLENBQUM7WUFDcEMsSUFB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QUFDOzBDQUNHO0lBVE4sUUFBUTtRQUQ1QixPQUFPO09BQ2EsUUFBUSxDQXVLNUI7SUFBRCxlQUFDO0NBdktELEFBdUtDLENBdktxQyxFQUFFLENBQUMsU0FBUyxHQXVLakQ7a0JBdktvQixRQUFRIiwiZmlsZSI6IiIsInNvdXJjZVJvb3QiOiIvIiwic291cmNlc0NvbnRlbnQiOlsiLy8gTGVhcm4gVHlwZVNjcmlwdDpcclxuLy8gIC0gaHR0cHM6Ly9kb2NzLmNvY29zLmNvbS9jcmVhdG9yL21hbnVhbC9lbi9zY3JpcHRpbmcvdHlwZXNjcmlwdC5odG1sXHJcbi8vIExlYXJuIEF0dHJpYnV0ZTpcclxuLy8gIC0gaHR0cHM6Ly9kb2NzLmNvY29zLmNvbS9jcmVhdG9yL21hbnVhbC9lbi9zY3JpcHRpbmcvcmVmZXJlbmNlL2F0dHJpYnV0ZXMuaHRtbFxyXG4vLyBMZWFybiBsaWZlLWN5Y2xlIGNhbGxiYWNrczpcclxuLy8gIC0gaHR0cHM6Ly9kb2NzLmNvY29zLmNvbS9jcmVhdG9yL21hbnVhbC9lbi9zY3JpcHRpbmcvbGlmZS1jeWNsZS1jYWxsYmFja3MuaHRtbFxyXG5cclxuY29uc3Qge2NjY2xhc3MsIHByb3BlcnR5fSA9IGNjLl9kZWNvcmF0b3I7XHJcblxyXG5AY2NjbGFzc1xyXG5leHBvcnQgZGVmYXVsdCBjbGFzcyBOZXdDbGFzcyBleHRlbmRzIGNjLkNvbXBvbmVudCB7XHJcblxyXG4gICAgQHByb3BlcnR5KGNjLk5vZGUpXHJcbiAgICBNYXA6IGNjLk5vZGUgPSBudWxsO1xyXG4gICAgQHByb3BlcnR5KGNjLlByZWZhYilcclxuICAgIHRpcDogY2MuUHJlZmFiID0gbnVsbDtcclxuICAgIEBwcm9wZXJ0eShjYy5QcmVmYWIpXHJcbiAgICByZWluZm9yY2U6IGNjLlByZWZhYiA9IG51bGw7XHJcbiAgICBAcHJvcGVydHkoY2MuUHJlZmFiKVxyXG4gICAgc29pbDogY2MuUHJlZmFiID0gbnVsbDtcclxuICAgIFxyXG5cclxuICAgIHRpcEFycmF5OmFueTtcclxuICAgIGNvbnRyb2xBcnJheTphbnk7XHJcbiAgICBjYW5Ub3VjaDpib29sZWFuO1xyXG4gICAgUmVpbmZvcmNlOmJvb2xlYW47XHJcbiAgICBTb2lsOmJvb2xlYW47XHJcbiAgICBtYXBIZWlnaHQ6bnVtYmVyO1xyXG4gICAgLy8gTElGRS1DWUNMRSBDQUxMQkFDS1M6XHJcblxyXG4gICAgLy8gb25Mb2FkICgpIHt9XHJcblxyXG4gICAgc3RhcnQgKCkge1xyXG4gICAgICAgIHRoaXMudGlwQXJyYXkgPSBbXTtcclxuICAgICAgICB0aGlzLmNvbnRyb2xBcnJheSA9IFtdO1xyXG4gICAgICAgIHRoaXMuY2FuVG91Y2ggPSB0cnVlO1xyXG4gICAgICAgIHRoaXMuUmVpbmZvcmNlID0gZmFsc2U7XHJcbiAgICAgICAgdGhpcy5Tb2lsID0gZmFsc2U7XHJcbiAgICAgICAgdGhpcy5tYXBIZWlnaHQgPSAwO1xyXG4gICAgfVxyXG5cclxuICAgIHNldFBvc2l0aW9uKHRpcCl7XHJcbiAgICAgICAgdGlwLnNldFBvc2l0aW9uKDMwLC0yNSk7XHJcbiAgICAgICAgaWYodGhpcy50aXBBcnJheS5sZW5ndGggPiAwKXtcclxuICAgICAgICAgICAgbGV0IGxlbmd0aCA9IHRoaXMudGlwQXJyYXkubGVuZ3RoKzE7XHJcbiAgICAgICAgICAgIGxldCBwb3NZID0gTWF0aC5jZWlsKGxlbmd0aC84KSAtIDE7XHJcbiAgICAgICAgICAgIGxldCBwb3NYID0gbGVuZ3RoIC0gTWF0aC5mbG9vcihwb3NZKSo4IC0gMTtcclxuICAgICAgICAgICAgdGlwLnNldFBvc2l0aW9uKDMwICsgNDgqcG9zWCwtMjUgLTQ4KnBvc1kgKyB0aGlzLm1hcEhlaWdodCk7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG4gICAgLy/muIXnqbrmiYDmnIlcclxuICAgIHJlbW92ZUFsbFRpcCgpe1xyXG4gICAgICAgIGlmKCF0aGlzLmNhblRvdWNoKSByZXR1cm47XHJcbiAgICAgICAgaWYodGhpcy50aXBBcnJheS5sZW5ndGggPiAwKXtcclxuICAgICAgICAgICAgY2MuZnguQXVkaW9NYW5hZ2VyLl9pbnN0YW5jZS5wbGF5RWZmZWN0KFwicWluZ2tvbmdcIixudWxsKTtcclxuICAgICAgICAgICAgZm9yKGxldCBpPTA7IGk8dGhpcy50aXBBcnJheS5sZW5ndGg7aSsrKXtcclxuICAgICAgICAgICAgICAgIGxldCB0aXAgPSB0aGlzLnRpcEFycmF5W2ldO1xyXG4gICAgICAgICAgICAgICAgdGlwLmFjdGl2ZSA9IGZhbHNlO1xyXG4gICAgICAgICAgICAgICAgdGlwLnJlbW92ZUZyb21QYXJlbnQodGhpcy5NYXApO1xyXG4gICAgICAgICAgICAgICAgdGlwID0gbnVsbDtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICB0aGlzLnRpcEFycmF5ID0gW107XHJcbiAgICAgICAgICAgIHRoaXMuY29udHJvbEFycmF5ID0gW107XHJcbiAgICAgICAgICAgIHZhciBkcmF3aW5nUmVzZXQgPSBjYy5meC5HYW1lQ29uZmlnLkNMSUNLX0RBVEEuZHJhd2luZ1Jlc2V0ICsgMTtcclxuICAgICAgICAgICAgY2MuZnguR2FtZUNvbmZpZy5DTElDS19TRVQoXCJkcmF3aW5nUmVzZXRcIixkcmF3aW5nUmVzZXQpO1xyXG4gICAgICAgICAgICBjYy5meC5Ob3RpZmljYXRpb25zLmVtaXQoY2MuZnguTWVzc2FnZS5yZW1vdmVUaXAsXCJyZW1vdmVcIik7XHJcbiAgICAgICAgICAgIHRoaXMubWFwSGVpZ2h0ID0gMDtcclxuICAgICAgICB9XHJcbiAgICB9XHJcbiAgICAvL+aSpOWbnuS4gOatpVxyXG4gICAgYmFja19DbGljaygpe1xyXG4gICAgICAgIGlmKCF0aGlzLmNhblRvdWNoKSByZXR1cm47XHJcbiAgICAgICAgaWYodGhpcy50aXBBcnJheS5sZW5ndGggPiAwKXtcclxuICAgICAgICAgICAgY2MuZnguQXVkaW9NYW5hZ2VyLl9pbnN0YW5jZS5wbGF5RWZmZWN0KFwiY2hlaHVpXCIsbnVsbCk7XHJcbiAgICAgICAgICAgIGxldCB0aXAgPSB0aGlzLnRpcEFycmF5W3RoaXMudGlwQXJyYXkubGVuZ3RoLTFdO1xyXG4gICAgICAgICAgICB0aXAuYWN0aXZlID0gZmFsc2U7XHJcbiAgICAgICAgICAgIHRpcC5yZW1vdmVGcm9tUGFyZW50KHRoaXMuTWFwKTtcclxuICAgICAgICAgICAgdGlwID0gbnVsbDtcclxuICAgICAgICAgICAgdGhpcy50aXBBcnJheS5wb3AoKTtcclxuICAgICAgICAgICAgdGhpcy5jb250cm9sQXJyYXkucG9wKCk7XHJcbiAgICAgICAgICAgIHZhciBkcmF3aW5nQmFjayA9IGNjLmZ4LkdhbWVDb25maWcuQ0xJQ0tfREFUQS5kcmF3aW5nQmFjayArIDE7XHJcbiAgICAgICAgICAgIGNjLmZ4LkdhbWVDb25maWcuQ0xJQ0tfU0VUKFwiZHJhd2luZ0JhY2tcIixkcmF3aW5nQmFjayk7XHJcbiAgICAgICAgICAgIGNjLmZ4Lk5vdGlmaWNhdGlvbnMuZW1pdChjYy5meC5NZXNzYWdlLnJlbW92ZVRpcCxcImJhY2tcIik7XHJcbiAgICAgICAgICAgIGlmKHRoaXMudGlwQXJyYXkubGVuZ3RoID49IDI0KXtcclxuICAgICAgICAgICAgICAgIGlmKCh0aGlzLnRpcEFycmF5Lmxlbmd0aCApJTggPT0gMCl7XHJcbiAgICAgICAgICAgICAgICAgICAgdGhpcy5tYXBNb3ZlKGZhbHNlKTtcclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgIH1cclxuXHJcbiAgICAvL+eCueWHu+S6i+S7tlxyXG4gICAgYnRuX0NsaWNrKHRhcmdldCxkYXRhKXtcclxuICAgICAgICB2YXIgR2FtZU1hbmFnZXIgPSB0aGlzLm5vZGUucGFyZW50LmdldENvbXBvbmVudChcIkdhbWVNYW5hZ2VyXCIpO1xyXG4gICAgICAgIGlmKEdhbWVNYW5hZ2VyLmJ0bkNsaWNrID09IHRydWUpe1xyXG4gICAgICAgICAgICBHYW1lTWFuYWdlci5idG5DbGljayA9IGZhbHNlO1xyXG4gICAgICAgICAgICBjYy5meC5Ob3RpZmljYXRpb25zLmVtaXQoY2MuZnguTWVzc2FnZS5ndWlkZU5leHQpO1xyXG4gICAgICAgIH1cclxuICAgICAgICBjYy5meC5Ob3RpZmljYXRpb25zLmVtaXQoY2MuZnguTWVzc2FnZS5jb250cm9sLGRhdGEpO1xyXG4gICAgICAgIGlmKCF0aGlzLmNhblRvdWNoKSByZXR1cm47XHJcbiAgICAgICAgbGV0IHByZWZhYiA9IHRoaXMudGlwO1xyXG4gICAgICAgIGlmKGRhdGEgPT0gXCJyZWluZm9yY2VcIiB8fCBkYXRhID09IFwic29pbFwiKXtcclxuICAgICAgICAgICAgcHJlZmFiID0gdGhpc1tkYXRhXTtcclxuICAgICAgICAgICAgaWYoZGF0YSA9PSBcInJlaW5mb3JjZVwiKXtcclxuICAgICAgICAgICAgICAgIGlmKHRoaXMuUmVpbmZvcmNlKXtcclxuICAgICAgICAgICAgICAgICAgICB0aGlzLlJlaW5mb3JjZSA9IGZhbHNlO1xyXG4gICAgICAgICAgICAgICAgICAgIHRoaXMuYmFja19DbGljaygpO1xyXG4gICAgICAgICAgICAgICAgICAgIHJldHVybjtcclxuICAgICAgICAgICAgICAgIH1lbHNle1xyXG4gICAgICAgICAgICAgICAgICAgIGNjLmZ4LkF1ZGlvTWFuYWdlci5faW5zdGFuY2UucGxheUVmZmVjdChcImppbmVuZ1wiLG51bGwpO1xyXG4gICAgICAgICAgICAgICAgICAgIHRoaXMuUmVpbmZvcmNlID0gdHJ1ZTtcclxuICAgICAgICAgICAgICAgICAgICB0aGlzLlNvaWwgPSBmYWxzZTtcclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgfSBcclxuICAgICAgICAgICAgZWxzZSBpZihkYXRhID09IFwic29pbFwiKXtcclxuICAgICAgICAgICAgICAgIGlmKHRoaXMuU29pbCl7XHJcbiAgICAgICAgICAgICAgICAgICAgdGhpcy5Tb2lsID0gZmFsc2U7XHJcbiAgICAgICAgICAgICAgICAgICAgdGhpcy5iYWNrX0NsaWNrKCk7XHJcbiAgICAgICAgICAgICAgICAgICAgcmV0dXJuO1xyXG4gICAgICAgICAgICAgICAgfWVsc2V7XHJcbiAgICAgICAgICAgICAgICAgICAgY2MuZnguQXVkaW9NYW5hZ2VyLl9pbnN0YW5jZS5wbGF5RWZmZWN0KFwiamluZW5nXCIsbnVsbCk7XHJcbiAgICAgICAgICAgICAgICAgICAgdGhpcy5Tb2lsID0gdHJ1ZTtcclxuICAgICAgICAgICAgICAgICAgICB0aGlzLlJlaW5mb3JjZSA9IGZhbHNlO1xyXG4gICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICB9IFxyXG4gICAgICAgIH1cclxuICAgICAgICBlbHNle1xyXG4gICAgICAgICAgICBjYy5meC5BdWRpb01hbmFnZXIuX2luc3RhbmNlLnBsYXlFZmZlY3QoXCJmYW5neGlhbmdcIixudWxsKTtcclxuICAgICAgICAgICAgdGhpcy5SZWluZm9yY2UgPSBmYWxzZTtcclxuICAgICAgICAgICAgdGhpcy5Tb2lsID0gZmFsc2U7XHJcbiAgICAgICAgfVxyXG4gICAgICAgIGxldCB0aXAgPSBjYy5pbnN0YW50aWF0ZShwcmVmYWIpO1xyXG4gICAgICAgIGlmKGRhdGEgPT0gXCJ1cFwiKSB0aXAuYW5nbGUgPSAxODA7XHJcbiAgICAgICAgaWYoZGF0YSA9PSBcImxlZnRcIikgdGlwLmFuZ2xlID0gLTkwO1xyXG4gICAgICAgIGlmKGRhdGEgPT0gXCJyaWdodFwiKSB0aXAuYW5nbGUgPSA5MDtcclxuICAgICAgICB0aXAucGFyZW50ID0gdGhpcy5NYXA7XHJcbiAgICBcclxuICAgICAgICBpZih0aGlzLmNvbnRyb2xBcnJheVt0aGlzLmNvbnRyb2xBcnJheS5sZW5ndGgtMV0gPT0gXCJyZWluZm9yY2VcIiB8fCBcclxuICAgICAgICAgICAgdGhpcy5jb250cm9sQXJyYXlbdGhpcy5jb250cm9sQXJyYXkubGVuZ3RoLTFdID09IFwic29pbFwiKXtcclxuICAgICAgICAgICAgICAgIGlmKGRhdGEgPT0gXCJyZWluZm9yY2VcIiB8fCBkYXRhID09IFwic29pbFwiKXtcclxuICAgICAgICAgICAgICAgICAgICB0aGlzLnRpcEFycmF5W3RoaXMudGlwQXJyYXkubGVuZ3RoLTFdLnJlbW92ZUZyb21QYXJlbnQoKTtcclxuICAgICAgICAgICAgICAgICAgICB0aGlzLnRpcEFycmF5W3RoaXMudGlwQXJyYXkubGVuZ3RoLTFdID0gbnVsbDtcclxuICAgICAgICAgICAgICAgICAgICB0aGlzLnRpcEFycmF5LnBvcCgpO1xyXG4gICAgICAgICAgICAgICAgICAgIHRoaXMuY29udHJvbEFycmF5LnBvcCgpO1xyXG4gICAgICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgICAgICB0aGlzLnNldFBvc2l0aW9uKHRpcCk7XHJcblxyXG4gICAgICAgIHRoaXMudGlwQXJyYXkucHVzaCh0aXApO1xyXG4gICAgICAgIHRoaXMuY29udHJvbEFycmF5LnB1c2goZGF0YSk7XHJcbiAgICBcclxuICAgICAgICBpZih0aGlzLnRpcEFycmF5Lmxlbmd0aCA+PSAyNSl7XHJcbiAgICAgICAgICAgIGlmKCh0aGlzLnRpcEFycmF5Lmxlbmd0aCAtIDEpJTggPT0gMCl7XHJcbiAgICAgICAgICAgICAgICB0aGlzLm1hcE1vdmUodHJ1ZSk7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICB9XHJcbiAgICAvL+WcsOWbvuaUvuS4jeS4i+S6huS4iuS4i+enu+WKqFxyXG4gICAgbWFwTW92ZSh0eXBlKXtcclxuICAgICAgICBpZih0eXBlKSB0aGlzLm1hcEhlaWdodCArPSA0ODtcclxuICAgICAgICBlbHNlIHRoaXMubWFwSGVpZ2h0IC09IDQ4O1xyXG4gICAgICAgIGZvcihsZXQgaT0wOyBpPHRoaXMudGlwQXJyYXkubGVuZ3RoO2krKyl7XHJcbiAgICAgICAgICAgIGxldCB0aXAgPSB0aGlzLnRpcEFycmF5W2ldO1xyXG4gICAgICAgICAgICBpZih0eXBlKXRpcC55ICs9IDQ4O1xyXG4gICAgICAgICAgICBlbHNlIHRpcC55IC09IDQ4O1xyXG4gICAgICAgIH1cclxuICAgIH1cclxuXHJcbiAgICAvL+eCueWHu+W8gOWniyDliJvlu7rmsrPpgZNcclxuICAgIHN0YXJ0X0NsaWNrKCl7XHJcbiAgICAgICAgaWYoIXRoaXMuY2FuVG91Y2gpIHJldHVybjtcclxuICAgICAgICB0aGlzLmNhblRvdWNoID0gZmFsc2U7XHJcbiAgICAgICAgY2MuZnguQXVkaW9NYW5hZ2VyLl9pbnN0YW5jZS5wbGF5RWZmZWN0KFwiYnVpbGRcIixudWxsKTtcclxuICAgICAgICBjYy5meC5Ob3RpZmljYXRpb25zLmVtaXQoY2MuZnguTWVzc2FnZS5zdGFydEdhbWUsdGhpcy5jb250cm9sQXJyYXkpO1xyXG4gICAgfVxyXG5cclxuICAgIC8vIHVwZGF0ZSAoZHQpIHt9XHJcbn1cclxuIl19 \ No newline at end of file diff --git a/temp/quick-scripts/dst/assets/Script/GameManager.js b/temp/quick-scripts/dst/assets/Script/GameManager.js index 45980bf..a26e4bb 100644 --- a/temp/quick-scripts/dst/assets/Script/GameManager.js +++ b/temp/quick-scripts/dst/assets/Script/GameManager.js @@ -57,14 +57,6 @@ var GameManager = /** @class */ (function (_super) { }; //处理地图数据 第一关完全随机,从第二关开始,赢了根据5秒洪峰来临增加难度步数,输了当前难度减步数 GameManager.prototype.getMap = function () { - // var temp = []; - // for(let k=0; k (this.block_Array.length - 1)) { + cc.fx.Notifications.emit(cc.fx.Message.showResult, "lose"); return; } var target = this.block_Array[i].getComponent("Block"); @@ -336,7 +346,14 @@ var GameManager = /** @class */ (function (_super) { target.runRoad(data); } }; - //判断边界。或者撞山,或者湿地没有加固 + /** + * 判断边界。或者撞山,或者湿地没有加固 + * @param order 建筑地图数组里的执行的序列号 + * @param x 当前操作地块横坐标 + * @param y 当前操作地块纵坐标 + * @param direction 当前操作方向,若不是方向则为息壤或者加固 + * @param road 建筑地图数组,可理解为路径数组,path_Array + */ GameManager.prototype.getBoundary = function (order, x, y, direction, road) { var jg = true; if (x < 0 || x >= this.map_Width || y < 0 || y >= this.map_Hight) { @@ -344,7 +361,6 @@ var GameManager = /** @class */ (function (_super) { // console.log("超过边界,游戏结束"); // alert("超过边界,治水失败"); cc.fx.Notifications.emit(cc.fx.Message.showResult, "lose"); - cc.fx.Notifications.emit(cc.fx.Message.setData, false); } else { var i = road[order].x * this.map_Array[0].length + road[order].y; @@ -354,19 +370,20 @@ var GameManager = /** @class */ (function (_super) { // console.log("修筑山峰,游戏结束"); // alert("修筑山峰,治水失败"); cc.fx.Notifications.emit(cc.fx.Message.showResult, "lose"); - cc.fx.Notifications.emit(cc.fx.Message.setData, false); } else if (target.block_Type == 2 && direction != "Reinforce") { jg = false; // console.log("修筑未加固湿地,游戏结束"); // alert("修筑未加固湿地,游戏结束"); cc.fx.Notifications.emit(cc.fx.Message.showResult, "lose"); - cc.fx.Notifications.emit(cc.fx.Message.setData, false); } } return jg; }; - //开始执行洪峰来了的动画 + /** + * 开始执行洪峰来了的动画 + * @param order 建筑地图数组里的执行的序列号,依次往下加 + */ GameManager.prototype.runWater = function (order) { order = parseInt(order); if (order <= this.water_Array.length - 1) { @@ -401,7 +418,6 @@ var GameManager = /** @class */ (function (_super) { var jg = this.getBoundary(order, this.water_Array[order].x, this.water_Array[order].y, direction, this.water_Array); if (direction == "" || jg == false || direction == "err") { cc.fx.Notifications.emit(cc.fx.Message.showResult, "lose"); - cc.fx.Notifications.emit(cc.fx.Message.setData, false); return; } var target = this.block_Array[i].getComponent("Block"); @@ -436,7 +452,11 @@ var GameManager = /** @class */ (function (_super) { target.runWater(data); } }; - //获取息壤的格子的方向 + /** + * 获取息壤的格子的方向 + * @param order 建筑地图数组里的执行的序列号,依次往下加 + * @param road 建筑地图数组或者洪峰路径数组,可理解为路径数组,path_Array water_Array + */ GameManager.prototype.getXi_Soil = function (order, road) { var direction = null; //如果息壤后面还有下一步的话 @@ -457,12 +477,18 @@ var GameManager = /** @class */ (function (_super) { } return direction; }; - //设置息壤 + /** + * 设置息壤执行方法 + * @param order 建筑地图数组里的执行的序列号,依次往下加 + * @param road 建筑地图数组或者洪峰路径数组,可理解为路径数组,path_Array water_Array + * @param name road或者water,建筑路径或者洪峰路径 + */ GameManager.prototype.set_Soil = function (order, road, name) { var direction = this.getXi_Soil(order, road); var length = 0; if (direction == "right") { length = this.map_Width - 1; + // let temp = this.map_Width - 1; for (var i = road[order].x; i <= length; i++) { var n = i * this.map_Array[0].length + road[order].y; var target = this.block_Array[n].getComponent("Block"); @@ -475,7 +501,6 @@ var GameManager = /** @class */ (function (_super) { break; } } - this.scheduleOnce; } else if (direction == "left") { length = 0; @@ -522,8 +547,6 @@ var GameManager = /** @class */ (function (_super) { } } } - // if(length == 0){ - // } this.soil_Find(direction, order, length, road, name); }; //查找息壤蛮遗憾路径 @@ -534,8 +557,10 @@ var GameManager = /** @class */ (function (_super) { var n = i * this.map_Array[0].length + road[order].y; var target = this.block_Array[n].getComponent("Block"); if (i == start) { - if (i == start && i == length) + if (i == start && i == length) { + cc.fx.Notifications.emit(cc.fx.Message.showResult, "lose"); target.set_Xi_SoilType(this.getDirection(order, road), order, name); + } else target.set_Xi_SoilType(this.getDirection(order, road), null, name); var value = cc.v3(this.path_Array[order].x, this.path_Array[order].y, 0); @@ -560,8 +585,10 @@ var GameManager = /** @class */ (function (_super) { var n = i * this.map_Array[0].length + road[order].y; var target = this.block_Array[n].getComponent("Block"); if (i == start) { - if (i == start && i == length) + if (i == start && i == length) { + cc.fx.Notifications.emit(cc.fx.Message.showResult, "lose"); target.set_Xi_SoilType(this.getDirection(order, road), order, name); + } else target.set_Xi_SoilType(this.getDirection(order, road), null, name); var value = cc.v3(this.path_Array[order].x, this.path_Array[order].y, 0); @@ -587,10 +614,13 @@ var GameManager = /** @class */ (function (_super) { var n = road[order].x * this.map_Array[0].length + i; var target = this.block_Array[n].getComponent("Block"); if (i == start) { - if (i == start && i == length) + if (i == start && i == length) { + cc.fx.Notifications.emit(cc.fx.Message.showResult, "lose"); target.set_Xi_SoilType(this.getDirection(order, road), order, name); - else + } + else { target.set_Xi_SoilType(this.getDirection(order, road), null, name); + } var value = cc.v3(this.path_Array[order].x, this.path_Array[order].y, 0); if (this.water_Array[this.water_Array.length - 1] != value) { // console.log("特别插入:",this.path_Array[order].x,this.path_Array[order].y); @@ -615,8 +645,10 @@ var GameManager = /** @class */ (function (_super) { var n = road[order].x * this.map_Array[0].length + i; var target = this.block_Array[n].getComponent("Block"); if (i == start) { - if (i == start && i == length) + if (i == start && i == length) { + cc.fx.Notifications.emit(cc.fx.Message.showResult, "lose"); target.set_Xi_SoilType(this.getDirection(order, road), order, name); + } else target.set_Xi_SoilType(this.getDirection(order, road), null, name); var value = cc.v3(this.path_Array[order].x, this.path_Array[order].y, 0); @@ -637,7 +669,10 @@ var GameManager = /** @class */ (function (_super) { } } }; - //改变水流地图 + /** + * 改变水流地图 + * @param value 需要根据使用息壤情况,插入到洪峰路径的点 + */ GameManager.prototype.changeWater = function (value) { var jg = true; if (this.water_Array.length > 0) { @@ -648,7 +683,13 @@ var GameManager = /** @class */ (function (_super) { if (jg) this.water_Array.push(value); }; - //息壤过后改变修筑路径 + /** + * 息壤过后改变修筑路径 + * @param order 建筑地图数组里的执行的序列号 + * @param number 息壤执行长度,改变息壤用后其他路径的X或Y值 + * @param direction 只为两个方向,横向false,纵向true + * @param road 建筑地图数组或者洪峰路径数组,可理解为路径数组,path_Array water_Array + */ GameManager.prototype.changePath = function (order, number, direction, road) { for (var i = (order + 1); i < road.length; i++) { if (!direction) { @@ -687,11 +728,17 @@ var GameManager = /** @class */ (function (_super) { } } }; - //获取洪峰方向 + /** + * 获取洪峰方向 + * @param order 建筑地图数组里的执行的序列号 + * @param road 建筑地图数组或者洪峰路径数组,可理解为路径数组,path_Array water_Array + */ GameManager.prototype.getDirection = function (order, road) { var name = ""; //入海口比较复杂单独判断 if (order == 0) { + if (this.path_Array[order + 1].z == 6 && road == this.path_Array) + order += 1; var nextX = road[order + 1].x - road[order].x; var nextY = road[order].y - road[order + 1].y; //在底边 @@ -853,8 +900,12 @@ var GameManager = /** @class */ (function (_super) { GameManager.prototype.backScene = function () { cc.director.loadScene("LoadScene"); }; - //开始游戏 + /** + * 开始修筑 + * @param data 记录操作的数组 + */ GameManager.prototype.startGame = function (data) { + this.unschedule(this.updateWaterTime); for (var i = 0; i < this.block_Array.length; i++) { this.block_Array[i].getChildByName("tipWin").active = false; this.block_Array[i].getChildByName("tipLose").active = false; @@ -877,7 +928,10 @@ var GameManager = /** @class */ (function (_super) { var arr = this.changeStep(data); cc.fx.GameConfig.CLICK_SET("stepList", arr); }; - //用于埋点记录 + /** + * 用于埋点记录 转变方向名称为埋点所需要格式 + * @param data 记录操作的数组 + */ GameManager.prototype.changeStep = function (data) { var arr = []; if (data.length > 0) { @@ -912,7 +966,6 @@ var GameManager = /** @class */ (function (_super) { setTimeout(function () { if (_this.water_Array.length == 0) { cc.fx.Notifications.emit(cc.fx.Message.showResult, "lose"); - cc.fx.Notifications.emit(cc.fx.Message.setData, false); } else { cc.fx.GameConfig.GM_INFO.min_Time = _this.waterTime; @@ -939,13 +992,13 @@ var GameManager = /** @class */ (function (_super) { } if (this.countTime <= 0) { this.countTime = 0; - this.setData(false); + this.setData("lose"); this.unschedule(this.updateCountDownTime); this.gameOver(); } } }; - //上传每次操作数据 + //上传每次操作数据 success为成功还是失败 GameManager.prototype.setData = function (success) { //设置埋点数据 cc.fx.GameConfig.CLICK_SET("mapId", cc.fx.GameConfig.LEVEL_INFO[cc.fx.GameConfig.GM_INFO.level][this.custom].id); @@ -954,6 +1007,7 @@ var GameManager = /** @class */ (function (_super) { cc.fx.GameConfig.CLICK_SET("round", cc.fx.GameConfig.GM_INFO.round); cc.fx.GameConfig.CLICK_SET("timer", cc.fx.GameConfig.TIME_INFO.totalTime); cc.fx.GameConfig.CLICK_SET("cumulativeScore", cc.fx.GameConfig.GM_INFO.score); + success = success == "lose" ? false : true; if (success != null) { cc.fx.GameConfig.CLICK_SET("success", success); cc.fx.GameConfig.GM_INFO.fen = this.getScore(); @@ -961,6 +1015,8 @@ var GameManager = /** @class */ (function (_super) { cc.fx.GameConfig.GM_INFO.fen = 0; cc.fx.GameConfig.CLICK_SET("getScore", cc.fx.GameConfig.GM_INFO.fen); cc.fx.GameConfig.GM_INFO.score += cc.fx.GameConfig.GM_INFO.fen; + this.node.getChildByName("Top").getChildByName("id").getComponent(cc.Label).string = + cc.fx.GameConfig.GM_INFO.score; cc.fx.GameConfig.CLICK_SET("cumulativeScore", cc.fx.GameConfig.GM_INFO.score); if (this.countTime != 0) cc.fx.GameConfig.GM_INFO.successList.push(success); @@ -1009,25 +1065,28 @@ var GameManager = /** @class */ (function (_super) { }) .start(); }; - //展示结果 + //展示结果 data为成功或者失败 GameManager.prototype.showResult = function (data) { - if (data == "lose") { - cc.fx.AudioManager._instance.playEffect("lose", null); - cc.fx.GameConfig.GM_INFO.min_Time = -1; + if (this.node.getChildByName("GameOver").active == false && this.node.getChildByName("Window").active == false) { + cc.fx.Notifications.emit(cc.fx.Message.setData, data); + if (data == "lose") { + cc.fx.AudioManager._instance.playEffect("lose", null); + cc.fx.GameConfig.GM_INFO.min_Time = -1; + } + else { + cc.fx.AudioManager._instance.playEffect("win", null); + } + this.node.getChildByName("Window").active = true; + this.node.getChildByName("Window").getComponent("Window").init(data); } - else { - cc.fx.AudioManager._instance.playEffect("win", null); - } - this.node.getChildByName("Window").active = true; - this.node.getChildByName("Window").getComponent("Window").init(data); }; - //记录反应时长,以及做步骤提示 + //记录反应时长,以及做步骤提示 data为操作名称 GameManager.prototype.clickSun = function (data) { //如果没有记录过 回合开始到操作反应时长,则第一次记录, 后面不记录 - if (cc.fx.GameConfig.CLICK_DATA.startTime == 0) { + if (cc.fx.GameConfig.CLICK_DATA.startTime == -1) { this.finishiTime = cc.fx.GameTool.getTime(); var now = this.finishiTime - this.startTime; - // console.log("startTime:",now,this.startTime); + // console.log("startTime:",this.finishiTime); cc.fx.GameConfig.CLICK_SET("startTime", now); } if (cc.fx.GameConfig.GM_INFO.level > 3) @@ -1077,7 +1136,7 @@ var GameManager = /** @class */ (function (_super) { this.tip_Array.push([n]); } }; - //提示是否错误 + //提示是否错误 只前三关有 ,pos为位置,data为操作方向 GameManager.prototype.tipCan = function (pos, data) { //先判断是否出边界 if (pos.x < 0 || pos.x > this.map_Array.length - 1 || pos.y < 0 || pos.y > this.map_Array[0].length - 1) { @@ -1087,20 +1146,27 @@ var GameManager = /** @class */ (function (_super) { var n = pos.x * this.map_Array[0].length + pos.y; var target = this.block_Array[n].getComponent("Block"); target.node.getChildByName("tipWin").active = true; - // target.node.getChildByName("tipWin").opacity = 255; - // target.node.getChildByName("tipLose").opacity = 255; //重复路回头路,或者山峰 if (target.repeatRoad(false, null) == true || target.block_Type == 3) { + this.tip_Array.push([cc.v3(pos.x, pos.y, 0)]); target.node.getChildByName("tipLose").active = true; target.node.getChildByName("tipWin").active = false; } //湿地 上一步如果没用息壤或者加固 else if (target.block_Type == 2) { - if (this.tip_Array.length > 1) { + if (this.tip_Array.length > 0) { if (this.tip_Array[this.tip_Array.length - 1][0].z == 0) { target.node.getChildByName("tipLose").active = true; target.node.getChildByName("tipWin").active = false; } + else if (this.tip_Array[this.tip_Array.length - 1][0].z == 2) { + target.node.getChildByName("tipLose").active = false; + target.node.getChildByName("tipWin").active = true; + } + } + else { + target.node.getChildByName("tipLose").active = true; + target.node.getChildByName("tipWin").active = false; } } if (this.tip_Array.length > 0) { @@ -1403,4 +1469,4 @@ cc._RF.pop(); }); } })(); -//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbImFzc2V0c1xcU2NyaXB0XFxHYW1lTWFuYWdlci50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7QUFBQSxpQ0FBb0M7QUFFcEMsU0FBUztBQUNILElBQUEsS0FBc0IsRUFBRSxDQUFDLFVBQVUsRUFBbEMsT0FBTyxhQUFBLEVBQUUsUUFBUSxjQUFpQixDQUFDO0FBRTFDO0lBQXlDLCtCQUFZO0lBQXJEO1FBQUEscUVBbTBDQztRQWgwQ0csU0FBRyxHQUFZLElBQUksQ0FBQztRQUdwQixXQUFLLEdBQWMsSUFBSSxDQUFDO1FBR3hCLFVBQUksR0FBYSxJQUFJLENBQUM7UUFHdEIsZUFBUyxHQUFhLElBQUksQ0FBQztRQUczQixXQUFLLEdBQVksSUFBSSxDQUFDOztJQW96QzFCLENBQUM7SUEzeENHLDRCQUFNLEdBQU47SUFDQSxDQUFDO0lBQ0QsMkJBQUssR0FBTDtRQUNJLEVBQUUsQ0FBQyxFQUFFLENBQUMsVUFBVSxDQUFDLFVBQVUsRUFBRSxDQUFDO1FBQzlCLElBQUksQ0FBQyxHQUFHLEVBQUUsQ0FBQztRQUNYLElBQUksQ0FBQyxJQUFJLEVBQUUsQ0FBQztJQUNoQixDQUFDO0lBRUQsa0RBQWtEO0lBQ2xELDRCQUFNLEdBQU47UUFDSSxpQkFBaUI7UUFDakIsMkRBQTJEO1FBQzNELG9CQUFvQjtRQUNwQixrRUFBa0U7UUFDbEUscUVBQXFFO1FBQ3JFLFFBQVE7UUFDUixJQUFJO1FBQ0oscUJBQXFCO1FBRXJCLElBQUksTUFBTSxHQUFHLENBQUMsQ0FBQztRQUNmLElBQUksR0FBRyxHQUFHLEVBQUUsQ0FBQztRQUNiLElBQUcsRUFBRSxDQUFDLEVBQUUsQ0FBQyxVQUFVLENBQUMsT0FBTyxDQUFDLEtBQUssSUFBSSxDQUFDLEVBQUM7WUFDbkMsTUFBTSxHQUFHLElBQUksQ0FBQyxLQUFLLENBQUMsSUFBSSxDQUFDLE1BQU0sRUFBRSxHQUFFLEVBQUUsQ0FBQyxFQUFFLENBQUMsVUFBVSxD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QUMsQ0FBQyxDQUFBO1FBQ0YsSUFBSSxDQUFDLFNBQVMsR0FBRyxJQUFJLENBQUMsU0FBUyxDQUFDLE1BQU0sQ0FBQztRQUN2QyxJQUFJLENBQUMsU0FBUyxHQUFHLElBQUksQ0FBQyxTQUFTLENBQUMsQ0FBQyxDQUFDLENBQUMsTUFBTSxDQUFDO1FBRTFDLElBQUksQ0FBQyxHQUFHLENBQUMsQ0FBQyxHQUFFLENBQUMsQ0FBQyxHQUFHLElBQUksQ0FBQyxTQUFTLENBQUMsTUFBTSxDQUFDLEdBQUMsRUFBRSxDQUFDO1FBQzNDLElBQUksQ0FBQyxHQUFHLENBQUMsQ0FBQyxHQUFHLENBQUMsSUFBSSxDQUFDLFNBQVMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxNQUFNLEdBQUcsR0FBRyxDQUFDLEdBQUMsRUFBRSxDQUFDO1FBRWpELEtBQUksSUFBSSxDQUFDLEdBQUMsQ0FBQyxFQUFDLENBQUMsR0FBQyxJQUFJLENBQUMsU0FBUyxDQUFDLE1BQU0sRUFBQyxDQUFDLEVBQUUsRUFBQztZQUNwQyxLQUFJLElBQUksQ0FBQyxHQUFDLENBQUMsRUFBRSxDQUFDLEdBQUMsSUFBSSxDQUFDLFNBQVMsQ0FBRSxDQUFDLENBQUMsQ0FBQyxNQUFNLEVBQUMsQ0FBQyxFQUFFLEVBQUM7Z0JBQ3pDLElBQUksS0FBSyxHQUFHLEVBQUUsQ0FBQyxXQUFXLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxDQUFDO2dCQUN2QyxLQUFLLENBQUMsTUFBTSxHQUFFLElBQUksQ0FBQyxHQUFHLENBQUM7Z0JBQ3ZCLEtBQUssQ0FBQyxZQUFZLENBQUMsT0FBTyxDQUFDLENBQUMsUUFBUSxDQUFDLElBQUksQ0FBQyxTQUFTLENBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEVBQUMsRUFBRSxDQUFDLEVBQUUsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsRUFBRSxDQUFDLEVBQUUsQ0FBQyxJQUFJLENBQUMsU0FBUyxFQUFDLElBQUksQ0FBQyxTQUFTLENBQUMsQ0FBQyxDQUFDO2dCQUM1RyxJQUFHLElBQUksQ0FBQyxTQUFT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Q3JCLElBQUcsSUFBSSxDQUFDLEtBQUssR0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQztvQkFBRSxJQUFJLEdBQUcsQ0FBQyxDQUFDO2FBQ3JDO1lBRUQsNkNBQTZDO1lBQzdDLElBQUksS0FBSyxHQUFHLElBQUksQ0FBQyxLQUFLLEdBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxHQUFHLElBQUksQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLENBQUM7WUFDL0MsSUFBSSxLQUFLLEdBQUcsSUFBSSxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsR0FBRyxJQUFJLENBQUMsS0FBSyxHQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsQ0FBQTtZQUM5QyxJQUFJLFNBQVMsR0FBRyxJQUFJLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQyxHQUFHLElBQUksQ0FBQyxLQUFLLEdBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDO1lBQ2hELElBQUksU0FBUyxHQUFHLElBQUksQ0FBQyxLQUFLLEdBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxHQUFHLElBQUksQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLENBQUM7WUFDaEQsSUFBRyxTQUFTLElBQUksQ0FBQyxJQUFJLFNBQVMsSUFBSSxDQUFDLEVBQUM7Z0JBQ2hDLElBQUcsS0FBSyxHQUFHLENBQUMsRUFBQztvQkFDVCxTQUFTLEdBQUcsSUFBSSxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsR0FBRyxJQUFJLENBQUMsS0FBSyxHQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQztvQkFDNUMsU0FBUyxHQUFHLElBQUksQ0FBQyxLQUFLLEdBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxHQUFHLElBQUksQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLENBQUM7aUJBQy9DO3FCQUNJLElBQUcsS0FBSyxHQUFHLENBQUMsR0FBRyxJQUFJLENBQUMsTUFBTSxFQUFDO29CQUM1QixTQUFTLEdBQUcsSUFBSSxDQUFDLEtBQUssR0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEdB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RyxPQUFPLENBQUM7Z0JBQ2YsSUFBSSxDQUFDLFFBQVEsR0FBRyxLQUFLLENBQUM7Z0JBQ3RCLElBQUksQ0FBQyxPQUFPLEdBQUcsSUFBSSxDQUFDO2dCQUNwQixNQUFNO1lBQ1YsS0FBSyxDQUFDO2dCQUNGLElBQUksR0FBRyxNQUFNLENBQUM7Z0JBQ2QsSUFBSSxDQUFDLFFBQVEsR0FBRyxLQUFLLENBQUM7Z0JBQ3RCLElBQUksQ0FBQyxPQUFPLEdBQUcsSUFBSSxDQUFDO2dCQUNwQixNQUFNO1lBQ1YsS0FBSyxDQUFDO2dCQUNGLElBQUksR0FBRyxNQUFNLENBQUM7Z0JBQ2QsSUFBSSxDQUFDLFFBQVEsR0FBRyxJQUFJLENBQUM7Z0JBQ3JCLElBQUksQ0FBQyxPQUFPLEdBQUcsS0FBSyxDQUFDO2dCQUNyQixNQUFNO1lBQ1YsS0FBSyxDQUFDO2dCQUNGLElBQUksR0FBRyxLQUFLLENBQUM7Z0JBQ2IsSUFBSSxDQUFDLFFBQVEsR0FBRyxJQUFJLENBQUM7Z0JBQ3JCLElBQUksQ0FBQyxPQUFPLEdBQUcsS0FBSyxDQUFDO2dCQUNyQixNQUFNO1lBQ1YsS0FBSyxDQUFDO2dCQUNGLElBQUksR0FBRyxPQUFPLENBQUM7Z0JBQ2YsSUFBSSxDQUFDLFFBQVEsR0FBRyxLQUFLLENBQUM7Z0JBQ3RCLElBQUksQ0FBQyxPQUFPLEdBQUcsSUFBSSxDQUFDO2dCQUNwQixNQUFNO1lBQ1YsS0FBSyxDQUFDO2dCQUNGLElBQUksR0FBRyxPQUFPLENBQUM7Z0JBQ2YsSUFBSSxDQUFDLFFBQVEsR0FBRyxLQUFLLENBQUM7Z0JBQ3RCLElBQUksQ0FBQyxPQUFPLEdBQUcsSUFBSSxDQUFDO2dCQUNwQixNQUFNO1lBQ1YsS0FBSyxDQUFDO2dCQUNGLElBQUksR0FBRyxNQUFNLENBQUM7Z0JBQ2QsSUFBSSxDQUFDLFFBQVEsR0FBRyxLQUFLLENBQUM7Z0JBQ3RCLElBQUksQ0FBQyxPQUFPLEdBQUcsSUFBSSxDQUFDO2dCQUNwQixNQUFNO1lBQ1YsS0FBSyxFQUFFO2dCQUNILElBQUksR0FBRyxLQUFLLENBQUM7Z0JBQ2Is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LENBbjBDd0MsRUFBRSxDQUFDLFNBQVMsR0FtMENwRDtrQkFuMENvQixXQUFXIiwiZmlsZSI6IiIsInNvdXJjZVJvb3QiOiIvIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQmxvY2tUeXBlIH0gZnJvbSBcIi4vQmxvY2tcIjtcclxuXHJcbi8vIOS4u+a4uOaIj+aOp+WItuexu1xyXG5jb25zdCB7Y2NjbGFzcywgcHJvcGVydHl9ID0gY2MuX2RlY29yYXRvcjtcclxuQGNjY2xhc3NcclxuZXhwb3J0IGRlZmF1bHQgY2xhc3MgR2FtZU1hbmFnZXIgZXh0ZW5kcyBjYy5Db21wb25lbnQge1xyXG5cclxuICAgIEBwcm9wZXJ0eShjYy5Ob2RlKVxyXG4gICAgTWFwOiBjYy5Ob2RlID0gbnVsbDtcclxuXHJcbiAgICBAcHJvcGVydHkoY2MuUHJlZmFiKVxyXG4gICAgQmxvY2s6IGNjLlByZWZhYiA9IG51bGw7XHJcblxyXG4gICAgQHByb3BlcnR5KGNjLkxhYmVsKVxyXG4gICAgVGltZTogY2MuTGFiZWwgPSBudWxsO1xyXG5cclxuICAgIEBwcm9wZXJ0eShjYy5MYWJlbClcclxuICAgIENvdW50ZG93bjogY2MuTGFiZWwgPSBudWxsO1xyXG5cclxuICAgIEBwcm9wZXJ0eShjYy5Ob2RlKVxyXG4gICAgR3VpZGU6IGNjLk5vZGUgPSBudWxsO1xyXG5cclxuICAgIHN0ZXA6bnVtYmVyOyAgICAgICAgICAgIC8v5byV5a+85q2l6aqkXHJcbiAgICBiZ0NsaWNrOmJvb2xlYW4gICAgICAgICAvL+W8leWvvOaXtk1hc2vpga7nvanlj6/kuI3lj6/ku6Xngrnlh7tcclxuICAgIGJ0bkNsaWNrOmJvb2xlYW4gICAgICAgIC8v5byV5a+85pe277yM5oyJ6ZKu5Y+v5LiN5Y+v54K55Ye7XHJcbiAgICBjdXN0b206bnVtYmVyOyAgICAgICAgICAvL+W9k+WJjemavuW6pumaj+acuuWcsOWbvklEXHJcbiAgICBjb3VudFRpbWU6IG51bWJlcjsgICAgICAvL+aAu+WAkuiuoeaXtlxyXG4gICAgd2F0ZXJUaW1lOiBudW1iZXIgICAgICAgLy/mtKrls7DlgJLorqHml7ZcclxuICAgIHN0YXJ0VGltZTogbnVtYmVyOyAgICAgIC8v5ri45oiP5byA5aeL6K6h5pe2XHJcbiAgICByZXBsYWNlVGltZTogbnVtYmVyICAgICAvL+a0quWzsOWAkuiuoeaXtizlvZPmgLvliankvZnml7bpl7TlsI/kuo7mtKrls7DlgJLorqHml7bvvIznlKjkuo7mm7/ku6NcclxuICAgIGZpbmlzaGlUaW1lOm51bWJlcjsgICAgIC8v5o+Q5Lqk5pe26Ze0XHJcbiAgICBzY29yZVRpbWU6bnVtYmVyICAgICAgICAvL+eUqOS6juiuoeeul+aPkOS6pOWIsOa0quWzsOadpeeahOaXtumXtOW3rlxyXG4gICAgYmxvY2tfQXJyYXk6IGFueTsgICAgICAgLy/miYDmnInlnZfmlbDnu4RcclxuICAgIHBhdGhfQXJyYXk6IGFueTsgICAgICAgIC8v5L+u562R6Lev5b6EXHJcbiAgICB3YXRlcl9BcnJheTogYW55OyAgICAgICAvL+awtOa1gei3r+W+hFxyXG4gICAgbWFwX0FycmF5OiBhbnk7ICAgICAgICAgLy/lnLDlm77mlbDnu4RcclxuICAgIHdhdGVyX1BhdGhBcmF5OmFueTsgICAgIC8v5rSq5bOw6Lev5b6EXHJcbiAgICB0aXBfQXJyYXk6IGFueTsgICAgICAgICAvL+W8leWvvOaVsOe7hFxyXG4gICAgbWFwX0hpZ2h0Om51bWJlcjsgICAgICAgLy/lnLDlm77pq5jluqZcclxuICAgIG1hcF9XaWR0aDpudW1iZXI7ICAgICAgIC8v5Zyw5Zu+5a695bqmXHJcbiAgICBtaW5fVGltZTpudW1iZXI7ICAgICAgICAvL+S4iuS4gOaKiuWcsOWbvue7k+adn+aXtu+8jOi3neemu+a0quWzsOadpeS4tOaXtumXtCAoPjXnp5LmmK/kuKrliIbmsLTlsq0pXHJcbiAgICBtaW5fU3RlcHM6bnVtYmVyOyAgICAgICAvL+W9k+WJjeWcsOWbvuacgOS8mOatpeaVsFxyXG4gICAgcGxhbl9vdmVyOmJvb2xlYW47ICAgICAgLy/mmK/lkKbkv67lu7rlroxcclxuICAgIHdhdGVyVHdlZW46Y2MuVHdlZW47ICAgIC8v5rKz5rC05YCS6K6h5pe25Yqo55S7XHJcblxyXG4gICAgb25Mb2FkICgpIHtcclxuICAgIH1cclxuICAgIHN0YXJ0ICgpIHtcclxuICAgICAgICBjYy5meC5HYW1lQ29uZmlnLkNMSUNLX2luaXQoKTtcclxuICAgICAgICB0aGlzLmZpdCgpO1xyXG4gICAgICAgIHRoaXMuaW5pdCgpO1xyXG4gICAgfVxyXG5cclxuICAgIC8v5aSE55CG5Zyw5Zu+5pWw5o2uIOesrOS4gOWFs+WujOWFqOmaj+acuu+8jOS7juesrOS6jOWFs+W8gOWni++8jOi1ouS6huagueaNrjXnp5LmtKrls7DmnaXkuLTlop7liqDpmr7luqbmraXmlbDvvIzovpPkuoblvZPliY3pmr7luqblh4/mraXmlbBcclxuICAgIGdldE1hcCgpe1xyXG4gICAgICAgIC8vIHZhciB0ZW1wID0gW107XHJcbiAgICAgICAgLy8gZm9yKGxldCBrPTA7IGs8Y2MuZnguR2FtZUNvbmZpZy5MRVZFTF9JTkZPLmxlbmd0aDsgaysrKXtcclxuICAgICAgICAvLyAgICAgdGVtcFtrXSA9IFtdO1xyXG4gICAgICAgIC8vICAgICBmb3IobGV0IGo9MDsgajxjYy5meC5HYW1lQ29uZmlnLkxFVkVMX0lORk9ba10ubGVuZ3RoOyBqKyspe1xyXG4gICAgICAgIC8vICAgICAgICAgdGVtcFtrXS5wdXNoKGNjLmZ4LkdhbWVDb25maWcuTEVWRUxfSU5GT1trXVtqXS5taW5fc3RlcHMpO1xyXG4gICAgICAgIC8vICAgICB9XHJcbiAgICAgICAgLy8gfVxyXG4gICAgICAgIC8vIGNvbnNvbGUubG9nKHRlbXApO1xyXG5cclxuICAgICAgICB2YXIgY3VzdG9tID0gMDtcclxuICAgICAgICB2YXIgbWFwID0gW107XHJcbiAgICAgICAgaWYoY2MuZnguR2FtZUNvbmZpZy5HTV9JTkZPLmxldmVsID09IDEpe1xyXG4gICAgICAgICAgICBjdXN0b20gPSBNYXRoLmZsb29yKE1hdGgucmFuZG9tKCkqIGNjLmZ4LkdhbWVDb25maWcuTEVWRUxfSU5GT1tjYy5meC5HYW1lQ29uZmlnLkdNX0lORk8ubGV2ZWxdLmxlbmd0aCk7XHJcbiAgICAgICAgfVxyXG4gICAgICAgIGVsc2V7XHJcbiAgICAgICAgICAgIHZhciBhcnIgPSBjYy5meC5HYW1lQ29uZmlnLkxFVkVMX0lORk9bY2MuZnguR2FtZUNvbmZpZy5HTV9JTkZPLmxldmVsXTtcclxuICAgICAgICAgICAgaWYoY2MuZnguR2FtZUNvbmZpZy5HTV9JTkZPLm1pbl9UaW1lID09IC0xKXtcclxuICAgICAgICAgICAgICAgIG1hcCA9IHRoaXMuZ2V0TWFwQXJyYXkoYXJyLGNjLmZ4LkdhbWVDb25maWcuR01fSU5GTy5taW5fU3RlcHMgLSAxLGZhbHNlKTtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICBlbHNlIGlmKGNjLmZ4LkdhbWVDb25maWcuR01fSU5GTy5taW5fVGltZSA+PSA1KXtcclxuICAgICAgICAgICAgICAgIG1hcCA9IHRoaXMuZ2V0TWFwQXJyYXkoYXJyLGNjLmZ4LkdhbWVDb25maWcuR01fSU5GTy5taW5fU3RlcHMgKyAyLHRydWUpO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIGVsc2V7XHJcbiAgICAgICAgICAgICAgICBtYXAgPSB0aGlzLmdldE1hcEFycmF5KGFycixjYy5meC5HYW1lQ29uZmlnLkdNX0lORk8ubWluX1N0ZXBzICsgMSx0cnVlKTtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICB2YXIgcmFuZG9tID0gTWF0aC5mbG9vcihNYXRoLnJhbmRvbSgpKiBtYXAubGVuZ3RoKTtcclxuICAgICAgICAgICAgY3VzdG9tID0gbWFwW3JhbmRvbV07XHJcbiAgICAgICAgICAgIGNvbnNvbGUubG9nKGN1c3RvbSxtYXApO1xyXG4gICAgICAgIH1cclxuICAgICAgICAvL+iusOW9leW9k+WJjeacgOWwj+atpeaVsFxyXG4gICAgICAgIGNjLmZ4LkdhbWVDb25maWcuR01fSU5GTy5taW5fU3RlcHMgPSBjYy5meC5HYW1lQ29uZmlnLkxFVkVMX0lORk9bY2MuZnguR2FtZUNvbmZpZy5HTV9JTkZPLmxldmVsXVtjdXN0b21dLm1pbl9zdGVwcztcclxuICAgICAgICBjYy5meC5HYW1lQ29uZmlnLkdNX0lORk8ubWluX1RpbWUgPSAwO1xyXG4gICAgICAgIHJldHVybiBjdXN0b207XHJcbiAgICB9XHJcbiAgICAvL+iOt+WPluS4i+S4gOWFs+mavuW6pu+8jOatpeaVsOWinuWKoDLmiJbogIUx77yM5aaC5p6c5rKh5pyJ5YiZ6ZmN5Yiw5pyJLlxyXG4gICAgZ2V0TWFwQXJyYXkoYXJyLG1pbl9zdGVwcyx0eXBlKXtcclxuICAgICAgICB2YXIgbWFwID0gW107XHJcbiAgICAgICAgZm9yKGxldCBpPTA7IGk8YXJyLmxlbmd0aDsgaSsrKXtcclxuICAgICAgICAgICAgaWYoYXJyW2ldLm1pbl9zdGVwcyA9PSBtaW5fc3RlcHMpe1xyXG4gICAgICAgICAgICAgICAgbWFwLnB1c2goaSk7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICAgICAgaWYobWFwLmxlbmd0aCA9PSAwKXtcclxuICAgICAgICAgICAgaWYodHlwZSkgIG1hcCA9IHRoaXMuZ2V0TWFwQXJyYXkoYXJyLG1pbl9zdGVwcyAtIDEsdHlwZSk7XHJcbiAgICAgICAgICAgIGVsc2UgIG1hcCA9IHRoaXMuZ2V0TWFwQXJyYXkoYXJyLG1pbl9zdGVwcyArIDEsdHlwZSk7XHJcbiAgICAgICAgfVxyXG4gICAgICAgIHJldHVybiBtYXA7XHJcbiAgICB9XHJcblxyXG4gICAgLy/liJ3lp4vljJbmlbDmja5cclxuICAgIGluaXQoKXtcclxuICAgICAgICBsZXQgbmFtZSA9IGNjLmZ4LkdhbWVDb25maWcuR01fSU5GTy5nYW1lSWQgKyBcIl9ndWlkZVwiO1xyXG4gICAgICAgIHZhciBkYXRhID0gSlNPTi5wYXJzZShsb2NhbFN0b3JhZ2UuZ2V0SXRlbShuYW1lKSk7XHJcblxyXG4gICAgICAgIGlmKGRhdGEgIT0gZmFsc2Upe1xyXG4gICAgICAgICAgICBjYy5meC5HYW1lQ29uZmlnLkdNX0lORk8uZ3VpZGUgPSB0cnVlO1xyXG4gICAgICAgICAgICBjYy5meC5TdG9yYWdlTWVzc2FnZS5zZXRTdG9yYWdlKG5hbWUsY2MuZnguR2FtZUNvbmZpZy5HTV9JTkZPLmd1aWRlKTtcclxuICAgICAgICB9XHJcbiAgICAgICAgZWxzZXtcclxuICAgICAgICAgICAgY2MuZnguR2FtZUNvbmZpZy5HTV9JTkZPLmd1aWRlID0gY2MuZnguU3RvcmFnZU1lc3NhZ2UuZ2V0U3RvcmFnZShuYW1lKTtcclxuICAgICAgICB9XHJcblxyXG4gICAgICAgIHRoaXMuaW5pdE1hcCgpOyBcclxuICAgICAgICB0aGlzLmZpbmlzaGlUaW1lID0gMDtcclxuICAgICAgICB0aGlzLnNjb3JlVGltZSA9IDA7XHJcbiAgICAgICAgdGhpcy5yZXBsYWNlVGltZSA9IDA7XHJcbiAgICAgICAgdGhpcy5zdGFydFRpbWUgPSBjYy5meC5HYW1lVG9vbC5nZXRUaW1lKCk7XHJcbiAgICAgICAgdGhpcy5jb3VudFRpbWUgPSBjYy5meC5HYW1lQ29uZmlnLlRJTUVfSU5GTy50b3RhbFRpbWU7XHJcbiAgICAgICAgdGhpcy53YXRlclRpbWUgPSBjYy5meC5HYW1lQ29uZmlnLlRJTUVfSU5GTy53YXRlclRpbWVbY2MuZnguR2FtZUNvbmZpZy5HTV9JTkZPLmxldmVsXTtcclxuICAgICAgICAvLyBpZih0aGlzLmNvdW50VGltZSA8IHRoaXMud2F0ZXJUaW1lKSB0aGlzLnJlcGxhY2VUaW1lID0gdGhpcy5jb3VudFRpbWU7XHJcbiAgICAgICAgdGhpcy5UaW1lLnN0cmluZyA9ICBjYy5meC5HYW1lVG9vbC5nZXRUaW1lTWFyZ2luKHRoaXMuY291bnRUaW1lKTsgICAgXHJcblxyXG4gICAgICAgIGlmKCFjYy5meC5HYW1lQ29uZmlnLkdNX0lORk8uZ3VpZGUpe1xyXG4gICAgICAgICAgICB0aGlzLkd1aWRlLmFjdGl2ZSA9IGZhbHNlO1xyXG4gICAgICAgICAgICB0aGlzLnN0ZXAgPSAwO1xyXG4gICAgICAgICAgICB2YXIgaGVhZCA9IHRoaXMubm9kZS5nZXRDaGlsZEJ5TmFtZShcIlRvcFwiKS5nZXRDaGlsZEJ5TmFtZShcImhlYWRcIik7XHJcbiAgICAgICAgICAgIHZhciBwcm9ncmVzcyA9IHRoaXMubm9kZS5nZXRDaGlsZEJ5TmFtZShcIlRvcFwiKS5nZXRDaGlsZEJ5TmFtZShcInByb2dyZXNzXCIpLmdldENvbXBvbmVudChjYy5TcHJpdGUpO1xyXG4gICAgICAgICAgICBoZWFkLnJ1bkFjdGlvbihjYy5tb3ZlVG8odGhpcy53YXRlclRpbWUsY2MudjIoMzEwLGhlYWQueSkpKTtcclxuXHJcbiAgICAgICAgICAgIHRoaXMud2F0ZXJUd2VlbiA9IGNjLnR3ZWVuKHByb2dyZXNzKVxyXG4gICAgICAgICAgICAudG8odGhpcy53YXRlclRpbWUse2ZpbGxSYW5nZToxfSlcclxuICAgICAgICAgICAgLnN0YXJ0KCk7XHJcbiAgICAgICAgICAgIHRoaXMuc2NoZWR1bGUodGhpcy51cGRhdGVXYXRlclRpbWUsMSk7XHJcbiAgICAgICAgICAgIHRoaXMuc2NoZWR1bGUodGhpcy51cGRhdGVDb3VudERvd25UaW1lLDEpO1xyXG4gICAgICAgIH1cclxuICAgICAgICBlbHNle1xyXG4gICAgICAgICAgICB0aGlzLkd1aWRlLmFjdGl2ZSA9IHRydWU7XHJcbiAgICAgICAgICAgIHRoaXMuZ3VpZGVOZXh0KCk7XHJcbiAgICAgICAgfVxyXG5cclxuICAgIH1cclxuICAgIC8v5Yid5aeL5YyW5Zyw5Zu+XHJcbiAgICBpbml0TWFwKCl7XHJcbiAgICAgICAgY2MuZnguR2FtZUNvbmZpZy5HTV9JTkZPLnJvdW5kICs9IDE7XHJcbiAgICAgICAgY2MuZnguR2FtZUNvbmZpZy5HTV9JTkZPLmZlbiA9IDA7XHJcbiAgICAgICAgdGhpcy5ibG9ja19BcnJheSA9IFtdO1xyXG4gICAgICAgIHRoaXMucGF0aF9BcnJheSA9IFtdO1xyXG4gICAgICAgIHRoaXMud2F0ZXJfQXJyYXkgPSBbXTtcclxuICAgICAgICB0aGlzLm1hcF9BcnJheSA9IFtdO1xyXG4gICAgICAgIHRoaXMudGlwX0FycmF5ID0gW107XHJcbiAgICAgICAgdGhpcy5wbGFuX292ZXIgPSBmYWxzZTtcclxuICAgICAgICB0aGlzLm1hcF9IaWdodCA9IDA7XHJcbiAgICAgICAgdGhpcy5tYXBfV2lkdGggPSAwO1xyXG4gICAgICAgIHRoaXMuc3RlcCA9IDA7XHJcbiAgICAgICAgdGhpcy5iZ0NsaWNrID0gZmFsc2U7XHJcbiAgICAgICAgdGhpcy5idG5DbGljayA9IGZhbHNlO1xyXG4gICAgICAgIHRoaXMuY3VzdG9tID0gMDsgLy85XHJcbiAgICAgICAgaWYoIWNjLmZ4LkdhbWVDb25maWcuR01fSU5GTy5ndWlkZSAmJmNjLmZ4LkdhbWVDb25maWcuR01fSU5GTy5sZXZlbCA9PSAwICl7XHJcbiAgICAgICAgICAgIGNjLmZ4LkdhbWVDb25maWcuR01fSU5GTy5sZXZlbCA9IDE7XHJcbiAgICAgICAgICAgIHRoaXMuY3VzdG9tID0gdGhpcy5nZXRNYXAoKTtcclxuICAgICAgICB9XHJcbiAgICAgICAgZWxzZSBpZighY2MuZnguR2FtZUNvbmZpZy5HTV9JTkZPLmd1aWRlKXtcclxuICAgICAgICAgICAgdGhpcy5jdXN0b20gPSB0aGlzLmdldE1hcCgpO1xyXG4gICAgICAgIH1cclxuICAgICAgICBjb25zb2xlLmxvZyh0aGlzLmN1c3RvbSk7XHJcblxyXG4gICAgICAgIGxldCBhcnIgPSBjYy5meC5HYW1lQ29uZmlnLkxFVkVMX0lORk9bY2MuZnguR2FtZUNvbmZpZy5HTV9JTkZPLmxldmVsXVt0aGlzLmN1c3RvbV0ubWFwO1xyXG4gICAgICAgIGlmKGNjLmZ4LkdhbWVDb25maWcuR01fSU5GTy5sZXZlbCA9PSAwKXtcclxuICAgICAgICAgICAgdGhpcy5NYXAuc2NhbGUgPSAxLjI7XHJcbiAgICAgICAgfSBcclxuICAgICAgICB0aGlzLm5vZGUuZ2V0Q2hpbGRCeU5hbWUoXCJUb3BcIikuZ2V0Q2hpbGRCeU5hbWUoXCJpZFwiKS5nZXRDb21wb25lbnQoY2MuTGFiZWwpLnN0cmluZyA9IFxyXG4gICAgICAgIGNjLmZ4LkdhbWVDb25maWcuTEVWRUxfSU5GT1tjYy5meC5HYW1lQ29uZmlnLkdNX0lORk8ubGV2ZWxdW3RoaXMuY3VzdG9tXS5pZDtcclxuICAgICAgICAvL+WwhuWcsOWbvngseei9tOWIh+aNolxyXG4gICAgICAgIHRoaXMubWFwX0FycmF5ID0gYXJyWzBdLm1hcCgoaXRlbSwgaSkgPT4ge1xyXG4gICAgICAgICAgICByZXR1cm4gYXJyLm1hcCgodmFsKSA9PiB2YWxbaV0pXHJcbiAgICAgICAgfSlcclxuICAgICAgICB0aGlzLm1hcF9XaWR0aCA9IHRoaXMubWFwX0FycmF5Lmxlbmd0aDtcclxuICAgICAgICB0aGlzLm1hcF9IaWdodCA9IHRoaXMubWFwX0FycmF5WzBdLmxlbmd0aDtcclxuXHJcbiAgICAgICAgdGhpcy5NYXAueCA9KDYgLSB0aGlzLm1hcF9BcnJheS5sZW5ndGgpKjQ4O1xyXG4gICAgICAgIHRoaXMuTWFwLnkgPSAodGhpcy5tYXBfQXJyYXlbMF0ubGVuZ3RoIC0gNi41KSo0ODtcclxuXHJcbiAgICAgICAgZm9yKGxldCBpPTA7aTx0aGlzLm1hcF9BcnJheS5sZW5ndGg7aSsrKXtcclxuICAgICAgICAgICAgZm9yKGxldCBqPTA7IGo8dGhpcy5tYXBfQXJyYXkgW2ldLmxlbmd0aDtqKyspe1xyXG4gICAgICAgICAgICAgICAgbGV0IGJsb2NrID0gY2MuaW5zdGFudGlhdGUodGhpcy5CbG9jayk7XHJcbiAgICAgICAgICAgICAgICBibG9jay5wYXJlbnQ9IHRoaXMuTWFwO1xyXG4gICAgICAgICAgICAgICAgYmxvY2suZ2V0Q29tcG9uZW50KFwiQmxvY2tcIikuaW5pdERhdGEodGhpcy5tYXBfQXJyYXkgW2ldW2pdLGNjLnYyKGksaiksY2MudjIodGhpcy5tYXBfV2lkdGgsdGhpcy5tYXBfSGlnaHQpKTtcclxuICAgICAgICAgICAgICAgIGlmKHRoaXMubWFwX0FycmF5IFtpXVtqXSA9PSBjYy5FbnVtKEJsb2NrVHlwZSkuU3RhcnQpe1xyXG4gICAgICAgICAgICAgICAgICAgIHRoaXMucGF0aF9BcnJheS5wdXNoKGNjLnYzKGksaixjYy5FbnVtKEJsb2NrVHlwZSkuTm9tYWwpKTtcclxuICAgICAgICAgICAgICAgICAgICAvLyB0aGlzLndhdGVyX0FycmF5LnB1c2goY2MudjMoaSxqLGNjLkVudW0oQmxvY2tUeXBlKS5Ob21hbCkpO1xyXG4gICAgICAgICAgICAgICAgfSBcclxuICAgICAgICAgICAgICAgIGJsb2NrLnNldFBvc2l0aW9uKGNjLnYyKC1ibG9jay53aWR0aCoyLjUgKyBpKmJsb2NrLndpZHRoLGJsb2NrLmhlaWdodCo0IC0gaipibG9jay5oZWlnaHQpKTtcclxuICAgICAgICAgICAgICAgIHRoaXMuYmxvY2tfQXJyYXkucHVzaChibG9jayk7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcblxyXG4gICAgfVxyXG5cclxuICAgIC8v5byA5aeL5ZCO77yM5oyJ546p5a625pON5L2c77yM5bCG6Lev5b6E5Lit5Zyw5Zu+5Z2X5pS+5YWl5pWw57uE5LitXHJcbiAgICBzZXRNYXAoZGF0YSl7XHJcbiAgICAgICAgZm9yKGxldCBpPTA7IGk8ZGF0YS5sZW5ndGg7IGkrKyl7XHJcbiAgICAgICAgICAgIGxldCBzdGFydCA9IHRoaXMucGF0aF9BcnJheVt0aGlzLnBhdGhfQXJyYXkubGVuZ3RoLTFdO1xyXG4gICAgICAgICAgICBzd2l0Y2goZGF0YVtpXSl7XHJcbiAgICAgICAgICAgICAgICBjYXNlIFwidXBcIjpcclxuICAgICAgICAgICAgICAgICAgICB0aGlzLnBhdGhfQXJyYXkucHVzaChjYy52MyhzdGFydC54LHN0YXJ0LnktMSxjYy5FbnVtKEJsb2NrVHlwZSkuTm9tYWwpKTtcclxuICAgICAgICAgICAgICAgICAgICBicmVhaztcclxuICAgICAgICAgICAgICAgIGNhc2UgXCJkb3duXCI6XHJcbiAgICAgICAgICAgICAgICAgICAgdGhpcy5wYXRoX0FycmF5LnB1c2goY2MudjMoc3RhcnQueCxzdGFydC55KzEsY2MuRW51bShCbG9ja1R5cGUpLk5vbWFsKSk7XHJcbiAgICAgICAgICAgICAgICAgICAgYnJlYWs7XHJcbiAgICAgICAgICAgICAgICBjYXNlIFwibGVmdFwiOlxyXG4gICAgICAgICAgICAgICAgICAgIHRoaXMucGF0aF9BcnJheS5wdXNoKGNjLnYzKHN0YXJ0LngtMSxzdGFydC55LGNjLkVudW0oQmxvY2tUeXBlKS5Ob21hbCkpO1xyXG4gICAgICAgICAgICAgICAgICAgIGJyZWFrO1xyXG4gICAgICAgICAgICAgICAgY2FzZSBcInJpZ2h0XCI6XHJcbiAgICAgICAgICAgICAgICAgICAgdGhpcy5wYXRoX0FycmF5LnB1c2goY2MudjMoc3RhcnQueCsxLHN0YXJ0LnksY2MuRW51bShCbG9ja1R5cGUpLk5vbWFsKSk7XHJcbiAgICAgICAgICAgICAgICAgICAgYnJlYWs7XHJcbiAgICAgICAgICAgICAgICBjYXNlIFwicmVpbmZvcmNlXCI6XHJcbiAgICAgICAgICAgICAgICAgICAgdGhpcy5wYXRoX0FycmF5LnB1c2goY2MudjMoc3RhcnQueCxzdGFydC55LGNjLkVudW0oQmxvY2tUeXBlKS5SZWluZm9yY2UpKTtcclxuICAgICAgICAgICAgICAgICAgICBicmVhaztcclxuICAgICAgICAgICAgICAgIGNhc2UgXCJzb2lsXCI6XHJcbiAgICAgICAgICAgICAgICAgICAgdGhpcy5wYXRoX0FycmF5LnB1c2goY2MudjMoc3RhcnQueCxzdGFydC55LGNjLkVudW0oQmxvY2tUeXBlKS5YaV9Tb2lsKSk7XHJcbiAgICAgICAgICAgICAgICAgICAgYnJlYWs7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICAgICAgaWYodGhpcy5wYXRoX0FycmF5W3RoaXMucGF0aF9BcnJheS5sZW5ndGgtMV0ueiAhPSAwKXtcclxuICAgICAgICAgICAgdGhpcy5wYXRoX0FycmF5LnBvcCgpO1xyXG4gICAgICAgIH1cclxuICAgICAgICB0aGlzLnJ1blJvYWQoMCk7XHJcbiAgICB9XHJcbiAgICAvL+W8gOWni+aJp+ihjOa0quWzsOadpeS6hueahOWKqOeUu1xyXG4gICAgcnVuUm9hZChvcmRlcil7XHJcbiAgICAgICAgb3JkZXIgPSBwYXJzZUludChvcmRlcik7XHJcbiAgICAgICAgaWYob3JkZXIgPiAwKXtcclxuICAgICAgICAgICAgaWYodGhpcy5wYXRoX0FycmF5W29yZGVyLTFdLnogPT0gMCl7XHJcbiAgICAgICAgICAgICAgICAvL2NvbnNvbGUubG9nKFwiMeato+W4uOaUvuWFpVwiLHRoaXMucGF0aF9BcnJheVtvcmRlci0xXS54LHRoaXMucGF0aF9BcnJheVtvcmRlci0xXS55LHRoaXMucGF0aF9BcnJheVtvcmRlci0xXS56KVxyXG4gICAgICAgICAgICAgICAgdGhpcy5jaGFuZ2VXYXRlcihjYy52Myh0aGlzLnBhdGhfQXJyYXlbb3JkZXItMV0ueCx0aGlzLnBhdGhfQXJyYXlbb3JkZXItMV0ueSwwKSk7XHJcbiAgICAgICAgICAgICAgICBpZihvcmRlciA9PSB0aGlzLnBhdGhfQXJyYXkubGVuZ3RoLTEpe1xyXG4gICAgICAgICAgICAgICAgICAgIHRoaXMuY2hhbmdlV2F0ZXIoY2MudjModGhpcy5wYXRoX0FycmF5W29yZGVyXS54LHRoaXMucGF0aF9BcnJheVtvcmRlcl0ueSwwKSk7XHJcbiAgICAgICAgICAgICAgICAgICAgLy8gY29uc29sZS5sb2coXCLmnIDlkI7mlL7lhaVcIix0aGlzLnBhdGhfQXJyYXlbb3JkZXJdLngsdGhpcy5wYXRoX0FycmF5W29yZGVyXS55KVxyXG4gICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIGVsc2V7XHJcbiAgICAgICAgICAgICAgICAvL2NvbnNvbGUubG9nKFwiMuaPkuWFpVwiLHRoaXMucGF0aF9BcnJheVtvcmRlcl0ueCx0aGlzLnBhdGhfQXJyYXlbb3JkZXJdLnksdGhpcy5wYXRoX0FycmF5W29yZGVyXS56KVxyXG4gICAgICAgICAgICAgICAgdGhpcy5jaGFuZ2VXYXRlcihjYy52Myh0aGlzLnBhdGhfQXJyYXlbb3JkZXJdLngsdGhpcy5wYXRoX0FycmF5W29yZGVyXS55LDApKTtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH0gXHJcbiAgICAgICAgaWYob3JkZXIgPD0gdGhpcy5wYXRoX0FycmF5Lmxlbmd0aC0xKXtcclxuICAgICAgICAgICAgbGV0IGkgPSB0aGlzLnBhdGhfQXJyYXlbb3JkZXJdLngqdGhpcy5tYXBfQXJyYXlbMF0ubGVuZ3RoK3RoaXMucGF0aF9BcnJheVtvcmRlcl0ueTtcclxuICAgICAgICAgICAgbGV0IGRpcmVjdGlvbiA9IFwiXCI7XHJcbiAgICAgICAgICAgIGxldCBjaXJjdWxhdGUgPSB0cnVlO1xyXG4gICAgICAgICAgICAvL+acgOWQjuS4gOatpee7k+adn1xyXG4gICAgICAgICAgICBpZihvcmRlciA9PSB0aGlzLnBhdGhfQXJyYXkubGVuZ3RoLTEpe1xyXG4gICAgICAgICAgICAgICAgY2lyY3VsYXRlID0gZmFsc2U7XHJcbiAgICAgICAgICAgICAgICBkaXJlY3Rpb24gPSBcIkVuZFwiO1xyXG4gICAgICAgICAgICAgICAgLy8gY29uc29sZS5sb2coXCLov5vlhaXnu5PmnZ9cIik7XHJcbiAgICAgICAgICAgICAgICBpZih0aGlzLnBhdGhfQXJyYXkubGVuZ3RoID4gMSl7XHJcbiAgICAgICAgICAgICAgICAgICAgLy8gY29uc29sZS5sb2coXCLlh4blpIflh7rmsLRcIik7XHJcbiAgICAgICAgICAgICAgICAgICAgc2V0VGltZW91dCgoKSA9PiB7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIGlmKCF0aGlzLnBsYW5fb3Zlcil7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB0aGlzLnBsYW5fb3ZlciA9IHRydWU7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB0aGlzLnVuc2NoZWR1bGUodGhpcy51cGRhdGVXYXRlclRpbWUpO1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgdmFyIGhlYWQgPSB0aGlzLm5vZGUuZ2V0Q2hpbGRCeU5hbWUoXCJUb3BcIikuZ2V0Q2hpbGRCeU5hbWUoXCJoZWFkXCIpO1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgdmFyIHByb2dyZXNzID0gdGhpcy5ub2RlLmdldENoaWxkQnlOYW1lKFwiVG9wXCIpLmdldENoaWxkQnlOYW1lKFwicHJvZ3Jlc3NcIikuZ2V0Q29tcG9uZW50KGNjLlNwcml0ZSk7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBoZWFkLnN0b3BBbGxBY3Rpb25zKCk7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBoZWFkLnNldFBvc2l0aW9uKDMxMCxoZWFkLnkpO1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgaWYodGhpcy53YXRlclR3ZWVuKSB0aGlzLndhdGVyVHdlZW4uc3RvcCgpO1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgcHJvZ3Jlc3MuZmlsbFJhbmdlID0gMTtcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNjLmZ4LkdhbWVDb25maWcuR01fSU5GTy5taW5fVGltZSA9IHRoaXMud2F0ZXJUaW1lO1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgdGhpcy5ydW5XYXRlcigwKTsgXHJcbiAgICAgICAgICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgICAgICB9LCA1MDApO1xyXG4gICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgZWxzZXtcclxuICAgICAgICAgICAgICAgICAgICBkaXJlY3Rpb24gPSBcImVyclwiO1xyXG4gICAgICAgICAgICAgICAgICAgIGNvbnNvbGUubG9nKFwi6L+b5YWl57uT5p2fZXJyXCIpO1xyXG4gICAgICAgICAgICAgICAgfVxyXG5cclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICBlbHNle1xyXG4gICAgICAgICAgICAgICAgaWYodGhpcy5wYXRoX0FycmF5W29yZGVyXS56ID09IDYgJiYgb3JkZXIgKyAxIDwgdGhpcy5wYXRoX0FycmF5Lmxlbmd0aCApIHtcclxuICAgICAgICAgICAgICAgICAgICBkaXJlY3Rpb24gPSBcIlJlaW5mb3JjZVwiO1xyXG4gICAgICAgICAgICAgICAgICAgIGkgPSB0aGlzLnBhdGhfQXJyYXlbb3JkZXIrMV0ueCp0aGlzLm1hcF9BcnJheVswXS5sZW5ndGgrdGhpcy5wYXRoX0FycmF5W29yZGVyKzFdLnk7XHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICBlbHNlIGlmKG9yZGVyKzEgPCB0aGlzLnBhdGhfQXJyYXkubGVuZ3RoKXtcclxuICAgICAgICAgICAgICAgICAgICBpZih0aGlzLnBhdGhfQXJyYXlbb3JkZXIrMV0ueiA9PSA1KXtcclxuICAgICAgICAgICAgICAgICAgICAgICAgZGlyZWN0aW9uID0gXCJYaV9Tb2lsXCI7XHJcbiAgICAgICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgICAgIGVsc2UgaWYodGhpcy5wYXRoX0FycmF5W29yZGVyKzFdLnogPT0gNiAmJiBvcmRlciA9PSAwICYmIG9yZGVyICsgMSA8IHRoaXMucGF0aF9BcnJheS5sZW5ndGgpe1xyXG4gICAgICAgICAgICAgICAgICAgICAgICBkaXJlY3Rpb24gPSB0aGlzLmdldERpcmVjdGlvbihvcmRlcisxLHRoaXMucGF0aF9BcnJheSk7XHJcbiAgICAgICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgICAgIGVsc2V7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIGRpcmVjdGlvbiA9IHRoaXMuZ2V0RGlyZWN0aW9uKG9yZGVyLHRoaXMucGF0aF9BcnJheSk7XHJcbiAgICAgICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgZWxzZXtcclxuICAgICAgICAgICAgICAgICAgICBkaXJlY3Rpb24gPSB0aGlzLmdldERpcmVjdGlvbihvcmRlcix0aGlzLnBhdGhfQXJyYXkpO1xyXG4gICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIC8vIGNvbnNvbGUubG9nKG9yZGVyLHRoaXMucGF0aF9BcnJheVtvcmRlcl0ueCx0aGlzLnBhdGhfQXJyYXlbb3JkZXJdLnksaSk7XHJcbiBcclxuICAgICAgICAgICAgLy8gY29uc29sZS5sb2coXCLmraXpqqQ6XCIsb3JkZXIsXCLmlrnlkJFcIixkaXJlY3Rpb24pO1xyXG4gICAgICAgICAgICBsZXQgamcgPSB0aGlzLmdldEJvdW5kYXJ5KG9yZGVyLHRoaXMucGF0aF9BcnJheVtvcmRlcl0ueCx0aGlzLnBhdGhfQXJyYXlbb3JkZXJdLnksZGlyZWN0aW9uLHRoaXMucGF0aF9BcnJheSk7XHJcblxyXG4gICAgICAgICAgICAvLyBpZihkaXJlY3Rpb24gPT0gXCJcIiB8fCBqZyA9PSBmYWxzZSkgcmV0dXJuO1xyXG4gICAgICAgICAgICBpZihkaXJlY3Rpb24gPT0gXCJlcnJcIiB8fCBkaXJlY3Rpb24gPT0gXCJcIiB8fCBqZyA9PSBmYWxzZSl7XHJcbiAgICAgICAgICAgICAgICBjYy5meC5Ob3RpZmljYXRpb25zLmVtaXQoY2MuZnguTWVzc2FnZS5zaG93UmVzdWx0LFwibG9zZVwiKTtcclxuICAgICAgICAgICAgICAgIGNjLmZ4Lk5vdGlmaWNhdGlvbnMuZW1pdChjYy5meC5NZXNzYWdlLnNldERhdGEsZmFsc2UpO1xyXG4gICAgICAgICAgICAgICAgcmV0dXJuO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIGxldCB0YXJnZXQgPSB0aGlzLmJsb2NrX0FycmF5W2ldLmdldENvbXBvbmVudChcIkJsb2NrXCIpO1xyXG4gICAgXHJcbiAgICAgICAgICAgIHRhcmdldC5zZXRQYXRoKGRpcmVjdGlvbik7XHJcblxyXG4gICAgICAgICAgICBpZihvcmRlciA+IDAgJiYgb3JkZXIgPCB0aGlzLnBhdGhfQXJyYXkubGVuZ3RoLTEpe1xyXG4gICAgICAgICAgICAgICAgaWYodGhpcy5wYXRoX0FycmF5W29yZGVyKzFdLnogPT0gNSl7XHJcbiAgICAgICAgICAgICAgICAgICAgdGhpcy5zZXRfU29pbChvcmRlcisxLHRoaXMucGF0aF9BcnJheSxcInJvYWRcIik7XHJcbiAgICAgICAgICAgICAgICAgICAgY2lyY3VsYXRlID0gZmFsc2U7XHJcbiAgICAgICAgICAgICAgICAgICAgcmV0dXJuO1xyXG4gXHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICBlbHNlIGlmKG9yZGVyID09IDEgJiYgdGhpcy5wYXRoX0FycmF5W29yZGVyXS56ID09IDUpe1xyXG4gICAgICAgICAgICAgICAgICAgIHRoaXMuc2V0X1NvaWwob3JkZXIsdGhpcy5wYXRoX0FycmF5LFwicm9hZFwiKTtcclxuICAgICAgICAgICAgICAgICAgICBjaXJjdWxhdGUgPSBmYWxzZTtcclxuICAgICAgICAgICAgICAgICAgICByZXR1cm47XHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgbGV0IHBvcyA9IGNjLnYyKCk7XHJcbiAgICAgICAgICAgIGlmKGRpcmVjdGlvbiA9PSBcIkVuZFwiKXtcclxuICAgICAgICAgICAgICAgIGlmKG9yZGVyID4gMCl7XHJcbiAgICAgICAgICAgICAgICAgICAgLy8gaWYodGhpcy5wYXRoX0FycmF5W29yZGVyLTFdLnogPT0gMCl7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIHBvcyA9IGNjLnYyKHRoaXMucGF0aF9BcnJheVtvcmRlci0xXS54LCB0aGlzLnBhdGhfQXJyYXlbb3JkZXItMV0ueSk7XHJcbiAgICAgICAgICAgICAgICAgICAgLy8gfVxyXG4gICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIGxldCBkYXRhID0ge1xyXG4gICAgICAgICAgICAgICAgb3JkZXI6b3JkZXIsXHJcbiAgICAgICAgICAgICAgICB0aW1lOmNjLmZ4LkdhbWVDb25maWcuVElNRV9JTkZPLndhdGVyU3BlZWRbY2MuZnguR2FtZUNvbmZpZy5HTV9JTkZPLmxldmVsXSxcclxuICAgICAgICAgICAgICAgIHR5cGU6dGhpcy5wYXRoX0FycmF5W29yZGVyXS56LFxyXG4gICAgICAgICAgICAgICAgY2lyY3VsYXRlOmNpcmN1bGF0ZSxcclxuICAgICAgICAgICAgICAgIGxhc3Q6cG9zXHJcbiAgICAgICAgICAgIH07XHJcbiAgICAgICAgXHJcbiAgICAgICAgICAgIHRhcmdldC5ydW5Sb2FkKGRhdGEpO1xyXG4gICAgICAgIH1cclxuICAgIH1cclxuICAgIC8v5Yik5pat6L6555WM44CC5oiW6ICF5pKe5bGx77yM5oiW6ICF5rm/5Zyw5rKh5pyJ5Yqg5Zu6XHJcbiAgICBnZXRCb3VuZGFyeShvcmRlcix4LHksZGlyZWN0aW9uLHJvYWQpe1xyXG4gICAgICAgIGxldCBqZyA9IHRydWU7XHJcbiAgICAgICAgaWYoeCA8IDAgfHwgeCA+PSB0aGlzLm1hcF9XaWR0aCB8fCB5IDwgMCB8fCB5ID49IHRoaXMubWFwX0hpZ2h0KXtcclxuICAgICAgICAgICAgamcgPSBmYWxzZTtcclxuICAgICAgICAgICAgLy8gY29uc29sZS5sb2coXCLotoXov4fovrnnlYzvvIzmuLjmiI/nu5PmnZ9cIik7XHJcbiAgICAgICAgICAgIC8vIGFsZXJ0KFwi6LaF6L+H6L6555WM77yM5rK75rC05aSx6LSlXCIpO1xyXG4gICAgICAgICAgICBjYy5meC5Ob3RpZmljYXRpb25zLmVtaXQoY2MuZnguTWVzc2FnZS5zaG93UmVzdWx0LFwibG9zZVwiKTtcclxuICAgICAgICAgICAgY2MuZnguTm90aWZpY2F0aW9ucy5lbWl0KGNjLmZ4Lk1lc3NhZ2Uuc2V0RGF0YSxmYWxzZSk7XHJcbiAgICAgICAgfVxyXG4gICAgICAgIGVsc2Uge1xyXG4gICAgICAgICAgICBsZXQgaSA9IHJvYWRbb3JkZXJdLngqdGhpcy5tYXBfQXJyYXlbMF0ubGVuZ3RoK3JvYWRbb3JkZXJdLnk7XHJcbiAgICAgICAgICAgIGxldCB0YXJnZXQgPSB0aGlzLmJsb2NrX0FycmF5W2ldLmdldENvbXBvbmVudChcIkJsb2NrXCIpO1xyXG4gICAgICAgICAgICBpZih0YXJnZXQuYmxvY2tfVHlwZSA9PSAzKXtcclxuICAgICAgICAgICAgICAgIGpnID0gZmFsc2U7XHJcbiAgICAgICAgICAgICAgICAvLyBjb25zb2xlLmxvZyhcIuS/ruetkeWxseWzsO+8jOa4uOaIj+e7k+adn1wiKTtcclxuICAgICAgICAgICAgICAgIC8vIGFsZXJ0KFwi5L+u562R5bGx5bOw77yM5rK75rC05aSx6LSlXCIpO1xyXG4gICAgICAgICAgICAgICAgY2MuZnguTm90aWZpY2F0aW9ucy5lbWl0KGNjLmZ4Lk1lc3NhZ2Uuc2hvd1Jlc3VsdCxcImxvc2VcIik7XHJcbiAgICAgICAgICAgICAgICBjYy5meC5Ob3RpZmljYXRpb25zLmVtaXQoY2MuZnguTWVzc2FnZS5zZXREYXRhLGZhbHNlKTtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICBlbHNlIGlmKHRhcmdldC5ibG9ja19UeXBlID09IDIgJiYgZGlyZWN0aW9uICE9IFwiUmVpbmZvcmNlXCIpe1xyXG4gICAgICAgICAgICAgICAgamcgPSBmYWxzZTtcclxuICAgICAgICAgICAgICAgIC8vIGNvbnNvbGUubG9nKFwi5L+u562R5pyq5Yqg5Zu65rm/5ZywLOa4uOaIj+e7k+adn1wiKTtcclxuICAgICAgICAgICAgICAgIC8vIGFsZXJ0KFwi5L+u562R5pyq5Yqg5Zu65rm/5ZywLOa4uOaIj+e7k+adn1wiKTtcclxuICAgICAgICAgICAgICAgIGNjLmZ4Lk5vdGlmaWNhdGlvbnMuZW1pdChjYy5meC5NZXNzYWdlLnNob3dSZXN1bHQsXCJsb3NlXCIpO1xyXG4gICAgICAgICAgICAgICAgY2MuZnguTm90aWZpY2F0aW9ucy5lbWl0KGNjLmZ4Lk1lc3NhZ2Uuc2V0RGF0YSxmYWxzZSk7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICAgICAgcmV0dXJuIGpnO1xyXG4gICAgfVxyXG5cclxuICAgIC8v5byA5aeL5omn6KGM5rSq5bOw5p2l5LqG55qE5Yqo55S7XHJcbiAgICBydW5XYXRlcihvcmRlcil7XHJcbiAgICAgICAgb3JkZXIgPSBwYXJzZUludChvcmRlcik7XHJcbiAgICAgICAgXHJcbiAgICAgICAgaWYob3JkZXIgPD0gdGhpcy53YXRlcl9BcnJheS5sZW5ndGgtMSl7XHJcbiAgICAgICAgICAgIGxldCBpID0gdGhpcy53YXRlcl9BcnJheVtvcmRlcl0ueCp0aGlzLm1hcF9BcnJheVswXS5sZW5ndGgrdGhpcy53YXRlcl9BcnJheVtvcmRlcl0ueTtcclxuICAgICAgICAgICAgbGV0IGRpcmVjdGlvbiA9IFwiXCI7XHJcbiAgICAgICAgICAgIGxldCBjaXJjdWxhdGUgPSB0cnVlO1xyXG4gICAgICAgICAgICAvL+acgOWQjuS4gOatpee7k+adn1xyXG4gICAgICAgICAgICBpZihvcmRlciA9PSB0aGlzLndhdGVyX0FycmF5Lmxlbmd0aC0xKXtcclxuICAgICAgICAgICAgICAgIGNpcmN1bGF0ZSA9IGZhbHNlO1xyXG4gICAgICAgICAgICAgICAgZGlyZWN0aW9uID0gXCJFbmRcIjtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICBlbHNle1xyXG4gICAgICAgICAgICAgICAgaWYodGhpcy53YXRlcl9BcnJheVtvcmRlcl0ueiA9PSA2ICYmIG9yZGVyICsgMSA8IHRoaXMud2F0ZXJfQXJyYXkubGVuZ3RoICYmIG9yZGVyIT0xKSB7XHJcbiAgICAgICAgICAgICAgICAgICAgZGlyZWN0aW9uID0gXCJSZWluZm9yY2VcIjtcclxuICAgICAgICAgICAgICAgICAgICBpID0gdGhpcy53YXRlcl9BcnJheVtvcmRlcisxXS54KnRoaXMubWFwX0FycmF5WzBdLmxlbmd0aCt0aGlzLndhdGVyX0FycmF5W29yZGVyKzFdLnk7XHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICBlbHNlIGlmKG9yZGVyKzEgPCB0aGlzLndhdGVyX0FycmF5Lmxlbmd0aCl7XHJcbiAgICAgICAgICAgICAgICAgICAgaWYodGhpcy53YXRlcl9BcnJheVtvcmRlcisxXS56ID09IDUpe1xyXG4gICAgICAgICAgICAgICAgICAgICAgICBkaXJlY3Rpb24gPSBcIlhpX1NvaWxcIjtcclxuICAgICAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICAgICAgZWxzZSBpZih0aGlzLndhdGVyX0FycmF5W29yZGVyKzFdLnogPT0gNiAmJiBvcmRlciA9PSAwKXtcclxuICAgICAgICAgICAgICAgICAgICAgICAgZGlyZWN0aW9uID0gXCJSZWluZm9yY2VcIjtcclxuICAgICAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICAgICAgZWxzZXtcclxuICAgICAgICAgICAgICAgICAgICAgICAgZGlyZWN0aW9uID0gdGhpcy5nZXREaXJlY3Rpb24ob3JkZXIsdGhpcy53YXRlcl9BcnJheSk7XHJcbiAgICAgICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgZWxzZXtcclxuICAgICAgICAgICAgICAgICAgICBkaXJlY3Rpb24gPSB0aGlzLmdldERpcmVjdGlvbihvcmRlcix0aGlzLndhdGVyX0FycmF5KTtcclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICBsZXQgamcgPSB0aGlzLmdldEJvdW5kYXJ5KG9yZGVyLHRoaXMud2F0ZXJfQXJyYXlbb3JkZXJdLngsdGhpcy53YXRlcl9BcnJheVtvcmRlcl0ueSxkaXJlY3Rpb24sdGhpcy53YXRlcl9BcnJheSk7XHJcbiAgICAgICAgICAgIGlmKGRpcmVjdGlvbiA9PSBcIlwiIHx8IGpnID09IGZhbHNlIHx8IGRpcmVjdGlvbiA9PSBcImVyclwiKXtcclxuICAgICAgICAgICAgICAgIGNjLmZ4Lk5vdGlmaWNhdGlvbnMuZW1pdChjYy5meC5NZXNzYWdlLnNob3dSZXN1bHQsXCJsb3NlXCIpO1xyXG4gICAgICAgICAgICAgICAgY2MuZnguTm90aWZpY2F0aW9ucy5lbWl0KGNjLmZ4Lk1lc3NhZ2Uuc2V0RGF0YSxmYWxzZSk7XHJcbiAgICAgICAgICAgICAgICByZXR1cm47XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgbGV0IHRhcmdldCA9IHRoaXMuYmxvY2tfQXJyYXlbaV0uZ2V0Q29tcG9uZW50KFwiQmxvY2tcIik7XHJcbiAgICAgICAgICAgIHRhcmdldC5zZXRQYXRoKGRpcmVjdGlvbik7XHJcblxyXG4gICAgICAgICAgICBpZihvcmRlciA+IDAgJiYgb3JkZXIgPCB0aGlzLndhdGVyX0FycmF5Lmxlbmd0aC0xKXtcclxuICAgICAgICAgICAgICAgIGlmKHRoaXMud2F0ZXJfQXJyYXlbb3JkZXIrMV0ueiA9PSA1KXtcclxuICAgICAgICAgICAgICAgICAgICB0aGlzLnNldF9Tb2lsKG9yZGVyKzEsdGhpcy53YXRlcl9BcnJheSxcIndhdGVyXCIpO1xyXG4gICAgICAgICAgICAgICAgICAgIGNpcmN1bGF0ZSA9IGZhbHNlO1xyXG4gICAgICAgICAgICAgICAgICAgIHJldHVybjtcclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgIGVsc2UgaWYob3JkZXIgPT0gMSAmJiB0aGlzLndhdGVyX0FycmF5W29yZGVyXS56ID09IDUpe1xyXG4gICAgICAgICAgICAgICAgICAgIHRoaXMuc2V0X1NvaWwob3JkZXIsdGhpcy53YXRlcl9BcnJheSxcIndhdGVyXCIpO1xyXG4gICAgICAgICAgICAgICAgICAgIGNpcmN1bGF0ZSA9IGZhbHNlO1xyXG4gICAgICAgICAgICAgICAgICAgIHJldHVybjtcclxuICAgICAgICAgICAgICAgIH0gXHJcbiAgICAgICAgICAgIH1cclxuXHJcbiAgICAgICAgICAgIGxldCBwb3MgPSBjYy52MigpO1xyXG4gICAgICAgICAgICBpZihkaXJlY3Rpb24gPT0gXCJFbmRcIil7XHJcbiAgICAgICAgICAgICAgICBpZihvcmRlciA+IDApe1xyXG4gICAgICAgICAgICAgICAgICAgIGlmKHRoaXMud2F0ZXJfQXJyYXlbb3JkZXItMV0ueiA9PSAwKXtcclxuICAgICAgICAgICAgICAgICAgICAgICAgcG9zID0gY2MudjIodGhpcy53YXRlcl9BcnJheVtvcmRlci0xXS54LCB0aGlzLndhdGVyX0FycmF5W29yZGVyLTFdLnkpO1xyXG4gICAgICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICBsZXQgZGF0YSA9IHtcclxuICAgICAgICAgICAgICAgIG9yZGVyOm9yZGVyLFxyXG4gICAgICAgICAgICAgICAgdGltZTpjYy5meC5HYW1lQ29uZmlnLlRJTUVfSU5GTy53YXRlclNwZWVkW2NjLmZ4LkdhbWVDb25maWcuR01fSU5GTy5sZXZlbF0sXHJcbiAgICAgICAgICAgICAgICB0eXBlOnRoaXMud2F0ZXJfQXJyYXlbb3JkZXJdLnosXHJcbiAgICAgICAgICAgICAgICBjaXJjdWxhdGU6Y2lyY3VsYXRlLFxyXG4gICAgICAgICAgICAgICAgbGFzdDpwb3NcclxuICAgICAgICAgICAgfTtcclxuICAgICAgICAgICAgdGFyZ2V0LnJ1bldhdGVyKGRhdGEpO1xyXG4gICAgICAgIH1cclxuICAgIH1cclxuICAgIC8v6I635Y+W5oGv5aOk55qE5qC85a2Q55qE5pa55ZCRXHJcbiAgICBnZXRYaV9Tb2lsKG9yZGVyLHJvYWQpe1xyXG4gICAgICAgIHZhciBkaXJlY3Rpb24gPSBudWxsO1xyXG4gICAgICAgIC8v5aaC5p6c5oGv5aOk5ZCO6Z2i6L+Y5pyJ5LiL5LiA5q2l55qE6K+dXHJcbiAgICAgICAgaWYob3JkZXIgKyAxIDwgcm9hZC5sZW5ndGgpe1xyXG4gICAgICAgICAgICBkaXJlY3Rpb24gPSB0aGlzLmdldERpcmVjdGlvbihvcmRlcixyb2FkKTtcclxuICAgICAgICAgICAgaWYoZGlyZWN0aW9uID09IFwidXBcIiB8fCBkaXJlY3Rpb24gPT0gXCJyaWdodF91cFwiIHx8IGRpcmVjdGlvbiA9PSBcImxlZnRfdXBcIil7XHJcbiAgICAgICAgICAgICAgICBkaXJlY3Rpb24gPSBcInVwXCI7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgZWxzZSBpZihkaXJlY3Rpb24gPT0gXCJkb3duXCIgfHwgZGlyZWN0aW9uID09IFwibGVmdF9kb3duXCIgfHwgZGlyZWN0aW9uID09IFwicmlnaHRfZG93blwiKXtcclxuICAgICAgICAgICAgICAgIGRpcmVjdGlvbiA9IFwiZG93blwiO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIGVsc2UgaWYoZGlyZWN0aW9uID09IFwibGVmdFwiIHx8IGRpcmVjdGlvbiA9PSBcInVwX2xlZnRcIiB8fCBkaXJlY3Rpb24gPT0gXCJkb3duX2xlZnRcIil7XHJcbiAgICAgICAgICAgICAgICBkaXJlY3Rpb24gPSBcImxlZnRcIjtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICBlbHNlIGlmKGRpcmVjdGlvbiA9PSBcInJpZ2h0XCIgfHwgZGlyZWN0aW9uID09IFwidXBfcmlnaHRcIiB8fCBkaXJlY3Rpb24gPT0gXCJkb3duX3JpZ2h0XCIpe1xyXG4gICAgICAgICAgICAgICAgZGlyZWN0aW9uID0gXCJyaWdodFwiO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfSAgXHJcbiAgICAgICAgcmV0dXJuIGRpcmVjdGlvbjtcclxuICAgIH1cclxuICAgIC8v6K6+572u5oGv5aOkXHJcbiAgICBzZXRfU29pbChvcmRlcixyb2FkLG5hbWUpe1xyXG4gICAgICAgIHZhciBkaXJlY3Rpb24gPSB0aGlzLmdldFhpX1NvaWwob3JkZXIscm9hZCk7XHJcbiAgICAgICAgdmFyIGxlbmd0aCA9IDA7XHJcbiAgICAgICAgaWYoZGlyZWN0aW9uID09IFwicmlnaHRcIil7XHJcbiAgICAgICAgICAgIGxlbmd0aCA9IHRoaXMubWFwX1dpZHRoIC0gMTtcclxuICAgICAgICAgICAgZm9yKGxldCBpPXJvYWRbb3JkZXJdLng7aTw9bGVuZ3RoO2krKyl7XHJcbiAgICAgICAgICAgICAgICBsZXQgbiA9IGkqdGhpcy5tYXBfQXJyYXlbMF0ubGVuZ3RoK3JvYWRbb3JkZXJdLnk7XHJcbiAgICAgICAgICAgICAgICBsZXQgdGFyZ2V0ID0gdGhpcy5ibG9ja19BcnJheVtuXS5nZXRDb21wb25lbnQoXCJCbG9ja1wiKTtcclxuICAgICAgICAgICAgICAgIGlmKHRhcmdldC5ibG9ja19UeXBlID09IDMgfHwgdGFyZ2V0LmJsb2NrX1R5cGUgPT0gNCl7XHJcbiAgICAgICAgICAgICAgICAgICAgbGVuZ3RoID0gaS0xO1xyXG4gICAgICAgICAgICAgICAgICAgIGlmKHRhcmdldC5ibG9ja19UeXBlID09IDQpe1xyXG4gICAgICAgICAgICAgICAgICAgICAgICBsZW5ndGggKz0gMTtcclxuICAgICAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICAgICAgaSA9IDEwMDAwO1xyXG4gICAgICAgICAgICAgICAgICAgIGJyZWFrO1xyXG4gICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICB9dGhpcy5zY2hlZHVsZU9uY2VcclxuICAgICAgICB9IFxyXG4gICAgICAgIGVsc2UgaWYoZGlyZWN0aW9uID09IFwibGVmdFwiKXtcclxuICAgICAgICAgICAgbGVuZ3RoID0gMDtcclxuICAgICAgICAgICAgZm9yKGxldCBpPXJvYWRbb3JkZXJdLng7aT49bGVuZ3RoO2ktLSl7XHJcbiAgICAgICAgICAgICAgICBsZXQgbiA9IGkqdGhpcy5tYXBfQXJyYXlbMF0ubGVuZ3RoK3JvYWRbb3JkZXJdLnk7XHJcbiAgICAgICAgICAgICAgICBsZXQgdGFyZ2V0ID0gdGhpcy5ibG9ja19BcnJheVtuXS5nZXRDb21wb25lbnQoXCJCbG9ja1wiKTtcclxuICAgICAgICAgICAgICAgIGlmKHRhcmdldC5ibG9ja19UeXBlID09IDMgfHwgdGFyZ2V0LmJsb2NrX1R5cGUgPT0gNCl7XHJcbiAgICAgICAgICAgICAgICAgICAgbGVuZ3RoID0gIGkgKyAxO1xyXG4gICAgICAgICAgICAgICAgICAgIGlmKHRhcmdldC5ibG9ja19UeXBlID09IDQpe1xyXG4gICAgICAgICAgICAgICAgICAgICAgICBsZW5ndGggLT0gMTtcclxuICAgICAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICAgICAgaSA9IC0xO1xyXG4gICAgICAgICAgICAgICAgICAgIGJyZWFrO1xyXG4gICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfSBcclxuICAgICAgICBlbHNlIGlmKGRpcmVjdGlvbiA9PSBcInVwXCIpe1xyXG4gICAgICAgICAgICBsZW5ndGggPSAwO1xyXG4gICAgICAgICAgICBmb3IobGV0IGk9cm9hZFtvcmRlcl0ueTtpPj1sZW5ndGg7aS0tKXtcclxuICAgICAgICAgICAgICAgIGxldCBuID0gcm9hZFtvcmRlcl0ueCp0aGlzLm1hcF9BcnJheVswXS5sZW5ndGggKyBpO1xyXG4gICAgICAgICAgICAgICAgbGV0IHRhcmdldCA9IHRoaXMuYmxvY2tfQXJyYXlbbl0uZ2V0Q29tcG9uZW50KFwiQmxvY2tcIik7XHJcbiAgIFxyXG4gICAgICAgICAgICAgICAgaWYodGFyZ2V0LmJsb2NrX1R5cGUgPT0gMyB8fCB0YXJnZXQuYmxvY2tfVHlwZSA9PSA0KXtcclxuICAgICAgICAgICAgICAgICAgICBsZW5ndGggPSBpICsgMTtcclxuICAgICAgICAgICAgICAgICAgICBpZih0YXJnZXQuYmxvY2tfVHlwZSA9PSA0KXtcclxuICAgICAgICAgICAgICAgICAgICAgICAgbGVuZ3RoIC09IDE7XHJcbiAgICAgICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgICAgIGkgPSAtMTtcclxuICAgICAgICAgICAgICAgICAgICBicmVhaztcclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH0gXHJcbiAgICAgICAgZWxzZSBpZihkaXJlY3Rpb24gPT0gXCJkb3duXCIpe1xyXG4gICAgICAgICAgICBsZW5ndGggPSB0aGlzLm1hcF9IaWdodCAtIDE7XHJcbiAgICAgICAgICAgIGZvcihsZXQgaT1yb2FkW29yZGVyXS55O2k8PWxlbmd0aDtpKyspe1xyXG4gICAgICAgICAgICAgICAgbGV0IG4gPSByb2FkW29yZGVyXS54KnRoaXMubWFwX0FycmF5WzBdLmxlbmd0aCArIGk7XHJcbiAgICAgICAgICAgICAgICBsZXQgdGFyZ2V0ID0gdGhpcy5ibG9ja19BcnJheVtuXS5nZXRDb21wb25lbnQoXCJCbG9ja1wiKTtcclxuICAgIFxyXG4gICAgICAgICAgICAgICAgaWYodGFyZ2V0LmJsb2NrX1R5cGUgPT0gMyB8fCB0YXJnZXQuYmxvY2tfVHlwZSA9PSA0KXtcclxuICAgICAgICAgICAgICAgICAgICBsZW5ndGggPSBpLTE7XHJcbiAgICAgICAgICAgICAgICAgICAgaWYodGFyZ2V0LmJsb2NrX1R5cGUgPT0gNCl7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIGxlbmd0aCArPSAxO1xyXG4gICAgICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgICAgICBpID0gMTAwMDA7XHJcbiAgICAgICAgICAgICAgICAgICAgYnJlYWs7XHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9IFxyXG4gICAgICAgIC8vIGlmKGxlbmd0aCA9PSAwKXtcclxuICAgICAgICAgICBcclxuICAgICAgICAvLyB9XHJcblxyXG4gICAgICAgIHRoaXMuc29pbF9GaW5kKGRpcmVjdGlvbixvcmRlcixsZW5ndGgscm9hZCxuYW1lKTtcclxuICAgIH1cclxuICAgIC8v5p+l5om+5oGv5aOk6Juu6YGX5oa+6Lev5b6EXHJcbiAgICBzb2lsX0ZpbmQoZGlyZWN0aW9uLG9yZGVyLGxlbmd0aCxyb2FkLG5hbWUpe1xyXG4gICAgICAgIGxldCBzdGFydCA9IHJvYWRbb3JkZXJdLng7XHJcbiAgICAgICAgaWYoZGlyZWN0aW9uID09IFwicmlnaHRcIil7XHJcbiAgICAgICAgICAgIGZvcihsZXQgaSA9IHN0YXJ0OyBpPD1sZW5ndGg7IGkrKyl7XHJcbiAgICAgICAgICAgICAgICBsZXQgbiA9IGkqdGhpcy5tYXBfQXJyYXlbMF0ubGVuZ3RoK3JvYWRbb3JkZXJdLnk7XHJcbiAgICAgICAgICAgICAgICBsZXQgdGFyZ2V0ID0gdGhpcy5ibG9ja19BcnJheVtuXS5nZXRDb21wb25lbnQoXCJCbG9ja1wiKTtcclxuICAgICAgICAgICAgICAgIGlmKGkgPT0gc3RhcnQpe1xyXG4gICAgICAgICAgICAgICAgICAgIGlmKGkgPT0gc3RhcnQgJiYgaT09bGVuZ3RoKSB0YXJnZXQuc2V0X1hpX1NvaWxUeXBlKHRoaXMuZ2V0RGlyZWN0aW9uKG9yZGVyLHJvYWQpLG9yZGVyLG5hbWUpO1xyXG4gICAgICAgICAgICAgICAgICAgIGVsc2UgdGFyZ2V0LnNldF9YaV9Tb2lsVHlwZSh0aGlzLmdldERpcmVjdGlvbihvcmRlcixyb2FkKSxudWxsLG5hbWUpO1xyXG4gICAgICAgICAgICAgICAgICAgIGxldCB2YWx1ZSA9IGNjLnYzKHRoaXMucGF0aF9BcnJheVtvcmRlcl0ueCx0aGlzLnBhdGhfQXJyYXlbb3JkZXJdLnksMCk7XHJcbiAgICAgICAgICAgICAgICAgICAgaWYodGhpcy53YXRlcl9BcnJheVt0aGlzLndhdGVyX0FycmF5Lmxlbmd0aC0xXSAhPSB2YWx1ZSl7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIC8vIGNvbnNvbGUubG9nKFwi54m55Yir5o+S5YWlOlwiLHRoaXMucGF0aF9BcnJheVtvcmRlcl0ueCx0aGlzLnBhdGhfQXJyYXlbb3JkZXJdLnkpO1xyXG4gICAgICAgICAgICAgICAgICAgICAgICB0aGlzLmNoYW5nZVdhdGVyKHZhbHVlKTtcclxuICAgICAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICB9ICBcclxuICAgICAgICAgICAgICAgIGVsc2Uge1xyXG4gICAgICAgICAgICAgICAgICAgIGxldCBqZyA9IG51bGw7XHJcbiAgICAgICAgICAgICAgICAgICAgaWYoaSA9PSBsZW5ndGgpe1xyXG4gICAgICAgICAgICAgICAgICAgICAgICBsZXQgbnVtYmVyID0gaSAtIHN0YXJ0IC0xO1xyXG4gICAgICAgICAgICAgICAgICAgICAgICB0aGlzLmNoYW5nZVBhdGgob3JkZXIsbnVtYmVyLGZhbHNlLHJvYWQpO1xyXG4gICAgICAgICAgICAgICAgICAgICAgICBqZyA9IG9yZGVyO1xyXG4gICAgICAgICAgICAgICAgICAgIH0gXHJcbiAgICAgICAgICAgICAgICAgICAgdGFyZ2V0LnNldF9YaV9Tb2lsVHlwZShkaXJlY3Rpb24samcsbmFtZSk7XHJcbiAgICAgICAgICAgICAgICB9ICAgXHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9IFxyXG4gICAgICAgIGVsc2UgaWYoZGlyZWN0aW9uID09IFwibGVmdFwiKXtcclxuICAgICAgICAgICAgZm9yKGxldCBpID0gc3RhcnQ7IGk+PWxlbmd0aDsgaS0tKXtcclxuICAgICAgICAgICAgICAgIGxldCBuID0gaSp0aGlzLm1hcF9BcnJheVswXS5sZW5ndGgrcm9hZFtvcmRlcl0ueTtcclxuICAgICAgICAgICAgICAgIGxldCB0YXJnZXQgPSB0aGlzLmJsb2NrX0FycmF5W25dLmdldENvbXBvbmVudChcIkJsb2NrXCIpO1xyXG4gICAgICAgICAgICAgICAgaWYoaSA9PSBzdGFydCl7XHJcbiAgICAgICAgICAgICAgICAgICAgaWYoaSA9PSBzdGFydCAmJiBpPT1sZW5ndGgpIHRhcmdldC5zZXRfWGlfU29pbFR5cGUodGhpcy5nZXREaXJlY3Rpb24ob3JkZXIscm9hZCksb3JkZXIsbmFtZSk7XHJcbiAgICAgICAgICAgICAgICAgICAgZWxzZSB0YXJnZXQuc2V0X1hpX1NvaWxUeXBlKHRoaXMuZ2V0RGlyZWN0aW9uKG9yZGVyLHJvYWQpLG51bGwsbmFtZSk7XHJcbiAgICAgICAgICAgICAgICAgICAgbGV0IHZhbHVlID0gY2MudjModGhpcy5wYXRoX0FycmF5W29yZGVyXS54LHRoaXMucGF0aF9BcnJheVtvcmRlcl0ueSwwKTtcclxuICAgICAgICAgICAgICAgICAgICBpZih0aGlzLndhdGVyX0FycmF5W3RoaXMud2F0ZXJfQXJyYXkubGVuZ3RoLTFdICE9IHZhbHVlKXtcclxuICAgICAgICAgICAgICAgICAgICAgICAgLy8gY29uc29sZS5sb2coXCLnibnliKvmj5LlhaU6XCIsdGhpcy5wYXRoX0FycmF5W29yZGVyXS54LHRoaXMucGF0aF9BcnJheVtvcmRlcl0ueSk7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIHRoaXMuY2hhbmdlV2F0ZXIodmFsdWUpO1xyXG4gICAgICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgIH0gIFxyXG4gICAgICAgICAgICAgICAgZWxzZSB7XHJcbiAgICAgICAgICAgICAgICAgICAgbGV0IGpnID0gbnVsbDtcclxuICAgICAgICAgICAgICAgICAgICBpZihpID09IGxlbmd0aCl7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIGxldCBudW1iZXIgPSBpIC0gc3RhcnQgKyAxO1xyXG4gICAgICAgICAgICAgICAgICAgICAgICB0aGlzLmNoYW5nZVBhdGgob3JkZXIsbnVtYmVyLGZhbHNlLHJvYWQpO1xyXG4gICAgICAgICAgICAgICAgICAgICAgICBqZyA9IG9yZGVyO1xyXG4gICAgICAgICAgICAgICAgICAgIH0gXHJcbiAgICAgICAgICAgICAgICAgICAgdGFyZ2V0LnNldF9YaV9Tb2lsVHlwZShkaXJlY3Rpb24samcsbmFtZSk7XHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9IFxyXG4gICAgICAgIGVsc2UgaWYoZGlyZWN0aW9uID09IFwidXBcIil7XHJcbiAgICAgICAgICAgIHN0YXJ0ID0gcm9hZFtvcmRlcl0ueTtcclxuICAgICAgICAgICAgZm9yKGxldCBpID0gc3RhcnQ7IGk+PWxlbmd0aDsgaS0tKXtcclxuICAgICAgICAgICAgICAgIGxldCBuID0gcm9hZFtvcmRlcl0ueCp0aGlzLm1hcF9BcnJheVswXS5sZW5ndGgraTtcclxuICAgICAgICAgICAgICAgIGxldCB0YXJnZXQgPSB0aGlzLmJsb2NrX0FycmF5W25dLmdldENvbXBvbmVudChcIkJsb2NrXCIpO1xyXG4gICAgICAgICAgICAgICAgaWYoaSA9PSBzdGFydCl7XHJcbiAgICAgICAgICAgICAgICAgICAgaWYoaSA9PSBzdGFydCAmJiBpPT1sZW5ndGgpIHRhcmdldC5zZXRfWGlfU29pbFR5cGUodGhpcy5nZXREaXJlY3Rpb24ob3JkZXIscm9hZCksb3JkZXIsbmFtZSk7XHJcbiAgICAgICAgICAgICAgICAgICAgZWxzZSB0YXJnZXQuc2V0X1hpX1NvaWxUeXBlKHRoaXMuZ2V0RGlyZWN0aW9uKG9yZGVyLHJvYWQpLG51bGwsbmFtZSk7XHJcbiAgICAgICAgICAgICAgICAgICAgbGV0IHZhbHVlID0gY2MudjModGhpcy5wYXRoX0FycmF5W29yZGVyXS54LHRoaXMucGF0aF9BcnJheVtvcmRlcl0ueSwwKTtcclxuICAgICAgICAgICAgICAgICAgICBpZih0aGlzLndhdGVyX0FycmF5W3RoaXMud2F0ZXJfQXJyYXkubGVuZ3RoLTFdICE9IHZhbHVlKXtcclxuICAgICAgICAgICAgICAgICAgICAgICAgLy8gY29uc29sZS5sb2coXCLnibnliKvmj5LlhaU6XCIsdGhpcy5wYXRoX0FycmF5W29yZGVyXS54LHRoaXMucGF0aF9BcnJheVtvcmRlcl0ueSk7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIHRoaXMuY2hhbmdlV2F0ZXIodmFsdWUpO1xyXG4gICAgICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgIH0gIFxyXG4gICAgICAgICAgICAgICAgZWxzZSB7XHJcbiAgICAgICAgICAgICAgICAgICAgbGV0IGpnID0gbnVsbDtcclxuICAgICAgICAgICAgICAgICAgICBpZihpID09IGxlbmd0aCl7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIGxldCBudW1iZXIgPSBpIC0gc3RhcnQgKyAxO1xyXG4gICAgICAgICAgICAgICAgICAgICAgICB0aGlzLmNoYW5nZVBhdGgob3JkZXIsbnVtYmVyLHRydWUscm9hZCk7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIGpnID0gb3JkZXI7XHJcbiAgICAgICAgICAgICAgICAgICAgfSBcclxuICAgICAgICAgICAgICAgICAgICAvLyBjb25zb2xlLmxvZyhcIuaDs+S4iuaBr+WjpOaPkuWFpTpcIix0aGlzLnBhdGhfQXJyYXlbb3JkZXJdLngsaSk7XHJcbiAgICAgICAgICAgICAgICAgICAgdGFyZ2V0LnNldF9YaV9Tb2lsVHlwZShkaXJlY3Rpb24samcsbmFtZSk7XHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9IFxyXG4gICAgICAgIGVsc2UgaWYoZGlyZWN0aW9uID09IFwiZG93blwiKXtcclxuICAgICAgICAgICAgc3RhcnQgPSByb2FkW29yZGVyXS55O1xyXG4gICAgICAgICAgICBmb3IobGV0IGkgPSBzdGFydDsgaTw9bGVuZ3RoOyBpKyspe1xyXG4gICAgICAgICAgICAgICAgbGV0IG4gPSByb2FkW29yZGVyXS54KnRoaXMubWFwX0FycmF5WzBdLmxlbmd0aCtpO1xyXG4gICAgICAgICAgICAgICAgbGV0IHRhcmdldCA9IHRoaXMuYmxvY2tfQXJyYXlbbl0uZ2V0Q29tcG9uZW50KFwiQmxvY2tcIik7XHJcbiAgICAgICAgICAgICAgICBpZihpID09IHN0YXJ0KXtcclxuICAgICAgICAgICAgICAgICAgICBpZihpID09IHN0YXJ0ICYmIGk9PWxlbmd0aCkgdGFyZ2V0LnNldF9YaV9Tb2lsVHlwZSh0aGlzLmdldERpcmVjdGlvbihvcmRlcixyb2FkKSxvcmRlcixuYW1lKTtcclxuICAgICAgICAgICAgICAgICAgICBlbHNlIHRhcmdldC5zZXRfWGlfU29pbFR5cGUodGhpcy5nZXREaXJlY3Rpb24ob3JkZXIscm9hZCksbnVsbCxuYW1lKTtcclxuICAgICAgICAgICAgICAgICAgICBsZXQgdmFsdWUgPSBjYy52Myh0aGlzLnBhdGhfQXJyYXlbb3JkZXJdLngsdGhpcy5wYXRoX0FycmF5W29yZGVyXS55LDApO1xyXG4gICAgICAgICAgICAgICAgICAgIGlmKHRoaXMud2F0ZXJfQXJyYXlbdGhpcy53YXRlcl9BcnJheS5sZW5ndGgtMV0gIT0gdmFsdWUpe1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAvLyBjb25zb2xlLmxvZyhcIueJueWIq+aPkuWFpTpcIix0aGlzLnBhdGhfQXJyYXlbb3JkZXJdLngsdGhpcy5wYXRoX0FycmF5W29yZGVyXS55KTtcclxuICAgICAgICAgICAgICAgICAgICAgICAgdGhpcy5jaGFuZ2VXYXRlcih2YWx1ZSk7XHJcbiAgICAgICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgfSBcclxuICAgICAgICAgICAgICAgIGVsc2Uge1xyXG4gICAgICAgICAgICAgICAgICAgIGxldCBqZyA9IG51bGw7XHJcbiAgICAgICAgICAgICAgICAgICAgaWYoaSA9PSBsZW5ndGgpe1xyXG4gICAgICAgICAgICAgICAgICAgICAgICBsZXQgbnVtYmVyID0gaSAtIHN0YXJ0IC0gMTtcclxuICAgICAgICAgICAgICAgICAgICAgICAgdGhpcy5jaGFuZ2VQYXRoKG9yZGVyLG51bWJlcix0cnVlLHJvYWQpO1xyXG4gICAgICAgICAgICAgICAgICAgICAgICBqZyA9IG9yZGVyO1xyXG4gICAgICAgICAgICAgICAgICAgIH0gXHJcbiAgICAgICAgICAgICAgICAgICAgdGFyZ2V0LnNldF9YaV9Tb2lsVHlwZShkaXJlY3Rpb24samcsbmFtZSk7XHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9IFxyXG4gICAgfVxyXG5cclxuICAgIC8v5pS55Y+Y5rC05rWB5Zyw5Zu+XHJcbiAgICBjaGFuZ2VXYXRlcih2YWx1ZSl7XHJcbiAgICAgICAgbGV0IGpnID0gdHJ1ZTtcclxuICAgICAgICBpZih0aGlzLndhdGVyX0FycmF5Lmxlbmd0aCA+IDApe1xyXG4gICAgICAgICAgICBpZih0aGlzLndhdGVyX0FycmF5W3RoaXMud2F0ZXJfQXJyYXkubGVuZ3RoLTFdLnggPT0gdmFsdWUueCAmJiB0aGlzLndhdGVyX0FycmF5W3RoaXMud2F0ZXJfQXJyYXkubGVuZ3RoLTFdLnkgPT0gdmFsdWUueSl7XHJcbiAgICAgICAgICAgICAgICBqZyA9IGZhbHNlO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgICAgIGlmKGpnKSB0aGlzLndhdGVyX0FycmF5LnB1c2godmFsdWUpO1xyXG4gICAgfVxyXG5cclxuICAgIC8v5oGv5aOk6L+H5ZCO5pS55Y+Y5L+u562R6Lev5b6EXHJcbiAgICBjaGFuZ2VQYXRoKG9yZGVyLG51bWJlcixkaXJlY3Rpb24scm9hZCl7XHJcbiAgXHJcbiAgICAgICAgZm9yKGxldCBpID0gKG9yZGVyKzEpOyBpPHJvYWQubGVuZ3RoOyBpKyspe1xyXG4gICAgICAgICAgICBpZighZGlyZWN0aW9uKXtcclxuICAgICAgICAgICAgICAgIHJvYWRbaV0ueCArPSAobnVtYmVyKTtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICBlbHNle1xyXG4gICAgICAgICAgICAgICAgcm9hZFtpXS55ICs9IChudW1iZXIpO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgICAgIGlmKGRpcmVjdGlvbil7XHJcbiAgICAgICAgICAgIGlmKG51bWJlciA8IDApe1xyXG4gICAgICAgICAgICAgICAgZm9yKGxldCBuPSAtbnVtYmVyOyBuPjA7IG4tLSl7XHJcbiAgICAgICAgICAgICAgICAgICAgdGhpcy5jaGFuZ2VXYXRlcihjYy52Myh0aGlzLnBhdGhfQXJyYXlbb3JkZXIrMV0ueCx0aGlzLnBhdGhfQXJyYXlbb3JkZXIrMV0ueStuLDApKTtcclxuICAgICAgICAgICAgICAgICAgICAvLyBjb25zb2xlLmxvZyhcIjHnibnmrormlL7lhaU6XCIsdGhpcy5wYXRoX0FycmF5W29yZGVyKzFdLngsdGhpcy5wYXRoX0FycmF5W29yZGVyKzFdLnkrbilcclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICBlbHNleyBcclxuICAgICAgICAgICAgICAgIGZvcihsZXQgbj1udW1iZXI7IG4+MDsgbi0tKXtcclxuICAgICAgICAgICAgICAgICAgICB0aGlzLmNoYW5nZVdhdGVyKGNjLnYzKHRoaXMucGF0aF9BcnJheVtvcmRlcisxXS54LHRoaXMucGF0aF9BcnJheVtvcmRlcisxXS55LW4sMCkpO1xyXG4gICAgICAgICAgICAgICAgICAgIC8vIGNvbnNvbGUubG9nKFwiMueJueauiuaUvuWFpTpcIix0aGlzLnBhdGhfQXJyYXlbb3JkZXIrMV0ueCx0aGlzLnBhdGhfQXJyYXlbb3JkZXIrMV0ueS1uKVxyXG4gICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfWVsc2V7XHJcbiAgICAgICAgICAgIGlmKG51bWJlciA8IDApe1xyXG4gICAgICAgICAgICAgICAgZm9yKGxldCBtPSAtbnVtYmVyOyBtPjA7IG0tLSl7XHJcbiAgICAgICAgICAgICAgICAgICAgdGhpcy5jaGFuZ2VXYXRlcihjYy52Myh0aGlzLnBhdGhfQXJyYXlbb3JkZXIrMV0ueCttLHRoaXMucGF0aF9BcnJheVtvcmRlcisxXS55LDApKTtcclxuICAgICAgICAgICAgICAgICAgICAvLyBjb25zb2xlLmxvZyhcIjPnibnmrormlL7lhaU6XCIsdGhpcy5wYXRoX0FycmF5W29yZGVyKzFdLngrbSx0aGlzLnBhdGhfQXJyYXlbb3JkZXIrMV0ueSlcclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICBlbHNle1xyXG4gICAgICAgICAgICAgICAgZm9yKGxldCBtPW51bWJlcjsgbT4wOyBtLS0pe1xyXG4gICAgICAgICAgICAgICAgICAgIHRoaXMuY2hhbmdlV2F0ZXIoY2MudjModGhpcy5wYXRoX0FycmF5W29yZGVyKzFdLngtbSx0aGlzLnBhdGhfQXJyYXlbb3JkZXIrMV0ueSwwKSk7XHJcbiAgICAgICAgICAgICAgICAgICAgLy8gY29uc29sZS5sb2coXCI054m55q6K5pS+5YWlOlwiLHRoaXMucGF0aF9BcnJheVtvcmRlcisxXS54LW0sdGhpcy5wYXRoX0FycmF5W29yZGVyKzFdLnkpXHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICB9XHJcblxyXG5cclxuICAgIC8v6I635Y+W5rSq5bOw5pa55ZCRXHJcbiAgICBnZXREaXJlY3Rpb24ob3JkZXIscm9hZCl7XHJcbiAgICAgICAgdmFyIG5hbWUgPSBcIlwiO1xyXG4gICAgICAgIC8v5YWl5rW35Y+j5q+U6L6D5aSN5p2C5Y2V54us5Yik5patXHJcbiAgICAgICAgaWYob3JkZXIgPT0gMCl7XHJcbiAgICAgICAgICAgIGxldCBuZXh0WCA9IHJvYWRbb3JkZXIrMV0ueCAtIHJvYWRbb3JkZXJdLng7XHJcbiAgICAgICAgICAgIGxldCBuZXh0WSA9IHJvYWRbb3JkZXJdLnkgLSByb2FkW29yZGVyKzFdLnk7XHJcbiAgICAgICAgICAgIC8v5Zyo5bqV6L65XHJcbiAgICAgICAgICAgIGlmKHJvYWRbb3JkZXJdLnkgPT0gdGhpcy5tYXBfQXJyYXlbMF0ubGVuZ3RoLTEpe1xyXG4gICAgICAgICAgICAgICAgaWYobmV4dFggPT0gMCl7XHJcbiAgICAgICAgICAgICAgICAgICAgaWYobmV4dFkgPT0gMSluYW1lID0gXCJ1cFwiO1xyXG4gICAgICAgICAgICAgICAgICAgIGVsc2UgaWYobmV4dFkgPT0gLTEpIG5hbWUgPSBcImVyclwiO1xyXG4gICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgZWxzZSBpZihuZXh0WCA9PSAxKSBuYW1lID0gXCJ1cF9yaWdodFwiO1xyXG4gICAgICAgICAgICAgICAgZWxzZSBpZihuZXh0WCA9PSAtMSkgbmFtZSA9IFwidXBfbGVmdFwiO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIC8v5Zyo6aG26L65XHJcbiAgICAgICAgICAgIGVsc2UgaWYocm9hZFtvcmRlcl0ueSA9PSAwKXtcclxuICAgICAgICAgICAgICAgIGlmKG5leHRYID09IDApe1xyXG4gICAgICAgICAgICAgICAgICAgIGlmKG5leHRZID09IDEpbmFtZSA9IFwiZXJyXCI7XHJcbiAgICAgICAgICAgICAgICAgICAgZWxzZSBpZihuZXh0WSA9PSAtMSkgbmFtZSA9IFwiZG93blwiO1xyXG4gICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgZWxzZSBpZihuZXh0WCA9PSAxKSBuYW1lID0gXCJkb3duX3JpZ2h0XCI7XHJcbiAgICAgICAgICAgICAgICBlbHNlIGlmKG5leHRYID09IC0xKSBuYW1lID0gXCJkb3duX2xlZnRcIjtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAvL+WcqOW3pui+uVxyXG4gICAgICAgICAgICBlbHNlIGlmKHJvYWRbb3JkZXJdLnggPT0gMCl7XHJcbiAgICAgICAgICAgICAgICBpZihuZXh0WCA9PSAwKXtcclxuICAgICAgICAgICAgICAgICAgICBpZihuZXh0WSA9PSAxKW5hbWUgPSBcInJpZ2h0X3VwXCI7XHJcbiAgICAgICAgICAgICAgICAgICAgZWxzZSBpZihuZXh0WSA9PSAtMSkgbmFtZSA9IFwicmlnaHRfZG93blwiO1xyXG4gICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgZWxzZSBpZihuZXh0WCA9PSAxKSBuYW1lID0gXCJyaWdodFwiO1xyXG4gICAgICAgICAgICAgICAgZWxzZSBpZihuZXh0WCA9PSAtMSkgbmFtZSA9IFwiZXJyXCI7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgLy/lnKjlj7PovrlcclxuICAgICAgICAgICAgZWxzZSBpZihyb2FkW29yZGVyXS54ID09IHRoaXMubWFwX0FycmF5Lmxlbmd0aC0xKXtcclxuICAgICAgICAgICAgICAgIGlmKG5leHRYID09IDApe1xyXG4gICAgICAgICAgICAgICAgICAgIGlmKG5leHRZID09IDEpbmFtZSA9IFwibGVmdF91cFwiO1xyXG4gICAgICAgICAgICAgICAgICAgIGVsc2UgaWYobmV4dFkgPT0gLTEpIG5hbWUgPSBcImxlZnRfZG93blwiO1xyXG4gICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgZWxzZSBpZihuZXh0WCA9PSAxKSBuYW1lID0gXCJlcnJcIjtcclxuICAgICAgICAgICAgICAgIGVsc2UgaWYobmV4dFggPT0gLTEpIG5hbWUgPSBcImxlZnRcIjtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgICAgICAvL+S4jeaYr+esrOS4gOatpe+8jOW3sue7j+i1sOi/h+S4gOatpVxyXG4gICAgICAgIGVsc2UgaWYob3JkZXIgPiAwKXtcclxuICAgICAgICAgICAgdmFyIG5leHQgPSAxO1xyXG4gICAgICAgICAgICBpZihvcmRlcisyIDwgcm9hZC5sZW5ndGgpe1xyXG4gICAgICAgICAgICAgICAgaWYocm9hZFtvcmRlcisxXS56ID09IDYpIG5leHQgPSAyO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgIFxyXG4gICAgICAgICAgICAvL+eUqOS6juWIpOaWreatpOeCueeahOS4iuS4gOS4queCue+8jOaYr+S4uuS6huWIpOaWreW9k+WJjeaWueWdl+a0quawtOS4g+eCue+8jOS7peWPiuS4i+S4gOS4quenu+WKqOaWueWQke+8jOWIpOaWrea0que7iOeCueaWueWQkVxyXG4gICAgICAgICAgICBsZXQgbmV4dFggPSByb2FkW29yZGVyK25leHRdLnggLSByb2FkW29yZGVyXS54O1xyXG4gICAgICAgICAgICBsZXQgbmV4dFkgPSByb2FkW29yZGVyXS55IC0gcm9hZFtvcmRlcituZXh0XS55XHJcbiAgICAgICAgICAgIGxldCBwcmV2aW91c1ggPSByb2FkW29yZGVyXS54IC0gcm9hZFtvcmRlci0xXS54O1xyXG4gICAgICAgICAgICBsZXQgcHJldmlvdXNZID0gcm9hZFtvcmRlci0xXS55IC0gcm9hZFtvcmRlcl0ueTtcclxuICAgICAgICAgICAgaWYocHJldmlvdXNYID09IDAgJiYgcHJldmlvdXNZID09IDApe1xyXG4gICAgICAgICAgICAgICAgaWYob3JkZXIgPiAxKXtcclxuICAgICAgICAgICAgICAgICAgICBwcmV2aW91c1ggPSByb2FkW29yZGVyXS54IC0gcm9hZFtvcmRlci0yXS54O1xyXG4gICAgICAgICAgICAgICAgICAgIHByZXZpb3VzWSA9IHJvYWRbb3JkZXItMl0ueSAtIHJvYWRbb3JkZXJdLnk7XHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICBlbHNlIGlmKG9yZGVyICsgMSA8IHJvYWQubGVuZ3RoKXtcclxuICAgICAgICAgICAgICAgICAgICBwcmV2aW91c1ggPSByb2FkW29yZGVyKzFdLnggLSByb2FkW29yZGVyXS54O1xyXG4gICAgICAgICAgICAgICAgICAgIHByZXZpb3VzWSA9IHJvYWRbb3JkZXJdLnkgLSByb2FkW29yZGVyKzFdLnk7XHJcbiAgICAgICAgICAgICAgICAgICAgLy8gY29uc29sZS5sb2coXCLmga/lo6TvvIzkuIrkuIvlnZDmoIflt67ot51cIixwcmV2aW91c1gscHJldmlvdXNZKTtcclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICBpZihwcmV2aW91c1ggPT0gMCAmJiBwcmV2aW91c1kgPj0gMSl7XHJcbiAgICAgICAgICAgICAgICBpZihuZXh0WCA9PSAwKXtcclxuICAgICAgICAgICAgICAgICAgICBpZihuZXh0WSA9PSAxKW5hbWUgPSBcInVwXCI7XHJcbiAgICAgICAgICAgICAgICAgICAgZWxzZSBpZihuZXh0WSA9PSAtMSkgbmFtZSA9IFwiZXJyXCI7XHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICBlbHNlIGlmKG5leHRYID09IDEpIG5hbWUgPSBcInVwX3JpZ2h0XCI7XHJcbiAgICAgICAgICAgICAgICBlbHNlIGlmKG5leHRYID09IC0xKSBuYW1lID0gXCJ1cF9sZWZ0XCI7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgZWxzZSBpZihwcmV2aW91c1ggPT0gMCAmJiBwcmV2aW91c1kgPD0gLTEpe1xyXG4gICAgICAgICAgICAgICAgaWYobmV4dFggPT0gMCl7XHJcbiAgICAgICAgICAgICAgICAgICAgaWYobmV4dFkgPT0gMSluYW1lID0gXCJlcnJcIjtcclxuICAgICAgICAgICAgICAgICAgICBlbHNlIGlmKG5leHRZID09IC0xKSBuYW1lID0gXCJkb3duXCI7XHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICBlbHNlIGlmKG5leHRYID09IDEpIG5hbWUgPSBcImRvd25fcmlnaHRcIjtcclxuICAgICAgICAgICAgICAgIGVsc2UgaWYobmV4dFggPT0gLTEpIG5hbWUgPSBcImRvd25fbGVmdFwiO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIGVsc2UgaWYocHJldmlvdXNYID49IDEgJiYgcHJldmlvdXNZID09IDApe1xyXG4gICAgICAgICAgICAgICAgaWYobmV4dFggPT0gMCl7XHJcbiAgICAgICAgICAgICAgICAgICAgaWYobmV4dFkgPT0gMSluYW1lID0gXCJyaWdodF91cFwiO1xyXG4gICAgICAgICAgICAgICAgICAgIGVsc2UgaWYobmV4dFkgPT0gLTEpIG5hbWUgPSBcInJpZ2h0X2Rvd25cIjtcclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgIGVsc2UgaWYobmV4dFggPT0gMSkgbmFtZSA9IFwicmlnaHRcIjtcclxuICAgICAgICAgICAgICAgIGVsc2UgaWYobmV4dFggPT0gLTEpIG5hbWUgPSBcImVyclwiO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIGVsc2UgaWYocHJldmlvdXNYIDw9IC0xICYmIHByZXZpb3VzWSA9PSAwKXtcclxuICAgICAgICAgICAgICAgIGlmKG5leHRYID09IDApe1xyXG4gICAgICAgICAgICAgICAgICAgIGlmKG5leHRZID09IDEpbmFtZSA9IFwibGVmdF91cFwiO1xyXG4gICAgICAgICAgICAgICAgICAgIGVsc2UgaWYobmV4dFkgPT0gLTEpIG5hbWUgPSBcImxlZnRfZG93blwiO1xyXG4gICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgZWxzZSBpZihuZXh0WCA9PSAxKSBuYW1lID0gXCJlcnJcIjtcclxuICAgICAgICAgICAgICAgIGVsc2UgaWYobmV4dFggPT0gLTEpIG5hbWUgPSBcImxlZnRcIjtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuXHJcbiAgICAgICAgcmV0dXJuIG5hbWUgO1xyXG4gICAgfVxyXG5cclxuICAgIC8v5qC55o2u5piv5ZCm5YWo6Z2i5bGP77yM5YGa54us56uL6YCC6YWN5pa56Z2iXHJcbiAgICBmaXQoKXtcclxuICAgICAgICB2YXIgamcgPSB0aGlzLnNldEZpdCgpO1xyXG4gICAgICAgIGlmKCFqZyl7XHJcbiAgICAgICAgICAgIHRoaXMuTWFwLnNjYWxlID0gMS4yO1xyXG4gICAgICAgIH1lbHNle1xyXG4gICAgICAgICAgICB0aGlzLk1hcC5zY2FsZSA9IDE7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG4gICAgLy/liKTmlq3lhajpnaLlsY9cclxuICAgIGdldFNldFNjcmVlblJlc29sdXRpb25GbGFnICgpIHtcclxuICAgICAgICBsZXQgc2l6ZSA9IGNjLndpblNpemU7XHJcbiAgICAgICAgbGV0IHdpZHRoID0gc2l6ZS53aWR0aDtcclxuICAgICAgICBsZXQgaGVpZ2h0ID0gc2l6ZS5oZWlnaHQ7XHJcbiAgICAgICAgaWYgKChoZWlnaHQgLyB3aWR0aCkgPiAoMTYuMiAvIDkpKSByZXR1cm4gZmFsc2U7XHJcbiAgICAgICAgcmV0dXJuIHRydWU7XHJcbiAgICB9XHJcbiAgICAvL+WIpOaWreWFqOmdouWxj+mAgumFjVxyXG4gICAgc2V0Rml0ICgpIHtcclxuICAgICAgICBsZXQgZmxhZyA9IHRoaXMuZ2V0U2V0U2NyZWVuUmVzb2x1dGlvbkZsYWcoKTtcclxuICAgICAgICBpZiAoZmxhZykge1xyXG4gICAgICAgIH0gZWxzZSB7XHJcbiAgICAgICAgfVxyXG4gICAgICAgIHJldHVybiBmbGFnO1xyXG4gICAgfVxyXG4gICAgLy/ov5Tlm57pppbpobVcclxuICAgIGJhY2tTY2VuZSgpe1xyXG4gICAgICAgIGNjLmRpcmVjdG9yLmxvYWRTY2VuZShcIkxvYWRTY2VuZVwiKTtcclxuICAgIH1cclxuXHJcbiAgICAvL+W8gOWni+a4uOaIj1xyXG4gICAgc3RhcnRHYW1lKGRhdGEpe1xyXG4gICAgICAgIGZvcihsZXQgaT0wOyBpPHRoaXMuYmxvY2tfQXJyYXkubGVuZ3RoO2krKyl7XHJcbiAgICAgICAgICAgIHRoaXMuYmxvY2tfQXJyYXlbaV0uZ2V0Q2hpbGRCeU5hbWUoXCJ0aXBXaW5cIikuYWN0aXZlID0gZmFsc2U7XHJcbiAgICAgICAgICAgIHRoaXMuYmxvY2tfQXJyYXlbaV0uZ2V0Q2hpbGRCeU5hbWUoXCJ0aXBMb3NlXCIpLmFjdGl2ZSA9IGZhbHNlO1xyXG4gICAgICAgIH1cclxuICAgICAgICB0aGlzLnVuc2NoZWR1bGUodGhpcy51cGRhdGVDb3VudERvd25UaW1lKTtcclxuICAgICAgICB2YXIgbm93ID0gY2MuZnguR2FtZVRvb2wuZ2V0VGltZSgpO1xyXG4gICAgICAgIHZhciBmaW5pc2hpID0gbm93IC0gdGhpcy5maW5pc2hpVGltZTtcclxuICAgICAgICB2YXIgdG90YWxUaW1lID0gbm93IC0gdGhpcy5zdGFydFRpbWU7XHJcbiAgICAgICAgdGhpcy5zY29yZVRpbWUgPSB0aGlzLndhdGVyVGltZTtcclxuICAgICAgICBpZih0aGlzLndhdGVyVGltZSA8PSAwLjUpIGZpbmlzaGkgPSAtMTtcclxuICAgICAgICAvLyBjb25zb2xlLmxvZyhcInN1Ym1pdFRpbWU6XCIsZmluaXNoaSx0aGlzLmZpbmlzaGlUaW1lKTtcclxuICAgICAgICBjYy5meC5HYW1lQ29uZmlnLkNMSUNLX1NFVChcInN1Ym1pdFRpbWVcIixmaW5pc2hpKTtcclxuICAgICAgICBpZihmaW5pc2hpID09IC0xKSBcclxuICAgICAgICAgICAgY2MuZnguR2FtZUNvbmZpZy5DTElDS19TRVQoXCJkdXJhdGlvblwiLGNjLmZ4LkdhbWVDb25maWcuVElNRV9JTkZPLndhdGVyVGltZVtjYy5meC5HYW1lQ29uZmlnLkdNX0lORk8ubGV2ZWxdKTtcclxuICAgICAgICBlbHNlIFxyXG4gICAgICAgICAgICBjYy5meC5HYW1lQ29uZmlnLkNMSUNLX1NFVChcImR1cmF0aW9uXCIsdG90YWxUaW1lKTtcclxuICAgICAgICAgICAgXHJcbiAgICAgICAgY2MuZnguR2FtZUNvbmZpZy5DTElDS19TRVQoXCJ1c2VkU3RlcHNcIixkYXRhLmxlbmd0aCk7XHJcbiAgICAgICAgdGhpcy5zZXRNYXAoZGF0YSk7XHJcbiAgXHJcbiAgICAgICAgdmFyIGFyciA9IHRoaXMuY2hhbmdlU3RlcChkYXRhKTtcclxuICAgICAgICBjYy5meC5HYW1lQ29uZmlnLkNMSUNLX1NFVChcInN0ZXBMaXN0XCIsYXJyKTtcclxuICAgIH1cclxuXHJcbiAgICAvL+eUqOS6juWfi+eCueiusOW9lVxyXG4gICAgY2hhbmdlU3RlcChkYXRhKXtcclxuICAgICAgICB2YXIgYXJyID0gW107XHJcbiAgICAgICAgaWYoZGF0YS5sZW5ndGggPiAwKXtcclxuICAgICAgICAgICAgZm9yKGxldCBpPTA7IGk8ZGF0YS5sZW5ndGg7IGkrKyl7XHJcbiAgICAgICAgICAgICAgICBpZihkYXRhW2ldID09IFwidXBcIikgYXJyW2ldID0gXCJVXCI7XHJcbiAgICAgICAgICAgICAgICBlbHNlIGlmKGRhdGFbaV0gPT0gXCJkb3duXCIpIGFycltpXSA9IFwiRFwiO1xyXG4gICAgICAgICAgICAgICAgZWxzZSBpZihkYXRhW2ldID09IFwibGVmdFwiKSBhcnJbaV0gPSBcIkxcIjtcclxuICAgICAgICAgICAgICAgIGVsc2UgaWYoZGF0YVtpXSA9PSBcInJpZ2h0XCIpIGFycltpXSA9IFwiUlwiO1xyXG4gICAgICAgICAgICAgICAgZWxzZSBpZihkYXRhW2ldID09IFwic29pbFwiKSBhcnJbaV0gPSBcIlhcIjtcclxuICAgICAgICAgICAgICAgIGVsc2UgaWYoZGF0YVtpXSA9PSBcInJlaW5mb3JjZVwiKSBhcnJbaV0gPSBcIkZcIjtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgICAgICByZXR1cm4gYXJyO1xyXG4gICAgfVxyXG4gICAgLy/mtKrls7DlgJLorqHml7bvvIzorqHml7blmahcclxuICAgIHVwZGF0ZVdhdGVyVGltZSgpe1xyXG4gICAgICAgIGlmICh0aGlzLndhdGVyVGltZSA+IDApIHtcclxuICAgICAgICAgICAgdGhpcy53YXRlclRpbWUgLT0gMTtcclxuICAgICAgICAgICAgdGhpcy5Db3VudGRvd24uc3RyaW5nID0gIGNjLmZ4LkdhbWVUb29sLmdldFRpbWVNYXJnaW4odGhpcy53YXRlclRpbWUpO1xyXG4gICAgICAgICAgICBpZih0aGlzLndhdGVyVGltZSA8PSAwKXtcclxuICAgICAgICAgICAgICAgIHRoaXMudW5zY2hlZHVsZSh0aGlzLnVwZGF0ZVdhdGVyVGltZSk7XHJcbiAgICAgICAgICAgICAgICBpZighdGhpcy5wbGFuX292ZXIpe1xyXG4gICAgICAgICAgICAgICAgICAgIHRoaXMud2F0ZXJUaW1lID0gMDtcclxuICAgICAgICAgICAgICAgICAgICB0aGlzLnBsYW5fb3ZlciA9IHRydWU7XHJcbiAgICAgICAgICAgICAgICAgICAgc2V0VGltZW91dCgoKSA9PiB7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIGlmKHRoaXMud2F0ZXJfQXJyYXkubGVuZ3RoID09IDApe1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgY2MuZnguTm90aWZpY2F0aW9ucy5lbWl0KGNjLmZ4Lk1lc3NhZ2Uuc2hvd1Jlc3VsdCxcImxvc2VcIik7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBjYy5meC5Ob3RpZmljYXRpb25zLmVtaXQoY2MuZnguTWVzc2FnZS5zZXREYXRhLGZhbHNlKTtcclxuICAgICAgICAgICAgICAgICAgICAgICAgfSAgICAgICAgIFxyXG4gICAgICAgICAgICAgICAgICAgICAgICBlbHNle1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgY2MuZnguR2FtZUNvbmZpZy5HTV9JTkZPLm1pbl9UaW1lID0gdGhpcy53YXRlclRpbWU7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB0aGlzLnJ1bldhdGVyKDApOyBcclxuICAgICAgICAgICAgICAgICAgICAgICAgfSAgIFxyXG4gICAgICAgICAgICAgICAgICAgIH0sIDUwMCk7XHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICB9XHJcblxyXG4gICAgLy/lpoLmnpzmmK/lgJLorqHml7Yg6LCD55So5q2k5pa55rOVXHJcbiAgICB1cGRhdGVDb3VudERvd25UaW1lICgpIHtcclxuICAgICAgICBpZiAodGhpcy5jb3VudFRpbWUgPiAwKSB7XHJcbiAgICAgICAgICAgIHRoaXMuY291bnRUaW1lIC09IDE7XHJcbiAgICAgICAgICAgIGNjLmZ4LkdhbWVDb25maWcuVElNRV9JTkZPLnRvdGFsVGltZSA9IHRoaXMuY291bnRUaW1lO1xyXG4gICAgICAgICAgICB0aGlzLlRpbWUuc3RyaW5nID0gIGNjLmZ4LkdhbWVUb29sLmdldFRpbWVNYXJnaW4odGhpcy5jb3VudFRpbWUpO1xyXG4gICAgICAgICAgICBpZih0aGlzLmNvdW50VGltZSA8IDUpe1xyXG4gICAgICAgICAgICAgICAgbGV0IG92ZXIgPSB0aGlzLm5vZGUuZ2V0Q2hpbGRCeU5hbWUoXCJPdmVyXCIpO1xyXG4gICAgICAgICAgICAgICAgY2MudHdlZW4ob3ZlcilcclxuICAgICAgICAgICAgICAgIC50bygwLjIse29wYWNpdHk6MjU1fSlcclxuICAgICAgICAgICAgICAgIC5kZWxheSgwLjEpXHJcbiAgICAgICAgICAgICAgICAudG8oMC4yLHtvcGFjaXR5OjB9KVxyXG4gICAgICAgICAgICAgICAgLnN0YXJ0KCk7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgaWYodGhpcy5jb3VudFRpbWUgPD0gMCl7XHJcbiAgICAgICAgICAgICAgICB0aGlzLmNvdW50VGltZSA9IDA7XHJcbiAgICAgICAgICAgICAgICB0aGlzLnNldERhdGEoZmFsc2UpO1xyXG4gICAgICAgICAgICAgICAgdGhpcy51bnNjaGVkdWxlKHRoaXMudXBkYXRlQ291bnREb3duVGltZSk7XHJcbiAgICAgICAgICAgICAgICB0aGlzLmdhbWVPdmVyKCk7ICAgIFxyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG4gICAgLy/kuIrkvKDmr4/mrKHmk43kvZzmlbDmja5cclxuICAgIHNldERhdGEoc3VjY2Vzcyl7XHJcbiAgICAgICAgLy/orr7nva7ln4vngrnmlbDmja5cclxuICAgICAgICBjYy5meC5HYW1lQ29uZmlnLkNMSUNLX1NFVChcIm1hcElkXCIsY2MuZnguR2FtZUNvbmZpZy5MRVZFTF9JTkZPW2NjLmZ4LkdhbWVDb25maWcuR01fSU5GTy5sZXZlbF1bdGhpcy5jdXN0b21dLmlkKTtcclxuICAgICAgICBjYy5meC5HYW1lQ29uZmlnLkNMSUNLX1NFVChcImRpZmZpY3VsdHlcIixjYy5meC5HYW1lQ29uZmlnLkdNX0lORk8ubGV2ZWwpO1xyXG4gICAgICAgIGNjLmZ4LkdhbWVDb25maWcuQ0xJQ0tfU0VUKFwib3B0aW1pemVkU3RlcHNcIixjYy5meC5HYW1lQ29uZmlnLkxFVkVMX0lORk9bY2MuZnguR2FtZUNvbmZpZy5HTV9JTkZPLmxldmVsXVt0aGlzLmN1c3RvbV0ubWluX3N0ZXBzKTtcclxuICAgICAgICBjYy5meC5HYW1lQ29uZmlnLkNMSUNLX1NFVChcInJvdW5kXCIsY2MuZnguR2FtZUNvbmZpZy5HTV9JTkZPLnJvdW5kKTtcclxuICAgICAgICBjYy5meC5HYW1lQ29uZmlnLkNMSUNLX1NFVChcInRpbWVyXCIsY2MuZnguR2FtZUNvbmZpZy5USU1FX0lORk8udG90YWxUaW1lKTtcclxuICAgICAgICBjYy5meC5HYW1lQ29uZmlnLkNMSUNLX1NFVChcImN1bXVsYXRpdmVTY29yZVwiLGNjLmZ4LkdhbWVDb25maWcuR01fSU5GTy5zY29yZSk7XHJcbiAgICAgICAgaWYoc3VjY2VzcyAhPSBudWxsKXtcclxuICAgICAgICAgICAgY2MuZnguR2FtZUNvbmZpZy5DTElDS19TRVQoXCJzdWNjZXNzXCIsc3VjY2Vzcyk7XHJcbiAgICAgICAgICAgIGNjLmZ4LkdhbWVDb25maWcuR01fSU5GTy5mZW4gPSB0aGlzLmdldFNjb3JlKCk7XHJcbiAgICAgICAgICAgIGlmKCFzdWNjZXNzKSBjYy5meC5HYW1lQ29uZmlnLkdNX0lORk8uZmVuID0gMDtcclxuICAgICAgICAgICAgY2MuZnguR2FtZUNvbmZpZy5DTElDS19TRVQoXCJnZXRTY29yZVwiLGNjLmZ4LkdhbWVDb25maWcuR01fSU5GTy5mZW4pO1xyXG4gICAgICAgICAgICBjYy5meC5HYW1lQ29uZmlnLkdNX0lORk8uc2NvcmUgKz0gY2MuZnguR2FtZUNvbmZpZy5HTV9JTkZPLmZlbjtcclxuICAgICAgICAgICAgY2MuZnguR2FtZUNvbmZpZy5DTElDS19TRVQoXCJjdW11bGF0aXZlU2NvcmVcIixjYy5meC5HYW1lQ29uZmlnLkdNX0lORk8uc2NvcmUpO1xyXG4gICAgICAgICAgICBpZih0aGlzLmNvdW50VGltZSAhPSAwKWNjLmZ4LkdhbWVDb25maWcuR01fSU5GTy5zdWNjZXNzTGlzdC5wdXNoKHN1Y2Nlc3MpO1xyXG4gICAgICAgIH1cclxuICAgICAgICBjYy5meC5HYW1lVG9vbC5zZXRHYW1lRGF0YSgpO1xyXG4gICAgICAgIFxyXG4gICAgfVxyXG4gICAgLy/orqHnrpflvpfliIZcclxuICAgIGdldFNjb3JlKCl7XHJcbiAgICAgICAgLy/mnIDlsI/mraXmlbBcclxuICAgICAgICBsZXQgbWluID0gY2MuZnguR2FtZUNvbmZpZy5MRVZFTF9JTkZPW2NjLmZ4LkdhbWVDb25maWcuR01fSU5GTy5sZXZlbF1bdGhpcy5jdXN0b21dLm1pbl9zdGVwcztcclxuICAgICAgICAvL+WunumZheS9v+eUqOatpeaVsFxyXG4gICAgICAgIGxldCBub3cgPSB0aGlzLnBhdGhfQXJyYXkubGVuZ3RoLTE7XHJcbiAgICAgICAgaWYobm93IDw9MCkgbm93ID0gMDtcclxuICAgICAgICB2YXIgeCA9ICgyLjUqbWluIC0gbm93KSAvIG1pbjtcclxuICAgICAgICBsZXQgc2NvcmUgPSBNYXRoLnBvdyhtaW4seCkgKiogMC41O1xyXG4gICAgICAgIHNjb3JlID0gc2NvcmUgKiAodGhpcy5zY29yZVRpbWUgKyAxMCkqMTAwO1xyXG4gICAgICAgIHJldHVybiBNYXRoLmZsb29yKHNjb3JlKTtcclxuICAgIH1cclxuXHJcbiAgICAvL+S4iuS8oOaOkuihjOamnOaVsOaNrlxyXG4gICAgZ2FtZU92ZXIoKXtcclxuICAgICAgICB2YXIgcmF0ZSA9IDA7XHJcbiAgICAgICAgdmFyIHN1Y2Nlc3NMaXN0ID0gY2MuZnguR2FtZUNvbmZpZy5HTV9JTkZPLnN1Y2Nlc3NMaXN0O1xyXG4gICAgICAgIGlmKHN1Y2Nlc3NMaXN0Lmxlbmd0aCA+IDApe1xyXG4gICAgICAgICAgICB2YXIgc3VjY2VzcyA9IDA7XHJcbiAgICAgICAgICAgIGZvcihsZXQgaT0wOyBpPHN1Y2Nlc3NMaXN0Lmxlbmd0aDsgaSsrKXtcclxuICAgICAgICAgICAgICAgIGlmKHN1Y2Nlc3NMaXN0W2ldID09IHRydWUpIHN1Y2Nlc3MgKz0gMTtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICByYXRlID0gc3VjY2Vzcy9zdWNjZXNzTGlzdC5sZW5ndGg7XHJcbiAgICAgICAgfVxyXG4gICAgICAgIHJhdGUgPSBNYXRoLmZsb29yKHJhdGUgKiAxMDAwKS8xMDtcclxuICAgICAgICBsZXQgZGF0YSA9IHtcclxuICAgICAgICAgICAgc2NvcmU6IGNjLmZ4LkdhbWVDb25maWcuR01fSU5GTy5zY29yZSxcclxuICAgICAgICAgICAgcmF0ZTogcmF0ZVxyXG4gICAgICAgIH1cclxuICAgICAgICBjYy5meC5HYW1lVG9vbC5zZXRSYW5rKGRhdGEpO1xyXG4gICAgICAgIHRoaXMubm9kZS5nZXRDaGlsZEJ5TmFtZShcIkdhbWVPdmVyXCIpLmFjdGl2ZSA9IHRydWU7XHJcbiAgICAgICAgdGhpcy5ub2RlLmdldENoaWxkQnlOYW1lKFwiR2FtZU92ZXJcIikub3BhY2l0eSA9IDA7XHJcbiAgICAgICAgY2MudHdlZW4odGhpcy5ub2RlLmdldENoaWxkQnlOYW1lKFwiR2FtZU92ZXJcIikpXHJcbiAgICAgICAgLnRvKDAuNCx7b3BhY2l0eToyNTV9KVxyXG4gICAgICAgIC5kZWxheSgxKVxyXG4gICAgICAgIC50bygwLjQse29wYWNpdHk6NTB9KVxyXG4gICAgICAgIC5jYWxsKCgpID0+e1xyXG4gICAgICAgICAgICBjYy5kaXJlY3Rvci5sb2FkU2NlbmUoXCJPdmVyU2NlbmVcIik7XHJcbiAgICAgICAgfSlcclxuICAgICAgICAuc3RhcnQoKVxyXG4gICAgfVxyXG4gICAgLy/lsZXnpLrnu5PmnpxcclxuICAgIHNob3dSZXN1bHQoZGF0YSl7XHJcbiAgICAgICAgaWYoZGF0YSA9PSBcImxvc2VcIil7XHJcbiAgICAgICAgICAgIGNjLmZ4LkF1ZGlvTWFuYWdlci5faW5zdGFuY2UucGxheUVmZmVjdChcImxvc2VcIixudWxsKTtcclxuICAgICAgICAgICAgY2MuZnguR2FtZUNvbmZpZy5HTV9JTkZPLm1pbl9UaW1lID0gLTE7XHJcbiAgICAgICAgfSBcclxuICAgICAgICBlbHNle1xyXG4gICAgICAgICAgICBjYy5meC5BdWRpb01hbmFnZXIuX2luc3RhbmNlLnBsYXlFZmZlY3QoXCJ3aW5cIixudWxsKTtcclxuICAgICAgICB9XHJcbiAgICAgICAgdGhpcy5ub2RlLmdldENoaWxkQnlOYW1lKFwiV2luZG93XCIpLmFjdGl2ZSA9IHRydWU7XHJcbiAgICAgICAgdGhpcy5ub2RlLmdldENoaWxkQnlOYW1lKFwiV2luZG93XCIpLmdldENvbXBvbmVudChcIldpbmRvd1wiKS5pbml0KGRhdGEpO1xyXG5cclxuICAgIH1cclxuICAgIC8v6K6w5b2V5Y+N5bqU5pe26ZW/77yM5Lul5Y+K5YGa5q2l6aqk5o+Q56S6XHJcbiAgICBjbGlja1N1bihkYXRhKXtcclxuICAgICAgICAvL+WmguaenOayoeacieiusOW9lei/hyDlm57lkIjlvIDlp4vliLDmk43kvZzlj43lupTml7bplb/vvIzliJnnrKzkuIDmrKHorrDlvZXvvIwg5ZCO6Z2i5LiN6K6w5b2VXHJcbiAgICAgICAgaWYoY2MuZnguR2FtZUNvbmZpZy5DTElDS19EQVRBLnN0YXJ0VGltZSA9PSAwKXtcclxuICAgICAgICAgICAgdGhpcy5maW5pc2hpVGltZSA9IGNjLmZ4LkdhbWVUb29sLmdldFRpbWUoKTtcclxuICAgICAgICAgICAgdmFyIG5vdyAgPSB0aGlzLmZpbmlzaGlUaW1lIC0gdGhpcy5zdGFydFRpbWU7XHJcbiAgICAgICAgICAgIC8vIGNvbnNvbGUubG9nKFwic3RhcnRUaW1lOlwiLG5vdyx0aGlzLnN0YXJ0VGltZSk7XHJcbiAgICAgICAgICAgIGNjLmZ4LkdhbWVDb25maWcuQ0xJQ0tfU0VUKFwic3RhcnRUaW1lXCIsbm93KTtcclxuICAgICAgICB9XHJcbiAgICAgICAgaWYoY2MuZnguR2FtZUNvbmZpZy5HTV9JTkZPLmxldmVsID4gMykgcmV0dXJuO1xyXG4gICAgICAgIC8v5q2l6aqk5o+Q56S6XHJcbiAgICAgICAgdmFyIG5vd1BvcyA9IHRoaXMucGF0aF9BcnJheVswXTtcclxuICAgICAgICBpZih0aGlzLnRpcF9BcnJheS5sZW5ndGggIT0gMCl7XHJcbiAgICAgICAgICAgIGlmKHRoaXMudGlwX0FycmF5W3RoaXMudGlwX0FycmF5Lmxlbmd0aC0xXSA9PSBudWxsKXtcclxuICAgICAgICAgICAgICAgIHRoaXMudGlwX0FycmF5LnB1c2gobnVsbCk7XHJcbiAgICAgICAgICAgICAgICByZXR1cm47XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgbm93UG9zID0gdGhpcy50aXBfQXJyYXlbdGhpcy50aXBfQXJyYXkubGVuZ3RoLTFdW3RoaXMudGlwX0FycmF5W3RoaXMudGlwX0FycmF5Lmxlbmd0aC0xXS5sZW5ndGgtMV07XHJcbiAgICAgICAgICAgIGlmKG5vd1Bvcyl7XHJcbiAgICAgICAgICAgICAgICBsZXQgbiA9IG5vd1Bvcy54KnRoaXMubWFwX0FycmF5WzBdLmxlbmd0aCtub3dQb3MueTtcclxuICAgICAgICAgICAgICAgIGxldCB0YXJnZXROb2RlID0gdGhpcy5ibG9ja19BcnJheVtuXTtcclxuICAgICAgICAgICAgICAgIGlmKHRhcmdldE5vZGUuZ2V0Q2hpbGRCeU5hbWUoXCJ0aXBMb3NlXCIpLmFjdGl2ZSA9PSB0cnVlKXtcclxuICAgICAgICAgICAgICAgICAgICB0aGlzLnRpcF9BcnJheS5wdXNoKG51bGwpO1xyXG4gICAgICAgICAgICAgICAgICAgIHJldHVybjtcclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICBlbHNle1xyXG4gICAgICAgICAgICAgICAgcmV0dXJuO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfSBcclxuXHJcbiAgICAgICAgaWYoZGF0YSA9PSBcInVwXCIpe1xyXG4gICAgICAgICAgICBsZXQgbiA9IGNjLnYyKG5vd1Bvcy54LG5vd1Bvcy55LTEpO1xyXG4gICAgICAgICAgICB0aGlzLnRpcENhbihuLGRhdGEpO1xyXG4gICAgICAgIH1cclxuICAgICAgICBlbHNlIGlmKGRhdGEgPT0gXCJkb3duXCIpe1xyXG4gICAgICAgICAgICBsZXQgbiA9IGNjLnYyKG5vd1Bvcy54LG5vd1Bvcy55KzEpO1xyXG4gICAgICAgICAgICB0aGlzLnRpcENhbihuLGRhdGEpO1xyXG4gICAgICAgIH1cclxuICAgICAgICBlbHNlIGlmKGRhdGEgPT0gXCJsZWZ0XCIpe1xyXG4gICAgICAgICAgICBsZXQgbiA9IGNjLnYyKG5vd1Bvcy54LTEsbm93UG9zLnkpO1xyXG4gICAgICAgICAgICB0aGlzLnRpcENhbihuLGRhdGEpO1xyXG4gICAgICAgIH1cclxuICAgICAgICBlbHNlIGlmKGRhdGEgPT0gXCJyaWdodFwiKXtcclxuICAgICAgICAgICAgbGV0IG4gPSBjYy52Mihub3dQb3MueCsxLG5vd1Bvcy55KTtcclxuICAgICAgICAgICAgdGhpcy50aXBDYW4obixkYXRhKTtcclxuICAgICAgICB9XHJcbiAgICAgICAgZWxzZSBpZihkYXRhID09IFwicmVpbmZvcmNlXCIpe1xyXG4gICAgICAgICAgICBsZXQgbiA9IGNjLnYzKG5vd1Bvcy54LG5vd1Bvcy55LDIpO1xyXG4gICAgICAgICAgICB0aGlzLnRpcF9BcnJheS5wdXNoKFtuXSk7XHJcbiAgICAgICAgfVxyXG4gICAgICAgIGVsc2UgaWYoZGF0YSA9PSBcInNvaWxcIil7XHJcbiAgICAgICAgICAgIGxldCBuID0gY2MudjMobm93UG9zLngsbm93UG9zLnksMyk7XHJcbiAgICAgICAgICAgIHRoaXMudGlwX0FycmF5LnB1c2goW25dKTtcclxuICAgICAgICB9XHJcbiAgICBcclxuICAgIH1cclxuICAgIC8v5o+Q56S65piv5ZCm6ZSZ6K+vXHJcbiAgICB0aXBDYW4ocG9zLGRhdGEpe1xyXG4gICAgICAgIFxyXG4gICAgICAgIC8v5YWI5Yik5pat5piv5ZCm5Ye66L6555WMXHJcbiAgICAgICAgaWYocG9zLnggPDAgfHwgcG9zLnggPnRoaXMubWFwX0FycmF5Lmxlbmd0aC0xIHx8IHBvcy55IDwwIHx8IHBvcy55ID4gdGhpcy5tYXBfQXJyYXlbMF0ubGVuZ3RoLTEgKXtcclxuICAgICAgICAgICAgdGhpcy50aXBfQXJyYXkucHVzaChudWxsKTtcclxuICAgICAgICAgICAgcmV0dXJuO1xyXG4gICAgICAgIH0gICBcclxuICAgICAgICBsZXQgbiA9IHBvcy54KnRoaXMubWFwX0FycmF5WzBdLmxlbmd0aCtwb3MueTtcclxuICAgICAgICBsZXQgdGFyZ2V0ID0gdGhpcy5ibG9ja19BcnJheVtuXS5nZXRDb21wb25lbnQoXCJCbG9ja1wiKTtcclxuICAgICAgICB0YXJnZXQubm9kZS5nZXRDaGlsZEJ5TmFtZShcInRpcFdpblwiKS5hY3RpdmUgPSB0cnVlO1xyXG4gICAgICAgIC8vIHRhcmdldC5ub2RlLmdldENoaWxkQnlOYW1lKFwidGlwV2luXCIpLm9wYWNpdHkgPSAyNTU7XHJcbiAgICAgICAgLy8gdGFyZ2V0Lm5vZGUuZ2V0Q2hpbGRCeU5hbWUoXCJ0aXBMb3NlXCIpLm9wYWNpdHkgPSAyNTU7XHJcblxyXG4gICAgICAgIC8v6YeN5aSN6Lev5Zue5aS06Lev77yM5oiW6ICF5bGx5bOwXHJcbiAgICAgICAgaWYodGFyZ2V0LnJlcGVhdFJvYWQoZmFsc2UsbnVsbCkgPT0gdHJ1ZSB8fCB0YXJnZXQuYmxvY2tfVHlwZSA9PSAzKXtcclxuICAgICAgICAgICAgdGFyZ2V0Lm5vZGUuZ2V0Q2hpbGRCeU5hbWUoXCJ0aXBMb3NlXCIpLmFjdGl2ZSA9IHRydWU7XHJcbiAgICAgICAgICAgIHRhcmdldC5ub2RlLmdldENoaWxkQnlOYW1lKFwidGlwV2luXCIpLmFjdGl2ZSA9IGZhbHNlO1xyXG4gICAgICAgIH1cclxuICAgICAgICAvL+a5v+WcsCDkuIrkuIDmraXlpoLmnpzmsqHnlKjmga/lo6TmiJbogIXliqDlm7pcclxuICAgICAgICBlbHNlIGlmKHRhcmdldC5ibG9ja19UeXBlID09IDIpe1xyXG4gICAgICAgICAgICBpZih0aGlzLnRpcF9BcnJheS5sZW5ndGggPiAxKXtcclxuICAgICAgICAgICAgICAgIGlmKHRoaXMudGlwX0FycmF5W3RoaXMudGlwX0FycmF5Lmxlbmd0aC0xXVswXS56ID09IDApe1xyXG4gICAgICAgICAgICAgICAgICAgIHRhcmdldC5ub2RlLmdldENoaWxkQnlOYW1lKFwidGlwTG9zZVwiKS5hY3RpdmUgPSB0cnVlO1xyXG4gICAgICAgICAgICAgICAgICAgIHRhcmdldC5ub2RlLmdldENoaWxkQnlOYW1lKFwidGlwV2luXCIpLmFjdGl2ZSA9IGZhbHNlO1xyXG4gICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG5cclxuICAgICAgICBpZih0aGlzLnRpcF9BcnJheS5sZW5ndGggPiAwKXtcclxuICAgICAgICAgICAgaWYodGhpcy50aXBfQXJyYXlbdGhpcy50aXBfQXJyYXkubGVuZ3RoLTFdWzBdLnogPT0gMyl7XHJcbiAgICAgICAgICAgICAgICBpZihkYXRhID09IFwidXBcIil7XHJcbiAgICAgICAgICAgICAgICAgICAgdmFyIGFyciA9IFtdO1xyXG4gICAgICAgICAgICAgICAgICAgIGZvcihsZXQgaT1wb3MueTsgaSA+PTA7aS0tKXtcclxuICAgICAgICAgICAgICAgICAgICAgICAgbGV0IGJsb2NrID0gdGhpcy5ibG9ja19BcnJheVtwb3MueCp0aGlzLm1hcF9BcnJheVswXS5sZW5ndGgraV0uZ2V0Q29tcG9uZW50KFwiQmxvY2tcIik7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIGlmKGJsb2NrLmJsb2NrX1R5cGUgPT0gMyl7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBpID0gLTEwMDAwO1xyXG4gICAgICAgICAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIGVsc2V7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBibG9jay5ub2RlLmdldENoaWxkQnlOYW1lKFwidGlwV2luXCIpLmFjdGl2ZSA9IHRydWU7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBhcnIucHVzaChjYy52Myhwb3MueCxpLDApKTtcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGlmKCBibG9jay5ibG9ja19UeXBlID09IDQpIGkgPSAtMTAwMDA7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICAgICAgdGhpcy50aXBfQXJyYXkucHVzaChhcnIpO1xyXG4gICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgZWxzZSBpZihkYXRhID09IFwiZG93blwiKXtcclxuICAgICAgICAgICAgICAgICAgICB2YXIgYXJyID0gW107XHJcbiAgICAgICAgICAgICAgICAgICAgZm9yKGxldCBpPXBvcy55OyBpPHRoaXMubWFwX0FycmF5WzBdLmxlbmd0aDtpKyspe1xyXG4gICAgICAgICAgICAgICAgICAgICAgICBsZXQgYmxvY2sgPSB0aGlzLmJsb2NrX0FycmF5W3Bvcy54KnRoaXMubWFwX0FycmF5WzBdLmxlbmd0aCtpXS5nZXRDb21wb25lbnQoXCJCbG9ja1wiKTtcclxuICAgICAgICAgICAgICAgICAgICAgICAgaWYoYmxvY2suYmxvY2tfVHlwZSA9PSAzKXtcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGkgPSAxMDAwMDtcclxuICAgICAgICAgICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgICAgICAgICBlbHNle1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgYmxvY2subm9kZS5nZXRDaGlsZEJ5TmFtZShcInRpcFdpblwiKS5hY3RpdmUgPSB0cnVlO1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgYXJyLnB1c2goY2MudjMocG9zLngsaSwwKSk7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBpZiggYmxvY2suYmxvY2tfVHlwZSA9PSA0KSBpID0gMTAwMDA7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICAgICAgdGhpcy50aXBfQXJyYXkucHVzaChhcnIpO1xyXG4gICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgZWxzZSBpZihkYXRhID09IFwicmlnaHRcIil7XHJcbiAgICAgICAgICAgICAgICAgICAgdmFyIGFyciA9IFtdO1xyXG4gICAgICAgICAgICAgICAgICAgIGZvcihsZXQgaT1wb3MueDsgaTx0aGlzLm1hcF9BcnJheS5sZW5ndGg7aSsrKXtcclxuICAgICAgICAgICAgICAgICAgICAgICAgbGV0IGJsb2NrID0gdGhpcy5ibG9ja19BcnJheVtpKnRoaXMubWFwX0FycmF5WzBdLmxlbmd0aCtwb3MueV0uZ2V0Q29tcG9uZW50KFwiQmxvY2tcIik7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIGlmKGJsb2NrLmJsb2NrX1R5cGUgPT0gMyl7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBpID0gMTAwMDA7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgICAgICAgICAgZWxzZXtcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGJsb2NrLm5vZGUuZ2V0Q2hpbGRCeU5hbWUoXCJ0aXBXaW5cIikuYWN0aXZlID0gdHJ1ZTtcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGFyci5wdXNoKGNjLnYzKGkscG9zLnksMCkpO1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgaWYoIGJsb2NrLmJsb2NrX1R5cGUgPT0gNCkgaSA9IDEwMDAwO1xyXG4gICAgICAgICAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgICAgIHRoaXMudGlwX0FycmF5LnB1c2goYXJyKTtcclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgIGVsc2UgaWYoZGF0YSA9PSBcImxlZnRcIil7XHJcbiAgICAgICAgICAgICAgICAgICAgdmFyIGFyciA9IFtdO1xyXG4gICAgICAgICAgICAgICAgICAgIGZvcihsZXQgaT1wb3MueDsgaT49MCA7aS0tKXtcclxuICAgICAgICAgICAgICAgICAgICAgICAgbGV0IGJsb2NrID0gdGhpcy5ibG9ja19BcnJheVtpKnRoaXMubWFwX0FycmF5WzBdLmxlbmd0aCtwb3MueV0uZ2V0Q29tcG9uZW50KFwiQmxvY2tcIik7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIGlmKGJsb2NrLmJsb2NrX1R5cGUgPT0gMyl7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBpID0gLTEwMDAwO1xyXG4gICAgICAgICAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIGVsc2V7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBibG9jay5ub2RlLmdldENoaWxkQnlOYW1lKFwidGlwV2luXCIpLmFjdGl2ZSA9IHRydWU7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBhcnIucHVzaChjYy52MyhpLHBvcy55LDApKTtcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGlmKCBibG9jay5ibG9ja19UeXBlID09IDQpIGkgPSAtMTAwMDA7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICAgICAgdGhpcy50aXBfQXJyYXkucHVzaChhcnIpO1xyXG4gICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIGVsc2V7XHJcbiAgICAgICAgICAgICAgICBsZXQgcG9zSmcgPSBjYy52Myhwb3MueCxwb3MueSwwKTtcclxuICAgICAgICAgICAgICAgIGlmKGRhdGEgPT0gXCJyZWluZm9yY2VcIikgcG9zLnogPSAyO1xyXG4gICAgICAgICAgICAgICAgaWYoZGF0YSA9PSBcInNvaWxcIikgcG9zLnogPSAzOyBcclxuICAgICAgICAgICAgICAgIHRoaXMudGlwX0FycmF5LnB1c2goW3Bvc0pnXSk7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgLy8gY29uc29sZS5sb2codGhpcy50aXBfQXJyYXkpO1xyXG4gICAgICAgICAgICByZXR1cm47XHJcbiAgICAgICAgfVxyXG5cclxuICAgICAgICBsZXQgcG9zSmcgPSBjYy52Myhwb3MueCxwb3MueSwwKTtcclxuICAgICAgICBpZihkYXRhID09IFwicmVpbmZvcmNlXCIpIHBvcy56ID0gMjtcclxuICAgICAgICBpZihkYXRhID09IFwic29pbFwiKSBwb3MueiA9IDM7IFxyXG4gICAgICAgIHRoaXMudGlwX0FycmF5LnB1c2goW3Bvc0pnXSk7XHJcbiAgICAgICAgLy8gY29uc29sZS5sb2codGhpcy50aXBfQXJyYXkpO1xyXG4gICAgfVxyXG5cclxuICAgIC8v56e76Zmk5o+Q56S6XHJcbiAgICByZW1vdmVUaXAoZGF0YSl7XHJcbiAgICAgICAgaWYoY2MuZnguR2FtZUNvbmZpZy5HTV9JTkZPLmxldmVsID4gMykgcmV0dXJuO1xyXG4gICAgICAgIC8v5YiG5Li65pKk5Zue5LiA5q2lIOWSjOWFqOmDqOa4heepulxyXG4gICAgICAgIGlmKHRoaXMudGlwX0FycmF5Lmxlbmd0aCA+IDApe1xyXG4gICAgICAgICAgICBpZihkYXRhID09IFwiYmFja1wiKXtcclxuICAgICAgICAgICAgICAgIGxldCB0YXJnZXQgPSB0aGlzLnRpcF9BcnJheVt0aGlzLnRpcF9BcnJheS5sZW5ndGgtMV07XHJcbiAgICAgICAgICAgICAgICBpZih0YXJnZXQgPT0gbnVsbCl7XHJcbiAgICAgICAgICAgICAgICAgICAgdGhpcy50aXBfQXJyYXkucG9wKCk7XHJcbiAgICAgICAgICAgICAgICB9IFxyXG4gICAgICAgICAgICAgICAgZWxzZXtcclxuICAgICAgICAgICAgICAgICAgICB0aGlzLnRpcF9BcnJheS5wb3AoKTtcclxuICAgICAgICAgICAgICAgICAgICBmb3IobGV0IGk9MDsgaTx0YXJnZXQubGVuZ3RoO2krKyl7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIGlmKHRhcmdldFtpXSl7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBpZiggdGFyZ2V0WzBdLnogPT0gMCl7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbGV0IG4gPSB0YXJnZXRbaV0ueCp0aGlzLm1hcF9BcnJheVswXS5sZW5ndGgrdGFyZ2V0W2ldLnk7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbGV0IG5vZGUgPSB0aGlzLmJsb2NrX0FycmF5W25dO1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG5vZGUuZ2V0Q2hpbGRCeU5hbWUoXCJ0aXBXaW5cIikuYWN0aXZlID0gZmFsc2U7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbm9kZS5nZXRDaGlsZEJ5TmFtZShcInRpcExvc2VcIikuYWN0aXZlID0gZmFsc2U7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB9XHJcblxyXG4gICAgICAgICAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICB9IFxyXG4gICAgICAgICAgICBlbHNlIGlmKGRhdGEgPT0gXCJyZW1vdmVcIil7XHJcbiAgICAgICAgICAgICAgICBmb3IobGV0IGogPTA7IGo8dGhpcy50aXBfQXJyYXkubGVuZ3RoOyBqKyspe1xyXG4gICAgICAgICAgICAgICAgICAgIGxldCB0YXJnZXQgPSB0aGlzLnRpcF9BcnJheVtqXTtcclxuICAgICAgICAgICAgICAgICAgICBpZih0YXJnZXQgIT0gbnVsbCl7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIGZvcihsZXQgaT0wOyBpPHRhcmdldC5sZW5ndGg7aSsrKXtcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGlmKHRhcmdldFtpXSl7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbGV0IG4gPSB0YXJnZXRbaV0ueCp0aGlzLm1hcF9BcnJheVswXS5sZW5ndGgrdGFyZ2V0W2ldLnk7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbGV0IG5vZGUgPSB0aGlzLmJsb2NrX0FycmF5W25dO1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG5vZGUuZ2V0Q2hpbGRCeU5hbWUoXCJ0aXBXaW5cIikuYWN0aXZlID0gZmFsc2U7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbm9kZS5nZXRDaGlsZEJ5TmFtZShcInRpcExvc2VcIikuYWN0aXZlID0gZmFsc2U7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICB0aGlzLnRpcF9BcnJheSA9IFtdO1xyXG4gICAgICAgICAgICB9IFxyXG4gICAgICAgIH1cclxuICAgIH1cclxuXHJcbiAgICAvL+iOt+WPluW8leWvvOWQjeWtl1xyXG4gICAgZ2V0R3VpZGVOYW1lKCl7XHJcbiAgICAgICAgdmFyIG5hbWUgPSBcIm9uZVwiO1xyXG4gICAgICAgIHN3aXRjaCh0aGlzLnN0ZXApe1xyXG4gICAgICAgICAgICBjYXNlIDE6XHJcbiAgICAgICAgICAgICAgICBuYW1lID0gXCJvbmVcIjtcclxuICAgICAgICAgICAgICAgIHRoaXMuYnRuQ2xpY2sgPSBmYWxzZTtcclxuICAgICAgICAgICAgICAgIHRoaXMuYmdDbGljayA9IHRydWU7XHJcbiAgICAgICAgICAgICAgICBicmVhaztcclxuICAgICAgICAgICAgY2FzZSAyOlxyXG4gICAgICAgICAgICAgICAgbmFtZSA9IFwidHdvXCI7XHJcbiAgICAgICAgICAgICAgICB0aGlzLmJ0bkNsaWNrID0gZmFsc2U7XHJcbiAgICAgICAgICAgICAgICB0aGlzLmJnQ2xpY2sgPSB0cnVlO1xyXG4gICAgICAgICAgICAgICAgYnJlYWs7XHJcbiAgICAgICAgICAgIGNhc2UgMzpcclxuICAgICAgICAgICAgICAgIG5hbWUgPSBcInRocmVlXCI7XHJcbiAgICAgICAgICAgICAgICB0aGlzLmJ0bkNsaWNrID0gZmFsc2U7XHJcbiAgICAgICAgICAgICAgICB0aGlzLmJnQ2xpY2sgPSB0cnVlO1xyXG4gICAgICAgICAgICAgICAgYnJlYWs7XHJcbiAgICAgICAgICAgIGNhc2UgNDpcclxuICAgICAgICAgICAgICAgIG5hbWUgPSBcImZvdXJcIjtcclxuICAgICAgICAgICAgICAgIHRoaXMuYnRuQ2xpY2sgPSBmYWxzZTtcclxuICAgICAgICAgICAgICAgIHRoaXMuYmdDbGljayA9IHRydWU7XHJcbiAgICAgICAgICAgICAgICBicmVhaztcclxuICAgICAgICAgICAgY2FzZSA1OlxyXG4gICAgICAgICAgICAgICAgbmFtZSA9IFwiZml2ZVwiO1xyXG4gICAgICAgICAgICAgICAgdGhpcy5idG5DbGljayA9IHRydWU7XHJcbiAgICAgICAgICAgICAgICB0aGlzLmJnQ2xpY2sgPSBmYWxzZTtcclxuICAgICAgICAgICAgICAgIGJyZWFrO1xyXG4gICAgICAgICAgICBjYXNlIDY6XHJcbiAgICAgICAgICAgICAgICBuYW1lID0gXCJzaXhcIjtcclxuICAgICAgICAgICAgICAgIHRoaXMuYnRuQ2xpY2sgPSB0cnVlO1xyXG4gICAgICAgICAgICAgICAgdGhpcy5iZ0NsaWNrID0gZmFsc2U7XHJcbiAgICAgICAgICAgICAgICBicmVhaztcclxuICAgICAgICAgICAgY2FzZSA3OlxyXG4gICAgICAgICAgICAgICAgbmFtZSA9IFwic2V2ZW5cIjtcclxuICAgICAgICAgICAgICAgIHRoaXMuYnRuQ2xpY2sgPSBmYWxzZTtcclxuICAgICAgICAgICAgICAgIHRoaXMuYmdDbGljayA9IHRydWU7XHJcbiAgICAgICAgICAgICAgICBicmVhaztcclxuICAgICAgICAgICAgY2FzZSA4OlxyXG4gICAgICAgICAgICAgICAgbmFtZSA9IFwiZWlnaHRcIjtcclxuICAgICAgICAgICAgICAgIHRoaXMuYnRuQ2xpY2sgPSBmYWxzZTtcclxuICAgICAgICAgICAgICAgIHRoaXMuYmdDbGljayA9IHRydWU7XHJcbiAgICAgICAgICAgICAgICBicmVhaztcclxuICAgICAgICAgICAgY2FzZSA5OlxyXG4gICAgICAgICAgICAgICAgbmFtZSA9IFwibmluZVwiO1xyXG4gICAgICAgICAgICAgICAgdGhpcy5idG5DbGljayA9IGZhbHNlO1xyXG4gICAgICAgICAgICAgICAgdGhpcy5iZ0NsaWNrID0gdHJ1ZTtcclxuICAgICAgICAgICAgICAgIGJyZWFrO1xyXG4gICAgICAgICAgICBjYXNlIDEwOlxyXG4gICAgICAgICAgICAgICAgbmFtZSA9IFwidGVuXCI7XHJcbiAgICAgICAgICAgICAgICB0aGlzLmJ0bkNsaWNrID0gdHJ1ZTtcclxuICAgICAgICAgICAgICAgIHRoaXMuYmdDbGljayA9IGZhbHNlO1xyXG4gICAgICAgICAgICAgICAgYnJlYWs7XHJcbiAgICAgICAgICAgIGNhc2UgMTE6XHJcbiAgICAgICAgICAgICAgICBuYW1lID0gXCJlbGV2ZW5cIjtcclxuICAgICAgICAgICAgICAgIHRoaXMuYnRuQ2xpY2sgPSBmYWxzZTtcclxuICAgICAgICAgICAgICAgIHRoaXMuYmdDbGljayA9IHRydWU7XHJcbiAgICAgICAgICAgICAgICBicmVhaztcclxuICAgICAgICAgICAgY2FzZSAxMjpcclxuICAgICAgICAgICAgICAgIG5hbWUgPSBcInR3ZWx2ZVwiO1xyXG4gICAgICAgICAgICAgICAgdGhpcy5idG5DbGljayA9IHRydWU7XHJcbiAgICAgICAgICAgICAgICB0aGlzLmJnQ2xpY2sgPSBmYWxzZTtcclxuICAgICAgICAgICAgICAgIGJyZWFrO1xyXG4gICAgICAgICAgICBjYXNlIDEzOlxyXG4gICAgICAgICAgICAgICAgbmFtZSA9IFwidGhpcnRlZW5cIjtcclxuICAgICAgICAgICAgICAgIHRoaXMuYnRuQ2xpY2sgPSB0cnVlO1xyXG4gICAgICAgICAgICAgICAgdGhpcy5iZ0NsaWNrID0gZmFsc2U7XHJcbiAgICAgICAgICAgICAgICBicmVhaztcclxuICAgICAgICAgICAgY2FzZSAxNDpcclxuICAgICAgICAgICAgICAgIG5hbWUgPSBcImZvdXJ0ZWVuXCI7XHJcbiAgICAgICAgICAgICAgICB0aGlzLmJ0bkNsaWNrID0gdHJ1ZTtcclxuICAgICAgICAgICAgICAgIHRoaXMuYmdDbGljayA9IGZhbHNlO1xyXG4gICAgICAgICAgICAgICAgYnJlYWs7XHJcbiAgICAgICAgICAgIGNhc2UgMTU6XHJcbiAgICAgICAgICAgICAgICBuYW1lID0gXCJmaXZldGVlblwiO1xyXG4gICAgICAgICAgICAgICAgdGhpcy5idG5DbGljayA9IHRydWU7XHJcbiAgICAgICAgICAgICAgICB0aGlzLmJnQ2xpY2sgPSBmYWxzZTtcclxuICAgICAgICAgICAgICAgIGJyZWFrO1xyXG4gICAgICAgICAgICBjYXNlIDE2OlxyXG4gICAgICAgICAgICAgICAgbmFtZSA9IFwic2l4dGVlblwiO1xyXG4gICAgICAgICAgICAgICAgdGhpcy5idG5DbGljayA9IHRydWU7XHJcbiAgICAgICAgICAgICAgICB0aGlzLmJnQ2xpY2sgPSBmYWxzZTtcclxuICAgICAgICAgICAgICAgIGJyZWFrO1xyXG4gICAgICAgICAgICBjYXNlIDE3OlxyXG4gICAgICAgICAgICAgICAgbmFtZSA9IFwibGFzdFwiO1xyXG4gICAgICAgICAgICAgICAgdGhpcy5idG5DbGljayA9IHRydWU7XHJcbiAgICAgICAgICAgICAgICB0aGlzLmJnQ2xpY2sgPSBmYWxzZTtcclxuICAgICAgICAgICAgICAgIGJyZWFrO1xyXG4gICAgICAgIH1cclxuXHJcbiAgICAgICAgcmV0dXJuIG5hbWU7XHJcbiAgICB9XHJcbiAgICAvL+W8leWvvOS4i+S4gOatpVxyXG4gICAgZ3VpZGVOZXh0KCl7XHJcbiAgICAgICAgLy/mr4/mrKHlhYjmiormiYDmnInnmoRcclxuICAgICAgICBjb25zb2xlLmxvZyh0aGlzLnN0ZXAsdGhpcy5HdWlkZS5jaGlsZHJlbi5sZW5ndGgpO1xyXG4gICAgICAgIGlmKHRoaXMuc3RlcCArIDEgID09ICB0aGlzLkd1aWRlLmNoaWxkcmVuLmxlbmd0aCl7XHJcbiAgICAgICAgICAgIGNjLmZ4LkdhbWVDb25maWcuR01fSU5GTy5ndWlkZSA9IGZhbHNlO1xyXG4gICAgICAgICAgICAvLyBjYy5kaXJlY3Rvci5sb2FkU2NlbmUoXCJHYW1lU2NlbmVcIik7XHJcbiAgICAgICAgICAgIGxldCBuYW1lID0gY2MuZnguR2FtZUNvbmZpZy5HTV9JTkZPLmdhbWVJZCArIFwiX2d1aWRlXCI7XHJcbiAgICAgICAgICAgIGNjLmZ4LlN0b3JhZ2VNZXNzYWdlLnNldFN0b3JhZ2UobmFtZSxjYy5meC5HYW1lQ29uZmlnLkdNX0lORk8uZ3VpZGUpO1xyXG4gICAgICAgIH1cclxuICAgICAgICBpZih0aGlzLnN0ZXAgPiAwKSB0aGlzLkd1aWRlLmNoaWxkcmVuW3RoaXMuc3RlcC0xXS5hY3RpdmUgPSBmYWxzZTtcclxuICAgICAgICB0aGlzLnN0ZXAgKz0gMTtcclxuICAgICAgICBsZXQgbmFtZSA9IHRoaXMuZ2V0R3VpZGVOYW1lKCk7XHJcbiAgIFxyXG4gICAgICAgIHZhciB0YXJnZXQgPSB0aGlzLkd1aWRlLmdldENoaWxkQnlOYW1lKG5hbWUpO1xyXG4gICAgICAgIHRhcmdldC5hY3RpdmUgPSB0cnVlO1xyXG4gICAgICAgIGxldCBzaXplID0gY2Mud2luU2l6ZTtcclxuXHJcbiAgICAgICAgaWYoc2l6ZS5oZWlnaHQgPiAxMzM0KXtcclxuICAgICAgICAgICAgbGV0IGhlaWdodCA9IChzaXplLmhlaWdodCAtIDEzMzQpLzI7XHJcbiAgICAgICAgICAgIHRhcmdldC5nZXRDaGlsZEJ5TmFtZShcInNwXCIpLmhlaWdodCArPSBoZWlnaHQ7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG5cclxuICAgIG9uRW5hYmxlICgpIHtcclxuICAgICAgICBjYy5meC5Ob3RpZmljYXRpb25zLm9uKGNjLmZ4Lk1lc3NhZ2UuY29udHJvbCwgdGhpcy5jbGlja1N1biwgdGhpcyk7XHJcbiAgICAgICAgY2MuZnguTm90aWZpY2F0aW9ucy5vbihjYy5meC5NZXNzYWdlLm5leHQsIHRoaXMucnVuUm9hZCwgdGhpcyk7XHJcbiAgICAgICAgY2MuZnguTm90aWZpY2F0aW9ucy5vbihjYy5meC5NZXNzYWdlLm5leHRXYXRlciwgdGhpcy5ydW5XYXRlciwgdGhpcyk7XHJcbiAgICAgICAgY2MuZnguTm90aWZpY2F0aW9ucy5vbihjYy5meC5NZXNzYWdlLnN0YXJ0R2FtZSwgdGhpcy5zdGFydEdhbWUsIHRoaXMpO1xyXG4gICAgICAgIGNjLmZ4Lk5vdGlmaWNhdGlvbnMub24oY2MuZnguTWVzc2FnZS5jaGFuZ2VQYXRoLCB0aGlzLmNoYW5nZVBhdGgsIHRoaXMpO1xyXG4gICAgICAgIGNjLmZ4Lk5vdGlmaWNhdGlvbnMub24oY2MuZnguTWVzc2FnZS5zZXREYXRhLCB0aGlzLnNldERhdGEsIHRoaXMpO1xyXG4gICAgICAgIGNjLmZ4Lk5vdGlmaWNhdGlvbnMub24oY2MuZnguTWVzc2FnZS5ndWlkZU5leHQsIHRoaXMuZ3VpZGVOZXh0LCB0aGlzKTtcclxuICAgICAgICBjYy5meC5Ob3RpZmljYXRpb25zLm9uKGNjLmZ4Lk1lc3NhZ2Uuc2hvd1Jlc3VsdCwgdGhpcy5zaG93UmVzdWx0LCB0aGlzKTtcclxuICAgICAgICBjYy5meC5Ob3RpZmljYXRpb25zLm9uKGNjLmZ4Lk1lc3NhZ2UucmVtb3ZlVGlwLCB0aGlzLnJlbW92ZVRpcCwgdGhpcyk7XHJcbiAgICB9XHJcbiAgICBvbkRpc2FibGUgKCkge1xyXG4gICAgICAgIGNjLmZ4Lk5vdGlmaWNhdGlvbnMub2ZmKGNjLmZ4Lk1lc3NhZ2UuY29udHJvbCwgdGhpcy5jbGlja1N1bik7XHJcbiAgICAgICAgY2MuZnguTm90aWZpY2F0aW9ucy5vZmYoY2MuZnguTWVzc2FnZS5uZXh0LCB0aGlzLnJ1blJvYWQpO1xyXG4gICAgICAgIGNjLmZ4Lk5vdGlmaWNhdGlvbnMub2ZmKGNjLmZ4Lk1lc3NhZ2UubmV4dFdhdGVyLCB0aGlzLnJ1bldhdGVyKTtcclxuICAgICAgICBjYy5meC5Ob3RpZmljYXRpb25zLm9mZihjYy5meC5NZXNzYWdlLnN0YXJ0R2FtZSwgdGhpcy5zdGFydEdhbWUpO1xyXG4gICAgICAgIGNjLmZ4Lk5vdGlmaWNhdGlvbnMub2ZmKGNjLmZ4Lk1lc3NhZ2UuY2hhbmdlUGF0aCwgdGhpcy5jaGFuZ2VQYXRoKTtcclxuICAgICAgICBjYy5meC5Ob3RpZmljYXRpb25zLm9mZihjYy5meC5NZXNzYWdlLnNldERhdGEsIHRoaXMuc2V0RGF0YSk7XHJcbiAgICAgICAgY2MuZnguTm90aWZpY2F0aW9ucy5vZmYoY2MuZnguTWVzc2FnZS5ndWlkZU5leHQsIHRoaXMuZ3VpZGVOZXh0KTtcclxuICAgICAgICBjYy5meC5Ob3RpZmljYXRpb25zLm9mZihjYy5meC5NZXNzYWdlLnNob3dSZXN1bHQsIHRoaXMuc2hvd1Jlc3VsdCk7XHJcbiAgICAgICAgY2MuZnguTm90aWZpY2F0aW9ucy5vZmYoY2MuZnguTWVzc2FnZS5yZW1vdmVUaXAsIHRoaXMucmVtb3ZlVGlwKTtcclxuICAgIH1cclxuICAgIHVwZGF0ZSAoZHQpIHtcclxuXHJcbiAgIFxyXG4gICAgfVxyXG59XHJcbiJdfQ== \ No newline at end of file +//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbImFzc2V0c1xcU2NyaXB0XFxHYW1lTWFuYWdlci50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7QUFBQSxpQ0FBb0M7QUFFcEMsU0FBUztBQUNILElBQUEsS0FBc0IsRUFBRSxDQUFDLFVBQVUsRUFBbEMsT0FBTyxhQUFBLEVBQUUsUUFBUSxjQUFpQixDQUFDO0FBRTFDO0lBQXlDLCtCQUFZO0lBQXJEO1FBQUEscUVBMDRDQztRQXY0Q0csU0FBRyxHQUFZLElBQUksQ0FBQztRQUdwQixXQUFLLEdBQWMsSUFBSSxDQUFDO1FBR3hCLFVBQUksR0FBYSxJQUFJLENBQUM7UUFHdEIsZUFBUyxHQUFhLElBQUksQ0FBQztRQUczQixXQUFLLEdBQVksSUFBSSxDQUFDOztJQTIzQzFCLENBQUM7SUFsMkNHLDRCQUFNLEdBQU47SUFDQSxDQUFDO0lBQ0QsMkJBQUssR0FBTDtRQUNJLEVBQUUsQ0FBQyxFQUFFLENBQUMsVUFBVSxDQUFDLFVBQVUsRUFBRSxDQUFDO1FBQzlCLElBQUksQ0FBQyxHQUFHLEVBQUUsQ0FBQztRQUNYLElBQUksQ0FBQyxJQUFJLEVBQUUsQ0FBQztJQUNoQixDQUFDO0lBRUQsa0RBQWtEO0lBQ2xELDRCQUFNLEdBQU47UUFDSSxJQUFJLE1BQU0sR0FBRyxDQUFDLENBQUM7UUFDZixJQUFJLEdBQUcsR0FBRyxFQUFFLENBQUM7UUFDYixJQUFHLEVBQUUsQ0FBQyxFQUFFLENBQUMsVUFBVSxDQUFDLE9BQU8sQ0FBQyxLQUFLLElBQUksQ0FBQyxFQUFDO1lBQ25DLE1BQU0sR0FBRyxJQUFJLENBQUMsS0FBSyxDQUFDLElBQUksQ0FBQyxNQUFNLEVBQUUsR0FBRSxFQUFFLENBQUMsRUFBRSxDQUFDLFVBQVUsQ0FBQyxVQUFVLENBQUMsRUFBRSxDQUFDLEVBQUUsQ0FBQyxVQUFVLENBQUMsT0FBTyxDQUFDLEtBQUssQ0FBQyxDQUFDLE1BQU0sQ0FBQyxDQUFDO1NBQzFHO2FBQ0c7WUFD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SSxDQUFDLFVBQVUsQ0FBQyxLQUFLLEdBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsSUFBSSxJQUFJLElBQUksSUFBSSxDQUFDLFVBQVU7Z0JBQUUsS0FBSyxJQUFJLENBQUMsQ0FBQztZQUMxRSxJQUFJLEtBQUssR0FBRyxJQUFJLENBQUMsS0FBSyxHQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsR0FBRyxJQUFJLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQyxDQUFDO1lBQzVDLElBQUksS0FBSyxHQUFHLElBQUksQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLEdBQUcsSUFBSSxDQUFDLEtBQUssR0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUM7WUFDNUMsS0FBSztZQUNMLElBQUcsSUFBSSxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsSUFBSSxJQUFJLENBQUMsU0FBUyxDQUFDLENBQUMsQ0FBQyxDQUFDLE1BQU0sR0FBQyxDQUFDLEVBQUM7Z0JBQzNDLElBQUcsS0FBSyxJQUFJLENBQUMsRUFBQztvQkFDVixJQUFHLEtBQUssSUFBSSxDQUFDO3dCQUFDLElBQUksR0FBRyxJQUFJLENBQUM7eUJBQ3JCLElBQUcsS0FBSyxJQUFJLENBQUMsQ0FBQzt3QkFBRSxJQUFJLEdBQUcsS0FBSyxDQUFDO2lCQUNyQztxQkFDSSxJQUFHLEtBQUssSUFBSSxDQUFDO29CQUFFLElBQUksR0FBRyxVQUFVLENBQUM7cUJBQ2pDLElBQUcsS0FBSyxJQUFJLENBQUMsQ0FBQztvQkFBRSxJQUFJLEdBQUcsU0FBUyxDQUFDO2FBQ3pDO1lBQ0QsS0FBSztpQkFDQSxJQUFHLElBQUksQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxFQUFDO2dCQUN2QixJQUFHLEtBQUssSUFBSSxDQUFDLEVBQUM7b0JBQ1YsSUFBRyxLQUFLLElBQUksQ0FBQzt3QkFBQyxJQUFJLEdBQUcsS0FBSyxDQUFDO3lCQUN0QixJQUFHLEtBQUssSUFBSSxDQUFDLENBQUM7d0JBQUUsSUFBSSxHQUFHLE1BQU0sQ0FBQztpQkFDdEM7cUJBQ0ksSUFBRyxLQUFLLElBQUksQ0FBQztvQkFBRSxJQUFJLEdBQUcsWUFBWSxDQUFDO3FCQUNuQyxJQUFHLEtBQUssSUFBSSxDQUFDLENBQUM7b0JBQUUsSUFBSSxHQUFHLFdBQVcsQ0FBQzthQUMzQztZQUNELEtBQUs7aUJBQ0EsSUFBRyxJQUFJLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsRUFBQztnQkFDdkIsSUFBRyxLQUFLLElBQUksQ0FBQyxFQUFDO29CQUNWLElBQUcsS0FBSyxJQUFJLENBQUM7d0JBQUMsSUFBSSxHQUFHLFVBQVUsQ0FBQzt5QkFDM0IsSUFBRyxLQUFLLElBQUksQ0FBQyxDQUFDO3dCQUFFLElBQUksR0FBRyxZQUFZLENBQUM7aUJBQzVDO3FCQUNJLElBQUcsS0FBSyxJQUFJLENBQUM7b0JBQUUsSUFBSSxHQUFHLE9BQU8sQ0FBQztxQkFDOUIsSUFBRyxLQUFLLElBQUksQ0FBQyxDQUFDO29CQUFFLElBQUksR0FBRyxLQUFLLENBQUM7YUFDckM7WUFDRCxLQUFLO2lCQUNBLElBQUcsSUFBSSxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsSUFBSSxJQUFJLENBQUMsU0FBUyxDQUFDLE1BQU0sR0FBQyxDQUFDLEVBQUM7Z0JBQzdDLElBQUcsS0FBSyxJQUFJLENBQUMsRUFBQztvQkFDVixJQUFHLEtBQUssSUFBSSxDQUFDO3dCQUFDLElBQUksR0FBRyxTQUFTLENBQUM7eUJBQzFCLElBQUcsS0FBSyxJQUFJLENBQUMsQ0FBQzt3QkFBRSxJQUFJLEdBQUcsV0FBVyxDQUFDO2lCQUMzQztxQkFDSSxJQUFHLEtBQUssSUFBSSxDQUFDO29CQUFFLElBQUksR0FBRyxLQUFLLENBQUM7cUJBQzVCLElBQUcsS0FBSyxJQUFJLENBQUMsQ0FBQztvQkFBRSxJQUFJLEdBQUcsTUFBTSxDQUFDO2FBQ3RDO1NBQ0o7UUFDRCxjQUFjO2FBQ1QsSUFBRyxLQUFLLEdBQUcsQ0FBQyxFQUFDO1lBQ2QsSUFBSSxJQUFJLEdBQUcsQ0FBQyxDQUFDO1lBQ2IsSUFBRyxLQUFLLEdBQUMsQ0FBQyxHQUFHLElBQUksQ0FBQyxNQUFNLEVBQUM7Z0JBQ3JCLElBQUcsSUFBSSxDQUFDLEtBQUssR0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQztvQkFBRSxJQUFJLEdBQUcsQ0FBQyxDQUFDO2FBQ3JDO1lBRUQsNkNBQTZDO1lBQzdDLElBQUksS0FBSyxHQUFHLElBQUksQ0FBQyxLQUFLLEdBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxHQUFHLElBQUksQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLENBQUM7WUFDL0MsSUFBSSxLQUFLLEdBQUcsSUFBSSxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsR0FBRyxJQUFJLENBQUMsS0FBSyxHQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsQ0FBQTtZQUM5QyxJQUFJLFNBQVMsR0FBRyxJQUFJLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQyxHQUFHLElBQUksQ0FBQyxLQUFLLEdBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDO1lBQ2hELElBQUksU0FBUyxHQUFHLElBQUksQ0FBQyxLQUFLLEdBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxHQUFHLElBQUksQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLENBQUM7WUFDaEQsSUFBRyxTQUFTLElBQUksQ0FBQyxJQUFJLFNBQVMsSUFBSSxDQUFDLEVBQUM7Z0JBQ2hDLElBQUcsS0FBSyxHQUFHLENBQUMsRUFBQztvQkFDVCxTQUFTLEdBQUcsSUFBSSxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsR0FBRyxJQUFJLENBQUMsS0FBSyxHQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQztvQkFDNUMsU0FBUyxHQUFHLElBQUksQ0FBQyxLQUFLLEdBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxHQUFHLElBQUksQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLENBQUM7aUJBQy9DO3FCQUNJLElBQUcsS0FBSyxHQUFHLENBQUMsR0FBRyxJQUFJLENBQUMsTUFBTSxFQUFDO29CQUM1QixTQUFTLEdBQUcs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RyxLQUFLLENBQUM7Z0JBQ2IsSUFBSSxDQUFDLFFBQVEsR0FBRyxLQUFLLENBQUM7Z0JBQ3RCLElBQUksQ0FBQyxPQUFPLEdBQUcsSUFBSSxDQUFDO2dCQUNwQixNQUFNO1lBQ1YsS0FBSyxDQUFDO2dCQUNGLElBQUksR0FBRyxPQUFPLENBQUM7Z0JBQ2YsSUFBSSxDQUFDLFFBQVEsR0FBRyxLQUFLLENBQUM7Z0JBQ3RCLElBQUksQ0FBQyxPQUFPLEdBQUcsSUFBSSxDQUFDO2dCQUNwQixNQUFNO1lBQ1YsS0FBSyxDQUFDO2dCQUNGLElBQUksR0FBRyxNQUFNLENBQUM7Z0JBQ2QsSUFBSSxDQUFDLFFBQVEsR0FBRyxLQUFLLENBQUM7Z0JBQ3RCLElBQUksQ0FBQyxPQUFPLEdBQUcsSUFBSSxDQUFDO2dCQUNwQixNQUFNO1lBQ1YsS0FBSyxDQUFDO2dCQUNGLElBQUksR0FBRyxNQUFNLENBQUM7Z0JBQ2QsSUFBSSxDQUFDLFFBQVEsR0FBRyxJQUFJLENBQUM7Z0JBQ3JCLElBQUksQ0FBQyxPQUFPLEdBQUcsS0FBSyxDQUFDO2dCQUNyQixNQUFNO1lBQ1YsS0FBSyxDQUFDO2dCQUNGLElBQUksR0FBRyxLQUFLLENBQUM7Z0JBQ2IsSUFBSSxDQUFDLFFBQVEsR0FBRyxJQUFJLENBQUM7Z0JBQ3JCLElBQUksQ0FBQyxPQUFPLEdBQUcsS0FBSyxDQUFDO2dCQUNyQixNQUFNO1lBQ1YsS0FBSyxDQUFDO2dCQUNGLElBQUksR0FBRyxPQUFPLENBQUM7Z0JBQ2YsSUFBSSxDQUFDLFFBQVEsR0FBRyxLQUFLLENBQUM7Z0JBQ3RCLElBQUksQ0FBQyxPQUFPLEdBQUcsSUFBSSxDQUFDO2dCQUNwQixNQUFNO1lBQ1YsS0FBSyxDQUFDO2dCQUNGLElBQUksR0FBRyxPQUFPLENBQUM7Z0JBQ2YsSUFBSSxDQUFDLFFBQVEsR0FBRyxLQUFLLENBQUM7Z0JBQ3RCLElBQUksQ0FBQyxPQUFPLEdBQUcsSUFBSSxDQUFDO2dCQUNwQixNQUFNO1lBQ1YsS0FBSyxDQUFDO2dCQUNGLElBQUksR0FBRyxNQUFNLENBQUM7Z0JBQ2Qs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LENBQUMsRUFBRSxDQUFDLE9BQU8sQ0FBQyxVQUFVLEVBQUUsSUFBSSxDQUFDLFVBQVUsRUFBRSxJQUFJLENBQUMsQ0FBQztRQUN4RSxFQUFFLENBQUMsRUFBRSxDQUFDLGFBQWEsQ0FBQyxFQUFFLENBQUMsRUFBRSxDQUFDLEVBQUUsQ0FBQyxPQUFPLENBQUMsT0FBTyxFQUFFLElBQUksQ0FBQyxPQUFPLEVBQUUsSUFBSSxDQUFDLENBQUM7UUFDbEUsRUFBRSxDQUFDLEVBQUUsQ0FBQyxhQUFhLENBQUMsRUFBRSxDQUFDLEVBQUUsQ0FBQyxFQUFFLENBQUMsT0FBTyxDQUFDLFNBQVMsRUFBRSxJQUFJLENBQUMsU0FBUyxFQUFFLElBQUksQ0FBQyxDQUFDO1FBQ3RFLEVBQUUsQ0FBQyxFQUFFLENBQUMsYUFBYSxDQUFDLEVBQUUsQ0FBQyxFQUFFLENBQUMsRUFBRSxDQUFDLE9BQU8sQ0FBQyxVQUFVLEVBQUUsSUFBSSxDQUFDLFVBQVUsRUFBRSxJQUFJLENBQUMsQ0FBQztRQUN4RSxFQUFFLENBQUMsRUFBRSxDQUFDLGFBQWEsQ0FBQyxFQUFFLENBQUMsRUFBRSxDQUFDLEVBQUUsQ0FBQyxPQUFPLENBQUMsU0FBUyxFQUFFLElBQUksQ0FBQyxTQUFTLEVBQUUsSUFBSSxDQUFDLENBQUM7SUFDMUUsQ0FBQztJQUNELCtCQUFTLEdBQVQ7UUFDSSxFQUFFLENBQUMsRUFBRSxDQUFDLGFBQWEsQ0FBQyxHQUFHLENBQUMsRUFBRSxDQUFDLEVBQUUsQ0FBQyxPQUFPLENBQUMsT0FBTyxFQUFFLElBQUksQ0FBQyxRQUFRLENBQUMsQ0FBQztRQUM5RCxFQUFFLENBQUMsRUFBRSxDQUFDLGFBQWEsQ0FBQyxHQUFHLENBQUMsRUFBRSxDQUFDLEVBQUUsQ0FBQyxPQUFPLENBQUMsSUFBSSxFQUFFLElBQUksQ0FBQyxPQUFPLENBQUMsQ0FBQztRQUMxRCxFQUFFLENBQUMsRUFBRSxDQUFDLGFBQWEsQ0FBQyxHQUFHLENBQUMsRUFBRSxDQUFDLEVBQUUsQ0FBQyxPQUFPLENBQUMsU0FBUyxFQUFFLElBQUksQ0FBQyxRQUFRLENBQUMsQ0FBQztRQUNoRSxFQUFFLENBQUMsRUFBRSxDQUFDLGFBQWEsQ0FBQyxHQUFHLENBQUMsRUFBRSxDQUFDLEVBQUUsQ0FBQyxPQUFPLENBQUMsU0FBUyxFQUFFLElBQUksQ0FBQyxTQUFTLENBQUMsQ0FBQztRQUNqRSxFQUFFLENBQUMsRUFBRSxDQUFDLGFBQWEsQ0FBQyxHQUFHLENBQUMsRUFBRSxDQUFDLEVBQUUsQ0FBQyxPQUFPLENBQUMsVUFBVSxFQUFFLElBQUksQ0FBQyxVQUFVLENBQUMsQ0FBQztRQUNuRSxFQUFFLENBQUMsRUFBRSxDQUFDLGFBQWEsQ0FBQyxHQUFHLENBQUMsRUFBRSxDQUFDLEVBQUUsQ0FBQyxPQUFPLENBQUMsT0FBTyxFQUFFLElBQUksQ0FBQyxPQUFPLENBQUMsQ0FBQztRQUM3RCxFQUFFLENBQUMsRUFBRSxDQUFDLGFBQWEsQ0FBQyxHQUFHLENBQUMsRUFBRSxDQUFDLEVBQUUsQ0FBQyxPQUFPLENBQUMsU0FBUyxFQUFFLElBQUksQ0FBQyxTQUFTLENBQUMsQ0FBQztRQUNqRSxFQUFFLENBQUMsRUFBRSxDQUFDLGFBQWEsQ0FBQyxHQUFHLENBQUMsRUFBRSxDQUFDLEVBQUUsQ0FBQyxPQUFPLENBQUMsVUFBVSxFQUFFLElBQUksQ0FBQyxVQUFVLENBQUMsQ0FBQztRQUNuRSxFQUFFLENBQUMsRUFBRSxDQUFDLGFBQWEsQ0FBQyxHQUFHLENBQUMsRUFBRSxDQUFDLEVBQUUsQ0FBQyxPQUFPLENBQUMsU0FBUyxFQUFFLElBQUksQ0FBQyxTQUFTLENBQUMsQ0FBQztJQUNyRSxDQUFDO0lBQ0QsNEJBQU0sR0FBTixVQUFRLEVBQUU7SUFHVixDQUFDO0lBdDRDRDtRQURDLFFBQVEsQ0FBQyxFQUFFLENBQUMsSUFBSSxDQUFDOzRDQUNFO0lBR3BCO1FBREMsUUFBUSxDQUFDLEVBQUUsQ0FBQyxNQUFNLENBQUM7OENBQ0k7SUFHeEI7UUFEQyxRQUFRLENBQUMsRUFBRSxDQUFDLEtBQUssQ0FBQzs2Q0FDRztJQUd0QjtRQURDLFFBQVEsQ0FBQyxFQUFFLENBQUMsS0FBSyxDQUFDO2tEQUNRO0lBRzNCO1FBREMsUUFBUSxDQUFDLEVBQUUsQ0FBQyxJQUFJLENBQUM7OENBQ0k7SUFmTCxXQUFXO1FBRC9CLE9BQU87T0FDYSxXQUFXLENBMDRDL0I7SUFBRCxrQkFBQztDQTE0Q0QsQUEwNENDLENBMTRDd0MsRUFBRSxDQUFDLFNBQVMsR0EwNENwRDtrQkExNENvQixXQUFXIiwiZmlsZSI6IiIsInNvdXJjZVJvb3QiOiIvIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQmxvY2tUeXBlIH0gZnJvbSBcIi4vQmxvY2tcIjtcclxuXHJcbi8vIOS4u+a4uOaIj+aOp+WItuexu1xyXG5jb25zdCB7Y2NjbGFzcywgcHJvcGVydHl9ID0gY2MuX2RlY29yYXRvcjtcclxuQGNjY2xhc3NcclxuZXhwb3J0IGRlZmF1bHQgY2xhc3MgR2FtZU1hbmFnZXIgZXh0ZW5kcyBjYy5Db21wb25lbnQge1xyXG5cclxuICAgIEBwcm9wZXJ0eShjYy5Ob2RlKVxyXG4gICAgTWFwOiBjYy5Ob2RlID0gbnVsbDtcclxuXHJcbiAgICBAcHJvcGVydHkoY2MuUHJlZmFiKVxyXG4gICAgQmxvY2s6IGNjLlByZWZhYiA9IG51bGw7XHJcblxyXG4gICAgQHByb3BlcnR5KGNjLkxhYmVsKVxyXG4gICAgVGltZTogY2MuTGFiZWwgPSBudWxsO1xyXG5cclxuICAgIEBwcm9wZXJ0eShjYy5MYWJlbClcclxuICAgIENvdW50ZG93bjogY2MuTGFiZWwgPSBudWxsO1xyXG5cclxuICAgIEBwcm9wZXJ0eShjYy5Ob2RlKVxyXG4gICAgR3VpZGU6IGNjLk5vZGUgPSBudWxsO1xyXG5cclxuICAgIHN0ZXA6bnVtYmVyOyAgICAgICAgICAgIC8v5byV5a+85q2l6aqkXHJcbiAgICBiZ0NsaWNrOmJvb2xlYW4gICAgICAgICAvL+W8leWvvOaXtk1hc2vpga7nvanlj6/kuI3lj6/ku6Xngrnlh7tcclxuICAgIGJ0bkNsaWNrOmJvb2xlYW4gICAgICAgIC8v5byV5a+85pe277yM5oyJ6ZKu5Y+v5LiN5Y+v54K55Ye7XHJcbiAgICBjdXN0b206bnVtYmVyOyAgICAgICAgICAvL+W9k+WJjemavuW6pumaj+acuuWcsOWbvklEXHJcbiAgICBjb3VudFRpbWU6IG51bWJlcjsgICAgICAvL+aAu+WAkuiuoeaXtlxyXG4gICAgd2F0ZXJUaW1lOiBudW1iZXIgICAgICAgLy/mtKrls7DlgJLorqHml7ZcclxuICAgIHN0YXJ0VGltZTogbnVtYmVyOyAgICAgIC8v5ri45oiP5byA5aeL6K6h5pe2XHJcbiAgICByZXBsYWNlVGltZTogbnVtYmVyICAgICAvL+a0quWzsOWAkuiuoeaXtizlvZPmgLvliankvZnml7bpl7TlsI/kuo7mtKrls7DlgJLorqHml7bvvIznlKjkuo7mm7/ku6NcclxuICAgIGZpbmlzaGlUaW1lOm51bWJlcjsgICAgIC8v5o+Q5Lqk5pe26Ze0XHJcbiAgICBzY29yZVRpbWU6bnVtYmVyICAgICAgICAvL+eUqOS6juiuoeeul+aPkOS6pOWIsOa0quWzsOadpeeahOaXtumXtOW3rlxyXG4gICAgYmxvY2tfQXJyYXk6IGFueTsgICAgICAgLy/miYDmnInlnZfmlbDnu4RcclxuICAgIHBhdGhfQXJyYXk6IGFueTsgICAgICAgIC8v5L+u562R6Lev5b6EXHJcbiAgICB3YXRlcl9BcnJheTogYW55OyAgICAgICAvL+awtOa1gei3r+W+hFxyXG4gICAgbWFwX0FycmF5OiBhbnk7ICAgICAgICAgLy/lnLDlm77mlbDnu4RcclxuICAgIHdhdGVyX1BhdGhBcmF5OmFueTsgICAgIC8v5rSq5bOw6Lev5b6EXHJcbiAgICB0aXBfQXJyYXk6IGFueTsgICAgICAgICAvL+W8leWvvOaVsOe7hFxyXG4gICAgbWFwX0hpZ2h0Om51bWJlcjsgICAgICAgLy/lnLDlm77pq5jluqZcclxuICAgIG1hcF9XaWR0aDpudW1iZXI7ICAgICAgIC8v5Zyw5Zu+5a695bqmXHJcbiAgICBtaW5fVGltZTpudW1iZXI7ICAgICAgICAvL+S4iuS4gOaKiuWcsOWbvue7k+adn+aXtu+8jOi3neemu+a0quWzsOadpeS4tOaXtumXtCAoPjXnp5LmmK/kuKrliIbmsLTlsq0pXHJcbiAgICBtaW5fU3RlcHM6bnVtYmVyOyAgICAgICAvL+W9k+WJjeWcsOWbvuacgOS8mOatpeaVsFxyXG4gICAgcGxhbl9vdmVyOmJvb2xlYW47ICAgICAgLy/mmK/lkKbkv67lu7rlroxcclxuICAgIHdhdGVyVHdlZW46Y2MuVHdlZW47ICAgIC8v5rKz5rC05YCS6K6h5pe25Yqo55S7XHJcblxyXG4gICAgb25Mb2FkICgpIHtcclxuICAgIH1cclxuICAgIHN0YXJ0ICgpIHtcclxuICAgICAgICBjYy5meC5HYW1lQ29uZmlnLkNMSUNLX2luaXQoKTtcclxuICAgICAgICB0aGlzLmZpdCgpO1xyXG4gICAgICAgIHRoaXMuaW5pdCgpO1xyXG4gICAgfVxyXG5cclxuICAgIC8v5aSE55CG5Zyw5Zu+5pWw5o2uIOesrOS4gOWFs+WujOWFqOmaj+acuu+8jOS7juesrOS6jOWFs+W8gOWni++8jOi1ouS6huagueaNrjXnp5LmtKrls7DmnaXkuLTlop7liqDpmr7luqbmraXmlbDvvIzovpPkuoblvZPliY3pmr7luqblh4/mraXmlbBcclxuICAgIGdldE1hcCgpe1xyXG4gICAgICAgIHZhciBjdXN0b20gPSAwO1xyXG4gICAgICAgIHZhciBtYXAgPSBbXTtcclxuICAgICAgICBpZihjYy5meC5HYW1lQ29uZmlnLkdNX0lORk8ubGV2ZWwgPT0gMSl7XHJcbiAgICAgICAgICAgIGN1c3RvbSA9IE1hdGguZmxvb3IoTWF0aC5yYW5kb20oKSogY2MuZnguR2FtZUNvbmZpZy5MRVZFTF9JTkZPW2NjLmZ4LkdhbWVDb25maWcuR01fSU5GTy5sZXZlbF0ubGVuZ3RoKTtcclxuICAgICAgICB9XHJcbiAgICAgICAgZWxzZXtcclxuICAgICAgICAgICAgdmFyIGFyciA9IGNjLmZ4LkdhbWVDb25maWcuTEVWRUxfSU5GT1tjYy5meC5HYW1lQ29uZmlnLkdNX0lORk8ubGV2ZWxdO1xyXG4gICAgICAgICAgICBpZihjYy5meC5HYW1lQ29uZmlnLkdNX0lORk8ubWluX1RpbWUgPT0gLTEpe1xyXG4gICAgICAgICAgICAgICAgbWFwID0gdGhpcy5nZXRNYXBBcnJheShhcnIsY2MuZnguR2FtZUNvbmZpZy5HTV9JTkZPLm1pbl9TdGVwcyAtIDEsZmFsc2UpO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIGVsc2UgaWYoY2MuZnguR2FtZUNvbmZpZy5HTV9JTkZPLm1pbl9UaW1lID49IDUpe1xyXG4gICAgICAgICAgICAgICAgbWFwID0gdGhpcy5nZXRNYXBBcnJheShhcnIsY2MuZnguR2FtZUNvbmZpZy5HTV9JTkZPLm1pbl9TdGVwcyArIDIsdHJ1ZSk7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgZWxzZXtcclxuICAgICAgICAgICAgICAgIG1hcCA9IHRoaXMuZ2V0TWFwQXJyYXkoYXJyLGNjLmZ4LkdhbWVDb25maWcuR01fSU5GTy5taW5fU3RlcHMgKyAxLHRydWUpO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIHZhciByYW5kb20gPSBNYXRoLmZsb29yKE1hdGgucmFuZG9tKCkqIG1hcC5sZW5ndGgpO1xyXG4gICAgICAgICAgICBjdXN0b20gPSBtYXBbcmFuZG9tXTtcclxuICAgICAgICAgICAgLy8gY29uc29sZS5sb2coY3VzdG9tLG1hcCk7XHJcbiAgICAgICAgfVxyXG4gICAgICAgIC8v6K6w5b2V5b2T5YmN5pyA5bCP5q2l5pWwXHJcbiAgICAgICAgY2MuZnguR2FtZUNvbmZpZy5HTV9JTkZPLm1pbl9TdGVwcyA9IGNjLmZ4LkdhbWVDb25maWcuTEVWRUxfSU5GT1tjYy5meC5HYW1lQ29uZmlnLkdNX0lORk8ubGV2ZWxdW2N1c3RvbV0ubWluX3N0ZXBzO1xyXG4gICAgICAgIGNjLmZ4LkdhbWVDb25maWcuR01fSU5GTy5taW5fVGltZSA9IDA7XHJcbiAgICAgICAgcmV0dXJuIGN1c3RvbTtcclxuICAgIH1cclxuICAgICAvKipcclxuICAgICAqIOiOt+WPluS4i+S4gOWFs+mavuW6pu+8jOatpeaVsOWinuWKoDLmiJbogIUx77yM5aaC5p6c5rKh5pyJ5YiZ6ZmN5Yiw5pyJLlxyXG4gICAgICogQHBhcmFtIGFyciDphY3nva7ph4zor7vlj5bvvIzlvZPliY3vvIh4KnjvvInlnLDlm77nrYnnuqflhoXmiYDmnInlnLDlm77mlbDnu4RcclxuICAgICAqIEBwYXJhbSBtaW5fc3RlcHMg5pyA5L2z5q2l5pWw77yM5LiL5LiA5YWz6Zq+5bqm5oiW6ICF6L6T5LqG6ZmN6Zq+5bqm77yM5qC55o2u5pyA5L2z5q2l5pWw5aKe5Yqg5oiW6ICF5YeP5bCR44CCXHJcbiAgICAgKiBAcGFyYW0gdHlwZSAgdHJ1ZeS4uuWinuWKoOatpeaVsO+8jGZhbHNl5Li66L6T5LqG6ZmN5L2O6Zq+5bqm5q2l5pWwXHJcbiAgICAgKi9cclxuICAgIGdldE1hcEFycmF5KGFycixtaW5fc3RlcHMsdHlwZSl7XHJcbiAgICAgICAgdmFyIG1hcCA9IFtdO1xyXG4gICAgICAgIGZvcihsZXQgaT0wOyBpPGFyci5sZW5ndGg7IGkrKyl7XHJcbiAgICAgICAgICAgIGlmKGFycltpXS5taW5fc3RlcHMgPT0gbWluX3N0ZXBzKXtcclxuICAgICAgICAgICAgICAgIG1hcC5wdXNoKGkpO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgICAgIGlmKG1hcC5sZW5ndGggPT0gMCl7XHJcbiAgICAgICAgICAgIGlmKHR5cGUpICBtYXAgPSB0aGlzLmdldE1hcEFycmF5KGFycixtaW5fc3RlcHMgLSAxLHR5cGUpO1xyXG4gICAgICAgICAgICBlbHNlICBtYXAgPSB0aGlzLmdldE1hcEFycmF5KGFycixtaW5fc3RlcHMgKyAxLHR5cGUpO1xyXG4gICAgICAgIH1cclxuICAgICAgICByZXR1cm4gbWFwO1xyXG4gICAgfVxyXG5cclxuICAgIC8v5Yid5aeL5YyW5pWw5o2uXHJcbiAgICBpbml0KCl7XHJcbiAgICAgICAgbGV0IG5hbWUgPSBjYy5meC5HYW1lQ29uZmlnLkdNX0lORk8uZ2FtZUlkICsgXCJfZ3VpZGVcIjtcclxuICAgICAgICB2YXIgZGF0YSA9IEpTT04ucGFyc2UobG9jYWxTdG9yYWdlLmdldEl0ZW0obmFtZSkpO1xyXG5cclxuICAgICAgICBpZihkYXRhICE9IGZhbHNlKXtcclxuICAgICAgICAgICAgY2MuZnguR2FtZUNvbmZpZy5HTV9JTkZPLmd1aWRlID0gdHJ1ZTtcclxuICAgICAgICAgICAgY2MuZnguU3RvcmFnZU1lc3NhZ2Uuc2V0U3RvcmFnZShuYW1lLGNjLmZ4LkdhbWVDb25maWcuR01fSU5GTy5ndWlkZSk7XHJcbiAgICAgICAgfVxyXG4gICAgICAgIGVsc2V7XHJcbiAgICAgICAgICAgIGNjLmZ4LkdhbWVDb25maWcuR01fSU5GTy5ndWlkZSA9IGNjLmZ4LlN0b3JhZ2VNZXNzYWdlLmdldFN0b3JhZ2UobmFtZSk7XHJcbiAgICAgICAgfVxyXG5cclxuICAgICAgICB0aGlzLmluaXRNYXAoKTsgXHJcbiAgICAgICAgdGhpcy5maW5pc2hpVGltZSA9IDA7XHJcbiAgICAgICAgdGhpcy5zY29yZVRpbWUgPSAwO1xyXG4gICAgICAgIHRoaXMucmVwbGFjZVRpbWUgPSAwO1xyXG4gICAgICAgIHRoaXMuc3RhcnRUaW1lID0gY2MuZnguR2FtZVRvb2wuZ2V0VGltZSgpO1xyXG4gICAgICAgIHRoaXMuY291bnRUaW1lID0gY2MuZnguR2FtZUNvbmZpZy5USU1FX0lORk8udG90YWxUaW1lO1xyXG4gICAgICAgIGlmKHRoaXMuY291bnRUaW1lID09IDAgKXtcclxuICAgICAgICAgICAgdGhpcy5nYW1lT3ZlcigpO1xyXG4gICAgICAgIH1cclxuICAgICAgICB0aGlzLndhdGVyVGltZSA9IGNjLmZ4LkdhbWVDb25maWcuVElNRV9JTkZPLndhdGVyVGltZVtjYy5meC5HYW1lQ29uZmlnLkdNX0lORk8ubGV2ZWxdO1xyXG4gICAgICAgIC8vIGlmKHRoaXMuY291bnRUaW1lIDwgdGhpcy53YXRlclRpbWUpIHRoaXMucmVwbGFjZVRpbWUgPSB0aGlzLmNvdW50VGltZTtcclxuICAgICAgICB0aGlzLlRpbWUuc3RyaW5nID0gIGNjLmZ4LkdhbWVUb29sLmdldFRpbWVNYXJnaW4odGhpcy5jb3VudFRpbWUpOyAgICBcclxuXHJcbiAgICAgICAgaWYoIWNjLmZ4LkdhbWVDb25maWcuR01fSU5GTy5ndWlkZSl7XHJcbiAgICAgICAgICAgIHRoaXMuR3VpZGUuYWN0aXZlID0gZmFsc2U7XHJcbiAgICAgICAgICAgIHRoaXMuc3RlcCA9IDA7XHJcbiAgICAgICAgICAgIHZhciBoZWFkID0gdGhpcy5ub2RlLmdldENoaWxkQnlOYW1lKFwiVG9wXCIpLmdldENoaWxkQnlOYW1lKFwiaGVhZFwiKTtcclxuICAgICAgICAgICAgdmFyIHByb2dyZXNzID0gdGhpcy5ub2RlLmdldENoaWxkQnlOYW1lKFwiVG9wXCIpLmdldENoaWxkQnlOYW1lKFwicHJvZ3Jlc3NcIikuZ2V0Q29tcG9uZW50KGNjLlNwcml0ZSk7XHJcbiAgICAgICAgICAgIGhlYWQucnVuQWN0aW9uKGNjLm1vdmVUbyh0aGlzLndhdGVyVGltZSxjYy52MigzMTAsaGVhZC55KSkpO1xyXG5cclxuICAgICAgICAgICAgdGhpcy53YXRlclR3ZWVuID0gY2MudHdlZW4ocHJvZ3Jlc3MpXHJcbiAgICAgICAgICAgIC50byh0aGlzLndhdGVyVGltZSx7ZmlsbFJhbmdlOjF9KVxyXG4gICAgICAgICAgICAuc3RhcnQoKTtcclxuICAgICAgICAgICAgdGhpcy5zY2hlZHVsZSh0aGlzLnVwZGF0ZVdhdGVyVGltZSwxKTtcclxuICAgICAgICAgICAgdGhpcy5zY2hlZHVsZSh0aGlzLnVwZGF0ZUNvdW50RG93blRpbWUsMSk7XHJcbiAgICAgICAgfVxyXG4gICAgICAgIGVsc2V7XHJcbiAgICAgICAgICAgIHRoaXMuR3VpZGUuYWN0aXZlID0gdHJ1ZTtcclxuICAgICAgICAgICAgdGhpcy5ndWlkZU5leHQoKTtcclxuICAgICAgICB9XHJcblxyXG4gICAgfVxyXG4gICAgLy/liJ3lp4vljJblnLDlm75cclxuICAgIGluaXRNYXAoKXtcclxuICAgICAgICBjYy5meC5HYW1lQ29uZmlnLkdNX0lORk8ucm91bmQgKz0gMTtcclxuICAgICAgICBjYy5meC5HYW1lQ29uZmlnLkdNX0lORk8uZmVuID0gMDtcclxuICAgICAgICB0aGlzLmJsb2NrX0FycmF5ID0gW107XHJcbiAgICAgICAgdGhpcy5wYXRoX0FycmF5ID0gW107XHJcbiAgICAgICAgdGhpcy53YXRlcl9BcnJheSA9IFtdO1xyXG4gICAgICAgIHRoaXMubWFwX0FycmF5ID0gW107XHJcbiAgICAgICAgdGhpcy50aXBfQXJyYXkgPSBbXTtcclxuICAgICAgICB0aGlzLnBsYW5fb3ZlciA9IGZhbHNlO1xyXG4gICAgICAgIHRoaXMubWFwX0hpZ2h0ID0gMDtcclxuICAgICAgICB0aGlzLm1hcF9XaWR0aCA9IDA7XHJcbiAgICAgICAgdGhpcy5zdGVwID0gMDtcclxuICAgICAgICB0aGlzLmJnQ2xpY2sgPSBmYWxzZTtcclxuICAgICAgICB0aGlzLmJ0bkNsaWNrID0gZmFsc2U7XHJcbiAgICAgICAgdGhpcy5jdXN0b20gPSAwOyAvLzlcclxuICAgICAgICBpZighY2MuZnguR2FtZUNvbmZpZy5HTV9JTkZPLmd1aWRlICYmY2MuZnguR2FtZUNvbmZpZy5HTV9JTkZPLmxldmVsID09IDAgKXtcclxuICAgICAgICAgICAgY2MuZnguR2FtZUNvbmZpZy5HTV9JTkZPLmxldmVsID0gMTtcclxuICAgICAgICAgICAgdGhpcy5jdXN0b20gPSB0aGlzLmdldE1hcCgpO1xyXG4gICAgICAgIH1cclxuICAgICAgICBlbHNlIGlmKCFjYy5meC5HYW1lQ29uZmlnLkdNX0lORk8uZ3VpZGUpe1xyXG4gICAgICAgICAgICB0aGlzLmN1c3RvbSA9IHRoaXMuZ2V0TWFwKCk7XHJcbiAgICAgICAgfVxyXG4gICAgICAgIC8vIHRoaXMuY3VzdG9tID0gNztcclxuICAgICAgICAvLyBjb25zb2xlLmxvZyh0aGlzLmN1c3RvbSk7XHJcbiAgIFxyXG4gICAgICAgIGxldCBhcnIgPSBjYy5meC5HYW1lQ29uZmlnLkxFVkVMX0lORk9bY2MuZnguR2FtZUNvbmZpZy5HTV9JTkZPLmxldmVsXVt0aGlzLmN1c3RvbV0ubWFwO1xyXG4gICAgICAgIGlmKGNjLmZ4LkdhbWVDb25maWcuR01fSU5GTy5sZXZlbCA9PSAwKXtcclxuICAgICAgICAgICAgdGhpcy5NYXAuc2NhbGUgPSAxLjI7XHJcbiAgICAgICAgfSBcclxuICAgICAgICB0aGlzLm5vZGUuZ2V0Q2hpbGRCeU5hbWUoXCJUb3BcIikuZ2V0Q2hpbGRCeU5hbWUoXCJpZFwiKS5nZXRDb21wb25lbnQoY2MuTGFiZWwpLnN0cmluZyA9IFxyXG4gICAgICAgIGNjLmZ4LkdhbWVDb25maWcuR01fSU5GTy5zY29yZTtcclxuXHJcbiAgICAgICAgLy/lsIblnLDlm754LHnovbTliIfmjaJcclxuICAgICAgICB0aGlzLm1hcF9BcnJheSA9IGFyclswXS5tYXAoKGl0ZW0sIGkpID0+IHtcclxuICAgICAgICAgICAgcmV0dXJuIGFyci5tYXAoKHZhbCkgPT4gdmFsW2ldKVxyXG4gICAgICAgIH0pXHJcbiAgICAgICAgdGhpcy5tYXBfV2lkdGggPSB0aGlzLm1hcF9BcnJheS5sZW5ndGg7XHJcbiAgICAgICAgdGhpcy5tYXBfSGlnaHQgPSB0aGlzLm1hcF9BcnJheVswXS5sZW5ndGg7XHJcblxyXG4gICAgICAgIHRoaXMuTWFwLnggPSg2IC0gdGhpcy5tYXBfQXJyYXkubGVuZ3RoKSo0ODtcclxuICAgICAgICB0aGlzLk1hcC55ID0gKHRoaXMubWFwX0FycmF5WzBdLmxlbmd0aCAtIDYuNSkqNDg7XHJcblxyXG4gICAgICAgIGZvcihsZXQgaT0wO2k8dGhpcy5tYXBfQXJyYXkubGVuZ3RoO2krKyl7XHJcbiAgICAgICAgICAgIGZvcihsZXQgaj0wOyBqPHRoaXMubWFwX0FycmF5IFtpXS5sZW5ndGg7aisrKXtcclxuICAgICAgICAgICAgICAgIGxldCBibG9jayA9IGNjLmluc3RhbnRpYXRlKHRoaXMuQmxvY2spO1xyXG4gICAgICAgICAgICAgICAgYmxvY2sucGFyZW50PSB0aGlzLk1hcDtcclxuICAgICAgICAgICAgICAgIGJsb2NrLmdldENvbXBvbmVudChcIkJsb2NrXCIpLmluaXREYXRhKHRoaXMubWFwX0FycmF5IFtpXVtqXSxjYy52MihpLGopLGNjLnYyKHRoaXMubWFwX1dpZHRoLHRoaXMubWFwX0hpZ2h0KSk7XHJcbiAgICAgICAgICAgICAgICBpZih0aGlzLm1hcF9BcnJheSBbaV1bal0gPT0gY2MuRW51bShCbG9ja1R5cGUpLlN0YXJ0KXtcclxuICAgICAgICAgICAgICAgICAgICB0aGlzLnBhdGhfQXJyYXkucHVzaChjYy52MyhpLGosY2MuRW51bShCbG9ja1R5cGUpLk5vbWFsKSk7XHJcbiAgICAgICAgICAgICAgICAgICAgLy8gdGhpcy53YXRlcl9BcnJheS5wdXNoKGNjLnYzKGksaixjYy5FbnVtKEJsb2NrVHlwZSkuTm9tYWwpKTtcclxuICAgICAgICAgICAgICAgIH0gXHJcbiAgICAgICAgICAgICAgICBibG9jay5zZXRQb3NpdGlvbihjYy52MigtYmxvY2sud2lkdGgqMi41ICsgaSpibG9jay53aWR0aCxibG9jay5oZWlnaHQqNCAtIGoqYmxvY2suaGVpZ2h0KSk7XHJcbiAgICAgICAgICAgICAgICB0aGlzLmJsb2NrX0FycmF5LnB1c2goYmxvY2spO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG5cclxuICAgIH1cclxuICAgICAvKipcclxuICAgICAqIOW8gOWni+WQju+8jOaMieeOqeWutuaTjeS9nO+8jOWwhui3r+W+hOS4reWcsOWbvuWdl+aUvuWFpeaVsOe7hOS4rVxyXG4gICAgICogQHBhcmFtIGRhdGEg5qC55o2u5b2T5YmN5pON5L2c77yM5re75Yqg5bu6562R5Zyw5Zu+5pWw57uEXHJcbiAgICAgKi9cclxuICAgIHNldE1hcChkYXRhKXtcclxuICAgICAgICBmb3IobGV0IGk9MDsgaTxkYXRhLmxlbmd0aDsgaSsrKXtcclxuICAgICAgICAgICAgbGV0IHN0YXJ0ID0gdGhpcy5wYXRoX0FycmF5W3RoaXMucGF0aF9BcnJheS5sZW5ndGgtMV07XHJcbiAgICAgICAgICAgIHN3aXRjaChkYXRhW2ldKXtcclxuICAgICAgICAgICAgICAgIGNhc2UgXCJ1cFwiOlxyXG4gICAgICAgICAgICAgICAgICAgIHRoaXMucGF0aF9BcnJheS5wdXNoKGNjLnYzKHN0YXJ0Lngsc3RhcnQueS0xLGNjLkVudW0oQmxvY2tUeXBlKS5Ob21hbCkpO1xyXG4gICAgICAgICAgICAgICAgICAgIGJyZWFrO1xyXG4gICAgICAgICAgICAgICAgY2FzZSBcImRvd25cIjpcclxuICAgICAgICAgICAgICAgICAgICB0aGlzLnBhdGhfQXJyYXkucHVzaChjYy52MyhzdGFydC54LHN0YXJ0LnkrMSxjYy5FbnVtKEJsb2NrVHlwZSkuTm9tYWwpKTtcclxuICAgICAgICAgICAgICAgICAgICBicmVhaztcclxuICAgICAgICAgICAgICAgIGNhc2UgXCJsZWZ0XCI6XHJcbiAgICAgICAgICAgICAgICAgICAgdGhpcy5wYXRoX0FycmF5LnB1c2goY2MudjMoc3RhcnQueC0xLHN0YXJ0LnksY2MuRW51bShCbG9ja1R5cGUpLk5vbWFsKSk7XHJcbiAgICAgICAgICAgICAgICAgICAgYnJlYWs7XHJcbiAgICAgICAgICAgICAgICBjYXNlIFwicmlnaHRcIjpcclxuICAgICAgICAgICAgICAgICAgICB0aGlzLnBhdGhfQXJyYXkucHVzaChjYy52MyhzdGFydC54KzEsc3RhcnQueSxjYy5FbnVtKEJsb2NrVHlwZSkuTm9tYWwpKTtcclxuICAgICAgICAgICAgICAgICAgICBicmVhaztcclxuICAgICAgICAgICAgICAgIGNhc2UgXCJyZWluZm9yY2VcIjpcclxuICAgICAgICAgICAgICAgICAgICB0aGlzLnBhdGhfQXJyYXkucHVzaChjYy52MyhzdGFydC54LHN0YXJ0LnksY2MuRW51bShCbG9ja1R5cGUpLlJlaW5mb3JjZSkpO1xyXG4gICAgICAgICAgICAgICAgICAgIGJyZWFrO1xyXG4gICAgICAgICAgICAgICAgY2FzZSBcInNvaWxcIjpcclxuICAgICAgICAgICAgICAgICAgICB0aGlzLnBhdGhfQXJyYXkucHVzaChjYy52MyhzdGFydC54LHN0YXJ0LnksY2MuRW51bShCbG9ja1R5cGUpLlhpX1NvaWwpKTtcclxuICAgICAgICAgICAgICAgICAgICBicmVhaztcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgICAgICBpZih0aGlzLnBhdGhfQXJyYXlbdGhpcy5wYXRoX0FycmF5Lmxlbmd0aC0xXS56ICE9IDApe1xyXG4gICAgICAgICAgICB0aGlzLnBhdGhfQXJyYXkucG9wKCk7XHJcbiAgICAgICAgfVxyXG4gICAgICAgIHRoaXMucnVuUm9hZCgwKTtcclxuICAgIH1cclxuICAgIC8qKlxyXG4gICAgICog5byA5aeL5omn6KGM5rSq5bOw5p2l5LqG55qE5Yqo55S7XHJcbiAgICAgKiBAcGFyYW0gb3JkZXIg5bu6562R5Zyw5Zu+5pWw57uE6YeM55qE5omn6KGM55qE5bqP5YiX5Y+377yM5L6d5qyh5b6A5LiL5YqgXHJcbiAgICAgKi9cclxuICAgIHJ1blJvYWQob3JkZXIpe1xyXG4gICAgICAgIG9yZGVyID0gcGFyc2VJbnQob3JkZXIpO1xyXG5cclxuICAgICAgICBpZihvcmRlciA+IDApe1xyXG4gICAgICAgICAgICBpZih0aGlzLnBhdGhfQXJyYXlbb3JkZXItMV0ueiA9PSAwKXtcclxuICAgICAgICAgICAgICAgIC8vY29uc29sZS5sb2coXCIx5q2j5bi45pS+5YWlXCIsdGhpcy5wYXRoX0FycmF5W29yZGVyLTFdLngsdGhpcy5wYXRoX0FycmF5W29yZGVyLTFdLnksdGhpcy5wYXRoX0FycmF5W29yZGVyLTFdLnopXHJcbiAgICAgICAgICAgICAgICB0aGlzLmNoYW5nZVdhdGVyKGNjLnYzKHRoaXMucGF0aF9BcnJheVtvcmRlci0xXS54LHRoaXMucGF0aF9BcnJheVtvcmRlci0xXS55LDApKTtcclxuICAgICAgICAgICAgICAgIGlmKG9yZGVyID09IHRoaXMucGF0aF9BcnJheS5sZW5ndGgtMSl7XHJcbiAgICAgICAgICAgICAgICAgICAgdGhpcy5jaGFuZ2VXYXRlcihjYy52Myh0aGlzLnBhdGhfQXJyYXlbb3JkZXJdLngsdGhpcy5wYXRoX0FycmF5W29yZGVyXS55LDApKTtcclxuICAgICAgICAgICAgICAgICAgICAvLyBjb25zb2xlLmxvZyhcIuacgOWQjuaUvuWFpVwiLHRoaXMucGF0aF9BcnJheVtvcmRlcl0ueCx0aGlzLnBhdGhfQXJyYXlbb3JkZXJdLnkpXHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgZWxzZXtcclxuICAgICAgICAgICAgICAgIC8vY29uc29sZS5sb2coXCIy5o+S5YWlXCIsdGhpcy5wYXRoX0FycmF5W29yZGVyXS54LHRoaXMucGF0aF9BcnJheVtvcmRlcl0ueSx0aGlzLnBhdGhfQXJyYXlbb3JkZXJdLnopXHJcbiAgICAgICAgICAgICAgICB0aGlzLmNoYW5nZVdhdGVyKGNjLnYzKHRoaXMucGF0aF9BcnJheVtvcmRlcl0ueCx0aGlzLnBhdGhfQXJyYXlbb3JkZXJdLnksMCkpO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfSBcclxuICAgXHJcbiAgICAgICAgaWYob3JkZXIgPD0gdGhpcy5wYXRoX0FycmF5Lmxlbmd0aC0xKXtcclxuICAgICAgICAgICAgbGV0IGkgPSB0aGlzLnBhdGhfQXJyYXlbb3JkZXJdLngqdGhpcy5tYXBfQXJyYXlbMF0ubGVuZ3RoK3RoaXMucGF0aF9BcnJheVtvcmRlcl0ueTtcclxuICAgICAgICAgICAgbGV0IGRpcmVjdGlvbiA9IFwiXCI7XHJcbiAgICAgICAgICAgIGxldCBjaXJjdWxhdGUgPSB0cnVlO1xyXG4gICAgICAgICAgICAvL+acgOWQjuS4gOatpee7k+adn1xyXG4gICAgICAgICAgICBpZihvcmRlciA9PSB0aGlzLnBhdGhfQXJyYXkubGVuZ3RoLTEpe1xyXG4gICAgICAgICAgICAgICAgY2lyY3VsYXRlID0gZmFsc2U7XHJcbiAgICAgICAgICAgICAgICBkaXJlY3Rpb24gPSBcIkVuZFwiO1xyXG4gICAgICAgICAgICAgICAgLy8gY29uc29sZS5sb2coXCLov5vlhaXnu5PmnZ9cIik7XHJcbiAgICAgICAgICAgICAgICBpZih0aGlzLnBhdGhfQXJyYXkubGVuZ3RoID4gMSl7XHJcbiAgICAgICAgICAgICAgICAgICAgLy8gY29uc29sZS5sb2coXCLlh4blpIflh7rmsLRcIik7XHJcbiAgICAgICAgICAgICAgICAgICAgc2V0VGltZW91dCgoKSA9PiB7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIGlmKCF0aGlzLnBsYW5fb3Zlcil7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB0aGlzLnBsYW5fb3ZlciA9IHRydWU7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB2YXIgaGVhZCA9IHRoaXMubm9kZS5nZXRDaGlsZEJ5TmFtZShcIlRvcFwiKS5nZXRDaGlsZEJ5TmFtZShcImhlYWRcIik7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB2YXIgcHJvZ3Jlc3MgPSB0aGlzLm5vZGUuZ2V0Q2hpbGRCeU5hbWUoXCJUb3BcIikuZ2V0Q2hpbGRCeU5hbWUoXCJwcm9ncmVzc1wiKS5nZXRDb21wb25lbnQoY2MuU3ByaXRlKTtcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGhlYWQuc3RvcEFsbEFjdGlvbnMoKTtcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGhlYWQuc2V0UG9zaXRpb24oMzEwLGhlYWQueSk7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBpZih0aGlzLndhdGVyVHdlZW4pIHRoaXMud2F0ZXJUd2Vlbi5zdG9wKCk7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBwcm9ncmVzcy5maWxsUmFuZ2UgPSAxO1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgY2MuZnguR2FtZUNvbmZpZy5HTV9JTkZPLm1pbl9UaW1lID0gdGhpcy53YXRlclRpbWU7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB0aGlzLnJ1bldhdGVyKDApOyBcclxuICAgICAgICAgICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgICAgIH0sIDUwMCk7XHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICBlbHNle1xyXG4gICAgICAgICAgICAgICAgICAgIGRpcmVjdGlvbiA9IFwiZXJyXCI7XHJcbiAgICAgICAgICAgICAgICAgICAgLy8gY29uc29sZS5sb2coXCLov5vlhaXnu5PmnZ9lcnJcIik7XHJcbiAgICAgICAgICAgICAgICB9XHJcblxyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIGVsc2V7XHJcbiAgICAgICAgICAgICAgICBpZih0aGlzLnBhdGhfQXJyYXlbb3JkZXJdLnogPT0gNiAmJiBvcmRlciArIDEgPCB0aGlzLnBhdGhfQXJyYXkubGVuZ3RoICkge1xyXG4gICAgICAgICAgICAgICAgICAgIGRpcmVjdGlvbiA9IFwiUmVpbmZvcmNlXCI7XHJcbiAgICAgICAgICAgICAgICAgICAgaSA9IHRoaXMucGF0aF9BcnJheVtvcmRlcisxXS54KnRoaXMubWFwX0FycmF5WzBdLmxlbmd0aCt0aGlzLnBhdGhfQXJyYXlbb3JkZXIrMV0ueTtcclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgIGVsc2UgaWYob3JkZXIrMSA8IHRoaXMucGF0aF9BcnJheS5sZW5ndGgpe1xyXG4gICAgICAgICAgICAgICAgICAgIGlmKHRoaXMucGF0aF9BcnJheVtvcmRlcisxXS56ID09IDUpe1xyXG4gICAgICAgICAgICAgICAgICAgICAgICBkaXJlY3Rpb24gPSBcIlhpX1NvaWxcIjtcclxuICAgICAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICAgICAgZWxzZSBpZih0aGlzLnBhdGhfQXJyYXlbb3JkZXIrMV0ueiA9PSA2ICYmIG9yZGVyID09IDAgJiYgb3JkZXIgKyAxIDwgdGhpcy5wYXRoX0FycmF5Lmxlbmd0aCl7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIC8vIGRpcmVjdGlvbiA9IHRoaXMuZ2V0RGlyZWN0aW9uKG9yZGVyKzEsdGhpcy5wYXRoX0FycmF5KTtcclxuICAgICAgICAgICAgICAgICAgICAgICAgZGlyZWN0aW9uID0gdGhpcy5nZXREaXJlY3Rpb24ob3JkZXIsdGhpcy5wYXRoX0FycmF5KTtcclxuICAgICAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICAgICAgZWxzZXtcclxuICAgICAgICAgICAgICAgICAgICAgICAgZGlyZWN0aW9uID0gdGhpcy5nZXREaXJlY3Rpb24ob3JkZXIsdGhpcy5wYXRoX0FycmF5KTtcclxuICAgICAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICBlbHNle1xyXG4gICAgICAgICAgICAgICAgICAgIGRpcmVjdGlvbiA9IHRoaXMuZ2V0RGlyZWN0aW9uKG9yZGVyLHRoaXMucGF0aF9BcnJheSk7XHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgLy8gY29uc29sZS5sb2cob3JkZXIsdGhpcy5wYXRoX0FycmF5W29yZGVyXS54LHRoaXMucGF0aF9BcnJheVtvcmRlcl0ueSxpKTtcclxuIFxyXG4gICAgICAgICAgICAvLyBjb25zb2xlLmxvZyhcIuatpemqpDpcIixvcmRlcixcIuaWueWQkVwiLGRpcmVjdGlvbik7XHJcbiAgICAgICAgICAgIGxldCBqZyA9IHRoaXMuZ2V0Qm91bmRhcnkob3JkZXIsdGhpcy5wYXRoX0FycmF5W29yZGVyXS54LHRoaXMucGF0aF9BcnJheVtvcmRlcl0ueSxkaXJlY3Rpb24sdGhpcy5wYXRoX0FycmF5KTtcclxuXHJcbiAgICAgICAgICAgIC8vIGlmKGRpcmVjdGlvbiA9PSBcIlwiIHx8IGpnID09IGZhbHNlKSByZXR1cm47XHJcbiAgICAgICAgICAgIGlmKGRpcmVjdGlvbiA9PSBcImVyclwiIHx8IGRpcmVjdGlvbiA9PSBcIlwiIHx8IGpnID09IGZhbHNlKXtcclxuICAgICAgICAgICAgICAgIGNjLmZ4Lk5vdGlmaWNhdGlvbnMuZW1pdChjYy5meC5NZXNzYWdlLnNob3dSZXN1bHQsXCJsb3NlXCIpO1xyXG4gICAgICAgICAgIFxyXG4gICAgICAgICAgICAgICAgcmV0dXJuO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIGlmKCBpPDAgfHwgaSA+ICh0aGlzLmJsb2NrX0FycmF5Lmxlbmd0aC0xKSl7XHJcbiAgICAgICAgICAgICAgICBjYy5meC5Ob3RpZmljYXRpb25zLmVtaXQoY2MuZnguTWVzc2FnZS5zaG93UmVzdWx0LFwibG9zZVwiKTtcclxuICAgICAgICAgICAgICAgIHJldHVybjtcclxuICAgICAgICAgICAgfVxyXG5cclxuICAgICAgICAgICAgbGV0IHRhcmdldCA9IHRoaXMuYmxvY2tfQXJyYXlbaV0uZ2V0Q29tcG9uZW50KFwiQmxvY2tcIik7XHJcbiAgICAgICAgICAgIHRhcmdldC5zZXRQYXRoKGRpcmVjdGlvbik7XHJcblxyXG4gICAgICAgICAgICBpZihvcmRlciA+IDAgJiYgb3JkZXIgPCB0aGlzLnBhdGhfQXJyYXkubGVuZ3RoLTEpe1xyXG4gICAgICAgICAgICAgICAgaWYodGhpcy5wYXRoX0FycmF5W29yZGVyKzFdLnogPT0gNSl7XHJcbiAgICAgICAgICAgICAgICAgICAgdGhpcy5zZXRfU29pbChvcmRlcisxLHRoaXMucGF0aF9BcnJheSxcInJvYWRcIik7XHJcbiAgICAgICAgICAgICAgICAgICAgY2lyY3VsYXRlID0gZmFsc2U7XHJcbiAgICAgICAgICAgICAgICAgICAgcmV0dXJuO1xyXG4gXHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICBlbHNlIGlmKG9yZGVyID09IDEgJiYgdGhpcy5wYXRoX0FycmF5W29yZGVyXS56ID09IDUpe1xyXG4gICAgICAgICAgICAgICAgICAgIHRoaXMuc2V0X1NvaWwob3JkZXIsdGhpcy5wYXRoX0FycmF5LFwicm9hZFwiKTtcclxuICAgICAgICAgICAgICAgICAgICBjaXJjdWxhdGUgPSBmYWxzZTtcclxuICAgICAgICAgICAgICAgICAgICByZXR1cm47XHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgbGV0IHBvcyA9IGNjLnYyKCk7XHJcbiAgICAgICAgICAgIGlmKGRpcmVjdGlvbiA9PSBcIkVuZFwiKXtcclxuICAgICAgICAgICAgICAgIGlmKG9yZGVyID4gMCl7XHJcbiAgICAgICAgICAgICAgICAgICAgLy8gaWYodGhpcy5wYXRoX0FycmF5W29yZGVyLTFdLnogPT0gMCl7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIHBvcyA9IGNjLnYyKHRoaXMucGF0aF9BcnJheVtvcmRlci0xXS54LCB0aGlzLnBhdGhfQXJyYXlbb3JkZXItMV0ueSk7XHJcbiAgICAgICAgICAgICAgICAgICAgLy8gfVxyXG4gICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIGxldCBkYXRhID0ge1xyXG4gICAgICAgICAgICAgICAgb3JkZXI6b3JkZXIsXHJcbiAgICAgICAgICAgICAgICB0aW1lOmNjLmZ4LkdhbWVDb25maWcuVElNRV9JTkZPLndhdGVyU3BlZWRbY2MuZnguR2FtZUNvbmZpZy5HTV9JTkZPLmxldmVsXSxcclxuICAgICAgICAgICAgICAgIHR5cGU6dGhpcy5wYXRoX0FycmF5W29yZGVyXS56LFxyXG4gICAgICAgICAgICAgICAgY2lyY3VsYXRlOmNpcmN1bGF0ZSxcclxuICAgICAgICAgICAgICAgIGxhc3Q6cG9zXHJcbiAgICAgICAgICAgIH07XHJcbiAgICAgICAgXHJcbiAgICAgICAgICAgIHRhcmdldC5ydW5Sb2FkKGRhdGEpO1xyXG4gICAgICAgIH1cclxuICAgIH1cclxuICAgIC8qKlxyXG4gICAgICog5Yik5pat6L6555WM44CC5oiW6ICF5pKe5bGx77yM5oiW6ICF5rm/5Zyw5rKh5pyJ5Yqg5Zu6XHJcbiAgICAgKiBAcGFyYW0gb3JkZXIg5bu6562R5Zyw5Zu+5pWw57uE6YeM55qE5omn6KGM55qE5bqP5YiX5Y+3XHJcbiAgICAgKiBAcGFyYW0geCDlvZPliY3mk43kvZzlnLDlnZfmqKrlnZDmoIdcclxuICAgICAqIEBwYXJhbSB5IOW9k+WJjeaTjeS9nOWcsOWdl+e6teWdkOagh1xyXG4gICAgICogQHBhcmFtIGRpcmVjdGlvbiDlvZPliY3mk43kvZzmlrnlkJHvvIzoi6XkuI3mmK/mlrnlkJHliJnkuLrmga/lo6TmiJbogIXliqDlm7pcclxuICAgICAqIEBwYXJhbSByb2FkIOW7uuetkeWcsOWbvuaVsOe7hO+8jOWPr+eQhuino+S4uui3r+W+hOaVsOe7hO+8jHBhdGhfQXJyYXlcclxuICAgICAqL1xyXG4gICAgZ2V0Qm91bmRhcnkob3JkZXIseCx5LGRpcmVjdGlvbixyb2FkKXtcclxuICAgICAgICBsZXQgamcgPSB0cnVlO1xyXG4gICAgICAgIGlmKHggPCAwIHx8IHggPj0gdGhpcy5tYXBfV2lkdGggfHwgeSA8IDAgfHwgeSA+PSB0aGlzLm1hcF9IaWdodCl7XHJcbiAgICAgICAgICAgIGpnID0gZmFsc2U7XHJcbiAgICAgICAgICAgIC8vIGNvbnNvbGUubG9nKFwi6LaF6L+H6L6555WM77yM5ri45oiP57uT5p2fXCIpO1xyXG4gICAgICAgICAgICAvLyBhbGVydChcIui2hei/h+i+ueeVjO+8jOayu+awtOWksei0pVwiKTtcclxuICAgICAgICAgICAgY2MuZnguTm90aWZpY2F0aW9ucy5lbWl0KGNjLmZ4Lk1lc3NhZ2Uuc2hvd1Jlc3VsdCxcImxvc2VcIik7XHJcbiAgICAgICAgfVxyXG4gICAgICAgIGVsc2Uge1xyXG4gICAgICAgICAgICBsZXQgaSA9IHJvYWRbb3JkZXJdLngqdGhpcy5tYXBfQXJyYXlbMF0ubGVuZ3RoK3JvYWRbb3JkZXJdLnk7XHJcbiAgICAgICAgICAgIGxldCB0YXJnZXQgPSB0aGlzLmJsb2NrX0FycmF5W2ldLmdldENvbXBvbmVudChcIkJsb2NrXCIpO1xyXG4gICAgICAgICAgICBpZih0YXJnZXQuYmxvY2tfVHlwZSA9PSAzKXtcclxuICAgICAgICAgICAgICAgIGpnID0gZmFsc2U7XHJcbiAgICAgICAgICAgICAgICAvLyBjb25zb2xlLmxvZyhcIuS/ruetkeWxseWzsO+8jOa4uOaIj+e7k+adn1wiKTtcclxuICAgICAgICAgICAgICAgIC8vIGFsZXJ0KFwi5L+u562R5bGx5bOw77yM5rK75rC05aSx6LSlXCIpO1xyXG4gICAgICAgICAgICAgICAgY2MuZnguTm90aWZpY2F0aW9ucy5lbWl0KGNjLmZ4Lk1lc3NhZ2Uuc2hvd1Jlc3VsdCxcImxvc2VcIik7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgZWxzZSBpZih0YXJnZXQuYmxvY2tfVHlwZSA9PSAyICYmIGRpcmVjdGlvbiAhPSBcIlJlaW5mb3JjZVwiKXtcclxuICAgICAgICAgICAgICAgIGpnID0gZmFsc2U7XHJcbiAgICAgICAgICAgICAgICAvLyBjb25zb2xlLmxvZyhcIuS/ruetkeacquWKoOWbuua5v+WcsCzmuLjmiI/nu5PmnZ9cIik7XHJcbiAgICAgICAgICAgICAgICAvLyBhbGVydChcIuS/ruetkeacquWKoOWbuua5v+WcsCzmuLjmiI/nu5PmnZ9cIik7XHJcbiAgICAgICAgICAgICAgICBjYy5meC5Ob3RpZmljYXRpb25zLmVtaXQoY2MuZnguTWVzc2FnZS5zaG93UmVzdWx0LFwibG9zZVwiKTtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgICAgICByZXR1cm4gamc7XHJcbiAgICB9XHJcbiAgICAvKipcclxuICAgICAqIOW8gOWni+aJp+ihjOa0quWzsOadpeS6hueahOWKqOeUu1xyXG4gICAgICogQHBhcmFtIG9yZGVyIOW7uuetkeWcsOWbvuaVsOe7hOmHjOeahOaJp+ihjOeahOW6j+WIl+WPt++8jOS+neasoeW+gOS4i+WKoFxyXG4gICAgICovXHJcbiAgICBydW5XYXRlcihvcmRlcil7XHJcbiAgICAgICAgb3JkZXIgPSBwYXJzZUludChvcmRlcik7XHJcbiAgICAgICAgXHJcbiAgICAgICAgaWYob3JkZXIgPD0gdGhpcy53YXRlcl9BcnJheS5sZW5ndGgtMSl7XHJcbiAgICAgICAgICAgIGxldCBpID0gdGhpcy53YXRlcl9BcnJheVtvcmRlcl0ueCp0aGlzLm1hcF9BcnJheVswXS5sZW5ndGgrdGhpcy53YXRlcl9BcnJheVtvcmRlcl0ueTtcclxuICAgICAgICAgICAgbGV0IGRpcmVjdGlvbiA9IFwiXCI7XHJcbiAgICAgICAgICAgIGxldCBjaXJjdWxhdGUgPSB0cnVlO1xyXG4gICAgICAgICAgICAvL+acgOWQjuS4gOatpee7k+adn1xyXG4gICAgICAgICAgICBpZihvcmRlciA9PSB0aGlzLndhdGVyX0FycmF5Lmxlbmd0aC0xKXtcclxuICAgICAgICAgICAgICAgIGNpcmN1bGF0ZSA9IGZhbHNlO1xyXG4gICAgICAgICAgICAgICAgZGlyZWN0aW9uID0gXCJFbmRcIjtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICBlbHNle1xyXG4gICAgICAgICAgICAgICAgaWYodGhpcy53YXRlcl9BcnJheVtvcmRlcl0ueiA9PSA2ICYmIG9yZGVyICsgMSA8IHRoaXMud2F0ZXJfQXJyYXkubGVuZ3RoICYmIG9yZGVyIT0xKSB7XHJcbiAgICAgICAgICAgICAgICAgICAgZGlyZWN0aW9uID0gXCJSZWluZm9yY2VcIjtcclxuICAgICAgICAgICAgICAgICAgICBpID0gdGhpcy53YXRlcl9BcnJheVtvcmRlcisxXS54KnRoaXMubWFwX0FycmF5WzBdLmxlbmd0aCt0aGlzLndhdGVyX0FycmF5W29yZGVyKzFdLnk7XHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICBlbHNlIGlmKG9yZGVyKzEgPCB0aGlzLndhdGVyX0FycmF5Lmxlbmd0aCl7XHJcbiAgICAgICAgICAgICAgICAgICAgaWYodGhpcy53YXRlcl9BcnJheVtvcmRlcisxXS56ID09IDUpe1xyXG4gICAgICAgICAgICAgICAgICAgICAgICBkaXJlY3Rpb24gPSBcIlhpX1NvaWxcIjtcclxuICAgICAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICAgICAgZWxzZSBpZih0aGlzLndhdGVyX0FycmF5W29yZGVyKzFdLnogPT0gNiAmJiBvcmRlciA9PSAwKXtcclxuICAgICAgICAgICAgICAgICAgICAgICAgZGlyZWN0aW9uID0gXCJSZWluZm9yY2VcIjtcclxuICAgICAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICAgICAgZWxzZXtcclxuICAgICAgICAgICAgICAgICAgICAgICAgZGlyZWN0aW9uID0gdGhpcy5nZXREaXJlY3Rpb24ob3JkZXIsdGhpcy53YXRlcl9BcnJheSk7XHJcbiAgICAgICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgZWxzZXtcclxuICAgICAgICAgICAgICAgICAgICBkaXJlY3Rpb24gPSB0aGlzLmdldERpcmVjdGlvbihvcmRlcix0aGlzLndhdGVyX0FycmF5KTtcclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICBsZXQgamcgPSB0aGlzLmdldEJvdW5kYXJ5KG9yZGVyLHRoaXMud2F0ZXJfQXJyYXlbb3JkZXJdLngsdGhpcy53YXRlcl9BcnJheVtvcmRlcl0ueSxkaXJlY3Rpb24sdGhpcy53YXRlcl9BcnJheSk7XHJcbiAgICAgICAgICAgIGlmKGRpcmVjdGlvbiA9PSBcIlwiIHx8IGpnID09IGZhbHNlIHx8IGRpcmVjdGlvbiA9PSBcImVyclwiKXtcclxuICAgICAgICAgICAgICAgIGNjLmZ4Lk5vdGlmaWNhdGlvbnMuZW1pdChjYy5meC5NZXNzYWdlLnNob3dSZXN1bHQsXCJsb3NlXCIpO1xyXG4gICAgICAgICAgICAgICAgcmV0dXJuO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIGxldCB0YXJnZXQgPSB0aGlzLmJsb2NrX0FycmF5W2ldLmdldENvbXBvbmVudChcIkJsb2NrXCIpO1xyXG4gICAgICAgICAgICB0YXJnZXQuc2V0UGF0aChkaXJlY3Rpb24pO1xyXG5cclxuICAgICAgICAgICAgaWYob3JkZXIgPiAwICYmIG9yZGVyIDwgdGhpcy53YXRlcl9BcnJheS5sZW5ndGgtMSl7XHJcbiAgICAgICAgICAgICAgICBpZih0aGlzLndhdGVyX0FycmF5W29yZGVyKzFdLnogPT0gNSl7XHJcbiAgICAgICAgICAgICAgICAgICAgdGhpcy5zZXRfU29pbChvcmRlcisxLHRoaXMud2F0ZXJfQXJyYXksXCJ3YXRlclwiKTtcclxuICAgICAgICAgICAgICAgICAgICBjaXJjdWxhdGUgPSBmYWxzZTtcclxuICAgICAgICAgICAgICAgICAgICByZXR1cm47XHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICBlbHNlIGlmKG9yZGVyID09IDEgJiYgdGhpcy53YXRlcl9BcnJheVtvcmRlcl0ueiA9PSA1KXtcclxuICAgICAgICAgICAgICAgICAgICB0aGlzLnNldF9Tb2lsKG9yZGVyLHRoaXMud2F0ZXJfQXJyYXksXCJ3YXRlclwiKTtcclxuICAgICAgICAgICAgICAgICAgICBjaXJjdWxhdGUgPSBmYWxzZTtcclxuICAgICAgICAgICAgICAgICAgICByZXR1cm47XHJcbiAgICAgICAgICAgICAgICB9IFxyXG4gICAgICAgICAgICB9XHJcblxyXG4gICAgICAgICAgICBsZXQgcG9zID0gY2MudjIoKTtcclxuICAgICAgICAgICAgaWYoZGlyZWN0aW9uID09IFwiRW5kXCIpe1xyXG4gICAgICAgICAgICAgICAgaWYob3JkZXIgPiAwKXtcclxuICAgICAgICAgICAgICAgICAgICBpZih0aGlzLndhdGVyX0FycmF5W29yZGVyLTFdLnogPT0gMCl7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIHBvcyA9IGNjLnYyKHRoaXMud2F0ZXJfQXJyYXlbb3JkZXItMV0ueCwgdGhpcy53YXRlcl9BcnJheVtvcmRlci0xXS55KTtcclxuICAgICAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgbGV0IGRhdGEgPSB7XHJcbiAgICAgICAgICAgICAgICBvcmRlcjpvcmRlcixcclxuICAgICAgICAgICAgICAgIHRpbWU6Y2MuZnguR2FtZUNvbmZpZy5USU1FX0lORk8ud2F0ZXJTcGVlZFtjYy5meC5HYW1lQ29uZmlnLkdNX0lORk8ubGV2ZWxdLFxyXG4gICAgICAgICAgICAgICAgdHlwZTp0aGlzLndhdGVyX0FycmF5W29yZGVyXS56LFxyXG4gICAgICAgICAgICAgICAgY2lyY3VsYXRlOmNpcmN1bGF0ZSxcclxuICAgICAgICAgICAgICAgIGxhc3Q6cG9zXHJcbiAgICAgICAgICAgIH07XHJcbiAgICAgICAgICAgIHRhcmdldC5ydW5XYXRlcihkYXRhKTtcclxuICAgICAgICB9XHJcbiAgICB9XHJcbiAgICAvKipcclxuICAgICAqIOiOt+WPluaBr+WjpOeahOagvOWtkOeahOaWueWQkVxyXG4gICAgICogQHBhcmFtIG9yZGVyIOW7uuetkeWcsOWbvuaVsOe7hOmHjOeahOaJp+ihjOeahOW6j+WIl+WPt++8jOS+neasoeW+gOS4i+WKoFxyXG4gICAgICogQHBhcmFtIHJvYWQg5bu6562R5Zyw5Zu+5pWw57uE5oiW6ICF5rSq5bOw6Lev5b6E5pWw57uE77yM5Y+v55CG6Kej5Li66Lev5b6E5pWw57uE77yMcGF0aF9BcnJheSB3YXRlcl9BcnJheVxyXG4gICAgICovXHJcbiAgICBnZXRYaV9Tb2lsKG9yZGVyLHJvYWQpe1xyXG4gICAgICAgIHZhciBkaXJlY3Rpb24gPSBudWxsO1xyXG4gICAgICAgIC8v5aaC5p6c5oGv5aOk5ZCO6Z2i6L+Y5pyJ5LiL5LiA5q2l55qE6K+dXHJcbiAgICAgICAgaWYob3JkZXIgKyAxIDwgcm9hZC5sZW5ndGgpe1xyXG4gICAgICAgICAgICBkaXJlY3Rpb24gPSB0aGlzLmdldERpcmVjdGlvbihvcmRlcixyb2FkKTtcclxuICAgICAgICAgICAgaWYoZGlyZWN0aW9uID09IFwidXBcIiB8fCBkaXJlY3Rpb24gPT0gXCJyaWdodF91cFwiIHx8IGRpcmVjdGlvbiA9PSBcImxlZnRfdXBcIil7XHJcbiAgICAgICAgICAgICAgICBkaXJlY3Rpb24gPSBcInVwXCI7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgZWxzZSBpZihkaXJlY3Rpb24gPT0gXCJkb3duXCIgfHwgZGlyZWN0aW9uID09IFwibGVmdF9kb3duXCIgfHwgZGlyZWN0aW9uID09IFwicmlnaHRfZG93blwiKXtcclxuICAgICAgICAgICAgICAgIGRpcmVjdGlvbiA9IFwiZG93blwiO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIGVsc2UgaWYoZGlyZWN0aW9uID09IFwibGVmdFwiIHx8IGRpcmVjdGlvbiA9PSBcInVwX2xlZnRcIiB8fCBkaXJlY3Rpb24gPT0gXCJkb3duX2xlZnRcIil7XHJcbiAgICAgICAgICAgICAgICBkaXJlY3Rpb24gPSBcImxlZnRcIjtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICBlbHNlIGlmKGRpcmVjdGlvbiA9PSBcInJpZ2h0XCIgfHwgZGlyZWN0aW9uID09IFwidXBfcmlnaHRcIiB8fCBkaXJlY3Rpb24gPT0gXCJkb3duX3JpZ2h0XCIpe1xyXG4gICAgICAgICAgICAgICAgZGlyZWN0aW9uID0gXCJyaWdodFwiO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfSAgXHJcbiAgICAgICAgcmV0dXJuIGRpcmVjdGlvbjtcclxuICAgIH1cclxuICAgIC8qKlxyXG4gICAgICog6K6+572u5oGv5aOk5omn6KGM5pa55rOVXHJcbiAgICAgKiBAcGFyYW0gb3JkZXIg5bu6562R5Zyw5Zu+5pWw57uE6YeM55qE5omn6KGM55qE5bqP5YiX5Y+377yM5L6d5qyh5b6A5LiL5YqgXHJcbiAgICAgKiBAcGFyYW0gcm9hZCDlu7rnrZHlnLDlm77mlbDnu4TmiJbogIXmtKrls7Dot6/lvoTmlbDnu4TvvIzlj6/nkIbop6PkuLrot6/lvoTmlbDnu4TvvIxwYXRoX0FycmF5IHdhdGVyX0FycmF5XHJcbiAgICAgKiBAcGFyYW0gbmFtZSByb2Fk5oiW6ICFd2F0ZXIs5bu6562R6Lev5b6E5oiW6ICF5rSq5bOw6Lev5b6EXHJcbiAgICAgKi9cclxuICAgIHNldF9Tb2lsKG9yZGVyLHJvYWQsbmFtZSl7XHJcbiAgICAgICAgdmFyIGRpcmVjdGlvbiA9IHRoaXMuZ2V0WGlfU29pbChvcmRlcixyb2FkKTtcclxuXHJcbiAgICAgICAgdmFyIGxlbmd0aCA9IDA7XHJcbiAgICAgICAgaWYoZGlyZWN0aW9uID09IFwicmlnaHRcIil7XHJcbiAgICAgICAgICAgIGxlbmd0aCA9IHRoaXMubWFwX1dpZHRoIC0gMTtcclxuICAgICAgICAgICAgLy8gbGV0IHRlbXAgPSB0aGlzLm1hcF9XaWR0aCAtIDE7XHJcbiAgICAgICAgICAgIGZvcihsZXQgaT1yb2FkW29yZGVyXS54O2k8PWxlbmd0aDtpKyspe1xyXG4gICAgICAgICAgICAgICAgbGV0IG4gPSBpKnRoaXMubWFwX0FycmF5WzBdLmxlbmd0aCtyb2FkW29yZGVyXS55O1xyXG4gICAgICAgICAgICAgICAgbGV0IHRhcmdldCA9IHRoaXMuYmxvY2tfQXJyYXlbbl0uZ2V0Q29tcG9uZW50KFwiQmxvY2tcIik7XHJcbiAgICAgICAgICAgICAgICBpZih0YXJnZXQuYmxvY2tfVHlwZSA9PSAzIHx8IHRhcmdldC5ibG9ja19UeXBlID09IDQpe1xyXG4gICAgICAgICAgICAgICAgICAgIGxlbmd0aCA9IGktMTtcclxuICAgICAgICAgICAgICAgICAgICBpZih0YXJnZXQuYmxvY2tfVHlwZSA9PSA0KXtcclxuICAgICAgICAgICAgICAgICAgICAgICAgbGVuZ3RoICs9IDE7XHJcbiAgICAgICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgICAgIGkgPSAxMDAwMDtcclxuICAgICAgICAgICAgICAgICAgICBicmVhaztcclxuICAgICAgICAgICAgICAgIH1cclxuICBcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH0gXHJcbiAgICAgICAgZWxzZSBpZihkaXJlY3Rpb24gPT0gXCJsZWZ0XCIpe1xyXG4gICAgICAgICAgICBsZW5ndGggPSAwO1xyXG4gICAgICAgICAgICBmb3IobGV0IGk9cm9hZFtvcmRlcl0ueDtpPj1sZW5ndGg7aS0tKXtcclxuICAgICAgICAgICAgICAgIGxldCBuID0gaSp0aGlzLm1hcF9BcnJheVswXS5sZW5ndGgrcm9hZFtvcmRlcl0ueTtcclxuICAgICAgICAgICAgICAgIGxldCB0YXJnZXQgPSB0aGlzLmJsb2NrX0FycmF5W25dLmdldENvbXBvbmVudChcIkJsb2NrXCIpO1xyXG4gICAgICAgICAgICAgICAgXHJcbiAgICAgICAgICAgICAgICBpZih0YXJnZXQuYmxvY2tfVHlwZSA9PSAzIHx8IHRhcmdldC5ibG9ja19UeXBlID09IDQpe1xyXG4gICAgICAgICAgICAgICAgICAgIGxlbmd0aCA9ICBpICsgMTtcclxuICAgICAgICAgICAgICAgICAgICBpZih0YXJnZXQuYmxvY2tfVHlwZSA9PSA0KXtcclxuICAgICAgICAgICAgICAgICAgICAgICAgbGVuZ3RoIC09IDE7XHJcbiAgICAgICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgICAgIGkgPSAtMTtcclxuICAgICAgICAgICAgICAgICAgICBicmVhaztcclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH0gXHJcbiAgICAgICAgZWxzZSBpZihkaXJlY3Rpb24gPT0gXCJ1cFwiKXtcclxuICAgICAgICAgICAgbGVuZ3RoID0gMDtcclxuXHJcbiAgICAgICAgICAgIGZvcihsZXQgaT1yb2FkW29yZGVyXS55O2k+PWxlbmd0aDtpLS0pe1xyXG4gICAgICAgICAgICAgICAgbGV0IG4gPSByb2FkW29yZGVyXS54KnRoaXMubWFwX0FycmF5WzBdLmxlbmd0aCArIGk7XHJcbiAgICAgICAgICAgICAgICBsZXQgdGFyZ2V0ID0gdGhpcy5ibG9ja19BcnJheVtuXS5nZXRDb21wb25lbnQoXCJCbG9ja1wiKTtcclxuICAgICAgICAgICAgICAgIGlmKHRhcmdldC5ibG9ja19UeXBlID09IDMgfHwgdGFyZ2V0LmJsb2NrX1R5cGUgPT0gNCl7XHJcbiAgICAgICAgICAgICAgICAgICAgbGVuZ3RoID0gaSArIDE7XHJcbiAgICAgICAgICAgICAgICAgICAgaWYodGFyZ2V0LmJsb2NrX1R5cGUgPT0gNCl7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIGxlbmd0aCAtPSAxO1xyXG4gICAgICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgICAgICBpID0gLTE7XHJcbiAgICAgICAgICAgICAgICAgICAgYnJlYWs7XHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9IFxyXG4gICAgICAgIGVsc2UgaWYoZGlyZWN0aW9uID09IFwiZG93blwiKXtcclxuICAgICAgICAgICAgbGVuZ3RoID0gdGhpcy5tYXBfSGlnaHQgLSAxO1xyXG4gICAgICAgICAgICBmb3IobGV0IGk9cm9hZFtvcmRlcl0ueTtpPD1sZW5ndGg7aSsrKXtcclxuICAgICAgICAgICAgICAgIGxldCBuID0gcm9hZFtvcmRlcl0ueCp0aGlzLm1hcF9BcnJheVswXS5sZW5ndGggKyBpO1xyXG4gICAgICAgICAgICAgICAgbGV0IHRhcmdldCA9IHRoaXMuYmxvY2tfQXJyYXlbbl0uZ2V0Q29tcG9uZW50KFwiQmxvY2tcIik7XHJcbiAgICAgICAgICAgICAgICBpZih0YXJnZXQuYmxvY2tfVHlwZSA9PSAzIHx8IHRhcmdldC5ibG9ja19UeXBlID09IDQpe1xyXG4gICAgICAgICAgICAgICAgICAgIGxlbmd0aCA9IGktMTtcclxuICAgICAgICAgICAgICAgICAgICBpZih0YXJnZXQuYmxvY2tfVHlwZSA9PSA0KXtcclxuICAgICAgICAgICAgICAgICAgICAgICAgbGVuZ3RoICs9IDE7XHJcbiAgICAgICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgICAgIGkgPSAxMDAwMDtcclxuICAgICAgICAgICAgICAgICAgICBicmVhaztcclxuICAgICAgICAgICAgICAgIH1cclxuICAgICBcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH0gXHJcblxyXG4gICAgICAgIHRoaXMuc29pbF9GaW5kKGRpcmVjdGlvbixvcmRlcixsZW5ndGgscm9hZCxuYW1lKTtcclxuICAgIH1cclxuICAgIC8v5p+l5om+5oGv5aOk6Juu6YGX5oa+6Lev5b6EXHJcbiAgICBzb2lsX0ZpbmQoZGlyZWN0aW9uLG9yZGVyLGxlbmd0aCxyb2FkLG5hbWUpe1xyXG4gICAgICAgIFxyXG4gICAgICAgIGxldCBzdGFydCA9IHJvYWRbb3JkZXJdLng7XHJcbiAgICAgICAgaWYoZGlyZWN0aW9uID09IFwicmlnaHRcIil7XHJcbiAgICAgICAgICAgIGZvcihsZXQgaSA9IHN0YXJ0OyBpPD1sZW5ndGg7IGkrKyl7XHJcbiAgICAgICAgICAgICAgICBsZXQgbiA9IGkqdGhpcy5tYXBfQXJyYXlbMF0ubGVuZ3RoK3JvYWRbb3JkZXJdLnk7XHJcbiAgICAgICAgICAgICAgICBsZXQgdGFyZ2V0ID0gdGhpcy5ibG9ja19BcnJheVtuXS5nZXRDb21wb25lbnQoXCJCbG9ja1wiKTtcclxuICAgICAgICAgICAgICAgIGlmKGkgPT0gc3RhcnQpe1xyXG4gICAgICAgICAgICAgICAgICAgIGlmKGkgPT0gc3RhcnQgJiYgaT09bGVuZ3RoKXtcclxuICAgICAgICAgICAgICAgICAgICAgICAgY2MuZnguTm90aWZpY2F0aW9ucy5lbWl0KGNjLmZ4Lk1lc3NhZ2Uuc2hvd1Jlc3VsdCxcImxvc2VcIik7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIHRhcmdldC5zZXRfWGlfU29pbFR5cGUodGhpcy5nZXREaXJlY3Rpb24ob3JkZXIscm9hZCksb3JkZXIsbmFtZSk7XHJcbiAgICAgICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgICAgIGVsc2UgdGFyZ2V0LnNldF9YaV9Tb2lsVHlwZSh0aGlzLmdldERpcmVjdGlvbihvcmRlcixyb2FkKSxudWxsLG5hbWUpO1xyXG4gICAgICAgICAgICAgICAgICAgIGxldCB2YWx1ZSA9IGNjLnYzKHRoaXMucGF0aF9BcnJheVtvcmRlcl0ueCx0aGlzLnBhdGhfQXJyYXlbb3JkZXJdLnksMCk7XHJcbiAgICAgICAgICAgICAgICAgICAgaWYodGhpcy53YXRlcl9BcnJheVt0aGlzLndhdGVyX0FycmF5Lmxlbmd0aC0xXSAhPSB2YWx1ZSl7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIC8vIGNvbnNvbGUubG9nKFwi54m55Yir5o+S5YWlOlwiLHRoaXMucGF0aF9BcnJheVtvcmRlcl0ueCx0aGlzLnBhdGhfQXJyYXlbb3JkZXJdLnkpO1xyXG4gICAgICAgICAgICAgICAgICAgICAgICB0aGlzLmNoYW5nZVdhdGVyKHZhbHVlKTtcclxuICAgICAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICB9ICBcclxuICAgICAgICAgICAgICAgIGVsc2Uge1xyXG4gICAgICAgICAgICAgICAgICAgIGxldCBqZyA9IG51bGw7XHJcbiAgICAgICAgICAgICAgICAgICAgaWYoaSA9PSBsZW5ndGgpe1xyXG4gICAgICAgICAgICAgICAgICAgICAgICBsZXQgbnVtYmVyID0gaSAtIHN0YXJ0IC0xO1xyXG4gICAgICAgICAgICAgICAgICAgICAgICB0aGlzLmNoYW5nZVBhdGgob3JkZXIsbnVtYmVyLGZhbHNlLHJvYWQpO1xyXG4gICAgICAgICAgICAgICAgICAgICAgICBqZyA9IG9yZGVyO1xyXG4gICAgICAgICAgICAgICAgICAgIH0gXHJcbiAgICAgICAgICAgICAgICAgICAgdGFyZ2V0LnNldF9YaV9Tb2lsVHlwZShkaXJlY3Rpb24samcsbmFtZSk7XHJcbiAgICAgICAgICAgICAgICB9ICAgXHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9IFxyXG4gICAgICAgIGVsc2UgaWYoZGlyZWN0aW9uID09IFwibGVmdFwiKXtcclxuICAgICAgICAgICAgZm9yKGxldCBpID0gc3RhcnQ7IGk+PWxlbmd0aDsgaS0tKXtcclxuICAgICAgICAgICAgICAgIGxldCBuID0gaSp0aGlzLm1hcF9BcnJheVswXS5sZW5ndGgrcm9hZFtvcmRlcl0ueTtcclxuICAgICAgICAgICAgICAgIGxldCB0YXJnZXQgPSB0aGlzLmJsb2NrX0FycmF5W25dLmdldENvbXBvbmVudChcIkJsb2NrXCIpO1xyXG4gICAgICAgICAgICAgICAgaWYoaSA9PSBzdGFydCl7XHJcbiAgICAgICAgICAgICAgICAgICAgaWYoaSA9PSBzdGFydCAmJiBpPT1sZW5ndGgpe1xyXG4gICAgICAgICAgICAgICAgICAgICAgICBjYy5meC5Ob3RpZmljYXRpb25zLmVtaXQoY2MuZnguTWVzc2FnZS5zaG93UmVzdWx0LFwibG9zZVwiKTtcclxuICAgICAgICAgICAgICAgICAgICAgICAgdGFyZ2V0LnNldF9YaV9Tb2lsVHlwZSh0aGlzLmdldERpcmVjdGlvbihvcmRlcixyb2FkKSxvcmRlcixuYW1lKTtcclxuICAgICAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICAgICAgZWxzZSB0YXJnZXQuc2V0X1hpX1NvaWxUeXBlKHRoaXMuZ2V0RGlyZWN0aW9uKG9yZGVyLHJvYWQpLG51bGwsbmFtZSk7XHJcbiAgICAgICAgICAgICAgICAgICAgbGV0IHZhbHVlID0gY2MudjModGhpcy5wYXRoX0FycmF5W29yZGVyXS54LHRoaXMucGF0aF9BcnJheVtvcmRlcl0ueSwwKTtcclxuICAgICAgICAgICAgICAgICAgICBpZih0aGlzLndhdGVyX0FycmF5W3RoaXMud2F0ZXJfQXJyYXkubGVuZ3RoLTFdICE9IHZhbHVlKXtcclxuICAgICAgICAgICAgICAgICAgICAgICAgLy8gY29uc29sZS5sb2coXCLnibnliKvmj5LlhaU6XCIsdGhpcy5wYXRoX0FycmF5W29yZGVyXS54LHRoaXMucGF0aF9BcnJheVtvcmRlcl0ueSk7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIHRoaXMuY2hhbmdlV2F0ZXIodmFsdWUpO1xyXG4gICAgICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgIH0gIFxyXG4gICAgICAgICAgICAgICAgZWxzZSB7XHJcbiAgICAgICAgICAgICAgICAgICAgbGV0IGpnID0gbnVsbDtcclxuICAgICAgICAgICAgICAgICAgICBpZihpID09IGxlbmd0aCl7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIGxldCBudW1iZXIgPSBpIC0gc3RhcnQgKyAxO1xyXG4gICAgICAgICAgICAgICAgICAgICAgICB0aGlzLmNoYW5nZVBhdGgob3JkZXIsbnVtYmVyLGZhbHNlLHJvYWQpO1xyXG4gICAgICAgICAgICAgICAgICAgICAgICBqZyA9IG9yZGVyO1xyXG4gICAgICAgICAgICAgICAgICAgIH0gXHJcbiAgICAgICAgICAgICAgICAgICAgdGFyZ2V0LnNldF9YaV9Tb2lsVHlwZShkaXJlY3Rpb24samcsbmFtZSk7XHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9IFxyXG4gICAgICAgIGVsc2UgaWYoZGlyZWN0aW9uID09IFwidXBcIil7XHJcbiAgICAgICAgICAgIHN0YXJ0ID0gcm9hZFtvcmRlcl0ueTtcclxuICAgICAgICAgICAgZm9yKGxldCBpID0gc3RhcnQ7IGk+PWxlbmd0aDsgaS0tKXtcclxuICAgICAgICAgICAgICAgIGxldCBuID0gcm9hZFtvcmRlcl0ueCp0aGlzLm1hcF9BcnJheVswXS5sZW5ndGgraTtcclxuICAgICAgICAgICAgICAgIGxldCB0YXJnZXQgPSB0aGlzLmJsb2NrX0FycmF5W25dLmdldENvbXBvbmVudChcIkJsb2NrXCIpO1xyXG4gICAgICAgICAgICAgICAgaWYoaSA9PSBzdGFydCl7XHJcbiAgICAgICAgICAgICAgICAgICAgaWYoaSA9PSBzdGFydCAmJiBpPT1sZW5ndGgpe1xyXG4gICAgICAgICAgICAgICAgICAgICAgICBjYy5meC5Ob3RpZmljYXRpb25zLmVtaXQoY2MuZnguTWVzc2FnZS5zaG93UmVzdWx0LFwibG9zZVwiKTtcclxuICAgICAgICAgICAgICAgICAgICAgICAgdGFyZ2V0LnNldF9YaV9Tb2lsVHlwZSh0aGlzLmdldERpcmVjdGlvbihvcmRlcixyb2FkKSxvcmRlcixuYW1lKTtcclxuICAgICAgICAgICAgICAgICAgICB9IFxyXG4gICAgICAgICAgICAgICAgICAgIGVsc2V7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIHRhcmdldC5zZXRfWGlfU29pbFR5cGUodGhpcy5nZXREaXJlY3Rpb24ob3JkZXIscm9hZCksbnVsbCxuYW1lKTtcclxuICAgICAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICAgICAgbGV0IHZhbHVlID0gY2MudjModGhpcy5wYXRoX0FycmF5W29yZGVyXS54LHRoaXMucGF0aF9BcnJheVtvcmRlcl0ueSwwKTtcclxuICAgICAgICAgICAgICAgICAgICBpZih0aGlzLndhdGVyX0FycmF5W3RoaXMud2F0ZXJfQXJyYXkubGVuZ3RoLTFdICE9IHZhbHVlKXtcclxuICAgICAgICAgICAgICAgICAgICAgICAgLy8gY29uc29sZS5sb2coXCLnibnliKvmj5LlhaU6XCIsdGhpcy5wYXRoX0FycmF5W29yZGVyXS54LHRoaXMucGF0aF9BcnJheVtvcmRlcl0ueSk7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIHRoaXMuY2hhbmdlV2F0ZXIodmFsdWUpO1xyXG4gICAgICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgIH0gIFxyXG4gICAgICAgICAgICAgICAgZWxzZSB7XHJcbiAgICAgICAgICAgICAgICAgICAgbGV0IGpnID0gbnVsbDtcclxuICAgICAgICAgICAgICAgICAgICBpZihpID09IGxlbmd0aCl7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIGxldCBudW1iZXIgPSBpIC0gc3RhcnQgKyAxO1xyXG4gICAgICAgICAgICAgICAgICAgICAgICB0aGlzLmNoYW5nZVBhdGgob3JkZXIsbnVtYmVyLHRydWUscm9hZCk7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIGpnID0gb3JkZXI7XHJcbiAgICAgICAgICAgICAgICAgICAgfSBcclxuICAgICAgICAgICAgICAgICAgICAvLyBjb25zb2xlLmxvZyhcIuaDs+S4iuaBr+WjpOaPkuWFpTpcIix0aGlzLnBhdGhfQXJyYXlbb3JkZXJdLngsaSk7XHJcbiAgICAgICAgICAgICAgICAgICAgdGFyZ2V0LnNldF9YaV9Tb2lsVHlwZShkaXJlY3Rpb24samcsbmFtZSk7XHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9IFxyXG4gICAgICAgIGVsc2UgaWYoZGlyZWN0aW9uID09IFwiZG93blwiKXtcclxuICAgICAgICAgICAgc3RhcnQgPSByb2FkW29yZGVyXS55O1xyXG4gICAgICAgICAgICBmb3IobGV0IGkgPSBzdGFydDsgaTw9bGVuZ3RoOyBpKyspe1xyXG4gICAgICAgICAgICAgICAgbGV0IG4gPSByb2FkW29yZGVyXS54KnRoaXMubWFwX0FycmF5WzBdLmxlbmd0aCtpO1xyXG4gICAgICAgICAgICAgICAgbGV0IHRhcmdldCA9IHRoaXMuYmxvY2tfQXJyYXlbbl0uZ2V0Q29tcG9uZW50KFwiQmxvY2tcIik7XHJcbiAgICAgICAgICAgICAgICBpZihpID09IHN0YXJ0KXtcclxuICAgICAgICAgICAgICAgICAgICBpZihpID09IHN0YXJ0ICYmIGk9PWxlbmd0aCl7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIGNjLmZ4Lk5vdGlmaWNhdGlvbnMuZW1pdChjYy5meC5NZXNzYWdlLnNob3dSZXN1bHQsXCJsb3NlXCIpO1xyXG4gICAgICAgICAgICAgICAgICAgICAgICB0YXJnZXQuc2V0X1hpX1NvaWxUeXBlKHRoaXMuZ2V0RGlyZWN0aW9uKG9yZGVyLHJvYWQpLG9yZGVyLG5hbWUpO1xyXG4gICAgICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgICAgICBlbHNlIHRhcmdldC5zZXRfWGlfU29pbFR5cGUodGhpcy5nZXREaXJlY3Rpb24ob3JkZXIscm9hZCksbnVsbCxuYW1lKTtcclxuICAgICAgICAgICAgICAgICAgICBsZXQgdmFsdWUgPSBjYy52Myh0aGlzLnBhdGhfQXJyYXlbb3JkZXJdLngsdGhpcy5wYXRoX0FycmF5W29yZGVyXS55LDApO1xyXG4gICAgICAgICAgICAgICAgICAgIGlmKHRoaXMud2F0ZXJfQXJyYXlbdGhpcy53YXRlcl9BcnJheS5sZW5ndGgtMV0gIT0gdmFsdWUpe1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAvLyBjb25zb2xlLmxvZyhcIueJueWIq+aPkuWFpTpcIix0aGlzLnBhdGhfQXJyYXlbb3JkZXJdLngsdGhpcy5wYXRoX0FycmF5W29yZGVyXS55KTtcclxuICAgICAgICAgICAgICAgICAgICAgICAgdGhpcy5jaGFuZ2VXYXRlcih2YWx1ZSk7XHJcbiAgICAgICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgfSBcclxuICAgICAgICAgICAgICAgIGVsc2Uge1xyXG4gICAgICAgICAgICAgICAgICAgIGxldCBqZyA9IG51bGw7XHJcbiAgICAgICAgICAgICAgICAgICAgaWYoaSA9PSBsZW5ndGgpe1xyXG4gICAgICAgICAgICAgICAgICAgICAgICBsZXQgbnVtYmVyID0gaSAtIHN0YXJ0IC0gMTtcclxuICAgICAgICAgICAgICAgICAgICAgICAgdGhpcy5jaGFuZ2VQYXRoKG9yZGVyLG51bWJlcix0cnVlLHJvYWQpO1xyXG4gICAgICAgICAgICAgICAgICAgICAgICBqZyA9IG9yZGVyO1xyXG4gICAgICAgICAgICAgICAgICAgIH0gXHJcbiAgICAgICAgICAgICAgICAgICAgdGFyZ2V0LnNldF9YaV9Tb2lsVHlwZShkaXJlY3Rpb24samcsbmFtZSk7XHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9IFxyXG4gICAgfVxyXG5cclxuICAgIC8qKlxyXG4gICAgICog5pS55Y+Y5rC05rWB5Zyw5Zu+XHJcbiAgICAgKiBAcGFyYW0gdmFsdWUg6ZyA6KaB5qC55o2u5L2/55So5oGv5aOk5oOF5Ya177yM5o+S5YWl5Yiw5rSq5bOw6Lev5b6E55qE54K5XHJcbiAgICAgKi9cclxuICAgIGNoYW5nZVdhdGVyKHZhbHVlKXtcclxuICAgICAgICBsZXQgamcgPSB0cnVlO1xyXG4gICAgICAgIGlmKHRoaXMud2F0ZXJfQXJyYXkubGVuZ3RoID4gMCl7XHJcbiAgICAgICAgICAgIGlmKHRoaXMud2F0ZXJfQXJyYXlbdGhpcy53YXRlcl9BcnJheS5sZW5ndGgtMV0ueCA9PSB2YWx1ZS54ICYmIHRoaXMud2F0ZXJfQXJyYXlbdGhpcy53YXRlcl9BcnJheS5sZW5ndGgtMV0ueSA9PSB2YWx1ZS55KXtcclxuICAgICAgICAgICAgICAgIGpnID0gZmFsc2U7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICAgICAgaWYoamcpIHRoaXMud2F0ZXJfQXJyYXkucHVzaCh2YWx1ZSk7XHJcbiAgICB9XHJcbiAgICAvKipcclxuICAgICAqIOaBr+WjpOi/h+WQjuaUueWPmOS/ruetkei3r+W+hFxyXG4gICAgICogQHBhcmFtIG9yZGVyIOW7uuetkeWcsOWbvuaVsOe7hOmHjOeahOaJp+ihjOeahOW6j+WIl+WPt1xyXG4gICAgICogQHBhcmFtIG51bWJlciDmga/lo6TmiafooYzplb/luqYs5pS55Y+Y5oGv5aOk55So5ZCO5YW25LuW6Lev5b6E55qEWOaIllnlgLxcclxuICAgICAqIEBwYXJhbSBkaXJlY3Rpb24g5Y+q5Li65Lik5Liq5pa55ZCR77yM5qiq5ZCRZmFsc2Us57q15ZCRdHJ1ZVxyXG4gICAgICogQHBhcmFtIHJvYWQg5bu6562R5Zyw5Zu+5pWw57uE5oiW6ICF5rSq5bOw6Lev5b6E5pWw57uE77yM5Y+v55CG6Kej5Li66Lev5b6E5pWw57uE77yMcGF0aF9BcnJheSB3YXRlcl9BcnJheVxyXG4gICAgICovXHJcbiAgICBjaGFuZ2VQYXRoKG9yZGVyLG51bWJlcixkaXJlY3Rpb24scm9hZCl7XHJcbiAgXHJcbiAgICAgICAgZm9yKGxldCBpID0gKG9yZGVyKzEpOyBpPHJvYWQubGVuZ3RoOyBpKyspe1xyXG4gICAgICAgICAgICBpZighZGlyZWN0aW9uKXtcclxuICAgICAgICAgICAgICAgIHJvYWRbaV0ueCArPSAobnVtYmVyKTtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICBlbHNle1xyXG4gICAgICAgICAgICAgICAgcm9hZFtpXS55ICs9IChudW1iZXIpO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgICAgIGlmKGRpcmVjdGlvbil7XHJcbiAgICAgICAgICAgIGlmKG51bWJlciA8IDApe1xyXG4gICAgICAgICAgICAgICAgZm9yKGxldCBuPSAtbnVtYmVyOyBuPjA7IG4tLSl7XHJcbiAgICAgICAgICAgICAgICAgICAgdGhpcy5jaGFuZ2VXYXRlcihjYy52Myh0aGlzLnBhdGhfQXJyYXlbb3JkZXIrMV0ueCx0aGlzLnBhdGhfQXJyYXlbb3JkZXIrMV0ueStuLDApKTtcclxuICAgICAgICAgICAgICAgICAgICAvLyBjb25zb2xlLmxvZyhcIjHnibnmrormlL7lhaU6XCIsdGhpcy5wYXRoX0FycmF5W29yZGVyKzFdLngsdGhpcy5wYXRoX0FycmF5W29yZGVyKzFdLnkrbilcclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICBlbHNleyBcclxuICAgICAgICAgICAgICAgIGZvcihsZXQgbj1udW1iZXI7IG4+MDsgbi0tKXtcclxuICAgICAgICAgICAgICAgICAgICB0aGlzLmNoYW5nZVdhdGVyKGNjLnYzKHRoaXMucGF0aF9BcnJheVtvcmRlcisxXS54LHRoaXMucGF0aF9BcnJheVtvcmRlcisxXS55LW4sMCkpO1xyXG4gICAgICAgICAgICAgICAgICAgIC8vIGNvbnNvbGUubG9nKFwiMueJueauiuaUvuWFpTpcIix0aGlzLnBhdGhfQXJyYXlbb3JkZXIrMV0ueCx0aGlzLnBhdGhfQXJyYXlbb3JkZXIrMV0ueS1uKVxyXG4gICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfWVsc2V7XHJcbiAgICAgICAgICAgIGlmKG51bWJlciA8IDApe1xyXG4gICAgICAgICAgICAgICAgZm9yKGxldCBtPSAtbnVtYmVyOyBtPjA7IG0tLSl7XHJcbiAgICAgICAgICAgICAgICAgICAgdGhpcy5jaGFuZ2VXYXRlcihjYy52Myh0aGlzLnBhdGhfQXJyYXlbb3JkZXIrMV0ueCttLHRoaXMucGF0aF9BcnJheVtvcmRlcisxXS55LDApKTtcclxuICAgICAgICAgICAgICAgICAgICAvLyBjb25zb2xlLmxvZyhcIjPnibnmrormlL7lhaU6XCIsdGhpcy5wYXRoX0FycmF5W29yZGVyKzFdLngrbSx0aGlzLnBhdGhfQXJyYXlbb3JkZXIrMV0ueSlcclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICBlbHNle1xyXG4gICAgICAgICAgICAgICAgZm9yKGxldCBtPW51bWJlcjsgbT4wOyBtLS0pe1xyXG4gICAgICAgICAgICAgICAgICAgIHRoaXMuY2hhbmdlV2F0ZXIoY2MudjModGhpcy5wYXRoX0FycmF5W29yZGVyKzFdLngtbSx0aGlzLnBhdGhfQXJyYXlbb3JkZXIrMV0ueSwwKSk7XHJcbiAgICAgICAgICAgICAgICAgICAgLy8gY29uc29sZS5sb2coXCI054m55q6K5pS+5YWlOlwiLHRoaXMucGF0aF9BcnJheVtvcmRlcisxXS54LW0sdGhpcy5wYXRoX0FycmF5W29yZGVyKzFdLnkpXHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICB9XHJcbiAgICAvKipcclxuICAgICAqIOiOt+WPlua0quWzsOaWueWQkVxyXG4gICAgICogQHBhcmFtIG9yZGVyIOW7uuetkeWcsOWbvuaVsOe7hOmHjOeahOaJp+ihjOeahOW6j+WIl+WPt1xyXG4gICAgICogQHBhcmFtIHJvYWQg5bu6562R5Zyw5Zu+5pWw57uE5oiW6ICF5rSq5bOw6Lev5b6E5pWw57uE77yM5Y+v55CG6Kej5Li66Lev5b6E5pWw57uE77yMcGF0aF9BcnJheSB3YXRlcl9BcnJheVxyXG4gICAgICovXHJcbiAgICBnZXREaXJlY3Rpb24ob3JkZXIscm9hZCl7XHJcbiAgICAgICAgdmFyIG5hbWUgPSBcIlwiO1xyXG4gICAgICAgIC8v5YWl5rW35Y+j5q+U6L6D5aSN5p2C5Y2V54us5Yik5patXHJcbiAgICAgICAgaWYob3JkZXIgPT0gMCl7XHJcbiAgICAgICAgICAgIGlmKHRoaXMucGF0aF9BcnJheVtvcmRlcisxXS56ID09IDYgJiYgcm9hZCA9PSB0aGlzLnBhdGhfQXJyYXkpIG9yZGVyICs9IDE7XHJcbiAgICAgICAgICAgIGxldCBuZXh0WCA9IHJvYWRbb3JkZXIrMV0ueCAtIHJvYWRbb3JkZXJdLng7XHJcbiAgICAgICAgICAgIGxldCBuZXh0WSA9IHJvYWRbb3JkZXJdLnkgLSByb2FkW29yZGVyKzFdLnk7XHJcbiAgICAgICAgICAgIC8v5Zyo5bqV6L65XHJcbiAgICAgICAgICAgIGlmKHJvYWRbb3JkZXJdLnkgPT0gdGhpcy5tYXBfQXJyYXlbMF0ubGVuZ3RoLTEpe1xyXG4gICAgICAgICAgICAgICAgaWYobmV4dFggPT0gMCl7XHJcbiAgICAgICAgICAgICAgICAgICAgaWYobmV4dFkgPT0gMSluYW1lID0gXCJ1cFwiO1xyXG4gICAgICAgICAgICAgICAgICAgIGVsc2UgaWYobmV4dFkgPT0gLTEpIG5hbWUgPSBcImVyclwiO1xyXG4gICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgZWxzZSBpZihuZXh0WCA9PSAxKSBuYW1lID0gXCJ1cF9yaWdodFwiO1xyXG4gICAgICAgICAgICAgICAgZWxzZSBpZihuZXh0WCA9PSAtMSkgbmFtZSA9IFwidXBfbGVmdFwiO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIC8v5Zyo6aG26L65XHJcbiAgICAgICAgICAgIGVsc2UgaWYocm9hZFtvcmRlcl0ueSA9PSAwKXtcclxuICAgICAgICAgICAgICAgIGlmKG5leHRYID09IDApe1xyXG4gICAgICAgICAgICAgICAgICAgIGlmKG5leHRZID09IDEpbmFtZSA9IFwiZXJyXCI7XHJcbiAgICAgICAgICAgICAgICAgICAgZWxzZSBpZihuZXh0WSA9PSAtMSkgbmFtZSA9IFwiZG93blwiO1xyXG4gICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgZWxzZSBpZihuZXh0WCA9PSAxKSBuYW1lID0gXCJkb3duX3JpZ2h0XCI7XHJcbiAgICAgICAgICAgICAgICBlbHNlIGlmKG5leHRYID09IC0xKSBuYW1lID0gXCJkb3duX2xlZnRcIjtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAvL+WcqOW3pui+uVxyXG4gICAgICAgICAgICBlbHNlIGlmKHJvYWRbb3JkZXJdLnggPT0gMCl7XHJcbiAgICAgICAgICAgICAgICBpZihuZXh0WCA9PSAwKXtcclxuICAgICAgICAgICAgICAgICAgICBpZihuZXh0WSA9PSAxKW5hbWUgPSBcInJpZ2h0X3VwXCI7XHJcbiAgICAgICAgICAgICAgICAgICAgZWxzZSBpZihuZXh0WSA9PSAtMSkgbmFtZSA9IFwicmlnaHRfZG93blwiO1xyXG4gICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgZWxzZSBpZihuZXh0WCA9PSAxKSBuYW1lID0gXCJyaWdodFwiO1xyXG4gICAgICAgICAgICAgICAgZWxzZSBpZihuZXh0WCA9PSAtMSkgbmFtZSA9IFwiZXJyXCI7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgLy/lnKjlj7PovrlcclxuICAgICAgICAgICAgZWxzZSBpZihyb2FkW29yZGVyXS54ID09IHRoaXMubWFwX0FycmF5Lmxlbmd0aC0xKXtcclxuICAgICAgICAgICAgICAgIGlmKG5leHRYID09IDApe1xyXG4gICAgICAgICAgICAgICAgICAgIGlmKG5leHRZID09IDEpbmFtZSA9IFwibGVmdF91cFwiO1xyXG4gICAgICAgICAgICAgICAgICAgIGVsc2UgaWYobmV4dFkgPT0gLTEpIG5hbWUgPSBcImxlZnRfZG93blwiO1xyXG4gICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgZWxzZSBpZihuZXh0WCA9PSAxKSBuYW1lID0gXCJlcnJcIjtcclxuICAgICAgICAgICAgICAgIGVsc2UgaWYobmV4dFggPT0gLTEpIG5hbWUgPSBcImxlZnRcIjtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgICAgICAvL+S4jeaYr+esrOS4gOatpe+8jOW3sue7j+i1sOi/h+S4gOatpVxyXG4gICAgICAgIGVsc2UgaWYob3JkZXIgPiAwKXtcclxuICAgICAgICAgICAgdmFyIG5leHQgPSAxO1xyXG4gICAgICAgICAgICBpZihvcmRlcisyIDwgcm9hZC5sZW5ndGgpe1xyXG4gICAgICAgICAgICAgICAgaWYocm9hZFtvcmRlcisxXS56ID09IDYpIG5leHQgPSAyO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgIFxyXG4gICAgICAgICAgICAvL+eUqOS6juWIpOaWreatpOeCueeahOS4iuS4gOS4queCue+8jOaYr+S4uuS6huWIpOaWreW9k+WJjeaWueWdl+a0quawtOS4g+eCue+8jOS7peWPiuS4i+S4gOS4quenu+WKqOaWueWQke+8jOWIpOaWrea0que7iOeCueaWueWQkVxyXG4gICAgICAgICAgICBsZXQgbmV4dFggPSByb2FkW29yZGVyK25leHRdLnggLSByb2FkW29yZGVyXS54O1xyXG4gICAgICAgICAgICBsZXQgbmV4dFkgPSByb2FkW29yZGVyXS55IC0gcm9hZFtvcmRlcituZXh0XS55XHJcbiAgICAgICAgICAgIGxldCBwcmV2aW91c1ggPSByb2FkW29yZGVyXS54IC0gcm9hZFtvcmRlci0xXS54O1xyXG4gICAgICAgICAgICBsZXQgcHJldmlvdXNZID0gcm9hZFtvcmRlci0xXS55IC0gcm9hZFtvcmRlcl0ueTtcclxuICAgICAgICAgICAgaWYocHJldmlvdXNYID09IDAgJiYgcHJldmlvdXNZID09IDApe1xyXG4gICAgICAgICAgICAgICAgaWYob3JkZXIgPiAxKXtcclxuICAgICAgICAgICAgICAgICAgICBwcmV2aW91c1ggPSByb2FkW29yZGVyXS54IC0gcm9hZFtvcmRlci0yXS54O1xyXG4gICAgICAgICAgICAgICAgICAgIHByZXZpb3VzWSA9IHJvYWRbb3JkZXItMl0ueSAtIHJvYWRbb3JkZXJdLnk7XHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICBlbHNlIGlmKG9yZGVyICsgMSA8IHJvYWQubGVuZ3RoKXtcclxuICAgICAgICAgICAgICAgICAgICBwcmV2aW91c1ggPSByb2FkW29yZGVyKzFdLnggLSByb2FkW29yZGVyXS54O1xyXG4gICAgICAgICAgICAgICAgICAgIHByZXZpb3VzWSA9IHJvYWRbb3JkZXJdLnkgLSByb2FkW29yZGVyKzFdLnk7XHJcbiAgICAgICAgICAgICAgICAgICAgLy8gY29uc29sZS5sb2coXCLmga/lo6TvvIzkuIrkuIvlnZDmoIflt67ot51cIixwcmV2aW91c1gscHJldmlvdXNZKTtcclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICBpZihwcmV2aW91c1ggPT0gMCAmJiBwcmV2aW91c1kgPj0gMSl7XHJcbiAgICAgICAgICAgICAgICBpZihuZXh0WCA9PSAwKXtcclxuICAgICAgICAgICAgICAgICAgICBpZihuZXh0WSA9PSAxKW5hbWUgPSBcInVwXCI7XHJcbiAgICAgICAgICAgICAgICAgICAgZWxzZSBpZihuZXh0WSA9PSAtMSkgbmFtZSA9IFwiZXJyXCI7XHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICBlbHNlIGlmKG5leHRYID09IDEpIG5hbWUgPSBcInVwX3JpZ2h0XCI7XHJcbiAgICAgICAgICAgICAgICBlbHNlIGlmKG5leHRYID09IC0xKSBuYW1lID0gXCJ1cF9sZWZ0XCI7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgZWxzZSBpZihwcmV2aW91c1ggPT0gMCAmJiBwcmV2aW91c1kgPD0gLTEpe1xyXG4gICAgICAgICAgICAgICAgaWYobmV4dFggPT0gMCl7XHJcbiAgICAgICAgICAgICAgICAgICAgaWYobmV4dFkgPT0gMSluYW1lID0gXCJlcnJcIjtcclxuICAgICAgICAgICAgICAgICAgICBlbHNlIGlmKG5leHRZID09IC0xKSBuYW1lID0gXCJkb3duXCI7XHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICBlbHNlIGlmKG5leHRYID09IDEpIG5hbWUgPSBcImRvd25fcmlnaHRcIjtcclxuICAgICAgICAgICAgICAgIGVsc2UgaWYobmV4dFggPT0gLTEpIG5hbWUgPSBcImRvd25fbGVmdFwiO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIGVsc2UgaWYocHJldmlvdXNYID49IDEgJiYgcHJldmlvdXNZID09IDApe1xyXG4gICAgICAgICAgICAgICAgaWYobmV4dFggPT0gMCl7XHJcbiAgICAgICAgICAgICAgICAgICAgaWYobmV4dFkgPT0gMSluYW1lID0gXCJyaWdodF91cFwiO1xyXG4gICAgICAgICAgICAgICAgICAgIGVsc2UgaWYobmV4dFkgPT0gLTEpIG5hbWUgPSBcInJpZ2h0X2Rvd25cIjtcclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgIGVsc2UgaWYobmV4dFggPT0gMSkgbmFtZSA9IFwicmlnaHRcIjtcclxuICAgICAgICAgICAgICAgIGVsc2UgaWYobmV4dFggPT0gLTEpIG5hbWUgPSBcImVyclwiO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIGVsc2UgaWYocHJldmlvdXNYIDw9IC0xICYmIHByZXZpb3VzWSA9PSAwKXtcclxuICAgICAgICAgICAgICAgIGlmKG5leHRYID09IDApe1xyXG4gICAgICAgICAgICAgICAgICAgIGlmKG5leHRZID09IDEpbmFtZSA9IFwibGVmdF91cFwiO1xyXG4gICAgICAgICAgICAgICAgICAgIGVsc2UgaWYobmV4dFkgPT0gLTEpIG5hbWUgPSBcImxlZnRfZG93blwiO1xyXG4gICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgZWxzZSBpZihuZXh0WCA9PSAxKSBuYW1lID0gXCJlcnJcIjtcclxuICAgICAgICAgICAgICAgIGVsc2UgaWYobmV4dFggPT0gLTEpIG5hbWUgPSBcImxlZnRcIjtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuXHJcbiAgICAgICAgcmV0dXJuIG5hbWUgO1xyXG4gICAgfVxyXG5cclxuICAgIC8v5qC55o2u5piv5ZCm5YWo6Z2i5bGP77yM5YGa54us56uL6YCC6YWN5pa56Z2iXHJcbiAgICBmaXQoKXtcclxuICAgICAgICB2YXIgamcgPSB0aGlzLnNldEZpdCgpO1xyXG4gICAgICAgIGlmKCFqZyl7XHJcbiAgICAgICAgICAgIHRoaXMuTWFwLnNjYWxlID0gMS4yO1xyXG4gICAgICAgIH1lbHNle1xyXG4gICAgICAgICAgICB0aGlzLk1hcC5zY2FsZSA9IDE7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG4gICAgLy/liKTmlq3lhajpnaLlsY9cclxuICAgIGdldFNldFNjcmVlblJlc29sdXRpb25GbGFnICgpIHtcclxuICAgICAgICBsZXQgc2l6ZSA9IGNjLndpblNpemU7XHJcbiAgICAgICAgbGV0IHdpZHRoID0gc2l6ZS53aWR0aDtcclxuICAgICAgICBsZXQgaGVpZ2h0ID0gc2l6ZS5oZWlnaHQ7XHJcbiAgICAgICAgaWYgKChoZWlnaHQgLyB3aWR0aCkgPiAoMTYuMiAvIDkpKSByZXR1cm4gZmFsc2U7XHJcbiAgICAgICAgcmV0dXJuIHRydWU7XHJcbiAgICB9XHJcbiAgICAvL+WIpOaWreWFqOmdouWxj+mAgumFjVxyXG4gICAgc2V0Rml0ICgpIHtcclxuICAgICAgICBsZXQgZmxhZyA9IHRoaXMuZ2V0U2V0U2NyZWVuUmVzb2x1dGlvbkZsYWcoKTtcclxuICAgICAgICBpZiAoZmxhZykge1xyXG4gICAgICAgIH0gZWxzZSB7XHJcbiAgICAgICAgfVxyXG4gICAgICAgIHJldHVybiBmbGFnO1xyXG4gICAgfVxyXG4gICAgLy/ov5Tlm57pppbpobVcclxuICAgIGJhY2tTY2VuZSgpe1xyXG4gICAgICAgIGNjLmRpcmVjdG9yLmxvYWRTY2VuZShcIkxvYWRTY2VuZVwiKTtcclxuICAgIH1cclxuICAgIC8qKlxyXG4gICAgICog5byA5aeL5L+u562RXHJcbiAgICAgKiBAcGFyYW0gZGF0YSDorrDlvZXmk43kvZznmoTmlbDnu4RcclxuICAgICAqL1xyXG4gICAgc3RhcnRHYW1lKGRhdGEpe1xyXG4gICAgICAgIHRoaXMudW5zY2hlZHVsZSh0aGlzLnVwZGF0ZVdhdGVyVGltZSk7XHJcbiAgICAgICAgZm9yKGxldCBpPTA7IGk8dGhpcy5ibG9ja19BcnJheS5sZW5ndGg7aSsrKXtcclxuICAgICAgICAgICAgdGhpcy5ibG9ja19BcnJheVtpXS5nZXRDaGlsZEJ5TmFtZShcInRpcFdpblwiKS5hY3RpdmUgPSBmYWxzZTtcclxuICAgICAgICAgICAgdGhpcy5ibG9ja19BcnJheVtpXS5nZXRDaGlsZEJ5TmFtZShcInRpcExvc2VcIikuYWN0aXZlID0gZmFsc2U7XHJcbiAgICAgICAgfVxyXG4gICAgICAgIHRoaXMudW5zY2hlZHVsZSh0aGlzLnVwZGF0ZUNvdW50RG93blRpbWUpO1xyXG4gICAgICAgIHZhciBub3cgPSBjYy5meC5HYW1lVG9vbC5nZXRUaW1lKCk7XHJcbiAgICAgICAgdmFyIGZpbmlzaGkgPSBub3cgLSB0aGlzLmZpbmlzaGlUaW1lO1xyXG4gICAgICAgIHZhciB0b3RhbFRpbWUgPSBub3cgLSB0aGlzLnN0YXJ0VGltZTtcclxuICAgICAgICB0aGlzLnNjb3JlVGltZSA9IHRoaXMud2F0ZXJUaW1lO1xyXG4gICAgICAgIGlmKHRoaXMud2F0ZXJUaW1lIDw9IDAuNSkgZmluaXNoaSA9IC0xO1xyXG4gICAgICAgIC8vIGNvbnNvbGUubG9nKFwic3VibWl0VGltZTpcIixmaW5pc2hpLHRoaXMuZmluaXNoaVRpbWUpO1xyXG4gICAgICAgIGNjLmZ4LkdhbWVDb25maWcuQ0xJQ0tfU0VUKFwic3VibWl0VGltZVwiLGZpbmlzaGkpO1xyXG4gICAgICAgIGlmKGZpbmlzaGkgPT0gLTEpIFxyXG4gICAgICAgICAgICBjYy5meC5HYW1lQ29uZmlnLkNMSUNLX1NFVChcImR1cmF0aW9uXCIsY2MuZnguR2FtZUNvbmZpZy5USU1FX0lORk8ud2F0ZXJUaW1lW2NjLmZ4LkdhbWVDb25maWcuR01fSU5GTy5sZXZlbF0pO1xyXG4gICAgICAgIGVsc2UgXHJcbiAgICAgICAgICAgIGNjLmZ4LkdhbWVDb25maWcuQ0xJQ0tfU0VUKFwiZHVyYXRpb25cIix0b3RhbFRpbWUpO1xyXG4gICAgICAgICAgICBcclxuICAgICAgICBjYy5meC5HYW1lQ29uZmlnLkNMSUNLX1NFVChcInVzZWRTdGVwc1wiLGRhdGEubGVuZ3RoKTtcclxuICAgICAgICB0aGlzLnNldE1hcChkYXRhKTtcclxuICBcclxuICAgICAgICB2YXIgYXJyID0gdGhpcy5jaGFuZ2VTdGVwKGRhdGEpO1xyXG4gICAgICAgIGNjLmZ4LkdhbWVDb25maWcuQ0xJQ0tfU0VUKFwic3RlcExpc3RcIixhcnIpO1xyXG4gICAgfVxyXG5cclxuICAgIC8qKlxyXG4gICAgICog55So5LqO5Z+L54K56K6w5b2VIOi9rOWPmOaWueWQkeWQjeensOS4uuWfi+eCueaJgOmcgOimgeagvOW8j1xyXG4gICAgICogQHBhcmFtIGRhdGEg6K6w5b2V5pON5L2c55qE5pWw57uEXHJcbiAgICAgKi9cclxuICAgIGNoYW5nZVN0ZXAoZGF0YSl7XHJcbiAgICAgICAgdmFyIGFyciA9IFtdO1xyXG4gICAgICAgIGlmKGRhdGEubGVuZ3RoID4gMCl7XHJcbiAgICAgICAgICAgIGZvcihsZXQgaT0wOyBpPGRhdGEubGVuZ3RoOyBpKyspe1xyXG4gICAgICAgICAgICAgICAgaWYoZGF0YVtpXSA9PSBcInVwXCIpIGFycltpXSA9IFwiVVwiO1xyXG4gICAgICAgICAgICAgICAgZWxzZSBpZihkYXRhW2ldID09IFwiZG93blwiKSBhcnJbaV0gPSBcIkRcIjtcclxuICAgICAgICAgICAgICAgIGVsc2UgaWYoZGF0YVtpXSA9PSBcImxlZnRcIikgYXJyW2ldID0gXCJMXCI7XHJcbiAgICAgICAgICAgICAgICBlbHNlIGlmKGRhdGFbaV0gPT0gXCJyaWdodFwiKSBhcnJbaV0gPSBcIlJcIjtcclxuICAgICAgICAgICAgICAgIGVsc2UgaWYoZGF0YVtpXSA9PSBcInNvaWxcIikgYXJyW2ldID0gXCJYXCI7XHJcbiAgICAgICAgICAgICAgICBlbHNlIGlmKGRhdGFbaV0gPT0gXCJyZWluZm9yY2VcIikgYXJyW2ldID0gXCJGXCI7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICAgICAgcmV0dXJuIGFycjtcclxuICAgIH1cclxuICAgIC8v5rSq5bOw5YCS6K6h5pe277yM6K6h5pe25ZmoXHJcbiAgICB1cGRhdGVXYXRlclRpbWUoKXtcclxuICAgICAgICBpZiAodGhpcy53YXRlclRpbWUgPiAwKSB7XHJcbiAgICAgICAgICAgIHRoaXMud2F0ZXJUaW1lIC09IDE7XHJcbiAgICAgICAgICAgIHRoaXMuQ291bnRkb3duLnN0cmluZyA9ICBjYy5meC5HYW1lVG9vbC5nZXRUaW1lTWFyZ2luKHRoaXMud2F0ZXJUaW1lKTtcclxuICAgICAgICAgICAgaWYodGhpcy53YXRlclRpbWUgPD0gMCl7XHJcbiAgICAgICAgICAgICAgICB0aGlzLnVuc2NoZWR1bGUodGhpcy51cGRhdGVXYXRlclRpbWUpO1xyXG4gICAgICAgICAgICAgICAgaWYoIXRoaXMucGxhbl9vdmVyKXtcclxuICAgICAgICAgICAgICAgICAgICB0aGlzLndhdGVyVGltZSA9IDA7XHJcbiAgICAgICAgICAgICAgICAgICAgdGhpcy5wbGFuX292ZXIgPSB0cnVlO1xyXG4gICAgICAgICAgICAgICAgICAgIHNldFRpbWVvdXQoKCkgPT4ge1xyXG4gICAgICAgICAgICAgICAgICAgICAgICBpZih0aGlzLndhdGVyX0FycmF5Lmxlbmd0aCA9PSAwKXtcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNjLmZ4Lk5vdGlmaWNhdGlvbnMuZW1pdChjYy5meC5NZXNzYWdlLnNob3dSZXN1bHQsXCJsb3NlXCIpO1xyXG4gICAgICAgICAgICAgICAgICAgICAgICB9ICAgICAgICAgXHJcbiAgICAgICAgICAgICAgICAgICAgICAgIGVsc2V7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBjYy5meC5HYW1lQ29uZmlnLkdNX0lORk8ubWluX1RpbWUgPSB0aGlzLndhdGVyVGltZTtcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHRoaXMucnVuV2F0ZXIoMCk7IFxyXG4gICAgICAgICAgICAgICAgICAgICAgICB9ICAgXHJcbiAgICAgICAgICAgICAgICAgICAgfSwgNTAwKTtcclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgIH1cclxuXHJcbiAgICAvL+WmguaenOaYr+WAkuiuoeaXtiDosIPnlKjmraTmlrnms5VcclxuICAgIHVwZGF0ZUNvdW50RG93blRpbWUgKCkge1xyXG4gICAgICAgIGlmICh0aGlzLmNvdW50VGltZSA+IDApIHtcclxuICAgICAgICAgICAgdGhpcy5jb3VudFRpbWUgLT0gMTtcclxuICAgICAgICAgICAgY2MuZnguR2FtZUNvbmZpZy5USU1FX0lORk8udG90YWxUaW1lID0gdGhpcy5jb3VudFRpbWU7XHJcbiAgICAgICAgICAgIHRoaXMuVGltZS5zdHJpbmcgPSAgY2MuZnguR2FtZVRvb2wuZ2V0VGltZU1hcmdpbih0aGlzLmNvdW50VGltZSk7XHJcbiAgICAgICAgICAgIGlmKHRoaXMuY291bnRUaW1lIDwgNSl7XHJcbiAgICAgICAgICAgICAgICBsZXQgb3ZlciA9IHRoaXMubm9kZS5nZXRDaGlsZEJ5TmFtZShcIk92ZXJcIik7XHJcbiAgICAgICAgICAgICAgICBjYy50d2VlbihvdmVyKVxyXG4gICAgICAgICAgICAgICAgLnRvKDAuMix7b3BhY2l0eToyNTV9KVxyXG4gICAgICAgICAgICAgICAgLmRlbGF5KDAuMSlcclxuICAgICAgICAgICAgICAgIC50bygwLjIse29wYWNpdHk6MH0pXHJcbiAgICAgICAgICAgICAgICAuc3RhcnQoKTtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICBpZih0aGlzLmNvdW50VGltZSA8PSAwKXtcclxuICAgICAgICAgICAgICAgIHRoaXMuY291bnRUaW1lID0gMDtcclxuICAgICAgICAgICAgICAgIHRoaXMuc2V0RGF0YShcImxvc2VcIik7XHJcbiAgICAgICAgICAgICAgICB0aGlzLnVuc2NoZWR1bGUodGhpcy51cGRhdGVDb3VudERvd25UaW1lKTtcclxuICAgICAgICAgICAgICAgIHRoaXMuZ2FtZU92ZXIoKTsgICAgXHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICB9XHJcbiAgICAvL+S4iuS8oOavj+asoeaTjeS9nOaVsOaNriBzdWNjZXNz5Li65oiQ5Yqf6L+Y5piv5aSx6LSlXHJcbiAgICBzZXREYXRhKHN1Y2Nlc3Mpe1xyXG4gICAgICAgIC8v6K6+572u5Z+L54K55pWw5o2uXHJcbiAgICAgICAgY2MuZnguR2FtZUNvbmZpZy5DTElDS19TRVQoXCJtYXBJZFwiLGNjLmZ4LkdhbWVDb25maWcuTEVWRUxfSU5GT1tjYy5meC5HYW1lQ29uZmlnLkdNX0lORk8ubGV2ZWxdW3RoaXMuY3VzdG9tXS5pZCk7XHJcbiAgICAgICAgY2MuZnguR2FtZUNvbmZpZy5DTElDS19TRVQoXCJkaWZmaWN1bHR5XCIsY2MuZnguR2FtZUNvbmZpZy5HTV9JTkZPLmxldmVsKTtcclxuICAgICAgICBjYy5meC5HYW1lQ29uZmlnLkNMSUNLX1NFVChcIm9wdGltaXplZFN0ZXBzXCIsY2MuZnguR2FtZUNvbmZpZy5MRVZFTF9JTkZPW2NjLmZ4LkdhbWVDb25maWcuR01fSU5GTy5sZXZlbF1bdGhpcy5jdXN0b21dLm1pbl9zdGVwcyk7XHJcbiAgICAgICAgY2MuZnguR2FtZUNvbmZpZy5DTElDS19TRVQoXCJyb3VuZFwiLGNjLmZ4LkdhbWVDb25maWcuR01fSU5GTy5yb3VuZCk7XHJcbiAgICAgICAgY2MuZnguR2FtZUNvbmZpZy5DTElDS19TRVQoXCJ0aW1lclwiLGNjLmZ4LkdhbWVDb25maWcuVElNRV9JTkZPLnRvdGFsVGltZSk7XHJcbiAgICAgICAgY2MuZnguR2FtZUNvbmZpZy5DTElDS19TRVQoXCJjdW11bGF0aXZlU2NvcmVcIixjYy5meC5HYW1lQ29uZmlnLkdNX0lORk8uc2NvcmUpO1xyXG4gICAgICAgIHN1Y2Nlc3MgPSBzdWNjZXNzID09XCJsb3NlXCI/ZmFsc2U6dHJ1ZVxyXG4gICAgICAgIGlmKHN1Y2Nlc3MgIT0gbnVsbCl7XHJcbiAgICAgICAgICAgIGNjLmZ4LkdhbWVDb25maWcuQ0xJQ0tfU0VUKFwic3VjY2Vzc1wiLHN1Y2Nlc3MpO1xyXG4gICAgICAgICAgICBjYy5meC5HYW1lQ29uZmlnLkdNX0lORk8uZmVuID0gdGhpcy5nZXRTY29yZSgpO1xyXG4gICAgICAgICAgICBpZighc3VjY2VzcykgY2MuZnguR2FtZUNvbmZpZy5HTV9JTkZPLmZlbiA9IDA7XHJcbiAgICAgICAgICAgIGNjLmZ4LkdhbWVDb25maWcuQ0xJQ0tfU0VUKFwiZ2V0U2NvcmVcIixjYy5meC5HYW1lQ29uZmlnLkdNX0lORk8uZmVuKTtcclxuICAgICAgICAgICAgY2MuZnguR2FtZUNvbmZpZy5HTV9JTkZPLnNjb3JlICs9IGNjLmZ4LkdhbWVDb25maWcuR01fSU5GTy5mZW47XHJcbiAgICAgICAgICAgIHRoaXMubm9kZS5nZXRDaGlsZEJ5TmFtZShcIlRvcFwiKS5nZXRDaGlsZEJ5TmFtZShcImlkXCIpLmdldENvbXBvbmVudChjYy5MYWJlbCkuc3RyaW5nID0gXHJcbiAgICAgICAgICAgIGNjLmZ4LkdhbWVDb25maWcuR01fSU5GTy5zY29yZTtcclxuICAgICAgICAgICAgY2MuZnguR2FtZUNvbmZpZy5DTElDS19TRVQoXCJjdW11bGF0aXZlU2NvcmVcIixjYy5meC5HYW1lQ29uZmlnLkdNX0lORk8uc2NvcmUpO1xyXG4gICAgICAgICAgICBpZih0aGlzLmNvdW50VGltZSAhPSAwKWNjLmZ4LkdhbWVDb25maWcuR01fSU5GTy5zdWNjZXNzTGlzdC5wdXNoKHN1Y2Nlc3MpO1xyXG4gICAgICAgIH1cclxuICAgICAgICBjYy5meC5HYW1lVG9vbC5zZXRHYW1lRGF0YSgpO1xyXG4gICAgICAgIFxyXG4gICAgfVxyXG4gICAgLy/orqHnrpflvpfliIZcclxuICAgIGdldFNjb3JlKCl7XHJcbiAgICAgICAgLy/mnIDlsI/mraXmlbBcclxuICAgICAgICBsZXQgbWluID0gY2MuZnguR2FtZUNvbmZpZy5MRVZFTF9JTkZPW2NjLmZ4LkdhbWVDb25maWcuR01fSU5GTy5sZXZlbF1bdGhpcy5jdXN0b21dLm1pbl9zdGVwcztcclxuICAgICAgICAvL+WunumZheS9v+eUqOatpeaVsFxyXG4gICAgICAgIGxldCBub3cgPSB0aGlzLnBhdGhfQXJyYXkubGVuZ3RoLTE7XHJcbiAgICAgICAgaWYobm93IDw9MCkgbm93ID0gMDtcclxuICAgICAgICB2YXIgeCA9ICgyLjUqbWluIC0gbm93KSAvIG1pbjtcclxuICAgICAgICBsZXQgc2NvcmUgPSBNYXRoLnBvdyhtaW4seCkgKiogMC41O1xyXG4gICAgICAgIHNjb3JlID0gc2NvcmUgKiAodGhpcy5zY29yZVRpbWUgKyAxMCkqMTAwO1xyXG4gICAgICAgIHJldHVybiBNYXRoLmZsb29yKHNjb3JlKTtcclxuICAgIH1cclxuXHJcbiAgICAvL+S4iuS8oOaOkuihjOamnOaVsOaNrlxyXG4gICAgZ2FtZU92ZXIoKXtcclxuICAgICAgICB2YXIgcmF0ZSA9IDA7XHJcbiAgICAgICAgdmFyIHN1Y2Nlc3NMaXN0ID0gY2MuZnguR2FtZUNvbmZpZy5HTV9JTkZPLnN1Y2Nlc3NMaXN0O1xyXG4gICAgICAgIGlmKHN1Y2Nlc3NMaXN0Lmxlbmd0aCA+IDApe1xyXG4gICAgICAgICAgICB2YXIgc3VjY2VzcyA9IDA7XHJcbiAgICAgICAgICAgIGZvcihsZXQgaT0wOyBpPHN1Y2Nlc3NMaXN0Lmxlbmd0aDsgaSsrKXtcclxuICAgICAgICAgICAgICAgIGlmKHN1Y2Nlc3NMaXN0W2ldID09IHRydWUpIHN1Y2Nlc3MgKz0gMTtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICByYXRlID0gc3VjY2Vzcy9zdWNjZXNzTGlzdC5sZW5ndGg7XHJcbiAgICAgICAgfVxyXG4gICAgICAgIHJhdGUgPSBNYXRoLmZsb29yKHJhdGUgKiAxMDAwKS8xMDtcclxuICAgICAgICBsZXQgZGF0YSA9IHtcclxuICAgICAgICAgICAgc2NvcmU6IGNjLmZ4LkdhbWVDb25maWcuR01fSU5GTy5zY29yZSxcclxuICAgICAgICAgICAgcmF0ZTogcmF0ZVxyXG4gICAgICAgIH1cclxuICAgICAgICBjYy5meC5HYW1lVG9vbC5zZXRSYW5rKGRhdGEpO1xyXG4gICAgICAgIHRoaXMubm9kZS5nZXRDaGlsZEJ5TmFtZShcIkdhbWVPdmVyXCIpLmFjdGl2ZSA9IHRydWU7XHJcbiAgICAgICAgdGhpcy5ub2RlLmdldENoaWxkQnlOYW1lKFwiR2FtZU92ZXJcIikub3BhY2l0eSA9IDA7XHJcbiAgICAgICAgY2MudHdlZW4odGhpcy5ub2RlLmdldENoaWxkQnlOYW1lKFwiR2FtZU92ZXJcIikpXHJcbiAgICAgICAgLnRvKDAuNCx7b3BhY2l0eToyNTV9KVxyXG4gICAgICAgIC5kZWxheSgxKVxyXG4gICAgICAgIC50bygwLjQse29wYWNpdHk6NTB9KVxyXG4gICAgICAgIC5jYWxsKCgpID0+e1xyXG4gICAgICAgICAgICBjYy5kaXJlY3Rvci5sb2FkU2NlbmUoXCJPdmVyU2NlbmVcIik7XHJcbiAgICAgICAgfSlcclxuICAgICAgICAuc3RhcnQoKVxyXG4gICAgfVxyXG4gICAgLy/lsZXnpLrnu5PmnpwgZGF0YeS4uuaIkOWKn+aIluiAheWksei0pVxyXG4gICAgc2hvd1Jlc3VsdChkYXRhKXtcclxuICAgICAgICBpZih0aGlzLm5vZGUuZ2V0Q2hpbGRCeU5hbWUoXCJHYW1lT3ZlclwiKS5hY3RpdmUgPT0gZmFsc2UgJiYgdGhpcy5ub2RlLmdldENoaWxkQnlOYW1lKFwiV2luZG93XCIpLmFjdGl2ZSA9PSBmYWxzZSl7XHJcbiAgICAgICAgICAgIGNjLmZ4Lk5vdGlmaWNhdGlvbnMuZW1pdChjYy5meC5NZXNzYWdlLnNldERhdGEsZGF0YSk7XHJcbiAgICAgICAgICAgIGlmKGRhdGEgPT0gXCJsb3NlXCIpe1xyXG4gICAgICAgICAgICAgICAgY2MuZnguQXVkaW9NYW5hZ2VyLl9pbnN0YW5jZS5wbGF5RWZmZWN0KFwibG9zZVwiLG51bGwpO1xyXG4gICAgICAgICAgICAgICAgY2MuZnguR2FtZUNvbmZpZy5HTV9JTkZPLm1pbl9UaW1lID0gLTE7XHJcbiAgICAgICAgICAgIH0gXHJcbiAgICAgICAgICAgIGVsc2V7XHJcbiAgICAgICAgICAgICAgICBjYy5meC5BdWRpb01hbmFnZXIuX2luc3RhbmNlLnBsYXlFZmZlY3QoXCJ3aW5cIixudWxsKTtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICB0aGlzLm5vZGUuZ2V0Q2hpbGRCeU5hbWUoXCJXaW5kb3dcIikuYWN0aXZlID0gdHJ1ZTtcclxuICAgICAgICAgICAgdGhpcy5ub2RlLmdldENoaWxkQnlOYW1lKFwiV2luZG93XCIpLmdldENvbXBvbmVudChcIldpbmRvd1wiKS5pbml0KGRhdGEpO1xyXG4gICAgICAgIH1cclxuICAgIH1cclxuICAgIC8v6K6w5b2V5Y+N5bqU5pe26ZW/77yM5Lul5Y+K5YGa5q2l6aqk5o+Q56S6IGRhdGHkuLrmk43kvZzlkI3np7BcclxuICAgIGNsaWNrU3VuKGRhdGEpe1xyXG4gICAgICAgIC8v5aaC5p6c5rKh5pyJ6K6w5b2V6L+HIOWbnuWQiOW8gOWni+WIsOaTjeS9nOWPjeW6lOaXtumVv++8jOWImeesrOS4gOasoeiusOW9le+8jCDlkI7pnaLkuI3orrDlvZVcclxuXHJcbiAgICAgICAgaWYoY2MuZnguR2FtZUNvbmZpZy5DTElDS19EQVRBLnN0YXJ0VGltZSA9PSAtMSl7XHJcbiAgICAgICAgICAgIHRoaXMuZmluaXNoaVRpbWUgPSBjYy5meC5HYW1lVG9vbC5nZXRUaW1lKCk7XHJcbiAgICAgICAgICAgIHZhciBub3cgID0gdGhpcy5maW5pc2hpVGltZSAtIHRoaXMuc3RhcnRUaW1lO1xyXG4gICAgICAgICAgICAvLyBjb25zb2xlLmxvZyhcInN0YXJ0VGltZTpcIix0aGlzLmZpbmlzaGlUaW1lKTtcclxuICAgICAgICAgICAgY2MuZnguR2FtZUNvbmZpZy5DTElDS19TRVQoXCJzdGFydFRpbWVcIixub3cpO1xyXG4gICAgICAgIH1cclxuICAgICAgICBpZihjYy5meC5HYW1lQ29uZmlnLkdNX0lORk8ubGV2ZWwgPiAzKSByZXR1cm47XHJcbiAgICAgICAgLy/mraXpqqTmj5DnpLpcclxuICAgICAgICB2YXIgbm93UG9zID0gdGhpcy5wYXRoX0FycmF5WzBdO1xyXG4gICAgICAgIGlmKHRoaXMudGlwX0FycmF5Lmxlbmd0aCAhPSAwKXtcclxuICAgICAgICAgICAgaWYodGhpcy50aXBfQXJyYXlbdGhpcy50aXBfQXJyYXkubGVuZ3RoLTFdID09IG51bGwpe1xyXG4gICAgICAgICAgICAgICAgdGhpcy50aXBfQXJyYXkucHVzaChudWxsKTtcclxuICAgICAgICAgICAgICAgIHJldHVybjtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICBub3dQb3MgPSB0aGlzLnRpcF9BcnJheVt0aGlzLnRpcF9BcnJheS5sZW5ndGgtMV1bdGhpcy50aXBfQXJyYXlbdGhpcy50aXBfQXJyYXkubGVuZ3RoLTFdLmxlbmd0aC0xXTtcclxuICAgICAgICAgICAgaWYobm93UG9zKXtcclxuICAgICAgICAgICAgICAgIGxldCBuID0gbm93UG9zLngqdGhpcy5tYXBfQXJyYXlbMF0ubGVuZ3RoK25vd1Bvcy55O1xyXG4gICAgICAgICAgICAgICAgbGV0IHRhcmdldE5vZGUgPSB0aGlzLmJsb2NrX0FycmF5W25dO1xyXG4gICAgICAgICAgICAgICAgaWYodGFyZ2V0Tm9kZS5nZXRDaGlsZEJ5TmFtZShcInRpcExvc2VcIikuYWN0aXZlID09IHRydWUpe1xyXG4gICAgICAgICAgICAgICAgICAgIHRoaXMudGlwX0FycmF5LnB1c2gobnVsbCk7XHJcbiAgICAgICAgICAgICAgICAgICAgcmV0dXJuO1xyXG4gICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIGVsc2V7XHJcbiAgICAgICAgICAgICAgICByZXR1cm47XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9IFxyXG5cclxuICAgICAgICBpZihkYXRhID09IFwidXBcIil7XHJcbiAgICAgICAgICAgIGxldCBuID0gY2MudjIobm93UG9zLngsbm93UG9zLnktMSk7XHJcbiAgICAgICAgICAgIHRoaXMudGlwQ2FuKG4sZGF0YSk7XHJcbiAgICAgICAgfVxyXG4gICAgICAgIGVsc2UgaWYoZGF0YSA9PSBcImRvd25cIil7XHJcbiAgICAgICAgICAgIGxldCBuID0gY2MudjIobm93UG9zLngsbm93UG9zLnkrMSk7XHJcbiAgICAgICAgICAgIHRoaXMudGlwQ2FuKG4sZGF0YSk7XHJcbiAgICAgICAgfVxyXG4gICAgICAgIGVsc2UgaWYoZGF0YSA9PSBcImxlZnRcIil7XHJcbiAgICAgICAgICAgIGxldCBuID0gY2MudjIobm93UG9zLngtMSxub3dQb3MueSk7XHJcbiAgICAgICAgICAgIHRoaXMudGlwQ2FuKG4sZGF0YSk7XHJcbiAgICAgICAgfVxyXG4gICAgICAgIGVsc2UgaWYoZGF0YSA9PSBcInJpZ2h0XCIpe1xyXG4gICAgICAgICAgICBsZXQgbiA9IGNjLnYyKG5vd1Bvcy54KzEsbm93UG9zLnkpO1xyXG4gICAgICAgICAgICB0aGlzLnRpcENhbihuLGRhdGEpO1xyXG4gICAgICAgIH1cclxuICAgICAgICBlbHNlIGlmKGRhdGEgPT0gXCJyZWluZm9yY2VcIil7XHJcbiAgICAgICAgICAgIGxldCBuID0gY2MudjMobm93UG9zLngsbm93UG9zLnksMik7XHJcbiAgICAgICAgICAgIHRoaXMudGlwX0FycmF5LnB1c2goW25dKTtcclxuICAgICAgICB9XHJcbiAgICAgICAgZWxzZSBpZihkYXRhID09IFwic29pbFwiKXtcclxuICAgICAgICAgICAgbGV0IG4gPSBjYy52Myhub3dQb3MueCxub3dQb3MueSwzKTtcclxuICAgICAgICAgICAgdGhpcy50aXBfQXJyYXkucHVzaChbbl0pO1xyXG4gICAgICAgIH1cclxuICAgIFxyXG4gICAgfVxyXG4gICAgLy/mj5DnpLrmmK/lkKbplJnor68gIOWPquWJjeS4ieWFs+aciSAscG9z5Li65L2N572u77yMZGF0YeS4uuaTjeS9nOaWueWQkVxyXG4gICAgdGlwQ2FuKHBvcyxkYXRhKXtcclxuICAgIFxyXG4gICAgICAgIC8v5YWI5Yik5pat5piv5ZCm5Ye66L6555WMXHJcbiAgICAgICAgaWYocG9zLnggPDAgfHwgcG9zLnggPnRoaXMubWFwX0FycmF5Lmxlbmd0aC0xIHx8IHBvcy55IDwwIHx8IHBvcy55ID4gdGhpcy5tYXBfQXJyYXlbMF0ubGVuZ3RoLTEgKXtcclxuICAgICAgICAgICAgdGhpcy50aXBfQXJyYXkucHVzaChudWxsKTtcclxuICAgICAgICAgICAgcmV0dXJuO1xyXG4gICAgICAgIH0gICBcclxuICAgICAgICBsZXQgbiA9IHBvcy54KnRoaXMubWFwX0FycmF5WzBdLmxlbmd0aCtwb3MueTtcclxuICAgICAgICBsZXQgdGFyZ2V0ID0gdGhpcy5ibG9ja19BcnJheVtuXS5nZXRDb21wb25lbnQoXCJCbG9ja1wiKTtcclxuICAgICAgICB0YXJnZXQubm9kZS5nZXRDaGlsZEJ5TmFtZShcInRpcFdpblwiKS5hY3RpdmUgPSB0cnVlO1xyXG5cclxuICAgICAgICAvL+mHjeWkjei3r+WbnuWktOi3r++8jOaIluiAheWxseWzsFxyXG4gICAgICAgIGlmKHRhcmdldC5yZXBlYXRSb2FkKGZhbHNlLG51bGwpID09IHRydWUgfHwgdGFyZ2V0LmJsb2NrX1R5cGUgPT0gMyl7XHJcbiAgICAgICAgICAgIHRoaXMudGlwX0FycmF5LnB1c2goW2NjLnYzKHBvcy54LHBvcy55LDApXSk7XHJcbiAgICAgICAgICAgIHRhcmdldC5ub2RlLmdldENoaWxkQnlOYW1lKFwidGlwTG9zZVwiKS5hY3RpdmUgPSB0cnVlO1xyXG4gICAgICAgICAgICB0YXJnZXQubm9kZS5nZXRDaGlsZEJ5TmFtZShcInRpcFdpblwiKS5hY3RpdmUgPSBmYWxzZTtcclxuICAgICAgICB9XHJcbiAgICAgICAgLy/mub/lnLAg5LiK5LiA5q2l5aaC5p6c5rKh55So5oGv5aOk5oiW6ICF5Yqg5Zu6XHJcbiAgICAgICAgZWxzZSBpZih0YXJnZXQuYmxvY2tfVHlwZSA9PSAyKXtcclxuICAgICAgICAgICAgaWYodGhpcy50aXBfQXJyYXkubGVuZ3RoID4gMCl7XHJcbiAgICAgICAgICAgICAgICBpZih0aGlzLnRpcF9BcnJheVt0aGlzLnRpcF9BcnJheS5sZW5ndGgtMV1bMF0ueiA9PSAwKXtcclxuICAgICAgICAgICAgICAgICAgICB0YXJnZXQubm9kZS5nZXRDaGlsZEJ5TmFtZShcInRpcExvc2VcIikuYWN0aXZlID0gdHJ1ZTtcclxuICAgICAgICAgICAgICAgICAgICB0YXJnZXQubm9kZS5nZXRDaGlsZEJ5TmFtZShcInRpcFdpblwiKS5hY3RpdmUgPSBmYWxzZTtcclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgIGVsc2UgaWYodGhpcy50aXBfQXJyYXlbdGhpcy50aXBfQXJyYXkubGVuZ3RoLTFdWzBdLnogPT0gMil7XHJcbiAgICAgICAgICAgICAgICAgICAgdGFyZ2V0Lm5vZGUuZ2V0Q2hpbGRCeU5hbWUoXCJ0aXBMb3NlXCIpLmFjdGl2ZSA9IGZhbHNlO1xyXG4gICAgICAgICAgICAgICAgICAgIHRhcmdldC5ub2RlLmdldENoaWxkQnlOYW1lKFwidGlwV2luXCIpLmFjdGl2ZSA9IHRydWU7XHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgZWxzZXtcclxuICAgICAgICAgICAgICAgIHRhcmdldC5ub2RlLmdldENoaWxkQnlOYW1lKFwidGlwTG9zZVwiKS5hY3RpdmUgPSB0cnVlO1xyXG4gICAgICAgICAgICAgICAgdGFyZ2V0Lm5vZGUuZ2V0Q2hpbGRCeU5hbWUoXCJ0aXBXaW5cIikuYWN0aXZlID0gZmFsc2U7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcblxyXG4gICAgICAgIGlmKHRoaXMudGlwX0FycmF5Lmxlbmd0aCA+IDApe1xyXG4gICAgICAgICAgICBpZih0aGlzLnRpcF9BcnJheVt0aGlzLnRpcF9BcnJheS5sZW5ndGgtMV1bMF0ueiA9PSAzKXtcclxuICAgICAgICAgICAgICAgIGlmKGRhdGEgPT0gXCJ1cFwiKXtcclxuICAgICAgICAgICAgICAgICAgICB2YXIgYXJyID0gW107XHJcbiAgICAgICAgICAgICAgICAgICAgZm9yKGxldCBpPXBvcy55OyBpID49MDtpLS0pe1xyXG4gICAgICAgICAgICAgICAgICAgICAgICBsZXQgYmxvY2sgPSB0aGlzLmJsb2NrX0FycmF5W3Bvcy54KnRoaXMubWFwX0FycmF5WzBdLmxlbmd0aCtpXS5nZXRDb21wb25lbnQoXCJCbG9ja1wiKTtcclxuICAgICAgICAgICAgICAgICAgICAgICAgaWYoYmxvY2suYmxvY2tfVHlwZSA9PSAzKXtcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGkgPSAtMTAwMDA7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgICAgICAgICAgZWxzZXtcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGJsb2NrLm5vZGUuZ2V0Q2hpbGRCeU5hbWUoXCJ0aXBXaW5cIikuYWN0aXZlID0gdHJ1ZTtcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGFyci5wdXNoKGNjLnYzKHBvcy54LGksMCkpO1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgaWYoIGJsb2NrLmJsb2NrX1R5cGUgPT0gNCkgaSA9IC0xMDAwMDtcclxuICAgICAgICAgICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgICAgICB0aGlzLnRpcF9BcnJheS5wdXNoKGFycik7XHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICBlbHNlIGlmKGRhdGEgPT0gXCJkb3duXCIpe1xyXG4gICAgICAgICAgICAgICAgICAgIHZhciBhcnIgPSBbXTtcclxuICAgICAgICAgICAgICAgICAgICBmb3IobGV0IGk9cG9zLnk7IGk8dGhpcy5tYXBfQXJyYXlbMF0ubGVuZ3RoO2krKyl7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIGxldCBibG9jayA9IHRoaXMuYmxvY2tfQXJyYXlbcG9zLngqdGhpcy5tYXBfQXJyYXlbMF0ubGVuZ3RoK2ldLmdldENvbXBvbmVudChcIkJsb2NrXCIpO1xyXG4gICAgICAgICAgICAgICAgICAgICAgICBpZihibG9jay5ibG9ja19UeXBlID09IDMpe1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgaSA9IDEwMDAwO1xyXG4gICAgICAgICAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIGVsc2V7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBibG9jay5ub2RlLmdldENoaWxkQnlOYW1lKFwidGlwV2luXCIpLmFjdGl2ZSA9IHRydWU7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBhcnIucHVzaChjYy52Myhwb3MueCxpLDApKTtcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGlmKCBibG9jay5ibG9ja19UeXBlID09IDQpIGkgPSAxMDAwMDtcclxuICAgICAgICAgICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgICAgICB0aGlzLnRpcF9BcnJheS5wdXNoKGFycik7XHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICBlbHNlIGlmKGRhdGEgPT0gXCJyaWdodFwiKXtcclxuICAgICAgICAgICAgICAgICAgICB2YXIgYXJyID0gW107XHJcbiAgICAgICAgICAgICAgICAgICAgZm9yKGxldCBpPXBvcy54OyBpPHRoaXMubWFwX0FycmF5Lmxlbmd0aDtpKyspe1xyXG4gICAgICAgICAgICAgICAgICAgICAgICBsZXQgYmxvY2sgPSB0aGlzLmJsb2NrX0FycmF5W2kqdGhpcy5tYXBfQXJyYXlbMF0ubGVuZ3RoK3Bvcy55XS5nZXRDb21wb25lbnQoXCJCbG9ja1wiKTtcclxuICAgICAgICAgICAgICAgICAgICAgICAgaWYoYmxvY2suYmxvY2tfVHlwZSA9PSAzKXtcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGkgPSAxMDAwMDtcclxuICAgICAgICAgICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgICAgICAgICBlbHNle1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgYmxvY2subm9kZS5nZXRDaGlsZEJ5TmFtZShcInRpcFdpblwiKS5hY3RpdmUgPSB0cnVlO1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgYXJyLnB1c2goY2MudjMoaSxwb3MueSwwKSk7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBpZiggYmxvY2suYmxvY2tfVHlwZSA9PSA0KSBpID0gMTAwMDA7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICAgICAgdGhpcy50aXBfQXJyYXkucHVzaChhcnIpO1xyXG4gICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgZWxzZSBpZihkYXRhID09IFwibGVmdFwiKXtcclxuICAgICAgICAgICAgICAgICAgICB2YXIgYXJyID0gW107XHJcbiAgICAgICAgICAgICAgICAgICAgZm9yKGxldCBpPXBvcy54OyBpPj0wIDtpLS0pe1xyXG4gICAgICAgICAgICAgICAgICAgICAgICBsZXQgYmxvY2sgPSB0aGlzLmJsb2NrX0FycmF5W2kqdGhpcy5tYXBfQXJyYXlbMF0ubGVuZ3RoK3Bvcy55XS5nZXRDb21wb25lbnQoXCJCbG9ja1wiKTtcclxuICAgICAgICAgICAgICAgICAgICAgICAgaWYoYmxvY2suYmxvY2tfVHlwZSA9PSAzKXtcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGkgPSAtMTAwMDA7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgICAgICAgICAgZWxzZXtcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGJsb2NrLm5vZGUuZ2V0Q2hpbGRCeU5hbWUoXCJ0aXBXaW5cIikuYWN0aXZlID0gdHJ1ZTtcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGFyci5wdXNoKGNjLnYzKGkscG9zLnksMCkpO1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgaWYoIGJsb2NrLmJsb2NrX1R5cGUgPT0gNCkgaSA9IC0xMDAwMDtcclxuICAgICAgICAgICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgICAgICB0aGlzLnRpcF9BcnJheS5wdXNoKGFycik7XHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgZWxzZXtcclxuICAgICAgICAgICAgICAgIGxldCBwb3NKZyA9IGNjLnYzKHBvcy54LHBvcy55LDApO1xyXG4gICAgICAgICAgICAgICAgaWYoZGF0YSA9PSBcInJlaW5mb3JjZVwiKSBwb3MueiA9IDI7XHJcbiAgICAgICAgICAgICAgICBpZihkYXRhID09IFwic29pbFwiKSBwb3MueiA9IDM7IFxyXG4gICAgICAgICAgICAgICAgdGhpcy50aXBfQXJyYXkucHVzaChbcG9zSmddKTtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAvLyBjb25zb2xlLmxvZyh0aGlzLnRpcF9BcnJheSk7XHJcbiAgICAgICAgICAgIHJldHVybjtcclxuICAgICAgICB9XHJcblxyXG4gICAgICAgIGxldCBwb3NKZyA9IGNjLnYzKHBvcy54LHBvcy55LDApO1xyXG4gICAgICAgIGlmKGRhdGEgPT0gXCJyZWluZm9yY2VcIikgcG9zLnogPSAyO1xyXG4gICAgICAgIGlmKGRhdGEgPT0gXCJzb2lsXCIpIHBvcy56ID0gMzsgXHJcbiAgICAgICAgdGhpcy50aXBfQXJyYXkucHVzaChbcG9zSmddKTtcclxuICAgICAgICAvLyBjb25zb2xlLmxvZyh0aGlzLnRpcF9BcnJheSk7XHJcbiAgICB9XHJcblxyXG4gICAgLy/np7vpmaTmj5DnpLpcclxuICAgIHJlbW92ZVRpcChkYXRhKXtcclxuICAgICAgICBpZihjYy5meC5HYW1lQ29uZmlnLkdNX0lORk8ubGV2ZWwgPiAzKSByZXR1cm47XHJcbiAgICAgICAgLy/liIbkuLrmkqTlm57kuIDmraUg5ZKM5YWo6YOo5riF56m6XHJcbiAgICAgICAgaWYodGhpcy50aXBfQXJyYXkubGVuZ3RoID4gMCl7XHJcbiAgICAgICAgICAgIGlmKGRhdGEgPT0gXCJiYWNrXCIpe1xyXG4gICAgICAgICAgICAgICAgbGV0IHRhcmdldCA9IHRoaXMudGlwX0FycmF5W3RoaXMudGlwX0FycmF5Lmxlbmd0aC0xXTtcclxuICAgICAgICAgICAgICAgIGlmKHRhcmdldCA9PSBudWxsKXtcclxuICAgICAgICAgICAgICAgICAgICB0aGlzLnRpcF9BcnJheS5wb3AoKTtcclxuICAgICAgICAgICAgICAgIH0gXHJcbiAgICAgICAgICAgICAgICBlbHNle1xyXG4gICAgICAgICAgICAgICAgICAgIHRoaXMudGlwX0FycmF5LnBvcCgpO1xyXG4gICAgICAgICAgICAgICAgICAgIGZvcihsZXQgaT0wOyBpPHRhcmdldC5sZW5ndGg7aSsrKXtcclxuICAgICAgICAgICAgICAgICAgICAgICAgaWYodGFyZ2V0W2ldKXtcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGlmKCB0YXJnZXRbMF0ueiA9PSAwKXtcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBsZXQgbiA9IHRhcmdldFtpXS54KnRoaXMubWFwX0FycmF5WzBdLmxlbmd0aCt0YXJnZXRbaV0ueTtcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBsZXQgbm9kZSA9IHRoaXMuYmxvY2tfQXJyYXlbbl07XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbm9kZS5nZXRDaGlsZEJ5TmFtZShcInRpcFdpblwiKS5hY3RpdmUgPSBmYWxzZTtcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBub2RlLmdldENoaWxkQnlOYW1lKFwidGlwTG9zZVwiKS5hY3RpdmUgPSBmYWxzZTtcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIH1cclxuXHJcbiAgICAgICAgICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIH0gXHJcbiAgICAgICAgICAgIGVsc2UgaWYoZGF0YSA9PSBcInJlbW92ZVwiKXtcclxuICAgICAgICAgICAgICAgIGZvcihsZXQgaiA9MDsgajx0aGlzLnRpcF9BcnJheS5sZW5ndGg7IGorKyl7XHJcbiAgICAgICAgICAgICAgICAgICAgbGV0IHRhcmdldCA9IHRoaXMudGlwX0FycmF5W2pdO1xyXG4gICAgICAgICAgICAgICAgICAgIGlmKHRhcmdldCAhPSBudWxsKXtcclxuICAgICAgICAgICAgICAgICAgICAgICAgZm9yKGxldCBpPTA7IGk8dGFyZ2V0Lmxlbmd0aDtpKyspe1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgaWYodGFyZ2V0W2ldKXtcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBsZXQgbiA9IHRhcmdldFtpXS54KnRoaXMubWFwX0FycmF5WzBdLmxlbmd0aCt0YXJnZXRbaV0ueTtcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBsZXQgbm9kZSA9IHRoaXMuYmxvY2tfQXJyYXlbbl07XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbm9kZS5nZXRDaGlsZEJ5TmFtZShcInRpcFdpblwiKS5hY3RpdmUgPSBmYWxzZTtcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBub2RlLmdldENoaWxkQnlOYW1lKFwidGlwTG9zZVwiKS5hY3RpdmUgPSBmYWxzZTtcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgIHRoaXMudGlwX0FycmF5ID0gW107XHJcbiAgICAgICAgICAgIH0gXHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG5cclxuICAgIC8v6I635Y+W5byV5a+85ZCN5a2XXHJcbiAgICBnZXRHdWlkZU5hbWUoKXtcclxuICAgICAgICB2YXIgbmFtZSA9IFwib25lXCI7XHJcbiAgICAgICAgc3dpdGNoKHRoaXMuc3RlcCl7XHJcbiAgICAgICAgICAgIGNhc2UgMTpcclxuICAgICAgICAgICAgICAgIG5hbWUgPSBcIm9uZVwiO1xyXG4gICAgICAgICAgICAgICAgdGhpcy5idG5DbGljayA9IGZhbHNlO1xyXG4gICAgICAgICAgICAgICAgdGhpcy5iZ0NsaWNrID0gdHJ1ZTtcclxuICAgICAgICAgICAgICAgIGJyZWFrO1xyXG4gICAgICAgICAgICBjYXNlIDI6XHJcbiAgICAgICAgICAgICAgICBuYW1lID0gXCJ0d29cIjtcclxuICAgICAgICAgICAgICAgIHRoaXMuYnRuQ2xpY2sgPSBmYWxzZTtcclxuICAgICAgICAgICAgICAgIHRoaXMuYmdDbGljayA9IHRydWU7XHJcbiAgICAgICAgICAgICAgICBicmVhaztcclxuICAgICAgICAgICAgY2FzZSAzOlxyXG4gICAgICAgICAgICAgICAgbmFtZSA9IFwidGhyZWVcIjtcclxuICAgICAgICAgICAgICAgIHRoaXMuYnRuQ2xpY2sgPSBmYWxzZTtcclxuICAgICAgICAgICAgICAgIHRoaXMuYmdDbGljayA9IHRydWU7XHJcbiAgICAgICAgICAgICAgICBicmVhaztcclxuICAgICAgICAgICAgY2FzZSA0OlxyXG4gICAgICAgICAgICAgICAgbmFtZSA9IFwiZm91clwiO1xyXG4gICAgICAgICAgICAgICAgdGhpcy5idG5DbGljayA9IGZhbHNlO1xyXG4gICAgICAgICAgICAgICAgdGhpcy5iZ0NsaWNrID0gdHJ1ZTtcclxuICAgICAgICAgICAgICAgIGJyZWFrO1xyXG4gICAgICAgICAgICBjYXNlIDU6XHJcbiAgICAgICAgICAgICAgICBuYW1lID0gXCJmaXZlXCI7XHJcbiAgICAgICAgICAgICAgICB0aGlzLmJ0bkNsaWNrID0gdHJ1ZTtcclxuICAgICAgICAgICAgICAgIHRoaXMuYmdDbGljayA9IGZhbHNlO1xyXG4gICAgICAgICAgICAgICAgYnJlYWs7XHJcbiAgICAgICAgICAgIGNhc2UgNjpcclxuICAgICAgICAgICAgICAgIG5hbWUgPSBcInNpeFwiO1xyXG4gICAgICAgICAgICAgICAgdGhpcy5idG5DbGljayA9IHRydWU7XHJcbiAgICAgICAgICAgICAgICB0aGlzLmJnQ2xpY2sgPSBmYWxzZTtcclxuICAgICAgICAgICAgICAgIGJyZWFrO1xyXG4gICAgICAgICAgICBjYXNlIDc6XHJcbiAgICAgICAgICAgICAgICBuYW1lID0gXCJzZXZlblwiO1xyXG4gICAgICAgICAgICAgICAgdGhpcy5idG5DbGljayA9IGZhbHNlO1xyXG4gICAgICAgICAgICAgICAgdGhpcy5iZ0NsaWNrID0gdHJ1ZTtcclxuICAgICAgICAgICAgICAgIGJyZWFrO1xyXG4gICAgICAgICAgICBjYXNlIDg6XHJcbiAgICAgICAgICAgICAgICBuYW1lID0gXCJlaWdodFwiO1xyXG4gICAgICAgICAgICAgICAgdGhpcy5idG5DbGljayA9IGZhbHNlO1xyXG4gICAgICAgICAgICAgICAgdGhpcy5iZ0NsaWNrID0gdHJ1ZTtcclxuICAgICAgICAgICAgICAgIGJyZWFrO1xyXG4gICAgICAgICAgICBjYXNlIDk6XHJcbiAgICAgICAgICAgICAgICBuYW1lID0gXCJuaW5lXCI7XHJcbiAgICAgICAgICAgICAgICB0aGlzLmJ0bkNsaWNrID0gZmFsc2U7XHJcbiAgICAgICAgICAgICAgICB0aGlzLmJnQ2xpY2sgPSB0cnVlO1xyXG4gICAgICAgICAgICAgICAgYnJlYWs7XHJcbiAgICAgICAgICAgIGNhc2UgMTA6XHJcbiAgICAgICAgICAgICAgICBuYW1lID0gXCJ0ZW5cIjtcclxuICAgICAgICAgICAgICAgIHRoaXMuYnRuQ2xpY2sgPSB0cnVlO1xyXG4gICAgICAgICAgICAgICAgdGhpcy5iZ0NsaWNrID0gZmFsc2U7XHJcbiAgICAgICAgICAgICAgICBicmVhaztcclxuICAgICAgICAgICAgY2FzZSAxMTpcclxuICAgICAgICAgICAgICAgIG5hbWUgPSBcImVsZXZlblwiO1xyXG4gICAgICAgICAgICAgICAgdGhpcy5idG5DbGljayA9IGZhbHNlO1xyXG4gICAgICAgICAgICAgICAgdGhpcy5iZ0NsaWNrID0gdHJ1ZTtcclxuICAgICAgICAgICAgICAgIGJyZWFrO1xyXG4gICAgICAgICAgICBjYXNlIDEyOlxyXG4gICAgICAgICAgICAgICAgbmFtZSA9IFwidHdlbHZlXCI7XHJcbiAgICAgICAgICAgICAgICB0aGlzLmJ0bkNsaWNrID0gdHJ1ZTtcclxuICAgICAgICAgICAgICAgIHRoaXMuYmdDbGljayA9IGZhbHNlO1xyXG4gICAgICAgICAgICAgICAgYnJlYWs7XHJcbiAgICAgICAgICAgIGNhc2UgMTM6XHJcbiAgICAgICAgICAgICAgICBuYW1lID0gXCJ0aGlydGVlblwiO1xyXG4gICAgICAgICAgICAgICAgdGhpcy5idG5DbGljayA9IHRydWU7XHJcbiAgICAgICAgICAgICAgICB0aGlzLmJnQ2xpY2sgPSBmYWxzZTtcclxuICAgICAgICAgICAgICAgIGJyZWFrO1xyXG4gICAgICAgICAgICBjYXNlIDE0OlxyXG4gICAgICAgICAgICAgICAgbmFtZSA9IFwiZm91cnRlZW5cIjtcclxuICAgICAgICAgICAgICAgIHRoaXMuYnRuQ2xpY2sgPSB0cnVlO1xyXG4gICAgICAgICAgICAgICAgdGhpcy5iZ0NsaWNrID0gZmFsc2U7XHJcbiAgICAgICAgICAgICAgICBicmVhaztcclxuICAgICAgICAgICAgY2FzZSAxNTpcclxuICAgICAgICAgICAgICAgIG5hbWUgPSBcImZpdmV0ZWVuXCI7XHJcbiAgICAgICAgICAgICAgICB0aGlzLmJ0bkNsaWNrID0gdHJ1ZTtcclxuICAgICAgICAgICAgICAgIHRoaXMuYmdDbGljayA9IGZhbHNlO1xyXG4gICAgICAgICAgICAgICAgYnJlYWs7XHJcbiAgICAgICAgICAgIGNhc2UgMTY6XHJcbiAgICAgICAgICAgICAgICBuYW1lID0gXCJzaXh0ZWVuXCI7XHJcbiAgICAgICAgICAgICAgICB0aGlzLmJ0bkNsaWNrID0gdHJ1ZTtcclxuICAgICAgICAgICAgICAgIHRoaXMuYmdDbGljayA9IGZhbHNlO1xyXG4gICAgICAgICAgICAgICAgYnJlYWs7XHJcbiAgICAgICAgICAgIGNhc2UgMTc6XHJcbiAgICAgICAgICAgICAgICBuYW1lID0gXCJsYXN0XCI7XHJcbiAgICAgICAgICAgICAgICB0aGlzLmJ0bkNsaWNrID0gdHJ1ZTtcclxuICAgICAgICAgICAgICAgIHRoaXMuYmdDbGljayA9IGZhbHNlO1xyXG4gICAgICAgICAgICAgICAgYnJlYWs7XHJcbiAgICAgICAgfVxyXG5cclxuICAgICAgICByZXR1cm4gbmFtZTtcclxuICAgIH1cclxuICAgIC8v5byV5a+85LiL5LiA5q2lXHJcbiAgICBndWlkZU5leHQoKXtcclxuICAgICAgICAvL+avj+asoeWFiOaKiuaJgOacieeahFxyXG4gICAgICAgIGNvbnNvbGUubG9nKHRoaXMuc3RlcCx0aGlzLkd1aWRlLmNoaWxkcmVuLmxlbmd0aCk7XHJcbiAgICAgICAgaWYodGhpcy5zdGVwICsgMSAgPT0gIHRoaXMuR3VpZGUuY2hpbGRyZW4ubGVuZ3RoKXtcclxuICAgICAgICAgICAgY2MuZnguR2FtZUNvbmZpZy5HTV9JTkZPLmd1aWRlID0gZmFsc2U7XHJcbiAgICAgICAgICAgIC8vIGNjLmRpcmVjdG9yLmxvYWRTY2VuZShcIkdhbWVTY2VuZVwiKTtcclxuICAgICAgICAgICAgbGV0IG5hbWUgPSBjYy5meC5HYW1lQ29uZmlnLkdNX0lORk8uZ2FtZUlkICsgXCJfZ3VpZGVcIjtcclxuICAgICAgICAgICAgY2MuZnguU3RvcmFnZU1lc3NhZ2Uuc2V0U3RvcmFnZShuYW1lLGNjLmZ4LkdhbWVDb25maWcuR01fSU5GTy5ndWlkZSk7XHJcbiAgICAgICAgfVxyXG4gICAgICAgIGlmKHRoaXMuc3RlcCA+IDApIHRoaXMuR3VpZGUuY2hpbGRyZW5bdGhpcy5zdGVwLTFdLmFjdGl2ZSA9IGZhbHNlO1xyXG4gICAgICAgIHRoaXMuc3RlcCArPSAxO1xyXG4gICAgICAgIGxldCBuYW1lID0gdGhpcy5nZXRHdWlkZU5hbWUoKTtcclxuICAgXHJcbiAgICAgICAgdmFyIHRhcmdldCA9IHRoaXMuR3VpZGUuZ2V0Q2hpbGRCeU5hbWUobmFtZSk7XHJcbiAgICAgICAgdGFyZ2V0LmFjdGl2ZSA9IHRydWU7XHJcbiAgICAgICAgbGV0IHNpemUgPSBjYy53aW5TaXplO1xyXG5cclxuICAgICAgICBpZihzaXplLmhlaWdodCA+IDEzMzQpe1xyXG4gICAgICAgICAgICBsZXQgaGVpZ2h0ID0gKHNpemUuaGVpZ2h0IC0gMTMzNCkvMjtcclxuICAgICAgICAgICAgdGFyZ2V0LmdldENoaWxkQnlOYW1lKFwic3BcIikuaGVpZ2h0ICs9IGhlaWdodDtcclxuICAgICAgICB9XHJcbiAgICB9XHJcblxyXG4gICAgb25FbmFibGUgKCkge1xyXG4gICAgICAgIGNjLmZ4Lk5vdGlmaWNhdGlvbnMub24oY2MuZnguTWVzc2FnZS5jb250cm9sLCB0aGlzLmNsaWNrU3VuLCB0aGlzKTtcclxuICAgICAgICBjYy5meC5Ob3RpZmljYXRpb25zLm9uKGNjLmZ4Lk1lc3NhZ2UubmV4dCwgdGhpcy5ydW5Sb2FkLCB0aGlzKTtcclxuICAgICAgICBjYy5meC5Ob3RpZmljYXRpb25zLm9uKGNjLmZ4Lk1lc3NhZ2UubmV4dFdhdGVyLCB0aGlzLnJ1bldhdGVyLCB0aGlzKTtcclxuICAgICAgICBjYy5meC5Ob3RpZmljYXRpb25zLm9uKGNjLmZ4Lk1lc3NhZ2Uuc3RhcnRHYW1lLCB0aGlzLnN0YXJ0R2FtZSwgdGhpcyk7XHJcbiAgICAgICAgY2MuZnguTm90aWZpY2F0aW9ucy5vbihjYy5meC5NZXNzYWdlLmNoYW5nZVBhdGgsIHRoaXMuY2hhbmdlUGF0aCwgdGhpcyk7XHJcbiAgICAgICAgY2MuZnguTm90aWZpY2F0aW9ucy5vbihjYy5meC5NZXNzYWdlLnNldERhdGEsIHRoaXMuc2V0RGF0YSwgdGhpcyk7XHJcbiAgICAgICAgY2MuZnguTm90aWZpY2F0aW9ucy5vbihjYy5meC5NZXNzYWdlLmd1aWRlTmV4dCwgdGhpcy5ndWlkZU5leHQsIHRoaXMpO1xyXG4gICAgICAgIGNjLmZ4Lk5vdGlmaWNhdGlvbnMub24oY2MuZnguTWVzc2FnZS5zaG93UmVzdWx0LCB0aGlzLnNob3dSZXN1bHQsIHRoaXMpO1xyXG4gICAgICAgIGNjLmZ4Lk5vdGlmaWNhdGlvbnMub24oY2MuZnguTWVzc2FnZS5yZW1vdmVUaXAsIHRoaXMucmVtb3ZlVGlwLCB0aGlzKTtcclxuICAgIH1cclxuICAgIG9uRGlzYWJsZSAoKSB7XHJcbiAgICAgICAgY2MuZnguTm90aWZpY2F0aW9ucy5vZmYoY2MuZnguTWVzc2FnZS5jb250cm9sLCB0aGlzLmNsaWNrU3VuKTtcclxuICAgICAgICBjYy5meC5Ob3RpZmljYXRpb25zLm9mZihjYy5meC5NZXNzYWdlLm5leHQsIHRoaXMucnVuUm9hZCk7XHJcbiAgICAgICAgY2MuZnguTm90aWZpY2F0aW9ucy5vZmYoY2MuZnguTWVzc2FnZS5uZXh0V2F0ZXIsIHRoaXMucnVuV2F0ZXIpO1xyXG4gICAgICAgIGNjLmZ4Lk5vdGlmaWNhdGlvbnMub2ZmKGNjLmZ4Lk1lc3NhZ2Uuc3RhcnRHYW1lLCB0aGlzLnN0YXJ0R2FtZSk7XHJcbiAgICAgICAgY2MuZnguTm90aWZpY2F0aW9ucy5vZmYoY2MuZnguTWVzc2FnZS5jaGFuZ2VQYXRoLCB0aGlzLmNoYW5nZVBhdGgpO1xyXG4gICAgICAgIGNjLmZ4Lk5vdGlmaWNhdGlvbnMub2ZmKGNjLmZ4Lk1lc3NhZ2Uuc2V0RGF0YSwgdGhpcy5zZXREYXRhKTtcclxuICAgICAgICBjYy5meC5Ob3RpZmljYXRpb25zLm9mZihjYy5meC5NZXNzYWdlLmd1aWRlTmV4dCwgdGhpcy5ndWlkZU5leHQpO1xyXG4gICAgICAgIGNjLmZ4Lk5vdGlmaWNhdGlvbnMub2ZmKGNjLmZ4Lk1lc3NhZ2Uuc2hvd1Jlc3VsdCwgdGhpcy5zaG93UmVzdWx0KTtcclxuICAgICAgICBjYy5meC5Ob3RpZmljYXRpb25zLm9mZihjYy5meC5NZXNzYWdlLnJlbW92ZVRpcCwgdGhpcy5yZW1vdmVUaXApO1xyXG4gICAgfVxyXG4gICAgdXBkYXRlIChkdCkge1xyXG5cclxuICAgXHJcbiAgICB9XHJcbn1cclxuIl19 \ No newline at end of file diff --git a/temp/quick-scripts/dst/assets/Script/GameOver.js b/temp/quick-scripts/dst/assets/Script/GameOver.js index b21f525..354de3c 100644 --- a/temp/quick-scripts/dst/assets/Script/GameOver.js +++ b/temp/quick-scripts/dst/assets/Script/GameOver.js @@ -75,6 +75,17 @@ var NewClass = /** @class */ (function (_super) { this.three.active = false; this.four.active = false; this.five.active = false; + var urlNow = window.location.href; + if (this.containsTrain(urlNow)) { + this.node.getChildByName("again").active = false; + this.node.getChildByName("back").active = false; + this.node.getChildByName("finishi").active = true; + } + else { + this.node.getChildByName("again").active = true; + this.node.getChildByName("back").active = true; + this.node.getChildByName("finishi").active = false; + } this.getRank(); }; //打开排行榜 @@ -91,8 +102,13 @@ var NewClass = /** @class */ (function (_super) { cc.fx.GameConfig.GM_INFO.score = 0; cc.fx.GameConfig.GM_INFO.min_Steps = 0; cc.fx.GameConfig.GM_INFO.min_Time = 0; + cc.fx.GameConfig.TIME_INFO.totalTime = 120; cc.director.loadScene("GameScene"); }; + //判断来源 + NewClass.prototype.containsTrain = function (str) { + return /from=train/i.test(str); + }; //获取排行榜 NewClass.prototype.getRank = function () { var _this = this; @@ -102,6 +118,11 @@ var NewClass = /** @class */ (function (_super) { }; cc.fx.GameTool.getRank(dataFile, function (data) { return _this.getRankData(data); }); }; + //打开排行榜 + NewClass.prototype.jumpFinishi = function () { + var url = "https://train.sparkus.cn/poster/game/"; + window.location.href = url; + }; //设置排行信息 NewClass.prototype.getRankData = function (data) { if (data) { @@ -184,4 +205,4 @@ cc._RF.pop(); }); } })(); -//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbImFzc2V0c1xcU2NyaXB0XFxHYW1lT3Zlci50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7QUFDTSxJQUFBLEtBQXNCLEVBQUUsQ0FBQyxVQUFVLEVBQWxDLE9BQU8sYUFBQSxFQUFFLFFBQVEsY0FBaUIsQ0FBQztBQUcxQztJQUFzQyw0QkFBWTtJQUFsRDtRQUFBLHFFQTZHQztRQTNHRyxXQUFLLEdBQWEsSUFBSSxDQUFDO1FBRXZCLFVBQUksR0FBYSxJQUFJLENBQUM7UUFFdEIsY0FBUSxHQUFZLElBQUksQ0FBQztRQUV6QixTQUFHLEdBQVksSUFBSSxDQUFDO1FBRXBCLFNBQUcsR0FBWSxJQUFJLENBQUM7UUFFcEIsV0FBSyxHQUFZLElBQUksQ0FBQztRQUV0QixVQUFJLEdBQVksSUFBSSxDQUFDO1FBRXJCLFVBQUksR0FBWSxJQUFJLENBQUM7O0lBNkZ6QixDQUFDO0lBMUZHLGVBQWU7SUFDZix3QkFBSyxHQUFMO1FBQ0ksSUFBSSxDQUFDLEtBQUssQ0FBQyxNQUFNLEdBQUcsRUFBRSxDQUFDLEVBQUUsQ0FBQyxVQUFVLENBQUMsT0FBTyxDQUFDLEtBQUssR0FBRyxFQUFFLENBQUM7UUFDeEQsSUFBSSxHQUFHLEdBQUcsQ0FBQyxDQUFDO1FBQ1osSUFBSSxXQUFXLEdBQUcsRUFBRSxDQUFDLEVBQUUsQ0FBQyxVQUFVLENBQUMsT0FBTyxDQUFDLFdBQVcsQ0FBQztRQUN2RCxJQUFHLFdBQVcsQ0FBQyxNQUFNLEdBQUcsQ0FBQyxFQUFDO1lBQ3RCLElBQUksT0FBTyxHQUFHLENBQUMsQ0FBQztZQUNoQixLQUFJLElBQUksQ0FBQyxHQUFDLENBQUMsRUFBRSxDQUFDLEdBQUMsV0FBVyxDQUFDLE1BQU0sRUFBRSxDQUFDLEVBQUUsRUFBQztnQkFDbkMsSUFBRyxXQUFXLENBQUMsQ0FBQyxDQUFDLElBQUksSUFBSTtvQkFBRSxPQUFPLElBQUksQ0FBQyxDQUFDO2FBQzNDO1lBQ0QsR0FBRyxH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YXNzLCBwcm9wZXJ0eX0gPSBjYy5fZGVjb3JhdG9yO1xyXG5cclxuQGNjY2xhc3NcclxuZXhwb3J0IGRlZmF1bHQgY2xhc3MgTmV3Q2xhc3MgZXh0ZW5kcyBjYy5Db21wb25lbnQge1xyXG4gICAgQHByb3BlcnR5KGNjLkxhYmVsKVxyXG4gICAgY291bnQ6IGNjLkxhYmVsID0gbnVsbDtcclxuICAgIEBwcm9wZXJ0eShjYy5MYWJlbClcclxuICAgIHRpbWU6IGNjLkxhYmVsID0gbnVsbDtcclxuICAgIEBwcm9wZXJ0eShjYy5Ob2RlKVxyXG4gICAgc2VsZk5vZGU6IGNjLk5vZGUgPSBudWxsO1xyXG4gICAgQHByb3BlcnR5KGNjLk5vZGUpXHJcbiAgICBvbmU6IGNjLk5vZGUgPSBudWxsO1xyXG4gICAgQHByb3BlcnR5KGNjLk5vZGUpXHJcbiAgICB0d286IGNjLk5vZGUgPSBudWxsO1xyXG4gICAgQHByb3BlcnR5KGNjLk5vZGUpXHJcbiAgICB0aHJlZTogY2MuTm9kZSA9IG51bGw7XHJcbiAgICBAcHJvcGVydHkoY2MuTm9kZSlcclxuICAgIGZvdXI6IGNjLk5vZGUgPSBudWxsO1xyXG4gICAgQHByb3BlcnR5KGNjLk5vZGUpXHJcbiAgICBmaXZlOiBjYy5Ob2RlID0gbnVsbDtcclxuICAgIGxpc3REYXRhOiBhbnk7XHJcbiAgICBzZWxmRGF0YTogYW55O1xyXG4gICAgLy8gb25Mb2FkICgpIHt9XHJcbiAgICBzdGFydCAoKSB7XHJcbiAgICAgICAgdGhpcy5jb3VudC5zdHJpbmcgPSBjYy5meC5HYW1lQ29uZmlnLkdNX0lORk8uc2NvcmUgKyBcIlwiO1xyXG4gICAgICAgIHZhciB5ZXMgPSAwO1xyXG4gICAgICAgIHZhciBzdWNjZXNzTGlzdCA9IGNjLmZ4LkdhbWVDb25maWcuR01fSU5GTy5zdWNjZXNzTGlzdDtcclxuICAgICAgICBpZihzdWNjZXNzTGlzdC5sZW5ndGggPiAwKXtcclxuICAgICAgICAgICAgdmFyIHN1Y2Nlc3MgPSAwO1xyXG4gICAgICAgICAgICBmb3IobGV0IGk9MDsgaTxzdWNjZXNzTGlzdC5sZW5ndGg7IGkrKyl7XHJcbiAgICAgICAgICAgICAgICBpZihzdWNjZXNzTGlzdFtpXSA9PSB0cnVlKSBzdWNjZXNzICs9IDE7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgeWVzID0gc3VjY2Vzcy9zdWNjZXNzTGlzdC5sZW5ndGg7XHJcbiAgICAgICAgfVxyXG4gICAgICAgIHllcyA9IE1hdGguZmxvb3IoeWVzICogMTAwMCkvMTA7XHJcbiAgICAgICAgdGhpcy50aW1lLnN0cmluZyA9ICAgeWVzICsgXCIlXCI7XHJcbiAgICAgICAgdGhpcy5pbml0KCk7XHJcbiAgICB9XHJcbiAgICAvL+WIneWni+WMluaVsOaNrlxyXG4gICAgaW5pdCgpe1xyXG4gICAgICAgIHRoaXMubGlzdERhdGEgPSBbXTtcclxuICAgICAgICB0aGlzLnNlbGZEYXRhID0gbnVsbDtcclxuICAgICAgICB0aGlzLm9uZS5hY3RpdmUgPSBmYWxzZTtcclxuICAgICAgICB0aGlzLnR3by5hY3RpdmUgPSBmYWxzZTtcclxuICAgICAgICB0aGlzLnRocmVlLmFjdGl2ZSA9IGZhbHNlO1xyXG4gICAgICAgIHRoaXMuZm91ci5hY3RpdmUgPSBmYWxzZTtcclxuICAgICAgICB0aGlzLmZpdmUuYWN0aXZlID0gZmFsc2U7XHJcbiAgICAgICAgdGhpcy5nZXRSYW5rKCk7XHJcbiAgICB9XHJcbiAgICAvL+aJk+W8gOaOkuihjOamnFxyXG4gICAgb3BlblJhbmsoKXtcclxuICAgICAgICBjYy5kaXJlY3Rvci5sb2FkU2NlbmUoXCJSYW5rU2NlbmVcIik7XHJcbiAgICB9XHJcbiAgICAvL+mHjeaWsOW8gOWni+eOqVxyXG4gICAgYWdhaW4oKXtcclxuICAgICAgICBjYy5meC5HYW1lQ29uZmlnLkdNX0lORk8ucm91bmQgPSAwO1xyXG4gICAgICAgIGNjLmZ4LkdhbWVDb25maWcuR01fSU5GTy5sZXZlbCA9IDA7XHJcbiAgICAgICAgY2MuZnguR2FtZUNvbmZpZy5HTV9JTkZPLnN0ZXBUaW1lTGlzdCA9IDA7XHJcbiAgICAgICAgY2MuZnguR2FtZUNvbmZpZy5HTV9JTkZPLnN1Y2Nlc3NMaXN0ID0gW107XHJcbiAgICAgICAgY2MuZnguR2FtZUNvbmZpZy5HTV9JTkZPLmZlbiA9IDA7XHJcbiAgICAgICAgY2MuZnguR2FtZUNvbmZpZy5HTV9JTkZPLnNjb3JlID0gMDtcclxuICAgICAgICBjYy5meC5HYW1lQ29uZmlnLkdNX0lORk8ubWluX1N0ZXBzID0gMDtcclxuICAgICAgICBjYy5meC5HYW1lQ29uZmlnLkdNX0lORk8ubWluX1RpbWUgPSAwO1xyXG4gICAgICAgIGNjLmRpcmVjdG9yLmxvYWRTY2VuZShcIkdhbWVTY2VuZVwiKTtcclxuICAgIH1cclxuICAgIC8v6I635Y+W5o6S6KGM5qacXHJcbiAgICBnZXRSYW5rKCl7XHJcbiAgICAgICAgLy/ojrflj5bmjpLooYzmppzmlbDmja4gIOaJgOmcgOaVsOaNrumHj1xyXG4gICAgICAgIGxldCBkYXRhRmlsZSA9IHtcclxuICAgICAgICAgICAgbGVuZ3RoOjVcclxuICAgICAgICB9XHJcbiAgICAgICAgIGNjLmZ4LkdhbWVUb29sLmdldFJhbmsoZGF0YUZpbGUsZGF0YSA9PnRoaXMuZ2V0UmFua0RhdGEoZGF0YSkpO1xyXG4gICAgfVxyXG4gICAgLy/orr7nva7mjpLooYzkv6Hmga9cclxuICAgIGdldFJhbmtEYXRhKGRhdGEpe1xyXG5cclxuICAgICAgICBpZihkYXRhKXtcclxuICAgICAgICAgICAgIGNjLmZ4LkdhbWVUb29sLmdldFJhbmtEYXRhKGRhdGEsdGhpcyw0KTtcclxuICAgICAgICAgICAgIGNjLmZ4LkdhbWVUb29sLnNldFBpYyh0aGlzLnNlbGZOb2RlLmdldENoaWxkQnlOYW1lKFwicGljXCIpLmdldENoaWxkQnlOYW1lKFwiaWNvblwiKSx0aGlzLnNlbGZEYXRhLnBpYyk7XHJcbiAgICAgICAgICAgIHZhciBsZW5ndGggPSB0aGlzLmxpc3REYXRhLmxlbmd0aC0xOyBpZihsZW5ndGggPiA0KSBsZW5ndGggPSA0O1xyXG4gICAgICAgICAgICBmb3IobGV0IGk9MDtpPD1sZW5ndGg7aSsrKXtcclxuICAgICAgICAgICAgICAgIHRoaXMuc2V0UmFuayhpLHRoaXMubGlzdERhdGFbaV0pO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG4gICAgLy/moLnmja7lhoXlrrnloavlhYXmjpLooYzmppxcclxuICAgIHNldFJhbmsobnVtLGRhdGEpe1xyXG4gICAgICAgIHZhciBoaXROb2RlID0gbnVsbDtcclxuICAgICAgICBpZihudW0gPT0gMCl7XHJcbiAgICAgICAgICAgIGhpdE5vZGUgPSB0aGlzLm9uZTtcclxuICAgICAgICB9XHJcbiAgICAgICAgZWxzZSBpZihudW0gPT0gMSl7XHJcbiAgICAgICAgICAgIGhpdE5vZGUgPSB0aGlzLnR3bztcclxuICAgICAgICB9XHJcbiAgICAgICAgZWxzZSBpZihudW0gPT0gMil7XHJcbiAgICAgICAgICAgIGhpdE5vZGUgPSB0aGlzLnRocmVlO1xyXG4gICAgICAgIH1cclxuICAgICAgICBlbHNlIGlmKG51bSA9PSAzKXtcclxuICAgICAgICAgICAgaGl0Tm9kZSA9IHRoaXMuZm91cjtcclxuICAgICAgICB9XHJcbiAgICAgICAgZWxzZSBpZihudW0gPT0gNCl7XHJcbiAgICAgICAgICAgIGhpdE5vZGUgPSB0aGlzLmZpdmU7XHJcbiAgICAgICAgfVxyXG4gICAgICAgIGlmKGhpdE5vZGUpe1xyXG4gICAgICAgICAgICBoaXROb2RlLmFjdGl2ZSA9IHRydWU7XHJcbiAgICAgICAgICAgIGlmKGRhdGEubmlja05hbWUubGVuZ3RoID49IDQpXHJcbiAgICAgICAgICAgICAgICBjYy5meC5HYW1lVG9vbC5zdWJOYW1lKGRhdGEubmlja05hbWUsNCk7XHJcbiAgICAgICAgICAgIGhpdE5vZGUuZ2V0Q2hpbGRCeU5hbWUoXCJuYW1lXCIpLmdldENvbXBvbmVudChjYy5MYWJlbCkuc3RyaW5nID0gZGF0YS5uaWNrTmFtZTtcclxuICAgICAgICAgICAgaGl0Tm9kZS5nZXRDaGlsZEJ5TmFtZShcInRvdGFsXCIpLmdldENvbXBvbmVudChjYy5MYWJlbCkuc3RyaW5nID0gZGF0YS5zY29yZTtcclxuICAgICAgICAgICAgIGNjLmZ4LkdhbWVUb29sLnNldFBpYyhoaXROb2RlLmdldENoaWxkQnlOYW1lKFwicGljXCIpLmdldENoaWxkQnlOYW1lKFwiaWNvblwiKSxkYXRhLnBpYyk7XHJcbiAgICAgICAgfVxyXG4gICAgfSAgIFxyXG59XHJcbiJdfQ== \ No newline at end of file +//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbImFzc2V0c1xcU2NyaXB0XFxHYW1lT3Zlci50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7QUFDTSxJQUFBLEtBQXNCLEVBQUUsQ0FBQyxVQUFVLEVBQWxDLE9BQU8sYUFBQSxFQUFFLFFBQVEsY0FBaUIsQ0FBQztBQUcxQztJQUFzQyw0QkFBWTtJQUFsRDtRQUFBLHFFQWtJQztRQWhJRyxXQUFLLEdBQWEsSUFBSSxDQUFDO1FBRXZCLFVBQUksR0FBYSxJQUFJLENBQUM7UUFFdEIsY0FBUSxHQUFZLElBQUksQ0FBQztRQUV6QixTQUFHLEdBQVksSUFBSSxDQUFDO1FBRXBCLFNBQUcsR0FBWSxJQUFJLENBQUM7UUFFcEIsV0FBSyxHQUFZLElBQUksQ0FBQztRQUV0QixVQUFJLEdBQVksSUFBSSxDQUFDO1FBRXJCLFVBQUksR0FBWSxJQUFJLENBQUM7O0lBa0h6QixDQUFDO0lBL0dHLGVBQWU7SUFDZix3QkFBSyxHQUFMO1FBQ0ksSUFBSSxDQUFDLEtBQUssQ0FBQyxNQUFNLEdBQUcsRUFBRSxDQUFDLEVBQUUsQ0FBQyxVQUFVLENBQUMsT0FBTyxDQUFDLEtBQUssR0FBRyxFQUFFLENBQUM7UUFDeEQsSUFBSSxHQUFHLEdBQUcsQ0FBQyxDQUFDO1FBQ1osSUFBSSxXQUFXLEdBQUcsRUFBRSxDQUFDLEVBQUUsQ0FBQyxVQUFVLENBQUMsT0FBTyxDQUFDLFdBQVcsQ0FBQztRQUN2RCxJQUFHLFdBQVcsQ0FBQyxNQUFNLEdBQUcsQ0FBQyxFQUFDO1lBQ3RCLElBQUksT0FBTyxHQUFHLENBQUMsQ0FBQztZQUNoQixLQUFJLElBQUksQ0FBQyxHQUFDLENBQUMsRUFBRSxDQUFDLEdBQUMsV0FBVyxDQUFDLE1BQU0sRUFBRSxDQUFDLEVBQUUsRUFBQztnQkFDbkMsSUFBRyxXQUFXLENBQUMsQ0FBQyxDQUFDLElBQUksSUFBSTtvQkFBRSxPQUFPLElBQUksQ0FBQyxDQUFDO2FBQzNDO1lBQ0QsR0FBRyxH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SSxDQUFDLFFBQVEsQ0FBQztZQUM3RSxPQUFPLENBQUMsY0FBYyxDQUFDLE9BQU8sQ0FBQyxDQUFDLFlBQVksQ0FBQyxFQUFFLENBQUMsS0FBSyxDQUFDLENBQUMsTUFBTSxHQUFHLElBQUksQ0FBQyxLQUFLLENBQUM7WUFDMUUsRUFBRSxDQUFDLEVBQUUsQ0FBQyxRQUFRLENBQUMsTUFBTSxDQUFDLE9BQU8sQ0FBQyxjQUFjLENBQUMsS0FBSyxDQUFDLENBQUMsY0FBYyxDQUFDLE1BQU0sQ0FBQyxFQUFDLElBQUksQ0FBQyxHQUFHLENBQUMsQ0FBQztTQUN6RjtJQUNMLENBQUM7SUEvSEQ7UUFEQyxRQUFRLENBQUMsRUFBRSxDQUFDLEtBQUssQ0FBQzsyQ0FDSTtJQUV2QjtRQURDLFFBQVEsQ0FBQyxFQUFFLENBQUMsS0FBSyxDQUFDOzBDQUNHO0lBRXRCO1FBREMsUUFBUSxDQUFDLEVBQUUsQ0FBQyxJQUFJLENBQUM7OENBQ087SUFFekI7UUFEQyxRQUFRLENBQUMsRUFBRSxDQUFDLElBQUksQ0FBQzt5Q0FDRTtJQUVwQjtRQURDLFFBQVEsQ0FBQyxFQUFFLENBQUMsSUFBSSxDQUFDO3lDQUNFO0lBRXBCO1FBREMsUUFBUSxDQUFDLEVBQUUsQ0FBQyxJQUFJLENBQUM7MkNBQ0k7SUFFdEI7UUFEQyxRQUFRLENBQUMsRUFBRSxDQUFDLElBQUksQ0FBQzswQ0FDRztJQUVyQjtRQURDLFFBQVEsQ0FBQyxFQUFFLENBQUMsSUFBSSxDQUFDOzBDQUNHO0lBaEJKLFFBQVE7UUFENUIsT0FBTztPQUNhLFFBQVEsQ0FrSTVCO0lBQUQsZUFBQztDQWxJRCxBQWtJQyxDQWxJcUMsRUFBRSxDQUFDLFNBQVMsR0FrSWpEO2tCQWxJb0IsUUFBUSIsImZpbGUiOiIiLCJzb3VyY2VSb290IjoiLyIsInNvdXJjZXNDb250ZW50IjpbIlxyXG5jb25zdCB7Y2NjbGFzcywgcHJvcGVydHl9ID0gY2MuX2RlY29yYXRvcjtcclxuXHJcbkBjY2NsYXNzXHJcbmV4cG9ydCBkZWZhdWx0IGNsYXNzIE5ld0NsYXNzIGV4dGVuZHMgY2MuQ29tcG9uZW50IHtcclxuICAgIEBwcm9wZXJ0eShjYy5MYWJlbClcclxuICAgIGNvdW50OiBjYy5MYWJlbCA9IG51bGw7XHJcbiAgICBAcHJvcGVydHkoY2MuTGFiZWwpXHJcbiAgICB0aW1lOiBjYy5MYWJlbCA9IG51bGw7XHJcbiAgICBAcHJvcGVydHkoY2MuTm9kZSlcclxuICAgIHNlbGZOb2RlOiBjYy5Ob2RlID0gbnVsbDtcclxuICAgIEBwcm9wZXJ0eShjYy5Ob2RlKVxyXG4gICAgb25lOiBjYy5Ob2RlID0gbnVsbDtcclxuICAgIEBwcm9wZXJ0eShjYy5Ob2RlKVxyXG4gICAgdHdvOiBjYy5Ob2RlID0gbnVsbDtcclxuICAgIEBwcm9wZXJ0eShjYy5Ob2RlKVxyXG4gICAgdGhyZWU6IGNjLk5vZGUgPSBudWxsO1xyXG4gICAgQHByb3BlcnR5KGNjLk5vZGUpXHJcbiAgICBmb3VyOiBjYy5Ob2RlID0gbnVsbDtcclxuICAgIEBwcm9wZXJ0eShjYy5Ob2RlKVxyXG4gICAgZml2ZTogY2MuTm9kZSA9IG51bGw7XHJcbiAgICBsaXN0RGF0YTogYW55O1xyXG4gICAgc2VsZkRhdGE6IGFueTtcclxuICAgIC8vIG9uTG9hZCAoKSB7fVxyXG4gICAgc3RhcnQgKCkge1xyXG4gICAgICAgIHRoaXMuY291bnQuc3RyaW5nID0gY2MuZnguR2FtZUNvbmZpZy5HTV9JTkZPLnNjb3JlICsgXCJcIjtcclxuICAgICAgICB2YXIgeWVzID0gMDtcclxuICAgICAgICB2YXIgc3VjY2Vzc0xpc3QgPSBjYy5meC5HYW1lQ29uZmlnLkdNX0lORk8uc3VjY2Vzc0xpc3Q7XHJcbiAgICAgICAgaWYoc3VjY2Vzc0xpc3QubGVuZ3RoID4gMCl7XHJcbiAgICAgICAgICAgIHZhciBzdWNjZXNzID0gMDtcclxuICAgICAgICAgICAgZm9yKGxldCBpPTA7IGk8c3VjY2Vzc0xpc3QubGVuZ3RoOyBpKyspe1xyXG4gICAgICAgICAgICAgICAgaWYoc3VjY2Vzc0xpc3RbaV0gPT0gdHJ1ZSkgc3VjY2VzcyArPSAxO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIHllcyA9IHN1Y2Nlc3Mvc3VjY2Vzc0xpc3QubGVuZ3RoO1xyXG4gICAgICAgIH1cclxuICAgICAgICB5ZXMgPSBNYXRoLmZsb29yKHllcyAqIDEwMDApLzEwO1xyXG4gICAgICAgIHRoaXMudGltZS5zdHJpbmcgPSAgIHllcyArIFwiJVwiO1xyXG4gICAgICAgIHRoaXMuaW5pdCgpO1xyXG4gICAgfVxyXG4gICAgLy/liJ3lp4vljJbmlbDmja5cclxuICAgIGluaXQoKXtcclxuICAgICAgICB0aGlzLmxpc3REYXRhID0gW107XHJcbiAgICAgICAgdGhpcy5zZWxmRGF0YSA9IG51bGw7XHJcbiAgICAgICAgdGhpcy5vbmUuYWN0aXZlID0gZmFsc2U7XHJcbiAgICAgICAgdGhpcy50d28uYWN0aXZlID0gZmFsc2U7XHJcbiAgICAgICAgdGhpcy50aHJlZS5hY3RpdmUgPSBmYWxzZTtcclxuICAgICAgICB0aGlzLmZvdXIuYWN0aXZlID0gZmFsc2U7XHJcbiAgICAgICAgdGhpcy5maXZlLmFjdGl2ZSA9IGZhbHNlO1xyXG4gICAgICAgIHZhciB1cmxOb3cgPSB3aW5kb3cubG9jYXRpb24uaHJlZjtcclxuICAgICAgICBpZih0aGlzLmNvbnRhaW5zVHJhaW4odXJsTm93KSl7XHJcbiAgICAgICAgICAgIHRoaXMubm9kZS5nZXRDaGlsZEJ5TmFtZShcImFnYWluXCIpLmFjdGl2ZSA9IGZhbHNlO1xyXG4gICAgICAgICAgICB0aGlzLm5vZGUuZ2V0Q2hpbGRCeU5hbWUoXCJiYWNrXCIpLmFjdGl2ZSA9IGZhbHNlO1xyXG4gICAgICAgICAgICB0aGlzLm5vZGUuZ2V0Q2hpbGRCeU5hbWUoXCJmaW5pc2hpXCIpLmFjdGl2ZSA9IHRydWU7XHJcbiAgICAgICAgfVxyXG4gICAgICAgIGVsc2V7XHJcbiAgICAgICAgICAgIHRoaXMubm9kZS5nZXRDaGlsZEJ5TmFtZShcImFnYWluXCIpLmFjdGl2ZSA9IHRydWU7XHJcbiAgICAgICAgICAgIHRoaXMubm9kZS5nZXRDaGlsZEJ5TmFtZShcImJhY2tcIikuYWN0aXZlID0gdHJ1ZTtcclxuICAgICAgICAgICAgdGhpcy5ub2RlLmdldENoaWxkQnlOYW1lKFwiZmluaXNoaVwiKS5hY3RpdmUgPSBmYWxzZTtcclxuICAgICAgICB9XHJcbiAgICAgICAgdGhpcy5nZXRSYW5rKCk7XHJcbiAgICB9XHJcbiAgICAvL+aJk+W8gOaOkuihjOamnFxyXG4gICAgb3BlblJhbmsoKXtcclxuICAgICAgICBjYy5kaXJlY3Rvci5sb2FkU2NlbmUoXCJSYW5rU2NlbmVcIik7XHJcbiAgICB9XHJcbiAgICAvL+mHjeaWsOW8gOWni+eOqVxyXG4gICAgYWdhaW4oKXtcclxuICAgICAgICBjYy5meC5HYW1lQ29uZmlnLkdNX0lORk8ucm91bmQgPSAwO1xyXG4gICAgICAgIGNjLmZ4LkdhbWVDb25maWcuR01fSU5GTy5sZXZlbCA9IDA7XHJcbiAgICAgICAgY2MuZnguR2FtZUNvbmZpZy5HTV9JTkZPLnN0ZXBUaW1lTGlzdCA9IDA7XHJcbiAgICAgICAgY2MuZnguR2FtZUNvbmZpZy5HTV9JTkZPLnN1Y2Nlc3NMaXN0ID0gW107XHJcbiAgICAgICAgY2MuZnguR2FtZUNvbmZpZy5HTV9JTkZPLmZlbiA9IDA7XHJcbiAgICAgICAgY2MuZnguR2FtZUNvbmZpZy5HTV9JTkZPLnNjb3JlID0gMDtcclxuICAgICAgICBjYy5meC5HYW1lQ29uZmlnLkdNX0lORk8ubWluX1N0ZXBzID0gMDtcclxuICAgICAgICBjYy5meC5HYW1lQ29uZmlnLkdNX0lORk8ubWluX1RpbWUgPSAwO1xyXG4gICAgICAgIGNjLmZ4LkdhbWVDb25maWcuVElNRV9JTkZPLnRvdGFsVGltZSA9IDEyMDtcclxuICAgICAgICBjYy5kaXJlY3Rvci5sb2FkU2NlbmUoXCJHYW1lU2NlbmVcIik7XHJcbiAgICB9XHJcbiAgICAvL+WIpOaWreadpea6kFxyXG4gICAgY29udGFpbnNUcmFpbihzdHIpIHtcclxuICAgICAgICByZXR1cm4gL2Zyb209dHJhaW4vaS50ZXN0KHN0cik7XHJcbiAgICB9XHJcbiAgICAvL+iOt+WPluaOkuihjOamnFxyXG4gICAgZ2V0UmFuaygpe1xyXG4gICAgICAgIC8v6I635Y+W5o6S6KGM5qac5pWw5o2uICDmiYDpnIDmlbDmja7ph49cclxuICAgICAgICBsZXQgZGF0YUZpbGUgPSB7XHJcbiAgICAgICAgICAgIGxlbmd0aDo1XHJcbiAgICAgICAgfVxyXG4gICAgICAgICBjYy5meC5HYW1lVG9vbC5nZXRSYW5rKGRhdGFGaWxlLGRhdGEgPT50aGlzLmdldFJhbmtEYXRhKGRhdGEpKTtcclxuICAgIH1cclxuICAgIC8v5omT5byA5o6S6KGM5qacXHJcbiAgICBqdW1wRmluaXNoaSgpe1xyXG4gICAgICAgIGxldCB1cmwgPSBcImh0dHBzOi8vdHJhaW4uc3Bhcmt1cy5jbi9wb3N0ZXIvZ2FtZS9cIjtcclxuICAgICAgICB3aW5kb3cubG9jYXRpb24uaHJlZiA9IHVybDtcclxuICAgIH1cclxuICAgIC8v6K6+572u5o6S6KGM5L+h5oGvXHJcbiAgICBnZXRSYW5rRGF0YShkYXRhKXtcclxuXHJcbiAgICAgICAgaWYoZGF0YSl7XHJcbiAgICAgICAgICAgICBjYy5meC5HYW1lVG9vbC5nZXRSYW5rRGF0YShkYXRhLHRoaXMsNCk7XHJcbiAgICAgICAgICAgICBjYy5meC5HYW1lVG9vbC5zZXRQaWModGhpcy5zZWxmTm9kZS5nZXRDaGlsZEJ5TmFtZShcInBpY1wiKS5nZXRDaGlsZEJ5TmFtZShcImljb25cIiksdGhpcy5zZWxmRGF0YS5waWMpO1xyXG4gICAgICAgICAgICB2YXIgbGVuZ3RoID0gdGhpcy5saXN0RGF0YS5sZW5ndGgtMTsgaWYobGVuZ3RoID4gNCkgbGVuZ3RoID0gNDtcclxuICAgICAgICAgICAgZm9yKGxldCBpPTA7aTw9bGVuZ3RoO2krKyl7XHJcbiAgICAgICAgICAgICAgICB0aGlzLnNldFJhbmsoaSx0aGlzLmxpc3REYXRhW2ldKTtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgIH1cclxuICAgIC8v5qC55o2u5YaF5a655aGr5YWF5o6S6KGM5qacXHJcbiAgICBzZXRSYW5rKG51bSxkYXRhKXtcclxuICAgICAgICB2YXIgaGl0Tm9kZSA9IG51bGw7XHJcbiAgICAgICAgaWYobnVtID09IDApe1xyXG4gICAgICAgICAgICBoaXROb2RlID0gdGhpcy5vbmU7XHJcbiAgICAgICAgfVxyXG4gICAgICAgIGVsc2UgaWYobnVtID09IDEpe1xyXG4gICAgICAgICAgICBoaXROb2RlID0gdGhpcy50d287XHJcbiAgICAgICAgfVxyXG4gICAgICAgIGVsc2UgaWYobnVtID09IDIpe1xyXG4gICAgICAgICAgICBoaXROb2RlID0gdGhpcy50aHJlZTtcclxuICAgICAgICB9XHJcbiAgICAgICAgZWxzZSBpZihudW0gPT0gMyl7XHJcbiAgICAgICAgICAgIGhpdE5vZGUgPSB0aGlzLmZvdXI7XHJcbiAgICAgICAgfVxyXG4gICAgICAgIGVsc2UgaWYobnVtID09IDQpe1xyXG4gICAgICAgICAgICBoaXROb2RlID0gdGhpcy5maXZlO1xyXG4gICAgICAgIH1cclxuICAgICAgICBpZihoaXROb2RlKXtcclxuICAgICAgICAgICAgaGl0Tm9kZS5hY3RpdmUgPSB0cnVlO1xyXG4gICAgICAgICAgICBpZihkYXRhLm5pY2tOYW1lLmxlbmd0aCA+PSA0KVxyXG4gICAgICAgICAgICAgICAgY2MuZnguR2FtZVRvb2wuc3ViTmFtZShkYXRhLm5pY2tOYW1lLDQpO1xyXG4gICAgICAgICAgICBoaXROb2RlLmdldENoaWxkQnlOYW1lKFwibmFtZVwiKS5nZXRDb21wb25lbnQoY2MuTGFiZWwpLnN0cmluZyA9IGRhdGEubmlja05hbWU7XHJcbiAgICAgICAgICAgIGhpdE5vZGUuZ2V0Q2hpbGRCeU5hbWUoXCJ0b3RhbFwiKS5nZXRDb21wb25lbnQoY2MuTGFiZWwpLnN0cmluZyA9IGRhdGEuc2NvcmU7XHJcbiAgICAgICAgICAgICBjYy5meC5HYW1lVG9vbC5zZXRQaWMoaGl0Tm9kZS5nZXRDaGlsZEJ5TmFtZShcInBpY1wiKS5nZXRDaGlsZEJ5TmFtZShcImljb25cIiksZGF0YS5waWMpO1xyXG4gICAgICAgIH1cclxuICAgIH0gICBcclxufVxyXG4iXX0= \ No newline at end of file diff --git a/temp/quick-scripts/dst/assets/Script/Load.js b/temp/quick-scripts/dst/assets/Script/Load.js index 417d8e0..f529af7 100644 --- a/temp/quick-scripts/dst/assets/Script/Load.js +++ b/temp/quick-scripts/dst/assets/Script/Load.js @@ -50,6 +50,18 @@ var NewClass = /** @class */ (function (_super) { cc.fx.GameConfig.init(this.localTest); // cc.fx.AudioManager.Instance.init(); this.testVersion.string = this.clientTestVersion; + var urlNow = window.location.href; + if (this.containsTrain(urlNow)) { + console.log("无排行版本"); + this.node.getChildByName("Rank").active = false; + } + else { + console.log("有排行版本"); + } + }; + //判断来源 + NewClass.prototype.containsTrain = function (str) { + return /from=train/i.test(str); }; //开始游戏,跳转至引导页面 NewClass.prototype.startGame = function () { @@ -94,4 +106,4 @@ cc._RF.pop(); }); } })(); -//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbImFzc2V0c1xcU2NyaXB0XFxMb2FkLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OztBQUNNLElBQUEsS0FBd0MsRUFBRSxDQUFDLFVBQVUsRUFBcEQsT0FBTyxhQUFBLEVBQUUsUUFBUSxjQUFBLEVBQUUsZ0JBQWdCLHNCQUFpQixDQUFDO0FBRzVEO0lBQXNDLDRCQUFZO0lBQWxEO1FBQUEscUVBb0NDO1FBakNHLGVBQVMsR0FBWSxLQUFLLENBQUM7UUFHM0IsdUJBQWlCLEdBQVcsT0FBTyxDQUFDO1FBR3BDLGlCQUFXLEdBQWEsSUFBSSxDQUFDOztJQTJCakMsQ0FBQztJQXpCRyx3QkFBSyxHQUFMO1FBQ0ksRUFBRSxDQUFDLEtBQUssQ0FBQyxlQUFlLENBQUMsS0FBSyxDQUFDLENBQUM7UUFDaEMsTUFBTSxDQUFDLE9BQU8sRUFBRSxDQUFDO1FBQ2pCLEVBQUUsQ0FBQyxFQUFFLENBQUMsVUFBVSxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsU0FBUyxDQUFDLENBQUM7UUFDdEMsc0NBQXNDO1FBQ3RDLElBQUksQ0FBQyxXQUFXLENBQUMsTUFBTSxHQUFHLElBQUksQ0FBQyxpQkFBaUIsQ0FBQztJQUNyRCxDQUFDO0lBRUQsY0FBYztJQUNkLDRCQUFTLEdBQVQ7UUFDSSxFQUFFLENBQUMsUUFBUSxDQUFDLFNBQVMsQ0FBQyxXQUFXLENBQUMsQ0FBQztRQUNuQyx1Q0FBdUM7SUFDM0MsQ0FBQztJQUNELGdCQUFnQjtJQUNoQiwyQkFBUSxHQUFSLFVBQVMsS0FBSyxFQUFDLElBQUk7UUFDZixFQUFFLENBQUMsRUFBRSxDQUFDLFVBQVUsQ0FBQyxPQUFPLENBQUMsTUFBTSxHQUFHLFFBQVEsQ0FBQyxJQUFJLENBQUMsQ0FBQztRQUNqRCxFQUFFLENBQUMsUUFBUSxDQUFDLFNBQVMsQ0FBQyxXQUFXLENBQUMsQ0FBQztJQUN2QyxDQUFDO0lBQ0QsT0FBTztJQUNQLDJCQUFRLEdBQVI7UUFDSSxFQUFFLENBQUMsUUFBUSxDQUFDLFNBQVMsQ0FBQyxXQUFXLENBQUMsQ0FBQztJQUN2QyxDQUFDO0lBRVMseUJBQU0sR0FBaEIsVUFBaUIsRUFBVTtJQUMzQixDQUFDO0lBaENEO1FBREMsUUFBUSxDQUFDLEtBQUssQ0FBQzsrQ0FDVztJQUczQjtRQURDLFFBQVEsQ0FBQyxFQUFFLENBQUM7dURBQ3VCO0lBR3BDO1FBREMsUUFBUSxDQUFDLEVBQUUsQ0FBQyxLQUFLLENBQUM7aURBQ1U7SUFUWixRQUFRO1FBRDVCLE9BQU87T0FDYSxRQUFRLENBb0M1QjtJQUFELGVBQUM7Q0FwQ0QsQUFvQ0MsQ0FwQ3FDLEVBQUUsQ0FBQyxTQUFTLEdBb0NqRDtrQkFwQ29CLFFBQVEiLCJmaWxlIjoiIiwic291cmNlUm9vdCI6Ii8iLCJzb3VyY2VzQ29udGVudCI6WyJcclxuY29uc3Qge2NjY2xhc3MsIHByb3BlcnR5LCByZXF1aXJlQ29tcG9uZW50fSA9IGNjLl9kZWNvcmF0b3I7XHJcblxyXG5AY2NjbGFzc1xyXG5leHBvcnQgZGVmYXVsdCBjbGFzcyBOZXdDbGFzcyBleHRlbmRzIGNjLkNvbXBvbmVudCB7XHJcblxyXG4gICAgQHByb3BlcnR5KGZhbHNlKVxyXG4gICAgbG9jYWxUZXN0OiBib29sZWFuID0gZmFsc2U7XHJcblxyXG4gICAgQHByb3BlcnR5KFwiXCIpXHJcbiAgICBjbGllbnRUZXN0VmVyc2lvbjogc3RyaW5nID0gXCIxLjAuMFwiO1xyXG5cclxuICAgIEBwcm9wZXJ0eShjYy5MYWJlbClcclxuICAgIHRlc3RWZXJzaW9uOiBjYy5MYWJlbCA9IG51bGw7XHJcblxyXG4gICAgc3RhcnQgKCkge1xyXG4gICAgICAgIGNjLmRlYnVnLnNldERpc3BsYXlTdGF0cyhmYWxzZSk7XHJcbiAgICAgICAgd2luZG93LmluaXRNZ3IoKTtcclxuICAgICAgICBjYy5meC5HYW1lQ29uZmlnLmluaXQodGhpcy5sb2NhbFRlc3QpO1xyXG4gICAgICAgIC8vIGNjLmZ4LkF1ZGlvTWFuYWdlci5JbnN0YW5jZS5pbml0KCk7XHJcbiAgICAgICAgdGhpcy50ZXN0VmVyc2lvbi5zdHJpbmcgPSB0aGlzLmNsaWVudFRlc3RWZXJzaW9uO1xyXG4gICAgfVxyXG5cclxuICAgIC8v5byA5aeL5ri45oiP77yM6Lez6L2s6Iez5byV5a+86aG16Z2iXHJcbiAgICBzdGFydEdhbWUoKXtcclxuICAgICAgICBjYy5kaXJlY3Rvci5sb2FkU2NlbmUoXCJHYW1lU2NlbmVcIik7XHJcbiAgICAgICAgLy8gY2MuZGlyZWN0b3IubG9hZFNjZW5lKFwiR3VpZGVTY2VuZVwiKTtcclxuICAgIH1cclxuICAgIC8v5aSH55So77yM55So5p2l5rWL6K+V6Lez6L2sIOaMh+WumuWFs+WNoVxyXG4gICAgY2xpY2tCdG4oZXZlbnQsZGF0YSl7XHJcbiAgICAgICAgY2MuZnguR2FtZUNvbmZpZy5HTV9JTkZPLmN1c3RvbSA9IHBhcnNlSW50KGRhdGEpO1xyXG4gICAgICAgIGNjLmRpcmVjdG9yLmxvYWRTY2VuZShcIkdhbWVTY2VuZVwiKTtcclxuICAgIH0gICBcclxuICAgIC8v5omT5byA5o6S6KGM5qacXHJcbiAgICBvcGVuUmFuaygpe1xyXG4gICAgICAgIGNjLmRpcmVjdG9yLmxvYWRTY2VuZShcIlJhbmtTY2VuZVwiKTtcclxuICAgIH1cclxuICAgIFxyXG4gICAgcHJvdGVjdGVkIHVwZGF0ZShkdDogbnVtYmVyKTogdm9pZCB7XHJcbiAgICB9XHJcbn1cclxuIl19 \ No newline at end of file +//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbImFzc2V0c1xcU2NyaXB0XFxMb2FkLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OztBQUNNLElBQUEsS0FBd0MsRUFBRSxDQUFDLFVBQVUsRUFBcEQsT0FBTyxhQUFBLEVBQUUsUUFBUSxjQUFBLEVBQUUsZ0JBQWdCLHNCQUFpQixDQUFDO0FBRzVEO0lBQXNDLDRCQUFZO0lBQWxEO1FBQUEscUVBaURDO1FBOUNHLGVBQVMsR0FBWSxLQUFLLENBQUM7UUFHM0IsdUJBQWlCLEdBQVcsT0FBTyxDQUFDO1FBR3BDLGlCQUFXLEdBQWEsSUFBSSxDQUFDOztJQXdDakMsQ0FBQztJQXRDRyx3QkFBSyxHQUFMO1FBQ0ksRUFBRSxDQUFDLEtBQUssQ0FBQyxlQUFlLENBQUMsS0FBSyxDQUFDLENBQUM7UUFDaEMsTUFBTSxDQUFDLE9BQU8sRUFBRSxDQUFDO1FBQ2pCLEVBQUUsQ0FBQyxFQUFFLENBQUMsVUFBVSxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsU0FBUyxDQUFDLENBQUM7UUFDdEMsc0NBQXNDO1FBQ3RDLElBQUksQ0FBQyxXQUFXLENBQUMsTUFBTSxHQUFHLElBQUksQ0FBQyxpQkFBaUIsQ0FBQztRQUNqRCxJQUFJLE1BQU0sR0FBRyxNQUFNLENBQUMsUUFBUSxDQUFDLElBQUksQ0FBQztRQUNsQyxJQUFHLElBQUksQ0FBQyxhQUFhLENBQUMsTUFBTSxDQUFDLEVBQUM7WUFDMUIsT0FBTyxDQUFDLEdBQUcsQ0FBQyxPQUFPLENBQUMsQ0FBQztZQUNyQixJQUFJLENBQUMsSUFBSSxDQUFDLGNBQWMsQ0FBQyxNQUFNLENBQUMsQ0FBQyxNQUFNLEdBQUcsS0FBSyxDQUFDO1NBQ25EO2FBQ0c7WUFDQSxPQUFPLENBQUMsR0FBRyxDQUFDLE9BQU8sQ0FBQyxDQUFDO1NBQ3hCO0lBQ0wsQ0FBQztJQUVELE1BQU07SUFDTixnQ0FBYSxHQUFiLFVBQWMsR0FBRztRQUNiLE9BQU8sYUFBYSxDQUFDLElBQUksQ0FBQyxHQUFHLENBQUMsQ0FBQztJQUNuQyxDQUFDO0lBRUQsY0FBYztJQUNkLDRCQUFTLEdBQVQ7UUFDSSxFQUFFLENBQUMsUUFBUSxDQUFDLFNBQVMsQ0FBQyxXQUFXLENBQUMsQ0FBQztRQUNuQyx1Q0FBdUM7SUFDM0MsQ0FBQztJQUNELGdCQUFnQjtJQUNoQiwyQkFBUSxHQUFSLFVBQVMsS0FBSyxFQUFDLElBQUk7UUFDZixFQUFFLENBQUMsRUFBRSxDQUFDLFVBQVUsQ0FBQyxPQUFPLENBQUMsTUFBTSxHQUFHLFFBQVEsQ0FBQyxJQUFJLENBQUMsQ0FBQztRQUNqRCxFQUFFLENBQUMsUUFBUSxDQUFDLFNBQVMsQ0FBQyxXQUFXLENBQUMsQ0FBQztJQUN2QyxDQUFDO0lBQ0QsT0FBTztJQUNQLDJCQUFRLEdBQVI7UUFDSSxFQUFFLENBQUMsUUFBUSxDQUFDLFNBQVMsQ0FBQyxXQUFXLENBQUMsQ0FBQztJQUN2QyxDQUFDO0lBRVMseUJBQU0sR0FBaEIsVUFBaUIsRUFBVTtJQUMzQixDQUFDO0lBN0NEO1FBREMsUUFBUSxDQUFDLEtBQUssQ0FBQzsrQ0FDVztJQUczQjtRQURDLFFBQVEsQ0FBQyxFQUFFLENBQUM7dURBQ3VCO0lBR3BDO1FBREMsUUFBUSxDQUFDLEVBQUUsQ0FBQyxLQUFLLENBQUM7aURBQ1U7SUFUWixRQUFRO1FBRDVCLE9BQU87T0FDYSxRQUFRLENBaUQ1QjtJQUFELGVBQUM7Q0FqREQsQUFpREMsQ0FqRHFDLEVBQUUsQ0FBQyxTQUFTLEdBaURqRDtrQkFqRG9CLFFBQVEiLCJmaWxlIjoiIiwic291cmNlUm9vdCI6Ii8iLCJzb3VyY2VzQ29udGVudCI6WyJcclxuY29uc3Qge2NjY2xhc3MsIHByb3BlcnR5LCByZXF1aXJlQ29tcG9uZW50fSA9IGNjLl9kZWNvcmF0b3I7XHJcblxyXG5AY2NjbGFzc1xyXG5leHBvcnQgZGVmYXVsdCBjbGFzcyBOZXdDbGFzcyBleHRlbmRzIGNjLkNvbXBvbmVudCB7XHJcblxyXG4gICAgQHByb3BlcnR5KGZhbHNlKVxyXG4gICAgbG9jYWxUZXN0OiBib29sZWFuID0gZmFsc2U7XHJcblxyXG4gICAgQHByb3BlcnR5KFwiXCIpXHJcbiAgICBjbGllbnRUZXN0VmVyc2lvbjogc3RyaW5nID0gXCIxLjAuMFwiO1xyXG5cclxuICAgIEBwcm9wZXJ0eShjYy5MYWJlbClcclxuICAgIHRlc3RWZXJzaW9uOiBjYy5MYWJlbCA9IG51bGw7XHJcblxyXG4gICAgc3RhcnQgKCkge1xyXG4gICAgICAgIGNjLmRlYnVnLnNldERpc3BsYXlTdGF0cyhmYWxzZSk7XHJcbiAgICAgICAgd2luZG93LmluaXRNZ3IoKTtcclxuICAgICAgICBjYy5meC5HYW1lQ29uZmlnLmluaXQodGhpcy5sb2NhbFRlc3QpO1xyXG4gICAgICAgIC8vIGNjLmZ4LkF1ZGlvTWFuYWdlci5JbnN0YW5jZS5pbml0KCk7XHJcbiAgICAgICAgdGhpcy50ZXN0VmVyc2lvbi5zdHJpbmcgPSB0aGlzLmNsaWVudFRlc3RWZXJzaW9uO1xyXG4gICAgICAgIHZhciB1cmxOb3cgPSB3aW5kb3cubG9jYXRpb24uaHJlZjtcclxuICAgICAgICBpZih0aGlzLmNvbnRhaW5zVHJhaW4odXJsTm93KSl7XHJcbiAgICAgICAgICAgIGNvbnNvbGUubG9nKFwi5peg5o6S6KGM54mI5pysXCIpO1xyXG4gICAgICAgICAgICB0aGlzLm5vZGUuZ2V0Q2hpbGRCeU5hbWUoXCJSYW5rXCIpLmFjdGl2ZSA9IGZhbHNlO1xyXG4gICAgICAgIH1cclxuICAgICAgICBlbHNle1xyXG4gICAgICAgICAgICBjb25zb2xlLmxvZyhcIuacieaOkuihjOeJiOacrFwiKTtcclxuICAgICAgICB9XHJcbiAgICB9XHJcblxyXG4gICAgLy/liKTmlq3mnaXmupBcclxuICAgIGNvbnRhaW5zVHJhaW4oc3RyKSB7XHJcbiAgICAgICAgcmV0dXJuIC9mcm9tPXRyYWluL2kudGVzdChzdHIpO1xyXG4gICAgfVxyXG5cclxuICAgIC8v5byA5aeL5ri45oiP77yM6Lez6L2s6Iez5byV5a+86aG16Z2iXHJcbiAgICBzdGFydEdhbWUoKXtcclxuICAgICAgICBjYy5kaXJlY3Rvci5sb2FkU2NlbmUoXCJHYW1lU2NlbmVcIik7XHJcbiAgICAgICAgLy8gY2MuZGlyZWN0b3IubG9hZFNjZW5lKFwiR3VpZGVTY2VuZVwiKTtcclxuICAgIH1cclxuICAgIC8v5aSH55So77yM55So5p2l5rWL6K+V6Lez6L2sIOaMh+WumuWFs+WNoVxyXG4gICAgY2xpY2tCdG4oZXZlbnQsZGF0YSl7XHJcbiAgICAgICAgY2MuZnguR2FtZUNvbmZpZy5HTV9JTkZPLmN1c3RvbSA9IHBhcnNlSW50KGRhdGEpO1xyXG4gICAgICAgIGNjLmRpcmVjdG9yLmxvYWRTY2VuZShcIkdhbWVTY2VuZVwiKTtcclxuICAgIH0gICBcclxuICAgIC8v5omT5byA5o6S6KGM5qacXHJcbiAgICBvcGVuUmFuaygpe1xyXG4gICAgICAgIGNjLmRpcmVjdG9yLmxvYWRTY2VuZShcIlJhbmtTY2VuZVwiKTtcclxuICAgIH1cclxuICAgIFxyXG4gICAgcHJvdGVjdGVkIHVwZGF0ZShkdDogbnVtYmVyKTogdm9pZCB7XHJcbiAgICB9XHJcbn1cclxuIl19 \ No newline at end of file diff --git a/temp/quick-scripts/dst/assets/Script/Sdk/MiniGameSdk.js b/temp/quick-scripts/dst/assets/Script/Sdk/MiniGameSdk.js new file mode 100644 index 0000000..8730733 --- /dev/null +++ b/temp/quick-scripts/dst/assets/Script/Sdk/MiniGameSdk.js @@ -0,0 +1,1106 @@ + + (function() { + var nodeEnv = typeof require !== 'undefined' && typeof process !== 'undefined'; + var __module = nodeEnv ? module : {exports:{}}; + var __filename = 'preview-scripts/assets/Script/Sdk/MiniGameSdk.js'; + var __require = nodeEnv ? function (request) { + return cc.require(request); + } : function (request) { + return __quick_compile_project__.require(request, __filename); + }; + function __define (exports, require, module) { + if (!nodeEnv) {__quick_compile_project__.registerModule(__filename, module);}"use strict"; +cc._RF.push(module, 'c1af9nd7gNA95YJ04h9DdNX', 'MiniGameSdk'); +// Script/Sdk/MiniGameSdk.ts + +"use strict"; +Object.defineProperty(exports, "__esModule", { value: true }); +exports.MiniGameSdk = void 0; +/** + * 小游戏平台SDK工具封装,目前只支持微信和抖音平台 + */ +var MiniGameSdk; +(function (MiniGameSdk) { + function isWechat() { + //@ts-ignore + return window.wx !== null && window.wx !== undefined; + } + MiniGameSdk.isWechat = isWechat; + function isBytedance() { + //@ts-ignore + return window.tt !== null && window.tt !== undefined; + } + MiniGameSdk.isBytedance = isBytedance; + function getSysWinSize() { + var sys; + if (isWechat()) { + // @ts-ignore + sys = wx.getSystemInfoSync(); + } + else if (isBytedance()) { + // @ts-ignore + sys = tt.getSystemInfoSync(); + } + var size = { width: 0, height: 0 }; + if (sys) { + size.width = sys.windowWidth; + size.height = sys.windowHeight; + } + return size; + } + /** + * 插屏广告。微信抖音都支持! + */ + var ADInterstitial = /** @class */ (function () { + function ADInterstitial(adUid) { + this._adUid = adUid; + } + Object.defineProperty(ADInterstitial.prototype, "aduid", { + get: function () { + return this._adUid; + }, + enumerable: false, + configurable: true + }); + ADInterstitial.prototype.show = function () { + var _this = this; + var _a, _b; + // @ts-ignore + if (isWechat() && !wx.createInterstitialAd) { + console.warn('wechat unsupport interstitial AD!'); + this._interstitial = null; + return; + } + // @ts-ignore + if (isBytedance() && !tt.createInterstitialAd) { + console.warn('bytedance unsupport interstitial AD!'); + this._interstitial = null; + return; + } + if (this._interstitial) { + this._interstitial.load(); + } + else { + if (isWechat()) { + // @ts-ignore + this._interstitial = wx.createInterstitialAd({ adUnitId: this._adUid }); + } + else if (isBytedance()) { + // @ts-ignore + this._interstitial = tt.createInterstitialAd({ adUnitId: this._adUid }); + } + else { + this._interstitial = null; + } + (_a = this._interstitial) === null || _a === void 0 ? void 0 : _a.onLoad(function () { + console.log('load interstitial ad success'); + _this._interstitial.show().catch(function (err) { + console.log('catch interstitial ad error:', err); + }); + }); + (_b = this._interstitial) === null || _b === void 0 ? void 0 : _b.onError(function (err) { + console.log('interstitial ad on error:', err); + }); + } + }; + ADInterstitial.prototype.destory = function () { + var _a; + (_a = this._interstitial) === null || _a === void 0 ? void 0 : _a.destroy(); + }; + return ADInterstitial; + }()); + var ADBanner = /** @class */ (function () { + /** + * 抖音和微信都支持 + * 横幅广告。预估宽度默认为300,预估高度为140。如果你不确定就按默认值来。 + * @param adUid 广告UID,后端配置 + * @param isTop 是否在屏幕顶部展示。内部会自动居中计算位置。 + * @param bannerWidth 横幅广告的预估宽度。默认300 + * @param autoShow 广告加载完成后是否立刻显示,默认为不显示 + */ + function ADBanner(adUid, param, bannerWidth, autoShow) { + if (bannerWidth === void 0) { bannerWidth = 300; } + if (autoShow === void 0) { autoShow = false; } + this._adUid = adUid; + this.create(autoShow, bannerWidth, param); // 默认300比较合适 + } + Object.defineProperty(ADBanner.prototype, "aduid", { + get: function () { + return this._adUid; + }, + enumerable: false, + configurable: true + }); + ADBanner.prototype.create = function (autoShow, bannerWidth, param) { + var _this = this; + var _a, _b; + if (!isWechat() && !isBytedance()) { + this._banner = null; + return; + } + this.destroy(); + var winSize = getSysWinSize(); + var height = bannerWidth * 0.4; + var top = 0, left = 0; + if (typeof param === "boolean") { + left = (winSize.width - bannerWidth) / 2; + top = param ? 5 : (winSize.height - height); + } + else { + left = param.left; + top = param.top; + } + var params = { + adUnitId: this._adUid, + adIntervals: 30, + style: { left: left, top: top, width: bannerWidth } + }; + if (isWechat()) { + // @ts-ignore + this._banner = wx.createBannerAd(params); + } + else if (isBytedance()) { + // @ts-ignore + this._banner = tt.createBannerAd(params); + } + else { + this._banner = null; + } + (_a = this._banner) === null || _a === void 0 ? void 0 : _a.onError(function (err) { + console.log('ad banner error:', err); + }); + (_b = this._banner) === null || _b === void 0 ? void 0 : _b.onLoad(function () { + autoShow && _this._banner.show(); + }); + }; + ADBanner.prototype.show = function () { + var _a; + (_a = this._banner) === null || _a === void 0 ? void 0 : _a.show(); + }; + ADBanner.prototype.hide = function () { + var _a; + (_a = this._banner) === null || _a === void 0 ? void 0 : _a.hide(); + }; + ADBanner.prototype.destroy = function () { + var _a; + (_a = this._banner) === null || _a === void 0 ? void 0 : _a.destroy(); + }; + return ADBanner; + }()); + var ADCustom = /** @class */ (function () { + /** + * 由于原生模板广告在微信服务后端可以定制宽度大小,个数,缩放比例等,所以位置调整要根据设置的宽度来定。抖音不支持! + * @param adUid 广告UID,后端配置 + * @param top 从左上角开始,距离屏幕顶部的距离。注意:这个数据为设备屏幕宽度width。如果需要获取屏幕的像素,需要乘以设备像素比Pixel-Ratio,例如iPhone 13 Pro的Pixel-Ratio为3,像素为Width*3。 + * @param left 从左上角开始,距离屏幕最左边的距离。注意:这个数据为设备屏幕宽度width。如果需要获取屏幕的像素,需要乘以设备像素比Pixel-Ratio,例如iPhone 13 Pro的Pixel-Ratio为3,像素为Width*3。 + * @param scale 原生模板广告的尺寸,默认为1,即100%。此值在微信服务后端广告中获得,默认为100%,目前有100%,90%,80%三种,一般情况不用修改。若有修改,记得传入值,例如90%就传入0.9。 + */ + function ADCustom(adUid, top, left, scale) { + if (top === void 0) { top = 0; } + if (left === void 0) { left = 0; } + if (scale === void 0) { scale = 1.0; } + this._adUid = adUid; + this.createCustomAd(top, left, scale); + } + Object.defineProperty(ADCustom.prototype, "aduid", { + get: function () { + return this._adUid; + }, + enumerable: false, + configurable: true + }); + ADCustom.prototype.createCustomAd = function (top, left, scale) { + var _a; + if (!isWechat()) { // only wechat support custom ad + this._adCustom = null; + console.log('Only wechat support Custom Ad'); + return; + } + this.destroy(); + // 原生模板5个应用宽度为375,若设置了缩放比例,则宽度也需要设置 + // let width = 375 * this._scale; + // let newLeft = (sys.windowWidth - width) / 2; + // let newTop = sys.windowHeight / 2; // 120是预估高度 + // @ts-ignore + this._adCustom = wx.createCustomAd({ + adUnitId: this._adUid, + style: { left: left, top: top, fixed: true } + }); + (_a = this._adCustom) === null || _a === void 0 ? void 0 : _a.onError(function (err) { + console.log('ad custom error:', err); + }); + }; + ADCustom.prototype.show = function () { + var _a; + (_a = this._adCustom) === null || _a === void 0 ? void 0 : _a.show(); + }; + ADCustom.prototype.hide = function () { + var _a; + (_a = this._adCustom) === null || _a === void 0 ? void 0 : _a.hide(); + }; + ADCustom.prototype.destroy = function () { + var _a; + (_a = this._adCustom) === null || _a === void 0 ? void 0 : _a.destroy(); + }; + return ADCustom; + }()); + /** + * 视频广告用户点击行为结果 + */ + var EAdVideoResult; + (function (EAdVideoResult) { + /** + * 用户看完了广告,游戏可发放奖励。 + */ + EAdVideoResult[EAdVideoResult["ACCEPT"] = 0] = "ACCEPT"; + /** + * 用户中途关闭了广告,即未看完状态。不可发放奖励。 + */ + EAdVideoResult[EAdVideoResult["REJECT"] = 1] = "REJECT"; + /** + * 广告组件内部发生了错误。不可发放奖励。 + */ + EAdVideoResult[EAdVideoResult["ERROR"] = 2] = "ERROR"; + })(EAdVideoResult = MiniGameSdk.EAdVideoResult || (MiniGameSdk.EAdVideoResult = {})); + var ADVideo = /** @class */ (function () { + function ADVideo(adUid) { + this._adVideo = null; + this._adUid = adUid; + } + Object.defineProperty(ADVideo.prototype, "aduid", { + get: function () { + return this._adUid; + }, + enumerable: false, + configurable: true + }); + /** + * 由于微信和抖音视频广告机制不同,微信可以看的视频广告个数只有0和1个,抖音平台则可以看0~maxVideoCount + * @param onResult 两个参数:第一个res是EAdVideoResult定义,第二count是用户看了多少个视频广告。 + * @param target onResult的拥有者 + * @param maxVideoCount 可以连续看最大视频个数,可最大化商业效率。默认为3个。 + * @returns + */ + ADVideo.prototype.show = function (onResult, target, maxVideoCount) { + var _this = this; + var _a, _b, _c, _d, _e; + if (maxVideoCount === void 0) { maxVideoCount = 3; } + var callback = function (state, count) { + onResult === null || onResult === void 0 ? void 0 : onResult.call(target, state, count); + }; + if (!isWechat() && !isBytedance()) { + callback(EAdVideoResult.ACCEPT, 1); + this._adVideo = null; + return; + } + var onAdVideoClosed = function (res) { + var _a; + (_a = _this._adVideo) === null || _a === void 0 ? void 0 : _a.offClose(onAdVideoClosed); + if (isWechat()) { + if (res && res.isEnded || res === undefined) { + callback(EAdVideoResult.ACCEPT, 1); + } + else { + callback(EAdVideoResult.REJECT, 0); + } + } + else if (isBytedance()) { + var resConverted = res; + if (resConverted && resConverted.count > 0) { + callback(EAdVideoResult.ACCEPT, resConverted.count); + } + else { + callback(EAdVideoResult.REJECT, 0); + } + } + }; + (_a = this._adVideo) === null || _a === void 0 ? void 0 : _a.offClose(onAdVideoClosed); + if (isWechat()) { + // @ts-ignore + this._adVideo = wx.createRewardedVideoAd({ + adUnitId: this._adUid + }); + } + else if (isBytedance()) { + // @ts-ignore + this._adVideo = tt.createRewardedVideoAd({ + adUnitId: this._adUid, + multiton: true, + multitonRewardMsg: ['多1次奖励', '再多一次奖励', '再多一次奖励'], + multitonRewardTimes: maxVideoCount, + }); + } + else { + this._adVideo = null; + } + (_b = this._adVideo) === null || _b === void 0 ? void 0 : _b.onLoad(function () { + console.log('Ad load success'); + }); + (_c = this._adVideo) === null || _c === void 0 ? void 0 : _c.onError(function (err) { + console.log('Ad video error:', err); + callback(EAdVideoResult.ERROR, 0); + }); + (_d = this._adVideo) === null || _d === void 0 ? void 0 : _d.onClose(onAdVideoClosed); + (_e = this._adVideo) === null || _e === void 0 ? void 0 : _e.show().catch(function () { + var _a; + (_a = _this._adVideo) === null || _a === void 0 ? void 0 : _a.load().then(function () { var _a; return (_a = _this._adVideo) === null || _a === void 0 ? void 0 : _a.show(); }).catch(function (err) { + console.log('Catch video ad error:', err); + callback(EAdVideoResult.ERROR, 0); + }); + }); + }; + ADVideo.prototype.destory = function () { + var _a; + (_a = this._adVideo) === null || _a === void 0 ? void 0 : _a.destory(); + }; + return ADVideo; + }()); + var EAdBannerLocation; + (function (EAdBannerLocation) { + /** + * 屏幕顶部 + */ + EAdBannerLocation[EAdBannerLocation["TOP"] = 0] = "TOP"; + /** + * 屏幕底部 + */ + EAdBannerLocation[EAdBannerLocation["BOTTOM"] = 1] = "BOTTOM"; + })(EAdBannerLocation = MiniGameSdk.EAdBannerLocation || (MiniGameSdk.EAdBannerLocation = {})); + var AdvertManager = /** @class */ (function () { + function AdvertManager() { + this._customs = {}; + } + Object.defineProperty(AdvertManager, "instance", { + get: function () { + if (!AdvertManager._instance) { + AdvertManager._instance = new AdvertManager(); + } + return AdvertManager._instance; + }, + enumerable: false, + configurable: true + }); + /** + * 预加载横幅广告,不会显示。只有你在调用showBanner时才会显示。 + * 可重复调用,但是会销毁上一次的实例。一般情况,全局有一个就行了,太多占用内存,而且没必要。 + * @param adUid 广告UID + * @param location 位置有两种情况:1、可以传入枚举值,默认上方; 2、可以自定义位置传入IPosition,注意IPosition中的top和left跟平台的top,left是一致(没有乘以设备像素比ratio),需要开发者自己调试位置 + * @param scale 默认为跟屏幕一样的宽度,可以通过设置缩放比例来调整大小。当然,平台有规定最大或最小宽度,函数内部会自动计算。 + */ + AdvertManager.prototype.loadBanner = function (adUid, location, scale) { + var _a; + if (location === void 0) { location = EAdBannerLocation.TOP; } + if (scale === void 0) { scale = 1.0; } + (_a = this._banner) === null || _a === void 0 ? void 0 : _a.destroy(); + var size = getSysWinSize(); + // 当 style.width 小于 300 时,会取作 300。 当 style.width 大于屏幕宽度时,会取作屏幕宽度。 + var width = size.width * scale; + width = width < 300 ? 300 : width; // 最小值矫正 + width = width > size.width ? size.width : width; //最大值矫正 + this._banner = typeof location === 'number' ? new ADBanner(adUid, location === EAdBannerLocation.TOP, width, false) : new ADBanner(adUid, location, width, false); + }; + /** + * 显示横幅广告 + */ + AdvertManager.prototype.showBanner = function () { + if (this._banner) { + this._banner.show(); + } + else { + console.warn('MiniGameSDK: banner is null, you must call loadBanner(...) first!'); + } + }; + /** + * 隐藏横幅广告 + */ + AdvertManager.prototype.hideBanner = function () { + var _a; + (_a = this._banner) === null || _a === void 0 ? void 0 : _a.hide(); + }; + /** + * 弹出插屏广告 + * @param adUid 广告单元id + */ + AdvertManager.prototype.showInterstitial = function (adUid) { + var _a; + if (this._interstitial && this._interstitial.aduid === adUid) { + this._interstitial.show(); + } + else { + (_a = this._interstitial) === null || _a === void 0 ? void 0 : _a.destory(); + this._interstitial = new ADInterstitial(adUid); + this._interstitial.show(); + } + }; + /** + * 加载原生模板广告,不会显示。只有你在调用showCustom时才会显示。 + * 由于原生模板广告在微信服务后端可以定制宽度大小,个数,缩放比例等,所以位置调整要根据设置的宽度来定。抖音不支持本函数,会调用无效! + * @param adUid 广告ID + * @param location 位置有两种情况:1、可以传入枚举值,默认上方; 2、可以自定义位置传入IPosition,注意IPosition中的top和left跟平台的top,left是一致(没有乘以设备像素比ratio),需要开发者自己调试位置 + * @param scale 缩放比例,默认是1,即不缩放。这个缩放并不是自己填,而是根据微信MP后台你配置的原生模板广告的缩放比例填,目前有100%,90%,80%三种,一般情况不用修改。若有后台修改,记得传入值,例如90%就传入0.9。 + */ + AdvertManager.prototype.loadCustom = function (adUid, location, scale) { + if (location === void 0) { location = { top: 0, left: 0 }; } + if (scale === void 0) { scale = 1; } + // this._custom?.destroy(); + // this._custom = new ADCustom(adUid, location.top, location.left, scale); + if (this._customs[adUid]) { + console.log(adUid + " has been loaded."); + return; + } + this._customs[adUid] = new ADCustom(adUid, location.top, location.left, scale); + }; + /** + * 显示自定义广告。 + * @param adUid 广告的唯一标识符。使用此标识符来查找和显示特定的自定义广告。 + * + * 此方法尝试根据提供的adUid显示一个自定义广告。如果给定的adUid对应的自定义广告已加载, + * 则调用该广告的显示方法。如果广告未加载,则在控制台输出警告信息。 + */ + AdvertManager.prototype.showCustom = function (adUid) { + if (this._customs[adUid]) { + this._customs[adUid].show(); + } + else { + console.warn("You have not load " + adUid + " of Custom AD, can not show!"); + } + }; + /** + * 隐藏指定的自定义广告单元 + * + * 此方法用于隐藏通过广告单元标识符(adUid)指定的自定义广告。如果指定的广告单元已加载并显示, + * 则将其隐藏;如果广告单元未加载,则在控制台输出警告信息。 + * + * @param adUid 广告单元标识符,用于唯一标识一个自定义广告单元。 + */ + AdvertManager.prototype.hideCustom = function (adUid) { + if (this._customs[adUid]) { + this._customs[adUid].hide(); + } + else { + console.warn("You have not load " + adUid + " of Custom AD, can not hide!"); + } + }; + /** + * 由于微信和抖音视频广告机制不同,微信可以看的视频广告个数只有0和1个,抖音平台则可以看0~maxVideoCount + * @param adUid 广告ID。如果与上一次UID不同,则内部会重新创建实例。开发者完全不用关心这个细节。 + * @param onVideoResult 两个参数:第一个res是EAdVideoResult定义,第二count是用户看了多少个视频广告。 + * @param target onVideoResult的拥有者 + * @param maxVideoCount 最大视频个数。默认是3,仅对抖音平台生效。微信平台看完视频count的结果永远是1或0 + */ + AdvertManager.prototype.showVideo = function (adUid, onVideoResult, target, maxVideoCount) { + var _a; + if (maxVideoCount === void 0) { maxVideoCount = 3; } + if (this._video && this._video.aduid === adUid) { + this._video.show(onVideoResult, target, maxVideoCount); + } + else { + (_a = this._video) === null || _a === void 0 ? void 0 : _a.destory(); + this._video = new ADVideo(adUid); + this._video.show(onVideoResult, target, maxVideoCount); + } + }; + /** + * 销毁内部所有实例,清空内存 + */ + AdvertManager.prototype.destroyAll = function () { + var _a, _b, _c, _d; + (_a = this._banner) === null || _a === void 0 ? void 0 : _a.destroy(); + this._banner = null; + (_b = this._interstitial) === null || _b === void 0 ? void 0 : _b.destory(); + this._interstitial = null; + (_c = this._video) === null || _c === void 0 ? void 0 : _c.destory(); + this._video = null; + if (this._customs) { + for (var val in this._customs) { + (_d = this._customs[val]) === null || _d === void 0 ? void 0 : _d.destroy(); + } + this._customs = {}; + } + }; + return AdvertManager; + }()); + MiniGameSdk.AdvertManager = AdvertManager; + var EGameClubIcon; + (function (EGameClubIcon) { + /** 绿色图标 */ + EGameClubIcon["GREEN"] = "green"; + /** 红色图标 */ + EGameClubIcon["WHITE"] = "white"; + /** 有黑色圆角背景的白色图标 */ + EGameClubIcon["DARK"] = "dark"; + /** 有白色圆角背景的绿色图标 */ + EGameClubIcon["LIGHT"] = "light"; + })(EGameClubIcon = MiniGameSdk.EGameClubIcon || (MiniGameSdk.EGameClubIcon = {})); + var GameClub = /** @class */ (function () { + function GameClub() { + } + Object.defineProperty(GameClub, "instance", { + get: function () { + if (!this._instance) { + this._instance = new GameClub(); + } + return this._instance; + }, + enumerable: false, + configurable: true + }); + /** + * 创建游戏圈按钮 + * @param icon + * @param position + * @param size + * @param openLink + */ + GameClub.prototype.create = function (icon, position, size, openLink) { + if (icon === void 0) { icon = EGameClubIcon.GREEN; } + if (position === void 0) { position = { top: 0, left: 0 }; } + if (size === void 0) { size = { width: 40, height: 40 }; } + if (isWechat()) { + // @ts-ignore + this._club = wx.createGameClubButton({ + icon: icon, + style: { + left: position.left, + top: position.top, + width: size.width, + height: size.height + }, + openlink: openLink + }); + } + }; + GameClub.prototype.show = function () { + var _a; + (_a = this._club) === null || _a === void 0 ? void 0 : _a.show(); + }; + GameClub.prototype.hide = function () { + var _a; + (_a = this._club) === null || _a === void 0 ? void 0 : _a.hide(); + }; + GameClub.prototype.destory = function () { + var _a; + (_a = this._club) === null || _a === void 0 ? void 0 : _a.destroy(); + }; + return GameClub; + }()); + MiniGameSdk.GameClub = GameClub; + /** + * 振动类型 + */ + var EVirbrateType; + (function (EVirbrateType) { + /** + * 短振动 + */ + EVirbrateType[EVirbrateType["SHORT"] = 0] = "SHORT"; + /** + * 长振动 + */ + EVirbrateType[EVirbrateType["LONG"] = 1] = "LONG"; + })(EVirbrateType = MiniGameSdk.EVirbrateType || (MiniGameSdk.EVirbrateType = {})); + /** + * 平台常用API合集 + */ + var API = /** @class */ (function () { + function API() { + } + /** + * 分享app给朋友,微信小游戏分享是没有onSuccess回调的。 + * @param title 标题 + * @param description 细节描述信息 + * @param imageUrl 图片地址 + * @param query 查询信息 + * @param onSuccess 抖音会回调,微信不会回调 + */ + API.shareAppToFriends = function (title, description, imageUrl, query, onSuccess) { + if (description === void 0) { description = ''; } + if (isWechat()) { + try { + //@ts-ignore + wx.shareAppMessage({ + title: title, + imageUrl: imageUrl, + query: query, + }); + } + catch (err) { + console.log("share faild: " + err); + } + } + if (isBytedance()) { + //@ts-ignore + tt.shareAppMessage({ + title: title, + desc: description, + imageUrl: imageUrl !== null && imageUrl !== void 0 ? imageUrl : '', + query: query !== null && query !== void 0 ? query : '', + success: function (res) { + console.log('share success:', res); + onSuccess === null || onSuccess === void 0 ? void 0 : onSuccess(); + }, + fail: function (res) { + console.log('share fail:', res); + } + }); + } + }; + /** + * 显示提示信息 + * @param title 标题 + * @param duration 时长(单位:秒) + * @returns + */ + API.showToast = function (title, duration) { + if (duration === void 0) { duration = 2; } + if (isWechat()) { + // @ts-ignore + wx.showToast({ + title: title, + icon: 'success', + duration: duration * 1000 + }); + } + if (isBytedance()) { + //@ts-ignore + tt.showToast({ + title: title, + duration: duration * 1000, + success: function (res) { + console.log("" + res); + }, + fail: function (res) { + console.log("showToast\u8C03\u7528\u5931\u8D25"); + }, + }); + } + }; + /** + * 设备震动效果,默认为短震动。注意:可能一些机型不会生效,具体看平台方的说明 + * @param type MiniGameSdk.API.EVirbrateType + */ + API.vibrate = function (type) { + if (type === void 0) { type = EVirbrateType.SHORT; } + if (isWechat()) { + switch (type) { + case EVirbrateType.SHORT: + //@ts-ignore + wx.vibrateShort({ + success: function (res) { + console.log('vibrate success:', res); + }, + fail: function (res) { + console.log('vibrateShort failed', res); + }, + }); + break; + case EVirbrateType.LONG: + //@ts-ignore + wx.vibrateLong({ + success: function (res) { + console.log('vibrate success', res); + }, + fail: function (res) { + console.log("vibrateLong failed", res); + }, + }); + break; + default: + break; + } + } + if (isBytedance()) { + switch (type) { + case EVirbrateType.SHORT: + //@ts-ignore + tt.vibrateShort({ + success: function (res) { + console.log('vibrate success:', res); + }, + fail: function (res) { + console.log('vibrateShort failed', res); + }, + }); + break; + case EVirbrateType.LONG: + //@ts-ignore + tt.vibrateLong({ + success: function (res) { + console.log('vibrate success', res); + }, + fail: function (res) { + console.log("vibrateLong failed", res); + }, + }); + break; + default: + break; + } + } + }; + /** + * 重启小游戏 + */ + API.reboot = function () { + if (isWechat()) { + //@ts-ignore + wx.restartMiniProgram({ + success: function () { + console.log('restart success'); + }, + fail: function () { + console.log('restart failed'); + } + }); + } + if (isBytedance()) { + try { + // @ts-ignore + tt.restartMiniProgramSync(); + } + catch (error) { + console.log("restartMiniProgramSync", error); + } + } + }; + /** + * 退出小游戏 + */ + API.exit = function () { + if (isWechat()) { + //@ts-ignore + wx.exitMiniProgram({ + success: function () { + console.log('exit success'); + }, + fail: function () { + console.log('exit failed'); + } + }); + } + if (isBytedance()) { + // @ts-ignore + tt.exitMiniProgram({ + success: function (res) { + console.log("exit success:", res === null || res === void 0 ? void 0 : res.data); + }, + fail: function (res) { + console.log("exit fail:", res === null || res === void 0 ? void 0 : res.errMsg); + }, + }); + } + }; + /** + * 显示转发按钮。通常在刚进入游戏的时候调用。 + * 主要是打开平台“...”这个按钮里面的分享菜单,一般默认是关闭的,需要调用这个函数打开。可以让用户分享你的游戏入口。 + */ + API.showShareMenu = function () { + if (isWechat()) { + //@ts-ignore + wx.showShareMenu({ + withShareTicket: true, + menus: ['shareAppMessage', 'shareTimeline'], + success: function () { }, + fail: function () { }, + complete: function () { } + }); + } + if (isBytedance()) { + //@ts-ignore + tt.showShareMenu({ + success: function (res) { + console.log("show menu is showing"); + }, + fail: function (err) { + console.log("showShareMenu:", err.errMsg); + }, + complete: function (res) { + console.log("showShareMenu complete"); + }, + }); + } + }; + /** + * 微信小游戏:跳转到另外一款小游戏 + * 抖音小游戏:跳转到指定的视频界面 + * @param targetId 微信小游戏appid或者视频界面 + */ + API.navigateTo = function (targetId, onSuccess) { + if (isWechat()) { + // @ts-ignore + wx.navigateToMiniProgram({ + appId: targetId, + extraData: { + foo: 'bar' + }, + envVersion: 'develop', + success: function (res) { + onSuccess === null || onSuccess === void 0 ? void 0 : onSuccess(); + } + }); + } + if (isBytedance()) { + // @ts-ignore + tt.navigateToVideoView({ + videoId: targetId, + success: function (res) { + onSuccess === null || onSuccess === void 0 ? void 0 : onSuccess(); + }, + fail: function (err) { + console.log("bytedance navigateToVideoView fail", err); + }, + }); + } + }; + /** + * 小游戏平台登录功能。微信返回code,抖音返回code和anonymousCode。用于登录的凭证,需要把这个code传回你的服务器程序中去调用code2Session + * @param callback (code, anonymousCode) 第一个参数为code,微信和抖音都支持;第二个参数为匿名设备ID,仅抖音支持,失败都返回null + */ + API.login = function (callback) { + var loginPlatform = function () { + if (isWechat()) { + //@ts-ignore + wx.login({ + success: function (res) { + if (res.code) { + API._loginCode = res.code; + API._loginAnonymousCode = null; + callback === null || callback === void 0 ? void 0 : callback(API._loginCode, API._loginAnonymousCode); + } + else { + console.log('login error:', res.errMsg); + } + }, + fail: function () { + API._loginCode = null; + API._loginAnonymousCode = null; + callback === null || callback === void 0 ? void 0 : callback(API._loginCode, API._loginAnonymousCode); + console.log('login fail'); + } + }); + } + else if (isBytedance()) { + //@ts-ignore + tt.login({ + force: true, + success: function (res) { + var _a, _b; + console.log("login " + res.code + " " + res.anonymousCode); + if (res.code) { + API._loginCode = (_a = res.code) === null || _a === void 0 ? void 0 : _a.toString(); + API._loginAnonymousCode = (_b = res.anonymousCode) === null || _b === void 0 ? void 0 : _b.toString(); + callback === null || callback === void 0 ? void 0 : callback(API._loginCode, API._loginAnonymousCode); + } + else { + console.log('login error:', res.errMsg); + } + }, + fail: function (res) { + API._loginCode = null; + API._loginAnonymousCode = null; + callback === null || callback === void 0 ? void 0 : callback(API._loginCode, API._loginAnonymousCode); + console.log("login fail", res); + }, + }); + } + else { + API._loginCode = null; + API._loginAnonymousCode = null; + callback === null || callback === void 0 ? void 0 : callback(API._loginCode, API._loginAnonymousCode); + console.log('not mini game platform, login codes are all null'); + } + }; + if (!API._loginCode) { + loginPlatform(); + } + else { + if (isWechat()) { + //@ts-ignore + wx.checkSession({ + success: function () { + console.log("session is valid, use current code:", API._loginCode); + callback === null || callback === void 0 ? void 0 : callback(API._loginCode, API._loginAnonymousCode); + }, + fail: function () { + console.log("session expired"); + loginPlatform(); + } + }); + } + else if (isBytedance()) { + //@ts-ignore + tt.checkSession({ + success: function () { + console.log("session is valid, user current code: " + API._loginCode + ", " + API._loginAnonymousCode); + callback === null || callback === void 0 ? void 0 : callback(API._loginCode, API._loginAnonymousCode); + }, + fail: function () { + console.log("session expired"); + loginPlatform(); + }, + }); + } + else { + console.log('not mini game platform, login null'); + callback === null || callback === void 0 ? void 0 : callback(null, null); + } + } + }; + /** + * 调用微信云函数。由于参数需要自定义,所以为any,需要自行解释。函数只完成通道和处理一场的作用 + * @param callback 返回云函数调用结果。需要检查返回参数是否为空,失败的时候为空 + * @param name 云函数的名字 + * @param data 云函数的内容 + */ + API.callWechatCloudFunction = function (callback, name, data) { + if (!isWechat()) { + console.log('Not wechat platform, not support callWechatCloudFunction'); + return; + } + this.login(function (code, anonymousCode) { + if (!API._hasInitWechatCloudFunction) { + //@ts-ignore + wx.cloud.init(); + API._hasInitWechatCloudFunction = true; + } + //@ts-ignore + wx.cloud.callFunction({ + name: name, + data: data, + success: function (res) { return callback === null || callback === void 0 ? void 0 : callback(res); }, + fail: function (err) { + console.log('wechat cloud function error:', err); + callback === null || callback === void 0 ? void 0 : callback(null); + } + }); + }); + }; + /** + * 存储用户信息,数据量不能大。可以考虑用于分数排行榜。用户之间可共享排行数据。 + * @param key + * @param value + */ + API.setUserCloudStorage = function (key, value) { + if (isWechat()) { + // @ts-ignore + wx.setUserCloudStorage({ + KVDataList: [{ key: key, value: value }], + success: function () { return console.log("set cloud storage success:" + key + ", value:" + value); }, + fail: function (err) { return console.log('set cloud storage error:', err); } + }); + } + if (isBytedance()) { + // @ts-ignore + tt.setUserCloudStorage({ + KVDataList: [{ key: key, value: value, }], + success: function () { return console.log("set cloud storage success:" + key + ", value:" + value); }, + fail: function (err) { return console.log('set cloud storage error:', err); } + }); + } + }; + API._loginCode = null; + API._loginAnonymousCode = null; + API._hasInitWechatCloudFunction = false; + return API; + }()); + MiniGameSdk.API = API; + /** + * 抖音侧边栏专属接口 + */ + var BytedanceSidebar = /** @class */ (function () { + function BytedanceSidebar() { + } + /** + * 本游戏在抖音环境下启动监控,需要放在全局环境中,保证能第一时间启动。因为可能监听抖音失败(抖音小游戏官方的说明)! + * @param onResult 包含一个boolean参数的函数 + * @param target 上述函数的拥有者,如果是类的成员函数,需要传入this。普通或匿名函数忽略即可。 + */ + BytedanceSidebar.listenFromSidebar = function (onResult, target) { + if (!isBytedance()) { + onResult === null || onResult === void 0 ? void 0 : onResult.call(target, false); + return; + } + // @ts-ignore + tt.onShow(function (res) { + console.log('onShow launch res:', res); + if (res.scene === '021036') { + onResult === null || onResult === void 0 ? void 0 : onResult.call(target, true); + console.log('launch from sidebar'); + } + else { + onResult === null || onResult === void 0 ? void 0 : onResult.call(target, false); + console.log('NOT launch from douyin sidebar!'); + } + }); + // @ts-ignore + var options = tt.getLaunchOptionsSync(); + if (options && options.scene === '021036') { + onResult === null || onResult === void 0 ? void 0 : onResult.call(target, true); + } + }; + /** + * 检测抖音侧边栏是否存在 + * @param onResult 包含一个boolean参数的函数 + * @param target 上述函数的拥有者,如果是类的成员函数,需要传入this。普通或匿名函数忽略即可。 + * @returns + */ + BytedanceSidebar.checkSideBar = function (onResult, target) { + if (!isBytedance()) { + onResult === null || onResult === void 0 ? void 0 : onResult.call(target, false); + return; + } + //@ts-ignore + tt.checkScene({ + scene: "sidebar", + success: function (res) { + console.log("check scene success: ", res.isExist); + onResult === null || onResult === void 0 ? void 0 : onResult.call(target, res.isExist); + }, + fail: function (res) { + console.log("check scene fail:", res); + onResult === null || onResult === void 0 ? void 0 : onResult.call(target, false); + } + }); + }; + /** + * 跳转到抖音侧边栏 + * @param onResult 包含一个boolean参数的函数 + * @param target 上述函数的拥有者,如果是类的成员函数,需要传入this。普通或匿名函数忽略即可。 + * @returns + */ + BytedanceSidebar.navigateToSidebar = function (onResult, target) { + if (!isBytedance()) { + console.log("not douyin platform!"); + onResult === null || onResult === void 0 ? void 0 : onResult.call(target, false); + return; + } + // @ts-ignore + tt.navigateToScene({ + scene: "sidebar", + success: function () { + console.log("navigate success"); + onResult === null || onResult === void 0 ? void 0 : onResult.call(target, true); + }, + fail: function (res) { + console.log("navigate failed reason:", res); + onResult === null || onResult === void 0 ? void 0 : onResult.call(target, false); + }, + }); + }; + return BytedanceSidebar; + }()); + MiniGameSdk.BytedanceSidebar = BytedanceSidebar; +})(MiniGameSdk = exports.MiniGameSdk || (exports.MiniGameSdk = {})); + +cc._RF.pop(); + } + if (nodeEnv) { + __define(__module.exports, __require, __module); + } + else { + __quick_compile_project__.registerModuleFunc(__filename, function () { + __define(__module.exports, __require, __module); + }); + } + })(); +//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbImFzc2V0c1xcU2NyaXB0XFxTZGtcXE1pbmlHYW1lU2RrLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7Ozs7Ozs7Ozs7Ozs7OztBQUFBOztHQUVHO0FBQ0gsSUFBaUIsV0FBVyxDQW1sQzNCO0FBbmxDRCxXQUFpQixXQUFXO0lBWXhCLFNBQWdCLFFBQVE7UUFDcEIsWUFBWTtRQUNaLE9BQU8sTUFBTSxDQUFDLEVBQUUsS0FBSyxJQUFJLElBQUksTUFBTSxDQUFDLEVBQUUsS0FBSyxTQUFTLENBQUM7SUFDekQsQ0FBQztJQUhlLG9CQUFRLFdBR3ZCLENBQUE7SUFFRCxTQUFnQixXQUFXO1FBQ3ZCLFlBQVk7UUFDWixPQUFPLE1BQU0sQ0FBQyxFQUFFLEtBQUssSUFBSSxJQUFJLE1BQU0sQ0FBQyxFQUFFLEtBQUssU0FBUyxDQUFDO0lBQ3pELENBQUM7SUFIZSx1QkFBVyxjQUcxQixDQUFBO0lBRUQsU0FBUyxhQUFhO1FBQ2xCLElBQUksR0FBUSxDQUFDO1FBQ2IsSUFBSSxRQUFRLEVBQUUsRUFBRTtZQUNaLGFBQWE7WUFDYixHQUFHLEdBQUcsRUFBRSxDQUFDLGlCQUFpQixFQUFFLENBQUM7U0FDaEM7YUFBTSxJQUFJLFdBQVcsRUFBRSxFQUFFO1lBQ3RCLGFBQWE7WUFDYixHQUFHLEdBQUcsRUFBRSxDQUFDLGlCQUFpQixFQUFFLENBQUM7U0FDaEM7UUFFRCxJQUFJLElBQUksR0FBVSxFQUFFLEtBQUssRUFBRSxDQUFDLEVBQUUsTUFBTSxFQUFFLENBQUMsRUFBRSxDQUFDO1FBQzFDLElBQUksR0FBRyxFQUFFO1lBQ0wsSUFBSSxDQUFDLEtBQUssR0FBRyxHQUFHLENBQUMsV0FBVyxDQUFDO1lBQzdCLElBQUksQ0FBQyxNQUFNLEdBQUcsR0FBRyxDQUFDLFlBQVksQ0FBQztTQUNsQztRQUVELE9BQU8sSUFBSSxDQUFDO0lBQ2hCLENBQUM7SUFFRDs7T0FFRztJQUNIO1FBUUksd0JBQVksS0FBYTtZQUNyQixJQUFJLENBQUMsTUFBTSxHQUFHLEtBQUssQ0FBQztRQUN4QixDQUFDO1FBTkQsc0JBQUksaUNBQUs7aUJBQVQ7Z0JBQ0ksT0FBTyxJQUFJLENBQUMsTUFBTSxDQUFDO1lBQ3ZCLENBQUM7OztXQUFBO1FBTUQsNkJBQUksR0FBSjtZQUFBLGlCQXdDQzs7WUF2Q0csYUFBYTtZQUNiLElBQUksUUFBUSxFQUFFLElBQUksQ0FBQyxFQUFFLENBQUMsb0JBQW9CLEVBQUU7Z0JBQ3hDLE9BQU8sQ0FBQyxJQUFJLENBQUMsbUNBQW1DLENBQUMsQ0FBQztnQkFDbEQsSUFBSSxDQUFDLGFBQWEsR0FBRyxJQUFJLENBQUM7Z0JBQzFCLE9BQU87YUFDVjtZQUVELGFBQWE7WUFDYixJQUFJLFdBQVcsRUFBRSxJQUFJLENBQUMsRUFBRSxDQUFDLG9CQUFvQixFQUFFO2dCQUMzQyxPQUFPLENBQUMsSUFBSSxDQUFDLHNDQUFzQyxDQUFDLENBQUM7Z0JBQ3JELElBQUksQ0FBQyxhQUFhLEdBQUcsSUFBSSxDQUFDO2dCQUMxQixPQUFPO2FBQ1Y7WUFHRCxJQUFJLElBQUksQ0FBQyxhQUFhLEVBQUU7Z0JBQ3BCLElBQUksQ0FBQyxhQUFhLENBQUMsSUFBSSxFQUFFLENBQUM7YUFDN0I7aUJBQU07Z0JBQ0gsSUFBSSxRQUFRLEVBQUUsRUFBRTtvQkFDWixhQUFhO29CQUNiLElBQUksQ0FBQyxhQUFhLEdBQUcsRUFBRSxDQUFDLG9CQUFvQixDQUFDLEVBQUUsUUFBUSxFQUFFLElBQUksQ0FBQyxNQUFNLEVBQUUsQ0FBQyxDQUFDO2lCQUMzRTtxQkFBTSxJQUFJLFdBQVcsRUFBRSxFQUFFO29CQUN0QixhQUFhO29CQUNiLElBQUksQ0FBQyxhQUFhLEdBQUcsRUFBRSxDQUFDLG9CQUFvQixDQUFDLEVBQUUsUUFBUSxFQUFFLElBQUksQ0FBQyxNQUFNLEVBQUUsQ0FBQyxDQUFDO2lCQUMzRTtxQkFBTTtvQkFDSCxJQUFJLENBQUMsYUFBYSxHQUFHLElBQUksQ0FBQztpQkFDN0I7Z0JBRUQsTUFBQSxJQUFJLENBQUMsYUFBYSwwQ0FBRSxNQUFNLENBQUM7b0JBQ3ZCLE9BQU8sQ0FBQyxHQUFHLENBQUMsOEJBQThCLENBQUMsQ0FBQztvQkFDNUMsS0FBSSxDQUFDLGFBQWEsQ0FBQyxJQUFJLEVBQUUsQ0FBQyxLQUFLLENBQUMsVUFBQyxHQUFRO3dCQUNyQyxPQUFPLENBQUMsR0FBRyxDQUFDLDhCQUE4QixFQUFFLEdBQUcsQ0FBQyxDQUFDO29CQUNyRCxDQUFDLENBQUMsQ0FBQztnQkFDUCxDQUFDLEVBQUU7Z0JBRUgsTUFBQSxJQUFJLENBQUMsYUFBYSwwQ0FBRSxPQUFPLENBQUMsVUFBQyxHQUFRO29CQUNqQyxPQUFPLENBQUMsR0FBRyxDQUFDLDJCQUEyQixFQUFFLEdBQUcsQ0FBQyxDQUFDO2dCQUNsRCxDQUFDLEVBQUU7YUFDTjtRQUNMLENBQUM7UUFDRCxnQ0FBTyxHQUFQOztZQUNJLE1BQUEsSUFBSSxDQUFDLGFBQWEsMENBQUUsT0FBTyxHQUFHO1FBQ2xDLENBQUM7UUFDTCxxQkFBQztJQUFELENBeERBLEFBd0RDLElBQUE7SUFFRDtRQVFJOzs7Ozs7O1dBT0c7UUFDSCxrQkFBWSxLQUFhLEVBQUUsS0FBMEIsRUFBRSxXQUF5QixFQUFFLFFBQXlCO1lBQXBELDRCQUFBLEVBQUEsaUJBQXlCO1lBQUUseUJBQUEsRUFBQSxnQkFBeUI7WUFDdkcsSUFBSSxDQUFDLE1BQU0sR0FBRyxLQUFLLENBQUM7WUFDcEIsSUFBSSxDQUFDLE1BQU0sQ0FBQyxRQUFRLEVBQUUsV0FBVyxFQUFFLEtBQUssQ0FBQyxDQUFDLENBQUMsWUFBWTtRQUMzRCxDQUFDO1FBZkQsc0JBQUksMkJBQUs7aUJBQVQ7Z0JBQ0ksT0FBTyxJQUFJLENBQUMsTUFBTSxDQUFDO1lBQ3ZCLENBQUM7OztXQUFBO1FBZU8seUJBQU0sR0FBZCxVQUFlLFFBQWlCLEVBQUUsV0FBbUIsRUFBRSxLQUEwQjtZQUFqRixpQkE0Q0M7O1lBM0NHLElBQUksQ0FBQyxRQUFRLEVBQUUsSUFBSSxDQUFDLFdBQVcsRUFBRSxFQUFFO2dCQUMvQixJQUFJLENBQUMsT0FBTyxHQUFHLElBQUksQ0FBQztnQkFDcEIsT0FBTzthQUNWO1lBRUQsSUFBSSxDQUFDLE9BQU8sRUFBRSxDQUFDO1lBRWYsSUFBSSxPQUFPLEdBQUcsYUFBYSxFQUFFLENBQUM7WUFFOUIsSUFBSSxNQUFNLEdBQUcsV0FBVyxHQUFHLEdBQUcsQ0FBQztZQUMvQixJQUFJLEdBQUcsR0FBRyxDQUFDLEVBQUUsSUFBSSxHQUFHLENBQUMsQ0FBQztZQUV0QixJQUFJLE9BQU8sS0FBSyxLQUFLLFNBQVMsRUFBRTtnQkFDNUIsSUFBSSxHQUFHLENBQUMsT0FBTyxDQUFDLEtBQUssR0FBRyxXQUFXLENBQUMsR0FBRyxDQUFDLENBQUE7Z0JBQ3hDLEdBQUcsR0FBRyxLQUFLLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxPQUFPLENBQUMsTUFBTSxHQUFHLE1BQU0sQ0FBQyxDQUFDO2FBQy9DO2lCQUFNO2dCQUNILElBQUksR0FBRyxLQUFLLENBQUMsSUFBSSxDQUFDO2dCQUNsQixHQUFHLEdBQUcsS0FBSyxDQUFDLEdBQUcsQ0FBQzthQUNuQjtZQUVELElBQUksTUFBTSxHQUFHO2dCQUNULFFBQVEsRUFBRSxJQUFJLENBQUMsTUFBTTtnQkFDckIsV0FBVyxFQUFFLEVBQUU7Z0JBQ2YsS0FBSyxFQUFFLEVBQUUsSUFBSSxFQUFFLElBQUksRUFBRSxHQUFHLEVBQUUsR0FBRyxFQUFFLEtBQUssRUFBRSxXQUFXLEVBQUU7YUFDdEQsQ0FBQTtZQUVELElBQUksUUFBUSxFQUFFLEVBQUU7Z0JBQ1osYUFBYTtnQkFDYixJQUFJLENBQUMsT0FBTyxHQUFHLEVBQUUsQ0FBQyxjQUFjLENBQUMsTUFBTSxDQUFDLENBQUM7YUFDNUM7aUJBQU0sSUFBSSxXQUFXLEVBQUUsRUFBRTtnQkFDdEIsYUFBYTtnQkFDYixJQUFJLENBQUMsT0FBTyxHQUFHLEVBQUUsQ0FBQyxjQUFjLENBQUMsTUFBTSxDQUFDLENBQUM7YUFDNUM7aUJBQU07Z0JBQ0gsSUFBSSxDQUFDLE9BQU8sR0FBRyxJQUFJLENBQUM7YUFDdkI7WUFFRCxNQUFBLElBQUksQ0FBQyxPQUFPLDBDQUFFLE9BQU8sQ0FBQyxVQUFDLEdBQVE7Z0JBQzNCLE9BQU8sQ0FBQyxHQUFHLENBQUMsa0JBQWtCLEVBQUUsR0FBRyxDQUFDLENBQUM7WUFDekMsQ0FBQyxFQUFFO1lBRUgsTUFBQSxJQUFJLENBQUMsT0FBTywwQ0FBRSxNQUFNLENBQUM7Z0JBQ2pCLFFBQVEsSUFBSSxLQUFJLENBQUMsT0FBTyxDQUFDLElBQUksRUFBRSxDQUFDO1lBQ3BDLENBQUMsRUFBRTtRQUNQLENBQUM7UUFFRCx1QkFBSSxHQUFKOztZQUNJLE1BQUEsSUFBSSxDQUFDLE9BQU8sMENBQUUsSUFBSSxHQUFHO1FBQ3pCLENBQUM7UUFFRCx1QkFBSSxHQUFKOztZQUNJLE1BQUEsSUFBSSxDQUFDLE9BQU8sMENBQUUsSUFBSSxHQUFHO1FBQ3pCLENBQUM7UUFFRCwwQkFBTyxHQUFQOztZQUNJLE1BQUEsSUFBSSxDQUFDLE9BQU8sMENBQUUsT0FBTyxHQUFHO1FBQzVCLENBQUM7UUFDTCxlQUFDO0lBQUQsQ0E5RUEsQUE4RUMsSUFBQTtJQUVEO1FBT0k7Ozs7OztXQU1HO1FBQ0gsa0JBQVksS0FBYSxFQUFFLEdBQWUsRUFBRSxJQUFnQixFQUFFLEtBQW1CO1lBQXRELG9CQUFBLEVBQUEsT0FBZTtZQUFFLHFCQUFBLEVBQUEsUUFBZ0I7WUFBRSxzQkFBQSxFQUFBLFdBQW1CO1lBQzdFLElBQUksQ0FBQyxNQUFNLEdBQUcsS0FBSyxDQUFDO1lBQ3BCLElBQUksQ0FBQyxjQUFjLENBQUMsR0FBRyxFQUFFLElBQUksRUFBRSxLQUFLLENBQUMsQ0FBQztRQUMxQyxDQUFDO1FBYkQsc0JBQUksMkJBQUs7aUJBQVQ7Z0JBQ0ksT0FBTyxJQUFJLENBQUMsTUFBTSxDQUFDO1lBQ3ZCLENBQUM7OztXQUFBO1FBYU8saUNBQWMsR0FBdEIsVUFBdUIsR0FBVyxFQUFFLElBQVksRUFBRSxLQUFhOztZQUMzRCxJQUFJLENBQUMsUUFBUSxFQUFFLEVBQUUsRUFBRSxnQ0FBZ0M7Z0JBQy9DLElBQUksQ0FBQyxTQUFTLEdBQUcsSUFBSSxDQUFDO2dCQUN0QixPQUFPLENBQUMsR0FBRyxDQUFDLCtCQUErQixDQUFDLENBQUM7Z0JBQzdDLE9BQU87YUFDVjtZQUVELElBQUksQ0FBQyxPQUFPLEVBQUUsQ0FBQztZQUNmLG1DQUFtQztZQUNuQyxpQ0FBaUM7WUFDakMsK0NBQStDO1lBQy9DLGlEQUFpRDtZQUVqRCxhQUFhO1lBQ2IsSUFBSSxDQUFDLFNBQVMsR0FBRyxFQUFFLENBQUMsY0FBYyxDQUFDO2dCQUMvQixRQUFRLEVBQUUsSUFBSSxDQUFDLE1BQU07Z0JBQ3JCLEtBQUssRUFBRSxFQUFFLElBQUksRUFBRSxJQUFJLEVBQUUsR0FBRyxFQUFFLEdBQUcsRUFBRSxLQUFLLEVBQUUsSUFBSSxFQUFFO2FBQy9DLENBQUMsQ0FBQztZQUVILE1BQUEsSUFBSSxDQUFDLFNBQVMsMENBQUUsT0FBTyxDQUFDLFVBQUMsR0FBUTtnQkFDN0IsT0FBTyxDQUFDLEdBQUcsQ0FBQyxrQkFBa0IsRUFBRSxHQUFHLENBQUMsQ0FBQztZQUN6QyxDQUFDLEVBQUU7UUFDUCxDQUFDO1FBQ0QsdUJBQUksR0FBSjs7WUFDSSxNQUFBLElBQUksQ0FBQyxTQUFTLDBDQUFFLElBQUksR0FBRztRQUMzQixDQUFDO1FBRUQsdUJBQUksR0FBSjs7WUFDSSxNQUFBLElBQUksQ0FBQyxTQUFTLDBDQUFFLElBQUksR0FBRztRQUMzQixDQUFDO1FBRUQsMEJBQU8sR0FBUDs7WUFDSSxNQUFBLElBQUksQ0FBQyxTQUFTLDBDQUFFLE9BQU8sR0FBRztRQUM5QixDQUFDO1FBQ0wsZUFBQztJQUFELENBckRBLEFBcURDLElBQUE7SUFHRDs7T0FFRztJQUNILElBQVksY0FlWDtJQWZELFdBQVksY0FBYztRQUN0Qjs7V0FFRztRQUNILHVEQUFNLENBQUE7UUFFTjs7V0FFRztRQUNILHVEQUFNLENBQUE7UUFFTjs7V0FFRztRQUNILHFEQUFLLENBQUE7SUFDVCxDQUFDLEVBZlcsY0FBYyxHQUFkLDBCQUFjLEtBQWQsMEJBQWMsUUFlekI7SUFFRDtRQVFJLGlCQUFZLEtBQWE7WUFOakIsYUFBUSxHQUFRLElBQUksQ0FBQztZQU96QixJQUFJLENBQUMsTUFBTSxHQUFHLEtBQUssQ0FBQztRQUN4QixDQUFDO1FBTkQsc0JBQUksMEJBQUs7aUJBQVQ7Z0JBQ0ksT0FBTyxJQUFJLENBQUMsTUFBTSxDQUFDO1lBQ3ZCLENBQUM7OztXQUFBO1FBTUQ7Ozs7OztXQU1HO1FBQ0gsc0JBQUksR0FBSixVQUFLLFFBQXNELEVBQUUsTUFBWSxFQUFFLGFBQXlCO1lBQXBHLGlCQW1FQzs7WUFuRTBFLDhCQUFBLEVBQUEsaUJBQXlCO1lBQ2hHLElBQUksUUFBUSxHQUFHLFVBQUMsS0FBcUIsRUFBRSxLQUFhO2dCQUNoRCxRQUFRLGFBQVIsUUFBUSx1QkFBUixRQUFRLENBQUUsSUFBSSxDQUFDLE1BQU0sRUFBRSxLQUFLLEVBQUUsS0FBSyxFQUFFO1lBQ3pDLENBQUMsQ0FBQTtZQUVELElBQUksQ0FBQyxRQUFRLEVBQUUsSUFBSSxDQUFDLFdBQVcsRUFBRSxFQUFFO2dCQUMvQixRQUFRLENBQUMsY0FBYyxDQUFDLE1BQU0sRUFBRSxDQUFDLENBQUMsQ0FBQztnQkFDbkMsSUFBSSxDQUFDLFFBQVEsR0FBRyxJQUFJLENBQUM7Z0JBQ3JCLE9BQU87YUFDVjtZQUVELElBQUksZUFBZSxHQUFHLFVBQUMsR0FBUTs7Z0JBQzNCLE1BQUEsS0FBSSxDQUFDLFFBQVEsMENBQUUsUUFBUSxDQUFDLGVBQWUsRUFBRTtnQkFDekMsSUFBSSxRQUFRLEVBQUUsRUFBRTtvQkFDWixJQUFJLEdBQUcsSUFBSSxHQUFHLENBQUMsT0FBTyxJQUFJLEdBQUcsS0FBSyxTQUFTLEVBQUU7d0JBQ3pDLFFBQVEsQ0FBQyxjQUFjLENBQUMsTUFBTSxFQUFFLENBQUMsQ0FBQyxDQUFDO3FCQUN0Qzt5QkFBTTt3QkFDSCxRQUFRLENBQUMsY0FBYyxDQUFDLE1BQU0sRUFBRSxDQUFDLENBQUMsQ0FBQztxQkFDdEM7aUJBQ0o7cUJBQU0sSUFBSSxXQUFXLEVBQUUsRUFBRTtvQkFDdEIsSUFBSSxZQUFZLEdBQUcsR0FBMEMsQ0FBQztvQkFDOUQsSUFBSSxZQUFZLElBQUksWUFBWSxDQUFDLEtBQUssR0FBRyxDQUFDLEVBQUU7d0JBQ3hDLFFBQVEsQ0FBQyxjQUFjLENBQUMsTUFBTSxFQUFFLFlBQVksQ0FBQyxLQUFLLENBQUMsQ0FBQztxQkFDdkQ7eUJBQU07d0JBQ0gsUUFBUSxDQUFDLGNBQWMsQ0FBQyxNQUFNLEVBQUUsQ0FBQyxDQUFDLENBQUM7cUJBQ3RDO2lCQUNKO1lBQ0wsQ0FBQyxDQUFBO1lBRUQsTUFBQSxJQUFJLENBQUMsUUFBUSwwQ0FBRSxRQUFRLENBQUMsZUFBZSxFQUFFO1lBRXpDLElBQUksUUFBUSxFQUFFLEVBQUU7Z0JBQ1osYUFBYTtnQkFDYixJQUFJLENBQUMsUUFBUSxHQUFHLEVBQUUsQ0FBQyxxQkFBcUIsQ0FBQztvQkFDckMsUUFBUSxFQUFFLElBQUksQ0FBQyxNQUFNO2lCQUN4QixDQUFDLENBQUM7YUFDTjtpQkFBTSxJQUFJLFdBQVcsRUFBRSxFQUFFO2dCQUN0QixhQUFhO2dCQUNiLElBQUksQ0FBQyxRQUFRLEdBQUcsRUFBRSxDQUFDLHFCQUFxQixDQUFDO29CQUNyQyxRQUFRLEVBQUUsSUFBSSxDQUFDLE1BQU07b0JBQ3JCLFFBQVEsRUFBRSxJQUFJO29CQUNkLGlCQUFpQixFQUFFLENBQUMsT0FBTyxFQUFFLFFBQVEsRUFBRSxRQUFRLENBQUM7b0JBQ2hELG1CQUFtQixFQUFFLGFBQWE7aUJBQ3JDLENBQUMsQ0FBQzthQUNOO2lCQUFNO2dCQUNILElBQUksQ0FBQyxRQUFRLEdBQUcsSUFBSSxDQUFDO2FBQ3hCO1lBR0QsTUFBQSxJQUFJLENBQUMsUUFBUSwwQ0FBRSxNQUFNLENBQUM7Z0JBQ2xCLE9BQU8sQ0FBQyxHQUFHLENBQUMsaUJBQWlCLENBQUMsQ0FBQztZQUNuQyxDQUFDLEVBQUU7WUFFSCxNQUFBLElBQUksQ0FBQyxRQUFRLDBDQUFFLE9BQU8sQ0FBQyxVQUFDLEdBQXdDO2dCQUM1RCxPQUFPLENBQUMsR0FBRyxDQUFDLGlCQUFpQixFQUFFLEdBQUcsQ0FBQyxDQUFDO2dCQUNwQyxRQUFRLENBQUMsY0FBYyxDQUFDLEtBQUssRUFBRSxDQUFDLENBQUMsQ0FBQztZQUN0QyxDQUFDLEVBQUU7WUFFSCxNQUFBLElBQUksQ0FBQyxRQUFRLDBDQUFFLE9BQU8sQ0FBQyxlQUFlLEVBQUU7WUFFeEMsTUFBQSxJQUFJLENBQUMsUUFBUSwwQ0FBRSxJQUFJLEdBQUcsS0FBSyxDQUFDOztnQkFDeEIsTUFBQSxLQUFJLENBQUMsUUFBUSwwQ0FBRSxJQUFJLEdBQUcsSUFBSSxDQUFDLG1DQUN2QixLQUFJLENBQUMsUUFBUSwwQ0FBRSxJQUFJLEtBQUUsRUFBRSxLQUFLLENBQUMsVUFBQyxHQUF3QztvQkFDbEUsT0FBTyxDQUFDLEdBQUcsQ0FBQyx1QkFBdUIsRUFBRSxHQUFHLENBQUMsQ0FBQztvQkFDMUMsUUFBUSxDQUFDLGNBQWMsQ0FBQyxLQUFLLEVBQUUsQ0FBQyxDQUFDLENBQUM7Z0JBQ3RDLENBQUMsRUFBRTtZQUNYLENBQUMsRUFBRTtRQUNQLENBQUM7UUFFRCx5QkFBTyxHQUFQOztZQUNJLE1BQUEsSUFBSSxDQUFDLFFBQVEsMENBQUUsT0FBTyxHQUFHO1FBQzdCLENBQUM7UUFDTCxjQUFDO0lBQUQsQ0EzRkEsQUEyRkMsSUFBQTtJQUVELElBQVksaUJBVVg7SUFWRCxXQUFZLGlCQUFpQjtRQUN6Qjs7V0FFRztRQUNILHVEQUFHLENBQUE7UUFFSDs7V0FFRztRQUNILDZEQUFNLENBQUE7SUFDVixDQUFDLEVBVlcsaUJBQWlCLEdBQWpCLDZCQUFpQixLQUFqQiw2QkFBaUIsUUFVNUI7SUFFRDtRQWdCSTtZQUZRLGFBQVEsR0FBNkIsRUFBRSxDQUFDO1FBSWhELENBQUM7UUFkRCxzQkFBVyx5QkFBUTtpQkFBbkI7Z0JBQ0ksSUFBSSxDQUFDLGFBQWEsQ0FBQyxTQUFTLEVBQUU7b0JBQzFCLGFBQWEsQ0FBQyxTQUFTLEdBQUcsSUFBSSxhQUFhLEVBQUUsQ0FBQztpQkFDakQ7Z0JBQ0QsT0FBTyxhQUFhLENBQUMsU0FBUyxDQUFDO1lBQ25DLENBQUM7OztXQUFBO1FBV0Q7Ozs7OztXQU1HO1FBQ0ksa0NBQVUsR0FBakIsVUFBa0IsS0FBYSxFQUFFLFFBQStELEVBQUUsS0FBbUI7O1lBQXBGLHlCQUFBLEVBQUEsV0FBMEMsaUJBQWlCLENBQUMsR0FBRztZQUFFLHNCQUFBLEVBQUEsV0FBbUI7WUFDakgsTUFBQSxJQUFJLENBQUMsT0FBTywwQ0FBRSxPQUFPLEdBQUc7WUFDeEIsSUFBSSxJQUFJLEdBQVUsYUFBYSxFQUFFLENBQUM7WUFDbEMsaUVBQWlFO1lBQ2pFLElBQUksS0FBSyxHQUFHLElBQUksQ0FBQyxLQUFLLEdBQUcsS0FBSyxDQUFDO1lBQy9CLEtBQUssR0FBRyxLQUFLLEdBQUcsR0FBRyxDQUFDLENBQUMsQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLEtBQUssQ0FBQyxDQUFDLFFBQVE7WUFDM0MsS0FBSyxHQUFHLEtBQUssR0FBRyxJQUFJLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQyxLQUFLLENBQUMsQ0FBQyxPQUFPO1lBQ3hELElBQUksQ0FBQyxPQUFPLEdBQUcsT0FBTyxRQUFRLEtBQUssUUFBUSxDQUFDLENBQUMsQ0FBQyxJQUFJLFFBQVEsQ0FBQyxLQUFLLEVBQUUsUUFBUSxLQUFLLGlCQUFpQixDQUFDLEdBQUcsRUFBRSxLQUFLLEVBQUUsS0FBSyxDQUFDLENBQUMsQ0FBQyxDQUFDLElBQUksUUFBUSxDQUFDLEtBQUssRUFBRSxRQUFRLEVBQUUsS0FBSyxFQUFFLEtBQUssQ0FBQyxDQUFDO1FBQ3RLLENBQUM7UUFFRDs7V0FFRztRQUNJLGtDQUFVLEdBQWpCO1lBQ0ksSUFBSSxJQUFJLENBQUMsT0FBTyxFQUFFO2dCQUNkLElBQUksQ0FBQyxPQUFPLENBQUMsSUFBSSxFQUFFLENBQUM7YUFDdkI7aUJBQU07Z0JBQ0gsT0FBTyxDQUFDLElBQUksQ0FBQyxtRUFBbUUsQ0FBQyxDQUFDO2FBQ3JGO1FBQ0wsQ0FBQztRQUVEOztXQUVHO1FBQ0ksa0NBQVUsR0FBakI7O1lBQ0ksTUFBQSxJQUFJLENBQUMsT0FBTywwQ0FBRSxJQUFJLEdBQUc7UUFDekIsQ0FBQztRQUVEOzs7V0FHRztRQUNJLHdDQUFnQixHQUF2QixVQUF3QixLQUFhOztZQUNqQyxJQUFJLElBQUksQ0FBQyxhQUFhLElBQUksSUFBSSxDQUFDLGFBQWEsQ0FBQyxLQUFLLEtBQUssS0FBSyxFQUFFO2dCQUMxRCxJQUFJLENBQUMsYUFBYSxDQUFDLElBQUksRUFBRSxDQUFDO2FBQzdCO2lCQUFNO2dCQUNILE1BQUEsSUFBSSxDQUFDLGFBQWEsMENBQUUsT0FBTyxHQUFHO2dCQUM5QixJQUFJLENBQUMsYUFBYSxHQUFHLElBQUksY0FBYyxDQUFDLEtBQUssQ0FBQyxDQUFDO2dCQUMvQyxJQUFJLENBQUMsYUFBYSxDQUFDLElBQUksRUFBRSxDQUFDO2FBQzdCO1FBQ0wsQ0FBQztRQUVEOzs7Ozs7V0FNRztRQUNJLGtDQUFVLEdBQWpCLFVBQWtCLEtBQWEsRUFBRSxRQUF5QyxFQUFFLEtBQWlCO1lBQTVELHlCQUFBLEVBQUEsYUFBd0IsR0FBRyxFQUFFLENBQUMsRUFBRSxJQUFJLEVBQUUsQ0FBQyxFQUFFO1lBQUUsc0JBQUEsRUFBQSxTQUFpQjtZQUN6RiwyQkFBMkI7WUFDM0IsMEVBQTBFO1lBQzFFLElBQUksSUFBSSxDQUFDLFFBQVEsQ0FBQyxLQUFLLENBQUMsRUFBRTtnQkFDdEIsT0FBTyxDQUFDLEdBQUcsQ0FBSSxLQUFLLHNCQUFtQixDQUFDLENBQUM7Z0JBQ3pDLE9BQU87YUFDVjtZQUVELElBQUksQ0FBQyxRQUFRLENBQUMsS0FBSyxDQUFDLEdBQUcsSUFBSSxRQUFRLENBQUMsS0FBSyxFQUFFLFFBQVEsQ0FBQyxHQUFHLEVBQUUsUUFBUSxDQUFDLElBQUksRUFBRSxLQUFLLENBQUMsQ0FBQztRQUNuRixDQUFDO1FBRUQ7Ozs7OztXQU1HO1FBQ0ksa0NBQVUsR0FBakIsVUFBa0IsS0FBYTtZQUMzQixJQUFJLElBQUksQ0FBQyxRQUFRLENBQUMsS0FBSyxDQUFDLEVBQUU7Z0JBQ3RCLElBQUksQ0FBQyxRQUFRLENBQUMsS0FBSyxDQUFDLENBQUMsSUFBSSxFQUFFLENBQUM7YUFDL0I7aUJBQU07Z0JBQ0gsT0FBTyxDQUFDLElBQUksQ0FBQyx1QkFBcUIsS0FBSyxpQ0FBOEIsQ0FBQyxDQUFDO2FBQzFFO1FBQ0wsQ0FBQztRQUVEOzs7Ozs7O1dBT0c7UUFDSSxrQ0FBVSxHQUFqQixVQUFrQixLQUFhO1lBQzNCLElBQUksSUFBSSxDQUFDLFFBQVEsQ0FBQyxLQUFLLENBQUMsRUFBRTtnQkFDdEIsSUFBSSxDQUFDLFFBQVEsQ0FBQyxLQUFLLENBQUMsQ0FBQyxJQUFJLEVBQUUsQ0FBQzthQUMvQjtpQkFBTTtnQkFDSCxPQUFPLENBQUMsSUFBSSxDQUFDLHVCQUFxQixLQUFLLGlDQUE4QixDQUFDLENBQUM7YUFDMUU7UUFDTCxDQUFDO1FBRUQ7Ozs7OztXQU1HO1FBQ0ksaUNBQVMsR0FBaEIsVUFBaUIsS0FBYSxFQUFFLGFBQTJELEVBQUUsTUFBWSxFQUFFLGFBQXlCOztZQUF6Qiw4QkFBQSxFQUFBLGlCQUF5QjtZQUNoSSxJQUFJLElBQUksQ0FBQyxNQUFNLElBQUksSUFBSSxDQUFDLE1BQU0sQ0FBQyxLQUFLLEtBQUssS0FBSyxFQUFFO2dCQUM1QyxJQUFJLENBQUMsTUFBTSxDQUFDLElBQUksQ0FBQyxhQUFhLEVBQUUsTUFBTSxFQUFFLGFBQWEsQ0FBQyxDQUFDO2FBQzFEO2lCQUFNO2dCQUNILE1BQUEsSUFBSSxDQUFDLE1BQU0sMENBQUUsT0FBTyxHQUFHO2dCQUN2QixJQUFJLENBQUMsTUFBTSxHQUFHLElBQUksT0FBTyxDQUFDLEtBQUssQ0FBQyxDQUFDO2dCQUNqQyxJQUFJLENBQUMsTUFBTSxDQUFDLElBQUksQ0FBQyxhQUFhLEVBQUUsTUFBTSxFQUFFLGFBQWEsQ0FBQyxDQUFDO2FBQzFEO1FBQ0wsQ0FBQztRQUVEOztXQUVHO1FBQ0ksa0NBQVUsR0FBakI7O1lBQ0ksTUFBQSxJQUFJLENBQUMsT0FBTywwQ0FBRSxPQUFPLEdBQUc7WUFDeEIsSUFBSSxDQUFDLE9BQU8sR0FBRyxJQUFJLENBQUM7WUFFcEIsTUFBQSxJQUFJLENBQUMsYUFBYSwwQ0FBRSxPQUFPLEdBQUc7WUFDOUIsSUFBSSxDQUFDLGFBQWEsR0FBRyxJQUFJLENBQUM7WUFFMUIsTUFBQSxJQUFJLENBQUMsTUFBTSwwQ0FBRSxPQUFPLEdBQUc7WUFDdkIsSUFBSSxDQUFDLE1BQU0sR0FBRyxJQUFJLENBQUM7WUFFbkIsSUFBSSxJQUFJLENBQUMsUUFBUSxFQUFFO2dCQUNmLEtBQUssSUFBSSxHQUFHLElBQUksSUFBSSxDQUFDLFFBQVEsRUFBRTtvQkFDM0IsTUFBQSxJQUFJLENBQUMsUUFBUSxDQUFDLEdBQUcsQ0FBQywwQ0FBRSxPQUFPLEdBQUc7aUJBQ2pDO2dCQUNELElBQUksQ0FBQyxRQUFRLEdBQUcsRUFBRSxDQUFDO2FBQ3RCO1FBQ0wsQ0FBQztRQUNMLG9CQUFDO0lBQUQsQ0EzSkEsQUEySkMsSUFBQTtJQTNKWSx5QkFBYSxnQkEySnpCLENBQUE7SUFFRCxJQUFZLGFBWVg7SUFaRCxXQUFZLGFBQWE7UUFDckIsV0FBVztRQUNYLGdDQUFlLENBQUE7UUFFZixXQUFXO1FBQ1gsZ0NBQWUsQ0FBQTtRQUVmLG1CQUFtQjtRQUNuQiw4QkFBYSxDQUFBO1FBRWIsbUJBQW1CO1FBQ25CLGdDQUFlLENBQUE7SUFDbkIsQ0FBQyxFQVpXLGFBQWEsR0FBYix5QkFBYSxLQUFiLHlCQUFhLFFBWXhCO0lBRUQ7UUFZSTtRQUVBLENBQUM7UUFYRCxzQkFBVyxvQkFBUTtpQkFBbkI7Z0JBQ0ksSUFBSSxDQUFDLElBQUksQ0FBQyxTQUFTLEVBQUU7b0JBQ2pCLElBQUksQ0FBQyxTQUFTLEdBQUcsSUFBSSxRQUFRLEVBQUUsQ0FBQztpQkFDbkM7Z0JBQ0QsT0FBTyxJQUFJLENBQUMsU0FBUyxDQUFDO1lBQzFCLENBQUM7OztXQUFBO1FBUUQ7Ozs7OztXQU1HO1FBQ0gseUJBQU0sR0FBTixVQUFPLElBQXlDLEVBQUUsUUFBeUMsRUFBRSxJQUF1QyxFQUFFLFFBQWlCO1lBQWhKLHFCQUFBLEVBQUEsT0FBc0IsYUFBYSxDQUFDLEtBQUs7WUFBRSx5QkFBQSxFQUFBLGFBQXdCLEdBQUcsRUFBRSxDQUFDLEVBQUUsSUFBSSxFQUFFLENBQUMsRUFBRTtZQUFFLHFCQUFBLEVBQUEsU0FBZ0IsS0FBSyxFQUFFLEVBQUUsRUFBRSxNQUFNLEVBQUUsRUFBRSxFQUFFO1lBQ2hJLElBQUksUUFBUSxFQUFFLEVBQUU7Z0JBQ1osYUFBYTtnQkFDYixJQUFJLENBQUMsS0FBSyxHQUFHLEVBQUUsQ0FBQyxvQkFBb0IsQ0FBQztvQkFDakMsSUFBSSxFQUFFLElBQUk7b0JBQ1YsS0FBSyxFQUFFO3dCQUNILElBQUksRUFBRSxRQUFRLENBQUMsSUFBSTt3QkFDbkIsR0FBRyxFQUFFLFFBQVEsQ0FBQyxHQUFHO3dCQUNqQixLQUFLLEVBQUUsSUFBSSxDQUFDLEtBQUs7d0JBQ2pCLE1BQU0sRUFBRSxJQUFJLENBQUMsTUFBTTtxQkFDdEI7b0JBQ0QsUUFBUSxFQUFFLFFBQVE7aUJBQ3JCLENBQUMsQ0FBQzthQUNOO1FBQ0wsQ0FBQztRQUVELHVCQUFJLEdBQUo7O1lBQ0ksTUFBQSxJQUFJLENBQUMsS0FBSywwQ0FBRSxJQUFJLEdBQUc7UUFDdkIsQ0FBQztRQUVELHVCQUFJLEdBQUo7O1lBQ0ksTUFBQSxJQUFJLENBQUMsS0FBSywwQ0FBRSxJQUFJLEdBQUc7UUFDdkIsQ0FBQztRQUVELDBCQUFPLEdBQVA7O1lBQ0ksTUFBQSxJQUFJLENBQUMsS0FBSywwQ0FBRSxPQUFPLEdBQUc7UUFDMUIsQ0FBQztRQUNMLGVBQUM7SUFBRCxDQWxEQSxBQWtEQyxJQUFBO0lBbERZLG9CQUFRLFdBa0RwQixDQUFBO0lBR0Q7O09BRUc7SUFDSCxJQUFZLGFBVVg7SUFWRCxXQUFZLGFBQWE7UUFDckI7O1dBRUc7UUFDSCxtREFBSyxDQUFBO1FBRUw7O1dBRUc7UUFDSCxpREFBSSxDQUFBO0lBQ1IsQ0FBQyxFQVZXLGFBQWEsR0FBYix5QkFBYSxLQUFiLHlCQUFhLFFBVXhCO0lBRUQ7O09BRUc7SUFDSDtRQUFBO1FBMlpBLENBQUM7UUFyWkc7Ozs7Ozs7V0FPRztRQUNJLHFCQUFpQixHQUF4QixVQUF5QixLQUFhLEVBQUUsV0FBd0IsRUFBRSxRQUFpQixFQUFFLEtBQWMsRUFBRSxTQUFzQjtZQUFuRiw0QkFBQSxFQUFBLGdCQUF3QjtZQUM1RCxJQUFJLFFBQVEsRUFBRSxFQUFFO2dCQUNaLElBQUk7b0JBQ0EsWUFBWTtvQkFDWixFQUFFLENBQUMsZUFBZSxDQUFDO3dCQUNmLEtBQUssRUFBRSxLQUFLO3dCQUNaLFFBQVEsRUFBRSxRQUFRO3dCQUNsQixLQUFLLEVBQUUsS0FBSztxQkFDZixDQUFDLENBQUM7aUJBQ047Z0JBQUMsT0FBTyxHQUFHLEVBQUU7b0JBQ1YsT0FBTyxDQUFDLEdBQUcsQ0FBQyxrQkFBZ0IsR0FBSyxDQUFDLENBQUM7aUJBQ3RDO2FBQ0o7WUFFRCxJQUFJLFdBQVcsRUFBRSxFQUFFO2dCQUNmLFlBQVk7Z0JBQ1osRUFBRSxDQUFDLGVBQWUsQ0FBQztvQkFDZixLQUFLLEVBQUUsS0FBSztvQkFDWixJQUFJLEVBQUUsV0FBVztvQkFDakIsUUFBUSxFQUFFLFFBQVEsYUFBUixRQUFRLGNBQVIsUUFBUSxHQUFJLEVBQUU7b0JBQ3hCLEtBQUssRUFBRSxLQUFLLGFBQUwsS0FBSyxjQUFMLEtBQUssR0FBSSxFQUFFO29CQUNsQixPQUFPLEVBQVAsVUFBUSxHQUFRO3dCQUNaLE9BQU8sQ0FBQyxHQUFHLENBQUMsZ0JBQWdCLEVBQUUsR0FBRyxDQUFDLENBQUM7d0JBQ25DLFNBQVMsYUFBVCxTQUFTLHVCQUFULFNBQVMsR0FBSztvQkFDbEIsQ0FBQztvQkFDRCxJQUFJLEVBQUosVUFBSyxHQUFRO3dCQUNULE9BQU8sQ0FBQyxHQUFHLENBQUMsYUFBYSxFQUFFLEdBQUcsQ0FBQyxDQUFDO29CQUNwQyxDQUFDO2lCQUNKLENBQUMsQ0FBQzthQUNOO1FBQ0wsQ0FBQztRQUVEOzs7OztXQUtHO1FBQ0ksYUFBUyxHQUFoQixVQUFpQixLQUFhLEVBQUUsUUFBb0I7WUFBcEIseUJBQUEsRUFBQSxZQUFvQjtZQUNoRCxJQUFJLFFBQVEsRUFBRSxFQUFFO2dCQUNaLGFBQWE7Z0JBQ2IsRUFBRSxDQUFDLFNBQVMsQ0FBQztvQkFDVCxLQUFLLEVBQUUsS0FBSztvQkFDWixJQUFJLEVBQUUsU0FBUztvQkFDZixRQUFRLEVBQUUsUUFBUSxHQUFHLElBQUk7aUJBQzVCLENBQUMsQ0FBQzthQUNOO1lBRUQsSUFBSSxXQUFXLEVBQUUsRUFBRTtnQkFDZixZQUFZO2dCQUNaLEVBQUUsQ0FBQyxTQUFTLENBQUM7b0JBQ1QsS0FBSyxFQUFFLEtBQUs7b0JBQ1osUUFBUSxFQUFFLFFBQVEsR0FBRyxJQUFJO29CQUN6QixPQUFPLEVBQVAsVUFBUSxHQUFRO3dCQUNaLE9BQU8sQ0FBQyxHQUFHLENBQUMsS0FBRyxHQUFLLENBQUMsQ0FBQztvQkFDMUIsQ0FBQztvQkFDRCxJQUFJLEVBQUosVUFBSyxHQUFRO3dCQUNULE9BQU8sQ0FBQyxHQUFHLENBQUMsbUNBQWUsQ0FBQyxDQUFDO29CQUNqQyxDQUFDO2lCQUNKLENBQUMsQ0FBQzthQUNOO1FBQ0wsQ0FBQztRQUVEOzs7V0FHRztRQUNJLFdBQU8sR0FBZCxVQUFlLElBQXlDO1lBQXpDLHFCQUFBLEVBQUEsT0FBc0IsYUFBYSxDQUFDLEtBQUs7WUFDcEQsSUFBSSxRQUFRLEVBQUUsRUFBRTtnQkFDWixRQUFRLElBQUksRUFBRTtvQkFDVixLQUFLLGFBQWEsQ0FBQyxLQUFLO3dCQUNwQixZQUFZO3dCQUNaLEVBQUUsQ0FBQyxZQUFZLENBQUM7NEJBQ1osT0FBTyxFQUFQLFVBQVEsR0FBUTtnQ0FDWixPQUFPLENBQUMsR0FBRyxDQUFDLGtCQUFrQixFQUFFLEdBQUcsQ0FBQyxDQUFDOzRCQUN6QyxDQUFDOzRCQUNELElBQUksRUFBSixVQUFLLEdBQVE7Z0NBQ1QsT0FBTyxDQUFDLEdBQUcsQ0FBQyxxQkFBcUIsRUFBRSxHQUFHLENBQUMsQ0FBQzs0QkFDNUMsQ0FBQzt5QkFDSixDQUFDLENBQUM7d0JBQ0gsTUFBTTtvQkFDVixLQUFLLGFBQWEsQ0FBQyxJQUFJO3dCQUNuQixZQUFZO3dCQUNaLEVBQUUsQ0FBQyxXQUFXLENBQUM7NEJBQ1gsT0FBTyxFQUFQLFVBQVEsR0FBUTtnQ0FDWixPQUFPLENBQUMsR0FBRyxDQUFDLGlCQUFpQixFQUFFLEdBQUcsQ0FBQyxDQUFDOzRCQUN4QyxDQUFDOzRCQUNELElBQUksRUFBSixVQUFLLEdBQVE7Z0NBQ1QsT0FBTyxDQUFDLEdBQUcsQ0FBQyxvQkFBb0IsRUFBRSxHQUFHLENBQUMsQ0FBQzs0QkFDM0MsQ0FBQzt5QkFDSixDQUFDLENBQUM7d0JBQ0gsTUFBTTtvQkFDVjt3QkFDSSxNQUFNO2lCQUNiO2FBQ0o7WUFFRCxJQUFJLFdBQVcsRUFBRSxFQUFFO2dCQUNmLFFBQVEsSUFBSSxFQUFFO29CQUNWLEtBQUssYUFBYSxDQUFDLEtBQUs7d0JBQ3BCLFlBQVk7d0JBQ1osRUFBRSxDQUFDLFlBQVksQ0FBQzs0QkFDWixPQUFPLEVBQVAsVUFBUSxHQUFRO2dDQUNaLE9BQU8sQ0FBQyxHQUFHLENBQUMsa0JBQWtCLEVBQUUsR0FBRyxDQUFDLENBQUM7NEJBQ3pDLENBQUM7NEJBQ0QsSUFBSSxFQUFKLFVBQUssR0FBUTtnQ0FDVCxPQUFPLENBQUMsR0FBRyxDQUFDLHFCQUFxQixFQUFFLEdBQUcsQ0FBQyxDQUFDOzRCQUM1QyxDQUFDO3lCQUNKLENBQUMsQ0FBQzt3QkFDSCxNQUFNO29CQUNWLEtBQUssYUFBYSxDQUFDLElBQUk7d0JBQ25CLFlBQVk7d0JBQ1osRUFBRSxDQUFDLFdBQVcsQ0FBQzs0QkFDWCxPQUFPLEVBQVAsVUFBUSxHQUFRO2dDQUNaLE9BQU8sQ0FBQyxHQUFHLENBQUMsaUJBQWlCLEVBQUUsR0FBRyxDQUFDLENBQUM7NEJBQ3hDLENBQUM7NEJBQ0QsSUFBSSxFQUFKLFVBQUssR0FBUTtnQ0FDVCxPQUFPLENBQUMsR0FBRyxDQUFDLG9CQUFvQixFQUFFLEdBQUcsQ0FBQyxDQUFDOzRCQUMzQyxDQUFDO3lCQUNKLENBQUMsQ0FBQzt3QkFDSCxNQUFNO29CQUNWO3dCQUNJLE1BQU07aUJBQ2I7YUFDSjtRQUNMLENBQUM7UUFFRDs7V0FFRztRQUNJLFVBQU0sR0FBYjtZQUNJLElBQUksUUFBUSxFQUFFLEVBQUU7Z0JBQ1osWUFBWTtnQkFDWixFQUFFLENBQUMsa0JBQWtCLENBQUM7b0JBQ2xCLE9BQU8sRUFBRTt3QkFDTCxPQUFPLENBQUMsR0FBRyxDQUFDLGlCQUFpQixDQUFDLENBQUM7b0JBQ25DLENBQUM7b0JBRUQsSUFBSSxFQUFFO3dCQUNGLE9BQU8sQ0FBQyxHQUFHLENBQUMsZ0JBQWdCLENBQUMsQ0FBQztvQkFDbEMsQ0FBQztpQkFDSixDQUFDLENBQUE7YUFDTDtZQUVELElBQUksV0FBVyxFQUFFLEVBQUU7Z0JBQ2YsSUFBSTtvQkFDQSxhQUFhO29CQUNiLEVBQUUsQ0FBQyxzQkFBc0IsRUFBRSxDQUFDO2lCQUMvQjtnQkFBQyxPQUFPLEtBQUssRUFBRTtvQkFDWixPQUFPLENBQUMsR0FBRyxDQUFDLHdCQUF3QixFQUFFLEtBQUssQ0FBQyxDQUFDO2lCQUNoRDthQUNKO1FBQ0wsQ0FBQztRQUVEOztXQUVHO1FBQ0ksUUFBSSxHQUFYO1lBQ0ksSUFBSSxRQUFRLEVBQUUsRUFBRTtnQkFDWixZQUFZO2dCQUNaLEVBQUUsQ0FBQyxlQUFlLENBQUM7b0JBQ2YsT0FBTyxFQUFFO3dCQUNMLE9BQU8sQ0FBQyxHQUFHLENBQUMsY0FBYyxDQUFDLENBQUM7b0JBQ2hDLENBQUM7b0JBQ0QsSUFBSSxFQUFFO3dCQUNGLE9BQU8sQ0FBQyxHQUFHLENBQUMsYUFBYSxDQUFDLENBQUM7b0JBQy9CLENBQUM7aUJBQ0osQ0FBQyxDQUFDO2FBQ047WUFFRCxJQUFJLFdBQVcsRUFBRSxFQUFFO2dCQUNmLGFBQWE7Z0JBQ2IsRUFBRSxDQUFDLGVBQWUsQ0FBQztvQkFDZixPQUFPLEVBQVAsVUFBUSxHQUFRO3dCQUNaLE9BQU8sQ0FBQyxHQUFHLENBQUMsZUFBZSxFQUFFLEdBQUcsYUFBSCxHQUFHLHVCQUFILEdBQUcsQ0FBRSxJQUFJLENBQUMsQ0FBQztvQkFDNUMsQ0FBQztvQkFDRCxJQUFJLEVBQUosVUFBSyxHQUFRO3dCQUNULE9BQU8sQ0FBQyxHQUFHLENBQUMsWUFBWSxFQUFFLEdBQUcsYUFBSCxHQUFHLHVCQUFILEdBQUcsQ0FBRSxNQUFNLENBQUMsQ0FBQztvQkFDM0MsQ0FBQztpQkFDSixDQUFDLENBQUM7YUFDTjtRQUNMLENBQUM7UUFFRDs7O1dBR0c7UUFDSSxpQkFBYSxHQUFwQjtZQUNJLElBQUksUUFBUSxFQUFFLEVBQUU7Z0JBQ1osWUFBWTtnQkFDWixFQUFFLENBQUMsYUFBYSxDQUFDO29CQUNiLGVBQWUsRUFBRSxJQUFJO29CQUNyQixLQUFLLEVBQUUsQ0FBQyxpQkFBaUIsRUFBRSxlQUFlLENBQUM7b0JBQzNDLE9BQU8sRUFBRSxjQUFRLENBQUM7b0JBQ2xCLElBQUksRUFBRSxjQUFRLENBQUM7b0JBQ2YsUUFBUSxFQUFFLGNBQVEsQ0FBQztpQkFDdEIsQ0FBQyxDQUFDO2FBQ047WUFFRCxJQUFJLFdBQVcsRUFBRSxFQUFFO2dCQUNmLFlBQVk7Z0JBQ1osRUFBRSxDQUFDLGFBQWEsQ0FBQztvQkFDYixPQUFPLEVBQVAsVUFBUSxHQUFRO3dCQUNaLE9BQU8sQ0FBQyxHQUFHLENBQUMsc0JBQXNCLENBQUMsQ0FBQztvQkFDeEMsQ0FBQztvQkFDRCxJQUFJLEVBQUosVUFBSyxHQUFRO3dCQUNULE9BQU8sQ0FBQyxHQUFHLENBQUMsZ0JBQWdCLEVBQUUsR0FBRyxDQUFDLE1BQU0sQ0FBQyxDQUFDO29CQUM5QyxDQUFDO29CQUNELFFBQVEsRUFBUixVQUFTLEdBQVE7d0JBQ2IsT0FBTyxDQUFDLEdBQUcsQ0FBQyx3QkFBd0IsQ0FBQyxDQUFDO29CQUMxQyxDQUFDO2lCQUNKLENBQUMsQ0FBQzthQUNOO1FBQ0wsQ0FBQztRQUVEOzs7O1dBSUc7UUFDSSxjQUFVLEdBQWpCLFVBQWtCLFFBQWdCLEVBQUUsU0FBc0I7WUFDdEQsSUFBSSxRQUFRLEVBQUUsRUFBRTtnQkFDWixhQUFhO2dCQUNiLEVBQUUsQ0FBQyxxQkFBcUIsQ0FBQztvQkFDckIsS0FBSyxFQUFFLFFBQVE7b0JBQ2YsU0FBUyxFQUFFO3dCQUNQLEdBQUcsRUFBRSxLQUFLO3FCQUNiO29CQUNELFVBQVUsRUFBRSxTQUFTO29CQUNyQixPQUFPLEVBQVAsVUFBUSxHQUFRO3dCQUNaLFNBQVMsYUFBVCxTQUFTLHVCQUFULFNBQVMsR0FBSztvQkFDbEIsQ0FBQztpQkFDSixDQUFDLENBQUM7YUFDTjtZQUVELElBQUksV0FBVyxFQUFFLEVBQUU7Z0JBQ2YsYUFBYTtnQkFDYixFQUFFLENBQUMsbUJBQW1CLENBQUM7b0JBQ25CLE9BQU8sRUFBRSxRQUFRO29CQUNqQixPQUFPLEVBQUUsVUFBQyxHQUFRO3dCQUNkLFNBQVMsYUFBVCxTQUFTLHVCQUFULFNBQVMsR0FBSztvQkFDbEIsQ0FBQztvQkFDRCxJQUFJLEVBQUUsVUFBQyxHQUFRO3dCQUNYLE9BQU8sQ0FBQyxHQUFHLENBQUMsb0NBQW9DLEVBQUUsR0FBRyxDQUFDLENBQUM7b0JBQzNELENBQUM7aUJBQ0osQ0FBQyxDQUFDO2FBQ047UUFDTCxDQUFDO1FBR0Q7OztXQUdHO1FBQ0ksU0FBSyxHQUFaLFVBQWEsUUFBdUQ7WUFDaEUsSUFBSSxhQUFhLEdBQUc7Z0JBQ2hCLElBQUksUUFBUSxFQUFFLEVBQUU7b0JBQ1osWUFBWTtvQkFDWixFQUFFLENBQUMsS0FBSyxDQUFDO3dCQUNMLE9BQU8sRUFBRSxVQUFDLEdBQWdDOzRCQUN0QyxJQUFJLEdBQUcsQ0FBQyxJQUFJLEVBQUU7Z0NBQ1YsR0FBRyxDQUFDLFVBQVUsR0FBRyxHQUFHLENBQUMsSUFBSSxDQUFDO2dDQUMxQixHQUFHLENBQUMsbUJBQW1CLEdBQUcsSUFBSSxDQUFDO2dDQUMvQixRQUFRLGFBQVIsUUFBUSx1QkFBUixRQUFRLENBQUcsR0FBRyxDQUFDLFVBQVUsRUFBRSxHQUFHLENBQUMsbUJBQW1CLEVBQUU7NkJBQ3ZEO2lDQUFNO2dDQUNILE9BQU8sQ0FBQyxHQUFHLENBQUMsY0FBYyxFQUFFLEdBQUcsQ0FBQyxNQUFNLENBQUMsQ0FBQTs2QkFDMUM7d0JBQ0wsQ0FBQzt3QkFFRCxJQUFJLEVBQUU7NEJBQ0YsR0FBRyxDQUFDLFVBQVUsR0FBRyxJQUFJLENBQUM7NEJBQ3RCLEdBQUcsQ0FBQyxtQkFBbUIsR0FBRyxJQUFJLENBQUM7NEJBQy9CLFFBQVEsYUFBUixRQUFRLHVCQUFSLFFBQVEsQ0FBRyxHQUFHLENBQUMsVUFBVSxFQUFFLEdBQUcsQ0FBQyxtQkFBbUIsRUFBRTs0QkFDcEQsT0FBTyxDQUFDLEdBQUcsQ0FBQyxZQUFZLENBQUMsQ0FBQTt3QkFDN0IsQ0FBQztxQkFDSixDQUFDLENBQUM7aUJBQ047cUJBQU0sSUFBSSxXQUFXLEVBQUUsRUFBRTtvQkFDdEIsWUFBWTtvQkFDWixFQUFFLENBQUMsS0FBSyxDQUFDO3dCQUNMLEtBQUssRUFBRSxJQUFJO3dCQUNYLE9BQU8sRUFBUCxVQUFRLEdBQVE7OzRCQUNaLE9BQU8sQ0FBQyxHQUFHLENBQUMsV0FBUyxHQUFHLENBQUMsSUFBSSxTQUFJLEdBQUcsQ0FBQyxhQUFlLENBQUMsQ0FBQzs0QkFDdEQsSUFBSSxHQUFHLENBQUMsSUFBSSxFQUFFO2dDQUNWLEdBQUcsQ0FBQyxVQUFVLFNBQUcsR0FBRyxDQUFDLElBQUksMENBQUUsUUFBUSxFQUFFLENBQUM7Z0NBQ3RDLEdBQUcsQ0FBQyxtQkFBbUIsU0FBRyxHQUFHLENBQUMsYUFBYSwwQ0FBRSxRQUFRLEVBQUUsQ0FBQztnQ0FDeEQsUUFBUSxhQUFSLFFBQVEsdUJBQVIsUUFBUSxDQUFHLEdBQUcsQ0FBQyxVQUFVLEVBQUUsR0FBRyxDQUFDLG1CQUFtQixFQUFFOzZCQUN2RDtpQ0FBTTtnQ0FDSCxPQUFPLENBQUMsR0FBRyxDQUFDLGNBQWMsRUFBRSxHQUFHLENBQUMsTUFBTSxDQUFDLENBQUE7NkJBQzFDO3dCQUNMLENBQUM7d0JBQ0QsSUFBSSxFQUFKLFVBQUssR0FBUTs0QkFDVCxHQUFHLENBQUMsVUFBVSxHQUFHLElBQUksQ0FBQzs0QkFDdEIsR0FBRyxDQUFDLG1CQUFtQixHQUFHLElBQUksQ0FBQzs0QkFDL0IsUUFBUSxhQUFSLFFBQVEsdUJBQVIsUUFBUSxDQUFHLEdBQUcsQ0FBQyxVQUFVLEVBQUUsR0FBRyxDQUFDLG1CQUFtQixFQUFFOzRCQUNwRCxPQUFPLENBQUMsR0FBRyxDQUFDLFlBQVksRUFBRSxHQUFHLENBQUMsQ0FBQzt3QkFDbkMsQ0FBQztxQkFDSixDQUFDLENBQUM7aUJBQ047cUJBQU07b0JBQ0gsR0FBRyxDQUFDLFVBQVUsR0FBRyxJQUFJLENBQUM7b0JBQ3RCLEdBQUcsQ0FBQyxtQkFBbUIsR0FBRyxJQUFJLENBQUM7b0JBQy9CLFFBQVEsYUFBUixRQUFRLHVCQUFSLFFBQVEsQ0FBRyxHQUFHLENBQUMsVUFBVSxFQUFFLEdBQUcsQ0FBQyxtQkFBbUIsRUFBRTtvQkFDcEQsT0FBTyxDQUFDLEdBQUcsQ0FBQyxrREFBa0QsQ0FBQyxDQUFDO2lCQUNuRTtZQUNMLENBQUMsQ0FBQTtZQUlELElBQUksQ0FBQyxHQUFHLENBQUMsVUFBVSxFQUFFO2dCQUNqQixhQUFhLEVBQUUsQ0FBQzthQUNuQjtpQkFBTTtnQkFDSCxJQUFJLFFBQVEsRUFBRSxFQUFFO29CQUNaLFlBQVk7b0JBQ1osRUFBRSxDQUFDLFlBQVksQ0FBQzt3QkFDWixPQUFPOzRCQUNILE9BQU8sQ0FBQyxHQUFHLENBQUMscUNBQXFDLEVBQUUsR0FBRyxDQUFDLFVBQVUsQ0FBQyxDQUFDOzRCQUNuRSxRQUFRLGFBQVIsUUFBUSx1QkFBUixRQUFRLENBQUcsR0FBRyxDQUFDLFVBQVUsRUFBRSxHQUFHLENBQUMsbUJBQW1CLEVBQUU7d0JBQ3hELENBQUM7d0JBQ0QsSUFBSTs0QkFDQSxPQUFPLENBQUMsR0FBRyxDQUFDLGlCQUFpQixDQUFDLENBQUM7NEJBQy9CLGFBQWEsRUFBRSxDQUFDO3dCQUNwQixDQUFDO3FCQUNKLENBQUMsQ0FBQztpQkFDTjtxQkFBTSxJQUFJLFdBQVcsRUFBRSxFQUFFO29CQUN0QixZQUFZO29CQUNaLEVBQUUsQ0FBQyxZQUFZLENBQUM7d0JBQ1osT0FBTzs0QkFDSCxPQUFPLENBQUMsR0FBRyxDQUFDLDBDQUF3QyxHQUFHLENBQUMsVUFBVSxVQUFLLEdBQUcsQ0FBQyxtQkFBcUIsQ0FBQyxDQUFDOzRCQUNsRyxRQUFRLGFBQVIsUUFBUSx1QkFBUixRQUFRLENBQUcsR0FBRyxDQUFDLFVBQVUsRUFBRSxHQUFHLENBQUMsbUJBQW1CLEVBQUU7d0JBQ3hELENBQUM7d0JBQ0QsSUFBSTs0QkFDQSxPQUFPLENBQUMsR0FBRyxDQUFDLGlCQUFpQixDQUFDLENBQUM7NEJBQy9CLGFBQWEsRUFBRSxDQUFDO3dCQUNwQixDQUFDO3FCQUNKLENBQUMsQ0FBQztpQkFFTjtxQkFBTTtvQkFDSCxPQUFPLENBQUMsR0FBRyxDQUFDLG9DQUFvQyxDQUFDLENBQUM7b0JBQ2xELFFBQVEsYUFBUixRQUFRLHVCQUFSLFFBQVEsQ0FBRyxJQUFJLEVBQUUsSUFBSSxFQUFFO2lCQUMxQjthQUNKO1FBQ0wsQ0FBQztRQUVEOzs7OztXQUtHO1FBQ0ksMkJBQXVCLEdBQTlCLFVBQStCLFFBQTRCLEVBQUUsSUFBWSxFQUFFLElBQVE7WUFDL0UsSUFBSSxDQUFDLFFBQVEsRUFBRSxFQUFFO2dCQUNiLE9BQU8sQ0FBQyxHQUFHLENBQUMsMERBQTBELENBQUMsQ0FBQztnQkFDeEUsT0FBTzthQUNWO1lBRUQsSUFBSSxDQUFDLEtBQUssQ0FBQyxVQUFDLElBQVksRUFBRSxhQUFxQjtnQkFDM0MsSUFBSSxDQUFDLEdBQUcsQ0FBQywyQkFBMkIsRUFBRTtvQkFDbEMsWUFBWTtvQkFDWixFQUFFLENBQUMsS0FBSyxDQUFDLElBQUksRUFBRSxDQUFDO29CQUNoQixHQUFHLENBQUMsMkJBQTJCLEdBQUcsSUFBSSxDQUFDO2lCQUMxQztnQkFDRCxZQUFZO2dCQUNaLEVBQUUsQ0FBQyxLQUFLLENBQUMsWUFBWSxDQUFDO29CQUNsQixJQUFJLEVBQUUsSUFBSTtvQkFDVixJQUFJLEVBQUUsSUFBSTtvQkFDVixPQUFPLEVBQUUsVUFBQyxHQUFRLFdBQUssUUFBUSxhQUFSLFFBQVEsdUJBQVIsUUFBUSxDQUFHLEdBQUcsSUFBQztvQkFDdEMsSUFBSSxFQUFFLFVBQUMsR0FBUTt3QkFDWCxPQUFPLENBQUMsR0FBRyxDQUFDLDhCQUE4QixFQUFFLEdBQUcsQ0FBQyxDQUFDO3dCQUNqRCxRQUFRLGFBQVIsUUFBUSx1QkFBUixRQUFRLENBQUcsSUFBSSxFQUFFO29CQUNyQixDQUFDO2lCQUNKLENBQUMsQ0FBQztZQUNQLENBQUMsQ0FBQyxDQUFDO1FBQ1AsQ0FBQztRQUVEOzs7O1dBSUc7UUFDSSx1QkFBbUIsR0FBMUIsVUFBMkIsR0FBVyxFQUFFLEtBQWE7WUFDakQsSUFBSSxRQUFRLEVBQUUsRUFBRTtnQkFDWixhQUFhO2dCQUNiLEVBQUUsQ0FBQyxtQkFBbUIsQ0FBQztvQkFDbkIsVUFBVSxFQUFFLENBQUMsRUFBRSxHQUFHLEVBQUUsR0FBRyxFQUFFLEtBQUssRUFBRSxLQUFLLEVBQUUsQ0FBQztvQkFDeEMsT0FBTyxFQUFFLGNBQU0sT0FBQSxPQUFPLENBQUMsR0FBRyxDQUFDLCtCQUE2QixHQUFHLGdCQUFXLEtBQU8sQ0FBQyxFQUEvRCxDQUErRDtvQkFDOUUsSUFBSSxFQUFFLFVBQUMsR0FBUSxJQUFLLE9BQUEsT0FBTyxDQUFDLEdBQUcsQ0FBQywwQkFBMEIsRUFBRSxHQUFHLENBQUMsRUFBNUMsQ0FBNEM7aUJBQ25FLENBQUMsQ0FBQzthQUNOO1lBRUQsSUFBSSxXQUFXLEVBQUUsRUFBRTtnQkFDZixhQUFhO2dCQUNiLEVBQUUsQ0FBQyxtQkFBbUIsQ0FBQztvQkFDbkIsVUFBVSxFQUFFLENBQUMsRUFBRSxHQUFHLEVBQUUsR0FBRyxFQUFFLEtBQUssRUFBRSxLQUFLLEdBQUcsQ0FBQztvQkFDekMsT0FBTyxFQUFFLGNBQU0sT0FBQSxPQUFPLENBQUMsR0FBRyxDQUFDLCtCQUE2QixHQUFHLGdCQUFXLEtBQU8sQ0FBQyxFQUEvRCxDQUErRDtvQkFDOUUsSUFBSSxFQUFFLFVBQUMsR0FBUSxJQUFLLE9BQUEsT0FBTyxDQUFDLEdBQUcsQ0FBQywwQkFBMEIsRUFBRSxHQUFHLENBQUMsRUFBNUMsQ0FBNEM7aUJBQ25FLENBQUMsQ0FBQzthQUNOO1FBQ0wsQ0FBQztRQXpaYyxjQUFVLEdBQVcsSUFBSSxDQUFDO1FBQzFCLHVCQUFtQixHQUFXLElBQUksQ0FBQztRQUNuQywrQkFBMkIsR0FBWSxLQUFLLENBQUM7UUF3WmhFLFVBQUM7S0EzWkQsQUEyWkMsSUFBQTtJQTNaWSxlQUFHLE1BMlpmLENBQUE7SUFHRDs7T0FFRztJQUNIO1FBQUE7UUFtRkEsQ0FBQztRQWxGRzs7OztXQUlHO1FBQ0ksa0NBQWlCLEdBQXhCLFVBQXlCLFFBQW9DLEVBQUUsTUFBWTtZQUN2RSxJQUFJLENBQUMsV0FBVyxFQUFFLEVBQUU7Z0JBQ2hCLFFBQVEsYUFBUixRQUFRLHVCQUFSLFFBQVEsQ0FBRSxJQUFJLENBQUMsTUFBTSxFQUFFLEtBQUssRUFBRTtnQkFDOUIsT0FBTzthQUNWO1lBQ0QsYUFBYTtZQUNiLEVBQUUsQ0FBQyxNQUFNLENBQUMsVUFBQyxHQUFRO2dCQUNmLE9BQU8sQ0FBQyxHQUFHLENBQUMsb0JBQW9CLEVBQUUsR0FBRyxDQUFDLENBQUM7Z0JBQ3ZDLElBQUksR0FBRyxDQUFDLEtBQUssS0FBSyxRQUFRLEVBQUU7b0JBQ3hCLFFBQVEsYUFBUixRQUFRLHVCQUFSLFFBQVEsQ0FBRSxJQUFJLENBQUMsTUFBTSxFQUFFLElBQUksRUFBRTtvQkFDN0IsT0FBTyxDQUFDLEdBQUcsQ0FBQyxxQkFBcUIsQ0FBQyxDQUFDO2lCQUN0QztxQkFBTTtvQkFDSCxRQUFRLGFBQVIsUUFBUSx1QkFBUixRQUFRLENBQUUsSUFBSSxDQUFDLE1BQU0sRUFBRSxLQUFLLEVBQUU7b0JBQzlCLE9BQU8sQ0FBQyxHQUFHLENBQUMsaUNBQWlDLENBQUMsQ0FBQztpQkFDbEQ7WUFDTCxDQUFDLENBQUMsQ0FBQztZQUVILGFBQWE7WUFDYixJQUFJLE9BQU8sR0FBRyxFQUFFLENBQUMsb0JBQW9CLEVBQUUsQ0FBQztZQUN4QyxJQUFJLE9BQU8sSUFBSSxPQUFPLENBQUMsS0FBSyxLQUFLLFFBQVEsRUFBRTtnQkFDdkMsUUFBUSxhQUFSLFFBQVEsdUJBQVIsUUFBUSxDQUFFLElBQUksQ0FBQyxNQUFNLEVBQUUsSUFBSSxFQUFFO2FBQ2hDO1FBQ0wsQ0FBQztRQUVEOzs7OztXQUtHO1FBQ0ksNkJBQVksR0FBbkIsVUFBb0IsUUFBb0MsRUFBRSxNQUFZO1lBQ2xFLElBQUksQ0FBQyxXQUFXLEVBQUUsRUFBRTtnQkFDaEIsUUFBUSxhQUFSLFFBQVEsdUJBQVIsUUFBUSxDQUFFLElBQUksQ0FBQyxNQUFNLEVBQUUsS0FBSyxFQUFFO2dCQUM5QixPQUFPO2FBQ1Y7WUFFRCxZQUFZO1lBQ1osRUFBRSxDQUFDLFVBQVUsQ0FBQztnQkFDVixLQUFLLEVBQUUsU0FBUztnQkFDaEIsT0FBTyxFQUFFLFVBQUMsR0FBUTtvQkFDZCxPQUFPLENBQUMsR0FBRyxDQUFDLHVCQUF1QixFQUFFLEdBQUcsQ0FBQyxPQUFPLENBQUMsQ0FBQztvQkFDbEQsUUFBUSxhQUFSLFFBQVEsdUJBQVIsUUFBUSxDQUFFLElBQUksQ0FBQyxNQUFNLEVBQVcsR0FBRyxDQUFDLE9BQU8sRUFBRTtnQkFFakQsQ0FBQztnQkFDRCxJQUFJLEVBQUUsVUFBQyxHQUFRO29CQUNYLE9BQU8sQ0FBQyxHQUFHLENBQUMsbUJBQW1CLEVBQUUsR0FBRyxDQUFDLENBQUM7b0JBQ3RDLFFBQVEsYUFBUixRQUFRLHVCQUFSLFFBQVEsQ0FBRSxJQUFJLENBQUMsTUFBTSxFQUFFLEtBQUssRUFBRTtnQkFDbEMsQ0FBQzthQUNKLENBQUMsQ0FBQztRQUNQLENBQUM7UUFFRDs7Ozs7V0FLRztRQUNJLGtDQUFpQixHQUF4QixVQUF5QixRQUFvQyxFQUFFLE1BQVk7WUFDdkUsSUFBSSxDQUFDLFdBQVcsRUFBRSxFQUFFO2dCQUNoQixPQUFPLENBQUMsR0FBRyxDQUFDLHNCQUFzQixDQUFDLENBQUM7Z0JBQ3BDLFFBQVEsYUFBUixRQUFRLHVCQUFSLFFBQVEsQ0FBRSxJQUFJLENBQUMsTUFBTSxFQUFFLEtBQUssRUFBRTtnQkFDOUIsT0FBTzthQUNWO1lBRUQsYUFBYTtZQUNiLEVBQUUsQ0FBQyxlQUFlLENBQUM7Z0JBQ2YsS0FBSyxFQUFFLFNBQVM7Z0JBQ2hCLE9BQU8sRUFBRTtvQkFDTCxPQUFPLENBQUMsR0FBRyxDQUFDLGtCQUFrQixDQUFDLENBQUM7b0JBQ2hDLFFBQVEsYUFBUixRQUFRLHVCQUFSLFFBQVEsQ0FBRSxJQUFJLENBQUMsTUFBTSxFQUFFLElBQUksRUFBRTtnQkFDakMsQ0FBQztnQkFDRCxJQUFJLEVBQUUsVUFBQyxHQUFRO29CQUNYLE9BQU8sQ0FBQyxHQUFHLENBQUMseUJBQXlCLEVBQUUsR0FBRyxDQUFDLENBQUM7b0JBQzVDLFFBQVEsYUFBUixRQUFRLHVCQUFSLFFBQVEsQ0FBRSxJQUFJLENBQUMsTUFBTSxFQUFFLEtBQUssRUFBRTtnQkFDbEMsQ0FBQzthQUNKLENBQUMsQ0FBQztRQUNQLENBQUM7UUFDTCx1QkFBQztJQUFELENBbkZBLEFBbUZDLElBQUE7SUFuRlksNEJBQWdCLG1CQW1GNUIsQ0FBQTtBQUVMLENBQUMsRUFubENnQixXQUFXLEdBQVgsbUJBQVcsS0FBWCxtQkFBVyxRQW1sQzNCIiwiZmlsZSI6IiIsInNvdXJjZVJvb3QiOiIvIiwic291cmNlc0NvbnRlbnQiOlsiLyoqXHJcbiAqIOWwj+a4uOaIj+W5s+WPsFNES+W3peWFt+Wwgeijhe+8jOebruWJjeWPquaUr+aMgeW+ruS/oeWSjOaKlumfs+W5s+WPsFxyXG4gKi9cclxuZXhwb3J0IG5hbWVzcGFjZSBNaW5pR2FtZVNkayB7XHJcblxyXG4gICAgaW50ZXJmYWNlIElTaXplIHtcclxuICAgICAgICB3aWR0aDogbnVtYmVyO1xyXG4gICAgICAgIGhlaWdodDogbnVtYmVyO1xyXG4gICAgfVxyXG5cclxuICAgIGV4cG9ydCBpbnRlcmZhY2UgSVBvc2l0aW9uIHtcclxuICAgICAgICB0b3A6IG51bWJlcjtcclxuICAgICAgICBsZWZ0OiBudW1iZXI7XHJcbiAgICB9XHJcblxyXG4gICAgZXhwb3J0IGZ1bmN0aW9uIGlzV2VjaGF0KCk6IGJvb2xlYW4ge1xyXG4gICAgICAgIC8vQHRzLWlnbm9yZVxyXG4gICAgICAgIHJldHVybiB3aW5kb3cud3ggIT09IG51bGwgJiYgd2luZG93Lnd4ICE9PSB1bmRlZmluZWQ7XHJcbiAgICB9XHJcblxyXG4gICAgZXhwb3J0IGZ1bmN0aW9uIGlzQnl0ZWRhbmNlKCk6IGJvb2xlYW4ge1xyXG4gICAgICAgIC8vQHRzLWlnbm9yZVxyXG4gICAgICAgIHJldHVybiB3aW5kb3cudHQgIT09IG51bGwgJiYgd2luZG93LnR0ICE9PSB1bmRlZmluZWQ7XHJcbiAgICB9XHJcblxyXG4gICAgZnVuY3Rpb24gZ2V0U3lzV2luU2l6ZSgpOiBJU2l6ZSB7XHJcbiAgICAgICAgbGV0IHN5czogYW55O1xyXG4gICAgICAgIGlmIChpc1dlY2hhdCgpKSB7XHJcbiAgICAgICAgICAgIC8vIEB0cy1pZ25vcmVcclxuICAgICAgICAgICAgc3lzID0gd3guZ2V0U3lzdGVtSW5mb1N5bmMoKTtcclxuICAgICAgICB9IGVsc2UgaWYgKGlzQnl0ZWRhbmNlKCkpIHtcclxuICAgICAgICAgICAgLy8gQHRzLWlnbm9yZVxyXG4gICAgICAgICAgICBzeXMgPSB0dC5nZXRTeXN0ZW1JbmZvU3luYygpO1xyXG4gICAgICAgIH1cclxuXHJcbiAgICAgICAgbGV0IHNpemU6IElTaXplID0geyB3aWR0aDogMCwgaGVpZ2h0OiAwIH07XHJcbiAgICAgICAgaWYgKHN5cykge1xyXG4gICAgICAgICAgICBzaXplLndpZHRoID0gc3lzLndpbmRvd1dpZHRoO1xyXG4gICAgICAgICAgICBzaXplLmhlaWdodCA9IHN5cy53aW5kb3dIZWlnaHQ7XHJcbiAgICAgICAgfVxyXG5cclxuICAgICAgICByZXR1cm4gc2l6ZTtcclxuICAgIH1cclxuXHJcbiAgICAvKipcclxuICAgICAqIOaPkuWxj+W5v+WRiuOAguW+ruS/oeaKlumfs+mDveaUr+aMge+8gVxyXG4gICAgICovXHJcbiAgICBjbGFzcyBBREludGVyc3RpdGlhbCB7XHJcbiAgICAgICAgcHJpdmF0ZSBfYWRVaWQ6IHN0cmluZztcclxuICAgICAgICBwcml2YXRlIF9pbnRlcnN0aXRpYWw6IGFueTtcclxuXHJcbiAgICAgICAgZ2V0IGFkdWlkKCkge1xyXG4gICAgICAgICAgICByZXR1cm4gdGhpcy5fYWRVaWQ7XHJcbiAgICAgICAgfVxyXG5cclxuICAgICAgICBjb25zdHJ1Y3RvcihhZFVpZDogc3RyaW5nKSB7XHJcbiAgICAgICAgICAgIHRoaXMuX2FkVWlkID0gYWRVaWQ7XHJcbiAgICAgICAgfVxyXG5cclxuICAgICAgICBzaG93KCkge1xyXG4gICAgICAgICAgICAvLyBAdHMtaWdub3JlXHJcbiAgICAgICAgICAgIGlmIChpc1dlY2hhdCgpICYmICF3eC5jcmVhdGVJbnRlcnN0aXRpYWxBZCkge1xyXG4gICAgICAgICAgICAgICAgY29uc29sZS53YXJuKCd3ZWNoYXQgdW5zdXBwb3J0IGludGVyc3RpdGlhbCBBRCEnKTtcclxuICAgICAgICAgICAgICAgIHRoaXMuX2ludGVyc3RpdGlhbCA9IG51bGw7XHJcbiAgICAgICAgICAgICAgICByZXR1cm47XHJcbiAgICAgICAgICAgIH1cclxuXHJcbiAgICAgICAgICAgIC8vIEB0cy1pZ25vcmVcclxuICAgICAgICAgICAgaWYgKGlzQnl0ZWRhbmNlKCkgJiYgIXR0LmNyZWF0ZUludGVyc3RpdGlhbEFkKSB7XHJcbiAgICAgICAgICAgICAgICBjb25zb2xlLndhcm4oJ2J5dGVkYW5jZSB1bnN1cHBvcnQgaW50ZXJzdGl0aWFsIEFEIScpO1xyXG4gICAgICAgICAgICAgICAgdGhpcy5faW50ZXJzdGl0aWFsID0gbnVsbDtcclxuICAgICAgICAgICAgICAgIHJldHVybjtcclxuICAgICAgICAgICAgfVxyXG5cclxuXHJcbiAgICAgICAgICAgIGlmICh0aGlzLl9pbnRlcnN0aXRpYWwpIHtcclxuICAgICAgICAgICAgICAgIHRoaXMuX2ludGVyc3RpdGlhbC5sb2FkKCk7XHJcbiAgICAgICAgICAgIH0gZWxzZSB7XHJcbiAgICAgICAgICAgICAgICBpZiAoaXNXZWNoYXQoKSkge1xyXG4gICAgICAgICAgICAgICAgICAgIC8vIEB0cy1pZ25vcmVcclxuICAgICAgICAgICAgICAgICAgICB0aGlzLl9pbnRlcnN0aXRpYWwgPSB3eC5jcmVhdGVJbnRlcnN0aXRpYWxBZCh7IGFkVW5pdElkOiB0aGlzLl9hZFVpZCB9KTtcclxuICAgICAgICAgICAgICAgIH0gZWxzZSBpZiAoaXNCeXRlZGFuY2UoKSkge1xyXG4gICAgICAgICAgICAgICAgICAgIC8vIEB0cy1pZ25vcmVcclxuICAgICAgICAgICAgICAgICAgICB0aGlzLl9pbnRlcnN0aXRpYWwgPSB0dC5jcmVhdGVJbnRlcnN0aXRpYWxBZCh7IGFkVW5pdElkOiB0aGlzLl9hZFVpZCB9KTtcclxuICAgICAgICAgICAgICAgIH0gZWxzZSB7XHJcbiAgICAgICAgICAgICAgICAgICAgdGhpcy5faW50ZXJzdGl0aWFsID0gbnVsbDtcclxuICAgICAgICAgICAgICAgIH1cclxuXHJcbiAgICAgICAgICAgICAgICB0aGlzLl9pbnRlcnN0aXRpYWw/Lm9uTG9hZCgoKSA9PiB7XHJcbiAgICAgICAgICAgICAgICAgICAgY29uc29sZS5sb2coJ2xvYWQgaW50ZXJzdGl0aWFsIGFkIHN1Y2Nlc3MnKTtcclxuICAgICAgICAgICAgICAgICAgICB0aGlzLl9pbnRlcnN0aXRpYWwuc2hvdygpLmNhdGNoKChlcnI6IGFueSkgPT4ge1xyXG4gICAgICAgICAgICAgICAgICAgICAgICBjb25zb2xlLmxvZygnY2F0Y2ggaW50ZXJzdGl0aWFsIGFkIGVycm9yOicsIGVycik7XHJcbiAgICAgICAgICAgICAgICAgICAgfSk7XHJcbiAgICAgICAgICAgICAgICB9KTtcclxuXHJcbiAgICAgICAgICAgICAgICB0aGlzLl9pbnRlcnN0aXRpYWw/Lm9uRXJyb3IoKGVycjogYW55KSA9PiB7XHJcbiAgICAgICAgICAgICAgICAgICAgY29uc29sZS5sb2coJ2ludGVyc3RpdGlhbCBhZCBvbiBlcnJvcjonLCBlcnIpO1xyXG4gICAgICAgICAgICAgICAgfSk7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICAgICAgZGVzdG9yeSgpIHtcclxuICAgICAgICAgICAgdGhpcy5faW50ZXJzdGl0aWFsPy5kZXN0cm95KCk7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG5cclxuICAgIGNsYXNzIEFEQmFubmVyIHtcclxuICAgICAgICBwcml2YXRlIF9hZFVpZDogc3RyaW5nO1xyXG4gICAgICAgIHByaXZhdGUgX2Jhbm5lcjogYW55O1xyXG5cclxuICAgICAgICBnZXQgYWR1aWQoKSB7XHJcbiAgICAgICAgICAgIHJldHVybiB0aGlzLl9hZFVpZDtcclxuICAgICAgICB9XHJcblxyXG4gICAgICAgIC8qKlxyXG4gICAgICAgICAqIOaKlumfs+WSjOW+ruS/oemDveaUr+aMgVxyXG4gICAgICAgICAqIOaoquW5heW5v+WRiuOAgumihOS8sOWuveW6pum7mOiupOS4ujMwMO+8jOmihOS8sOmrmOW6puS4ujE0MOOAguWmguaenOS9oOS4jeehruWumuWwseaMiem7mOiupOWAvOadpeOAglxyXG4gICAgICAgICAqIEBwYXJhbSBhZFVpZCDlub/lkYpVSUTvvIzlkI7nq6/phY3nva5cclxuICAgICAgICAgKiBAcGFyYW0gaXNUb3Ag5piv5ZCm5Zyo5bGP5bmV6aG26YOo5bGV56S644CC5YaF6YOo5Lya6Ieq5Yqo5bGF5Lit6K6h566X5L2N572u44CCXHJcbiAgICAgICAgICogQHBhcmFtIGJhbm5lcldpZHRoIOaoquW5heW5v+WRiueahOmihOS8sOWuveW6puOAgum7mOiupDMwMFxyXG4gICAgICAgICAqIEBwYXJhbSBhdXRvU2hvdyDlub/lkYrliqDovb3lrozmiJDlkI7mmK/lkKbnq4vliLvmmL7npLrvvIzpu5jorqTkuLrkuI3mmL7npLpcclxuICAgICAgICAgKi9cclxuICAgICAgICBjb25zdHJ1Y3RvcihhZFVpZDogc3RyaW5nLCBwYXJhbTogYm9vbGVhbiB8IElQb3NpdGlvbiwgYmFubmVyV2lkdGg6IG51bWJlciA9IDMwMCwgYXV0b1Nob3c6IGJvb2xlYW4gPSBmYWxzZSkge1xyXG4gICAgICAgICAgICB0aGlzLl9hZFVpZCA9IGFkVWlkO1xyXG4gICAgICAgICAgICB0aGlzLmNyZWF0ZShhdXRvU2hvdywgYmFubmVyV2lkdGgsIHBhcmFtKTsgLy8g6buY6K6kMzAw5q+U6L6D5ZCI6YCCXHJcbiAgICAgICAgfVxyXG5cclxuICAgICAgICBwcml2YXRlIGNyZWF0ZShhdXRvU2hvdzogYm9vbGVhbiwgYmFubmVyV2lkdGg6IG51bWJlciwgcGFyYW06IGJvb2xlYW4gfCBJUG9zaXRpb24pIHtcclxuICAgICAgICAgICAgaWYgKCFpc1dlY2hhdCgpICYmICFpc0J5dGVkYW5jZSgpKSB7XHJcbiAgICAgICAgICAgICAgICB0aGlzLl9iYW5uZXIgPSBudWxsO1xyXG4gICAgICAgICAgICAgICAgcmV0dXJuO1xyXG4gICAgICAgICAgICB9XHJcblxyXG4gICAgICAgICAgICB0aGlzLmRlc3Ryb3koKTtcclxuXHJcbiAgICAgICAgICAgIGxldCB3aW5TaXplID0gZ2V0U3lzV2luU2l6ZSgpO1xyXG5cclxuICAgICAgICAgICAgbGV0IGhlaWdodCA9IGJhbm5lcldpZHRoICogMC40O1xyXG4gICAgICAgICAgICBsZXQgdG9wID0gMCwgbGVmdCA9IDA7XHJcblxyXG4gICAgICAgICAgICBpZiAodHlwZW9mIHBhcmFtID09PSBcImJvb2xlYW5cIikge1xyXG4gICAgICAgICAgICAgICAgbGVmdCA9ICh3aW5TaXplLndpZHRoIC0gYmFubmVyV2lkdGgpIC8gMlxyXG4gICAgICAgICAgICAgICAgdG9wID0gcGFyYW0gPyA1IDogKHdpblNpemUuaGVpZ2h0IC0gaGVpZ2h0KTtcclxuICAgICAgICAgICAgfSBlbHNlIHtcclxuICAgICAgICAgICAgICAgIGxlZnQgPSBwYXJhbS5sZWZ0O1xyXG4gICAgICAgICAgICAgICAgdG9wID0gcGFyYW0udG9wO1xyXG4gICAgICAgICAgICB9XHJcblxyXG4gICAgICAgICAgICBsZXQgcGFyYW1zID0ge1xyXG4gICAgICAgICAgICAgICAgYWRVbml0SWQ6IHRoaXMuX2FkVWlkLFxyXG4gICAgICAgICAgICAgICAgYWRJbnRlcnZhbHM6IDMwLC8vIOiHquWKqOWIt+aWsOmikeeOh+S4jeiDveWwj+S6jjMw56eSXHJcbiAgICAgICAgICAgICAgICBzdHlsZTogeyBsZWZ0OiBsZWZ0LCB0b3A6IHRvcCwgd2lkdGg6IGJhbm5lcldpZHRoIH1cclxuICAgICAgICAgICAgfVxyXG5cclxuICAgICAgICAgICAgaWYgKGlzV2VjaGF0KCkpIHtcclxuICAgICAgICAgICAgICAgIC8vIEB0cy1pZ25vcmVcclxuICAgICAgICAgICAgICAgIHRoaXMuX2Jhbm5lciA9IHd4LmNyZWF0ZUJhbm5lckFkKHBhcmFtcyk7XHJcbiAgICAgICAgICAgIH0gZWxzZSBpZiAoaXNCeXRlZGFuY2UoKSkge1xyXG4gICAgICAgICAgICAgICAgLy8gQHRzLWlnbm9yZVxyXG4gICAgICAgICAgICAgICAgdGhpcy5fYmFubmVyID0gdHQuY3JlYXRlQmFubmVyQWQocGFyYW1zKTtcclxuICAgICAgICAgICAgfSBlbHNlIHtcclxuICAgICAgICAgICAgICAgIHRoaXMuX2Jhbm5lciA9IG51bGw7XHJcbiAgICAgICAgICAgIH1cclxuXHJcbiAgICAgICAgICAgIHRoaXMuX2Jhbm5lcj8ub25FcnJvcigoZXJyOiBhbnkpID0+IHtcclxuICAgICAgICAgICAgICAgIGNvbnNvbGUubG9nKCdhZCBiYW5uZXIgZXJyb3I6JywgZXJyKTtcclxuICAgICAgICAgICAgfSk7XHJcblxyXG4gICAgICAgICAgICB0aGlzLl9iYW5uZXI/Lm9uTG9hZCgoKSA9PiB7XHJcbiAgICAgICAgICAgICAgICBhdXRvU2hvdyAmJiB0aGlzLl9iYW5uZXIuc2hvdygpO1xyXG4gICAgICAgICAgICB9KTtcclxuICAgICAgICB9XHJcblxyXG4gICAgICAgIHNob3coKSB7XHJcbiAgICAgICAgICAgIHRoaXMuX2Jhbm5lcj8uc2hvdygpO1xyXG4gICAgICAgIH1cclxuXHJcbiAgICAgICAgaGlkZSgpIHtcclxuICAgICAgICAgICAgdGhpcy5fYmFubmVyPy5oaWRlKCk7XHJcbiAgICAgICAgfVxyXG5cclxuICAgICAgICBkZXN0cm95KCkge1xyXG4gICAgICAgICAgICB0aGlzLl9iYW5uZXI/LmRlc3Ryb3koKTtcclxuICAgICAgICB9XHJcbiAgICB9XHJcblxyXG4gICAgY2xhc3MgQURDdXN0b20ge1xyXG4gICAgICAgIHByaXZhdGUgX2FkVWlkOiBzdHJpbmc7XHJcbiAgICAgICAgcHJpdmF0ZSBfYWRDdXN0b206IGFueTtcclxuXHJcbiAgICAgICAgZ2V0IGFkdWlkKCkge1xyXG4gICAgICAgICAgICByZXR1cm4gdGhpcy5fYWRVaWQ7XHJcbiAgICAgICAgfVxyXG4gICAgICAgIC8qKlxyXG4gICAgICAgICAqIOeUseS6juWOn+eUn+aooeadv+W5v+WRiuWcqOW+ruS/oeacjeWKoeWQjuerr+WPr+S7peWumuWItuWuveW6puWkp+Wwj++8jOS4quaVsO+8jOe8qeaUvuavlOS+i+etie+8jOaJgOS7peS9jee9ruiwg+aVtOimgeagueaNruiuvue9rueahOWuveW6puadpeWumuOAguaKlumfs+S4jeaUr+aMge+8gVxyXG4gICAgICAgICAqIEBwYXJhbSBhZFVpZCDlub/lkYpVSUTvvIzlkI7nq6/phY3nva5cclxuICAgICAgICAgKiBAcGFyYW0gdG9wIOS7juW3puS4iuinkuW8gOWni++8jOi3neemu+Wxj+W5lemhtumDqOeahOi3neemu+OAguazqOaEj++8mui/meS4quaVsOaNruS4uuiuvuWkh+Wxj+W5leWuveW6pndpZHRo44CC5aaC5p6c6ZyA6KaB6I635Y+W5bGP5bmV55qE5YOP57Sg77yM6ZyA6KaB5LmY5Lul6K6+5aSH5YOP57Sg5q+UUGl4ZWwtUmF0aW/vvIzkvovlpoJpUGhvbmUgMTMgUHJv55qEUGl4ZWwtUmF0aW/kuLoz77yM5YOP57Sg5Li6V2lkdGgqM+OAglxyXG4gICAgICAgICAqIEBwYXJhbSBsZWZ0IOS7juW3puS4iuinkuW8gOWni++8jOi3neemu+Wxj+W5leacgOW3pui+ueeahOi3neemu+OAguazqOaEj++8mui/meS4quaVsOaNruS4uuiuvuWkh+Wxj+W5leWuveW6pndpZHRo44CC5aaC5p6c6ZyA6KaB6I635Y+W5bGP5bmV55qE5YOP57Sg77yM6ZyA6KaB5LmY5Lul6K6+5aSH5YOP57Sg5q+UUGl4ZWwtUmF0aW/vvIzkvovlpoJpUGhvbmUgMTMgUHJv55qEUGl4ZWwtUmF0aW/kuLoz77yM5YOP57Sg5Li6V2lkdGgqM+OAglxyXG4gICAgICAgICAqIEBwYXJhbSBzY2FsZSDljp/nlJ/mqKHmnb/lub/lkYrnmoTlsLrlr7jvvIzpu5jorqTkuLox77yM5Y2zMTAwJeOAguatpOWAvOWcqOW+ruS/oeacjeWKoeWQjuerr+W5v+WRiuS4reiOt+W+l++8jOm7mOiupOS4ujEwMCXvvIznm67liY3mnIkxMDAl77yMOTAl77yMODAl5LiJ56eN77yM5LiA6Iis5oOF5Ya15LiN55So5L+u5pS544CC6Iul5pyJ5L+u5pS577yM6K6w5b6X5Lyg5YWl5YC877yM5L6L5aaCOTAl5bCx5Lyg5YWlMC4544CCXHJcbiAgICAgICAgICovXHJcbiAgICAgICAgY29uc3RydWN0b3IoYWRVaWQ6IHN0cmluZywgdG9wOiBudW1iZXIgPSAwLCBsZWZ0OiBudW1iZXIgPSAwLCBzY2FsZTogbnVtYmVyID0gMS4wKSB7XHJcbiAgICAgICAgICAgIHRoaXMuX2FkVWlkID0gYWRVaWQ7XHJcbiAgICAgICAgICAgIHRoaXMuY3JlYXRlQ3VzdG9tQWQodG9wLCBsZWZ0LCBzY2FsZSk7XHJcbiAgICAgICAgfVxyXG5cclxuICAgICAgICBwcml2YXRlIGNyZWF0ZUN1c3RvbUFkKHRvcDogbnVtYmVyLCBsZWZ0OiBudW1iZXIsIHNjYWxlOiBudW1iZXIpIHtcclxuICAgICAgICAgICAgaWYgKCFpc1dlY2hhdCgpKSB7IC8vIG9ubHkgd2VjaGF0IHN1cHBvcnQgY3VzdG9tIGFkXHJcbiAgICAgICAgICAgICAgICB0aGlzLl9hZEN1c3RvbSA9IG51bGw7XHJcbiAgICAgICAgICAgICAgICBjb25zb2xlLmxvZygnT25seSB3ZWNoYXQgc3VwcG9ydCBDdXN0b20gQWQnKTtcclxuICAgICAgICAgICAgICAgIHJldHVybjtcclxuICAgICAgICAgICAgfVxyXG5cclxuICAgICAgICAgICAgdGhpcy5kZXN0cm95KCk7XHJcbiAgICAgICAgICAgIC8vIOWOn+eUn+aooeadvzXkuKrlupTnlKjlrr3luqbkuLozNzXvvIzoi6Xorr7nva7kuobnvKnmlL7mr5TkvovvvIzliJnlrr3luqbkuZ/pnIDopoHorr7nva5cclxuICAgICAgICAgICAgLy8gbGV0IHdpZHRoID0gMzc1ICogdGhpcy5fc2NhbGU7XHJcbiAgICAgICAgICAgIC8vIGxldCBuZXdMZWZ0ID0gKHN5cy53aW5kb3dXaWR0aCAtIHdpZHRoKSAvIDI7XHJcbiAgICAgICAgICAgIC8vIGxldCBuZXdUb3AgPSBzeXMud2luZG93SGVpZ2h0IC8gMjsgLy8gMTIw5piv6aKE5Lyw6auY5bqmXHJcblxyXG4gICAgICAgICAgICAvLyBAdHMtaWdub3JlXHJcbiAgICAgICAgICAgIHRoaXMuX2FkQ3VzdG9tID0gd3guY3JlYXRlQ3VzdG9tQWQoe1xyXG4gICAgICAgICAgICAgICAgYWRVbml0SWQ6IHRoaXMuX2FkVWlkLFxyXG4gICAgICAgICAgICAgICAgc3R5bGU6IHsgbGVmdDogbGVmdCwgdG9wOiB0b3AsIGZpeGVkOiB0cnVlIH1cclxuICAgICAgICAgICAgfSk7XHJcblxyXG4gICAgICAgICAgICB0aGlzLl9hZEN1c3RvbT8ub25FcnJvcigoZXJyOiBhbnkpID0+IHtcclxuICAgICAgICAgICAgICAgIGNvbnNvbGUubG9nKCdhZCBjdXN0b20gZXJyb3I6JywgZXJyKTtcclxuICAgICAgICAgICAgfSk7XHJcbiAgICAgICAgfVxyXG4gICAgICAgIHNob3coKSB7XHJcbiAgICAgICAgICAgIHRoaXMuX2FkQ3VzdG9tPy5zaG93KCk7XHJcbiAgICAgICAgfVxyXG5cclxuICAgICAgICBoaWRlKCkge1xyXG4gICAgICAgICAgICB0aGlzLl9hZEN1c3RvbT8uaGlkZSgpO1xyXG4gICAgICAgIH1cclxuXHJcbiAgICAgICAgZGVzdHJveSgpIHtcclxuICAgICAgICAgICAgdGhpcy5fYWRDdXN0b20/LmRlc3Ryb3koKTtcclxuICAgICAgICB9XHJcbiAgICB9XHJcblxyXG5cclxuICAgIC8qKlxyXG4gICAgICog6KeG6aKR5bm/5ZGK55So5oi354K55Ye76KGM5Li657uT5p6cXHJcbiAgICAgKi9cclxuICAgIGV4cG9ydCBlbnVtIEVBZFZpZGVvUmVzdWx0IHtcclxuICAgICAgICAvKipcclxuICAgICAgICAgKiDnlKjmiLfnnIvlrozkuoblub/lkYrvvIzmuLjmiI/lj6/lj5HmlL7lpZblirHjgIJcclxuICAgICAgICAgKi9cclxuICAgICAgICBBQ0NFUFQsXHJcblxyXG4gICAgICAgIC8qKlxyXG4gICAgICAgICAqIOeUqOaIt+S4remAlOWFs+mXreS6huW5v+WRiu+8jOWNs+acqueci+WujOeKtuaAgeOAguS4jeWPr+WPkeaUvuWlluWKseOAglxyXG4gICAgICAgICAqL1xyXG4gICAgICAgIFJFSkVDVCxcclxuXHJcbiAgICAgICAgLyoqXHJcbiAgICAgICAgICog5bm/5ZGK57uE5Lu25YaF6YOo5Y+R55Sf5LqG6ZSZ6K+v44CC5LiN5Y+v5Y+R5pS+5aWW5Yqx44CCXHJcbiAgICAgICAgICovXHJcbiAgICAgICAgRVJST1IsXHJcbiAgICB9XHJcblxyXG4gICAgY2xhc3MgQURWaWRlbyB7XHJcbiAgICAgICAgcHJpdmF0ZSBfYWRVaWQ6IHN0cmluZztcclxuICAgICAgICBwcml2YXRlIF9hZFZpZGVvOiBhbnkgPSBudWxsO1xyXG5cclxuICAgICAgICBnZXQgYWR1aWQoKSB7XHJcbiAgICAgICAgICAgIHJldHVybiB0aGlzLl9hZFVpZDtcclxuICAgICAgICB9XHJcblxyXG4gICAgICAgIGNvbnN0cnVjdG9yKGFkVWlkOiBzdHJpbmcpIHtcclxuICAgICAgICAgICAgdGhpcy5fYWRVaWQgPSBhZFVpZDtcclxuICAgICAgICB9XHJcblxyXG4gICAgICAgIC8qKlxyXG4gICAgICAgICAqIOeUseS6juW+ruS/oeWSjOaKlumfs+inhumikeW5v+WRiuacuuWItuS4jeWQjO+8jOW+ruS/oeWPr+S7peeci+eahOinhumikeW5v+WRiuS4quaVsOWPquaciTDlkowx5Liq77yM5oqW6Z+z5bmz5Y+w5YiZ5Y+v5Lul55yLMH5tYXhWaWRlb0NvdW50XHJcbiAgICAgICAgICogQHBhcmFtIG9uUmVzdWx0IOS4pOS4quWPguaVsO+8muesrOS4gOS4qnJlc+aYr0VBZFZpZGVvUmVzdWx05a6a5LmJ77yM56ys5LqMY291bnTmmK/nlKjmiLfnnIvkuoblpJrlsJHkuKrop4bpopHlub/lkYrjgIJcclxuICAgICAgICAgKiBAcGFyYW0gdGFyZ2V0IG9uUmVzdWx055qE5oul5pyJ6ICFXHJcbiAgICAgICAgICogQHBhcmFtIG1heFZpZGVvQ291bnQg5Y+v5Lul6L+e57ut55yL5pyA5aSn6KeG6aKR5Liq5pWw77yM5Y+v5pyA5aSn5YyW5ZWG5Lia5pWI546H44CC6buY6K6k5Li6M+S4quOAglxyXG4gICAgICAgICAqIEByZXR1cm5zIFxyXG4gICAgICAgICAqL1xyXG4gICAgICAgIHNob3cob25SZXN1bHQ6IChyZXM6IEVBZFZpZGVvUmVzdWx0LCBjb3VudDogbnVtYmVyKSA9PiB2b2lkLCB0YXJnZXQ/OiBhbnksIG1heFZpZGVvQ291bnQ6IG51bWJlciA9IDMpOiB2b2lkIHtcclxuICAgICAgICAgICAgbGV0IGNhbGxiYWNrID0gKHN0YXRlOiBFQWRWaWRlb1Jlc3VsdCwgY291bnQ6IG51bWJlcikgPT4ge1xyXG4gICAgICAgICAgICAgICAgb25SZXN1bHQ/LmNhbGwodGFyZ2V0LCBzdGF0ZSwgY291bnQpO1xyXG4gICAgICAgICAgICB9XHJcblxyXG4gICAgICAgICAgICBpZiAoIWlzV2VjaGF0KCkgJiYgIWlzQnl0ZWRhbmNlKCkpIHtcclxuICAgICAgICAgICAgICAgIGNhbGxiYWNrKEVBZFZpZGVvUmVzdWx0LkFDQ0VQVCwgMSk7XHJcbiAgICAgICAgICAgICAgICB0aGlzLl9hZFZpZGVvID0gbnVsbDtcclxuICAgICAgICAgICAgICAgIHJldHVybjtcclxuICAgICAgICAgICAgfVxyXG5cclxuICAgICAgICAgICAgbGV0IG9uQWRWaWRlb0Nsb3NlZCA9IChyZXM6IGFueSkgPT4ge1xyXG4gICAgICAgICAgICAgICAgdGhpcy5fYWRWaWRlbz8ub2ZmQ2xvc2Uob25BZFZpZGVvQ2xvc2VkKTtcclxuICAgICAgICAgICAgICAgIGlmIChpc1dlY2hhdCgpKSB7XHJcbiAgICAgICAgICAgICAgICAgICAgaWYgKHJlcyAmJiByZXMuaXNFbmRlZCB8fCByZXMgPT09IHVuZGVmaW5lZCkge1xyXG4gICAgICAgICAgICAgICAgICAgICAgICBjYWxsYmFjayhFQWRWaWRlb1Jlc3VsdC5BQ0NFUFQsIDEpO1xyXG4gICAgICAgICAgICAgICAgICAgIH0gZWxzZSB7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIGNhbGxiYWNrKEVBZFZpZGVvUmVzdWx0LlJFSkVDVCwgMCk7XHJcbiAgICAgICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgfSBlbHNlIGlmIChpc0J5dGVkYW5jZSgpKSB7XHJcbiAgICAgICAgICAgICAgICAgICAgbGV0IHJlc0NvbnZlcnRlZCA9IHJlcyBhcyB7IGlzRW5kZWQ6IGJvb2xlYW4sIGNvdW50OiBudW1iZXIgfTtcclxuICAgICAgICAgICAgICAgICAgICBpZiAocmVzQ29udmVydGVkICYmIHJlc0NvbnZlcnRlZC5jb3VudCA+IDApIHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgY2FsbGJhY2soRUFkVmlkZW9SZXN1bHQuQUNDRVBULCByZXNDb252ZXJ0ZWQuY291bnQpO1xyXG4gICAgICAgICAgICAgICAgICAgIH0gZWxzZSB7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIGNhbGxiYWNrKEVBZFZpZGVvUmVzdWx0LlJFSkVDVCwgMCk7XHJcbiAgICAgICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICB9XHJcblxyXG4gICAgICAgICAgICB0aGlzLl9hZFZpZGVvPy5vZmZDbG9zZShvbkFkVmlkZW9DbG9zZWQpO1xyXG5cclxuICAgICAgICAgICAgaWYgKGlzV2VjaGF0KCkpIHtcclxuICAgICAgICAgICAgICAgIC8vIEB0cy1pZ25vcmVcclxuICAgICAgICAgICAgICAgIHRoaXMuX2FkVmlkZW8gPSB3eC5jcmVhdGVSZXdhcmRlZFZpZGVvQWQoe1xyXG4gICAgICAgICAgICAgICAgICAgIGFkVW5pdElkOiB0aGlzLl9hZFVpZFxyXG4gICAgICAgICAgICAgICAgfSk7XHJcbiAgICAgICAgICAgIH0gZWxzZSBpZiAoaXNCeXRlZGFuY2UoKSkge1xyXG4gICAgICAgICAgICAgICAgLy8gQHRzLWlnbm9yZVxyXG4gICAgICAgICAgICAgICAgdGhpcy5fYWRWaWRlbyA9IHR0LmNyZWF0ZVJld2FyZGVkVmlkZW9BZCh7XHJcbiAgICAgICAgICAgICAgICAgICAgYWRVbml0SWQ6IHRoaXMuX2FkVWlkLFxyXG4gICAgICAgICAgICAgICAgICAgIG11bHRpdG9uOiB0cnVlLFxyXG4gICAgICAgICAgICAgICAgICAgIG11bHRpdG9uUmV3YXJkTXNnOiBbJ+WkmjHmrKHlpZblirEnLCAn5YaN5aSa5LiA5qyh5aWW5YqxJywgJ+WGjeWkmuS4gOasoeWlluWKsSddLFxyXG4gICAgICAgICAgICAgICAgICAgIG11bHRpdG9uUmV3YXJkVGltZXM6IG1heFZpZGVvQ291bnQsXHJcbiAgICAgICAgICAgICAgICB9KTtcclxuICAgICAgICAgICAgfSBlbHNlIHtcclxuICAgICAgICAgICAgICAgIHRoaXMuX2FkVmlkZW8gPSBudWxsO1xyXG4gICAgICAgICAgICB9XHJcblxyXG5cclxuICAgICAgICAgICAgdGhpcy5fYWRWaWRlbz8ub25Mb2FkKCgpID0+IHtcclxuICAgICAgICAgICAgICAgIGNvbnNvbGUubG9nKCdBZCBsb2FkIHN1Y2Nlc3MnKTtcclxuICAgICAgICAgICAgfSk7XHJcblxyXG4gICAgICAgICAgICB0aGlzLl9hZFZpZGVvPy5vbkVycm9yKChlcnI6IHsgZXJyTXNnOiBzdHJpbmcsIGVyckNvZGU6IG51bWJlciB9KSA9PiB7XHJcbiAgICAgICAgICAgICAgICBjb25zb2xlLmxvZygnQWQgdmlkZW8gZXJyb3I6JywgZXJyKTtcclxuICAgICAgICAgICAgICAgIGNhbGxiYWNrKEVBZFZpZGVvUmVzdWx0LkVSUk9SLCAwKTtcclxuICAgICAgICAgICAgfSk7XHJcblxyXG4gICAgICAgICAgICB0aGlzLl9hZFZpZGVvPy5vbkNsb3NlKG9uQWRWaWRlb0Nsb3NlZCk7XHJcblxyXG4gICAgICAgICAgICB0aGlzLl9hZFZpZGVvPy5zaG93KCkuY2F0Y2goKCkgPT4ge1xyXG4gICAgICAgICAgICAgICAgdGhpcy5fYWRWaWRlbz8ubG9hZCgpLnRoZW4oKCkgPT5cclxuICAgICAgICAgICAgICAgICAgICB0aGlzLl9hZFZpZGVvPy5zaG93KCkpLmNhdGNoKChlcnI6IHsgZXJyTXNnOiBzdHJpbmcsIGVyckNvZGU6IG51bWJlciB9KSA9PiB7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIGNvbnNvbGUubG9nKCdDYXRjaCB2aWRlbyBhZCBlcnJvcjonLCBlcnIpO1xyXG4gICAgICAgICAgICAgICAgICAgICAgICBjYWxsYmFjayhFQWRWaWRlb1Jlc3VsdC5FUlJPUiwgMCk7XHJcbiAgICAgICAgICAgICAgICAgICAgfSk7XHJcbiAgICAgICAgICAgIH0pO1xyXG4gICAgICAgIH1cclxuXHJcbiAgICAgICAgZGVzdG9yeSgpIHtcclxuICAgICAgICAgICAgdGhpcy5fYWRWaWRlbz8uZGVzdG9yeSgpO1xyXG4gICAgICAgIH1cclxuICAgIH1cclxuXHJcbiAgICBleHBvcnQgZW51bSBFQWRCYW5uZXJMb2NhdGlvbiB7XHJcbiAgICAgICAgLyoqXHJcbiAgICAgICAgICog5bGP5bmV6aG26YOoXHJcbiAgICAgICAgICovXHJcbiAgICAgICAgVE9QLFxyXG5cclxuICAgICAgICAvKipcclxuICAgICAgICAgKiDlsY/luZXlupXpg6hcclxuICAgICAgICAgKi9cclxuICAgICAgICBCT1RUT00sXHJcbiAgICB9XHJcblxyXG4gICAgZXhwb3J0IGNsYXNzIEFkdmVydE1hbmFnZXIge1xyXG5cclxuICAgICAgICBwcml2YXRlIHN0YXRpYyBfaW5zdGFuY2U6IEFkdmVydE1hbmFnZXI7XHJcblxyXG4gICAgICAgIHN0YXRpYyBnZXQgaW5zdGFuY2UoKTogQWR2ZXJ0TWFuYWdlciB7XHJcbiAgICAgICAgICAgIGlmICghQWR2ZXJ0TWFuYWdlci5faW5zdGFuY2UpIHtcclxuICAgICAgICAgICAgICAgIEFkdmVydE1hbmFnZXIuX2luc3RhbmNlID0gbmV3IEFkdmVydE1hbmFnZXIoKTtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICByZXR1cm4gQWR2ZXJ0TWFuYWdlci5faW5zdGFuY2U7XHJcbiAgICAgICAgfVxyXG5cclxuICAgICAgICBwcml2YXRlIF92aWRlbzogQURWaWRlbztcclxuICAgICAgICBwcml2YXRlIF9pbnRlcnN0aXRpYWw6IEFESW50ZXJzdGl0aWFsO1xyXG4gICAgICAgIHByaXZhdGUgX2Jhbm5lcjogQURCYW5uZXI7XHJcbiAgICAgICAgcHJpdmF0ZSBfY3VzdG9tczogUmVjb3JkPHN0cmluZywgQURDdXN0b20+ID0ge307XHJcblxyXG4gICAgICAgIHByaXZhdGUgY29uc3RydWN0b3IoKSB7XHJcblxyXG4gICAgICAgIH1cclxuXHJcbiAgICAgICAgLyoqXHJcbiAgICAgICAgICog6aKE5Yqg6L295qiq5bmF5bm/5ZGK77yM5LiN5Lya5pi+56S644CC5Y+q5pyJ5L2g5Zyo6LCD55Soc2hvd0Jhbm5lcuaXtuaJjeS8muaYvuekuuOAglxyXG4gICAgICAgICAqIOWPr+mHjeWkjeiwg+eUqO+8jOS9huaYr+S8mumUgOavgeS4iuS4gOasoeeahOWunuS+i+OAguS4gOiIrOaDheWGte+8jOWFqOWxgOacieS4gOS4quWwseihjOS6hu+8jOWkquWkmuWNoOeUqOWGheWtmO+8jOiAjOS4lOayoeW/heimgeOAglxyXG4gICAgICAgICAqIEBwYXJhbSBhZFVpZCDlub/lkYpVSURcclxuICAgICAgICAgKiBAcGFyYW0gbG9jYXRpb24g5L2N572u5pyJ5Lik56eN5oOF5Ya177yaMeOAgeWPr+S7peS8oOWFpeaemuS4vuWAvO+8jOm7mOiupOS4iuaWuTsgMuOAgeWPr+S7peiHquWumuS5ieS9jee9ruS8oOWFpUlQb3NpdGlvbu+8jOazqOaEj0lQb3NpdGlvbuS4reeahHRvcOWSjGxlZnTot5/lubPlj7DnmoR0b3AsbGVmdOaYr+S4gOiHtO+8iOayoeacieS5mOS7peiuvuWkh+WDj+e0oOavlHJhdGlv77yJ77yM6ZyA6KaB5byA5Y+R6ICF6Ieq5bex6LCD6K+V5L2N572uXHJcbiAgICAgICAgICogQHBhcmFtIHNjYWxlIOm7mOiupOS4uui3n+Wxj+W5leS4gOagt+eahOWuveW6pu+8jOWPr+S7pemAmui/h+iuvue9rue8qeaUvuavlOS+i+adpeiwg+aVtOWkp+Wwj+OAguW9k+eEtu+8jOW5s+WPsOacieinhOWumuacgOWkp+aIluacgOWwj+WuveW6pu+8jOWHveaVsOWGhemDqOS8muiHquWKqOiuoeeul+OAglxyXG4gICAgICAgICAqL1xyXG4gICAgICAgIHB1YmxpYyBsb2FkQmFubmVyKGFkVWlkOiBzdHJpbmcsIGxvY2F0aW9uOiBFQWRCYW5uZXJMb2NhdGlvbiB8IElQb3NpdGlvbiA9IEVBZEJhbm5lckxvY2F0aW9uLlRPUCwgc2NhbGU6IG51bWJlciA9IDEuMCkge1xyXG4gICAgICAgICAgICB0aGlzLl9iYW5uZXI/LmRlc3Ryb3koKTtcclxuICAgICAgICAgICAgbGV0IHNpemU6IElTaXplID0gZ2V0U3lzV2luU2l6ZSgpO1xyXG4gICAgICAgICAgICAvLyDlvZMgc3R5bGUud2lkdGgg5bCP5LqOIDMwMCDml7bvvIzkvJrlj5bkvZwgMzAw44CCIOW9kyBzdHlsZS53aWR0aCDlpKfkuo7lsY/luZXlrr3luqbml7bvvIzkvJrlj5bkvZzlsY/luZXlrr3luqbjgIJcclxuICAgICAgICAgICAgbGV0IHdpZHRoID0gc2l6ZS53aWR0aCAqIHNjYWxlO1xyXG4gICAgICAgICAgICB3aWR0aCA9IHdpZHRoIDwgMzAwID8gMzAwIDogd2lkdGg7IC8vIOacgOWwj+WAvOefq+ato1xyXG4gICAgICAgICAgICB3aWR0aCA9IHdpZHRoID4gc2l6ZS53aWR0aCA/IHNpemUud2lkdGggOiB3aWR0aDsgLy/mnIDlpKflgLznn6vmraNcclxuICAgICAgICAgICAgdGhpcy5fYmFubmVyID0gdHlwZW9mIGxvY2F0aW9uID09PSAnbnVtYmVyJyA/IG5ldyBBREJhbm5lcihhZFVpZCwgbG9jYXRpb24gPT09IEVBZEJhbm5lckxvY2F0aW9uLlRPUCwgd2lkdGgsIGZhbHNlKSA6IG5ldyBBREJhbm5lcihhZFVpZCwgbG9jYXRpb24sIHdpZHRoLCBmYWxzZSk7XHJcbiAgICAgICAgfVxyXG5cclxuICAgICAgICAvKipcclxuICAgICAgICAgKiDmmL7npLrmqKrluYXlub/lkYpcclxuICAgICAgICAgKi9cclxuICAgICAgICBwdWJsaWMgc2hvd0Jhbm5lcigpIHtcclxuICAgICAgICAgICAgaWYgKHRoaXMuX2Jhbm5lcikge1xyXG4gICAgICAgICAgICAgICAgdGhpcy5fYmFubmVyLnNob3coKTtcclxuICAgICAgICAgICAgfSBlbHNlIHtcclxuICAgICAgICAgICAgICAgIGNvbnNvbGUud2FybignTWluaUdhbWVTREs6IGJhbm5lciBpcyBudWxsLCB5b3UgbXVzdCBjYWxsIGxvYWRCYW5uZXIoLi4uKSBmaXJzdCEnKTtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuXHJcbiAgICAgICAgLyoqXHJcbiAgICAgICAgICog6ZqQ6JeP5qiq5bmF5bm/5ZGKXHJcbiAgICAgICAgICovXHJcbiAgICAgICAgcHVibGljIGhpZGVCYW5uZXIoKSB7XHJcbiAgICAgICAgICAgIHRoaXMuX2Jhbm5lcj8uaGlkZSgpO1xyXG4gICAgICAgIH1cclxuXHJcbiAgICAgICAgLyoqXHJcbiAgICAgICAgICog5by55Ye65o+S5bGP5bm/5ZGKXHJcbiAgICAgICAgICogQHBhcmFtIGFkVWlkIOW5v+WRiuWNleWFg2lkXHJcbiAgICAgICAgICovXHJcbiAgICAgICAgcHVibGljIHNob3dJbnRlcnN0aXRpYWwoYWRVaWQ6IHN0cmluZykge1xyXG4gICAgICAgICAgICBpZiAodGhpcy5faW50ZXJzdGl0aWFsICYmIHRoaXMuX2ludGVyc3RpdGlhbC5hZHVpZCA9PT0gYWRVaWQpIHtcclxuICAgICAgICAgICAgICAgIHRoaXMuX2ludGVyc3RpdGlhbC5zaG93KCk7XHJcbiAgICAgICAgICAgIH0gZWxzZSB7XHJcbiAgICAgICAgICAgICAgICB0aGlzLl9pbnRlcnN0aXRpYWw/LmRlc3RvcnkoKTtcclxuICAgICAgICAgICAgICAgIHRoaXMuX2ludGVyc3RpdGlhbCA9IG5ldyBBREludGVyc3RpdGlhbChhZFVpZCk7XHJcbiAgICAgICAgICAgICAgICB0aGlzLl9pbnRlcnN0aXRpYWwuc2hvdygpO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG5cclxuICAgICAgICAvKipcclxuICAgICAgICAgKiDliqDovb3ljp/nlJ/mqKHmnb/lub/lkYrvvIzkuI3kvJrmmL7npLrjgILlj6rmnInkvaDlnKjosIPnlKhzaG93Q3VzdG9t5pe25omN5Lya5pi+56S644CCXHJcbiAgICAgICAgICog55Sx5LqO5Y6f55Sf5qih5p2/5bm/5ZGK5Zyo5b6u5L+h5pyN5Yqh5ZCO56uv5Y+v5Lul5a6a5Yi25a695bqm5aSn5bCP77yM5Liq5pWw77yM57yp5pS+5q+U5L6L562J77yM5omA5Lul5L2N572u6LCD5pW06KaB5qC55o2u6K6+572u55qE5a695bqm5p2l5a6a44CC5oqW6Z+z5LiN5pSv5oyB5pys5Ye95pWw77yM5Lya6LCD55So5peg5pWI77yBXHJcbiAgICAgICAgICogQHBhcmFtIGFkVWlkIOW5v+WRiklEXHJcbiAgICAgICAgICogQHBhcmFtIGxvY2F0aW9uIOS9jee9ruacieS4pOenjeaDheWGte+8mjHjgIHlj6/ku6XkvKDlhaXmnprkuL7lgLzvvIzpu5jorqTkuIrmlrk7IDLjgIHlj6/ku6Xoh6rlrprkuYnkvY3nva7kvKDlhaVJUG9zaXRpb27vvIzms6jmhI9JUG9zaXRpb27kuK3nmoR0b3DlkoxsZWZ06Lef5bmz5Y+w55qEdG9wLGxlZnTmmK/kuIDoh7TvvIjmsqHmnInkuZjku6Xorr7lpIflg4/ntKDmr5RyYXRpb++8ie+8jOmcgOimgeW8gOWPkeiAheiHquW3seiwg+ivleS9jee9rlxyXG4gICAgICAgICAqIEBwYXJhbSBzY2FsZSDnvKnmlL7mr5TkvovvvIzpu5jorqTmmK8x77yM5Y2z5LiN57yp5pS+44CC6L+Z5Liq57yp5pS+5bm25LiN5piv6Ieq5bex5aGr77yM6ICM5piv5qC55o2u5b6u5L+hTVDlkI7lj7DkvaDphY3nva7nmoTljp/nlJ/mqKHmnb/lub/lkYrnmoTnvKnmlL7mr5TkvovloavvvIznm67liY3mnIkxMDAl77yMOTAl77yMODAl5LiJ56eN77yM5LiA6Iis5oOF5Ya15LiN55So5L+u5pS544CC6Iul5pyJ5ZCO5Y+w5L+u5pS577yM6K6w5b6X5Lyg5YWl5YC877yM5L6L5aaCOTAl5bCx5Lyg5YWlMC4544CCXHJcbiAgICAgICAgICovXHJcbiAgICAgICAgcHVibGljIGxvYWRDdXN0b20oYWRVaWQ6IHN0cmluZywgbG9jYXRpb246IElQb3NpdGlvbiA9IHsgdG9wOiAwLCBsZWZ0OiAwIH0sIHNjYWxlOiBudW1iZXIgPSAxKSB7XHJcbiAgICAgICAgICAgIC8vIHRoaXMuX2N1c3RvbT8uZGVzdHJveSgpO1xyXG4gICAgICAgICAgICAvLyB0aGlzLl9jdXN0b20gPSBuZXcgQURDdXN0b20oYWRVaWQsIGxvY2F0aW9uLnRvcCwgbG9jYXRpb24ubGVmdCwgc2NhbGUpO1xyXG4gICAgICAgICAgICBpZiAodGhpcy5fY3VzdG9tc1thZFVpZF0pIHtcclxuICAgICAgICAgICAgICAgIGNvbnNvbGUubG9nKGAke2FkVWlkfSBoYXMgYmVlbiBsb2FkZWQuYCk7XHJcbiAgICAgICAgICAgICAgICByZXR1cm47XHJcbiAgICAgICAgICAgIH1cclxuXHJcbiAgICAgICAgICAgIHRoaXMuX2N1c3RvbXNbYWRVaWRdID0gbmV3IEFEQ3VzdG9tKGFkVWlkLCBsb2NhdGlvbi50b3AsIGxvY2F0aW9uLmxlZnQsIHNjYWxlKTtcclxuICAgICAgICB9XHJcblxyXG4gICAgICAgIC8qKlxyXG4gICAgICAgICAqIOaYvuekuuiHquWumuS5ieW5v+WRiuOAglxyXG4gICAgICAgICAqIEBwYXJhbSBhZFVpZCDlub/lkYrnmoTllK/kuIDmoIfor4bnrKbjgILkvb/nlKjmraTmoIfor4bnrKbmnaXmn6Xmib7lkozmmL7npLrnibnlrprnmoToh6rlrprkuYnlub/lkYrjgIJcclxuICAgICAgICAgKiBcclxuICAgICAgICAgKiDmraTmlrnms5XlsJ3or5XmoLnmja7mj5DkvpvnmoRhZFVpZOaYvuekuuS4gOS4quiHquWumuS5ieW5v+WRiuOAguWmguaenOe7meWumueahGFkVWlk5a+55bqU55qE6Ieq5a6a5LmJ5bm/5ZGK5bey5Yqg6L2977yMXHJcbiAgICAgICAgICog5YiZ6LCD55So6K+l5bm/5ZGK55qE5pi+56S65pa55rOV44CC5aaC5p6c5bm/5ZGK5pyq5Yqg6L2977yM5YiZ5Zyo5o6n5Yi25Y+w6L6T5Ye66K2m5ZGK5L+h5oGv44CCXHJcbiAgICAgICAgICovXHJcbiAgICAgICAgcHVibGljIHNob3dDdXN0b20oYWRVaWQ6IHN0cmluZykge1xyXG4gICAgICAgICAgICBpZiAodGhpcy5fY3VzdG9tc1thZFVpZF0pIHtcclxuICAgICAgICAgICAgICAgIHRoaXMuX2N1c3RvbXNbYWRVaWRdLnNob3coKTtcclxuICAgICAgICAgICAgfSBlbHNlIHtcclxuICAgICAgICAgICAgICAgIGNvbnNvbGUud2FybihgWW91IGhhdmUgbm90IGxvYWQgJHthZFVpZH0gb2YgQ3VzdG9tIEFELCBjYW4gbm90IHNob3chYCk7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcblxyXG4gICAgICAgIC8qKlxyXG4gICAgICAgICAqIOmakOiXj+aMh+WumueahOiHquWumuS5ieW5v+WRiuWNleWFg1xyXG4gICAgICAgICAqIFxyXG4gICAgICAgICAqIOatpOaWueazleeUqOS6jumakOiXj+mAmui/h+W5v+WRiuWNleWFg+agh+ivhuespu+8iGFkVWlk77yJ5oyH5a6a55qE6Ieq5a6a5LmJ5bm/5ZGK44CC5aaC5p6c5oyH5a6a55qE5bm/5ZGK5Y2V5YWD5bey5Yqg6L295bm25pi+56S677yMXHJcbiAgICAgICAgICog5YiZ5bCG5YW26ZqQ6JeP77yb5aaC5p6c5bm/5ZGK5Y2V5YWD5pyq5Yqg6L2977yM5YiZ5Zyo5o6n5Yi25Y+w6L6T5Ye66K2m5ZGK5L+h5oGv44CCXHJcbiAgICAgICAgICogXHJcbiAgICAgICAgICogQHBhcmFtIGFkVWlkIOW5v+WRiuWNleWFg+agh+ivhuespu+8jOeUqOS6juWUr+S4gOagh+ivhuS4gOS4quiHquWumuS5ieW5v+WRiuWNleWFg+OAglxyXG4gICAgICAgICAqL1xyXG4gICAgICAgIHB1YmxpYyBoaWRlQ3VzdG9tKGFkVWlkOiBzdHJpbmcpIHtcclxuICAgICAgICAgICAgaWYgKHRoaXMuX2N1c3RvbXNbYWRVaWRdKSB7XHJcbiAgICAgICAgICAgICAgICB0aGlzLl9jdXN0b21zW2FkVWlkXS5oaWRlKCk7XHJcbiAgICAgICAgICAgIH0gZWxzZSB7XHJcbiAgICAgICAgICAgICAgICBjb25zb2xlLndhcm4oYFlvdSBoYXZlIG5vdCBsb2FkICR7YWRVaWR9IG9mIEN1c3RvbSBBRCwgY2FuIG5vdCBoaWRlIWApO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG5cclxuICAgICAgICAvKipcclxuICAgICAgICAgKiDnlLHkuo7lvq7kv6Hlkozmipbpn7Pop4bpopHlub/lkYrmnLrliLbkuI3lkIzvvIzlvq7kv6Hlj6/ku6XnnIvnmoTop4bpopHlub/lkYrkuKrmlbDlj6rmnIkw5ZKMMeS4qu+8jOaKlumfs+W5s+WPsOWImeWPr+S7peecizB+bWF4VmlkZW9Db3VudFxyXG4gICAgICAgICAqIEBwYXJhbSBhZFVpZCDlub/lkYpJROOAguWmguaenOS4juS4iuS4gOasoVVJROS4jeWQjO+8jOWImeWGhemDqOS8mumHjeaWsOWIm+W7uuWunuS+i+OAguW8gOWPkeiAheWujOWFqOS4jeeUqOWFs+W/g+i/meS4que7huiKguOAglxyXG4gICAgICAgICAqIEBwYXJhbSBvblZpZGVvUmVzdWx0IOS4pOS4quWPguaVsO+8muesrOS4gOS4qnJlc+aYr0VBZFZpZGVvUmVzdWx05a6a5LmJ77yM56ys5LqMY291bnTmmK/nlKjmiLfnnIvkuoblpJrlsJHkuKrop4bpopHlub/lkYrjgIIgXHJcbiAgICAgICAgICogQHBhcmFtIHRhcmdldCBvblZpZGVvUmVzdWx055qE5oul5pyJ6ICFXHJcbiAgICAgICAgICogQHBhcmFtIG1heFZpZGVvQ291bnQg5pyA5aSn6KeG6aKR5Liq5pWw44CC6buY6K6k5pivM++8jOS7heWvueaKlumfs+W5s+WPsOeUn+aViOOAguW+ruS/oeW5s+WPsOeci+WujOinhumikWNvdW5055qE57uT5p6c5rC46L+c5pivMeaIljBcclxuICAgICAgICAgKi9cclxuICAgICAgICBwdWJsaWMgc2hvd1ZpZGVvKGFkVWlkOiBzdHJpbmcsIG9uVmlkZW9SZXN1bHQ6IChyZXM6IEVBZFZpZGVvUmVzdWx0LCBjb3VudDogbnVtYmVyKSA9PiB2b2lkLCB0YXJnZXQ/OiBhbnksIG1heFZpZGVvQ291bnQ6IG51bWJlciA9IDMpIHtcclxuICAgICAgICAgICAgaWYgKHRoaXMuX3ZpZGVvICYmIHRoaXMuX3ZpZGVvLmFkdWlkID09PSBhZFVpZCkge1xyXG4gICAgICAgICAgICAgICAgdGhpcy5fdmlkZW8uc2hvdyhvblZpZGVvUmVzdWx0LCB0YXJnZXQsIG1heFZpZGVvQ291bnQpO1xyXG4gICAgICAgICAgICB9IGVsc2Uge1xyXG4gICAgICAgICAgICAgICAgdGhpcy5fdmlkZW8/LmRlc3RvcnkoKTtcclxuICAgICAgICAgICAgICAgIHRoaXMuX3ZpZGVvID0gbmV3IEFEVmlkZW8oYWRVaWQpO1xyXG4gICAgICAgICAgICAgICAgdGhpcy5fdmlkZW8uc2hvdyhvblZpZGVvUmVzdWx0LCB0YXJnZXQsIG1heFZpZGVvQ291bnQpO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG5cclxuICAgICAgICAvKipcclxuICAgICAgICAgKiDplIDmr4HlhoXpg6jmiYDmnInlrp7kvovvvIzmuIXnqbrlhoXlrZhcclxuICAgICAgICAgKi9cclxuICAgICAgICBwdWJsaWMgZGVzdHJveUFsbCgpIHtcclxuICAgICAgICAgICAgdGhpcy5fYmFubmVyPy5kZXN0cm95KCk7XHJcbiAgICAgICAgICAgIHRoaXMuX2Jhbm5lciA9IG51bGw7XHJcblxyXG4gICAgICAgICAgICB0aGlzLl9pbnRlcnN0aXRpYWw/LmRlc3RvcnkoKTtcclxuICAgICAgICAgICAgdGhpcy5faW50ZXJzdGl0aWFsID0gbnVsbDtcclxuXHJcbiAgICAgICAgICAgIHRoaXMuX3ZpZGVvPy5kZXN0b3J5KCk7XHJcbiAgICAgICAgICAgIHRoaXMuX3ZpZGVvID0gbnVsbDtcclxuXHJcbiAgICAgICAgICAgIGlmICh0aGlzLl9jdXN0b21zKSB7XHJcbiAgICAgICAgICAgICAgICBmb3IgKGxldCB2YWwgaW4gdGhpcy5fY3VzdG9tcykge1xyXG4gICAgICAgICAgICAgICAgICAgIHRoaXMuX2N1c3RvbXNbdmFsXT8uZGVzdHJveSgpO1xyXG4gICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgdGhpcy5fY3VzdG9tcyA9IHt9O1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG5cclxuICAgIGV4cG9ydCBlbnVtIEVHYW1lQ2x1Ykljb24ge1xyXG4gICAgICAgIC8qKiDnu7/oibLlm77moIcgKi9cclxuICAgICAgICBHUkVFTiA9ICdncmVlbicsXHJcblxyXG4gICAgICAgIC8qKiDnuqLoibLlm77moIcgKi9cclxuICAgICAgICBXSElURSA9ICd3aGl0ZScsXHJcblxyXG4gICAgICAgIC8qKiDmnInpu5HoibLlnIbop5Log4zmma/nmoTnmb3oibLlm77moIcgKi9cclxuICAgICAgICBEQVJLID0gJ2RhcmsnLFxyXG5cclxuICAgICAgICAvKiog5pyJ55m96Imy5ZyG6KeS6IOM5pmv55qE57u/6Imy5Zu+5qCHICovXHJcbiAgICAgICAgTElHSFQgPSAnbGlnaHQnXHJcbiAgICB9XHJcblxyXG4gICAgZXhwb3J0IGNsYXNzIEdhbWVDbHViIHtcclxuICAgICAgICBwcml2YXRlIHN0YXRpYyBfaW5zdGFuY2U6IEdhbWVDbHViO1xyXG5cclxuICAgICAgICBzdGF0aWMgZ2V0IGluc3RhbmNlKCk6IEdhbWVDbHViIHtcclxuICAgICAgICAgICAgaWYgKCF0aGlzLl9pbnN0YW5jZSkge1xyXG4gICAgICAgICAgICAgICAgdGhpcy5faW5zdGFuY2UgPSBuZXcgR2FtZUNsdWIoKTtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICByZXR1cm4gdGhpcy5faW5zdGFuY2U7XHJcbiAgICAgICAgfVxyXG5cclxuICAgICAgICBwcml2YXRlIF9jbHViOiBhbnk7XHJcblxyXG4gICAgICAgIHByaXZhdGUgY29uc3RydWN0b3IoKSB7XHJcblxyXG4gICAgICAgIH1cclxuXHJcbiAgICAgICAgLyoqXHJcbiAgICAgICAgICog5Yib5bu65ri45oiP5ZyI5oyJ6ZKuXHJcbiAgICAgICAgICogQHBhcmFtIGljb24gXHJcbiAgICAgICAgICogQHBhcmFtIHBvc2l0aW9uIFxyXG4gICAgICAgICAqIEBwYXJhbSBzaXplIFxyXG4gICAgICAgICAqIEBwYXJhbSBvcGVuTGluayBcclxuICAgICAgICAgKi9cclxuICAgICAgICBjcmVhdGUoaWNvbjogRUdhbWVDbHViSWNvbiA9IEVHYW1lQ2x1Ykljb24uR1JFRU4sIHBvc2l0aW9uOiBJUG9zaXRpb24gPSB7IHRvcDogMCwgbGVmdDogMCB9LCBzaXplOiBJU2l6ZSA9IHsgd2lkdGg6IDQwLCBoZWlnaHQ6IDQwIH0sIG9wZW5MaW5rPzogc3RyaW5nKSB7XHJcbiAgICAgICAgICAgIGlmIChpc1dlY2hhdCgpKSB7XHJcbiAgICAgICAgICAgICAgICAvLyBAdHMtaWdub3JlXHJcbiAgICAgICAgICAgICAgICB0aGlzLl9jbHViID0gd3guY3JlYXRlR2FtZUNsdWJCdXR0b24oe1xyXG4gICAgICAgICAgICAgICAgICAgIGljb246IGljb24sXHJcbiAgICAgICAgICAgICAgICAgICAgc3R5bGU6IHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgbGVmdDogcG9zaXRpb24ubGVmdCxcclxuICAgICAgICAgICAgICAgICAgICAgICAgdG9wOiBwb3NpdGlvbi50b3AsXHJcbiAgICAgICAgICAgICAgICAgICAgICAgIHdpZHRoOiBzaXplLndpZHRoLFxyXG4gICAgICAgICAgICAgICAgICAgICAgICBoZWlnaHQ6IHNpemUuaGVpZ2h0XHJcbiAgICAgICAgICAgICAgICAgICAgfSxcclxuICAgICAgICAgICAgICAgICAgICBvcGVubGluazogb3BlbkxpbmtcclxuICAgICAgICAgICAgICAgIH0pO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG5cclxuICAgICAgICBzaG93KCkge1xyXG4gICAgICAgICAgICB0aGlzLl9jbHViPy5zaG93KCk7XHJcbiAgICAgICAgfVxyXG5cclxuICAgICAgICBoaWRlKCkge1xyXG4gICAgICAgICAgICB0aGlzLl9jbHViPy5oaWRlKCk7XHJcbiAgICAgICAgfVxyXG5cclxuICAgICAgICBkZXN0b3J5KCkge1xyXG4gICAgICAgICAgICB0aGlzLl9jbHViPy5kZXN0cm95KCk7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG5cclxuXHJcbiAgICAvKipcclxuICAgICAqIOaMr+WKqOexu+Wei1xyXG4gICAgICovXHJcbiAgICBleHBvcnQgZW51bSBFVmlyYnJhdGVUeXBlIHtcclxuICAgICAgICAvKipcclxuICAgICAgICAgKiDnn63mjK/liqhcclxuICAgICAgICAgKi9cclxuICAgICAgICBTSE9SVCxcclxuXHJcbiAgICAgICAgLyoqXHJcbiAgICAgICAgICog6ZW/5oyv5YqoXHJcbiAgICAgICAgICovXHJcbiAgICAgICAgTE9OR1xyXG4gICAgfVxyXG5cclxuICAgIC8qKlxyXG4gICAgICog5bmz5Y+w5bi455SoQVBJ5ZCI6ZuGXHJcbiAgICAgKi9cclxuICAgIGV4cG9ydCBjbGFzcyBBUEkge1xyXG4gICAgICAgIHByaXZhdGUgc3RhdGljIF9sb2dpbkNvZGU6IHN0cmluZyA9IG51bGw7XHJcbiAgICAgICAgcHJpdmF0ZSBzdGF0aWMgX2xvZ2luQW5vbnltb3VzQ29kZTogc3RyaW5nID0gbnVsbDtcclxuICAgICAgICBwcml2YXRlIHN0YXRpYyBfaGFzSW5pdFdlY2hhdENsb3VkRnVuY3Rpb246IGJvb2xlYW4gPSBmYWxzZTtcclxuXHJcblxyXG4gICAgICAgIC8qKlxyXG4gICAgICAgICAqIOWIhuS6q2FwcOe7meaci+WPi++8jOW+ruS/oeWwj+a4uOaIj+WIhuS6q+aYr+ayoeaciW9uU3VjY2Vzc+Wbnuiwg+eahOOAglxyXG4gICAgICAgICAqIEBwYXJhbSB0aXRsZSDmoIfpophcclxuICAgICAgICAgKiBAcGFyYW0gZGVzY3JpcHRpb24g57uG6IqC5o+P6L+w5L+h5oGvIFxyXG4gICAgICAgICAqIEBwYXJhbSBpbWFnZVVybCDlm77niYflnLDlnYBcclxuICAgICAgICAgKiBAcGFyYW0gcXVlcnkg5p+l6K+i5L+h5oGvXHJcbiAgICAgICAgICogQHBhcmFtIG9uU3VjY2VzcyDmipbpn7PkvJrlm57osIPvvIzlvq7kv6HkuI3kvJrlm57osINcclxuICAgICAgICAgKi9cclxuICAgICAgICBzdGF0aWMgc2hhcmVBcHBUb0ZyaWVuZHModGl0bGU6IHN0cmluZywgZGVzY3JpcHRpb246IHN0cmluZyA9ICcnLCBpbWFnZVVybD86IHN0cmluZywgcXVlcnk/OiBzdHJpbmcsIG9uU3VjY2Vzcz86ICgpID0+IHZvaWQpIHtcclxuICAgICAgICAgICAgaWYgKGlzV2VjaGF0KCkpIHtcclxuICAgICAgICAgICAgICAgIHRyeSB7XHJcbiAgICAgICAgICAgICAgICAgICAgLy9AdHMtaWdub3JlXHJcbiAgICAgICAgICAgICAgICAgICAgd3guc2hhcmVBcHBNZXNzYWdlKHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgdGl0bGU6IHRpdGxlLFxyXG4gICAgICAgICAgICAgICAgICAgICAgICBpbWFnZVVybDogaW1hZ2VVcmwsXHJcbiAgICAgICAgICAgICAgICAgICAgICAgIHF1ZXJ5OiBxdWVyeSxcclxuICAgICAgICAgICAgICAgICAgICB9KTtcclxuICAgICAgICAgICAgICAgIH0gY2F0Y2ggKGVycikge1xyXG4gICAgICAgICAgICAgICAgICAgIGNvbnNvbGUubG9nKGBzaGFyZSBmYWlsZDogJHtlcnJ9YCk7XHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIH1cclxuXHJcbiAgICAgICAgICAgIGlmIChpc0J5dGVkYW5jZSgpKSB7XHJcbiAgICAgICAgICAgICAgICAvL0B0cy1pZ25vcmVcclxuICAgICAgICAgICAgICAgIHR0LnNoYXJlQXBwTWVzc2FnZSh7XHJcbiAgICAgICAgICAgICAgICAgICAgdGl0bGU6IHRpdGxlLFxyXG4gICAgICAgICAgICAgICAgICAgIGRlc2M6IGRlc2NyaXB0aW9uLFxyXG4gICAgICAgICAgICAgICAgICAgIGltYWdlVXJsOiBpbWFnZVVybCA/PyAnJyxcclxuICAgICAgICAgICAgICAgICAgICBxdWVyeTogcXVlcnkgPz8gJycsXHJcbiAgICAgICAgICAgICAgICAgICAgc3VjY2VzcyhyZXM6IGFueSkge1xyXG4gICAgICAgICAgICAgICAgICAgICAgICBjb25zb2xlLmxvZygnc2hhcmUgc3VjY2VzczonLCByZXMpO1xyXG4gICAgICAgICAgICAgICAgICAgICAgICBvblN1Y2Nlc3M/LigpO1xyXG4gICAgICAgICAgICAgICAgICAgIH0sXHJcbiAgICAgICAgICAgICAgICAgICAgZmFpbChyZXM6IGFueSkge1xyXG4gICAgICAgICAgICAgICAgICAgICAgICBjb25zb2xlLmxvZygnc2hhcmUgZmFpbDonLCByZXMpO1xyXG4gICAgICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgIH0pO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG5cclxuICAgICAgICAvKipcclxuICAgICAgICAgKiDmmL7npLrmj5DnpLrkv6Hmga9cclxuICAgICAgICAgKiBAcGFyYW0gdGl0bGUg5qCH6aKYXHJcbiAgICAgICAgICogQHBhcmFtIGR1cmF0aW9uIOaXtumVv++8iOWNleS9je+8muenku+8iVxyXG4gICAgICAgICAqIEByZXR1cm5zIFxyXG4gICAgICAgICAqL1xyXG4gICAgICAgIHN0YXRpYyBzaG93VG9hc3QodGl0bGU6IHN0cmluZywgZHVyYXRpb246IG51bWJlciA9IDIpIHtcclxuICAgICAgICAgICAgaWYgKGlzV2VjaGF0KCkpIHtcclxuICAgICAgICAgICAgICAgIC8vIEB0cy1pZ25vcmVcclxuICAgICAgICAgICAgICAgIHd4LnNob3dUb2FzdCh7XHJcbiAgICAgICAgICAgICAgICAgICAgdGl0bGU6IHRpdGxlLFxyXG4gICAgICAgICAgICAgICAgICAgIGljb246ICdzdWNjZXNzJyxcclxuICAgICAgICAgICAgICAgICAgICBkdXJhdGlvbjogZHVyYXRpb24gKiAxMDAwXHJcbiAgICAgICAgICAgICAgICB9KTtcclxuICAgICAgICAgICAgfVxyXG5cclxuICAgICAgICAgICAgaWYgKGlzQnl0ZWRhbmNlKCkpIHtcclxuICAgICAgICAgICAgICAgIC8vQHRzLWlnbm9yZVxyXG4gICAgICAgICAgICAgICAgdHQuc2hvd1RvYXN0KHtcclxuICAgICAgICAgICAgICAgICAgICB0aXRsZTogdGl0bGUsXHJcbiAgICAgICAgICAgICAgICAgICAgZHVyYXRpb246IGR1cmF0aW9uICogMTAwMCxcclxuICAgICAgICAgICAgICAgICAgICBzdWNjZXNzKHJlczogYW55KSB7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIGNvbnNvbGUubG9nKGAke3Jlc31gKTtcclxuICAgICAgICAgICAgICAgICAgICB9LFxyXG4gICAgICAgICAgICAgICAgICAgIGZhaWwocmVzOiBhbnkpIHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgY29uc29sZS5sb2coYHNob3dUb2FzdOiwg+eUqOWksei0pWApO1xyXG4gICAgICAgICAgICAgICAgICAgIH0sXHJcbiAgICAgICAgICAgICAgICB9KTtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuXHJcbiAgICAgICAgLyoqXHJcbiAgICAgICAgICog6K6+5aSH6ZyH5Yqo5pWI5p6c77yM6buY6K6k5Li655+t6ZyH5Yqo44CC5rOo5oSP77ya5Y+v6IO95LiA5Lqb5py65Z6L5LiN5Lya55Sf5pWI77yM5YW35L2T55yL5bmz5Y+w5pa555qE6K+05piOXHJcbiAgICAgICAgICogQHBhcmFtIHR5cGUgTWluaUdhbWVTZGsuQVBJLkVWaXJicmF0ZVR5cGVcclxuICAgICAgICAgKi9cclxuICAgICAgICBzdGF0aWMgdmlicmF0ZSh0eXBlOiBFVmlyYnJhdGVUeXBlID0gRVZpcmJyYXRlVHlwZS5TSE9SVCkge1xyXG4gICAgICAgICAgICBpZiAoaXNXZWNoYXQoKSkge1xyXG4gICAgICAgICAgICAgICAgc3dpdGNoICh0eXBlKSB7XHJcbiAgICAgICAgICAgICAgICAgICAgY2FzZSBFVmlyYnJhdGVUeXBlLlNIT1JUOlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAvL0B0cy1pZ25vcmVcclxuICAgICAgICAgICAgICAgICAgICAgICAgd3gudmlicmF0ZVNob3J0KHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN1Y2Nlc3MocmVzOiBhbnkpIHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb25zb2xlLmxvZygndmlicmF0ZSBzdWNjZXNzOicsIHJlcyk7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB9LFxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgZmFpbChyZXM6IGFueSkge1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnNvbGUubG9nKCd2aWJyYXRlU2hvcnQgZmFpbGVkJywgcmVzKTtcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0sXHJcbiAgICAgICAgICAgICAgICAgICAgICAgIH0pO1xyXG4gICAgICAgICAgICAgICAgICAgICAgICBicmVhaztcclxuICAgICAgICAgICAgICAgICAgICBjYXNlIEVWaXJicmF0ZVR5cGUuTE9ORzpcclxuICAgICAgICAgICAgICAgICAgICAgICAgLy9AdHMtaWdub3JlXHJcbiAgICAgICAgICAgICAgICAgICAgICAgIHd4LnZpYnJhdGVMb25nKHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN1Y2Nlc3MocmVzOiBhbnkpIHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb25zb2xlLmxvZygndmlicmF0ZSBzdWNjZXNzJywgcmVzKTtcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0sXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBmYWlsKHJlczogYW55KSB7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY29uc29sZS5sb2coYHZpYnJhdGVMb25nIGZhaWxlZGAsIHJlcyk7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB9LFxyXG4gICAgICAgICAgICAgICAgICAgICAgICB9KTtcclxuICAgICAgICAgICAgICAgICAgICAgICAgYnJlYWs7XHJcbiAgICAgICAgICAgICAgICAgICAgZGVmYXVsdDpcclxuICAgICAgICAgICAgICAgICAgICAgICAgYnJlYWs7XHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIH1cclxuXHJcbiAgICAgICAgICAgIGlmIChpc0J5dGVkYW5jZSgpKSB7XHJcbiAgICAgICAgICAgICAgICBzd2l0Y2ggKHR5cGUpIHtcclxuICAgICAgICAgICAgICAgICAgICBjYXNlIEVWaXJicmF0ZVR5cGUuU0hPUlQ6XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIC8vQHRzLWlnbm9yZVxyXG4gICAgICAgICAgICAgICAgICAgICAgICB0dC52aWJyYXRlU2hvcnQoe1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgc3VjY2VzcyhyZXM6IGFueSkge1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnNvbGUubG9nKCd2aWJyYXRlIHN1Y2Nlc3M6JywgcmVzKTtcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0sXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBmYWlsKHJlczogYW55KSB7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY29uc29sZS5sb2coJ3ZpYnJhdGVTaG9ydCBmYWlsZWQnLCByZXMpO1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgfSxcclxuICAgICAgICAgICAgICAgICAgICAgICAgfSk7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIGJyZWFrO1xyXG4gICAgICAgICAgICAgICAgICAgIGNhc2UgRVZpcmJyYXRlVHlwZS5MT05HOlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAvL0B0cy1pZ25vcmVcclxuICAgICAgICAgICAgICAgICAgICAgICAgdHQudmlicmF0ZUxvbmcoe1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgc3VjY2VzcyhyZXM6IGFueSkge1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnNvbGUubG9nKCd2aWJyYXRlIHN1Y2Nlc3MnLCByZXMpO1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgfSxcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGZhaWwocmVzOiBhbnkpIHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb25zb2xlLmxvZyhgdmlicmF0ZUxvbmcgZmFpbGVkYCwgcmVzKTtcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0sXHJcbiAgICAgICAgICAgICAgICAgICAgICAgIH0pO1xyXG4gICAgICAgICAgICAgICAgICAgICAgICBicmVhaztcclxuICAgICAgICAgICAgICAgICAgICBkZWZhdWx0OlxyXG4gICAgICAgICAgICAgICAgICAgICAgICBicmVhaztcclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuXHJcbiAgICAgICAgLyoqXHJcbiAgICAgICAgICog6YeN5ZCv5bCP5ri45oiPXHJcbiAgICAgICAgICovXHJcbiAgICAgICAgc3RhdGljIHJlYm9vdCgpIHtcclxuICAgICAgICAgICAgaWYgKGlzV2VjaGF0KCkpIHtcclxuICAgICAgICAgICAgICAgIC8vQHRzLWlnbm9yZVxyXG4gICAgICAgICAgICAgICAgd3gucmVzdGFydE1pbmlQcm9ncmFtKHtcclxuICAgICAgICAgICAgICAgICAgICBzdWNjZXNzOiAoKSA9PiB7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIGNvbnNvbGUubG9nKCdyZXN0YXJ0IHN1Y2Nlc3MnKTtcclxuICAgICAgICAgICAgICAgICAgICB9LFxyXG5cclxuICAgICAgICAgICAgICAgICAgICBmYWlsOiAoKSA9PiB7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIGNvbnNvbGUubG9nKCdyZXN0YXJ0IGZhaWxlZCcpO1xyXG4gICAgICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgIH0pXHJcbiAgICAgICAgICAgIH1cclxuXHJcbiAgICAgICAgICAgIGlmIChpc0J5dGVkYW5jZSgpKSB7XHJcbiAgICAgICAgICAgICAgICB0cnkge1xyXG4gICAgICAgICAgICAgICAgICAgIC8vIEB0cy1pZ25vcmVcclxuICAgICAgICAgICAgICAgICAgICB0dC5yZXN0YXJ0TWluaVByb2dyYW1TeW5jKCk7XHJcbiAgICAgICAgICAgICAgICB9IGNhdGNoIChlcnJvcikge1xyXG4gICAgICAgICAgICAgICAgICAgIGNvbnNvbGUubG9nKGByZXN0YXJ0TWluaVByb2dyYW1TeW5jYCwgZXJyb3IpO1xyXG4gICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG5cclxuICAgICAgICAvKipcclxuICAgICAgICAgKiDpgIDlh7rlsI/muLjmiI9cclxuICAgICAgICAgKi9cclxuICAgICAgICBzdGF0aWMgZXhpdCgpIHtcclxuICAgICAgICAgICAgaWYgKGlzV2VjaGF0KCkpIHtcclxuICAgICAgICAgICAgICAgIC8vQHRzLWlnbm9yZVxyXG4gICAgICAgICAgICAgICAgd3guZXhpdE1pbmlQcm9ncmFtKHtcclxuICAgICAgICAgICAgICAgICAgICBzdWNjZXNzOiAoKSA9PiB7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIGNvbnNvbGUubG9nKCdleGl0IHN1Y2Nlc3MnKTtcclxuICAgICAgICAgICAgICAgICAgICB9LFxyXG4gICAgICAgICAgICAgICAgICAgIGZhaWw6ICgpID0+IHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgY29uc29sZS5sb2coJ2V4aXQgZmFpbGVkJyk7XHJcbiAgICAgICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgfSk7XHJcbiAgICAgICAgICAgIH1cclxuXHJcbiAgICAgICAgICAgIGlmIChpc0J5dGVkYW5jZSgpKSB7XHJcbiAgICAgICAgICAgICAgICAvLyBAdHMtaWdub3JlXHJcbiAgICAgICAgICAgICAgICB0dC5leGl0TWluaVByb2dyYW0oe1xyXG4gICAgICAgICAgICAgICAgICAgIHN1Y2Nlc3MocmVzOiBhbnkpIHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgY29uc29sZS5sb2coXCJleGl0IHN1Y2Nlc3M6XCIsIHJlcz8uZGF0YSk7XHJcbiAgICAgICAgICAgICAgICAgICAgfSxcclxuICAgICAgICAgICAgICAgICAgICBmYWlsKHJlczogYW55KSB7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIGNvbnNvbGUubG9nKFwiZXhpdCBmYWlsOlwiLCByZXM/LmVyck1zZyk7XHJcbiAgICAgICAgICAgICAgICAgICAgfSxcclxuICAgICAgICAgICAgICAgIH0pO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG5cclxuICAgICAgICAvKipcclxuICAgICAgICAgKiDmmL7npLrovazlj5HmjInpkq7jgILpgJrluLjlnKjliJrov5vlhaXmuLjmiI/nmoTml7blgJnosIPnlKjjgIJcclxuICAgICAgICAgKiDkuLvopoHmmK/miZPlvIDlubPlj7DigJwuLi7igJ3ov5nkuKrmjInpkq7ph4zpnaLnmoTliIbkuqvoj5zljZXvvIzkuIDoiKzpu5jorqTmmK/lhbPpl63nmoTvvIzpnIDopoHosIPnlKjov5nkuKrlh73mlbDmiZPlvIDjgILlj6/ku6XorqnnlKjmiLfliIbkuqvkvaDnmoTmuLjmiI/lhaXlj6PjgIJcclxuICAgICAgICAgKi9cclxuICAgICAgICBzdGF0aWMgc2hvd1NoYXJlTWVudSgpIHtcclxuICAgICAgICAgICAgaWYgKGlzV2VjaGF0KCkpIHtcclxuICAgICAgICAgICAgICAgIC8vQHRzLWlnbm9yZVxyXG4gICAgICAgICAgICAgICAgd3guc2hvd1NoYXJlTWVudSh7XHJcbiAgICAgICAgICAgICAgICAgICAgd2l0aFNoYXJlVGlja2V0OiB0cnVlLFxyXG4gICAgICAgICAgICAgICAgICAgIG1lbnVzOiBbJ3NoYXJlQXBwTWVzc2FnZScsICdzaGFyZVRpbWVsaW5lJ10sXHJcbiAgICAgICAgICAgICAgICAgICAgc3VjY2VzczogKCkgPT4geyB9LFxyXG4gICAgICAgICAgICAgICAgICAgIGZhaWw6ICgpID0+IHsgfSxcclxuICAgICAgICAgICAgICAgICAgICBjb21wbGV0ZTogKCkgPT4geyB9XHJcbiAgICAgICAgICAgICAgICB9KTtcclxuICAgICAgICAgICAgfVxyXG5cclxuICAgICAgICAgICAgaWYgKGlzQnl0ZWRhbmNlKCkpIHtcclxuICAgICAgICAgICAgICAgIC8vQHRzLWlnbm9yZVxyXG4gICAgICAgICAgICAgICAgdHQuc2hvd1NoYXJlTWVudSh7XHJcbiAgICAgICAgICAgICAgICAgICAgc3VjY2VzcyhyZXM6IGFueSkge1xyXG4gICAgICAgICAgICAgICAgICAgICAgICBjb25zb2xlLmxvZyhcInNob3cgbWVudSBpcyBzaG93aW5nXCIpO1xyXG4gICAgICAgICAgICAgICAgICAgIH0sXHJcbiAgICAgICAgICAgICAgICAgICAgZmFpbChlcnI6IGFueSkge1xyXG4gICAgICAgICAgICAgICAgICAgICAgICBjb25zb2xlLmxvZyhcInNob3dTaGFyZU1lbnU6XCIsIGVyci5lcnJNc2cpO1xyXG4gICAgICAgICAgICAgICAgICAgIH0sXHJcbiAgICAgICAgICAgICAgICAgICAgY29tcGxldGUocmVzOiBhbnkpIHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgY29uc29sZS5sb2coXCJzaG93U2hhcmVNZW51IGNvbXBsZXRlXCIpO1xyXG4gICAgICAgICAgICAgICAgICAgIH0sXHJcbiAgICAgICAgICAgICAgICB9KTtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuXHJcbiAgICAgICAgLyoqXHJcbiAgICAgICAgICog5b6u5L+h5bCP5ri45oiP77ya6Lez6L2s5Yiw5Y+m5aSW5LiA5qy+5bCP5ri45oiPXHJcbiAgICAgICAgICog5oqW6Z+z5bCP5ri45oiP77ya6Lez6L2s5Yiw5oyH5a6a55qE6KeG6aKR55WM6Z2iXHJcbiAgICAgICAgICogQHBhcmFtIHRhcmdldElkIOW+ruS/oeWwj+a4uOaIj2FwcGlk5oiW6ICF6KeG6aKR55WM6Z2iXHJcbiAgICAgICAgICovXHJcbiAgICAgICAgc3RhdGljIG5hdmlnYXRlVG8odGFyZ2V0SWQ6IHN0cmluZywgb25TdWNjZXNzPzogKCkgPT4gdm9pZCkge1xyXG4gICAgICAgICAgICBpZiAoaXNXZWNoYXQoKSkge1xyXG4gICAgICAgICAgICAgICAgLy8gQHRzLWlnbm9yZVxyXG4gICAgICAgICAgICAgICAgd3gubmF2aWdhdGVUb01pbmlQcm9ncmFtKHtcclxuICAgICAgICAgICAgICAgICAgICBhcHBJZDogdGFyZ2V0SWQsXHJcbiAgICAgICAgICAgICAgICAgICAgZXh0cmFEYXRhOiB7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIGZvbzogJ2JhcidcclxuICAgICAgICAgICAgICAgICAgICB9LFxyXG4gICAgICAgICAgICAgICAgICAgIGVudlZlcnNpb246ICdkZXZlbG9wJyxcclxuICAgICAgICAgICAgICAgICAgICBzdWNjZXNzKHJlczogYW55KSB7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIG9uU3VjY2Vzcz8uKCk7XHJcbiAgICAgICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgfSk7XHJcbiAgICAgICAgICAgIH1cclxuXHJcbiAgICAgICAgICAgIGlmIChpc0J5dGVkYW5jZSgpKSB7XHJcbiAgICAgICAgICAgICAgICAvLyBAdHMtaWdub3JlXHJcbiAgICAgICAgICAgICAgICB0dC5uYXZpZ2F0ZVRvVmlkZW9WaWV3KHtcclxuICAgICAgICAgICAgICAgICAgICB2aWRlb0lkOiB0YXJnZXRJZCxcclxuICAgICAgICAgICAgICAgICAgICBzdWNjZXNzOiAocmVzOiBhbnkpID0+IHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgb25TdWNjZXNzPy4oKTtcclxuICAgICAgICAgICAgICAgICAgICB9LFxyXG4gICAgICAgICAgICAgICAgICAgIGZhaWw6IChlcnI6IGFueSkgPT4ge1xyXG4gICAgICAgICAgICAgICAgICAgICAgICBjb25zb2xlLmxvZyhcImJ5dGVkYW5jZSBuYXZpZ2F0ZVRvVmlkZW9WaWV3IGZhaWxcIiwgZXJyKTtcclxuICAgICAgICAgICAgICAgICAgICB9LFxyXG4gICAgICAgICAgICAgICAgfSk7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcblxyXG5cclxuICAgICAgICAvKipcclxuICAgICAgICAgKiDlsI/muLjmiI/lubPlj7DnmbvlvZXlip/og73jgILlvq7kv6Hov5Tlm55jb2Rl77yM5oqW6Z+z6L+U5ZueY29kZeWSjGFub255bW91c0NvZGXjgILnlKjkuo7nmbvlvZXnmoTlh63or4HvvIzpnIDopoHmiorov5nkuKpjb2Rl5Lyg5Zue5L2g55qE5pyN5Yqh5Zmo56iL5bqP5Lit5Y676LCD55SoY29kZTJTZXNzaW9uXHJcbiAgICAgICAgICogQHBhcmFtIGNhbGxiYWNrIChjb2RlLCBhbm9ueW1vdXNDb2RlKSDnrKzkuIDkuKrlj4LmlbDkuLpjb2Rl77yM5b6u5L+h5ZKM5oqW6Z+z6YO95pSv5oyB77yb56ys5LqM5Liq5Y+C5pWw5Li65Yy/5ZCN6K6+5aSHSUTvvIzku4Xmipbpn7PmlK/mjIHvvIzlpLHotKXpg73ov5Tlm55udWxsXHJcbiAgICAgICAgICovXHJcbiAgICAgICAgc3RhdGljIGxvZ2luKGNhbGxiYWNrOiAoY29kZTogc3RyaW5nLCBhbm9ueW1vdXNDb2RlOiBzdHJpbmcpID0+IHZvaWQpIHtcclxuICAgICAgICAgICAgbGV0IGxvZ2luUGxhdGZvcm0gPSAoKSA9PiB7XHJcbiAgICAgICAgICAgICAgICBpZiAoaXNXZWNoYXQoKSkge1xyXG4gICAgICAgICAgICAgICAgICAgIC8vQHRzLWlnbm9yZVxyXG4gICAgICAgICAgICAgICAgICAgIHd4LmxvZ2luKHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgc3VjY2VzczogKHJlczogeyBjb2RlOiBhbnk7IGVyck1zZzogYW55OyB9KSA9PiB7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBpZiAocmVzLmNvZGUpIHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBBUEkuX2xvZ2luQ29kZSA9IHJlcy5jb2RlO1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIEFQSS5fbG9naW5Bbm9ueW1vdXNDb2RlID0gbnVsbDtcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjYWxsYmFjaz8uKEFQSS5fbG9naW5Db2RlLCBBUEkuX2xvZ2luQW5vbnltb3VzQ29kZSk7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB9IGVsc2Uge1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnNvbGUubG9nKCdsb2dpbiBlcnJvcjonLCByZXMuZXJyTXNnKVxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgICAgICAgICB9LFxyXG5cclxuICAgICAgICAgICAgICAgICAgICAgICAgZmFpbDogKCkgPT4ge1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgQVBJLl9sb2dpbkNvZGUgPSBudWxsO1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgQVBJLl9sb2dpbkFub255bW91c0NvZGUgPSBudWxsO1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgY2FsbGJhY2s/LihBUEkuX2xvZ2luQ29kZSwgQVBJLl9sb2dpbkFub255bW91c0NvZGUpO1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgY29uc29sZS5sb2coJ2xvZ2luIGZhaWwnKVxyXG4gICAgICAgICAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICAgICAgfSk7XHJcbiAgICAgICAgICAgICAgICB9IGVsc2UgaWYgKGlzQnl0ZWRhbmNlKCkpIHtcclxuICAgICAgICAgICAgICAgICAgICAvL0B0cy1pZ25vcmVcclxuICAgICAgICAgICAgICAgICAgICB0dC5sb2dpbih7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIGZvcmNlOiB0cnVlLFxyXG4gICAgICAgICAgICAgICAgICAgICAgICBzdWNjZXNzKHJlczogYW55KSB7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb25zb2xlLmxvZyhgbG9naW4gJHtyZXMuY29kZX0gJHtyZXMuYW5vbnltb3VzQ29kZX1gKTtcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGlmIChyZXMuY29kZSkge1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIEFQSS5fbG9naW5Db2RlID0gcmVzLmNvZGU/LnRvU3RyaW5nKCk7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgQVBJLl9sb2dpbkFub255bW91c0NvZGUgPSByZXMuYW5vbnltb3VzQ29kZT8udG9TdHJpbmcoKTtcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjYWxsYmFjaz8uKEFQSS5fbG9naW5Db2RlLCBBUEkuX2xvZ2luQW5vbnltb3VzQ29kZSk7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB9IGVsc2Uge1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnNvbGUubG9nKCdsb2dpbiBlcnJvcjonLCByZXMuZXJyTXNnKVxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgICAgICAgICB9LFxyXG4gICAgICAgICAgICAgICAgICAgICAgICBmYWlsKHJlczogYW55KSB7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBBUEkuX2xvZ2luQ29kZSA9IG51bGw7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBBUEkuX2xvZ2luQW5vbnltb3VzQ29kZSA9IG51bGw7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBjYWxsYmFjaz8uKEFQSS5fbG9naW5Db2RlLCBBUEkuX2xvZ2luQW5vbnltb3VzQ29kZSk7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb25zb2xlLmxvZyhgbG9naW4gZmFpbGAsIHJlcyk7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIH0sXHJcbiAgICAgICAgICAgICAgICAgICAgfSk7XHJcbiAgICAgICAgICAgICAgICB9IGVsc2Uge1xyXG4gICAgICAgICAgICAgICAgICAgIEFQSS5fbG9naW5Db2RlID0gbnVsbDtcclxuICAgICAgICAgICAgICAgICAgICBBUEkuX2xvZ2luQW5vbnltb3VzQ29kZSA9IG51bGw7XHJcbiAgICAgICAgICAgICAgICAgICAgY2FsbGJhY2s/LihBUEkuX2xvZ2luQ29kZSwgQVBJLl9sb2dpbkFub255bW91c0NvZGUpO1xyXG4gICAgICAgICAgICAgICAgICAgIGNvbnNvbGUubG9nKCdub3QgbWluaSBnYW1lIHBsYXRmb3JtLCBsb2dpbiBjb2RlcyBhcmUgYWxsIG51bGwnKTtcclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgfVxyXG5cclxuXHJcblxyXG4gICAgICAgICAgICBpZiAoIUFQSS5fbG9naW5Db2RlKSB7XHJcbiAgICAgICAgICAgICAgICBsb2dpblBsYXRmb3JtKCk7XHJcbiAgICAgICAgICAgIH0gZWxzZSB7XHJcbiAgICAgICAgICAgICAgICBpZiAoaXNXZWNoYXQoKSkge1xyXG4gICAgICAgICAgICAgICAgICAgIC8vQHRzLWlnbm9yZVxyXG4gICAgICAgICAgICAgICAgICAgIHd4LmNoZWNrU2Vzc2lvbih7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIHN1Y2Nlc3MoKSB7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb25zb2xlLmxvZyhgc2Vzc2lvbiBpcyB2YWxpZCwgdXNlIGN1cnJlbnQgY29kZTpgLCBBUEkuX2xvZ2luQ29kZSk7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBjYWxsYmFjaz8uKEFQSS5fbG9naW5Db2RlLCBBUEkuX2xvZ2luQW5vbnltb3VzQ29kZSk7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIH0sXHJcbiAgICAgICAgICAgICAgICAgICAgICAgIGZhaWwoKSB7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb25zb2xlLmxvZyhgc2Vzc2lvbiBleHBpcmVkYCk7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBsb2dpblBsYXRmb3JtKCk7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgICAgICB9KTtcclxuICAgICAgICAgICAgICAgIH0gZWxzZSBpZiAoaXNCeXRlZGFuY2UoKSkge1xyXG4gICAgICAgICAgICAgICAgICAgIC8vQHRzLWlnbm9yZVxyXG4gICAgICAgICAgICAgICAgICAgIHR0LmNoZWNrU2Vzc2lvbih7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIHN1Y2Nlc3MoKSB7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb25zb2xlLmxvZyhgc2Vzc2lvbiBpcyB2YWxpZCwgdXNlciBjdXJyZW50IGNvZGU6ICR7QVBJLl9sb2dpbkNvZGV9LCAke0FQSS5fbG9naW5Bbm9ueW1vdXNDb2RlfWApO1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgY2FsbGJhY2s/LihBUEkuX2xvZ2luQ29kZSwgQVBJLl9sb2dpbkFub255bW91c0NvZGUpO1xyXG4gICAgICAgICAgICAgICAgICAgICAgICB9LFxyXG4gICAgICAgICAgICAgICAgICAgICAgICBmYWlsKCkge1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgY29uc29sZS5sb2coYHNlc3Npb24gZXhwaXJlZGApO1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgbG9naW5QbGF0Zm9ybSgpO1xyXG4gICAgICAgICAgICAgICAgICAgICAgICB9LFxyXG4gICAgICAgICAgICAgICAgICAgIH0pO1xyXG5cclxuICAgICAgICAgICAgICAgIH0gZWxzZSB7XHJcbiAgICAgICAgICAgICAgICAgICAgY29uc29sZS5sb2coJ25vdCBtaW5pIGdhbWUgcGxhdGZvcm0sIGxvZ2luIG51bGwnKTtcclxuICAgICAgICAgICAgICAgICAgICBjYWxsYmFjaz8uKG51bGwsIG51bGwpO1xyXG4gICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG5cclxuICAgICAgICAvKipcclxuICAgICAgICAgKiDosIPnlKjlvq7kv6HkupHlh73mlbDjgILnlLHkuo7lj4LmlbDpnIDopoHoh6rlrprkuYnvvIzmiYDku6XkuLphbnnvvIzpnIDopoHoh6rooYzop6Pph4rjgILlh73mlbDlj6rlrozmiJDpgJrpgZPlkozlpITnkIbkuIDlnLrnmoTkvZznlKhcclxuICAgICAgICAgKiBAcGFyYW0gY2FsbGJhY2sg6L+U5Zue5LqR5Ye95pWw6LCD55So57uT5p6c44CC6ZyA6KaB5qOA5p+l6L+U5Zue5Y+C5pWw5piv5ZCm5Li656m677yM5aSx6LSl55qE5pe25YCZ5Li656m6XHJcbiAgICAgICAgICogQHBhcmFtIG5hbWUg5LqR5Ye95pWw55qE5ZCN5a2XXHJcbiAgICAgICAgICogQHBhcmFtIGRhdGEg5LqR5Ye95pWw55qE5YaF5a65XHJcbiAgICAgICAgICovXHJcbiAgICAgICAgc3RhdGljIGNhbGxXZWNoYXRDbG91ZEZ1bmN0aW9uKGNhbGxiYWNrOiAocmVzOiBhbnkpID0+IHZvaWQsIG5hbWU6IHN0cmluZywgZGF0YToge30pIHtcclxuICAgICAgICAgICAgaWYgKCFpc1dlY2hhdCgpKSB7XHJcbiAgICAgICAgICAgICAgICBjb25zb2xlLmxvZygnTm90IHdlY2hhdCBwbGF0Zm9ybSwgbm90IHN1cHBvcnQgY2FsbFdlY2hhdENsb3VkRnVuY3Rpb24nKTtcclxuICAgICAgICAgICAgICAgIHJldHVybjtcclxuICAgICAgICAgICAgfVxyXG5cclxuICAgICAgICAgICAgdGhpcy5sb2dpbigoY29kZTogc3RyaW5nLCBhbm9ueW1vdXNDb2RlOiBzdHJpbmcpID0+IHtcclxuICAgICAgICAgICAgICAgIGlmICghQVBJLl9oYXNJbml0V2VjaGF0Q2xvdWRGdW5jdGlvbikge1xyXG4gICAgICAgICAgICAgICAgICAgIC8vQHRzLWlnbm9yZVxyXG4gICAgICAgICAgICAgICAgICAgIHd4LmNsb3VkLmluaXQoKTtcclxuICAgICAgICAgICAgICAgICAgICBBUEkuX2hhc0luaXRXZWNoYXRDbG91ZEZ1bmN0aW9uID0gdHJ1ZTtcclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgIC8vQHRzLWlnbm9yZVxyXG4gICAgICAgICAgICAgICAgd3guY2xvdWQuY2FsbEZ1bmN0aW9uKHtcclxuICAgICAgICAgICAgICAgICAgICBuYW1lOiBuYW1lLFxyXG4gICAgICAgICAgICAgICAgICAgIGRhdGE6IGRhdGEsXHJcbiAgICAgICAgICAgICAgICAgICAgc3VjY2VzczogKHJlczogYW55KSA9PiBjYWxsYmFjaz8uKHJlcyksXHJcbiAgICAgICAgICAgICAgICAgICAgZmFpbDogKGVycjogYW55KSA9PiB7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIGNvbnNvbGUubG9nKCd3ZWNoYXQgY2xvdWQgZnVuY3Rpb24gZXJyb3I6JywgZXJyKTtcclxuICAgICAgICAgICAgICAgICAgICAgICAgY2FsbGJhY2s/LihudWxsKTtcclxuICAgICAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICB9KTtcclxuICAgICAgICAgICAgfSk7XHJcbiAgICAgICAgfVxyXG5cclxuICAgICAgICAvKipcclxuICAgICAgICAgKiDlrZjlgqjnlKjmiLfkv6Hmga/vvIzmlbDmja7ph4/kuI3og73lpKfjgILlj6/ku6XogIPomZHnlKjkuo7liIbmlbDmjpLooYzmppzjgILnlKjmiLfkuYvpl7Tlj6/lhbHkuqvmjpLooYzmlbDmja7jgIJcclxuICAgICAgICAgKiBAcGFyYW0ga2V5IFxyXG4gICAgICAgICAqIEBwYXJhbSB2YWx1ZSBcclxuICAgICAgICAgKi9cclxuICAgICAgICBzdGF0aWMgc2V0VXNlckNsb3VkU3RvcmFnZShrZXk6IHN0cmluZywgdmFsdWU6IHN0cmluZykge1xyXG4gICAgICAgICAgICBpZiAoaXNXZWNoYXQoKSkge1xyXG4gICAgICAgICAgICAgICAgLy8gQHRzLWlnbm9yZVxyXG4gICAgICAgICAgICAgICAgd3guc2V0VXNlckNsb3VkU3RvcmFnZSh7XHJcbiAgICAgICAgICAgICAgICAgICAgS1ZEYXRhTGlzdDogW3sga2V5OiBrZXksIHZhbHVlOiB2YWx1ZSB9XSxcclxuICAgICAgICAgICAgICAgICAgICBzdWNjZXNzOiAoKSA9PiBjb25zb2xlLmxvZyhgc2V0IGNsb3VkIHN0b3JhZ2Ugc3VjY2Vzczoke2tleX0sIHZhbHVlOiR7dmFsdWV9YCksXHJcbiAgICAgICAgICAgICAgICAgICAgZmFpbDogKGVycjogYW55KSA9PiBjb25zb2xlLmxvZygnc2V0IGNsb3VkIHN0b3JhZ2UgZXJyb3I6JywgZXJyKVxyXG4gICAgICAgICAgICAgICAgfSk7XHJcbiAgICAgICAgICAgIH1cclxuXHJcbiAgICAgICAgICAgIGlmIChpc0J5dGVkYW5jZSgpKSB7XHJcbiAgICAgICAgICAgICAgICAvLyBAdHMtaWdub3JlXHJcbiAgICAgICAgICAgICAgICB0dC5zZXRVc2VyQ2xvdWRTdG9yYWdlKHtcclxuICAgICAgICAgICAgICAgICAgICBLVkRhdGFMaXN0OiBbeyBrZXk6IGtleSwgdmFsdWU6IHZhbHVlLCB9XSxcclxuICAgICAgICAgICAgICAgICAgICBzdWNjZXNzOiAoKSA9PiBjb25zb2xlLmxvZyhgc2V0IGNsb3VkIHN0b3JhZ2Ugc3VjY2Vzczoke2tleX0sIHZhbHVlOiR7dmFsdWV9YCksXHJcbiAgICAgICAgICAgICAgICAgICAgZmFpbDogKGVycjogYW55KSA9PiBjb25zb2xlLmxvZygnc2V0IGNsb3VkIHN0b3JhZ2UgZXJyb3I6JywgZXJyKVxyXG4gICAgICAgICAgICAgICAgfSk7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICB9XHJcblxyXG5cclxuICAgIC8qKlxyXG4gICAgICog5oqW6Z+z5L6n6L655qCP5LiT5bGe5o6l5Y+jXHJcbiAgICAgKi9cclxuICAgIGV4cG9ydCBjbGFzcyBCeXRlZGFuY2VTaWRlYmFyIHtcclxuICAgICAgICAvKipcclxuICAgICAgICAgKiDmnKzmuLjmiI/lnKjmipbpn7Pnjq/looPkuIvlkK/liqjnm5HmjqfvvIzpnIDopoHmlL7lnKjlhajlsYDnjq/looPkuK3vvIzkv53or4Hog73nrKzkuIDml7bpl7TlkK/liqjjgILlm6DkuLrlj6/og73nm5HlkKzmipbpn7PlpLHotKXvvIjmipbpn7PlsI/muLjmiI/lrpjmlrnnmoTor7TmmI7vvInvvIFcclxuICAgICAgICAgKiBAcGFyYW0gb25SZXN1bHQg5YyF5ZCr5LiA5LiqYm9vbGVhbuWPguaVsOeahOWHveaVsFxyXG4gICAgICAgICAqIEBwYXJhbSB0YXJnZXQg5LiK6L+w5Ye95pWw55qE5oul5pyJ6ICF77yM5aaC5p6c5piv57G755qE5oiQ5ZGY5Ye95pWw77yM6ZyA6KaB5Lyg5YWldGhpc+OAguaZrumAmuaIluWMv+WQjeWHveaVsOW/veeVpeWNs+WPr+OAglxyXG4gICAgICAgICAqL1xyXG4gICAgICAgIHN0YXRpYyBsaXN0ZW5Gcm9tU2lkZWJhcihvblJlc3VsdDogKHN1Y2Nlc3M6IGJvb2xlYW4pID0+IHZvaWQsIHRhcmdldD86IGFueSkge1xyXG4gICAgICAgICAgICBpZiAoIWlzQnl0ZWRhbmNlKCkpIHtcclxuICAgICAgICAgICAgICAgIG9uUmVzdWx0Py5jYWxsKHRhcmdldCwgZmFsc2UpO1xyXG4gICAgICAgICAgICAgICAgcmV0dXJuO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIC8vIEB0cy1pZ25vcmVcclxuICAgICAgICAgICAgdHQub25TaG93KChyZXM6IGFueSkgPT4ge1xyXG4gICAgICAgICAgICAgICAgY29uc29sZS5sb2coJ29uU2hvdyBsYXVuY2ggcmVzOicsIHJlcyk7XHJcbiAgICAgICAgICAgICAgICBpZiAocmVzLnNjZW5lID09PSAnMDIxMDM2Jykge1xyXG4gICAgICAgICAgICAgICAgICAgIG9uUmVzdWx0Py5jYWxsKHRhcmdldCwgdHJ1ZSk7XHJcbiAgICAgICAgICAgICAgICAgICAgY29uc29sZS5sb2coJ2xhdW5jaCBmcm9tIHNpZGViYXInKTtcclxuICAgICAgICAgICAgICAgIH0gZWxzZSB7XHJcbiAgICAgICAgICAgICAgICAgICAgb25SZXN1bHQ/LmNhbGwodGFyZ2V0LCBmYWxzZSk7XHJcbiAgICAgICAgICAgICAgICAgICAgY29uc29sZS5sb2coJ05PVCBsYXVuY2ggZnJvbSBkb3V5aW4gc2lkZWJhciEnKTtcclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgfSk7XHJcblxyXG4gICAgICAgICAgICAvLyBAdHMtaWdub3JlXHJcbiAgICAgICAgICAgIGxldCBvcHRpb25zID0gdHQuZ2V0TGF1bmNoT3B0aW9uc1N5bmMoKTtcclxuICAgICAgICAgICAgaWYgKG9wdGlvbnMgJiYgb3B0aW9ucy5zY2VuZSA9PT0gJzAyMTAzNicpIHtcclxuICAgICAgICAgICAgICAgIG9uUmVzdWx0Py5jYWxsKHRhcmdldCwgdHJ1ZSk7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcblxyXG4gICAgICAgIC8qKlxyXG4gICAgICAgICAqIOajgOa1i+aKlumfs+S+p+i+ueagj+aYr+WQpuWtmOWcqFxyXG4gICAgICAgICAqIEBwYXJhbSBvblJlc3VsdCDljIXlkKvkuIDkuKpib29sZWFu5Y+C5pWw55qE5Ye95pWwXHJcbiAgICAgICAgICogQHBhcmFtIHRhcmdldCDkuIrov7Dlh73mlbDnmoTmi6XmnInogIXvvIzlpoLmnpzmmK/nsbvnmoTmiJDlkZjlh73mlbDvvIzpnIDopoHkvKDlhaV0aGlz44CC5pmu6YCa5oiW5Yy/5ZCN5Ye95pWw5b+955Wl5Y2z5Y+v44CCXHJcbiAgICAgICAgICogQHJldHVybnMgXHJcbiAgICAgICAgICovXHJcbiAgICAgICAgc3RhdGljIGNoZWNrU2lkZUJhcihvblJlc3VsdDogKHN1Y2Nlc3M6IGJvb2xlYW4pID0+IHZvaWQsIHRhcmdldD86IGFueSkge1xyXG4gICAgICAgICAgICBpZiAoIWlzQnl0ZWRhbmNlKCkpIHtcclxuICAgICAgICAgICAgICAgIG9uUmVzdWx0Py5jYWxsKHRhcmdldCwgZmFsc2UpO1xyXG4gICAgICAgICAgICAgICAgcmV0dXJuO1xyXG4gICAgICAgICAgICB9XHJcblxyXG4gICAgICAgICAgICAvL0B0cy1pZ25vcmVcclxuICAgICAgICAgICAgdHQuY2hlY2tTY2VuZSh7XHJcbiAgICAgICAgICAgICAgICBzY2VuZTogXCJzaWRlYmFyXCIsXHJcbiAgICAgICAgICAgICAgICBzdWNjZXNzOiAocmVzOiBhbnkpID0+IHtcclxuICAgICAgICAgICAgICAgICAgICBjb25zb2xlLmxvZyhcImNoZWNrIHNjZW5lIHN1Y2Nlc3M6IFwiLCByZXMuaXNFeGlzdCk7XHJcbiAgICAgICAgICAgICAgICAgICAgb25SZXN1bHQ/LmNhbGwodGFyZ2V0LCA8Ym9vbGVhbj5yZXMuaXNFeGlzdCk7XHJcblxyXG4gICAgICAgICAgICAgICAgfSxcclxuICAgICAgICAgICAgICAgIGZhaWw6IChyZXM6IGFueSkgPT4ge1xyXG4gICAgICAgICAgICAgICAgICAgIGNvbnNvbGUubG9nKFwiY2hlY2sgc2NlbmUgZmFpbDpcIiwgcmVzKTtcclxuICAgICAgICAgICAgICAgICAgICBvblJlc3VsdD8uY2FsbCh0YXJnZXQsIGZhbHNlKTtcclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgfSk7XHJcbiAgICAgICAgfVxyXG5cclxuICAgICAgICAvKipcclxuICAgICAgICAgKiDot7PovazliLDmipbpn7PkvqfovrnmoI9cclxuICAgICAgICAgKiBAcGFyYW0gb25SZXN1bHQg5YyF5ZCr5LiA5LiqYm9vbGVhbuWPguaVsOeahOWHveaVsFxyXG4gICAgICAgICAqIEBwYXJhbSB0YXJnZXQg5LiK6L+w5Ye95pWw55qE5oul5pyJ6ICF77yM5aaC5p6c5piv57G755qE5oiQ5ZGY5Ye95pWw77yM6ZyA6KaB5Lyg5YWldGhpc+OAguaZrumAmuaIluWMv+WQjeWHveaVsOW/veeVpeWNs+WPr+OAglxyXG4gICAgICAgICAqIEByZXR1cm5zIFxyXG4gICAgICAgICAqL1xyXG4gICAgICAgIHN0YXRpYyBuYXZpZ2F0ZVRvU2lkZWJhcihvblJlc3VsdDogKHN1Y2Nlc3M6IGJvb2xlYW4pID0+IHZvaWQsIHRhcmdldD86IGFueSkge1xyXG4gICAgICAgICAgICBpZiAoIWlzQnl0ZWRhbmNlKCkpIHtcclxuICAgICAgICAgICAgICAgIGNvbnNvbGUubG9nKFwibm90IGRvdXlpbiBwbGF0Zm9ybSFcIik7XHJcbiAgICAgICAgICAgICAgICBvblJlc3VsdD8uY2FsbCh0YXJnZXQsIGZhbHNlKTtcclxuICAgICAgICAgICAgICAgIHJldHVybjtcclxuICAgICAgICAgICAgfVxyXG5cclxuICAgICAgICAgICAgLy8gQHRzLWlnbm9yZVxyXG4gICAgICAgICAgICB0dC5uYXZpZ2F0ZVRvU2NlbmUoe1xyXG4gICAgICAgICAgICAgICAgc2NlbmU6IFwic2lkZWJhclwiLFxyXG4gICAgICAgICAgICAgICAgc3VjY2VzczogKCkgPT4ge1xyXG4gICAgICAgICAgICAgICAgICAgIGNvbnNvbGUubG9nKFwibmF2aWdhdGUgc3VjY2Vzc1wiKTtcclxuICAgICAgICAgICAgICAgICAgICBvblJlc3VsdD8uY2FsbCh0YXJnZXQsIHRydWUpO1xyXG4gICAgICAgICAgICAgICAgfSxcclxuICAgICAgICAgICAgICAgIGZhaWw6IChyZXM6IGFueSkgPT4ge1xyXG4gICAgICAgICAgICAgICAgICAgIGNvbnNvbGUubG9nKFwibmF2aWdhdGUgZmFpbGVkIHJlYXNvbjpcIiwgcmVzKTtcclxuICAgICAgICAgICAgICAgICAgICBvblJlc3VsdD8uY2FsbCh0YXJnZXQsIGZhbHNlKTtcclxuICAgICAgICAgICAgICAgIH0sXHJcbiAgICAgICAgICAgIH0pO1xyXG4gICAgICAgIH1cclxuICAgIH1cclxuXHJcbn0iXX0= \ No newline at end of file diff --git a/temp/quick-scripts/dst/assets/Script/module/Config/GameConfig.js b/temp/quick-scripts/dst/assets/Script/module/Config/GameConfig.js index 3f80af5..459dc5b 100644 --- a/temp/quick-scripts/dst/assets/Script/module/Config/GameConfig.js +++ b/temp/quick-scripts/dst/assets/Script/module/Config/GameConfig.js @@ -152,14 +152,14 @@ var GameConfig = /** @class */ (function () { matchId: null, custom: 0, round: 0, - level: 6, + level: 0, stepTimeList: 0, successList: [], fen: 0, score: 0, igniteCount: 0, - min_Steps: 15, - min_Time: 5 //每一把上次距离洪峰到来时间 + min_Steps: 0, + min_Time: 0 //每一把上次距离洪峰到来时间 }; }; GameConfig.GM_INFO_SET = function (key, value) { @@ -232,7 +232,7 @@ var GameConfig = /** @class */ (function () { // } // ], // ] - this.LEVEL_INFO = [[{ "id": "1001", "map": [[0, 4, 0, 0], [0, 0, 0, 0], [0, 0, 0, 0], [0, 0, 1, 0]], "min_steps": 3 }, { "id": "1002", "map": [[1, 0, 0, 0], [0, 0, 0, 4], [0, 0, 0, 0], [0, 0, 0, 0]], "min_steps": 3 }, { "id": "1004", "map": [[1, 0, 0, 0], [0, 0, 0, 0], [0, 0, 0, 0], [0, 4, 0, 0]], "min_steps": 3 }, { "id": "1006", "map": [[4, 0, 0, 0], [0, 0, 0, 0], [0, 0, 0, 0], [0, 1, 0, 0]], "min_steps": 3 }, { "id": "1003", "map": [[1, 0, 0, 0], [0, 0, 0, 0], [0, 0, 0, 0], [0, 0, 0, 4]], "min_steps": 4 }, { "id": "1005", "map": [[1, 0, 0, 0], [0, 0, 0, 0], [0, 0, 0, 4], [0, 0, 0, 0]], "min_steps": 4 }, { "id": "1007", "map": [[0, 4, 0, 0], [0, 0, 0, 0], [0, 0, 0, 0], [0, 0, 0, 1]], "min_steps": 4 }, { "id": "1008", "map": [[0, 0, 0, 4], [0, 0, 0, 0], [0, 0, 0, 0], [1, 0, 0, 0]], "min_steps": 4 }], [{ "id": "2001", "map": [[0, 0, 0, 0, 1], [0, 0, 0, 0, 0], [0, 0, 3, 0, 3], [0, 0, 0, 0, 0], [4, 0, 0, 0, 3]], "min_steps": 4 }, { "id": "2002", "map": [[0, 1, 0, 0, 0], [0, 0, 0, 0, 0], [3, 3, 0, 0, 4], [0, 0, 0, 0, 0], [3, 0, 0, 0, 0]], "min_steps": 4 }, { "id": "2009", "map": [[0, 3, 0, 0, 4], [3, 0, 0, 0, 0], [0, 0, 0, 0, 0], [1, 0, 0, 0, 0], [0, 3, 0, 0, 0]], "min_steps": 4 }, { "id": "2010", "map": [[0, 0, 0, 0, 1], [0, 0, 0, 0, 0], [0, 0, 0, 0, 0], [0, 3, 0, 3, 0], [4, 0, 3, 0, 0]], "min_steps": 4 }, { "id": "2011", "map": [[4, 3, 1, 0, 0], [0, 0, 0, 0, 3], [0, 0, 0, 3, 0], [0, 0, 0, 0, 0], [0, 0, 0, 0, 0]], "min_steps": 4 }, { "id": "2021", "map": [[0, 0, 0, 1, 0], [0, 0, 3, 0, 0], [0, 0, 0, 3, 3], [0, 0, 0, 0, 0], [0, 4, 0, 0, 0]], "min_steps": 4 }, { "id": "2004", "map": [[1, 0, 0, 0, 0], [0, 0, 0, 0, 3], [3, 0, 0, 0, 0], [0, 0, 0, 0, 0], [0, 0, 0, 0, 4]], "min_steps": 5 }, { "id": "2012", "map": [[0, 3, 0, 4, 0], [0, 0, 0, 3, 0], [1, 0, 3, 0, 0], [0, 0, 0, 0, 0], [0, 0, 0, 0, 0]], "min_steps": 5 }, { "id": "2013", "map": [[0, 0, 0, 0, 0], [1, 0, 0, 0, 0], [0, 0, 0, 3, 3], [3, 0, 0, 0, 0], [0, 0, 0, 4, 0]], "min_steps": 5 }, { "id": "2014", "map": [[3, 0, 1, 0, 0], [0, 3, 0, 0, 0], [0, 0, 0, 0, 0], [4, 0, 0, 3, 0], [0, 0, 0, 0, 0]], "min_steps": 5 }, { "id": "2015", "map": [[3, 0, 0, 0, 1], [3, 0, 0, 0, 0], [0, 0, 0, 0, 0], [4, 3, 0, 0, 0], [3, 0, 0, 0, 0]], "min_steps": 5 }, { "id": "2016", "map": [[0, 0, 0, 0, 0], [1, 0, 3, 0, 0], [3, 0, 0, 0, 3], [0, 0, 0, 0, 0], [0, 0, 0, 0, 4]], "min_steps": 5 }, { "id": "2017", "map": [[0, 3, 0, 0, 0], [4, 0, 0, 0, 0], [0, 0, 0, 0, 0], [3, 0, 3, 0, 0], [3, 0, 0, 0, 1]], "min_steps": 5 }, { "id": "2018", "map": [[0, 3, 4, 3, 3], [0, 0, 0, 0, 0], [0, 0, 0, 0, 0], [0, 0, 0, 0, 0], [0, 0, 3, 0, 1]], "min_steps": 5 }, { "id": "2019", "map": [[3, 0, 0, 4, 0], [0, 0, 0, 3, 0], [0, 0, 0, 0, 0], [0, 0, 0, 0, 0], [1, 0, 3, 0, 0]], "min_steps": 5 }, { "id": "2020", "map": [[4, 0, 3, 0, 1], [0, 0, 0, 0, 3], [0, 0, 0, 0, 0], [0, 0, 0, 0, 0], [0, 0, 3, 0, 0]], "min_steps": 5 }, { "id": "2003", "map": [[1, 0, 0, 3, 0], [0, 0, 3, 0, 0], [0, 0, 0, 0, 0], [0, 0, 0, 0, 0], [0, 3, 0, 4, 0]], "min_steps": 6 }, { "id": "2005", "map": [[0, 3, 0, 0, 0], [1, 0, 0, 0, 0], [0, 0, 0, 3, 0], [0, 0, 0, 0, 0], [0, 3, 0, 4, 0]], "min_steps": 6 }, { "id": "2006", "map": [[0, 1, 0, 0, 0], [0, 0, 0, 0, 3], [0, 0, 0, 0, 3], [0, 0, 0, 0, 0], [0, 0, 0, 3, 4]], "min_steps": 6 }, { "id": "2007", "map": [[3, 0, 0, 0, 1], [0, 0, 0, 0, 3], [0, 0, 0, 0, 0], [0, 0, 0, 0, 0], [4, 3, 0, 0, 0]], "min_steps": 6 }, { "id": "2008", "map": [[3, 4, 0, 0, 0], [0, 0, 0, 0, 3], [0, 0, 0, 3, 1], [0, 0, 0, 0, 0], [0, 0, 0, 0, 0]], "min_steps": 6 }, { "id": "2022", "map": [[0, 0, 0, 0, 0], [1, 3, 0, 0, 3], [0, 0, 0, 0, 0], [0, 0, 0, 0, 0], [0, 0, 3, 4, 0]], "min_steps": 6 }], [{ "id": "3001", "map": [[3, 0, 2, 3, 4], [0, 0, 0, 2, 2], [2, 3, 3, 3, 3], [0, 0, 2, 0, 2], [1, 0, 2, 3, 0]], "min_steps": 5 }, { "id": "3002", "map": [[3, 0, 3, 2, 0], [1, 2, 0, 3, 2], [2, 3, 0, 0, 4], [2, 0, 2, 2, 0], [3, 3, 0, 3, 0]], "min_steps": 5 }, { "id": "3003", "map": [[0, 2, 3, 3, 4], [2, 2, 0, 0, 0], [1, 3, 3, 3, 2], [2, 2, 3, 2, 3], [0, 0, 0, 0, 0]], "min_steps": 5 }, { "id": "3004", "map": [[3, 2, 2, 1, 0], [0, 0, 3, 2, 2], [3, 0, 2, 3, 0], [3, 0, 0, 3, 3], [0, 2, 4, 0, 2]], "min_steps": 5 }, { "id": "3005", "map": [[3, 0, 3, 0, 0], [2, 3, 0, 0, 1], [0, 2, 2, 2, 3], [4, 2, 0, 0, 2], [3, 3, 0, 3, 2]], "min_steps": 5 }, { "id": "3008", "map": [[3, 3, 3, 0, 1], [0, 0, 0, 0, 3], [2, 2, 3, 2, 2], [0, 2, 3, 0, 3], [4, 2, 2, 0, 0]], "min_steps": 5 }, { "id": "3009", "map": [[1, 0, 3, 3, 2], [3, 0, 2, 0, 0], [0, 3, 3, 2, 4], [0, 0, 3, 0, 2], [2, 2, 2, 0, 3]], "min_steps": 5 }, { "id": "3010", "map": [[3, 0, 2, 0, 4], [1, 2, 3, 0, 3], [2, 0, 3, 2, 0], [0, 3, 0, 0, 3], [2, 0, 2, 3, 2]], "min_steps": 5 }, { "id": "3006", "map": [[2, 0, 2, 2, 0], [1, 2, 3, 0, 0], [3, 3, 0, 3, 2], [3, 0, 0, 3, 2], [2, 0, 3, 0, 4]], "min_steps": 6 }, { "id": "3007", "map": [[1, 2, 0, 3, 3], [2, 2, 0, 2, 0], [2, 3, 2, 0, 3], [0, 3, 2, 0, 4], [0, 0, 3, 0, 3]], "min_steps": 6 }, { "id": "3011", "map": [[2, 3, 0, 1, 0], [0, 0, 0, 0, 0], [3, 0, 0, 0, 3], [0, 2, 0, 3, 2], [4, 3, 3, 2, 2]], "min_steps": 6 }, { "id": "3012", "map": [[0, 2, 1, 0, 3], [0, 3, 0, 0, 3], [3, 2, 3, 2, 0], [0, 2, 0, 3, 0], [2, 0, 0, 0, 4]], "min_steps": 6 }, { "id": "3013", "map": [[0, 2, 1, 0, 3], [0, 3, 0, 0, 3], [3, 2, 3, 2, 0], [0, 2, 0, 3, 0], [2, 0, 0, 0, 4]], "min_steps": 6 }, { "id": "3014", "map": [[1, 0, 3, 3, 4], [2, 3, 0, 3, 0], [0, 2, 2, 0, 0], [3, 3, 0, 0, 2], [2, 0, 0, 0, 0]], "min_steps": 6 }, { "id": "3015", "map": [[2, 3, 0, 0, 0], [0, 0, 2, 3, 0], [4, 0, 3, 0, 3], [2, 0, 2, 2, 3], [0, 3, 0, 0, 1]], "min_steps": 6 }, { "id": "3016", "map": [[3, 0, 2, 0, 2], [2, 0, 0, 0, 3], [0, 2, 3, 0, 1], [4, 0, 0, 3, 0], [3, 3, 0, 0, 2]], "min_steps": 6 }, { "id": "3017", "map": [[0, 3, 0, 0, 2], [3, 0, 2, 0, 4], [1, 3, 3, 0, 0], [2, 0, 0, 2, 0], [3, 2, 3, 0, 0]], "min_steps": 6 }, { "id": "3018", "map": [[4, 2, 0, 0, 0], [0, 0, 0, 3, 2], [0, 3, 0, 0, 3], [3, 2, 3, 2, 0], [3, 0, 2, 1, 0]], "min_steps": 7 }, { "id": "3019", "map": [[0, 4, 0, 3, 2], [0, 2, 0, 0, 0], [3, 0, 3, 0, 2], [3, 3, 2, 3, 1], [2, 0, 0, 0, 0]], "min_steps": 7 }, { "id": "3020", "map": [[0, 2, 0, 1, 0], [0, 0, 0, 3, 2], [3, 0, 3, 3, 3], [3, 0, 0, 0, 2], [0, 2, 2, 4, 0]], "min_steps": 7 }, { "id": "3021", "map": [[3, 2, 0, 2, 1], [3, 2, 0, 3, 2], [3, 0, 0, 2, 3], [0, 0, 0, 0, 4], [0, 0, 3, 0, 0]], "min_steps": 7 }, { "id": "3022", "map": [[2, 0, 2, 2, 2], [0, 0, 3, 0, 0], [3, 0, 3, 0, 0], [1, 0, 3, 2, 4], [0, 0, 3, 3, 0]], "min_steps": 7 }, { "id": "3023", "map": [[1, 2, 0, 2, 0], [3, 3, 3, 0, 0], [0, 2, 3, 2, 0], [4, 0, 0, 0, 3], [0, 0, 2, 0, 3]], "min_steps": 7 }, { "id": "3024", "map": [[1, 0, 3, 0, 3], [2, 2, 0, 0, 0], [0, 3, 0, 3, 0], [2, 0, 3, 2, 0], [2, 3, 0, 4, 0]], "min_steps": 7 }], [{ "id": "4001", "map": [[1, 3, 0, 0, 2, 0], [0, 3, 0, 0, 2, 0], [0, 0, 2, 0, 3, 4], [0, 0, 0, 2, 0, 0], [3, 3, 0, 0, 2, 0, 3], [0, 0, 2, 2, 2, 0]], "min_steps": 5 }, { "id": "4002", "map": [[0, 2, 2, 2, 2, 0], [1, 0, 0, 0, 2, 0], [0, 0, 0, 0, 0, 3], [0, 0, 0, 0, 2, 0], [0, 3, 3, 0, 2, 0], [3, 0, 0, 4, 2, 0]], "min_steps": 5 }, { "id": "4003", "map": [[0, 0, 0, 0, 0, 0], [2, 0, 0, 0, 0, 2], [0, 3, 3, 3, 2, 4], [0, 3, 0, 3, 2, 0], [0, 0, 0, 0, 0, 3], [0, 0, 2, 3, 0, 1]], "min_steps": 6 }, { "id": "4004", "map": [[2, 0, 3, 0, 0, 4], [0, 2, 3, 3, 0, 0], [0, 3, 0, 0, 0, 0], [3, 0, 0, 0, 2, 2], [3, 0, 0, 2, 0, 0], [1, 0, 0, 3, 0, 0]], "min_steps": 6 }, { "id": "4006", "map": [[4, 3, 0, 3, 0, 0], [0, 2, 0, 3, 0, 0], [3, 0, 0, 0, 3, 2], [0, 3, 0, 0, 2, 1], [0, 0, 2, 0, 0, 0], [0, 0, 0, 0, 2, 3]], "min_steps": 7 }, { "id": "4007", "map": [[4, 2, 2, 0, 2, 0], [0, 3, 0, 2, 0, 0], [0, 2, 3, 0, 3, 0], [0, 0, 3, 0, 0, 3], [0, 0, 3, 0, 0, 0], [0, 0, 0, 3, 0, 1]], "min_steps": 7 }, { "id": "4014", "map": [[0, 0, 3, 0, 2, 2], [0, 2, 3, 0, 0, 1], [0, 3, 3, 0, 0, 3], [0, 2, 0, 0, 0, 0], [0, 0, 0, 3, 3, 0], [2, 0, 4, 0, 0, 0]], "min_steps": 7 }, { "id": "4015", "map": [[2, 0, 0, 0, 0, 0], [0, 0, 0, 0, 3, 1], [3, 0, 2, 0, 0, 3], [2, 0, 0, 2, 3, 0], [3, 0, 3, 0, 0, 0], [2, 0, 0, 3, 4, 0]], "min_steps": 7 }, { "id": "4005", "map": [[1, 0, 0, 0, 0, 2], [0, 0, 0, 2, 0, 0], [3, 2, 0, 0, 0, 0], [0, 3, 0, 0, 2, 3], [0, 0, 3, 3, 0, 0], [3, 0, 0, 2, 3, 4]], "min_steps": 8 }, { "id": "4008", "map": [[0, 0, 2, 3, 0, 0], [0, 3, 0, 2, 3, 2], [3, 0, 0, 0, 0, 0], [0, 3, 0, 0, 3, 4], [0, 0, 0, 0, 0, 3], [0, 2, 0, 2, 0, 1]], "min_steps": 8 }, { "id": "4009", "map": [[0, 3, 3, 0, 0, 4], [2, 0, 0, 3, 0, 0], [2, 0, 0, 3, 0, 0], [1, 0, 0, 0, 3, 0], [0, 0, 2, 3, 0, 2], [2, 3, 0, 0, 0, 0]], "min_steps": 8 }, { "id": "4010", "map": [[0, 0, 1, 3, 2, 0], [3, 0, 0, 0, 3, 2], [3, 0, 0, 0, 0, 3], [2, 0, 0, 0, 0, 0], [0, 2, 0, 0, 3, 0], [0, 2, 0, 3, 4, 0]], "min_steps": 8 }, { "id": "4011", "map": [[1, 0, 0, 0, 0, 0], [3, 3, 0, 0, 0, 2], [0, 0, 0, 3, 0, 2], [2, 0, 3, 0, 3, 0], [2, 0, 3, 0, 0, 3], [4, 0, 0, 0, 0, 2]], "min_steps": 8 }, { "id": "4016", "map": [[0, 0, 3, 0, 0, 1], [2, 3, 0, 0, 3, 0], [2, 0, 0, 0, 0, 2], [0, 3, 0, 0, 0, 0], [0, 3, 0, 0, 2, 0], [0, 4, 3, 0, 2, 3]], "min_steps": 8 }, { "id": "4017", "map": [[1, 2, 3, 0, 3, 2], [3, 0, 0, 0, 0, 0], [0, 0, 0, 0, 0, 3], [3, 3, 0, 3, 2, 0], [0, 2, 0, 0, 0, 0], [4, 0, 0, 2, 0, 0]], "min_steps": 8 }, { "id": "4018", "map": [[0, 0, 1, 0, 2, 0], [0, 0, 0, 0, 0, 0], [0, 0, 3, 2, 3, 0], [3, 0, 0, 3, 0, 0], [2, 3, 0, 2, 0, 0], [4, 2, 0, 3, 3, 0]], "min_steps": 8 }, { "id": "4012", "map": [[2, 2, 3, 0, 2, 0], [0, 3, 0, 0, 0, 0], [0, 0, 0, 0, 3, 4], [0, 2, 0, 3, 0, 3], [0, 0, 0, 0, 0, 0], [0, 0, 2, 3, 3, 1]], "min_steps": 9 }, { "id": "4013", "map": [[0, 0, 0, 0, 3, 0], [4, 2, 0, 3, 0, 0], [3, 2, 0, 0, 0, 0], [1, 3, 0, 3, 0, 0], [2, 0, 0, 2, 0, 0], [3, 0, 0, 3, 2, 0]], "min_steps": 9 }, { "id": "4019", "map": [[3, 4, 0, 0, 0, 2], [3, 2, 0, 0, 2, 0], [0, 3, 0, 3, 0, 2], [0, 0, 3, 0, 0, 0], [0, 0, 0, 0, 3, 0], [1, 3, 0, 0, 0, 2]], "min_steps": 9 }, { "id": "4020", "map": [[0, 2, 0, 1, 0, 0], [2, 3, 0, 0, 2, 0], [3, 0, 0, 0, 0, 0], [0, 3, 3, 0, 0, 3], [2, 0, 0, 3, 0, 0], [4, 3, 0, 0, 0, 2]], "min_steps": 9 }], [{ "id": "5001", "map": [[1, 0, 0, 0, 0, 0], [0, 2, 2, 3, 0, 2], [3, 2, 0, 0, 3, 3], [0, 0, 0, 0, 0, 4], [0, 0, 0, 2, 2, 0], [3, 0, 2, 2, 0, 0]], "min_steps": 7 }, { "id": "5002", "map": [[0, 0, 0, 0, 4, 3], [3, 2, 3, 0, 0, 0], [0, 2, 0, 2, 3, 0], [2, 2, 0, 0, 0, 0], [3, 2, 0, 0, 0, 0], [3, 0, 0, 2, 0, 3], [2, 0, 0, 3, 0, 1]], "min_steps": 7 }, { "id": "5015", "map": [[1, 2, 3, 2, 2, 0], [3, 0, 0, 0, 0, 3], [0, 0, 0, 0, 0, 0], [0, 0, 0, 0, 0, 2], [0, 3, 0, 3, 2, 0], [0, 0, 0, 0, 0, 0], [0, 2, 0, 4, 0, 3]], "min_steps": 7 }, { "id": "5016", "map": [[3, 0, 1, 0, 0, 0], [0, 2, 0, 2, 0, 0], [0, 2, 0, 2, 0, 3], [0, 0, 0, 0, 0, 0], [0, 2, 0, 0, 3, 3], [0, 0, 0, 0, 2, 3], [0, 0, 0, 3, 0, 4]], "min_steps": 7 }, { "id": "5004", "map": [[0, 3, 3, 2, 3, 0], [2, 0, 2, 0, 3, 0], [1, 0, 3, 2, 0, 0], [3, 3, 0, 0, 0, 2], [0, 0, 0, 0, 0, 0], [0, 2, 0, 0, 0, 0], [0, 0, 0, 3, 4, 0]], "min_steps": 8 }, { "id": "5005", "map": [[0, 0, 0, 0, 0, 1], [0, 0, 2, 0, 2, 0], [3, 2, 2, 0, 0, 0], [3, 0, 0, 3, 0, 0], [3, 3, 0, 0, 0, 3], [4, 3, 0, 0, 0, 0], [2, 0, 0, 2, 3, 0]], "min_steps": 8 }, { "id": "5008", "map": [[3, 0, 3, 2, 0, 4], [0, 3, 0, 2, 0, 2], [0, 0, 3, 0, 0, 0], [2, 0, 0, 2, 0, 0], [0, 0, 3, 0, 0, 0], [0, 0, 0, 3, 0, 0], [3, 2, 1, 3, 0, 0]], "min_steps": 8 }, { "id": "5012", "map": [[2, 3, 0, 2, 0, 1], [2, 0, 0, 0, 0, 0], [2, 0, 0, 3, 0, 2], [3, 0, 3, 0, 0, 3], [0, 0, 0, 0, 3, 3], [3, 0, 0, 0, 2, 0], [0, 0, 0, 0, 0, 4]], "min_steps": 8 }, { "id": "5013", "map": [[0, 0, 2, 1, 2, 0], [0, 3, 0, 0, 0, 0], [2, 0, 0, 0, 0, 0], [0, 0, 0, 3, 0, 0], [3, 0, 0, 2, 3, 0], [3, 3, 3, 2, 0, 2], [0, 0, 4, 0, 0, 3]], "min_steps": 8 }, { "id": "5018", "map": [[0, 2, 0, 1, 0, 0], [2, 0, 0, 3, 0, 0], [0, 0, 0, 0, 0, 0], [3, 0, 0, 0, 0, 0], [2, 3, 0, 2, 3, 3], [2, 0, 0, 0, 0, 2], [4, 3, 0, 0, 0, 0]], "min_steps": 8 }, { "id": "5019", "map": [[1, 3, 0, 2, 3, 0], [0, 0, 0, 0, 0, 2], [0, 0, 0, 0, 0, 0], [0, 0, 2, 0, 0, 2], [3, 3, 0, 3, 0, 2], [4, 0, 2, 0, 0, 0], [0, 0, 0, 3, 0, 0]], "min_steps": 8 }, { "id": "5029", "map": [[4, 3, 0, 0, 0, 0], [2, 0, 0, 3, 0, 2], [3, 2, 0, 3, 3, 0], [2, 0, 0, 3, 0, 0], [0, 2, 0, 0, 0, 0], [2, 0, 0, 0, 0, 0], [3, 0, 3, 3, 0, 1]], "min_steps": 8 }, { "id": "5030", "map": [[0, 0, 0, 0, 0, 0], [0, 0, 2, 3, 2, 0], [0, 3, 0, 0, 0, 0], [2, 2, 0, 3, 0, 0], [0, 3, 3, 0, 3, 4], [0, 0, 2, 0, 0, 3], [3, 1, 0, 3, 0, 2]], "min_steps": 8 }, { "id": "5006", "map": [[0, 3, 0, 0, 0, 0], [1, 0, 0, 0, 3, 0], [0, 0, 3, 2, 0, 0], [3, 0, 0, 2, 2, 0], [0, 3, 0, 3, 3, 0], [0, 2, 0, 0, 0, 0], [4, 0, 3, 0, 2, 2]], "min_steps": 9 }, { "id": "5007", "map": [[0, 2, 0, 3, 0, 0], [1, 2, 0, 2, 0, 0], [0, 3, 0, 3, 0, 0], [3, 0, 0, 0, 0, 3], [0, 0, 3, 2, 0, 2], [4, 0, 0, 3, 0, 3], [0, 2, 0, 0, 0, 0]], "min_steps": 9 }, { "id": "5010", "map": [[0, 3, 1, 0, 0, 0], [0, 2, 3, 3, 0, 0], [0, 2, 0, 3, 0, 0], [0, 2, 0, 2, 0, 3], [0, 2, 0, 0, 3, 0], [0, 3, 0, 0, 0, 0], [0, 2, 4, 0, 0, 3]], "min_steps": 9 }, { "id": "5011", "map": [[1, 0, 3, 0, 3, 0], [0, 2, 0, 0, 0, 0], [2, 0, 2, 0, 3, 0], [0, 3, 2, 0, 0, 0], [3, 0, 0, 0, 0, 2], [4, 0, 3, 0, 0, 0], [3, 2, 0, 0, 0, 3]], "min_steps": 9 }, { "id": "5014", "map": [[0, 1, 0, 0, 0, 0], [2, 0, 2, 0, 0, 2], [2, 3, 0, 3, 0, 0], [0, 3, 0, 0, 0, 3], [0, 0, 0, 2, 0, 3], [0, 0, 3, 0, 3, 0], [2, 0, 3, 0, 0, 4]], "min_steps": 9 }, { "id": "5017", "map": [[0, 0, 0, 0, 0, 0], [1, 2, 3, 0, 0, 2], [0, 0, 2, 0, 0, 2], [3, 0, 2, 3, 0, 0], [0, 3, 3, 0, 2, 0], [0, 0, 0, 0, 0, 0], [4, 0, 3, 0, 0, 0]], "min_steps": 9 }, { "id": "5028", "map": [[0, 0, 1, 0, 0, 3], [3, 0, 0, 0, 3, 4], [0, 2, 0, 2, 3, 2], [0, 3, 2, 3, 3, 0], [0, 0, 0, 3, 0, 0], [0, 0, 3, 0, 0, 2], [0, 0, 2, 0, 0, 0]], "min_steps": 9 }, { "id": "5003", "map": [[0, 0, 1, 3, 0, 2], [0, 3, 3, 0, 0, 0], [0, 0, 3, 2, 0, 0], [0, 0, 3, 0, 0, 0], [3, 0, 0, 0, 2, 2], [0, 0, 2, 3, 0, 0], [0, 2, 0, 3, 0, 4]], "min_steps": 10 }, { "id": "5009", "map": [[0, 2, 0, 0, 0, 3], [0, 0, 3, 3, 3, 4], [0, 3, 0, 0, 0, 0], [0, 3, 2, 0, 0, 0], [1, 2, 3, 2, 0, 3], [2, 0, 0, 0, 0, 0], [0, 0, 0, 0, 2, 0]], "min_steps": 10 }, { "id": "5021", "map": [[0, 0, 0, 0, 0, 0], [0, 0, 0, 0, 3, 0], [3, 0, 0, 0, 2, 0], [2, 0, 0, 2, 3, 0], [0, 3, 0, 0, 0, 2], [0, 2, 3, 0, 0, 0], [4, 3, 1, 2, 0, 0]], "min_steps": 10 }, { "id": "5022", "map": [[4, 0, 3, 0, 0, 2], [0, 0, 0, 0, 2, 0], [0, 3, 0, 2, 3, 2], [3, 0, 3, 0, 3, 0], [0, 2, 0, 0, 0, 0], [0, 3, 0, 3, 0, 3], [0, 2, 1, 0, 0, 0]], "min_steps": 10 }, { "id": "5023", "map": [[3, 0, 0, 3, 3, 0], [0, 0, 3, 0, 0, 3], [2, 3, 0, 0, 0, 0], [2, 2, 0, 0, 2, 0], [0, 3, 0, 0, 0, 0], [2, 0, 3, 0, 0, 4], [0, 1, 3, 0, 2, 0]], "min_steps": 10 }, { "id": "5024", "map": [[3, 0, 2, 3, 0, 0], [4, 2, 0, 0, 0, 3], [2, 2, 0, 0, 0, 0], [0, 0, 3, 0, 0, 2], [0, 0, 0, 3, 0, 3], [0, 3, 3, 0, 2, 0], [3, 0, 1, 0, 0, 0]], "min_steps": 10 }, { "id": "5020", "map": [[0, 0, 0, 2, 0, 0], [0, 3, 0, 0, 0, 3], [0, 2, 0, 0, 3, 0], [2, 0, 0, 2, 3, 4], [0, 2, 3, 0, 0, 0], [0, 0, 0, 3, 0, 0], [3, 2, 0, 1, 3, 0]], "min_steps": 11 }, { "id": "5025", "map": [[1, 0, 0, 0, 3, 0], [0, 0, 0, 3, 3, 2], [3, 3, 2, 0, 0, 2], [0, 0, 0, 0, 0, 3], [0, 0, 2, 0, 2, 0], [0, 0, 0, 0, 3, 4], [0, 3, 2, 3, 0, 0]], "min_steps": 11 }, { "id": "5026", "map": [[0, 3, 2, 0, 0, 0], [0, 0, 2, 3, 3, 0], [2, 0, 0, 2, 0, 0], [3, 2, 0, 0, 3, 2], [0, 0, 0, 3, 3, 1], [0, 0, 3, 0, 0, 3], [0, 0, 0, 0, 0, 4]], "min_steps": 11 }, { "id": "5027", "map": [[0, 0, 3, 0, 0, 1], [0, 0, 0, 0, 0, 3], [2, 0, 2, 0, 2, 3], [0, 0, 3, 3, 0, 3], [0, 0, 0, 2, 3, 0], [0, 0, 0, 2, 0, 3], [2, 0, 3, 0, 4, 0]], "min_steps": 11 }], [{ "id": "6028", "map": [[0, 0, 3, 0, 0, 2], [1, 3, 2, 2, 0, 3], [0, 0, 3, 0, 0, 2], [0, 0, 0, 0, 0, 0], [0, 0, 2, 0, 3, 3], [3, 3, 3, 0, 0, 0], [4, 0, 0, 0, 0, 2]], "min_steps": 8 }, { "id": "6029", "map": [[0, 0, 2, 0, 0, 1], [3, 2, 3, 0, 0, 3], [2, 0, 3, 0, 3, 0], [3, 3, 0, 0, 0, 0], [0, 0, 0, 3, 3, 2], [0, 0, 0, 0, 0, 2], [0, 0, 0, 4, 2, 0]], "min_steps": 8 }, { "id": "6030", "map": [[0, 3, 3, 0, 1, 0], [2, 3, 0, 0, 3, 0], [0, 0, 0, 3, 0, 2], [0, 0, 3, 0, 2, 0], [0, 0, 2, 3, 3, 3], [0, 0, 0, 0, 0, 0], [4, 0, 0, 2, 0, 2]], "min_steps": 8 }, { "id": "6001", "map": [[0, 0, 3, 3, 4, 2], [0, 0, 0, 2, 0, 0], [2, 3, 3, 2, 0, 0], [0, 3, 0, 0, 0, 2], [0, 0, 0, 3, 2, 2], [2, 0, 0, 3, 0, 2], [1, 3, 2, 0, 0, 0], [0, 0, 0, 3, 0, 0]], "min_steps": 9 }, { "id": "6012", "map": [[3, 0, 0, 0, 2, 0], [0, 3, 0, 3, 0, 0], [0, 3, 0, 0, 0, 3], [2, 0, 0, 3, 2, 0], [3, 2, 2, 2, 0, 0], [3, 0, 2, 0, 3, 0], [1, 2, 3, 0, 2, 0], [2, 3, 0, 0, 3, 4]], "min_steps": 9 }, { "id": "6016", "map": [[0, 0, 1, 0, 2, 3], [0, 3, 2, 0, 2, 0], [3, 3, 3, 3, 0, 0], [3, 0, 0, 0, 0, 0], [2, 2, 3, 0, 3, 3], [0, 0, 2, 0, 2, 0], [0, 2, 0, 2, 0, 3], [3, 0, 2, 0, 0, 4]], "min_steps": 9 }, { "id": "6008", "map": [[0, 0, 2, 0, 3, 4], [3, 3, 2, 3, 0, 0], [0, 0, 0, 0, 0, 3], [0, 0, 2, 3, 2, 0], [0, 0, 2, 0, 3, 2], [3, 3, 0, 0, 0, 2], [0, 3, 0, 0, 0, 0], [2, 1, 0, 0, 0, 0]], "min_steps": 10 }, { "id": "6013", "map": [[3, 0, 0, 2, 2, 0], [0, 2, 0, 3, 0, 2], [0, 0, 3, 2, 3, 0], [0, 3, 0, 0, 3, 0], [2, 2, 3, 2, 0, 0], [0, 0, 3, 3, 0, 0], [0, 2, 0, 3, 2, 0], [4, 3, 3, 0, 1, 0]], "min_steps": 10 }, { "id": "6017", "map": [[4, 0, 0, 0, 0, 3], [0, 3, 3, 0, 0, 0], [3, 0, 2, 2, 0, 0], [3, 0, 2, 3, 3, 2], [3, 2, 0, 2, 3, 3], [2, 0, 2, 0, 0, 0], [0, 0, 0, 0, 0, 3], [2, 3, 0, 2, 0, 1]], "min_steps": 10 }, { "id": "6022", "map": [[0, 0, 3, 4, 3, 0], [0, 3, 0, 2, 2, 0], [2, 0, 2, 0, 0, 3], [0, 0, 0, 0, 0, 0], [2, 3, 0, 3, 2, 0], [0, 3, 0, 0, 0, 0], [0, 1, 3, 0, 0, 3]], "min_steps": 10 }, { "id": "6023", "map": [[0, 0, 3, 1, 0, 2], [0, 0, 2, 3, 0, 0], [4, 0, 3, 0, 0, 0], [2, 0, 3, 0, 0, 3], [2, 0, 3, 0, 3, 0], [0, 0, 0, 0, 0, 0], [2, 3, 0, 2, 3, 0]], "min_steps": 10 }, { "id": "6024", "map": [[0, 3, 0, 2, 0, 4], [3, 0, 0, 3, 3, 3], [0, 0, 2, 0, 0, 0], [2, 3, 3, 0, 0, 0], [2, 0, 0, 0, 0, 3], [2, 0, 3, 0, 0, 1], [0, 0, 0, 0, 0, 2]], "min_steps": 10 }, { "id": "6025", "map": [[4, 0, 2, 0, 0, 0], [0, 0, 3, 3, 0, 2], [3, 3, 0, 0, 0, 3], [0, 2, 0, 2, 0, 0], [0, 0, 0, 0, 3, 0], [1, 3, 0, 0, 2, 2], [0, 3, 0, 0, 0, 3]], "min_steps": 10 }, { "id": "6002", "map": [[0, 0, 3, 3, 4, 2], [0, 0, 0, 2, 0, 0], [2, 3, 3, 2, 0, 0], [0, 3, 0, 0, 0, 2], [0, 0, 0, 3, 2, 2], [2, 0, 0, 3, 0, 2], [1, 3, 2, 0, 0, 0], [0, 0, 0, 3, 0, 0]], "min_steps": 11 }, { "id": "6006", "map": [[1, 0, 2, 0, 0, 3], [0, 0, 0, 0, 3, 0], [3, 0, 0, 3, 2, 0], [2, 3, 0, 0, 0, 3], [0, 0, 3, 2, 0, 3], [0, 2, 0, 3, 0, 0], [2, 3, 0, 2, 0, 0], [0, 4, 0, 2, 0, 0]], "min_steps": 11 }, { "id": "6009", "map": [[4, 3, 0, 0, 3, 0], [0, 0, 0, 0, 0, 0], [3, 3, 0, 2, 0, 2], [3, 0, 0, 2, 2, 0], [2, 3, 2, 0, 0, 0], [1, 3, 3, 0, 0, 0], [2, 0, 0, 0, 0, 0], [3, 3, 0, 0, 0, 2]], "min_steps": 11 }, { "id": "6018", "map": [[2, 3, 0, 0, 2, 3], [2, 0, 0, 3, 0, 4], [2, 0, 0, 0, 0, 0], [0, 3, 2, 0, 2, 3], [0, 0, 0, 0, 0, 3], [2, 0, 3, 3, 2, 3], [0, 0, 0, 3, 2, 0], [2, 3, 1, 3, 0, 0]], "min_steps": 11 }, { "id": "6026", "map": [[0, 1, 0, 3, 0, 4], [0, 0, 3, 0, 3, 0], [2, 2, 3, 2, 0, 0], [0, 0, 3, 0, 3, 3], [2, 0, 0, 0, 0, 2], [0, 3, 0, 0, 0, 2], [0, 0, 0, 0, 0, 3]], "min_steps": 11 }, { "id": "6027", "map": [[2, 1, 3, 0, 0, 0], [0, 0, 0, 0, 3, 0], [3, 3, 0, 0, 0, 0], [2, 2, 3, 3, 3, 0], [0, 2, 0, 0, 0, 0], [3, 2, 0, 0, 0, 0], [0, 4, 0, 2, 3, 0]], "min_steps": 11 }, { "id": "6031", "map": [[0, 1, 0, 3, 0, 4], [0, 0, 3, 0, 3, 0], [2, 2, 3, 2, 0, 0], [0, 0, 3, 0, 3, 3], [2, 0, 0, 0, 0, 2], [0, 3, 0, 0, 0, 2], [0, 0, 0, 0, 0, 3]], "min_steps": 11 }, { "id": "6003", "map": [[0, 2, 2, 0, 0, 4], [0, 3, 3, 0, 0, 0], [3, 2, 0, 0, 0, 0], [0, 3, 0, 0, 3, 3], [0, 2, 0, 3, 0, 0], [2, 3, 0, 0, 0, 0], [0, 2, 3, 0, 0, 0], [1, 2, 3, 0, 2, 0]], "min_steps": 12 }, { "id": "6011", "map": [[3, 0, 2, 2, 3, 2], [1, 0, 0, 0, 0, 3], [0, 0, 3, 2, 3, 0], [3, 0, 3, 0, 0, 0], [4, 3, 2, 3, 0, 2], [0, 0, 2, 0, 2, 3], [2, 0, 0, 0, 0, 3], [0, 0, 0, 2, 0, 3]], "min_steps": 12 }, { "id": "6014", "map": [[4, 3, 0, 0, 0, 0], [0, 2, 2, 2, 3, 0], [0, 3, 0, 0, 0, 0], [2, 3, 2, 3, 0, 0], [3, 3, 0, 0, 0, 3], [0, 0, 0, 2, 3, 0], [0, 3, 2, 0, 2, 2], [2, 3, 3, 0, 0, 1]], "min_steps": 12 }, { "id": "6020", "map": [[3, 2, 0, 0, 0, 0], [4, 0, 2, 0, 2, 0], [3, 3, 0, 0, 2, 2], [0, 0, 3, 0, 2, 0], [0, 0, 0, 0, 2, 3], [0, 2, 3, 3, 0, 0], [2, 3, 0, 0, 3, 3], [1, 3, 3, 2, 0, 0]], "min_steps": 12 }, { "id": "6021", "map": [[4, 3, 0, 0, 0, 0], [0, 2, 2, 2, 3, 0], [0, 3, 0, 0, 0, 0], [2, 3, 2, 3, 0, 0], [3, 3, 0, 0, 0, 3], [0, 0, 0, 2, 3, 0], [0, 3, 2, 0, 2, 2], [2, 3, 3, 0, 0, 1]], "min_steps": 12 }, { "id": "6004", "map": [[0, 3, 0, 2, 2, 0], [0, 0, 0, 0, 0, 2], [3, 0, 0, 0, 0, 0], [0, 3, 0, 0, 0, 0], [0, 3, 3, 0, 3, 0], [2, 0, 0, 0, 3, 2], [2, 0, 0, 0, 3, 1], [4, 3, 0, 2, 3, 2]], "min_steps": 13 }, { "id": "6005", "map": [[2, 2, 4, 2, 3, 0], [0, 3, 3, 2, 0, 0], [3, 0, 0, 3, 0, 2], [3, 0, 2, 3, 3, 0], [0, 0, 0, 0, 0, 0], [0, 0, 0, 0, 2, 3], [3, 2, 0, 0, 0, 1], [0, 0, 0, 0, 0, 0]], "min_steps": 13 }, { "id": "6007", "map": [[3, 2, 0, 0, 3, 4], [0, 2, 0, 0, 3, 0], [0, 0, 2, 0, 2, 0], [2, 0, 0, 3, 0, 3], [0, 0, 2, 0, 3, 2], [0, 2, 3, 3, 0, 1], [0, 0, 0, 0, 0, 3], [0, 0, 0, 3, 0, 0]], "min_steps": 13 }, { "id": "6010", "map": [[0, 3, 1, 0, 0, 0], [0, 2, 3, 3, 0, 0], [2, 0, 0, 3, 0, 0], [0, 2, 0, 0, 3, 2], [3, 0, 0, 0, 0, 2], [3, 2, 0, 0, 0, 0], [4, 0, 0, 3, 2, 0], [0, 3, 0, 3, 2, 0]], "min_steps": 13 }, { "id": "6015", "map": [[4, 0, 0, 0, 2, 3], [0, 0, 3, 0, 0, 3], [2, 2, 3, 2, 0, 0], [3, 0, 0, 0, 3, 2], [2, 3, 0, 3, 0, 2], [0, 0, 3, 0, 2, 3], [0, 0, 0, 0, 0, 3], [1, 2, 2, 3, 0, 0]], "min_steps": 14 }, { "id": "6019", "map": [[4, 0, 0, 0, 2, 3], [0, 0, 3, 0, 0, 3], [2, 2, 3, 2, 0, 0], [3, 0, 0, 0, 3, 2], [2, 3, 0, 3, 0, 2], [0, 0, 3, 0, 2, 3], [0, 0, 0, 0, 0, 3], [1, 2, 2, 3, 0, 0]], "min_steps": 14 }], [{ "id": "7001", "map": [[0, 2, 0, 0, 2, 0], [3, 3, 0, 2, 0, 4], [0, 0, 0, 0, 0, 3], [0, 0, 0, 0, 3, 2], [0, 0, 0, 0, 0, 2], [3, 3, 0, 0, 0, 2], [0, 3, 3, 2, 2, 0], [0, 3, 2, 2, 0, 3], [1, 2, 0, 0, 2, 0]], "min_steps": 9 }, { "id": "7023", "map": [[3, 2, 0, 2, 0, 1], [0, 3, 3, 2, 3, 3], [0, 3, 3, 0, 3, 0], [0, 2, 2, 2, 0, 3], [0, 3, 2, 0, 0, 3], [0, 0, 0, 0, 2, 0], [2, 2, 2, 3, 0, 0], [2, 0, 3, 0, 3, 0], [0, 0, 3, 0, 0, 4]], "min_steps": 9 }, { "id": "7003", "map": [[1, 3, 2, 0, 0, 0], [0, 0, 0, 2, 0, 0], [0, 3, 0, 2, 0, 0], [3, 3, 3, 2, 0, 3], [2, 3, 3, 0, 3, 0], [0, 0, 0, 0, 0, 2], [3, 0, 2, 2, 3, 2], [4, 2, 0, 0, 2, 0], [0, 0, 2, 0, 0, 2]], "min_steps": 10 }, { "id": "7002", "map": [[1, 0, 3, 2, 0, 2], [0, 3, 0, 0, 0, 2], [0, 2, 0, 3, 2, 2], [0, 3, 0, 0, 0, 0], [0, 2, 0, 3, 3, 0], [3, 2, 2, 0, 0, 3], [0, 3, 2, 3, 0, 2], [0, 0, 0, 0, 0, 0], [2, 0, 0, 2, 3, 4]], "min_steps": 11 }, { "id": "7005", "map": [[0, 0, 0, 0, 0, 0], [0, 0, 0, 3, 2, 4], [0, 3, 0, 0, 3, 3], [3, 3, 0, 2, 0, 3], [0, 2, 2, 0, 3, 2], [0, 0, 3, 0, 2, 0], [0, 2, 0, 2, 0, 0], [3, 0, 0, 2, 2, 0], [0, 0, 2, 2, 0, 1]], "min_steps": 11 }, { "id": "7006", "map": [[0, 0, 0, 0, 2, 3], [3, 2, 0, 0, 0, 0], [0, 2, 0, 3, 3, 4], [0, 0, 0, 2, 2, 3], [2, 0, 0, 0, 0, 0], [0, 0, 0, 0, 3, 0], [3, 0, 3, 3, 0, 2], [3, 0, 2, 2, 0, 2], [0, 0, 2, 2, 0, 1]], "min_steps": 11 }, { "id": "7007", "map": [[2, 0, 2, 0, 2, 0], [0, 0, 2, 0, 3, 2], [0, 0, 0, 3, 3, 0], [0, 2, 0, 0, 3, 2], [3, 0, 0, 2, 0, 0], [3, 3, 0, 0, 0, 2], [0, 2, 0, 3, 2, 0], [0, 2, 3, 0, 0, 0], [4, 3, 0, 0, 1, 0]], "min_steps": 11 }, { "id": "7026", "map": [[2, 4, 2, 0, 0, 0], [0, 3, 3, 0, 3, 0], [3, 3, 3, 0, 0, 3], [2, 0, 3, 0, 0, 2], [0, 2, 2, 3, 0, 3], [1, 0, 2, 0, 2, 0], [3, 3, 0, 0, 0, 0], [2, 0, 0, 0, 3, 2], [2, 0, 3, 2, 3, 0]], "min_steps": 11 }, { "id": "7027", "map": [[2, 0, 0, 0, 0, 2], [0, 0, 3, 3, 2, 3], [0, 0, 3, 0, 0, 1], [0, 3, 0, 3, 3, 3], [0, 0, 0, 0, 0, 2], [3, 3, 2, 0, 0, 2], [3, 3, 0, 2, 0, 3], [0, 3, 2, 2, 2, 0], [0, 3, 4, 2, 2, 0]], "min_steps": 11 }, { "id": "7029", "map": [[0, 0, 1, 0, 0, 0], [3, 3, 0, 0, 3, 2], [3, 0, 0, 0, 2, 0], [0, 2, 0, 2, 2, 0], [2, 3, 3, 3, 0, 3], [3, 2, 2, 3, 0, 0], [2, 0, 3, 0, 0, 3], [3, 2, 0, 0, 0, 3], [4, 2, 0, 0, 3, 2]], "min_steps": 11 }, { "id": "7008", "map": [[1, 0, 0, 0, 2, 0], [3, 3, 2, 0, 3, 0], [3, 0, 3, 0, 0, 0], [0, 0, 3, 0, 0, 3], [2, 2, 0, 3, 0, 3], [2, 0, 2, 0, 0, 0], [2, 0, 2, 0, 0, 2], [2, 0, 0, 2, 0, 0], [4, 3, 0, 0, 0, 2]], "min_steps": 12 }, { "id": "7010", "map": [[4, 3, 0, 3, 1, 0], [0, 0, 3, 3, 0, 0], [0, 3, 0, 0, 2, 2], [2, 0, 3, 0, 0, 2], [3, 2, 0, 2, 3, 0], [0, 0, 0, 0, 0, 0], [0, 2, 0, 2, 2, 0], [0, 2, 0, 3, 0, 2], [0, 2, 0, 0, 0, 3]], "min_steps": 12 }, { "id": "7016", "map": [[2, 3, 4, 0, 0, 3], [0, 3, 2, 2, 3, 1], [0, 2, 2, 3, 0, 0], [3, 0, 3, 0, 2, 0], [3, 0, 0, 0, 2, 2], [0, 0, 3, 3, 0, 0], [0, 3, 0, 3, 2, 0], [0, 0, 3, 0, 3, 2], [0, 2, 2, 3, 0, 0]], "min_steps": 12 }, { "id": "7020", "map": [[2, 3, 0, 4, 3, 3], [3, 3, 0, 0, 3, 0], [0, 2, 0, 3, 2, 0], [0, 3, 0, 0, 0, 2], [3, 2, 0, 0, 0, 0], [0, 0, 3, 2, 0, 3], [0, 3, 0, 3, 2, 0], [3, 2, 2, 0, 0, 2], [0, 0, 2, 1, 3, 2]], "min_steps": 12 }, { "id": "7024", "map": [[1, 3, 2, 0, 0, 3], [2, 3, 2, 0, 0, 0], [0, 2, 3, 0, 3, 3], [3, 0, 0, 2, 0, 3], [2, 3, 0, 0, 0, 3], [3, 3, 0, 0, 0, 0], [2, 0, 3, 0, 0, 2], [0, 0, 2, 0, 2, 2], [4, 2, 3, 0, 3, 0]], "min_steps": 12 }, { "id": "7032", "map": [[0, 0, 0, 0, 3, 4], [0, 0, 3, 3, 3, 2], [2, 2, 3, 3, 0, 0], [0, 0, 3, 2, 0, 0], [0, 2, 0, 2, 3, 2], [0, 2, 3, 0, 0, 3], [2, 3, 3, 0, 0, 2], [1, 0, 3, 0, 3, 2], [0, 0, 3, 0, 0, 2]], "min_steps": 12 }, { "id": "7033", "map": [[1, 0, 0, 3, 0, 3], [3, 3, 2, 0, 2, 0], [0, 3, 3, 2, 0, 2], [3, 2, 0, 3, 0, 0], [4, 2, 2, 2, 0, 0], [0, 3, 0, 0, 0, 0], [3, 3, 3, 0, 0, 2], [3, 0, 3, 2, 0, 3], [2, 0, 0, 0, 0, 2]], "min_steps": 12 }, { "id": "7035", "map": [[3, 0, 0, 2, 0, 4], [3, 0, 2, 3, 3, 3], [0, 0, 2, 3, 0, 2], [3, 0, 3, 3, 3, 0], [2, 2, 0, 0, 0, 0], [2, 2, 3, 0, 0, 0], [0, 0, 2, 3, 0, 0], [0, 2, 0, 3, 2, 3], [0, 0, 3, 1, 2, 0]], "min_steps": 12 }, { "id": "7036", "map": [[2, 3, 1, 0, 0, 2], [0, 3, 0, 0, 0, 0], [2, 0, 2, 0, 0, 3], [0, 0, 3, 3, 0, 3], [0, 2, 2, 0, 0, 3], [0, 3, 2, 3, 3, 0], [0, 3, 2, 0, 0, 2], [0, 3, 2, 0, 2, 3], [2, 0, 3, 3, 4, 0]], "min_steps": 12 }, { "id": "7037", "map": [[2, 0, 0, 0, 0, 3], [0, 2, 3, 0, 2, 2], [0, 0, 3, 0, 2, 0], [0, 2, 2, 0, 0, 0], [3, 2, 3, 0, 0, 3], [0, 0, 3, 3, 0, 3], [3, 2, 3, 0, 0, 3], [0, 0, 3, 3, 2, 0], [4, 3, 1, 2, 0, 2]], "min_steps": 12 }, { "id": "7039", "map": [[2, 0, 3, 3, 2, 0], [0, 0, 0, 0, 2, 3], [1, 3, 0, 0, 0, 2], [0, 2, 3, 2, 2, 2], [0, 0, 3, 0, 0, 0], [0, 3, 0, 0, 3, 0], [3, 0, 0, 2, 3, 2], [2, 0, 3, 0, 2, 3], [0, 4, 3, 0, 3, 3]], "min_steps": 12 }, { "id": "7040", "map": [[0, 2, 3, 3, 4, 0], [0, 2, 0, 0, 3, 2], [0, 0, 3, 0, 2, 0], [3, 0, 2, 0, 0, 3], [2, 0, 0, 3, 0, 3], [3, 3, 0, 2, 2, 0], [2, 2, 3, 0, 2, 0], [1, 3, 0, 0, 2, 3], [0, 0, 0, 3, 0, 3]], "min_steps": 12 }, { "id": "7041", "map": [[3, 3, 0, 2, 3, 1], [0, 3, 3, 2, 0, 2], [0, 2, 0, 0, 0, 0], [0, 0, 0, 0, 0, 0], [3, 3, 3, 2, 3, 0], [0, 3, 3, 2, 3, 2], [4, 0, 3, 0, 2, 0], [2, 2, 2, 0, 0, 0], [0, 3, 2, 0, 3, 0]], "min_steps": 12 }, { "id": "7004", "map": [[2, 0, 0, 2, 0, 0], [0, 3, 0, 0, 0, 1], [0, 2, 0, 0, 0, 0], [0, 0, 0, 0, 2, 0], [0, 0, 3, 3, 3, 2], [0, 0, 0, 3, 2, 3], [0, 0, 2, 0, 0, 3], [0, 2, 3, 2, 2, 4], [3, 2, 2, 0, 3, 0]], "min_steps": 13 }, { "id": "7009", "map": [[4, 0, 3, 1, 0, 2], [0, 2, 3, 3, 3, 0], [0, 2, 3, 2, 2, 0], [3, 0, 3, 0, 0, 2], [0, 0, 0, 0, 0, 0], [3, 2, 0, 0, 2, 0], [3, 2, 0, 0, 2, 0], [0, 0, 2, 2, 2, 0], [0, 0, 0, 0, 3, 0]], "min_steps": 13 }, { "id": "7014", "map": [[3, 4, 2, 3, 0, 0], [2, 3, 0, 3, 0, 0], [0, 2, 2, 0, 0, 0], [0, 3, 3, 0, 3, 3], [0, 0, 0, 0, 0, 0], [3, 2, 0, 0, 2, 2], [2, 2, 2, 2, 0, 3], [0, 0, 3, 3, 0, 3], [1, 2, 0, 3, 3, 0]], "min_steps": 13 }, { "id": "7015", "map": [[2, 3, 4, 0, 3, 0], [1, 2, 3, 2, 3, 0], [0, 0, 3, 0, 2, 0], [2, 0, 0, 3, 0, 0], [2, 2, 0, 2, 0, 3], [0, 0, 2, 0, 0, 0], [3, 0, 0, 3, 3, 0], [0, 0, 3, 0, 2, 3], [3, 0, 3, 2, 3, 2]], "min_steps": 13 }, { "id": "7025", "map": [[2, 3, 1, 0, 3, 3], [0, 0, 2, 3, 2, 0], [0, 2, 0, 0, 0, 3], [0, 3, 0, 0, 0, 3], [2, 0, 0, 3, 2, 0], [0, 0, 2, 3, 0, 2], [2, 0, 3, 2, 0, 3], [3, 3, 0, 0, 3, 3], [2, 4, 0, 2, 0, 0]], "min_steps": 13 }, { "id": "7030", "map": [[2, 0, 1, 2, 0, 0], [0, 2, 3, 3, 0, 2], [2, 3, 3, 3, 0, 2], [3, 0, 0, 2, 2, 0], [0, 3, 0, 3, 2, 0], [0, 0, 2, 0, 2, 3], [3, 3, 0, 3, 3, 2], [4, 3, 0, 0, 0, 0], [0, 0, 0, 0, 0, 3]], "min_steps": 13 }, { "id": "7031", "map": [[0, 2, 2, 3, 4, 2], [3, 3, 0, 0, 2, 2], [0, 0, 0, 3, 2, 0], [0, 3, 0, 0, 3, 3], [0, 2, 0, 2, 3, 0], [2, 3, 0, 0, 0, 0], [3, 3, 0, 3, 0, 2], [0, 0, 2, 3, 3, 3], [1, 0, 2, 0, 0, 0]], "min_steps": 13 }, { "id": "7038", "map": [[4, 2, 3, 3, 2, 3], [0, 3, 0, 2, 3, 0], [0, 0, 0, 2, 0, 2], [3, 3, 2, 3, 0, 0], [0, 3, 0, 3, 2, 3], [0, 2, 2, 2, 0, 0], [1, 3, 0, 0, 3, 0], [2, 0, 0, 0, 3, 2], [0, 0, 3, 0, 0, 0]], "min_steps": 13 }, { "id": "7011", "map": [[0, 1, 0, 0, 2, 0], [3, 0, 3, 3, 2, 3], [0, 3, 3, 2, 0, 0], [0, 0, 2, 0, 3, 3], [2, 3, 2, 0, 0, 0], [3, 2, 2, 3, 3, 0], [2, 0, 2, 2, 0, 4], [0, 2, 0, 3, 0, 0], [0, 0, 0, 3, 0, 3]], "min_steps": 14 }, { "id": "7017", "map": [[2, 0, 0, 3, 0, 3], [4, 3, 0, 2, 0, 3], [3, 0, 0, 0, 3, 0], [2, 0, 0, 2, 0, 0], [3, 0, 0, 3, 0, 0], [2, 3, 0, 2, 2, 2], [1, 3, 3, 0, 2, 2], [0, 3, 0, 0, 3, 0], [0, 2, 0, 3, 3, 2]], "min_steps": 14 }, { "id": "7019", "map": [[0, 3, 0, 2, 3, 1], [0, 3, 0, 2, 0, 2], [0, 2, 2, 0, 3, 3], [0, 0, 3, 2, 0, 3], [0, 0, 3, 2, 2, 0], [2, 2, 3, 0, 2, 2], [0, 3, 0, 0, 3, 0], [3, 0, 0, 3, 3, 0], [0, 0, 0, 3, 0, 4]], "min_steps": 14 }, { "id": "7021", "map": [[0, 0, 0, 0, 2, 4], [3, 0, 2, 0, 0, 0], [3, 0, 2, 3, 3, 3], [2, 0, 3, 3, 3, 0], [2, 0, 0, 0, 2, 3], [3, 3, 0, 0, 0, 2], [1, 0, 3, 0, 2, 2], [2, 2, 0, 2, 0, 0], [0, 0, 3, 3, 0, 3]], "min_steps": 14 }, { "id": "7022", "map": [[4, 0, 0, 0, 0, 0], [0, 0, 0, 0, 3, 2], [3, 3, 2, 3, 3, 2], [2, 0, 0, 0, 0, 2], [0, 0, 3, 0, 3, 3], [2, 0, 2, 3, 2, 1], [3, 2, 3, 0, 0, 3], [2, 0, 0, 3, 2, 2], [3, 3, 0, 0, 0, 0]], "min_steps": 15 }, { "id": "7028", "map": [[0, 2, 1, 3, 0, 2], [0, 3, 3, 3, 0, 2], [0, 0, 0, 3, 0, 2], [3, 0, 0, 3, 2, 4], [2, 0, 0, 3, 2, 2], [2, 2, 3, 0, 0, 3], [0, 2, 0, 0, 0, 0], [0, 3, 3, 3, 2, 0], [0, 3, 0, 3, 0, 0]], "min_steps": 16 }, { "id": "7034", "map": [[1, 0, 0, 3, 2, 0], [0, 2, 2, 3, 3, 0], [3, 0, 0, 2, 0, 3], [2, 3, 2, 2, 0, 3], [0, 0, 3, 0, 0, 3], [3, 0, 0, 0, 3, 0], [2, 3, 0, 3, 2, 4], [0, 3, 0, 0, 0, 3], [0, 2, 0, 0, 2, 2]], "min_steps": 16 }, { "id": "7012", "map": [[1, 3, 3, 3, 0, 0], [0, 3, 0, 2, 0, 0], [0, 0, 0, 3, 0, 2], [3, 0, 0, 3, 2, 3], [0, 0, 2, 0, 0, 3], [0, 0, 2, 3, 2, 0], [2, 2, 3, 2, 3, 2], [0, 3, 0, 2, 0, 2], [0, 3, 4, 3, 0, 0]], "min_steps": 17 }, { "id": "7013", "map": [[0, 1, 0, 0, 3, 3], [0, 2, 0, 3, 0, 0], [2, 3, 0, 0, 0, 0], [0, 0, 0, 3, 0, 3], [0, 3, 0, 2, 3, 2], [2, 0, 3, 3, 2, 0], [0, 2, 2, 3, 0, 2], [2, 3, 2, 0, 3, 0], [0, 3, 3, 0, 2, 4]], "min_steps": 17 }, { "id": "7018", "map": [[0, 0, 0, 0, 0, 2], [1, 0, 3, 3, 0, 2], [3, 3, 0, 3, 2, 3], [0, 3, 0, 2, 0, 0], [0, 3, 0, 0, 2, 2], [3, 0, 0, 2, 3, 0], [0, 3, 3, 3, 0, 0], [2, 0, 3, 0, 0, 2], [2, 4, 2, 0, 3, 2]], "min_steps": 17 }]]; + this.LEVEL_INFO = [[{ "id": "1001", "map": [[0, 4, 0, 0], [0, 0, 0, 0], [0, 0, 0, 0], [0, 0, 1, 0]], "min_steps": 3 }, { "id": "1002", "map": [[1, 0, 0, 0], [0, 0, 0, 4], [0, 0, 0, 0], [0, 0, 0, 0]], "min_steps": 3 }, { "id": "1004", "map": [[1, 0, 0, 0], [0, 0, 0, 0], [0, 0, 0, 0], [0, 4, 0, 0]], "min_steps": 3 }, { "id": "1006", "map": [[4, 0, 0, 0], [0, 0, 0, 0], [0, 0, 0, 0], [0, 1, 0, 0]], "min_steps": 3 }, { "id": "1003", "map": [[1, 0, 0, 0], [0, 0, 0, 0], [0, 0, 0, 0], [0, 0, 0, 4]], "min_steps": 4 }, { "id": "1005", "map": [[1, 0, 0, 0], [0, 0, 0, 0], [0, 0, 0, 4], [0, 0, 0, 0]], "min_steps": 4 }, { "id": "1007", "map": [[0, 4, 0, 0], [0, 0, 0, 0], [0, 0, 0, 0], [0, 0, 0, 1]], "min_steps": 4 }, { "id": "1008", "map": [[0, 0, 0, 4], [0, 0, 0, 0], [0, 0, 0, 0], [1, 0, 0, 0]], "min_steps": 4 }], [{ "id": "2001", "map": [[0, 0, 0, 0, 1], [0, 0, 0, 0, 0], [0, 0, 3, 0, 3], [0, 0, 0, 0, 0], [4, 0, 0, 0, 3]], "min_steps": 4 }, { "id": "2002", "map": [[0, 1, 0, 0, 0], [0, 0, 0, 0, 0], [3, 3, 0, 0, 4], [0, 0, 0, 0, 0], [3, 0, 0, 0, 0]], "min_steps": 4 }, { "id": "2009", "map": [[0, 3, 0, 0, 4], [3, 0, 0, 0, 0], [0, 0, 0, 0, 0], [1, 0, 0, 0, 0], [0, 3, 0, 0, 0]], "min_steps": 4 }, { "id": "2010", "map": [[0, 0, 0, 0, 1], [0, 0, 0, 0, 0], [0, 0, 0, 0, 0], [0, 3, 0, 3, 0], [4, 0, 3, 0, 0]], "min_steps": 4 }, { "id": "2011", "map": [[4, 3, 1, 0, 0], [0, 0, 0, 0, 3], [0, 0, 0, 3, 0], [0, 0, 0, 0, 0], [0, 0, 0, 0, 0]], "min_steps": 4 }, { "id": "2021", "map": [[0, 0, 0, 1, 0], [0, 0, 3, 0, 0], [0, 0, 0, 3, 3], [0, 0, 0, 0, 0], [0, 4, 0, 0, 0]], "min_steps": 4 }, { "id": "2004", "map": [[1, 0, 0, 0, 0], [0, 0, 0, 0, 3], [3, 0, 0, 0, 0], [0, 0, 0, 0, 0], [0, 0, 0, 0, 4]], "min_steps": 5 }, { "id": "2012", "map": [[0, 3, 0, 4, 0], [0, 0, 0, 3, 0], [1, 0, 3, 0, 0], [0, 0, 0, 0, 0], [0, 0, 0, 0, 0]], "min_steps": 5 }, { "id": "2013", "map": [[0, 0, 0, 0, 0], [1, 0, 0, 0, 0], [0, 0, 0, 3, 3], [3, 0, 0, 0, 0], [0, 0, 0, 4, 0]], "min_steps": 5 }, { "id": "2014", "map": [[3, 0, 1, 0, 0], [0, 3, 0, 0, 0], [0, 0, 0, 0, 0], [4, 0, 0, 3, 0], [0, 0, 0, 0, 0]], "min_steps": 5 }, { "id": "2015", "map": [[3, 0, 0, 0, 1], [3, 0, 0, 0, 0], [0, 0, 0, 0, 0], [4, 3, 0, 0, 0], [3, 0, 0, 0, 0]], "min_steps": 5 }, { "id": "2016", "map": [[0, 0, 0, 0, 0], [1, 0, 3, 0, 0], [3, 0, 0, 0, 3], [0, 0, 0, 0, 0], [0, 0, 0, 0, 4]], "min_steps": 5 }, { "id": "2017", "map": [[0, 3, 0, 0, 0], [4, 0, 0, 0, 0], [0, 0, 0, 0, 0], [3, 0, 3, 0, 0], [3, 0, 0, 0, 1]], "min_steps": 5 }, { "id": "2018", "map": [[0, 3, 4, 3, 3], [0, 0, 0, 0, 0], [0, 0, 0, 0, 0], [0, 0, 0, 0, 0], [0, 0, 3, 0, 1]], "min_steps": 5 }, { "id": "2019", "map": [[3, 0, 0, 4, 0], [0, 0, 0, 3, 0], [0, 0, 0, 0, 0], [0, 0, 0, 0, 0], [1, 0, 3, 0, 0]], "min_steps": 5 }, { "id": "2020", "map": [[4, 0, 3, 0, 1], [0, 0, 0, 0, 3], [0, 0, 0, 0, 0], [0, 0, 0, 0, 0], [0, 0, 3, 0, 0]], "min_steps": 5 }, { "id": "2003", "map": [[1, 0, 0, 3, 0], [0, 0, 3, 0, 0], [0, 0, 0, 0, 0], [0, 0, 0, 0, 0], [0, 3, 0, 4, 0]], "min_steps": 6 }, { "id": "2005", "map": [[0, 3, 0, 0, 0], [1, 0, 0, 0, 0], [0, 0, 0, 3, 0], [0, 0, 0, 0, 0], [0, 3, 0, 4, 0]], "min_steps": 6 }, { "id": "2006", "map": [[0, 1, 0, 0, 0], [0, 0, 0, 0, 3], [0, 0, 0, 0, 3], [0, 0, 0, 0, 0], [0, 0, 0, 3, 4]], "min_steps": 6 }, { "id": "2007", "map": [[3, 0, 0, 0, 1], [0, 0, 0, 0, 3], [0, 0, 0, 0, 0], [0, 0, 0, 0, 0], [4, 3, 0, 0, 0]], "min_steps": 6 }, { "id": "2008", "map": [[3, 4, 0, 0, 0], [0, 0, 0, 0, 3], [0, 0, 0, 3, 1], [0, 0, 0, 0, 0], [0, 0, 0, 0, 0]], "min_steps": 6 }, { "id": "2022", "map": [[0, 0, 0, 0, 0], [1, 3, 0, 0, 3], [0, 0, 0, 0, 0], [0, 0, 0, 0, 0], [0, 0, 3, 4, 0]], "min_steps": 6 }], [{ "id": "3001", "map": [[3, 0, 2, 3, 4], [0, 0, 0, 2, 2], [2, 3, 3, 3, 3], [0, 0, 2, 0, 2], [1, 0, 2, 3, 0]], "min_steps": 5 }, { "id": "3002", "map": [[3, 0, 3, 2, 0], [1, 2, 0, 3, 2], [2, 3, 0, 0, 4], [2, 0, 2, 2, 0], [3, 3, 0, 3, 0]], "min_steps": 5 }, { "id": "3003", "map": [[0, 2, 3, 3, 4], [2, 2, 0, 0, 0], [1, 3, 3, 3, 2], [2, 2, 3, 2, 3], [0, 0, 0, 0, 0]], "min_steps": 5 }, { "id": "3004", "map": [[3, 2, 2, 1, 0], [0, 0, 3, 2, 2], [3, 0, 2, 3, 0], [3, 0, 0, 3, 3], [0, 2, 4, 0, 2]], "min_steps": 5 }, { "id": "3005", "map": [[3, 0, 3, 0, 0], [2, 3, 0, 0, 1], [0, 2, 2, 2, 3], [4, 2, 0, 0, 2], [3, 3, 0, 3, 2]], "min_steps": 5 }, { "id": "3008", "map": [[3, 3, 3, 0, 1], [0, 0, 0, 0, 3], [2, 2, 3, 2, 2], [0, 2, 3, 0, 3], [4, 2, 2, 0, 0]], "min_steps": 5 }, { "id": "3009", "map": [[1, 0, 3, 3, 2], [3, 0, 2, 0, 0], [0, 3, 3, 2, 4], [0, 0, 3, 0, 2], [2, 2, 2, 0, 3]], "min_steps": 5 }, { "id": "3010", "map": [[3, 0, 2, 0, 4], [1, 2, 3, 0, 3], [2, 0, 3, 2, 0], [0, 3, 0, 0, 3], [2, 0, 2, 3, 2]], "min_steps": 5 }, { "id": "3006", "map": [[2, 0, 2, 2, 0], [1, 2, 3, 0, 0], [3, 3, 0, 3, 2], [3, 0, 0, 3, 2], [2, 0, 3, 0, 4]], "min_steps": 6 }, { "id": "3007", "map": [[1, 2, 0, 3, 3], [2, 2, 0, 2, 0], [2, 3, 2, 0, 3], [0, 3, 2, 0, 4], [0, 0, 3, 0, 3]], "min_steps": 6 }, { "id": "3011", "map": [[2, 3, 0, 1, 0], [0, 0, 0, 0, 0], [3, 0, 0, 0, 3], [0, 2, 0, 3, 2], [4, 3, 3, 2, 2]], "min_steps": 6 }, { "id": "3012", "map": [[0, 2, 1, 0, 3], [0, 3, 0, 0, 3], [3, 2, 3, 2, 0], [0, 2, 0, 3, 0], [2, 0, 0, 0, 4]], "min_steps": 6 }, { "id": "3013", "map": [[0, 2, 1, 0, 3], [0, 3, 0, 0, 3], [3, 2, 3, 2, 0], [0, 2, 0, 3, 0], [2, 0, 0, 0, 4]], "min_steps": 6 }, { "id": "3014", "map": [[1, 0, 3, 3, 4], [2, 3, 0, 3, 0], [0, 2, 2, 0, 0], [3, 3, 0, 0, 2], [2, 0, 0, 0, 0]], "min_steps": 6 }, { "id": "3015", "map": [[2, 3, 0, 0, 0], [0, 0, 2, 3, 0], [4, 0, 3, 0, 3], [2, 0, 2, 2, 3], [0, 3, 0, 0, 1]], "min_steps": 6 }, { "id": "3016", "map": [[3, 0, 2, 0, 2], [2, 0, 0, 0, 3], [0, 2, 3, 0, 1], [4, 0, 0, 3, 0], [3, 3, 0, 0, 2]], "min_steps": 6 }, { "id": "3017", "map": [[0, 3, 0, 0, 2], [3, 0, 2, 0, 4], [1, 3, 3, 0, 0], [2, 0, 0, 2, 0], [3, 2, 3, 0, 0]], "min_steps": 6 }, { "id": "3018", "map": [[4, 2, 0, 0, 0], [0, 0, 0, 3, 2], [0, 3, 0, 0, 3], [3, 2, 3, 2, 0], [3, 0, 2, 1, 0]], "min_steps": 7 }, { "id": "3019", "map": [[0, 4, 0, 3, 2], [0, 2, 0, 0, 0], [3, 0, 3, 0, 2], [3, 3, 2, 3, 1], [2, 0, 0, 0, 0]], "min_steps": 7 }, { "id": "3020", "map": [[0, 2, 0, 1, 0], [0, 0, 0, 3, 2], [3, 0, 3, 3, 3], [3, 0, 0, 0, 2], [0, 2, 2, 4, 0]], "min_steps": 7 }, { "id": "3021", "map": [[3, 2, 0, 2, 1], [3, 2, 0, 3, 2], [3, 0, 0, 2, 3], [0, 0, 0, 0, 4], [0, 0, 3, 0, 0]], "min_steps": 7 }, { "id": "3022", "map": [[2, 0, 2, 2, 2], [0, 0, 3, 0, 0], [3, 0, 3, 0, 0], [1, 0, 3, 2, 4], [0, 0, 3, 3, 0]], "min_steps": 7 }, { "id": "3023", "map": [[1, 2, 0, 2, 0], [3, 3, 3, 0, 0], [0, 2, 3, 2, 0], [4, 0, 0, 0, 3], [0, 0, 2, 0, 3]], "min_steps": 7 }, { "id": "3024", "map": [[1, 0, 3, 0, 3], [2, 2, 0, 0, 0], [0, 3, 0, 3, 0], [2, 0, 3, 2, 0], [2, 3, 0, 4, 0]], "min_steps": 7 }], [{ "id": "4001", "map": [[1, 3, 0, 0, 2, 0], [0, 3, 0, 0, 2, 0], [0, 0, 2, 0, 3, 4], [0, 0, 0, 2, 0, 0], [3, 3, 0, 0, 2, 0, 3], [0, 0, 2, 2, 2, 0]], "min_steps": 5 }, { "id": "4002", "map": [[0, 2, 2, 2, 2, 0], [1, 0, 0, 0, 2, 0], [0, 0, 0, 0, 0, 3], [0, 0, 0, 0, 2, 0], [0, 3, 3, 0, 2, 0], [3, 0, 0, 4, 2, 0]], "min_steps": 5 }, { "id": "4003", "map": [[0, 0, 0, 0, 0, 0], [2, 0, 0, 0, 0, 2], [0, 3, 3, 3, 2, 4], [0, 3, 0, 3, 2, 0], [0, 0, 0, 0, 0, 3], [0, 0, 2, 3, 0, 1]], "min_steps": 6 }, { "id": "4004", "map": [[2, 0, 3, 0, 0, 4], [0, 2, 3, 3, 0, 0], [0, 3, 0, 0, 0, 0], [3, 0, 0, 0, 2, 2], [3, 0, 0, 2, 0, 0], [1, 0, 0, 3, 0, 0]], "min_steps": 6 }, { "id": "4006", "map": [[4, 3, 0, 3, 0, 0], [0, 2, 0, 3, 0, 0], [3, 0, 0, 0, 3, 2], [0, 3, 0, 0, 2, 1], [0, 0, 2, 0, 0, 0], [0, 0, 0, 0, 2, 3]], "min_steps": 7 }, { "id": "4007", "map": [[4, 2, 2, 0, 2, 0], [0, 3, 0, 2, 0, 0], [0, 2, 3, 0, 3, 0], [0, 0, 3, 0, 0, 3], [0, 0, 3, 0, 0, 0], [0, 0, 0, 3, 0, 1]], "min_steps": 7 }, { "id": "4014", "map": [[0, 0, 3, 0, 2, 2], [0, 2, 3, 0, 0, 1], [0, 3, 3, 0, 0, 3], [0, 2, 0, 0, 0, 0], [0, 0, 0, 3, 3, 0], [2, 0, 4, 0, 0, 0]], "min_steps": 7 }, { "id": "4015", "map": [[2, 0, 0, 0, 0, 0], [0, 0, 0, 0, 3, 1], [3, 0, 2, 0, 0, 3], [2, 0, 0, 2, 3, 0], [3, 0, 3, 0, 0, 0], [2, 0, 0, 3, 4, 0]], "min_steps": 7 }, { "id": "4005", "map": [[1, 0, 0, 0, 0, 2], [0, 0, 0, 2, 0, 0], [3, 2, 0, 0, 0, 0], [0, 3, 0, 0, 2, 3], [0, 0, 3, 3, 0, 0], [3, 0, 0, 2, 3, 4]], "min_steps": 8 }, { "id": "4008", "map": [[0, 0, 2, 3, 0, 0], [0, 3, 0, 2, 3, 2], [3, 0, 0, 0, 0, 0], [0, 3, 0, 0, 3, 4], [0, 0, 0, 0, 0, 3], [0, 2, 0, 2, 0, 1]], "min_steps": 8 }, { "id": "4009", "map": [[0, 3, 3, 0, 0, 4], [2, 0, 0, 3, 0, 0], [2, 0, 0, 3, 0, 0], [1, 0, 0, 0, 3, 0], [0, 0, 2, 3, 0, 2], [2, 3, 0, 0, 0, 0]], "min_steps": 8 }, { "id": "4010", "map": [[0, 0, 1, 3, 2, 0], [3, 0, 0, 0, 3, 2], [3, 0, 0, 0, 0, 3], [2, 0, 0, 0, 0, 0], [0, 2, 0, 0, 3, 0], [0, 2, 0, 3, 4, 0]], "min_steps": 8 }, { "id": "4011", "map": [[1, 0, 0, 0, 0, 0], [3, 3, 0, 0, 0, 2], [0, 0, 0, 3, 0, 2], [2, 0, 3, 0, 3, 0], [2, 0, 3, 0, 0, 3], [4, 0, 0, 0, 0, 2]], "min_steps": 8 }, { "id": "4016", "map": [[0, 0, 3, 0, 0, 1], [2, 3, 0, 0, 3, 0], [2, 0, 0, 0, 0, 2], [0, 3, 0, 0, 0, 0], [0, 3, 0, 0, 2, 0], [0, 4, 3, 0, 2, 3]], "min_steps": 8 }, { "id": "4017", "map": [[1, 2, 3, 0, 3, 2], [3, 0, 0, 0, 0, 0], [0, 0, 0, 0, 0, 3], [3, 3, 0, 3, 2, 0], [0, 2, 0, 0, 0, 0], [4, 0, 0, 2, 0, 0]], "min_steps": 8 }, { "id": "4018", "map": [[0, 0, 1, 0, 2, 0], [0, 0, 0, 0, 0, 0], [0, 0, 3, 2, 3, 0], [3, 0, 0, 3, 0, 0], [2, 3, 0, 2, 0, 0], [4, 2, 0, 3, 3, 0]], "min_steps": 8 }, { "id": "4012", "map": [[2, 2, 3, 0, 2, 0], [0, 3, 0, 0, 0, 0], [0, 0, 0, 0, 3, 4], [0, 2, 0, 3, 0, 3], [0, 0, 0, 0, 0, 0], [0, 0, 2, 3, 3, 1]], "min_steps": 9 }, { "id": "4013", "map": [[0, 0, 0, 0, 3, 0], [4, 2, 0, 3, 0, 0], [3, 2, 0, 0, 0, 0], [1, 3, 0, 3, 0, 0], [2, 0, 0, 2, 0, 0], [3, 0, 0, 3, 2, 0]], "min_steps": 9 }, { "id": "4019", "map": [[3, 4, 0, 0, 0, 2], [3, 2, 0, 0, 2, 0], [0, 3, 0, 3, 0, 2], [0, 0, 3, 0, 0, 0], [0, 0, 0, 0, 3, 0], [1, 3, 0, 0, 0, 2]], "min_steps": 9 }, { "id": "4020", "map": [[0, 2, 0, 1, 0, 0], [2, 3, 0, 0, 2, 0], [3, 0, 0, 0, 0, 0], [0, 3, 3, 0, 0, 3], [2, 0, 0, 3, 0, 0], [4, 3, 0, 0, 0, 2]], "min_steps": 9 }], [{ "id": "5001", "map": [[1, 0, 0, 0, 0, 0], [0, 2, 2, 3, 0, 2], [3, 2, 0, 0, 3, 3], [0, 0, 0, 0, 0, 4], [0, 0, 0, 2, 2, 0], [3, 0, 2, 2, 0, 0]], "min_steps": 7 }, { "id": "5002", "map": [[0, 0, 0, 0, 4, 3], [3, 2, 3, 0, 0, 0], [0, 2, 0, 2, 3, 0], [2, 2, 0, 0, 0, 0], [3, 2, 0, 0, 0, 0], [3, 0, 0, 2, 0, 3], [2, 0, 0, 3, 0, 1]], "min_steps": 7 }, { "id": "5015", "map": [[1, 2, 3, 2, 2, 0], [3, 0, 0, 0, 0, 3], [0, 0, 0, 0, 0, 0], [0, 0, 0, 0, 0, 2], [0, 3, 0, 3, 2, 0], [0, 0, 0, 0, 0, 0], [0, 2, 0, 4, 0, 3]], "min_steps": 7 }, { "id": "5016", "map": [[3, 0, 1, 0, 0, 0], [0, 2, 0, 2, 0, 0], [0, 2, 0, 2, 0, 3], [0, 0, 0, 0, 0, 0], [0, 2, 0, 0, 3, 3], [0, 0, 0, 0, 2, 3], [0, 0, 0, 3, 0, 4]], "min_steps": 7 }, { "id": "5004", "map": [[0, 3, 3, 2, 3, 0], [2, 0, 2, 0, 3, 0], [1, 0, 3, 2, 0, 0], [3, 3, 0, 0, 0, 2], [0, 0, 0, 0, 0, 0], [0, 2, 0, 0, 0, 0], [0, 0, 0, 3, 4, 0]], "min_steps": 8 }, { "id": "5005", "map": [[0, 0, 0, 0, 0, 1], [0, 0, 2, 0, 2, 0], [3, 2, 2, 0, 0, 0], [3, 0, 0, 3, 0, 0], [3, 3, 0, 0, 0, 3], [4, 3, 0, 0, 0, 0], [2, 0, 0, 2, 3, 0]], "min_steps": 8 }, { "id": "5008", "map": [[3, 0, 3, 2, 0, 4], [0, 3, 0, 2, 0, 2], [0, 0, 3, 0, 0, 0], [2, 0, 0, 2, 0, 0], [0, 0, 3, 0, 0, 0], [0, 0, 0, 3, 0, 0], [3, 2, 1, 3, 0, 0]], "min_steps": 8 }, { "id": "5012", "map": [[2, 3, 0, 2, 0, 1], [2, 0, 0, 0, 0, 0], [2, 0, 0, 3, 0, 2], [3, 0, 3, 0, 0, 3], [0, 0, 0, 0, 3, 3], [3, 0, 0, 0, 2, 0], [0, 0, 0, 0, 0, 4]], "min_steps": 8 }, { "id": "5013", "map": [[0, 0, 2, 1, 2, 0], [0, 3, 0, 0, 0, 0], [2, 0, 0, 0, 0, 0], [0, 0, 0, 3, 0, 0], [3, 0, 0, 2, 3, 0], [3, 3, 3, 2, 0, 2], [0, 0, 4, 0, 0, 3]], "min_steps": 8 }, { "id": "5018", "map": [[0, 2, 0, 1, 0, 0], [2, 0, 0, 3, 0, 0], [0, 0, 0, 0, 0, 0], [3, 0, 0, 0, 0, 0], [2, 3, 0, 2, 3, 3], [2, 0, 0, 0, 0, 2], [4, 3, 0, 0, 0, 0]], "min_steps": 8 }, { "id": "5019", "map": [[1, 3, 0, 2, 3, 0], [0, 0, 0, 0, 0, 2], [0, 0, 0, 0, 0, 0], [0, 0, 2, 0, 0, 2], [3, 3, 0, 3, 0, 2], [4, 0, 2, 0, 0, 0], [0, 0, 0, 3, 0, 0]], "min_steps": 8 }, { "id": "5029", "map": [[4, 3, 0, 0, 0, 0], [2, 0, 0, 3, 0, 2], [3, 2, 0, 3, 3, 0], [2, 0, 0, 3, 0, 0], [0, 2, 0, 0, 0, 0], [2, 0, 0, 0, 0, 0], [3, 0, 3, 3, 0, 1]], "min_steps": 8 }, { "id": "5030", "map": [[0, 0, 0, 0, 0, 0], [0, 0, 2, 3, 2, 0], [0, 3, 0, 0, 0, 0], [2, 2, 0, 3, 0, 0], [0, 3, 3, 0, 3, 4], [0, 0, 2, 0, 0, 3], [3, 1, 0, 3, 0, 2]], "min_steps": 8 }, { "id": "5006", "map": [[0, 3, 0, 0, 0, 0], [1, 0, 0, 0, 3, 0], [0, 0, 3, 2, 0, 0], [3, 0, 0, 2, 2, 0], [0, 3, 0, 3, 3, 0], [0, 2, 0, 0, 0, 0], [4, 0, 3, 0, 2, 2]], "min_steps": 9 }, { "id": "5007", "map": [[0, 2, 0, 3, 0, 0], [1, 2, 0, 2, 0, 0], [0, 3, 0, 3, 0, 0], [3, 0, 0, 0, 0, 3], [0, 0, 3, 2, 0, 2], [4, 0, 0, 3, 0, 3], [0, 2, 0, 0, 0, 0]], "min_steps": 9 }, { "id": "5010", "map": [[0, 3, 1, 0, 0, 0], [0, 2, 3, 3, 0, 0], [0, 2, 0, 3, 0, 0], [0, 2, 0, 2, 0, 3], [0, 2, 0, 0, 3, 0], [0, 3, 0, 0, 0, 0], [0, 2, 4, 0, 0, 3]], "min_steps": 9 }, { "id": "5011", "map": [[1, 0, 3, 0, 3, 0], [0, 2, 0, 0, 0, 0], [2, 0, 2, 0, 3, 0], [0, 3, 2, 0, 0, 0], [3, 0, 0, 0, 0, 2], [4, 0, 3, 0, 0, 0], [3, 2, 0, 0, 0, 3]], "min_steps": 9 }, { "id": "5014", "map": [[0, 1, 0, 0, 0, 0], [2, 0, 2, 0, 0, 2], [2, 3, 0, 3, 0, 0], [0, 3, 0, 0, 0, 3], [0, 0, 0, 2, 0, 3], [0, 0, 3, 0, 3, 0], [2, 0, 3, 0, 0, 4]], "min_steps": 9 }, { "id": "5017", "map": [[0, 0, 0, 0, 0, 0], [1, 2, 3, 0, 0, 2], [0, 0, 2, 0, 0, 2], [3, 0, 2, 3, 0, 0], [0, 3, 3, 0, 2, 0], [0, 0, 0, 0, 0, 0], [4, 0, 3, 0, 0, 0]], "min_steps": 9 }, { "id": "5028", "map": [[0, 0, 1, 0, 0, 3], [3, 0, 0, 0, 3, 4], [0, 2, 0, 2, 3, 2], [0, 3, 2, 3, 3, 0], [0, 0, 0, 3, 0, 0], [0, 0, 3, 0, 0, 2], [0, 0, 2, 0, 0, 0]], "min_steps": 9 }, { "id": "5003", "map": [[0, 0, 1, 3, 0, 2], [0, 3, 3, 0, 0, 0], [0, 0, 3, 2, 0, 0], [0, 0, 3, 0, 0, 0], [3, 0, 0, 0, 2, 2], [0, 0, 2, 3, 0, 0], [0, 2, 0, 3, 0, 4]], "min_steps": 10 }, { "id": "5009", "map": [[0, 2, 0, 0, 0, 3], [0, 0, 3, 3, 3, 4], [0, 3, 0, 0, 0, 0], [0, 3, 2, 0, 0, 0], [1, 2, 3, 2, 0, 3], [2, 0, 0, 0, 0, 0], [0, 0, 0, 0, 2, 0]], "min_steps": 10 }, { "id": "5021", "map": [[0, 0, 0, 0, 0, 0], [0, 0, 0, 0, 3, 0], [3, 0, 0, 0, 2, 0], [2, 0, 0, 2, 3, 0], [0, 3, 0, 0, 0, 2], [0, 2, 3, 0, 0, 0], [4, 3, 1, 2, 0, 0]], "min_steps": 10 }, { "id": "5022", "map": [[4, 0, 3, 0, 0, 2], [0, 0, 0, 0, 2, 0], [0, 3, 0, 2, 3, 2], [3, 0, 3, 0, 3, 0], [0, 2, 0, 0, 0, 0], [0, 3, 0, 3, 0, 3], [0, 2, 1, 0, 0, 0]], "min_steps": 10 }, { "id": "5023", "map": [[3, 0, 0, 3, 3, 0], [0, 0, 3, 0, 0, 3], [2, 3, 0, 0, 0, 0], [2, 2, 0, 0, 2, 0], [0, 3, 0, 0, 0, 0], [2, 0, 3, 0, 0, 4], [0, 1, 3, 0, 2, 0]], "min_steps": 10 }, { "id": "5024", "map": [[3, 0, 2, 3, 0, 0], [4, 2, 0, 0, 0, 3], [2, 2, 0, 0, 0, 0], [0, 0, 3, 0, 0, 2], [0, 0, 0, 3, 0, 3], [0, 3, 3, 0, 2, 0], [3, 0, 1, 0, 0, 0]], "min_steps": 10 }, { "id": "5020", "map": [[0, 0, 0, 2, 0, 0], [0, 3, 0, 0, 0, 3], [0, 2, 0, 0, 3, 0], [2, 0, 0, 2, 3, 4], [0, 2, 3, 0, 0, 0], [0, 0, 0, 3, 0, 0], [3, 2, 0, 1, 3, 0]], "min_steps": 11 }, { "id": "5025", "map": [[1, 0, 0, 0, 3, 0], [0, 0, 0, 3, 3, 2], [3, 3, 2, 0, 0, 2], [0, 0, 0, 0, 0, 3], [0, 0, 2, 0, 2, 0], [0, 0, 0, 0, 3, 4], [0, 3, 2, 3, 0, 0]], "min_steps": 11 }, { "id": "5026", "map": [[0, 3, 2, 0, 0, 0], [0, 0, 2, 3, 3, 0], [2, 0, 0, 2, 0, 0], [3, 2, 0, 0, 3, 2], [0, 0, 0, 3, 3, 1], [0, 0, 3, 0, 0, 3], [0, 0, 0, 0, 0, 4]], "min_steps": 11 }, { "id": "5027", "map": [[0, 0, 3, 0, 0, 1], [0, 0, 0, 0, 0, 3], [2, 0, 2, 0, 2, 3], [0, 0, 3, 3, 0, 3], [0, 0, 0, 2, 3, 0], [0, 0, 0, 2, 0, 3], [2, 0, 3, 0, 4, 0]], "min_steps": 11 }], [{ "id": "6028", "map": [[0, 0, 3, 0, 0, 2], [1, 3, 2, 2, 0, 3], [0, 0, 3, 0, 0, 2], [0, 0, 0, 0, 0, 0], [0, 0, 2, 0, 3, 3], [3, 3, 3, 0, 0, 0], [4, 0, 0, 0, 0, 2]], "min_steps": 8 }, { "id": "6029", "map": [[0, 0, 2, 0, 0, 1], [3, 2, 3, 0, 0, 3], [2, 0, 3, 0, 3, 0], [3, 3, 0, 0, 0, 0], [0, 0, 0, 3, 3, 2], [0, 0, 0, 0, 0, 2], [0, 0, 0, 4, 2, 0]], "min_steps": 8 }, { "id": "6030", "map": [[0, 3, 3, 0, 1, 0], [2, 3, 0, 0, 3, 0], [0, 0, 0, 3, 0, 2], [0, 0, 3, 0, 2, 0], [0, 0, 2, 3, 3, 3], [0, 0, 0, 0, 0, 0], [4, 0, 0, 2, 0, 2]], "min_steps": 8 }, { "id": "6001", "map": [[0, 0, 3, 3, 4, 2], [0, 0, 0, 2, 0, 0], [2, 3, 3, 2, 0, 0], [0, 3, 0, 0, 0, 2], [0, 0, 0, 3, 2, 2], [2, 0, 0, 3, 0, 2], [1, 3, 2, 0, 0, 0], [0, 0, 0, 3, 0, 0]], "min_steps": 9 }, { "id": "6012", "map": [[3, 0, 0, 0, 2, 0], [0, 3, 0, 3, 0, 0], [0, 3, 0, 0, 0, 3], [2, 0, 0, 3, 2, 0], [3, 2, 2, 2, 0, 0], [3, 0, 2, 0, 3, 0], [1, 2, 3, 0, 2, 0], [2, 3, 0, 0, 3, 4]], "min_steps": 9 }, { "id": "6016", "map": [[0, 0, 1, 0, 2, 3], [0, 3, 2, 0, 2, 0], [3, 3, 3, 3, 0, 0], [3, 0, 0, 0, 0, 0], [2, 2, 3, 0, 3, 3], [0, 0, 2, 0, 2, 0], [0, 2, 0, 2, 0, 3], [3, 0, 2, 0, 0, 4]], "min_steps": 9 }, { "id": "6008", "map": [[0, 0, 2, 0, 3, 4], [3, 3, 2, 3, 0, 0], [0, 0, 0, 0, 0, 3], [0, 0, 2, 3, 2, 0], [0, 0, 2, 0, 3, 2], [3, 3, 0, 0, 0, 2], [0, 3, 0, 0, 0, 0], [2, 1, 0, 0, 0, 0]], "min_steps": 10 }, { "id": "6013", "map": [[3, 0, 0, 2, 2, 0], [0, 2, 0, 3, 0, 2], [0, 0, 3, 2, 3, 0], [0, 3, 0, 0, 3, 0], [2, 2, 3, 2, 0, 0], [0, 0, 3, 3, 0, 0], [0, 2, 0, 3, 2, 0], [4, 3, 3, 0, 1, 0]], "min_steps": 10 }, { "id": "6017", "map": [[4, 0, 0, 0, 0, 3], [0, 3, 3, 0, 0, 0], [3, 0, 2, 2, 0, 0], [3, 0, 2, 3, 3, 2], [3, 2, 0, 2, 3, 3], [2, 0, 2, 0, 0, 0], [0, 0, 0, 0, 0, 3], [2, 3, 0, 2, 0, 1]], "min_steps": 10 }, { "id": "6022", "map": [[0, 0, 3, 4, 3, 0], [0, 3, 0, 2, 2, 0], [2, 0, 2, 0, 0, 3], [0, 0, 0, 0, 0, 0], [2, 3, 0, 3, 2, 0], [0, 3, 0, 0, 0, 0], [0, 1, 3, 0, 0, 3]], "min_steps": 10 }, { "id": "6023", "map": [[0, 0, 3, 1, 0, 2], [0, 0, 2, 3, 0, 0], [4, 0, 3, 0, 0, 0], [2, 0, 3, 0, 0, 3], [2, 0, 3, 0, 3, 0], [0, 0, 0, 0, 0, 0], [2, 3, 0, 2, 3, 0]], "min_steps": 10 }, { "id": "6024", "map": [[0, 3, 0, 2, 0, 4], [3, 0, 0, 3, 3, 3], [0, 0, 2, 0, 0, 0], [2, 3, 3, 0, 0, 0], [2, 0, 0, 0, 0, 3], [2, 0, 3, 0, 0, 1], [0, 0, 0, 0, 0, 2]], "min_steps": 10 }, { "id": "6025", "map": [[4, 0, 2, 0, 0, 0], [0, 0, 3, 3, 0, 2], [3, 3, 0, 0, 0, 3], [0, 2, 0, 2, 0, 0], [0, 0, 0, 0, 3, 0], [1, 3, 0, 0, 2, 2], [0, 3, 0, 0, 0, 3]], "min_steps": 10 }, { "id": "6002", "map": [[0, 0, 3, 3, 4, 2], [0, 0, 0, 2, 0, 0], [2, 3, 3, 2, 0, 0], [0, 3, 0, 0, 0, 2], [0, 0, 0, 3, 2, 2], [2, 0, 0, 3, 0, 2], [1, 3, 2, 0, 0, 0], [0, 0, 0, 3, 0, 0]], "min_steps": 11 }, { "id": "6006", "map": [[1, 0, 2, 0, 0, 3], [0, 0, 0, 0, 3, 0], [3, 0, 0, 3, 2, 0], [2, 3, 0, 0, 0, 3], [0, 0, 3, 2, 0, 3], [0, 2, 0, 3, 0, 0], [2, 3, 0, 2, 0, 0], [0, 4, 0, 2, 0, 0]], "min_steps": 11 }, { "id": "6009", "map": [[4, 3, 0, 0, 3, 0], [0, 0, 0, 0, 0, 0], [3, 3, 0, 2, 0, 2], [3, 0, 0, 2, 2, 0], [2, 3, 2, 0, 0, 0], [1, 3, 3, 0, 0, 0], [2, 0, 0, 0, 0, 0], [3, 3, 0, 0, 0, 2]], "min_steps": 11 }, { "id": "6018", "map": [[2, 3, 0, 0, 2, 3], [2, 0, 0, 3, 0, 4], [2, 0, 0, 0, 0, 0], [0, 3, 2, 0, 2, 3], [0, 0, 0, 0, 0, 3], [2, 0, 3, 3, 2, 3], [0, 0, 0, 3, 2, 0], [2, 3, 1, 3, 0, 0]], "min_steps": 11 }, { "id": "6026", "map": [[0, 1, 0, 3, 0, 4], [0, 0, 3, 0, 3, 0], [2, 2, 3, 2, 0, 0], [0, 0, 3, 0, 3, 3], [2, 0, 0, 0, 0, 2], [0, 3, 0, 0, 0, 2], [0, 0, 0, 0, 0, 3]], "min_steps": 11 }, { "id": "6027", "map": [[2, 1, 3, 0, 0, 0], [0, 0, 0, 0, 3, 0], [3, 3, 0, 0, 0, 0], [2, 2, 3, 3, 3, 0], [0, 2, 0, 0, 0, 0], [3, 2, 0, 0, 0, 0], [0, 4, 0, 2, 3, 0]], "min_steps": 11 }, { "id": "6031", "map": [[0, 1, 0, 3, 0, 4], [0, 0, 3, 0, 3, 0], [2, 2, 3, 2, 0, 0], [0, 0, 3, 0, 3, 3], [2, 0, 0, 0, 0, 2], [0, 3, 0, 0, 0, 2], [0, 0, 0, 0, 0, 3]], "min_steps": 11 }, { "id": "6003", "map": [[0, 2, 2, 0, 0, 4], [0, 3, 3, 0, 0, 0], [3, 2, 0, 0, 0, 0], [0, 3, 0, 0, 3, 3], [0, 2, 0, 3, 0, 0], [2, 3, 0, 0, 0, 0], [0, 2, 3, 0, 0, 0], [1, 2, 3, 0, 2, 0]], "min_steps": 12 }, { "id": "6011", "map": [[3, 0, 2, 2, 3, 2], [1, 0, 0, 0, 0, 3], [0, 0, 3, 2, 3, 0], [3, 0, 3, 0, 0, 0], [4, 3, 2, 3, 0, 2], [0, 0, 2, 0, 2, 3], [2, 0, 0, 0, 0, 3], [0, 0, 0, 2, 0, 3]], "min_steps": 12 }, { "id": "6014", "map": [[4, 3, 0, 0, 0, 0], [0, 2, 2, 2, 3, 0], [0, 3, 0, 0, 0, 0], [2, 3, 2, 3, 0, 0], [3, 3, 0, 0, 0, 3], [0, 0, 0, 2, 3, 0], [0, 3, 2, 0, 2, 2], [2, 3, 3, 0, 0, 1]], "min_steps": 12 }, { "id": "6020", "map": [[3, 2, 0, 0, 0, 0], [4, 0, 2, 0, 2, 0], [3, 3, 0, 0, 2, 2], [0, 0, 3, 0, 2, 0], [0, 0, 0, 0, 2, 3], [0, 2, 3, 3, 0, 0], [2, 3, 0, 0, 3, 3], [1, 3, 3, 2, 0, 0]], "min_steps": 12 }, { "id": "6021", "map": [[4, 3, 0, 0, 0, 0], [0, 2, 2, 2, 3, 0], [0, 3, 0, 0, 0, 0], [2, 3, 2, 3, 0, 0], [3, 3, 0, 0, 0, 3], [0, 0, 0, 2, 3, 0], [0, 3, 2, 0, 2, 2], [2, 3, 3, 0, 0, 1]], "min_steps": 12 }, { "id": "6004", "map": [[0, 3, 0, 2, 2, 0], [0, 0, 0, 0, 0, 2], [3, 0, 0, 0, 0, 0], [0, 3, 0, 0, 0, 0], [0, 3, 3, 0, 3, 0], [2, 0, 0, 0, 3, 2], [2, 0, 0, 0, 3, 1], [4, 3, 0, 2, 3, 2]], "min_steps": 13 }, { "id": "6005", "map": [[2, 2, 4, 2, 3, 0], [0, 3, 3, 2, 0, 0], [3, 0, 0, 3, 0, 2], [3, 0, 2, 3, 3, 0], [0, 0, 0, 0, 0, 0], [0, 0, 0, 0, 2, 3], [3, 2, 0, 0, 0, 1], [0, 0, 0, 0, 0, 0]], "min_steps": 13 }, { "id": "6007", "map": [[3, 2, 0, 0, 3, 4], [0, 2, 0, 0, 3, 0], [0, 0, 2, 0, 2, 0], [2, 0, 0, 3, 0, 3], [0, 0, 2, 0, 3, 2], [0, 2, 3, 3, 0, 1], [0, 0, 0, 0, 0, 3], [0, 0, 0, 3, 0, 0]], "min_steps": 13 }, { "id": "6010", "map": [[0, 3, 1, 0, 0, 0], [0, 2, 3, 3, 0, 0], [2, 0, 0, 3, 0, 0], [0, 2, 0, 0, 3, 2], [3, 0, 0, 0, 0, 2], [3, 2, 0, 0, 0, 0], [4, 0, 0, 3, 2, 0], [0, 3, 0, 3, 2, 0]], "min_steps": 13 }, { "id": "6015", "map": [[4, 0, 0, 0, 2, 3], [0, 0, 3, 0, 0, 3], [2, 2, 3, 2, 0, 0], [3, 0, 0, 0, 3, 2], [2, 3, 0, 3, 0, 2], [0, 0, 3, 0, 2, 3], [0, 0, 0, 0, 0, 3], [1, 2, 2, 3, 0, 0]], "min_steps": 14 }, { "id": "6019", "map": [[4, 0, 0, 0, 2, 3], [0, 0, 3, 0, 0, 3], [2, 2, 3, 2, 0, 0], [3, 0, 0, 0, 3, 2], [2, 3, 0, 3, 0, 2], [0, 0, 3, 0, 2, 3], [0, 0, 0, 0, 0, 3], [1, 2, 2, 3, 0, 0]], "min_steps": 14 }], [{ "id": "7001", "map": [[0, 2, 0, 0, 2, 0], [3, 3, 0, 2, 0, 4], [0, 0, 0, 0, 0, 3], [0, 0, 0, 0, 3, 2], [0, 0, 0, 0, 0, 2], [3, 3, 0, 0, 0, 2], [0, 3, 3, 2, 2, 0], [0, 3, 2, 2, 0, 3], [1, 2, 0, 0, 2, 0]], "min_steps": 9 }, { "id": "7023", "map": [[3, 2, 0, 2, 0, 1], [0, 3, 3, 2, 3, 3], [0, 3, 3, 0, 3, 0], [0, 2, 2, 2, 0, 3], [0, 3, 2, 0, 0, 3], [0, 0, 0, 0, 2, 0], [2, 2, 2, 3, 0, 0], [2, 0, 3, 0, 3, 0], [0, 0, 3, 0, 0, 4]], "min_steps": 9 }, { "id": "7003", "map": [[1, 3, 2, 0, 0, 0], [0, 0, 0, 2, 0, 0], [0, 3, 0, 2, 0, 0], [3, 3, 3, 2, 0, 3], [2, 3, 3, 0, 3, 0], [0, 0, 0, 0, 0, 2], [3, 0, 2, 2, 3, 2], [4, 2, 0, 0, 2, 0], [0, 0, 2, 0, 0, 2]], "min_steps": 10 }, { "id": "7002", "map": [[1, 0, 3, 2, 0, 2], [0, 3, 0, 0, 0, 2], [0, 2, 0, 3, 2, 2], [0, 3, 0, 0, 0, 0], [0, 2, 0, 3, 3, 0], [3, 2, 2, 0, 0, 3], [0, 3, 2, 3, 0, 2], [0, 0, 0, 0, 0, 0], [2, 0, 0, 2, 3, 4]], "min_steps": 11 }, { "id": "7005", "map": [[0, 0, 0, 0, 0, 0], [0, 0, 0, 3, 2, 4], [0, 3, 0, 0, 3, 3], [3, 3, 0, 2, 0, 3], [0, 2, 2, 0, 3, 2], [0, 0, 3, 0, 2, 0], [0, 2, 0, 2, 0, 0], [3, 0, 0, 2, 2, 0], [0, 0, 2, 2, 0, 1]], "min_steps": 11 }, { "id": "7006", "map": [[0, 0, 0, 0, 2, 3], [3, 2, 0, 0, 0, 0], [0, 2, 0, 3, 3, 4], [0, 0, 0, 2, 2, 3], [2, 0, 0, 0, 0, 0], [0, 0, 0, 0, 3, 0], [3, 0, 3, 3, 0, 2], [3, 0, 2, 2, 0, 2], [0, 0, 2, 2, 0, 1]], "min_steps": 11 }, { "id": "7007", "map": [[2, 0, 2, 0, 2, 0], [0, 0, 2, 0, 3, 2], [0, 0, 0, 3, 3, 0], [0, 2, 0, 0, 3, 2], [3, 0, 0, 2, 0, 0], [3, 3, 0, 0, 0, 2], [0, 2, 0, 3, 2, 0], [0, 2, 3, 0, 0, 0], [4, 3, 0, 0, 1, 0]], "min_steps": 11 }, { "id": "7026", "map": [[2, 4, 2, 0, 0, 0], [0, 3, 3, 0, 3, 0], [3, 3, 3, 0, 0, 3], [2, 0, 3, 0, 0, 2], [0, 2, 2, 3, 0, 3], [1, 0, 2, 0, 2, 0], [3, 3, 0, 0, 0, 0], [2, 0, 0, 0, 3, 2], [2, 0, 3, 2, 3, 0]], "min_steps": 11 }, { "id": "7027", "map": [[2, 0, 0, 0, 0, 2], [0, 0, 3, 3, 2, 3], [0, 0, 3, 0, 0, 1], [0, 3, 0, 3, 3, 3], [0, 0, 0, 0, 0, 2], [3, 3, 2, 0, 0, 2], [3, 3, 0, 2, 0, 3], [0, 3, 2, 2, 2, 0], [0, 3, 4, 2, 2, 0]], "min_steps": 11 }, { "id": "7029", "map": [[0, 0, 1, 0, 0, 0], [3, 3, 0, 0, 3, 2], [3, 0, 0, 0, 2, 0], [0, 2, 0, 2, 2, 0], [2, 3, 3, 3, 0, 3], [3, 2, 2, 3, 0, 0], [2, 0, 3, 0, 0, 3], [3, 2, 0, 0, 0, 3], [4, 2, 0, 0, 3, 2]], "min_steps": 11 }, { "id": "7008", "map": [[1, 0, 0, 0, 2, 0], [3, 3, 2, 0, 3, 0], [3, 0, 3, 0, 0, 0], [0, 0, 3, 0, 0, 3], [2, 2, 0, 3, 0, 3], [2, 0, 2, 0, 0, 0], [2, 0, 2, 0, 0, 2], [2, 0, 0, 2, 0, 0], [4, 3, 0, 0, 0, 2]], "min_steps": 12 }, { "id": "7010", "map": [[4, 3, 0, 3, 1, 0], [0, 0, 3, 3, 0, 0], [0, 3, 0, 0, 2, 2], [2, 0, 3, 0, 0, 2], [3, 2, 0, 2, 3, 0], [0, 0, 0, 0, 0, 0], [0, 2, 0, 2, 2, 0], [0, 2, 0, 3, 0, 2], [0, 2, 0, 0, 0, 3]], "min_steps": 12 }, { "id": "7016", "map": [[2, 3, 4, 0, 0, 3], [0, 3, 2, 2, 3, 1], [0, 2, 2, 3, 0, 0], [3, 0, 3, 0, 2, 0], [3, 0, 0, 0, 2, 2], [0, 0, 3, 3, 0, 0], [0, 3, 0, 3, 2, 0], [0, 0, 3, 0, 3, 2], [0, 2, 2, 3, 0, 0]], "min_steps": 12 }, { "id": "7020", "map": [[2, 3, 0, 4, 3, 3], [3, 3, 0, 0, 3, 0], [0, 2, 0, 3, 2, 0], [0, 3, 0, 0, 0, 2], [3, 2, 0, 0, 0, 0], [0, 0, 3, 2, 0, 3], [0, 3, 0, 3, 2, 0], [3, 2, 2, 0, 0, 2], [0, 0, 2, 1, 3, 2]], "min_steps": 12 }, { "id": "7024", "map": [[1, 3, 2, 0, 0, 3], [2, 3, 2, 0, 0, 0], [0, 2, 3, 0, 3, 3], [3, 0, 0, 2, 0, 3], [2, 3, 0, 0, 0, 3], [3, 3, 0, 0, 0, 0], [2, 0, 3, 0, 0, 2], [0, 0, 2, 0, 2, 2], [4, 2, 3, 0, 3, 0]], "min_steps": 12 }, { "id": "7032", "map": [[0, 0, 0, 0, 3, 4], [0, 0, 3, 3, 3, 2], [2, 2, 3, 3, 0, 0], [0, 0, 3, 2, 0, 0], [0, 2, 0, 2, 3, 2], [0, 2, 3, 0, 0, 3], [2, 3, 3, 0, 0, 2], [1, 0, 3, 0, 3, 2], [0, 0, 3, 0, 0, 2]], "min_steps": 12 }, { "id": "7033", "map": [[1, 0, 0, 3, 0, 3], [3, 3, 2, 0, 2, 0], [0, 3, 3, 2, 0, 2], [3, 2, 0, 3, 0, 0], [4, 2, 2, 2, 0, 0], [0, 3, 0, 0, 0, 0], [3, 3, 3, 0, 0, 2], [3, 0, 3, 2, 0, 3], [2, 0, 0, 0, 0, 2]], "min_steps": 12 }, { "id": "7035", "map": [[3, 0, 0, 2, 0, 4], [3, 0, 2, 3, 3, 3], [0, 0, 2, 3, 0, 2], [3, 0, 3, 3, 3, 0], [2, 2, 0, 0, 0, 0], [2, 2, 3, 0, 0, 0], [0, 0, 2, 3, 0, 0], [0, 2, 0, 3, 2, 3], [0, 0, 3, 1, 2, 0]], "min_steps": 12 }, { "id": "7036", "map": [[2, 3, 1, 0, 0, 2], [0, 3, 0, 0, 0, 0], [2, 0, 2, 0, 0, 3], [0, 0, 3, 3, 0, 3], [0, 2, 2, 0, 0, 3], [0, 3, 2, 3, 3, 0], [0, 3, 2, 0, 0, 2], [0, 3, 2, 0, 2, 3], [2, 0, 3, 3, 4, 0]], "min_steps": 12 }, { "id": "7037", "map": [[2, 0, 0, 0, 0, 3], [0, 2, 3, 0, 2, 2], [0, 0, 3, 0, 2, 0], [0, 2, 2, 0, 0, 0], [3, 2, 3, 0, 0, 3], [0, 0, 3, 3, 0, 3], [3, 2, 3, 0, 0, 3], [0, 0, 3, 3, 2, 0], [4, 3, 1, 2, 0, 2]], "min_steps": 12 }, { "id": "7039", "map": [[2, 0, 3, 3, 2, 0], [0, 0, 0, 0, 2, 3], [1, 3, 0, 0, 0, 2], [0, 2, 3, 2, 2, 2], [0, 0, 3, 0, 0, 0], [0, 3, 0, 0, 3, 0], [3, 0, 0, 2, 3, 2], [2, 0, 3, 0, 2, 3], [0, 4, 3, 0, 3, 3]], "min_steps": 12 }, { "id": "7040", "map": [[0, 2, 3, 3, 4, 0], [0, 2, 0, 0, 3, 2], [0, 0, 3, 0, 2, 0], [3, 0, 2, 0, 0, 3], [2, 0, 0, 3, 0, 3], [3, 3, 0, 2, 2, 0], [2, 2, 3, 0, 2, 0], [1, 3, 0, 0, 2, 3], [0, 0, 0, 3, 0, 3]], "min_steps": 12 }, { "id": "7041", "map": [[3, 3, 0, 2, 3, 1], [0, 3, 3, 2, 0, 2], [0, 2, 0, 0, 0, 0], [0, 0, 0, 0, 0, 0], [3, 3, 3, 2, 3, 0], [0, 3, 3, 2, 3, 2], [4, 0, 3, 0, 2, 0], [2, 2, 2, 0, 0, 0], [0, 3, 2, 0, 3, 0]], "min_steps": 12 }, { "id": "7004", "map": [[2, 0, 0, 2, 0, 0], [0, 3, 0, 0, 0, 1], [0, 2, 0, 0, 0, 0], [0, 0, 0, 0, 2, 0], [0, 0, 3, 3, 3, 2], [0, 0, 0, 3, 2, 3], [0, 0, 2, 0, 0, 3], [0, 2, 3, 2, 2, 4], [3, 2, 2, 0, 3, 0]], "min_steps": 13 }, { "id": "7009", "map": [[4, 0, 3, 1, 0, 2], [0, 2, 3, 3, 3, 0], [0, 2, 3, 2, 2, 0], [3, 0, 3, 0, 0, 2], [0, 0, 0, 0, 0, 0], [3, 2, 0, 0, 2, 0], [3, 2, 0, 0, 2, 0], [0, 0, 2, 2, 2, 0], [0, 0, 0, 0, 3, 0]], "min_steps": 13 }, { "id": "7014", "map": [[3, 4, 2, 3, 0, 0], [2, 3, 0, 3, 0, 0], [0, 2, 2, 0, 0, 0], [0, 3, 3, 0, 3, 3], [0, 0, 0, 0, 0, 0], [3, 2, 0, 0, 2, 2], [2, 2, 2, 2, 0, 3], [0, 0, 3, 3, 0, 3], [1, 2, 0, 3, 3, 0]], "min_steps": 13 }, { "id": "7015", "map": [[2, 3, 4, 0, 3, 0], [1, 2, 3, 2, 3, 0], [0, 0, 3, 0, 2, 0], [2, 0, 0, 3, 0, 0], [2, 2, 0, 2, 0, 3], [0, 0, 2, 0, 0, 0], [3, 0, 0, 3, 3, 0], [0, 0, 3, 0, 2, 3], [3, 0, 3, 2, 3, 2]], "min_steps": 13 }, { "id": "7025", "map": [[2, 3, 1, 0, 3, 3], [0, 0, 2, 3, 2, 0], [0, 2, 0, 0, 0, 3], [0, 3, 0, 0, 0, 3], [2, 0, 0, 3, 2, 0], [0, 0, 2, 3, 0, 2], [2, 0, 3, 2, 0, 3], [3, 3, 0, 0, 3, 3], [2, 4, 0, 2, 0, 0]], "min_steps": 13 }, { "id": "7030", "map": [[2, 0, 1, 2, 0, 0], [0, 2, 3, 3, 0, 2], [2, 3, 3, 3, 0, 2], [3, 0, 0, 2, 2, 0], [0, 3, 0, 3, 2, 0], [0, 0, 2, 0, 2, 3], [3, 3, 0, 3, 3, 2], [4, 3, 0, 0, 0, 0], [0, 0, 0, 0, 0, 3]], "min_steps": 13 }, { "id": "7031", "map": [[0, 2, 2, 3, 4, 2], [3, 3, 0, 0, 2, 2], [0, 0, 0, 3, 2, 0], [0, 3, 0, 0, 3, 3], [0, 2, 0, 2, 3, 0], [2, 3, 0, 0, 0, 0], [3, 3, 0, 3, 0, 2], [0, 0, 2, 3, 3, 3], [1, 0, 2, 0, 0, 0]], "min_steps": 13 }, { "id": "7038", "map": [[4, 2, 3, 3, 2, 3], [0, 3, 0, 2, 3, 0], [0, 0, 0, 2, 0, 2], [3, 3, 2, 3, 0, 0], [0, 3, 0, 3, 2, 3], [0, 2, 2, 2, 0, 0], [1, 3, 0, 0, 3, 0], [2, 0, 0, 0, 3, 2], [0, 0, 3, 0, 0, 0]], "min_steps": 13 }, { "id": "7011", "map": [[0, 1, 0, 0, 2, 0], [3, 0, 3, 3, 2, 3], [0, 3, 3, 2, 0, 0], [0, 0, 2, 0, 3, 3], [2, 3, 2, 0, 0, 0], [3, 2, 2, 3, 3, 0], [2, 0, 2, 2, 0, 4], [0, 2, 0, 3, 0, 0], [0, 0, 0, 3, 0, 3]], "min_steps": 14 }, { "id": "7017", "map": [[2, 0, 0, 3, 0, 3], [4, 3, 0, 2, 0, 3], [3, 0, 0, 0, 3, 0], [2, 0, 0, 2, 0, 0], [3, 0, 0, 3, 0, 0], [2, 3, 0, 2, 2, 2], [1, 3, 3, 0, 2, 2], [0, 3, 0, 0, 3, 0], [0, 2, 0, 3, 3, 2]], "min_steps": 14 }, { "id": "7019", "map": [[0, 3, 0, 2, 3, 1], [0, 3, 0, 2, 0, 2], [0, 2, 2, 0, 3, 3], [0, 0, 3, 2, 0, 3], [0, 0, 3, 2, 2, 0], [2, 2, 3, 0, 2, 2], [0, 3, 0, 0, 3, 0], [3, 0, 0, 3, 3, 0], [0, 0, 0, 3, 0, 4]], "min_steps": 14 }, { "id": "7021", "map": [[0, 0, 0, 0, 2, 4], [3, 0, 2, 0, 0, 0], [3, 0, 2, 3, 3, 3], [2, 0, 3, 3, 3, 0], [2, 0, 0, 0, 2, 3], [3, 3, 0, 0, 0, 2], [1, 0, 3, 0, 2, 2], [2, 2, 0, 2, 0, 0], [0, 0, 3, 3, 0, 3]], "min_steps": 14 }, { "id": "7022", "map": [[4, 0, 0, 0, 0, 0], [0, 0, 0, 0, 3, 2], [3, 3, 2, 3, 3, 2], [2, 0, 0, 0, 0, 2], [0, 0, 3, 0, 3, 3], [2, 0, 2, 3, 2, 1], [3, 2, 3, 0, 0, 3], [2, 0, 0, 3, 2, 2], [3, 3, 0, 0, 0, 0]], "min_steps": 15 }, { "id": "7028", "map": [[0, 2, 1, 3, 0, 2], [0, 3, 3, 3, 0, 2], [0, 0, 0, 3, 0, 2], [3, 0, 0, 3, 2, 4], [2, 0, 0, 3, 2, 2], [2, 2, 3, 0, 0, 3], [0, 2, 0, 0, 0, 0], [0, 3, 3, 3, 2, 0], [0, 3, 0, 3, 0, 0]], "min_steps": 16 }, { "id": "7034", "map": [[1, 0, 0, 3, 2, 0], [0, 2, 2, 3, 3, 0], [3, 0, 0, 2, 0, 3], [2, 3, 2, 2, 0, 3], [0, 0, 3, 0, 0, 3], [3, 0, 0, 0, 3, 0], [2, 3, 0, 3, 2, 4], [0, 3, 0, 0, 0, 3], [0, 2, 0, 0, 2, 2]], "min_steps": 16 }, { "id": "7012", "map": [[1, 3, 3, 3, 0, 0], [0, 3, 0, 2, 0, 0], [0, 0, 0, 3, 0, 2], [3, 0, 0, 3, 2, 3], [0, 0, 2, 0, 0, 3], [0, 0, 2, 3, 2, 0], [2, 2, 3, 2, 3, 2], [0, 3, 0, 2, 0, 2], [0, 3, 4, 3, 0, 0]], "min_steps": 17 }, { "id": "7013", "map": [[0, 1, 0, 0, 3, 3], [0, 2, 0, 3, 0, 0], [2, 3, 0, 0, 0, 0], [0, 0, 0, 3, 0, 3], [0, 3, 0, 2, 3, 2], [2, 0, 3, 3, 2, 0], [0, 2, 2, 3, 0, 2], [2, 3, 2, 0, 3, 0], [0, 3, 3, 0, 2, 4]], "min_steps": 17 }, { "id": "7018", "map": [[0, 0, 0, 0, 0, 2], [1, 0, 3, 3, 0, 2], [3, 3, 0, 3, 2, 3], [0, 3, 0, 2, 0, 0], [0, 3, 0, 0, 2, 2], [3, 0, 0, 2, 3, 0], [0, 3, 3, 3, 0, 0], [2, 0, 3, 0, 0, 2], [2, 4, 2, 0, 3, 2]], "min_steps": 17 }, { "id": "7042", "map": [[1, 2, 0, 0, 3, 0], [3, 3, 2, 3, 0, 0], [0, 0, 2, 0, 2, 2], [3, 3, 0, 0, 0, 0], [3, 0, 3, 3, 0, 3], [3, 2, 2, 0, 0, 0], [4, 2, 3, 0, 2, 2], [2, 0, 3, 0, 2, 2], [2, 0, 3, 0, 3, 2]], "min_steps": 17 }, { "id": "7043", "map": [[0, 0, 3, 0, 1, 0], [2, 0, 0, 2, 0, 0], [3, 0, 3, 0, 2, 2], [0, 0, 0, 3, 2, 3], [2, 3, 2, 3, 2, 3], [0, 3, 3, 0, 3, 4], [0, 3, 3, 2, 3, 0], [0, 2, 2, 0, 2, 0], [2, 2, 0, 0, 3, 2]], "min_steps": 17 }, { "id": "7044", "map": [[0, 0, 1, 3, 0, 4], [3, 0, 3, 0, 2, 3], [2, 2, 3, 2, 3, 0], [2, 3, 2, 2, 0, 3], [0, 3, 0, 0, 3, 0], [2, 0, 3, 2, 3, 3], [0, 3, 2, 2, 3, 0], [0, 0, 0, 0, 2, 0], [2, 0, 2, 2, 0, 0]], "min_steps": 17 }, { "id": "7045", "map": [[2, 3, 2, 0, 0, 3], [0, 0, 0, 3, 2, 2], [3, 0, 0, 3, 0, 0], [0, 0, 3, 2, 3, 2], [2, 3, 2, 3, 3, 1], [0, 0, 0, 3, 0, 3], [3, 2, 0, 0, 2, 0], [3, 2, 2, 0, 0, 2], [0, 4, 0, 3, 2, 2]], "min_steps": 17 }, { "id": "7046", "map": [[0, 3, 0, 2, 0, 0], [0, 2, 2, 0, 0, 1], [0, 0, 3, 3, 3, 2], [2, 2, 3, 3, 2, 2], [3, 3, 3, 0, 2, 3], [4, 2, 2, 3, 0, 2], [0, 0, 3, 2, 0, 2], [0, 3, 0, 0, 2, 3], [0, 0, 0, 3, 0, 0]], "min_steps": 17 }, { "id": "7047", "map": [[3, 2, 4, 3, 2, 0], [2, 0, 3, 2, 0, 0], [2, 3, 3, 2, 3, 0], [2, 0, 0, 2, 0, 0], [2, 3, 0, 0, 0, 0], [3, 0, 2, 0, 3, 0], [2, 2, 3, 0, 2, 0], [0, 3, 3, 0, 3, 0], [1, 2, 3, 2, 0, 3]], "min_steps": 17 }, { "id": "7048", "map": [[2, 0, 3, 4, 2, 2], [0, 0, 3, 0, 3, 0], [2, 0, 0, 2, 3, 3], [2, 0, 3, 3, 2, 3], [0, 0, 0, 0, 0, 0], [2, 2, 2, 0, 0, 3], [3, 3, 3, 3, 2, 2], [0, 0, 3, 0, 0, 2], [3, 1, 2, 0, 2, 0]], "min_steps": 17 }]]; this.LEVEL_INFO.unshift([{ "id": "0001", "map": [[3, 2, 2, 0, 2], [0, 0, 3, 3, 0], [1, 3, 0, 3, 2], [3, 0, 2, 3, 4], [3, 2, 3, 3, 2]], "min_steps": 4 }]); }; GameConfig.Authentication = function () { @@ -259,4 +259,4 @@ cc._RF.pop(); }); } })(); -//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbImFzc2V0c1xcU2NyaXB0XFxtb2R1bGVcXENvbmZpZ1xcR2FtZUNvbmZpZy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7QUFBQSx3Q0FBd0M7QUFJbEMsSUFBQSxLQUF3QixFQUFFLENBQUMsVUFBVSxFQUFuQyxPQUFPLGFBQUEsRUFBRSxRQUFRLGNBQWtCLENBQUM7QUFFNUM7SUFBQTtJQXdTQSxDQUFDO21CQXhTWSxVQUFVO0lBdUVuQixzQkFBVyxzQkFBUTtRQUpuQixPQUFPO2FBSVA7WUFFSSxJQUFJLElBQUksQ0FBQyxTQUFTLElBQUksSUFBSSxFQUMxQjtnQkFDSSxJQUFJLENBQUMsU0FBUyxHQUFHLElBQUksWUFBVSxFQUFFLENBQUM7YUFDckM7WUFDRCxPQUFPLElBQUksQ0FBQyxTQUFTLENBQUM7UUFDMUIsQ0FBQzs7O09BQUE7SUFDRCxlQUFlO0lBQ1IsZUFBSSxHQUFYLFVBQVksY0FBYztRQUN0QixJQUFJLENBQUMsVUFBVSxFQUFFLENBQUM7UUFDbEIsSUFBSSxDQUFDLGVBQWUsRUFBRSxDQUFDO1FBQ3ZCLElBQUksQ0FBQyxZQUFZLEVBQUUsQ0FBQztRQUNwQixJQUFJLElBQUksR0FBRyxJQUFJLENBQUM7UUFDaEIsMEVBQTBFO1FBQzFFLGlCQUFpQjtRQUNqQixrQkFBa0I7UUFDbEIsUUFBUTtRQUNSLHdDQUF3QztRQUN4QywwQ0FBMEM7UUFDMUMsS0FBSztRQUNMLDBFQUEwRTtRQUMxRSxpQkFBaUI7UUFDakIsa0JBQWtCO1FBQ2xCLFFBQVE7UUFFUix3Q0FBd0M7UUFDeEMsMENBQTBDO1FBQzFDLEtBQUs7UUFDTCx1RUFBdUU7UUFDdkUsaUJBQWlCO1FBQ2pCLHFEQUFxRDtRQUNyRCxrQkFBa0I7UUFDbEIsUUFBUTtRQUVSLHdDQUF3QztRQUN4Qyx1Q0FBdUM7UUFDdkMsdUNBQXVDO1FBQ3ZDLGlEQUFpRDtRQUNqRCxLQUFLO1FBRUwsbUNBQW1DO1FBQ25DLElBQUksQ0FBQyxTQUFTLEdB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LENBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsQ0FBQyxFQUFDLFdBQVcsRUFBQyxDQUFDLEVBQUMsRUFBQyxFQUFDLElBQUksRUFBQyxNQUFNLEVBQUMsS0FBSyxFQUFDLENBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsQ0FBQyxFQUFDLFdBQVcsRUFBQyxDQUFDLEVBQUMsRUFBQyxFQUFDLElBQUksRUFBQyxNQUFNLEVBQUMsS0FBSyxFQUFDLENBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsQ0FBQyxFQUFDLFdBQVcsRUFBQyxDQUFDLEVBQUMsRUFBQyxFQUFDLElBQUksRUFBQyxNQUFNLEVBQUMsS0FBSyxFQUFDLENBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsQ0FBQyxFQUFDLFdBQVcsRUFBQyxDQUFDLEVBQUMsRUFBQyxFQUFDLElBQUksRUFBQyxNQUFNLEVBQUMsS0FBSyxFQUFDLENBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsQ0FBQyxFQUFDLFdBQVcsRUFBQyxDQUFDLEVBQUMsRUFBQyxFQUFDLElBQUksRUFBQyxNQUFNLEVBQUMsS0FBSyxFQUFDLENBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsQ0FBQyxFQUFDLFdBQVcsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxJQUFJLEVBQUMsTUFBTSxFQUFDLEtBQUssRUFBQyxDQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxDQUFDLEVBQUMsV0FBVyxFQUFDLENBQUMsRUFBQyxFQUFDLEVBQUMsSUFBSSxFQUFDLE1BQU0sRUFBQyxLQUFLLEVBQUMsQ0FBQyxDQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsQ0FBQyxFQUFDLFdBQVcsRUFBQyxDQUFDLEVBQUMsRUFBQyxFQUFDLElBQUksRUFBQyxNQUFNLEVBQUMsS0FBSyxFQUFDLENBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLENBQUMsRUFBQyxXQUFXLEVBQUMsQ0FBQyxFQUFDLEVBQUMsRUFBQyxJQUFJLEVBQUMsTUFBTSxFQUFDLEtBQUssRUFBQyxDQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxDQUFDLEVBQUMsV0FBVyxFQUFDLENBQUMsRUFBQyxFQUFDLEVBQUMsSUFBSSxFQUFDLE1BQU0sRUFBQyxLQUFLLEVBQUMsQ0FBQyxDQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsQ0FBQyxFQUFDLFdBQVcsRUFBQyxDQUFDLEVBQUMsRUFBQyxFQUFDLElBQUksRUFBQyxNQUFNLEVBQUMsS0FBSyxFQUFDLENBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLENBQUMsRUFBQyxXQUFXLEVBQUMsQ0FBQyxFQUFDLEVBQUMsRUFBQyxJQUFJLEVBQUMsTUFBTSxFQUFDLEtBQUssRUFBQyxDQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxDQUFDLEVBQUMsV0FBVyxFQUFDLENBQUMsRUFBQyxFQUFDLEVBQUMsSUFBSSxFQUFDLE1BQU0sRUFBQyxLQUFLLEVBQUMsQ0FBQyxDQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsQ0FBQyxFQUFDLFdBQVcsRUFBQyxDQUFDLEVBQUMsRUFBQyxFQUFDLElBQUksRUFBQyxNQUFNLEVBQUMsS0FBSyxFQUFDLENBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLENBQUMsRUFBQyxXQUFXLEVBQUMsQ0FBQyxFQUFDLEVBQUMsRUFBQyxJQUFJLEVBQUMsTUFBTSxFQUFDLEtBQUssRUFBQyxDQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxDQUFDLEVBQUMsV0FBVyxFQUFDLENBQUMsRUFBQyxFQUFDLEVBQUMsSUFBSSxFQUFDLE1BQU0sRUFBQyxLQUFLLEVBQUMsQ0FBQyxDQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsQ0FBQyxFQUFDLFdBQVcsRUFBQyxDQUFDLEVBQUMsRUFBQyxFQUFDLElBQUksRUFBQyxNQUFNLEVBQUMsS0FBSyxFQUFDLENBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLENBQUMsRUFBQyxXQUFXLEVBQUMsQ0FBQyxFQUFDLEVBQUMsRUFBQyxJQUFJLEVBQUMsTUFBTSxFQUFDLEtBQUssRUFBQyxDQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxDQUFDLEVBQUMsV0FBVyxFQUFDLENBQUMsRUFBQyxFQUFDLEVBQUMsSUFBSSxFQUFDLE1BQU0sRUFBQyxLQUFLLEVBQUMsQ0FBQyxDQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsQ0FBQyxFQUFDLFdBQVcsRUFBQyxDQUFDLEVBQUMsRUFBQyxFQUFDLElBQUksRUFBQyxNQUFNLEVBQUMsS0FBSyxFQUFDLENBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLENBQUMsRUFBQyxXQUFXLEVBQUMsQ0FBQyxFQUFDLEVBQUMsRUFBQyxJQUFJLEVBQUMsTUFBTSxFQUFDLEtBQUssRUFBQyxDQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxDQUFDLEVBQUMsV0FBVyxFQUFDLENBQUMsRUFBQyxFQUFDLEVBQUMsSUFBSSxFQUFDLE1BQU0sRUFBQyxLQUFLLEVBQUMsQ0FBQyxDQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsQ0FBQyxFQUFDLFdBQVcsRUFBQyxDQUFDLEVBQUMsRUFBQyxFQUFDLElBQUksRUFBQyxNQUFNLEVBQUMsS0FBSyxFQUFDLENBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLENBQUMsRUFBQyxXQUFXLEVBQUMsQ0FBQyxFQUFDLEVBQUMsRUFBQyxJQUFJLEVBQUMsTUFBTSxFQUFDLEtBQUssRUFBQyxDQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxDQUFDLEVBQUMsV0FBVyxFQUFDLENBQUMsRUFBQyxFQUFDLEVBQUMsSUFBSSxFQUFDLE1BQU0sRUFBQyxLQUFLLEVBQUMsQ0FBQyxDQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsQ0FBQyxFQUFDLFdBQVcsRUFBQyxDQUFDLEVBQUMsRUFBQyxFQUFDLElBQUksRUFBQyxNQUFNLEVBQUMsS0FBSyxFQUFDLENBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLENBQUMsRUFBQyxXQUFXLEVBQUMsQ0FBQyxFQUFDLEVBQUMsRUFBQyxJQUFJLEVBQUMsTUFBTSxFQUFDLEtBQUssRUFBQyxDQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxDQUFDLEVBQUMsV0FBVyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLElBQUksRUFBQyxNQUFNLEVBQUMsS0FBSyxFQUFDLENBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLENBQUMsRUFBQyxXQUFXLEVBQUMsQ0FBQyxFQUFDLEVBQUMsRUFBQyxJQUFJLEVBQUMsTUFBTSxFQUFDLEtBQUssRUFBQyxDQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxDQUFDLEVBQUMsV0FBVyxFQUFDLENBQUMsRUFBQyxFQUFDLEVBQUMsSUFBSSxFQUFDLE1BQU0sRUFBQyxLQUFLLEVBQUMsQ0FBQyxDQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsQ0FBQyxFQUFDLFdBQVcsRUFBQyxDQUFDLEVBQUMsRUFBQyxFQUFDLElBQUksRUFBQyxNQUFNLEVBQUMsS0FBSyxFQUFDLENBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLENBQUMsRUFBQyxXQUFXLEVBQUMsQ0FBQyxFQUFDLEVBQUMsRUFBQyxJQUFJLEVBQUMsTUFBTSxFQUFDLEtBQUssRUFBQyxDQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxDQUFDLEVBQUMsV0FBVyxFQUFDLENBQUMsRUFBQyxFQUFDLEVBQUMsSUFBSSxFQUFDLE1BQU0sRUFBQyxLQUFLLEVBQUMsQ0FBQyxDQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsQ0FBQyxFQUFDLFdBQVcsRUFBQyxDQUFDLEVBQUMsRUFBQyxFQUFDLElBQUksRUFBQyxNQUFNLEVBQUMsS0FBSyxFQUFDLENBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLENBQUMsRUFBQyxXQUFXLEVBQUMsQ0FBQyxFQUFDLEVBQUMsRUFBQyxJQUFJLEVBQUMsTUFBTSxFQUFDLEtBQUssRUFBQyxDQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxDQUFDLEVBQUMsV0FBVyxFQUFDLENBQUMsRUFBQyxFQUFDLEVBQUMsSUFBSSxFQUFDLE1BQU0sRUFBQyxLQUFLLEVBQUMsQ0FBQyxDQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsQ0FBQyxFQUFDLFdBQVcsRUFBQyxDQUFDLEVBQUMsRUFBQyxFQUFDLElBQUksRUFBQyxNQUFNLEVBQUMsS0FBSyxFQUFDLENBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLENBQUMsRUFBQyxXQUFXLEVBQUMsQ0FBQyxFQUFDLEVBQUMsRUFBQyxJQUFJLEVBQUMsTUFBTSxFQUFDLEtBQUssRUFBQyxDQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxDQUFDLEVBQUMsV0FBVyxFQUFDLENBQUMsRUFBQyxFQUFDLEVBQUMsSUFBSSxFQUFDLE1BQU0sRUFBQyxLQUFLLEVBQUMsQ0FBQyxDQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsQ0FBQyxFQUFDLFdBQVcsRUFBQyxDQUFDLEVBQUMsRUFBQyxFQUFDLElBQUksRUFBQyxNQUFNLEVBQUMsS0FBSyxFQUFDLENBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLENBQUMsRUFBQyxXQUFXLEVBQUMsQ0FBQyxFQUFDLEVBQUMsRUFBQyxJQUFJLEVBQUMsTUFBTSxFQUFDLEtBQUssRUFBQyxDQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxDQUFDLEVBQUMsV0FBVyxFQUFDLENBQUMsRUFBQyxFQUFDLEVBQUMsSUFBSSxFQUFDLE1BQU0sRUFBQyxLQUFLLEVBQUMsQ0FBQyxDQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsQ0FBQyxFQUFDLFdBQVcsRUFBQyxDQUFDLEVBQUMsRUFBQyxFQUFDLElBQUksRUFBQyxNQUFNLEVBQUMsS0FBSyxFQUFDLENBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLENBQUMsRUFBQyxXQUFXLEVBQUMsQ0FBQyxFQUFDLEVBQUMsRUFBQyxJQUFJLEVBQUMsTUFBTSxFQUFDLEtBQUssRUFBQyxDQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxDQUFDLEVBQUMsV0FBVyxFQUFDLENBQUMsRUFBQyxFQUFDLEVBQUMsSUFBSSxFQUFDLE1BQU0sRUFBQyxLQUFLLEVBQUMsQ0FBQyxDQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsQ0FBQyxFQUFDLFdBQVcsRUFBQyxDQUFDLEVBQUMsRUFBQyxFQUFDLElBQUksRUFBQyxNQUFNLEVBQUMsS0FBSyxFQUFDLENBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLENBQUMsRUFBQyxXQUFXLEVBQUMsQ0FBQyxFQUFDLEVBQUMsRUFBQyxJQUFJLEVBQUMsTUFBTSxFQUFDLEtBQUssRUFBQyxDQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxDQUFDLEVBQUMsV0FBVyxFQUFDLENBQUMsRUFBQyxFQUFDLEVBQUMsSUFBSSxFQUFDLE1BQU0sRUFBQyxLQUFLLEVBQUMsQ0FBQyxDQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsQ0FBQyxFQUFDLFdBQVcsRUFBQyxDQUFDLEVBQUMsRUFBQyxFQUFDLElBQUksRUFBQyxNQUFNLEVBQUMsS0FBSyxFQUFDLENBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLENBQUMsRUFBQyxXQUFXLEVBQUMsQ0FBQyxFQUFDLEVBQUMsRUFBQyxJQUFJLEVBQUMsTUFBTSxFQUFDLEtBQUssRUFBQyxDQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxDQUFDLEVBQUMsV0FBVyxFQUFDLENBQUMsRUFBQyxFQUFDLEVBQUMsSUFBSSxFQUFDLE1BQU0sRUFBQyxLQUFLLEVBQUMsQ0FBQyxDQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsQ0FBQyxFQUFDLFdBQVcsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxJQUFJLEVBQUMsTUFBTSxFQUFDLEtBQUssRUFBQyxDQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsQ0FBQyxFQUFDLFdBQVcsRUFBQyxDQUFDLEVBQUMsRUFBQyxFQUFDLElBQUksRUFBQyxNQUFNLEVBQUMsS0FBSyxFQUFDLENBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLENBQUMsRUFBQyxXQUFXLEVBQUMsQ0FBQyxFQUFDLEVBQUMsRUFBQyxJQUFJLEVBQUMsTUFBTSxFQUFDLEtBQUssRUFBQyxDQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxDQUFDLEVBQUMsV0FBVyxFQUFDLENBQUMsRUFBQyxFQUFDLEVBQUMsSUFBSSxFQUFDLE1BQU0sRUFBQyxLQUFLLEVBQUMsQ0FBQyxDQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsQ0FBQyxFQUFDLFdBQVcsRUFBQyxDQUFDLEVBQUMsRUFBQyxFQUFDLElBQUksRUFBQyxNQUFNLEVBQUMsS0FBSyxFQUFDLENBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLENBQUMsRUFBQyxXQUFXLEVBQUMsQ0FBQyxFQUFDLEVBQUMsRUFBQyxJQUFJLEVBQUMsTUFBTSxFQUFDLEtBQUssRUFBQyxDQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxDQUFDLEVBQUMsV0FBVyxFQUFDLENBQUMsRUFBQyxFQUFDLEVBQUMsSUFBSSxFQUFDLE1BQU0sRUFBQyxLQUFLLEVBQUMsQ0FBQyxDQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsQ0FBQyxFQUFDLFdBQVcsRUFBQyxDQUFDLEVBQUMsRUFBQyxFQUFDLElBQUksRUFBQyxNQUFNLEVBQUMsS0FBSyxFQUFDLENBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLENBQUMsRUFBQyxXQUFXLEVBQUMsQ0FBQyxFQUFDLEVBQUMsRUFBQyxJQUFJLEVBQUMsTUFBTSxFQUFDLEtBQUssRUFBQyxDQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxDQUFDLEVBQUMsV0FBVyxFQUFDLENBQUMsRUFBQyxFQUFDLEVBQUMsSUFBSSxFQUFDLE1BQU0sRUFBQyxLQUFLLEVBQUMsQ0FBQyxDQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsQ0FBQyxFQUFDLFdBQVcsRUFBQyxDQUFDLEVBQUMsRUFBQyxFQUFDLElBQUksRUFBQyxNQUFNLEVBQUMsS0FBSyxFQUFDLENBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLENBQUMsRUFBQyxXQUFXLEVBQUMsQ0FBQyxFQUFDLEVBQUMsRUFBQyxJQUFJLEVBQUMsTUFBTSxFQUFDLEtBQUssRUFBQyxDQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxDQUFDLEVBQUMsV0FBVyxFQUFDLENBQUMsRUFBQyxFQUFDLEVBQUMsSUFBSSxFQUFDLE1BQU0sRUFBQyxLQUFLLEVBQUMsQ0FBQyxDQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsQ0FBQyxFQUFDLFdBQVcsRUFBQyxDQUFDLEVBQUMsRUFBQyxFQUFDLElBQUksRUFBQyxNQUFNLEVBQUMsS0FBSyxFQUFDLENBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLENBQUMsRUFBQyxXQUFXLEVBQUMsQ0FBQyxFQUFDLEVBQUMsRUFBQyxJQUFJLEVBQUMsTUFBTSxFQUFDLEtBQUssRUFBQyxDQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxDQUFDLEVBQUMsV0FBVyxFQUFDLENBQUMsRUFBQyxFQUFDLEVBQUMsSUFBSSxFQUFDLE1BQU0sRUFBQyxLQUFLLEVBQUMsQ0FBQyxDQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsQ0FBQyxFQUFDLFdBQVcsRUFBQyxDQUFDLEVBQUMsRUFBQyxFQUFDLElBQUksRUFBQyxNQUFNLEVBQUMsS0FBSyxFQUFDLENBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLENBQUMsRUFBQyxXQUFXLEVBQUMsQ0FBQyxFQUFDLEVBQUMsRUFBQyxJQUFJLEVBQUMsTUFBTSxFQUFDLEtBQUssRUFBQyxDQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxDQUFDLEVBQUMsV0FBVyxFQUFDLENBQUMsRUFBQyxFQUFDLEVBQUMsSUFBSSxFQUFDLE1BQU0sRUFBQyxLQUFLLEVBQUMsQ0FBQyxDQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsQ0FBQyxFQUFDLFdBQVcsRUFBQyxDQUFDLEVBQUMsRUFBQyxFQUFDLElBQUksRUFBQyxNQUFNLEVBQUMsS0FBSyxFQUFDLENBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLENBQUMsRUFBQyxXQUFXLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsSUFBSSxFQUFDLE1BQU0sRUFBQyxLQUFLLEVBQUMsQ0FBQyxDQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsQ0FBQyxFQUFDLFdBQVcsRUFBQyxDQUFDLEVBQUMsRUFBQyxFQUFDLElBQUksRUFBQyxNQUFNLEVBQUMsS0FBSyxFQUFDLENBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxDQUFDLEVBQUMsV0FBVyxFQUFDLENBQUMsRUFBQyxFQUFDLEVBQUMsSUFBSSxFQUFDLE1BQU0sRUFBQyxLQUFLLEVBQUMsQ0FBQyxDQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLENBQUMsRUFBQyxXQUFXLEVBQUMsQ0FBQyxFQUFDLEVBQUMsRUFBQyxJQUFJLEVBQUMsTUFBTSxFQUFDLEtBQUssRUFBQyxDQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsQ0FBQyxFQUFDLFdBQVcsRUFBQyxDQUFDLEVBQUMsRUFBQyxFQUFDLElBQUksRUFBQyxNQUFNLEVBQUMsS0FBSyxFQUFDLENBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxDQUFDLEVBQUMsV0FBVyxFQUFDLENBQUMsRUFBQyxFQUFDLEVBQUMsSUFBSSxFQUFDLE1BQU0sRUFBQyxLQUFLLEVBQUMsQ0FBQyxDQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLENBQUMsRUFBQyxXQUFXLEVBQUMsQ0FBQyxFQUFDLEVBQUMsRUFBQyxJQUFJLEVBQUMsTUFBTSxFQUFDLEtBQUssRUFBQyxDQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsQ0FBQyxFQUFDLFdBQVcsRUFBQyxDQUFDLEVBQUMsRUFBQyxFQUFDLElBQUksRUFBQyxNQUFNLEVBQUMsS0FBSyxFQUFDLENBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxDQUFDLEVBQUMsV0FBVyxFQUFDLENBQUMsRUFBQyxFQUFDLEVBQUMsSUFBSSxFQUFDLE1BQU0sRUFBQyxLQUFLLEVBQUMsQ0FBQyxDQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLENBQUMsRUFBQyxXQUFXLEVBQUMsQ0FBQyxFQUFDLEVBQUMsRUFBQyxJQUFJLEVBQUMsTUFBTSxFQUFDLEtBQUssRUFBQyxDQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsQ0FBQyxFQUFDLFdBQVcsRUFBQyxDQUFDLEVBQUMsRUFBQyxFQUFDLElBQUksRUFBQyxNQUFNLEVBQUMsS0FBSyxFQUFDLENBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxDQUFDLEVBQUMsV0FBVyxFQUFDLENBQUMsRUFBQyxFQUFDLEVBQUMsSUFBSSxFQUFDLE1BQU0sRUFBQyxLQUFLLEVBQUMsQ0FBQyxDQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLENBQUMsRUFBQyxXQUFXLEVBQUMsQ0FBQyxFQUFDLEVBQUMsRUFBQyxJQUFJLEVBQUMsTUFBTSxFQUFDLEtBQUssRUFBQyxDQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsQ0FBQyxFQUFDLFdBQVcsRUFBQyxDQUFDLEVBQUMsRUFBQyxFQUFDLElBQUksRUFBQyxNQUFNLEVBQUMsS0FBSyxFQUFDLENBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxDQUFDLEVBQUMsV0FBVyxFQUFDLENBQUMsRUFBQyxFQUFDLEVBQUMsSUFBSSxFQUFDLE1BQU0sRUFBQyxLQUFLLEVBQUMsQ0FBQyxDQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLENBQUMsRUFBQyxXQUFXLEVBQUMsQ0FBQyxFQUFDLEVBQUMsRUFBQyxJQUFJLEVBQUMsTUFBTSxFQUFDLEtBQUssRUFBQyxDQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsQ0FBQyxFQUFDLFdBQVcsRUFBQyxDQUFDLEVBQUMsRUFBQyxFQUFDLElBQUksRUFBQyxNQUFNLEVBQUMsS0FBSyxFQUFDLENBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxDQUFDLEVBQUMsV0FBVyxFQUFDLENBQUMsRUFBQyxFQUFDLEVBQUMsSUFBSSxFQUFDLE1BQU0sRUFBQyxLQUFLLEVBQUMsQ0FBQyxDQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLENBQUMsRUFBQyxXQUFXLEVBQUMsQ0FBQyxFQUFDLEVBQUMsRUFBQyxJQUFJLEVBQUMsTUFBTSxFQUFDLEtBQUssRUFBQyxDQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsQ0FBQyxFQUFDLFdBQVcsRUFBQyxDQUFDLEVBQUMsRUFBQyxFQUFDLElBQUksRUFBQyxNQUFNLEVBQUMsS0FBSyxFQUFDLENBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxDQUFDLEVBQUMsV0FBVyxFQUFDLENBQUMsRUFBQyxFQUFDLEVBQUMsSUFBSSxFQUFDLE1BQU0sRUFBQyxLQUFLLEVBQUMsQ0FBQyxDQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLENBQUMsRUFBQyxXQUFXLEVBQUMsRUFBRSxFQUFDLEVBQUMsRUFBQyxJQUFJLEVBQUMsTUFBTSxFQUFDLEtBQUssRUFBQyxDQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsQ0FBQyxFQUFDLFdBQVcsRUFBQyxFQUFFLEVBQUMsRUFBQyxFQUFDLElBQUksRUFBQyxNQUFNLEVBQUMsS0FBSyxFQUFDLENBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxDQUFDLEVBQUMsV0FBVyxFQUFDLEVBQUUsRUFBQyxFQUFDLEVBQUMsSUFBSSxFQUFDLE1BQU0sRUFBQyxLQUFLLEVBQUMsQ0FBQyxDQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLENBQUMsRUFBQyxXQUFXLEVBQUMsRUFBRSxFQUFDLEVBQUMsRUFBQyxJQUFJLEVBQUMsTUFBTSxFQUFDLEtBQUssRUFBQyxDQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsQ0FBQyxFQUFDLFdBQVcsRUFBQyxFQUFFLEVBQUMsRUFBQyxFQUFDLElBQUksRUFBQyxNQUFNLEVBQUMsS0FBSyxFQUFDLENBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxDQUFDLEVBQUMsV0FBVyxFQUFDLEVBQUUsRUFBQyxFQUFDLEVBQUMsSUFBSSxFQUFDLE1BQU0sRUFBQyxLQUFLLEVBQUMsQ0FBQyxDQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLENBQUMsRUFBQyxXQUFXLEVBQUMsRUFBRSxFQUFDLEVBQUMsRUFBQyxJQUFJLEVBQUMsTUFBTSxFQUFDLEtBQUssRUFBQyxDQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsQ0FBQyxFQUFDLFdBQVcsRUFBQyxFQUFFLEVBQUMsRUFBQyxFQUFDLElBQUksRUFBQyxNQUFNLEVBQUMsS0FBSyxFQUFDLENBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxDQUFDLEVBQUMsV0FBVyxFQUFDLEVBQUUsRUFBQyxFQUFDLEVBQUMsSUFBSSxFQUFDLE1BQU0sRUFBQyxLQUFLLEVBQUMsQ0FBQyxDQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLENBQUMsRUFBQyxXQUFXLEVBQUMsRUFBRSxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsSUFBSSxFQUFDLE1BQU0sRUFBQyxLQUFLLEVBQUMsQ0FBQyxDQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLENBQUMsRUFBQyxXQUFXLEVBQUMsQ0FBQyxFQUFDLEVBQUMsRUFBQyxJQUFJLEVBQUMsTUFBTSxFQUFDLEtBQUssRUFBQyxDQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsQ0FBQyxFQUFDLFdBQVcsRUFBQyxDQUFDLEVBQUMsRUFBQyxFQUFDLElBQUksRUFBQyxNQUFNLEVBQUMsS0FBSyxFQUFDLENBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxDQUFDLEVBQUMsV0FBVyxFQUFDLENBQUMsRUFBQyxFQUFDLEVBQUMsSUFBSSxFQUFDLE1BQU0sRUFBQyxLQUFLLEVBQUMsQ0FBQyxDQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxDQUFDLEVBQUMsV0FBVyxFQUFDLENBQUMsRUFBQyxFQUFDLEVBQUMsSUFBSSxFQUFDLE1BQU0sRUFBQyxLQUFLLEVBQUMsQ0FBQyxDQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxDQUFDLEVBQUMsV0FBVyxFQUFDLENBQUMsRUFBQyxFQUFDLEVBQUMsSUFBSSxFQUFDLE1BQU0sRUFBQyxLQUFLLEVBQUMsQ0FBQyxDQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxDQUFDLEVBQUMsV0FBVyxFQUFDLENBQUMsRUFBQyxFQUFDLEVBQUMsSUFBSSxFQUFDLE1BQU0sRUFBQyxLQUFLLEVBQUMsQ0FBQyxDQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxDQUFDLEVBQUMsV0FBVyxFQUFDLEVBQUUsRUFBQyxFQUFDLEVBQUMsSUFBSSxFQUFDLE1BQU0sRUFBQyxLQUFLLEVBQUMsQ0FBQyxDQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxDQUFDLEVBQUMsV0FBVyxFQUFDLEVBQUUsRUFBQyxFQUFDLEVBQUMsSUFBSSxFQUFDLE1BQU0sRUFBQyxLQUFLLEVBQUMsQ0FBQyxDQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxDQUFDLEVBQUMsV0FBVyxFQUFDLEVBQUUsRUFBQyxFQUFDLEVBQUMsSUFBSSxFQUFDLE1BQU0sRUFBQyxLQUFLLEVBQUMsQ0FBQyxDQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLENBQUMsRUFBQyxXQUFXLEVBQUMsRUFBRSxFQUFDLEVBQUMsRUFBQyxJQUFJLEVBQUMsTUFBTSxFQUFDLEtBQUssRUFBQyxDQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsQ0FBQyxFQUFDLFdBQVcsRUFBQyxFQUFFLEVBQUMsRUFBQyxFQUFDLElBQUksRUFBQyxNQUFNLEVBQUMsS0FBSyxFQUFDLENBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxDQUFDLEVBQUMsV0FBVyxFQUFDLEVBQUUsRUFBQyxFQUFDLEVBQUMsSUFBSSxFQUFDLE1BQU0sRUFBQyxLQUFLLEVBQUMsQ0FBQyxDQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLENBQUMsRUFBQyxXQUFXLEVBQUMsRUFBRSxFQUFDLEVBQUMsRUFBQyxJQUFJLEVBQUMsTUFBTSxFQUFDLEtBQUssRUFBQyxDQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLENBQUMsRUFBQyxXQUFXLEVBQUMsRUFBRSxFQUFDLEVBQUMsRUFBQyxJQUFJLEVBQUMsTUFBTSxFQUFDLEtBQUssRUFBQyxDQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLENBQUMsRUFBQyxXQUFXLEVBQUMsRUFBRSxFQUFDLEVBQUMsRUFBQyxJQUFJLEVBQUMsTUFBTSxFQUFDLEtBQUssRUFBQyxDQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLENBQUMsRUFBQyxXQUFXLEVBQUMsRUFBRSxFQUFDLEVBQUMsRUFBQyxJQUFJLEVBQUMsTUFBTSxFQUFDLEtBQUssRUFBQyxDQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLENBQUMsRUFBQyxXQUFXLEVBQUMsRUFBRSxFQUFDLEVBQUMsRUFBQyxJQUFJLEVBQUMsTUFBTSxFQUFDLEtBQUssRUFBQyxDQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsQ0FBQyxFQUFDLFdBQVcsRUFBQyxFQUFFLEVBQUMsRUFBQyxFQUFDLElBQUksRUFBQyxNQUFNLEVBQUMsS0FBSyxFQUFDLENBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxDQUFDLEVBQUMsV0FBVyxFQUFDLEVBQUUsRUFBQyxFQUFDLEVBQUMsSUFBSSxFQUFDLE1BQU0sRUFBQyxLQUFLLEVBQUMsQ0FBQyxDQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLENBQUMsRUFBQyxXQUFXLEVBQUMsRUFBRSxFQUFDLEVBQUMsRUFBQyxJQUFJLEVBQUMsTUFBTSxFQUFDLEtBQUssRUFBQyxDQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLENBQUMsRUFBQyxXQUFXLEVBQUMsRUFBRSxFQUFDLEVBQUMsRUFBQyxJQUFJLEVBQUMsTUFBTSxFQUFDLEtBQUssRUFBQyxDQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLENBQUMsRUFBQyxXQUFXLEVBQUMsRUFBRSxFQUFDLEVBQUMsRUFBQyxJQUFJLEVBQUMsTUFBTSxFQUFDLEtBQUssRUFBQyxDQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLENBQUMsRUFBQyxXQUFXLEVBQUMsRUFBRSxFQUFDLEVBQUMsRUFBQyxJQUFJLEVBQUMsTUFBTSxFQUFDLEtBQUssRUFBQyxDQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLENBQUMsRUFBQyxXQUFXLEVBQUMsRUFBRSxFQUFDLEVBQUMsRUFBQyxJQUFJLEVBQUMsTUFBTSxFQUFDLEtBQUssRUFBQyxDQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLENBQUMsRUFBQyxXQUFXLEVBQUMsRUFBRSxFQUFDLEVBQUMsRUFBQyxJQUFJLEVBQUMsTUFBTSxFQUFDLEtBQUssRUFBQyxDQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLENBQUMsRUFBQyxXQUFXLEVBQUMsRUFBRSxFQUFDLEVBQUMsRUFBQyxJQUFJLEVBQUMsTUFBTSxFQUFDLEtBQUssRUFBQyxDQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLENBQUMsRUFBQyxXQUFXLEVBQUMsRUFBRSxFQUFDLEVBQUMsRUFBQyxJQUFJLEVBQUMsTUFBTSxFQUFDLEtBQUssRUFBQyxDQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLENBQUMsRUFBQyxXQUFXLEVBQUMsRUFBRSxFQUFDLEVBQUMsRUFBQyxJQUFJLEVBQUMsTUFBTSxFQUFDLEtBQUssRUFBQyxDQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLENBQUMsRUFBQyxXQUFXLEVBQUMsRUFBRSxFQUFDLEVBQUMsRUFBQyxJQUFJLEVBQUMsTUFBTSxFQUFDLEtBQUssRUFBQyxDQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLENBQUMsRUFBQyxXQUFXLEVBQUMsRUFBRSxFQUFDLEVBQUMsRUFBQyxJQUFJLEVBQUMsTUFBTSxFQUFDLEtBQUssRUFBQyxDQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLENBQUMsRUFBQyxXQUFXLEVBQUMsRUFBRSxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsSUFBSSxFQUFDLE1BQU0sRUFBQyxLQUFLLEVBQUMsQ0FBQyxDQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsQ0FBQyxFQUFDLFdBQVcsRUFBQyxDQUFDLEVBQUMsRUFBQyxFQUFDLElBQUksRUFBQyxNQUFNLEVBQUMsS0FBSyxFQUFDLENBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLENBQUMsRUFBQyxXQUFXLEVBQUMsQ0FBQyxFQUFDLEVBQUMsRUFBQyxJQUFJLEVBQUMsTUFBTSxFQUFDLEtBQUssRUFBQyxDQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxDQUFDLEVBQUMsV0FBVyxFQUFDLEVBQUUsRUFBQyxFQUFDLEVBQUMsSUFBSSxFQUFDLE1BQU0sRUFBQyxLQUFLLEVBQUMsQ0FBQyxDQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsQ0FBQyxFQUFDLFdBQVcsRUFBQyxFQUFFLEVBQUMsRUFBQyxFQUFDLElBQUksRUFBQyxNQUFNLEVBQUMsS0FBSyxFQUFDLENBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLENBQUMsRUFBQyxXQUFXLEVBQUMsRUFBRSxFQUFDLEVBQUMsRUFBQyxJQUFJLEVBQUMsTUFBTSxFQUFDLEtBQUssRUFBQyxDQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxDQUFDLEVBQUMsV0FBVyxFQUFDLEVBQUUsRUFBQyxFQUFDLEVBQUMsSUFBSSxFQUFDLE1BQU0sRUFBQyxLQUFLLEVBQUMsQ0FBQyxDQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsQ0FBQyxFQUFDLFdBQVcsRUFBQyxFQUFFLEVBQUMsRUFBQyxFQUFDLElBQUksRUFBQyxNQUFNLEVBQUMsS0FBSyxFQUFDLENBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLENBQUMsRUFBQyxXQUFXLEVBQUMsRUFBRSxFQUFDLEVBQUMsRUFBQyxJQUFJLEVBQUMsTUFBTSxFQUFDLEtBQUssRUFBQyxDQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxDQUFDLEVBQUMsV0FBVyxFQUFDLEVBQUUsRUFBQyxFQUFDLEVBQUMsSUFBSSxFQUFDLE1BQU0sRUFBQyxLQUFLLEVBQUMsQ0FBQyxDQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsQ0FBQyxFQUFDLFdBQVcsRUFBQyxFQUFFLEVBQUMsRUFBQyxFQUFDLElBQUksRUFBQyxNQUFNLEVBQUMsS0FBSyxFQUFDLENBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLENBQUMsRUFBQyxXQUFXLEVBQUMsRUFBRSxFQUFDLEVBQUMsRUFBQyxJQUFJLEVBQUMsTUFBTSxFQUFDLEtBQUssRUFBQyxDQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxDQUFDLEVBQUMsV0FBVyxFQUFDLEVBQUUsRUFBQyxFQUFDLEVBQUMsSUFBSSxFQUFDLE1BQU0sRUFBQyxLQUFLLEVBQUMsQ0FBQyxDQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsQ0FBQyxFQUFDLFdBQVcsRUFBQyxFQUFFLEVBQUMsRUFBQyxFQUFDLElBQUksRUFBQyxNQUFNLEVBQUMsS0FBSyxFQUFDLENBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLENBQUMsRUFBQyxXQUFXLEVBQUMsRUFBRSxFQUFDLEVBQUMsRUFBQyxJQUFJLEVBQUMsTUFBTSxFQUFDLEtBQUssRUFBQyxDQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxDQUFDLEVBQUMsV0FBVyxFQUFDLEVBQUUsRUFBQyxFQUFDLEVBQUMsSUFBSSxFQUFDLE1BQU0sRUFBQyxLQUFLLEVBQUMsQ0FBQyxDQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsQ0FBQyxFQUFDLFdBQVcsRUFBQyxFQUFFLEVBQUMsRUFBQyxFQUFDLElBQUksRUFBQyxNQUFNLEVBQUMsS0FBSyxFQUFDLENBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLENBQUMsRUFBQyxXQUFXLEVBQUMsRUFBRSxFQUFDLEVBQUMsRUFBQyxJQUFJLEVBQUMsTUFBTSxFQUFDLEtBQUssRUFBQyxDQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxDQUFDLEVBQUMsV0FBVyxFQUFDLEVBQUUsRUFBQyxFQUFDLEVBQUMsSUFBSSxFQUFDLE1BQU0sRUFBQyxLQUFLLEVBQUMsQ0FBQyxDQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsQ0FBQyxFQUFDLFdBQVcsRUFBQyxFQUFFLEVBQUMsRUFBQyxFQUFDLElBQUksRUFBQyxNQUFNLEVBQUMsS0FBSyxFQUFDLENBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLENBQUMsRUFBQyxXQUFXLEVBQUMsRUFBRSxFQUFDLEVBQUMsRUFBQyxJQUFJLEVBQUMsTUFBTSxFQUFDLEtBQUssRUFBQyxDQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxDQUFDLEVBQUMsV0FBVyxFQUFDLEVBQUUsRUFBQyxFQUFDLEVBQUMsSUFBSSxFQUFDLE1BQU0sRUFBQyxLQUFLLEVBQUMsQ0FBQyxDQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsQ0FBQyxFQUFDLFdBQVcsRUFBQyxFQUFFLEVBQUMsRUFBQyxFQUFDLElBQUksRUFBQyxNQUFNLEVBQUMsS0FBSyxFQUFDLENBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLENBQUMsRUFBQyxXQUFXLEVBQUMsRUFBRSxFQUFDLEVBQUMsRUFBQyxJQUFJLEVBQUMsTUFBTSxFQUFDLEtBQUssRUFBQyxDQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxDQUFDLEVBQUMsV0FBVyxFQUFDLEVBQUUsRUFBQyxFQUFDLEVBQUMsSUFBSSxFQUFDLE1BQU0sRUFBQyxLQUFLLEVBQUMsQ0FBQyxDQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsQ0FBQyxFQUFDLFdBQVcsRUFBQyxFQUFFLEVBQUMsRUFBQyxFQUFDLElBQUksRUFBQyxNQUFNLEVBQUMsS0FBSyxFQUFDLENBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLENBQUMsRUFBQyxXQUFXLEVBQUMsRUFBRSxFQUFDLEVBQUMsRUFBQyxJQUFJLEVBQUMsTUFBTSxFQUFDLEtBQUssRUFBQyxDQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxDQUFDLEVBQUMsV0FBVyxFQUFDLEVBQUUsRUFBQyxFQUFDLEVBQUMsSUFBSSxFQUFDLE1BQU0sRUFBQyxLQUFLLEVBQUMsQ0FBQyxDQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsQ0FBQyxFQUFDLFdBQVcsRUFBQyxFQUFFLEVBQUMsRUFBQyxFQUFDLElBQUksRUFBQyxNQUFNLEVBQUMsS0FBSyxFQUFDLENBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLENBQUMsRUFBQyxXQUFXLEVBQUMsRUFBRSxFQUFDLEVBQUMsRUFBQyxJQUFJLEVBQUMsTUFBTSxFQUFDLEtBQUssRUFBQyxDQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxDQUFDLEVBQUMsV0FBVyxFQUFDLEVBQUUsRUFBQyxFQUFDLEVBQUMsSUFBSSxFQUFDLE1BQU0sRUFBQyxLQUFLLEVBQUMsQ0FBQyxDQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsQ0FBQyxFQUFDLFdBQVcsRUFBQyxFQUFFLEVBQUMsRUFBQyxFQUFDLElBQUksRUFBQyxNQUFNLEVBQUMsS0FBSyxFQUFDLENBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLENBQUMsRUFBQyxXQUFXLEVBQUMsRUFBRSxFQUFDLEVBQUMsRUFBQyxJQUFJLEVBQUMsTUFBTSxFQUFDLEtBQUssRUFBQyxDQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxDQUFDLEVBQUMsV0FBVyxFQUFDLEVBQUUsRUFBQyxFQUFDLEVBQUMsSUFBSSxFQUFDLE1BQU0sRUFBQyxLQUFLLEVBQUMsQ0FBQyxDQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsQ0FBQyxFQUFDLFdBQVcsRUFBQyxFQUFFLEVBQUMsRUFBQyxFQUFDLElBQUksRUFBQyxNQUFNLEVBQUMsS0FBSyxFQUFDLENBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLENBQUMsRUFBQyxXQUFXLEVBQUMsRUFBRSxFQUFDLEVBQUMsRUFBQyxJQUFJLEVBQUMsTUFBTSxFQUFDLEtBQUssRUFBQyxDQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxDQUFDLEVBQUMsV0FBVyxFQUFDLEVBQUUsRUFBQyxFQUFDLEVBQUMsSUFBSSxFQUFDLE1BQU0sRUFBQyxLQUFLLEVBQUMsQ0FBQyxDQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsQ0FBQyxFQUFDLFdBQVcsRUFBQyxFQUFFLEVBQUMsRUFBQyxFQUFDLElBQUksRUFBQyxNQUFNLEVBQUMsS0FBSyxFQUFDLENBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLENBQUMsRUFBQyxXQUFXLEVBQUMsRUFBRSxFQUFDLEVBQUMsRUFBQyxJQUFJLEVBQUMsTUFBTSxFQUFDLEtBQUssRUFBQyxDQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxDQUFDLEVBQUMsV0FBVyxFQUFDLEVBQUUsRUFBQyxFQUFDLEVBQUMsSUFBSSxFQUFDLE1BQU0sRUFBQyxLQUFLLEVBQUMsQ0FBQyxDQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsQ0FBQyxFQUFDLFdBQVcsRUFBQyxFQUFFLEVBQUMsRUFBQyxFQUFDLElBQUksRUFBQyxNQUFNLEVBQUMsS0FBSyxFQUFDLENBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLENBQUMsRUFBQyxXQUFXLEVBQUMsRUFBRSxFQUFDLENBQUMsQ0FBQyxDQUFBO1FBR3Jtc0IsSUFBSSxDQUFDLFVBQVUsQ0FBQyxPQUFPLENBQUMsQ0FBQyxFQUFDLElBQUksRUFBQyxNQUFNLEVBQUMsS0FBSyxFQUFDLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxFQUFFLENBQUMsRUFBRSxDQUFDLEVBQUUsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxFQUFFLENBQUMsRUFBRSxDQUFDLEVBQUUsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxFQUFFLENBQUMsRUFBRSxDQUFDLEVBQUUsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxFQUFFLENBQUMsRUFBRSxDQUFDLEVBQUUsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxFQUFFLENBQUMsRUFBRSxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsRUFBQyxXQUFXLEVBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxDQUFDO0lBS25KLENBQUM7SUFHTSx5QkFBYyxHQUFyQjtRQUNJLEVBQUUsQ0FBQyxFQUFFLENBQUMsUUFBUSxDQUFDLGNBQWMsRUFBRSxDQUFDO0lBQ3BDLENBQUM7O0lBdFNELDBCQUEwQjtJQUNYLG9CQUFTLEdBQWdCLElBQUksQ0FBQztJQUZwQyxVQUFVO1FBRHRCLE9BQU8sQ0FBQyxZQUFZLENBQUM7T0FDVCxVQUFVLENBd1N0QjtJQUFELGlCQUFDO0NBeFNELEFBd1NDLElBQUE7QUF4U1ksZ0NBQVUiLCJmaWxlIjoiIiwic291cmNlUm9vdCI6Ii8iLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBXZUNoYXQgfSBmcm9tIFwiLi4vU2hhcmUvc2hhcmVcIjtcclxuaW1wb3J0IHsgR2FtZVRvb2wgfSBmcm9tIFwiLi4vVG9vbC9HYW1lVG9vbFwiO1xyXG5cclxuXHJcbmNvbnN0IHsgY2NjbGFzcywgcHJvcGVydHkgfSA9IGNjLl9kZWNvcmF0b3I7XHJcbkBjY2NsYXNzKCdHYW1lQ29uZmlnJylcclxuZXhwb3J0IGNsYXNzIEdhbWVDb25maWcgIHtcclxuICAgIC8v5omA5pyJ5o6n5Yi25L+h5oGv6YO96YCa6L+HR2FtZUFwcFN0YXJ05YaF5o6n5Yi2XHJcbiAgICBwcml2YXRlIHN0YXRpYyBfaW5zdGFuY2UgOiBHYW1lQ29uZmlnID0gbnVsbDtcclxuXHJcbiAgICBzdGF0aWMgR0FNRV9EQVRBOiBhbnlbXTtcclxuICAgIC8v5YWz5Y2h5pWw5o2uXHJcblxyXG5cclxuICAgIHN0YXRpYyBMRVZFTF9JTkZPOiB7IGlkOiBzdHJpbmc7IG1hcDogbnVtYmVyW11bXTsgbWluX3N0ZXBzOiBudW1iZXJ9W11bXTtcclxuICAgIHN0YXRpYyBDVVNUT01fSU5GTzoge1xyXG4gICAgICAgIG1vdmVTcGVlZDogbnVtYmVyOyAvL+a0quWzsOenu+WKqOmAn+W6plxyXG4gICAgICAgIHdhaXRUaW1lOiBudW1iZXI7IC8v5rSq5bOw5Yay5Ye75YCS6K6h5pe2XHJcbiAgICAgICAgZmFzdFBhdGg6IG51bWJlcjsgLy/mnIDnn63ot6/lvoRcclxuICAgIH1bXTtcclxuICAgIHN0YXRpYyBUSU1FX0lORk86IHtcclxuICAgICAgICB3YXRlclNwZWVkOiBudW1iZXJbXTsgLy/mtKrls7DpgJ/luqZcclxuICAgICAgICB0b3RhbFRpbWU6IG51bWJlcjsgLy/muLjmiI/mgLvml7bplb9cclxuICAgICAgICB3YXRlclRpbWU6IG51bWJlcltdOyAvL+a0quWzsOadpeeahOWAkuiuoeaXtlxyXG4gICAgICAgIHJvYWRTcGVlZDogbnVtYmVyOyAvL+ays+mBk+S/ruetkemAn+W6plxyXG4gICAgICAgIFJlaW5mb3JjZVNwZWVkOiBudW1iZXI7IC8v5Yqg5Zu65pe26Ze06YCf5bqmXHJcbiAgICAgICAgWGlfU29pbFNwZWVkOiBudW1iZXI7XHJcbiAgICB9O1xyXG4gICAgLy/nlKjkuo7nm5vmlL7ln4vngrnmlbDmja7kuIrkvKDvvIzmr4/mrKHkuIrkvKDlkI7muIXnqbpcclxuICAgIHN0YXRpYyBDTElDS19EQVRBOiB7XHJcbiAgICAgICAgdHlwZTogbnVtYmVyOyAvL+S4iuS8oOaVsOaNruexu+Wei1xyXG4gICAgICAgIHN1Y2Nlc3M6IGJvb2xlYW47IC8v5q2k5bGA5ri45oiP5q2j56Gu5LiO5ZCmXHJcbiAgICAgICAgcm91bmQ6IG51bWJlcjsgLy/lm57lkIjmlbDova7mrKFcclxuICAgICAgICBnZXRTY29yZTogbnVtYmVyOyAvL+acrOi9ruW+l+WIhu+8jOWksei0peS4ujDliIZcclxuICAgICAgICBjdW11bGF0aXZlU2NvcmU6IG51bWJlcjsgLy/mnKzliafmuLjmiI/mgLvorqHlvpfliIZcclxuICAgICAgICBtYXBJZDogc3RyaW5nOyAvL+WcsOWbvklEXHJcbiAgICAgICAgZGlmZmljdWx0eTogbnVtYmVyOyAvL+WcsOWbvumavuW6plxyXG4gICAgICAgIG9wdGltaXplZFN0ZXBzOiBudW1iZXI7IC8v5YWz5Y2h5pyA55+t5q2l5pWwXHJcbiAgICAgICAgdXNlZFN0ZXBzOiBudW1iZXI7IC8v546p5a625L+u5bu65oC75q2l5pWwXHJcbiAgICAgICAgc3RlcExpc3Q6IGFueVtdOyAvL1XjgIFE44CBTOOAgVIgICBYIOaBr+WjpCAgIEYg5Yqg5Zu6XHJcbiAgICAgICAgc3RhcnRUaW1lOiBudW1iZXI7IC8v5LuO5ri45oiP5byA5aeL5Yiw546p5a625pON5L2c55qE56ys5LiA5q2l5oiq5q2i5pe26Ze0ICDljZXkvY3mr6vnp5JcclxuICAgICAgICBzdWJtaXRUaW1lOiBudW1iZXI7IC8v5LuO56ys5LiA5q2l5pON5L2c5Yiw5o+Q5Lqk5pe26Ze077yM5aaC5p6c5pyq5o+Q5Lqk5Li6LTEg5Y2V5L2N5q+r56eSXHJcbiAgICAgICAgZHVyYXRpb246IG51bWJlcjsgLy/muLjmiI/mgLvnlKjml7bvvIjmiKrmraLliLDmj5DkuqTvvIkg5Y2V5L2N5q+r56eSXHJcbiAgICAgICAgZHJhd2luZ0JhY2s6IG51bWJlcjsgLy/lkI7pgIDmrKHmlbBcclxuICAgICAgICBkcmF3aW5nUmVzZXQ6IG51bWJlcjsgLy/muIXnqbrmrKHmlbBcclxuICAgICAgICB0aW1lcjogbnVtYmVyOyAgLy/muLjmiI/lgJLorqHml7bliankvZnml7bplb8g56eSXHJcbiAgICB9O1xyXG4gICAgc3RhdGljIEdNX0lORk86IHtcclxuICAgICAgICAvLyBpc0VuZDogZmFsc2UsXHJcbiAgICAgICAgbWVhbl9UaW1lOiBudW1iZXI7IC8v5bmz5Z2H5pS+566t6YCf5bqmXHJcbiAgICAgICAgdG90YWw6IG51bWJlcjsgLy/mgLvlhbHlr7nnmoTkuKrmlbBcclxuICAgICAgICBjdXJyU2VlZDogbnVtYmVyOyAvL+eUqOS6jumaj+acuuaVsOenjeWtkFxyXG4gICAgICAgIGdhbWVJZDogc3RyaW5nOyAvL+a4uOaIj0lEXHJcbiAgICAgICAgdXNlcklkOiBudW1iZXI7IC8v55So5oi3SURcclxuICAgICAgICBndWlkZTogYm9vbGVhbjsgLy/mmK/lkKbmnInlvJXlr7xcclxuICAgICAgICB1cmw6IHN0cmluZzsgLy/orr/pl67ln5/lkI1cclxuICAgICAgICBzdWNjZXNzOiBib29sZWFuOyAvL+eUqOaIt+a4uOaIj+aIkOWKn+S4juWQplxyXG4gICAgICAgIG1hdGNoSWQ6IGFueTsgLy/nlKjkuo7ln4vngrnkuIrkvKDnmoRJRFxyXG4gICAgICAgIGN1c3RvbTogbnVtYmVyOyAvL+eUqOS6jua1i+ivlei3s+WFs+WNoVxyXG4gICAgICAgIHJvdW5kOiBudW1iZXI7IC8v5Zue5ZCI5pWwXHJcbiAgICAgICAgbGV2ZWw6IG51bWJlcjsgLy/lhbfkvZPmuLjmiI/lhoXov5vooYzliLDnrKzlh6DmraUgXHJcbiAgICAgICAgc3RlcFRpbWVMaXN0OiBudW1iZXI7IC8v5pW05bGA5ri45oiP55So5pe277yM55Sx5LqO5raJ5Y+K5Zy65pmv5YiH5o2i77yM5pWw5o2u6ZyA6KaB5L+d55WZXHJcbiAgICAgICAgc3VjY2Vzc0xpc3Q6IGFueVtdOyAvL+aVtOWxgOiDnOi0n1xyXG4gICAgICAgIGZlbjogbnVtYmVyOyAvL+Wwj+WxgOW+l+WIhlxyXG4gICAgICAgIHNjb3JlOiBudW1iZXI7IC8v5oC75b6X5YiGXHJcbiAgICAgICAgaWduaXRlQ291bnQ6IG51bWJlcjsgLy/njqnlrrbmgLvorqHmiJDlip/ngrnngavmlbBcclxuICAgICAgICBtaW5fU3RlcHM6IG51bWJlcjsgLy/mr4/mrKHkuIrkuIDmiormnIDlsI/mraXmlbBcclxuICAgICAgICBtaW5fVGltZTogbnVtYmVyOyAvL+avj+S4gOaKiuS4iuasoei3neemu+a0quWzsOWIsOadpeaXtumXtFxyXG4gICAgfTtcclxuXHJcblxyXG5cclxuXHJcbiAgICAvL+a4uOaIj+WGheS/oeaBr1xyXG5cclxuXHJcblxyXG4gICAgc3RhdGljIGdldCBJbnN0YW5jZSgpXHJcbiAgICB7XHJcbiAgICAgICAgaWYgKHRoaXMuX2luc3RhbmNlID09IG51bGwpXHJcbiAgICAgICAge1xyXG4gICAgICAgICAgICB0aGlzLl9pbnN0YW5jZSA9IG5ldyBHYW1lQ29uZmlnKCk7XHJcbiAgICAgICAgfVxyXG4gICAgICAgIHJldHVybiB0aGlzLl9pbnN0YW5jZTtcclxuICAgIH1cclxuICAgIC8vZ2V0U2VlZFJhbmRvbVxyXG4gICAgc3RhdGljIGluaXQoQXV0aGVudGljYXRpb24pe1xyXG4gICAgICAgIHRoaXMuQ0xJQ0tfaW5pdCgpO1xyXG4gICAgICAgIHRoaXMuTEVWRUxfSU5GT19pbml0KCk7XHJcbiAgICAgICAgdGhpcy5HTV9JTkZPX2luaXQoKTtcclxuICAgICAgICB2YXIgc2VsZiA9IHRoaXM7XHJcbiAgICAgICAgLy8gY2MucmVzb3VyY2VzLmxvYWQoJ0pzb24vQ0xJQ0tfREFUQScsIChlcnI6IGFueSwgcmVzOiBjYy5Kc29uQXNzZXQpID0+IHtcclxuICAgICAgICAvLyAgICAgaWYgKGVycikge1xyXG4gICAgICAgIC8vICAgICAgICAgcmV0dXJuO1xyXG4gICAgICAgIC8vICAgICB9XHJcbiAgICAgICAgLy8gICAgIGxldCBqc29uRGF0YTogb2JqZWN0ID0gcmVzLmpzb24hO1xyXG4gICAgICAgIC8vICAgICBzZWxmLkNMSUNLX0RBVEEgPSBqc29uRGF0YVtcImRhdGFcIl07XHJcbiAgICAgICAgLy8gfSlcclxuICAgICAgICAvLyBjYy5yZXNvdXJjZXMubG9hZCgnSnNvbi9MRVZFTF9JTkZPJywgKGVycjogYW55LCByZXM6IGNjLkpzb25Bc3NldCkgPT4ge1xyXG4gICAgICAgIC8vICAgICBpZiAoZXJyKSB7XHJcbiAgICAgICAgLy8gICAgICAgICByZXR1cm47XHJcbiAgICAgICAgLy8gICAgIH1cclxuICAgICAgICAgICAgXHJcbiAgICAgICAgLy8gICAgIGxldCBqc29uRGF0YTogb2JqZWN0ID0gcmVzLmpzb24hO1xyXG4gICAgICAgIC8vICAgICBzZWxmLkxFVkVMX0lORk8gPSBqc29uRGF0YVtcImRhdGFcIl07XHJcbiAgICAgICAgLy8gfSlcclxuICAgICAgICAvLyBjYy5yZXNvdXJjZXMubG9hZCgnSnNvbi9HTV9JTkZPJywgKGVycjogYW55LCByZXM6IGNjLkpzb25Bc3NldCkgPT4ge1xyXG4gICAgICAgIC8vICAgICBpZiAoZXJyKSB7XHJcbiAgICAgICAgLy8gICAgICAgICBpZighQXV0aGVudGljYXRpb24pIHNlbGYuQXV0aGVudGljYXRpb24oKTtcclxuICAgICAgICAvLyAgICAgICAgIHJldHVybjtcclxuICAgICAgICAvLyAgICAgfVxyXG4gICAgICAgICAgIFxyXG4gICAgICAgIC8vICAgICBsZXQganNvbkRhdGE6IG9iamVjdCA9IHJlcy5qc29uITtcclxuICAgICAgICAvLyAgICAgc2VsZi5HTV9JTkZPID0ganNvbkRhdGFbXCJkYXRhXCJdO1xyXG4gICAgICAgIC8vICAgICBjYy5meC5HYW1lVG9vbC5nZXRDdXN0b20oZmFsc2UpO1xyXG4gICAgICAgIC8vICAgICBpZighQXV0aGVudGljYXRpb24pIHNlbGYuQXV0aGVudGljYXRpb24oKTtcclxuICAgICAgICAvLyB9KVxyXG5cclxuICAgICAgICAvL0dBTUVfREFUQSDlup/lvIPkuobvvIzmmoLml7bkuI3liKDpmaTku6XpmLLlkI7pnaLkv67mlLnlm54g5LiA5pW05bGA5Lyg5LiA5qyhXHJcbiAgICAgICAgdGhpcy5HQU1FX0RBVEEgPSBbXHJcbiAgICAgICAgXVxyXG4gICAgICAgIHRoaXMuQ1VTVE9NX0lORk8gPSBbXHJcbiAgICAgICAgICAgIC8v56ys5LiA6Zq+5bqmXHJcbiAgICAgICAgICAgIHtcclxuICAgICAgICAgICAgICAgIG1vdmVTcGVlZDogMCwgICAgLy/mtKrls7Dnp7vliqjpgJ/luqZcclxuICAgICAgICAgICAgICAgIHdhaXRUaW1lOiAyMCwgICAvL+a0quWzsOWGsuWHu+WAkuiuoeaXtlxyXG4gICAgICAgICAgICAgICAgZmFzdFBhdGg6IDUgICAvL+acgOefrei3r+W+hFxyXG4gICAgICAgICAgICB9LFxyXG4gICAgICAgICAgICAvL+esrOS6jOmavuW6plxyXG4gICAgICAgICAgICB7XHJcbiAgICAgICAgICAgICAgICBtb3ZlU3BlZWQ6IDAsICAgIC8v5rSq5bOw56e75Yqo6YCf5bqmXHJcbiAgICAgICAgICAgICAgICB3YWl0VGltZTogMjAsICAgLy/mtKrls7DlhrLlh7vlgJLorqHml7ZcclxuICAgICAgICAgICAgICAgIGZhc3RQYXRoOiA1ICAgLy/mnIDnn63ot6/lvoRcclxuICAgICAgICAgICAgfSxcclxuICAgICAgICAgICAgLy/nrKzkuInpmr7luqZcclxuICAgICAgICAgICAge1xyXG4gICAgICAgICAgICAgICAgbW92ZVNwZWVkOiAwLCAgICAvL+a0quWzsOenu+WKqOmAn+W6plxyXG4gICAgICAgICAgICAgICAgd2FpdFRpbWU6IDIwLCAgIC8v5rSq5bOw5Yay5Ye75YCS6K6h5pe2XHJcbiAgICAgICAgICAgICAgICBmYXN0UGF0aDogNSAgIC8v5pyA55+t6Lev5b6EXHJcbiAgICAgICAgICAgIH0sXHJcbiAgICAgICAgICAgIC8v56ys5Zub6Zq+5bqmXHJcbiAgICAgICAgICAgIHtcclxuICAgICAgICAgICAgICAgIG1vdmVTcGVlZDogMCwgICAgLy/mtKrls7Dnp7vliqjpgJ/luqZcclxuICAgICAgICAgICAgICAgIHdhaXRUaW1lOiAyMCwgICAvL+a0quWzsOWGsuWHu+WAkuiuoeaXtlxyXG4gICAgICAgICAgICAgICAgZmFzdFBhdGg6IDUgICAvL+acgOefrei3r+W+hFxyXG4gICAgICAgICAgICB9LFxyXG4gICAgICAgICAgICAvL+esrOS6lOmavuW6plxyXG4gICAgICAgICAgICB7XHJcbiAgICAgICAgICAgICAgICBtb3ZlU3BlZWQ6IDAsICAgIC8v5rSq5bOw56e75Yqo6YCf5bqmXHJcbiAgICAgICAgICAgICAgICB3YWl0VGltZTogMjAsICAgLy/mtKrls7DlhrLlh7vlgJLorqHml7ZcclxuICAgICAgICAgICAgICAgIGZhc3RQYXRoOiA1ICAgLy/mnIDnn63ot6/lvoRcclxuICAgICAgICAgICAgfSxcclxuICAgICAgICAgICAgIC8v56ys5YWt6Zq+5bqmXHJcbiAgICAgICAgICAgIHtcclxuICAgICAgICAgICAgICAgIG1vdmVTcGVlZDogMCwgICAgLy/mtKrls7Dnp7vliqjpgJ/luqZcclxuICAgICAgICAgICAgICAgIHdhaXRUaW1lOiAyMCwgICAvL+a0quWzsOWGsuWHu+WAkuiuoeaXtlxyXG4gICAgICAgICAgICAgICAgZmFzdFBhdGg6IDUgICAvL+acgOefrei3r+W+hFxyXG4gICAgICAgICAgICB9LFxyXG4gICAgICAgICAgICAvL+esrOS4g+mavuW6piAgICAgICAgICBcclxuICAgICAgICAgICAge1xyXG4gICAgICAgICAgICAgICAgbW92ZVNwZWVkOiAwLCAgICAvL+a0quWzsOenu+WKqOmAn+W6plxyXG4gICAgICAgICAgICAgICAgd2FpdFRpbWU6IDIwLCAgIC8v5rSq5bOw5Yay5Ye75YCS6K6h5pe2XHJcbiAgICAgICAgICAgICAgICBmYXN0UGF0aDogNSAgIC8v5pyA55+t6Lev5b6EXHJcbiAgICAgICAgICAgIH0sXHJcbiAgICAgICAgICAgIC8v56ys5YWr6Zq+5bqmXHJcbiAgICAgICAgICAgIHtcclxuICAgICAgICAgICAgICAgIG1vdmVTcGVlZDogMCwgICAgLy/mtKrls7Dnp7vliqjpgJ/luqZcclxuICAgICAgICAgICAgICAgIHdhaXRUaW1lOiAyMCwgICAvL+a0quWzsOWGsuWHu+WAkuiuoeaXtlxyXG4gICAgICAgICAgICAgICAgZmFzdFBhdGg6IDUgICAvL+acgOefrei3r+W+hFxyXG4gICAgICAgICAgICB9LFxyXG4gICAgICAgICAgICAvL+esrOS5nemavuW6plxyXG4gICAgICAgICAgICB7XHJcbiAgICAgICAgICAgICAgICBtb3ZlU3BlZWQ6IDAsICAgIC8v5rSq5bOw56e75Yqo6YCf5bqmXHJcbiAgICAgICAgICAgICAgICB3YWl0VGltZTogMjAsICAgLy/mtKrls7DlhrLlh7vlgJLorqHml7ZcclxuICAgICAgICAgICAgICAgIGZhc3RQYXRoOiA1ICAgLy/mnIDnn63ot6/lvoRcclxuICAgICAgICAgICAgfSxcclxuICAgICAgICAgICAgLy/nrKzljYHpmr7luqZcclxuICAgICAgICAgICAge1xyXG4gICAgICAgICAgICAgICAgbW92ZVNwZWVkOiAwLCAgICAvL+a0quWzsOenu+WKqOmAn+W6plxyXG4gICAgICAgICAgICAgICAgd2FpdFRpbWU6IDIwLCAgIC8v5rSq5bOw5Yay5Ye75YCS6K6h5pe2XHJcbiAgICAgICAgICAgICAgICBmYXN0UGF0aDogNSAgIC8v5pyA55+t6Lev5b6EXHJcbiAgICAgICAgICAgIH0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXHJcbiAgICAgICAgXVxyXG4gICAgICAgIFdlQ2hhdC5zZXRTaGFyZShsb2NhdGlvbi5ocmVmKTtcclxuICAgICAgICBpZighQXV0aGVudGljYXRpb24pIHNlbGYuQXV0aGVudGljYXRpb24oKTtcclxuICAgIH1cclxuICAgIFxyXG4gICAgLy/mlbDmja7lpIfnlKhcclxuICAgIHN0YXRpYyBHTV9JTkZPX2luaXQoKSB7XHJcbiAgICAgICAgdGhpcy5HTV9JTkZPID0ge1xyXG4gICAgICAgICAgICAvLyBpc0VuZDogZmFsc2UsXHJcbiAgICAgICAgICAgIG1lYW5fVGltZTogMCwgICAgICAgICAgICAgICAgLy/lubPlnYfmlL7nrq3pgJ/luqZcclxuICAgICAgICAgICAgdG90YWw6IDAsICAgICAgICAgICAgICAgICAgICAvL+aAu+WFseWvueeahOS4quaVsFxyXG4gICAgICAgICAgICBjdXJyU2VlZDogMjAwMDAwLCAgICAgICAgICAgLy/nlKjkuo7pmo/mnLrmlbDnp43lrZBcclxuICAgICAgICAgICAgZ2FtZUlkOiBcIjEwMDAxMlwiLCAgICAgICAgICAgLy/muLjmiI9JRFxyXG4gICAgICAgICAgICB1c2VySWQ6IDAsICAgICAgICAgICAgICAgICAgLy/nlKjmiLdJRFxyXG4gICAgICAgICAgICBndWlkZTogZmFsc2UsICAgICAgICAgICAgICAgICAvL+aYr+WQpuacieW8leWvvFxyXG4gICAgICAgICAgICB1cmw6IFwiaHR0cHM6Ly9hcGkuc3Bhcmt1cy5jblwiLC8v6K6/6Zeu5Z+f5ZCNXHJcbiAgICAgICAgICAgIHN1Y2Nlc3M6IGZhbHNlLCAgICAgICAgICAgICAvL+eUqOaIt+a4uOaIj+aIkOWKn+S4juWQplxyXG4gICAgICAgICAgICBtYXRjaElkOiBudWxsLCAgICAgICAgICAgICAgLy/nlKjkuo7ln4vngrnkuIrkvKDnmoRJRFxyXG4gICAgICAgICAgICBjdXN0b206IDAsICAgICAgICAgICAgICAgICAgLy/nlKjkuo7mtYvor5Xot7PlhbPljaFcclxuICAgICAgICAgICAgcm91bmQ6MCwgICAgICAgICAgICAgICAgICAgIC8v5Zue5ZCI5pWwXHJcbiAgICAgICAgICAgIGxldmVsOiA2LCAgICAgICAgICAgICAgICAgICAgLy/lhbfkvZPmuLjmiI/lhoXov5vooYzliLDnrKzlh6DmraUgXHJcbiAgICAgICAgICAgIHN0ZXBUaW1lTGlzdDowLCAgICAgICAgICAgICAvL+aVtOWxgOa4uOaIj+eUqOaXtu+8jOeUseS6jua2ieWPiuWcuuaZr+WIh+aNou+8jOaVsOaNrumcgOimgeS/neeVmVxyXG4gICAgICAgICAgICBzdWNjZXNzTGlzdDpbXSwgICAgICAgICAgICAgIC8v5pW05bGA6IOc6LSfXHJcbiAgICAgICAgICAgIGZlbjowLCAgICAgICAgICAgICAgICAgICAgICAvL+Wwj+WxgOW+l+WIhlxyXG4gICAgICAgICAgICBzY29yZTowLCAgICAgICAgICAgICAgICAgICAgLy/mgLvlvpfliIZcclxuICAgICAgICAgICAgaWduaXRlQ291bnQ6IDAsICAgICAgICAgICAgIC8v546p5a625oC76K6h5oiQ5Yqf54K554Gr5pWwXHJcbiAgICAgICAgICAgIG1pbl9TdGVwczoxNSwgICAgICAgICAgICAgICAgLy/mr4/mrKHkuIrkuIDmiormnIDlsI/mraXmlbBcclxuICAgICAgICAgICAgbWluX1RpbWU6NSAgICAgICAgICAgICAgICAgIC8v5q+P5LiA5oqK5LiK5qyh6Led56a75rSq5bOw5Yiw5p2l5pe26Ze0XHJcbiAgICAgICAgfTtcclxuXHJcbiAgICB9XHJcbiAgICBzdGF0aWMgR01fSU5GT19TRVQoa2V5LHZhbHVlKSB7XHJcbiAgICAgICAgdGhpcy5HTV9JTkZPW2tleV0gPSB2YWx1ZTtcclxuICAgIH1cclxuICAgIHN0YXRpYyBDTElDS19pbml0KCkge1xyXG4gICAgICAgIHRoaXMuQ0xJQ0tfREFUQSA9XHJcbiAgICAgICAge1xyXG4gICAgICAgICAgICB0eXBlOiAxLCAgICAgICAgICAgIC8v5LiK5Lyg5pWw5o2u57G75Z6LXHJcbiAgICAgICAgICAgIHN1Y2Nlc3M6IGZhbHNlLCAgICAgLy/mraTlsYDmuLjmiI/mraPnoa7kuI7lkKZcclxuICAgICAgICAgICAgcm91bmQ6IDAsICAgICAgICAgICAvL+WbnuWQiOaVsOi9ruasoVxyXG4gICAgICAgICAgICBnZXRTY29yZTogMCwgICAgICAgIC8v5pys6L2u5b6X5YiG77yM5aSx6LSl5Li6MOWIhlxyXG4gICAgICAgICAgICBjdW11bGF0aXZlU2NvcmU6IDAsIC8v5pys5Ymn5ri45oiP5oC76K6h5b6X5YiGXHJcbiAgICAgICAgICAgIG1hcElkOiBcIlwiLCAgICAgICAgICAvL+WcsOWbvklEXHJcbiAgICAgICAgICAgIGRpZmZpY3VsdHk6IDAsICAgICAgLy/lnLDlm77pmr7luqZcclxuICAgICAgICAgICAgb3B0aW1pemVkU3RlcHM6IDAsICAvL+WFs+WNoeacgOefreatpeaVsFxyXG4gICAgICAgICAgICB1c2VkU3RlcHM6IDAsICAgICAgIC8v546p5a625L+u5bu65oC75q2l5pWwXHJcbiAgICAgICAgICAgIHN0ZXBMaXN0OiBbXSwgICAgICAgLy9V44CBROOAgUzjgIFSICAgWCDmga/lo6QgICBGIOWKoOWbulxyXG4gICAgICAgICAgICBzdGFydFRpbWU6LTEsICAgICAgICAvL+S7jua4uOaIj+W8gOWni+WIsOeOqeWutuaTjeS9nOeahOesrOS4gOatpeaIquatouaXtumXtCAg5Y2V5L2N5q+r56eSXHJcbiAgICAgICAgICAgIHN1Ym1pdFRpbWU6LTEsICAgICAgIC8v5LuO56ys5LiA5q2l5pON5L2c5Yiw5o+Q5Lqk5pe26Ze077yM5aaC5p6c5pyq5o+Q5Lqk5Li6LTEg5Y2V5L2N5q+r56eSXHJcbiAgICAgICAgICAgIGR1cmF0aW9uOjAsICAgICAgICAgLy/muLjmiI/mgLvnlKjml7bvvIjmiKrmraLliLDmj5DkuqTvvIkg5Y2V5L2N5q+r56eSIOWmguaenOacquS7luenu+S6pOWImeS4uuaXtumXtOS4iumZkFxyXG4gICAgICAgICAgICBkcmF3aW5nQmFjazowLCAgICAgIC8v5ZCO6YCA5qyh5pWwXHJcbiAgICAgICAgICAgIGRyYXdpbmdSZXNldDowLCAgICAgLy/muIXnqbrmrKHmlbBcclxuICAgICAgICAgICAgdGltZXI6IDAsICAgICAgICAgICAvL+a1i+ivhOWAkuiuoeaXtuWJqeS9meaXtumXtCDljrvnp5JcclxuICAgICAgICB9XHJcbiAgICB9XHJcblxyXG4gICAgc3RhdGljIENMSUNLX1NFVChrZXksdmFsdWUpIHtcclxuICAgICAgICB0aGlzLkNMSUNLX0RBVEFba2V5XSA9IHZhbHVlO1xyXG4gICAgfVxyXG5cclxuICAgIHN0YXRpYyBMRVZFTF9JTkZPX2luaXQoKSB7XHJcbiAgICAgICAgdGhpcy5USU1FX0lORk8gPSB7XHJcbiAgICAgICAgICAgIHdhdGVyU3BlZWQ6WzAuMywwLjI1LDAuMiwwLjE4LDAuMTYsMC4xNCwwLjEyLDAuMV0sIC8v5rSq5bOw6YCf5bqmXHJcbiAgICAgICAgICAgIHRvdGFsVGltZTogMTIwLCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvL+a4uOaIj+aAu+aXtumVv1xyXG4gICAgICAgICAgICB3YXRlclRpbWU6WzEwLDEyLDE0LDE2LDE4LDIwLDIwLDIwXSwgICAgICAgICAgICAvL+a0quWzsOadpeeahOWAkuiuoeaXtlxyXG4gICAgICAgICAgICByb2FkU3BlZWQ6MC4yLCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvL+ays+mBk+S/ruetkemAn+W6plxyXG4gICAgICAgICAgICBSZWluZm9yY2VTcGVlZDowLjIsICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvL+WKoOWbuuaXtumXtOmAn+W6plxyXG4gICAgICAgICAgICBYaV9Tb2lsU3BlZWQ6MC4yLCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvL+aBr+WjpOaXtumXtOmAn+W6plxyXG4gICAgICAgIH1cclxuICAgICAgICAvKlxyXG4gICAgICAgIG1vdmVTcGVlZDogMCwgICAgLy/mtKrls7Dnp7vliqjpgJ/luqZcclxuICAgICAgICB3YWl0VGltZTogMjAsICAgLy/mtKrls7DlhrLlh7vlgJLorqHml7ZcclxuICAgICAgICBmYXN0UGF0aDogNSAgIC8v5pyA55+t6Lev5b6EXHJcbiAgICAgICAgKi8gXHJcbiAgICAgICAgLy8gdGhpcy5MRVZFTF9JTkZPID0gW1xyXG4gICAgICAgIC8vICAgICBbIFxyXG4gICAgICAgIC8vICAgICAgICAge1xyXG4gICAgICAgIC8vICAgICAgICAgICAgIFwiaWRcIjogMTAwMSxcclxuICAgICAgICAvLyAgICAgICAgICAgICBcIm1hcFwiOiBbXHJcbiAgICAgICAgLy8gICAgICAgICAgICAgICAgIFswLDAsMCwwLDAsMF0sXHJcbiAgICAgICAgLy8gICAgICAgICAgICAgICAgIFswLDAsMCwwLDAsNF0sXHJcbiAgICAgICAgLy8gICAgICAgICAgICAgICAgIFswLDAsMywwLDMsMF0sXHJcbiAgICAgICAgLy8gICAgICAgICAgICAgICAgIFswLDAsMCwwLDAsMF0sXHJcbiAgICAgICAgLy8gICAgICAgICAgICAgICAgIFswLDAsMCwzLDAsMF0sXHJcbiAgICAgICAgLy8gICAgICAgICAgICAgICAgIFswLDAsMCwwLDAsMF0sXHJcbiAgICAgICAgLy8gICAgICAgICAgICAgICAgIFswLDAsMiwwLDAsMF0sXHJcbiAgICAgICAgLy8gICAgICAgICAgICAgICAgIFswLDAsMCwwLDAsMF0sXHJcbiAgICAgICAgLy8gICAgICAgICAgICAgICAgIFsxLDAsMCwwLDAsMF1cclxuICAgICAgICAvLyAgICAgICAgICAgICBdXHJcbiAgICAgICAgLy8gICAgICAgICB9LFxyXG4gICAgICAgIC8vICAgICAgICAge1xyXG4gICAgICAgIC8vICAgICAgICAgICAgIFwiaWRcIjogMTAwMixcclxuICAgICAgICAvLyAgICAgICAgICAgICBcIm1hcFwiOiBbXHJcbiAgICAgICAgLy8gICAgICAgICAgICAgICAgIFswLDAsMCwwLDAsMCwwLDAsNF0sXHJcbiAgICAgICAgLy8gICAgICAgICAgICAgICAgIFswLDAsMCwwLDAsMCwwLDAsMF0sXHJcbiAgICAgICAgLy8gICAgICAgICAgICAgICAgIFswLDAsMCwwLDAsMCwwLDAsMF0sXHJcbiAgICAgICAgLy8gICAgICAgICAgICAgICAgIFswLDAsMCwwLDAsMCwwLDAsMF0sXHJcbiAgICAgICAgLy8gICAgICAgICAgICAgICAgIFswLDAsMCwwLDAsMCwwLDAsMF0sXHJcbiAgICAgICAgLy8gICAgICAgICAgICAgICAgIFswLDEsMCwwLDAsMCwwLDAsMF1cclxuICAgICAgICAvLyAgICAgICAgICAgICBdXHJcbiAgICAgICAgLy8gICAgICAgICB9XHJcbiAgICAgICAgLy8gICAgIF0sXHJcblxyXG4gICAgICBcclxuICAgICAgICAvLyBdXHJcblxyXG4gICAgICAgIHRoaXMuTEVWRUxfSU5GTyA9IFtbe1wiaWRcIjpcIjEwMDFcIixcIm1hcFwiOltbMCw0LDAsMF0sWzAsMCwwLDBdLFswLDAsMCwwXSxbMCwwLDEsMF1dLFwibWluX3N0ZXBzXCI6M30se1wiaWRcIjpcIjEwMDJcIixcIm1hcFwiOltbMSwwLDAsMF0sWzAsMCwwLDRdLFswLDAsMCwwXSxbMCwwLDAsMF1dLFwibWluX3N0ZXBzXCI6M30se1wiaWRcIjpcIjEwMDRcIixcIm1hcFwiOltbMSwwLDAsMF0sWzAsMCwwLDBdLFswLDAsMCwwXSxbMCw0LDAsMF1dLFwibWluX3N0ZXBzXCI6M30se1wiaWRcIjpcIjEwMDZcIixcIm1hcFwiOltbNCwwLDAsMF0sWzAsMCwwLDBdLFswLDAsMCwwXSxbMCwxLDAsMF1dLFwibWluX3N0ZXBzXCI6M30se1wiaWRcIjpcIjEwMDNcIixcIm1hcFwiOltbMSwwLDAsMF0sWzAsMCwwLDBdLFswLDAsMCwwXSxbMCwwLDAsNF1dLFwibWluX3N0ZXBzXCI6NH0se1wiaWRcIjpcIjEwMDVcIixcIm1hcFwiOltbMSwwLDAsMF0sWzAsMCwwLDBdLFswLDAsMCw0XSxbMCwwLDAsMF1dLFwibWluX3N0ZXBzXCI6NH0se1wiaWRcIjpcIjEwMDdcIixcIm1hcFwiOltbMCw0LDAsMF0sWzAsMCwwLDBdLFswLDAsMCwwXSxbMCwwLDAsMV1dLFwibWluX3N0ZXBzXCI6NH0se1wiaWRcIjpcIjEwMDhcIixcIm1hcFwiOltbMCwwLDAsNF0sWzAsMCwwLDBdLFswLDAsMCwwXSxbMSwwLDAsMF1dLFwibWluX3N0ZXBzXCI6NH1dLFt7XCJpZFwiOlwiMjAwMVwiLFwibWFwXCI6W1swLDAsMCwwLDFdLFswLDAsMCwwLDBdLFswLDAsMywwLDNdLFswLDAsMCwwLDBdLFs0LDAsMCwwLDNdXSxcIm1pbl9zdGVwc1wiOjR9LHtcImlkXCI6XCIyMDAyXCIsXCJtYXBcIjpbWzAsMSwwLDAsMF0sWzAsMCwwLDAsMF0sWzMsMywwLDAsNF0sWzAsMCwwLDAsMF0sWzMsMCwwLDAsMF1dLFwibWluX3N0ZXBzXCI6NH0se1wiaWRcIjpcIjIwMDlcIixcIm1hcFwiOltbMCwzLDAsMCw0XSxbMywwLDAsMCwwXSxbMCwwLDAsMCwwXSxbMSwwLDAsMCwwXSxbMCwzLDAsMCwwXV0sXCJtaW5fc3RlcHNcIjo0fSx7XCJpZFwiOlwiMjAxMFwiLFwibWFwXCI6W1swLDAsMCwwLDFdLFswLDAsMCwwLDBdLFswLDAsMCwwLDBdLFswLDMsMCwzLDBdLFs0LDAsMywwLDBdXSxcIm1pbl9zdGVwc1wiOjR9LHtcImlkXCI6XCIyMDExXCIsXCJtYXBcIjpbWzQsMywxLDAsMF0sWzAsMCwwLDAsM10sWzAsMCwwLDMsMF0sWzAsMCwwLDAsMF0sWzAsMCwwLDAsMF1dLFwibWluX3N0ZXBzXCI6NH0se1wiaWRcIjpcIjIwMjFcIixcIm1hcFwiOltbMCwwLDAsMSwwXSxbMCwwLDMsMCwwXSxbMCwwLDAsMywzXSxbMCwwLDAsMCwwXSxbMCw0LDAsMCwwXV0sXCJtaW5fc3RlcHNcIjo0fSx7XCJpZFwiOlwiMjAwNFwiLFwibWFwXCI6W1sxLDAsMCwwLDBdLFswLDAsMCwwLDNdLFszLDAsMCwwLDBdLFswLDAsMCwwLDBdLFswLDAsMCwwLDRdXSxcIm1pbl9zdGVwc1wiOjV9LHtcImlkXCI6XCIyMDEyXCIsXCJtYXBcIjpbWzAsMywwLDQsMF0sWzAsMCwwLDMsMF0sWzEsMCwzLDAsMF0sWzAsMCwwLDAsMF0sWzAsMCwwLDAsMF1dLFwibWluX3N0ZXBzXCI6NX0se1wiaWRcIjpcIjIwMTNcIixcIm1hcFwiOltbMCwwLDAsMCwwXSxbMSwwLDAsMCwwXSxbMCwwLDAsMywzXSxbMywwLDAsMCwwXSxbMCwwLDAsNCwwXV0sXCJtaW5fc3RlcHNcIjo1fSx7XCJpZFwiOlwiMjAxNFwiLFwibWFwXCI6W1szLDAsMSwwLDBdLFswLDMsMCwwLDBdLFswLDAsMCwwLDBdLFs0LDAsMCwzLDBdLFswLDAsMCwwLDBdXSxcIm1pbl9zdGVwc1wiOjV9LHtcImlkXCI6XCIyMDE1XCIsXCJtYXBcIjpbWzMsMCwwLDAsMV0sWzMsMCwwLDAsMF0sWzAsMCwwLDAsMF0sWzQsMywwLDAsMF0sWzMsMCwwLDAsMF1dLFwibWluX3N0ZXBzXCI6NX0se1wiaWRcIjpcIjIwMTZcIixcIm1hcFwiOltbMCwwLDAsMCwwXSxbMSwwLDMsMCwwXSxbMywwLDAsMCwzXSxbMCwwLDAsMCwwXSxbMCwwLDAsMCw0XV0sXCJtaW5fc3RlcHNcIjo1fSx7XCJpZFwiOlwiMjAxN1wiLFwibWFwXCI6W1swLDMsMCwwLDBdLFs0LDAsMCwwLDBdLFswLDAsMCwwLDBdLFszLDAsMywwLDBdLFszLDAsMCwwLDFdXSxcIm1pbl9zdGVwc1wiOjV9LHtcImlkXCI6XCIyMDE4XCIsXCJtYXBcIjpbWzAsMyw0LDMsM10sWzAsMCwwLDAsMF0sWzAsMCwwLDAsMF0sWzAsMCwwLDAsMF0sWzAsMCwzLDAsMV1dLFwibWluX3N0ZXBzXCI6NX0se1wiaWRcIjpcIjIwMTlcIixcIm1hcFwiOltbMywwLDAsNCwwXSxbMCwwLDAsMywwXSxbMCwwLDAsMCwwXSxbMCwwLDAsMCwwXSxbMSwwLDMsMCwwXV0sXCJtaW5fc3RlcHNcIjo1fSx7XCJpZFwiOlwiMjAyMFwiLFwibWFwXCI6W1s0LDAsMywwLDFdLFswLDAsMCwwLDNdLFswLDAsMCwwLDBdLFswLDAsMCwwLDBdLFswLDAsMywwLDBdXSxcIm1pbl9zdGVwc1wiOjV9LHtcImlkXCI6XCIyMDAzXCIsXCJtYXBcIjpbWzEsMCwwLDMsMF0sWzAsMCwzLDAsMF0sWzAsMCwwLDAsMF0sWzAsMCwwLDAsMF0sWzAsMywwLDQsMF1dLFwibWluX3N0ZXBzXCI6Nn0se1wiaWRcIjpcIjIwMDVcIixcIm1hcFwiOltbMCwzLDAsMCwwXSxbMSwwLDAsMCwwXSxbMCwwLDAsMywwXSxbMCwwLDAsMCwwXSxbMCwzLDAsNCwwXV0sXCJtaW5fc3RlcHNcIjo2fSx7XCJpZFwiOlwiMjAwNlwiLFwibWFwXCI6W1swLDEsMCwwLDBdLFswLDAsMCwwLDNdLFswLDAsMCwwLDNdLFswLDAsMCwwLDBdLFswLDAsMCwzLDRdXSxcIm1pbl9zdGVwc1wiOjZ9LHtcImlkXCI6XCIyMDA3XCIsXCJtYXBcIjpbWzMsMCwwLDAsMV0sWzAsMCwwLDAsM10sWzAsMCwwLDAsMF0sWzAsMCwwLDAsMF0sWzQsMywwLDAsMF1dLFwibWluX3N0ZXBzXCI6Nn0se1wiaWRcIjpcIjIwMDhcIixcIm1hcFwiOltbMyw0LDAsMCwwXSxbMCwwLDAsMCwzXSxbMCwwLDAsMywxXSxbMCwwLDAsMCwwXSxbMCwwLDAsMCwwXV0sXCJtaW5fc3RlcHNcIjo2fSx7XCJpZFwiOlwiMjAyMlwiLFwibWFwXCI6W1swLDAsMCwwLDBdLFsxLDMsMCwwLDNdLFswLDAsMCwwLDBdLFswLDAsMCwwLDBdLFswLDAsMyw0LDBdXSxcIm1pbl9zdGVwc1wiOjZ9XSxbe1wiaWRcIjpcIjMwMDFcIixcIm1hcFwiOltbMywwLDIsMyw0XSxbMCwwLDAsMiwyXSxbMiwzLDMsMywzXSxbMCwwLDIsMCwyXSxbMSwwLDIsMywwXV0sXCJtaW5fc3RlcHNcIjo1fSx7XCJpZFwiOlwiMzAwMlwiLFwibWFwXCI6W1szLDAsMywyLDBdLFsxLDIsMCwzLDJdLFsyLDMsMCwwLDRdLFsyLDAsMiwyLDBdLFszLDMsMCwzLDBdXSxcIm1pbl9zdGVwc1wiOjV9LHtcImlkXCI6XCIzMDAzXCIsXCJtYXBcIjpbWzAsMiwzLDMsNF0sWzIsMiwwLDAsMF0sWzEsMywzLDMsMl0sWzIsMiwzLDIsM10sWzAsMCwwLDAsMF1dLFwibWluX3N0ZXBzXCI6NX0se1wiaWRcIjpcIjMwMDRcIixcIm1hcFwiOltbMywyLDIsMSwwXSxbMCwwLDMsMiwyXSxbMywwLDIsMywwXSxbMywwLDAsMywzXSxbMCwyLDQsMCwyXV0sXCJtaW5fc3RlcHNcIjo1fSx7XCJpZFwiOlwiMzAwNVwiLFwibWFwXCI6W1szLDAsMywwLDBdLFsyLDMsMCwwLDFdLFswLDIsMiwyLDNdLFs0LDIsMCwwLDJdLFszLDMsMCwzLDJdXSxcIm1pbl9zdGVwc1wiOjV9LHtcImlkXCI6XCIzMDA4XCIsXCJtYXBcIjpbWzMsMywzLDAsMV0sWzAsMCwwLDAsM10sWzIsMiwzLDIsMl0sWzAsMiwzLDAsM10sWzQsMiwyLDAsMF1dLFwibWluX3N0ZXBzXCI6NX0se1wiaWRcIjpcIjMwMDlcIixcIm1hcFwiOltbMSwwLDMsMywyXSxbMywwLDIsMCwwXSxbMCwzLDMsMiw0XSxbMCwwLDMsMCwyXSxbMiwyLDIsMCwzXV0sXCJtaW5fc3RlcHNcIjo1fSx7XCJpZFwiOlwiMzAxMFwiLFwibWFwXCI6W1szLDAsMiwwLDRdLFsxLDIsMywwLDNdLFsyLDAsMywyLDBdLFswLDMsMCwwLDNdLFsyLDAsMiwzLDJdXSxcIm1pbl9zdGVwc1wiOjV9LHtcImlkXCI6XCIzMDA2XCIsXCJtYXBcIjpbWzIsMCwyLDIsMF0sWzEsMiwzLDAsMF0sWzMsMywwLDMsMl0sWzMsMCwwLDMsMl0sWzIsMCwzLDAsNF1dLFwibWluX3N0ZXBzXCI6Nn0se1wiaWRcIjpcIjMwMDdcIixcIm1hcFwiOltbMSwyLDAsMywzXSxbMiwyLDAsMiwwXSxbMiwzLDIsMCwzXSxbMCwzLDIsMCw0XSxbMCwwLDMsMCwzXV0sXCJtaW5fc3RlcHNcIjo2fSx7XCJpZFwiOlwiMzAxMVwiLFwibWFwXCI6W1syLDMsMCwxLDBdLFswLDAsMCwwLDBdLFszLDAsMCwwLDNdLFswLDIsMCwzLDJdLFs0LDMsMywyLDJdXSxcIm1pbl9zdGVwc1wiOjZ9LHtcImlkXCI6XCIzMDEyXCIsXCJtYXBcIjpbWzAsMiwxLDAsM10sWzAsMywwLDAsM10sWzMsMiwzLDIsMF0sWzAsMiwwLDMsMF0sWzIsMCwwLDAsNF1dLFwibWluX3N0ZXBzXCI6Nn0se1wiaWRcIjpcIjMwMTNcIixcIm1hcFwiOltbMCwyLDEsMCwzXSxbMCwzLDAsMCwzXSxbMywyLDMsMiwwXSxbMCwyLDAsMywwXSxbMiwwLDAsMCw0XV0sXCJtaW5fc3RlcHNcIjo2fSx7XCJpZFwiOlwiMzAxNFwiLFwibWFwXCI6W1sxLDAsMywzLDRdLFsyLDMsMCwzLDBdLFswLDIsMiwwLDBdLFszLDMsMCwwLDJdLFsyLDAsMCwwLDBdXSxcIm1pbl9zdGVwc1wiOjZ9LHtcImlkXCI6XCIzMDE1XCIsXCJtYXBcIjpbWzIsMywwLDAsMF0sWzAsMCwyLDMsMF0sWzQsMCwzLDAsM10sWzIsMCwyLDIsM10sWzAsMywwLDAsMV1dLFwibWluX3N0ZXBzXCI6Nn0se1wiaWRcIjpcIjMwMTZcIixcIm1hcFwiOltbMywwLDIsMCwyXSxbMiwwLDAsMCwzXSxbMCwyLDMsMCwxXSxbNCwwLDAsMywwXSxbMywzLDAsMCwyXV0sXCJtaW5fc3RlcHNcIjo2fSx7XCJpZFwiOlwiMzAxN1wiLFwibWFwXCI6W1swLDMsMCwwLDJdLFszLDAsMiwwLDRdLFsxLDMsMywwLDBdLFsyLDAsMCwyLDBdLFszLDIsMywwLDBdXSxcIm1pbl9zdGVwc1wiOjZ9LHtcImlkXCI6XCIzMDE4XCIsXCJtYXBcIjpbWzQsMiwwLDAsMF0sWzAsMCwwLDMsMl0sWzAsMywwLDAsM10sWzMsMiwzLDIsMF0sWzMsMCwyLDEsMF1dLFwibWluX3N0ZXBzXCI6N30se1wiaWRcIjpcIjMwMTlcIixcIm1hcFwiOltbMCw0LDAsMywyXSxbMCwyLDAsMCwwXSxbMywwLDMsMCwyXSxbMywzLDIsMywxXSxbMiwwLDAsMCwwXV0sXCJtaW5fc3RlcHNcIjo3fSx7XCJpZFwiOlwiMzAyMFwiLFwibWFwXCI6W1swLDIsMCwxLDBdLFswLDAsMCwzLDJdLFszLDAsMywzLDNdLFszLDAsMCwwLDJdLFswLDIsMiw0LDBdXSxcIm1pbl9zdGVwc1wiOjd9LHtcImlkXCI6XCIzMDIxXCIsXCJtYXBcIjpbWzMsMiwwLDIsMV0sWzMsMiwwLDMsMl0sWzMsMCwwLDIsM10sWzAsMCwwLDAsNF0sWzAsMCwzLDAsMF1dLFwibWluX3N0ZXBzXCI6N30se1wiaWRcIjpcIjMwMjJcIixcIm1hcFwiOltbMiwwLDIsMiwyXSxbMCwwLDMsMCwwXSxbMywwLDMsMCwwXSxbMSwwLDMsMiw0XSxbMCwwLDMsMywwXV0sXCJtaW5fc3RlcHNcIjo3fSx7XCJpZFwiOlwiMzAyM1wiLFwibWFwXCI6W1sxLDIsMCwyLDBdLFszLDMsMywwLDBdLFswLDIsMywyLDBdLFs0LDAsMCwwLDNdLFswLDAsMiwwLDNdXSxcIm1pbl9zdGVwc1wiOjd9LHtcImlkXCI6XCIzMDI0XCIsXCJtYXBcIjpbWzEsMCwzLDAsM10sWzIsMiwwLDAsMF0sWzAsMywwLDMsMF0sWzIsMCwzLDIsMF0sWzIsMywwLDQsMF1dLFwibWluX3N0ZXBzXCI6N31dLFt7XCJpZFwiOlwiNDAwMVwiLFwibWFwXCI6W1sxLDMsMCwwLDIsMF0sWzAsMywwLDAsMiwwXSxbMCwwLDIsMCwzLDRdLFswLDAsMCwyLDAsMF0sWzMsMywwLDAsMiwwLDNdLFswLDAsMiwyLDIsMF1dLFwibWluX3N0ZXBzXCI6NX0se1wiaWRcIjpcIjQwMDJcIixcIm1hcFwiOltbMCwyLDIsMiwyLDBdLFsxLDAsMCwwLDIsMF0sWzAsMCwwLDAsMCwzXSxbMCwwLDAsMCwyLDBdLFswLDMsMywwLDIsMF0sWzMsMCwwLDQsMiwwXV0sXCJtaW5fc3RlcHNcIjo1fSx7XCJpZFwiOlwiNDAwM1wiLFwibWFwXCI6W1swLDAsMCwwLDAsMF0sWzIsMCwwLDAsMCwyXSxbMCwzLDMsMywyLDRdLFswLDMsMCwzLDIsMF0sWzAsMCwwLDAsMCwzXSxbMCwwLDIsMywwLDFdXSxcIm1pbl9zdGVwc1wiOjZ9LHtcImlkXCI6XCI0MDA0XCIsXCJtYXBcIjpbWzIsMCwzLDAsMCw0XSxbMCwyLDMsMywwLDBdLFswLDMsMCwwLDAsMF0sWzMsMCwwLDAsMiwyXSxbMywwLDAsMiwwLDBdLFsxLDAsMCwzLDAsMF1dLFwibWluX3N0ZXBzXCI6Nn0se1wiaWRcIjpcIjQwMDZcIixcIm1hcFwiOltbNCwzLDAsMywwLDBdLFswLDIsMCwzLDAsMF0sWzMsMCwwLDAsMywyXSxbMCwzLDAsMCwyLDFdLFswLDAsMiwwLDAsMF0sWzAsMCwwLDAsMiwzXV0sXCJtaW5fc3RlcHNcIjo3fSx7XCJpZFwiOlwiNDAwN1wiLFwibWFwXCI6W1s0LDIsMiwwLDIsMF0sWzAsMywwLDIsMCwwXSxbMCwyLDMsMCwzLDBdLFswLDAsMywwLDAsM10sWzAsMCwzLDAsMCwwXSxbMCwwLDAsMywwLDFdXSxcIm1pbl9zdGVwc1wiOjd9LHtcImlkXCI6XCI0MDE0XCIsXCJtYXBcIjpbWzAsMCwzLDAsMiwyXSxbMCwyLDMsMCwwLDFdLFswLDMsMywwLDAsM10sWzAsMiwwLDAsMCwwXSxbMCwwLDAsMywzLDBdLFsyLDAsNCwwLDAsMF1dLFwibWluX3N0ZXBzXCI6N30se1wiaWRcIjpcIjQwMTVcIixcIm1hcFwiOltbMiwwLDAsMCwwLDBdLFswLDAsMCwwLDMsMV0sWzMsMCwyLDAsMCwzXSxbMiwwLDAsMiwzLDBdLFszLDAsMywwLDAsMF0sWzIsMCwwLDMsNCwwXV0sXCJtaW5fc3RlcHNcIjo3fSx7XCJpZFwiOlwiNDAwNVwiLFwibWFwXCI6W1sxLDAsMCwwLDAsMl0sWzAsMCwwLDIsMCwwXSxbMywyLDAsMCwwLDBdLFswLDMsMCwwLDIsM10sWzAsMCwzLDMsMCwwXSxbMywwLDAsMiwzLDRdXSxcIm1pbl9zdGVwc1wiOjh9LHtcImlkXCI6XCI0MDA4XCIsXCJtYXBcIjpbWzAsMCwyLDMsMCwwXSxbMCwzLDAsMiwzLDJdLFszLDAsMCwwLDAsMF0sWzAsMywwLDAsMyw0XSxbMCwwLDAsMCwwLDNdLFswLDIsMCwyLDAsMV1dLFwibWluX3N0ZXBzXCI6OH0se1wiaWRcIjpcIjQwMDlcIixcIm1hcFwiOltbMCwzLDMsMCwwLDRdLFsyLDAsMCwzLDAsMF0sWzIsMCwwLDMsMCwwXSxbMSwwLDAsMCwzLDBdLFswLDAsMiwzLDAsMl0sWzIsMywwLDAsMCwwXV0sXCJtaW5fc3RlcHNcIjo4fSx7XCJpZFwiOlwiNDAxMFwiLFwibWFwXCI6W1swLDAsMSwzLDIsMF0sWzMsMCwwLDAsMywyXSxbMywwLDAsMCwwLDNdLFsyLDAsMCwwLDAsMF0sWzAsMiwwLDAsMywwXSxbMCwyLDAsMyw0LDBdXSxcIm1pbl9zdGVwc1wiOjh9LHtcImlkXCI6XCI0MDExXCIsXCJtYXBcIjpbWzEsMCwwLDAsMCwwXSxbMywzLDAsMCwwLDJdLFswLDAsMCwzLDAsMl0sWzIsMCwzLDAsMywwXSxbMiwwLDMsMCwwLDNdLFs0LDAsMCwwLDAsMl1dLFwibWluX3N0ZXBzXCI6OH0se1wiaWRcIjpcIjQwMTZcIixcIm1hcFwiOltbMCwwLDMsMCwwLDFdLFsyLDMsMCwwLDMsMF0sWzIsMCwwLDAsMCwyXSxbMCwzLDAsMCwwLDBdLFswLDMsMCwwLDIsMF0sWzAsNCwzLDAsMiwzXV0sXCJtaW5fc3RlcHNcIjo4fSx7XCJpZFwiOlwiNDAxN1wiLFwibWFwXCI6W1sxLDIsMywwLDMsMl0sWzMsMCwwLDAsMCwwXSxbMCwwLDAsMCwwLDNdLFszLDMsMCwzLDIsMF0sWzAsMiwwLDAsMCwwXSxbNCwwLDAsMiwwLDBdXSxcIm1pbl9zdGVwc1wiOjh9LHtcImlkXCI6XCI0MDE4XCIsXCJtYXBcIjpbWzAsMCwxLDAsMiwwXSxbMCwwLDAsMCwwLDBdLFswLDAsMywyLDMsMF0sWzMsMCwwLDMsMCwwXSxbMiwzLDAsMiwwLDBdLFs0LDIsMCwzLDMsMF1dLFwibWluX3N0ZXBzXCI6OH0se1wiaWRcIjpcIjQwMTJcIixcIm1hcFwiOltbMiwyLDMsMCwyLDBdLFswLDMsMCwwLDAsMF0sWzAsMCwwLDAsMyw0XSxbMCwyLDAsMywwLDNdLFswLDAsMCwwLDAsMF0sWzAsMCwyLDMsMywxXV0sXCJtaW5fc3RlcHNcIjo5fSx7XCJpZFwiOlwiNDAxM1wiLFwibWFwXCI6W1swLDAsMCwwLDMsMF0sWzQsMiwwLDMsMCwwXSxbMywyLDAsMCwwLDBdLFsxLDMsMCwzLDAsMF0sWzIsMCwwLDIsMCwwXSxbMywwLDAsMywyLDBdXSxcIm1pbl9zdGVwc1wiOjl9LHtcImlkXCI6XCI0MDE5XCIsXCJtYXBcIjpbWzMsNCwwLDAsMCwyXSxbMywyLDAsMCwyLDBdLFswLDMsMCwzLDAsMl0sWzAsMCwzLDAsMCwwXSxbMCwwLDAsMCwzLDBdLFsxLDMsMCwwLDAsMl1dLFwibWluX3N0ZXBzXCI6OX0se1wiaWRcIjpcIjQwMjBcIixcIm1hcFwiOltbMCwyLDAsMSwwLDBdLFsyLDMsMCwwLDIsMF0sWzMsMCwwLDAsMCwwXSxbMCwzLDMsMCwwLDNdLFsyLDAsMCwzLDAsMF0sWzQsMywwLDAsMCwyXV0sXCJtaW5fc3RlcHNcIjo5fV0sW3tcImlkXCI6XCI1MDAxXCIsXCJtYXBcIjpbWzEsMCwwLDAsMCwwXSxbMCwyLDIsMywwLDJdLFszLDIsMCwwLDMsM10sWzAsMCwwLDAsMCw0XSxbMCwwLDAsMiwyLDBdLFszLDAsMiwyLDAsMF1dLFwibWluX3N0ZXBzXCI6N30se1wiaWRcIjpcIjUwMDJcIixcIm1hcFwiOltbMCwwLDAsMCw0LDNdLFszLDIsMywwLDAsMF0sWzAsMiwwLDIsMywwXSxbMiwyLDAsMCwwLDBdLFszLDIsMCwwLDAsMF0sWzMsMCwwLDIsMCwzXSxbMiwwLDAsMywwLDFdXSxcIm1pbl9zdGVwc1wiOjd9LHtcImlkXCI6XCI1MDE1XCIsXCJtYXBcIjpbWzEsMiwzLDIsMiwwXSxbMywwLDAsMCwwLDNdLFswLDAsMCwwLDAsMF0sWzAsMCwwLDAsMCwyXSxbMCwzLDAsMywyLDBdLFswLDAsMCwwLDAsMF0sWzAsMiwwLDQsMCwzXV0sXCJtaW5fc3RlcHNcIjo3fSx7XCJpZFwiOlwiNTAxNlwiLFwibWFwXCI6W1szLDAsMSwwLDAsMF0sWzAsMiwwLDIsMCwwXSxbMCwyLDAsMiwwLDNdLFswLDAsMCwwLDAsMF0sWzAsMiwwLDAsMywzXSxbMCwwLDAsMCwyLDNdLFswLDAsMCwzLDAsNF1dLFwibWluX3N0ZXBzXCI6N30se1wiaWRcIjpcIjUwMDRcIixcIm1hcFwiOltbMCwzLDMsMiwzLDBdLFsyLDAsMiwwLDMsMF0sWzEsMCwzLDIsMCwwXSxbMywzLDAsMCwwLDJdLFswLDAsMCwwLDAsMF0sWzAsMiwwLDAsMCwwXSxbMCwwLDAsMyw0LDBdXSxcIm1pbl9zdGVwc1wiOjh9LHtcImlkXCI6XCI1MDA1XCIsXCJtYXBcIjpbWzAsMCwwLDAsMCwxXSxbMCwwLDIsMCwyLDBdLFszLDIsMiwwLDAsMF0sWzMsMCwwLDMsMCwwXSxbMywzLDAsMCwwLDNdLFs0LDMsMCwwLDAsMF0sWzIsMCwwLDIsMywwXV0sXCJtaW5fc3RlcHNcIjo4fSx7XCJpZFwiOlwiNTAwOFwiLFwibWFwXCI6W1szLDAsMywyLDAsNF0sWzAsMywwLDIsMCwyXSxbMCwwLDMsMCwwLDBdLFsyLDAsMCwyLDAsMF0sWzAsMCwzLDAsMCwwXSxbMCwwLDAsMywwLDBdLFszLDIsMSwzLDAsMF1dLFwibWluX3N0ZXBzXCI6OH0se1wiaWRcIjpcIjUwMTJcIixcIm1hcFwiOltbMiwzLDAsMiwwLDFdLFsyLDAsMCwwLDAsMF0sWzIsMCwwLDMsMCwyXSxbMywwLDMsMCwwLDNdLFswLDAsMCwwLDMsM10sWzMsMCwwLDAsMiwwXSxbMCwwLDAsMCwwLDRdXSxcIm1pbl9zdGVwc1wiOjh9LHtcImlkXCI6XCI1MDEzXCIsXCJtYXBcIjpbWzAsMCwyLDEsMiwwXSxbMCwzLDAsMCwwLDBdLFsyLDAsMCwwLDAsMF0sWzAsMCwwLDMsMCwwXSxbMywwLDAsMiwzLDBdLFszLDMsMywyLDAsMl0sWzAsMCw0LDAsMCwzXV0sXCJtaW5fc3RlcHNcIjo4fSx7XCJpZFwiOlwiNTAxOFwiLFwibWFwXCI6W1swLDIsMCwxLDAsMF0sWzIsMCwwLDMsMCwwXSxbMCwwLDAsMCwwLDBdLFszLDAsMCwwLDAsMF0sWzIsMywwLDIsMywzXSxbMiwwLDAsMCwwLDJdLFs0LDMsMCwwLDAsMF1dLFwibWluX3N0ZXBzXCI6OH0se1wiaWRcIjpcIjUwMTlcIixcIm1hcFwiOltbMSwzLDAsMiwzLDBdLFswLDAsMCwwLDAsMl0sWzAsMCwwLDAsMCwwXSxbMCwwLDIsMCwwLDJdLFszLDMsMCwzLDAsMl0sWzQsMCwyLDAsMCwwXSxbMCwwLDAsMywwLDBdXSxcIm1pbl9zdGVwc1wiOjh9LHtcImlkXCI6XCI1MDI5XCIsXCJtYXBcIjpbWzQsMywwLDAsMCwwXSxbMiwwLDAsMywwLDJdLFszLDIsMCwzLDMsMF0sWzIsMCwwLDMsMCwwXSxbMCwyLDAsMCwwLDBdLFsyLDAsMCwwLDAsMF0sWzMsMCwzLDMsMCwxXV0sXCJtaW5fc3RlcHNcIjo4fSx7XCJpZFwiOlwiNTAzMFwiLFwibWFwXCI6W1swLDAsMCwwLDAsMF0sWzAsMCwyLDMsMiwwXSxbMCwzLDAsMCwwLDBdLFsyLDIsMCwzLDAsMF0sWzAsMywzLDAsMyw0XSxbMCwwLDIsMCwwLDNdLFszLDEsMCwzLDAsMl1dLFwibWluX3N0ZXBzXCI6OH0se1wiaWRcIjpcIjUwMDZcIixcIm1hcFwiOltbMCwzLDAsMCwwLDBdLFsxLDAsMCwwLDMsMF0sWzAsMCwzLDIsMCwwXSxbMywwLDAsMiwyLDBdLFswLDMsMCwzLDMsMF0sWzAsMiwwLDAsMCwwXSxbNCwwLDMsMCwyLDJdXSxcIm1pbl9zdGVwc1wiOjl9LHtcImlkXCI6XCI1MDA3XCIsXCJtYXBcIjpbWzAsMiwwLDMsMCwwXSxbMSwyLDAsMiwwLDBdLFswLDMsMCwzLDAsMF0sWzMsMCwwLDAsMCwzXSxbMCwwLDMsMiwwLDJdLFs0LDAsMCwzLDAsM10sWzAsMiwwLDAsMCwwXV0sXCJtaW5fc3RlcHNcIjo5fSx7XCJpZFwiOlwiNTAxMFwiLFwibWFwXCI6W1swLDMsMSwwLDAsMF0sWzAsMiwzLDMsMCwwXSxbMCwyLDAsMywwLDBdLFswLDIsMCwyLDAsM10sWzAsMiwwLDAsMywwXSxbMCwzLDAsMCwwLDBdLFswLDIsNCwwLDAsM11dLFwibWluX3N0ZXBzXCI6OX0se1wiaWRcIjpcIjUwMTFcIixcIm1hcFwiOltbMSwwLDMsMCwzLDBdLFswLDIsMCwwLDAsMF0sWzIsMCwyLDAsMywwXSxbMCwzLDIsMCwwLDBdLFszLDAsMCwwLDAsMl0sWzQsMCwzLDAsMCwwXSxbMywyLDAsMCwwLDNdXSxcIm1pbl9zdGVwc1wiOjl9LHtcImlkXCI6XCI1MDE0XCIsXCJtYXBcIjpbWzAsMSwwLDAsMCwwXSxbMiwwLDIsMCwwLDJdLFsyLDMsMCwzLDAsMF0sWzAsMywwLDAsMCwzXSxbMCwwLDAsMiwwLDNdLFswLDAsMywwLDMsMF0sWzIsMCwzLDAsMCw0XV0sXCJtaW5fc3RlcHNcIjo5fSx7XCJpZFwiOlwiNTAxN1wiLFwibWFwXCI6W1swLDAsMCwwLDAsMF0sWzEsMiwzLDAsMCwyXSxbMCwwLDIsMCwwLDJdLFszLDAsMiwzLDAsMF0sWzAsMywzLDAsMiwwXSxbMCwwLDAsMCwwLDBdLFs0LDAsMywwLDAsMF1dLFwibWluX3N0ZXBzXCI6OX0se1wiaWRcIjpcIjUwMjhcIixcIm1hcFwiOltbMCwwLDEsMCwwLDNdLFszLDAsMCwwLDMsNF0sWzAsMiwwLDIsMywyXSxbMCwzLDIsMywzLDBdLFswLDAsMCwzLDAsMF0sWzAsMCwzLDAsMCwyXSxbMCwwLDIsMCwwLDBdXSxcIm1pbl9zdGVwc1wiOjl9LHtcImlkXCI6XCI1MDAzXCIsXCJtYXBcIjpbWzAsMCwxLDMsMCwyXSxbMCwzLDMsMCwwLDBdLFswLDAsMywyLDAsMF0sWzAsMCwzLDAsMCwwXSxbMywwLDAsMCwyLDJdLFswLDAsMiwzLDAsMF0sWzAsMiwwLDMsMCw0XV0sXCJtaW5fc3RlcHNcIjoxMH0se1wiaWRcIjpcIjUwMDlcIixcIm1hcFwiOltbMCwyLDAsMCwwLDNdLFswLDAsMywzLDMsNF0sWzAsMywwLDAsMCwwXSxbMCwzLDIsMCwwLDBdLFsxLDIsMywyLDAsM10sWzIsMCwwLDAsMCwwXSxbMCwwLDAsMCwyLDBdXSxcIm1pbl9zdGVwc1wiOjEwfSx7XCJpZFwiOlwiNTAyMVwiLFwibWFwXCI6W1swLDAsMCwwLDAsMF0sWzAsMCwwLDAsMywwXSxbMywwLDAsMCwyLDBdLFsyLDAsMCwyLDMsMF0sWzAsMywwLDAsMCwyXSxbMCwyLDMsMCwwLDBdLFs0LDMsMSwyLDAsMF1dLFwibWluX3N0ZXBzXCI6MTB9LHtcImlkXCI6XCI1MDIyXCIsXCJtYXBcIjpbWzQsMCwzLDAsMCwyXSxbMCwwLDAsMCwyLDBdLFswLDMsMCwyLDMsMl0sWzMsMCwzLDAsMywwXSxbMCwyLDAsMCwwLDBdLFswLDMsMCwzLDAsM10sWzAsMiwxLDAsMCwwXV0sXCJtaW5fc3RlcHNcIjoxMH0se1wiaWRcIjpcIjUwMjNcIixcIm1hcFwiOltbMywwLDAsMywzLDBdLFswLDAsMywwLDAsM10sWzIsMywwLDAsMCwwXSxbMiwyLDAsMCwyLDBdLFswLDMsMCwwLDAsMF0sWzIsMCwzLDAsMCw0XSxbMCwxLDMsMCwyLDBdXSxcIm1pbl9zdGVwc1wiOjEwfSx7XCJpZFwiOlwiNTAyNFwiLFwibWFwXCI6W1szLDAsMiwzLDAsMF0sWzQsMiwwLDAsMCwzXSxbMiwyLDAsMCwwLDBdLFswLDAsMywwLDAsMl0sWzAsMCwwLDMsMCwzXSxbMCwzLDMsMCwyLDBdLFszLDAsMSwwLDAsMF1dLFwibWluX3N0ZXBzXCI6MTB9LHtcImlkXCI6XCI1MDIwXCIsXCJtYXBcIjpbWzAsMCwwLDIsMCwwXSxbMCwzLDAsMCwwLDNdLFswLDIsMCwwLDMsMF0sWzIsMCwwLDIsMyw0XSxbMCwyLDMsMCwwLDBdLFswLDAsMCwzLDAsMF0sWzMsMiwwLDEsMywwXV0sXCJtaW5fc3RlcHNcIjoxMX0se1wiaWRcIjpcIjUwMjVcIixcIm1hcFwiOltbMSwwLDAsMCwzLDBdLFswLDAsMCwzLDMsMl0sWzMsMywyLDAsMCwyXSxbMCwwLDAsMCwwLDNdLFswLDAsMiwwLDIsMF0sWzAsMCwwLDAsMyw0XSxbMCwzLDIsMywwLDBdXSxcIm1pbl9zdGVwc1wiOjExfSx7XCJpZFwiOlwiNTAyNlwiLFwibWFwXCI6W1swLDMsMiwwLDAsMF0sWzAsMCwyLDMsMywwXSxbMiwwLDAsMiwwLDBdLFszLDIsMCwwLDMsMl0sWzAsMCwwLDMsMywxXSxbMCwwLDMsMCwwLDNdLFswLDAsMCwwLDAsNF1dLFwibWluX3N0ZXBzXCI6MTF9LHtcImlkXCI6XCI1MDI3XCIsXCJtYXBcIjpbWzAsMCwzLDAsMCwxXSxbMCwwLDAsMCwwLDNdLFsyLDAsMiwwLDIsM10sWzAsMCwzLDMsMCwzXSxbMCwwLDAsMiwzLDBdLFswLDAsMCwyLDAsM10sWzIsMCwzLDAsNCwwXV0sXCJtaW5fc3RlcHNcIjoxMX1dLFt7XCJpZFwiOlwiNjAyOFwiLFwibWFwXCI6W1swLDAsMywwLDAsMl0sWzEsMywyLDIsMCwzXSxbMCwwLDMsMCwwLDJdLFswLDAsMCwwLDAsMF0sWzAsMCwyLDAsMywzXSxbMywzLDMsMCwwLDBdLFs0LDAsMCwwLDAsMl1dLFwibWluX3N0ZXBzXCI6OH0se1wiaWRcIjpcIjYwMjlcIixcIm1hcFwiOltbMCwwLDIsMCwwLDFdLFszLDIsMywwLDAsM10sWzIsMCwzLDAsMywwXSxbMywzLDAsMCwwLDBdLFswLDAsMCwzLDMsMl0sWzAsMCwwLDAsMCwyXSxbMCwwLDAsNCwyLDBdXSxcIm1pbl9zdGVwc1wiOjh9LHtcImlkXCI6XCI2MDMwXCIsXCJtYXBcIjpbWzAsMywzLDAsMSwwXSxbMiwzLDAsMCwzLDBdLFswLDAsMCwzLDAsMl0sWzAsMCwzLDAsMiwwXSxbMCwwLDIsMywzLDNdLFswLDAsMCwwLDAsMF0sWzQsMCwwLDIsMCwyXV0sXCJtaW5fc3RlcHNcIjo4fSx7XCJpZFwiOlwiNjAwMVwiLFwibWFwXCI6W1swLDAsMywzLDQsMl0sWzAsMCwwLDIsMCwwXSxbMiwzLDMsMiwwLDBdLFswLDMsMCwwLDAsMl0sWzAsMCwwLDMsMiwyXSxbMiwwLDAsMywwLDJdLFsxLDMsMiwwLDAsMF0sWzAsMCwwLDMsMCwwXV0sXCJtaW5fc3RlcHNcIjo5fSx7XCJpZFwiOlwiNjAxMlwiLFwibWFwXCI6W1szLDAsMCwwLDIsMF0sWzAsMywwLDMsMCwwXSxbMCwzLDAsMCwwLDNdLFsyLDAsMCwzLDIsMF0sWzMsMiwyLDIsMCwwXSxbMywwLDIsMCwzLDBdLFsxLDIsMywwLDIsMF0sWzIsMywwLDAsMyw0XV0sXCJtaW5fc3RlcHNcIjo5fSx7XCJpZFwiOlwiNjAxNlwiLFwibWFwXCI6W1swLDAsMSwwLDIsM10sWzAsMywyLDAsMiwwXSxbMywzLDMsMywwLDBdLFszLDAsMCwwLDAsMF0sWzIsMiwzLDAsMywzXSxbMCwwLDIsMCwyLDBdLFswLDIsMCwyLDAsM10sWzMsMCwyLDAsMCw0XV0sXCJtaW5fc3RlcHNcIjo5fSx7XCJpZFwiOlwiNjAwOFwiLFwibWFwXCI6W1swLDAsMiwwLDMsNF0sWzMsMywyLDMsMCwwXSxbMCwwLDAsMCwwLDNdLFswLDAsMiwzLDIsMF0sWzAsMCwyLDAsMywyXSxbMywzLDAsMCwwLDJdLFswLDMsMCwwLDAsMF0sWzIsMSwwLDAsMCwwXV0sXCJtaW5fc3RlcHNcIjoxMH0se1wiaWRcIjpcIjYwMTNcIixcIm1hcFwiOltbMywwLDAsMiwyLDBdLFswLDIsMCwzLDAsMl0sWzAsMCwzLDIsMywwXSxbMCwzLDAsMCwzLDBdLFsyLDIsMywyLDAsMF0sWzAsMCwzLDMsMCwwXSxbMCwyLDAsMywyLDBdLFs0LDMsMywwLDEsMF1dLFwibWluX3N0ZXBzXCI6MTB9LHtcImlkXCI6XCI2MDE3XCIsXCJtYXBcIjpbWzQsMCwwLDAsMCwzXSxbMCwzLDMsMCwwLDBdLFszLDAsMiwyLDAsMF0sWzMsMCwyLDMsMywyXSxbMywyLDAsMiwzLDNdLFsyLDAsMiwwLDAsMF0sWzAsMCwwLDAsMCwzXSxbMiwzLDAsMiwwLDFdXSxcIm1pbl9zdGVwc1wiOjEwfSx7XCJpZFwiOlwiNjAyMlwiLFwibWFwXCI6W1swLDAsMyw0LDMsMF0sWzAsMywwLDIsMiwwXSxbMiwwLDIsMCwwLDNdLFswLDAsMCwwLDAsMF0sWzIsMywwLDMsMiwwXSxbMCwzLDAsMCwwLDBdLFswLDEsMywwLDAsM11dLFwibWluX3N0ZXBzXCI6MTB9LHtcImlkXCI6XCI2MDIzXCIsXCJtYXBcIjpbWzAsMCwzLDEsMCwyXSxbMCwwLDIsMywwLDBdLFs0LDAsMywwLDAsMF0sWzIsMCwzLDAsMCwzXSxbMiwwLDMsMCwzLDBdLFswLDAsMCwwLDAsMF0sWzIsMywwLDIsMywwXV0sXCJtaW5fc3RlcHNcIjoxMH0se1wiaWRcIjpcIjYwMjRcIixcIm1hcFwiOltbMCwzLDAsMiwwLDRdLFszLDAsMCwzLDMsM10sWzAsMCwyLDAsMCwwXSxbMiwzLDMsMCwwLDBdLFsyLDAsMCwwLDAsM10sWzIsMCwzLDAsMCwxXSxbMCwwLDAsMCwwLDJdXSxcIm1pbl9zdGVwc1wiOjEwfSx7XCJpZFwiOlwiNjAyNVwiLFwibWFwXCI6W1s0LDAsMiwwLDAsMF0sWzAsMCwzLDMsMCwyXSxbMywzLDAsMCwwLDNdLFswLDIsMCwyLDAsMF0sWzAsMCwwLDAsMywwXSxbMSwzLDAsMCwyLDJdLFswLDMsMCwwLDAsM11dLFwibWluX3N0ZXBzXCI6MTB9LHtcImlkXCI6XCI2MDAyXCIsXCJtYXBcIjpbWzAsMCwzLDMsNCwyXSxbMCwwLDAsMiwwLDBdLFsyLDMsMywyLDAsMF0sWzAsMywwLDAsMCwyXSxbMCwwLDAsMywyLDJdLFsyLDAsMCwzLDAsMl0sWzEsMywyLDAsMCwwXSxbMCwwLDAsMywwLDBdXSxcIm1pbl9zdGVwc1wiOjExfSx7XCJpZFwiOlwiNjAwNlwiLFwibWFwXCI6W1sxLDAsMiwwLDAsM10sWzAsMCwwLDAsMywwXSxbMywwLDAsMywyLDBdLFsyLDMsMCwwLDAsM10sWzAsMCwzLDIsMCwzXSxbMCwyLDAsMywwLDBdLFsyLDMsMCwyLDAsMF0sWzAsNCwwLDIsMCwwXV0sXCJtaW5fc3RlcHNcIjoxMX0se1wiaWRcIjpcIjYwMDlcIixcIm1hcFwiOltbNCwzLDAsMCwzLDBdLFswLDAsMCwwLDAsMF0sWzMsMywwLDIsMCwyXSxbMywwLDAsMiwyLDBdLFsyLDMsMiwwLDAsMF0sWzEsMywzLDAsMCwwXSxbMiwwLDAsMCwwLDBdLFszLDMsMCwwLDAsMl1dLFwibWluX3N0ZXBzXCI6MTF9LHtcImlkXCI6XCI2MDE4XCIsXCJtYXBcIjpbWzIsMywwLDAsMiwzXSxbMiwwLDAsMywwLDRdLFsyLDAsMCwwLDAsMF0sWzAsMywyLDAsMiwzXSxbMCwwLDAsMCwwLDNdLFsyLDAsMywzLDIsM10sWzAsMCwwLDMsMiwwXSxbMiwzLDEsMywwLDBdXSxcIm1pbl9zdGVwc1wiOjExfSx7XCJpZFwiOlwiNjAyNlwiLFwibWFwXCI6W1swLDEsMCwzLDAsNF0sWzAsMCwzLDAsMywwXSxbMiwyLDMsMiwwLDBdLFswLDAsMywwLDMsM10sWzIsMCwwLDAsMCwyXSxbMCwzLDAsMCwwLDJdLFswLDAsMCwwLDAsM11dLFwibWluX3N0ZXBzXCI6MTF9LHtcImlkXCI6XCI2MDI3XCIsXCJtYXBcIjpbWzIsMSwzLDAsMCwwXSxbMCwwLDAsMCwzLDBdLFszLDMsMCwwLDAsMF0sWzIsMiwzLDMsMywwXSxbMCwyLDAsMCwwLDBdLFszLDIsMCwwLDAsMF0sWzAsNCwwLDIsMywwXV0sXCJtaW5fc3RlcHNcIjoxMX0se1wiaWRcIjpcIjYwMzFcIixcIm1hcFwiOltbMCwxLDAsMywwLDRdLFswLDAsMywwLDMsMF0sWzIsMiwzLDIsMCwwXSxbMCwwLDMsMCwzLDNdLFsyLDAsMCwwLDAsMl0sWzAsMywwLDAsMCwyXSxbMCwwLDAsMCwwLDNdXSxcIm1pbl9zdGVwc1wiOjExfSx7XCJpZFwiOlwiNjAwM1wiLFwibWFwXCI6W1swLDIsMiwwLDAsNF0sWzAsMywzLDAsMCwwXSxbMywyLDAsMCwwLDBdLFswLDMsMCwwLDMsM10sWzAsMiwwLDMsMCwwXSxbMiwzLDAsMCwwLDBdLFswLDIsMywwLDAsMF0sWzEsMiwzLDAsMiwwXV0sXCJtaW5fc3RlcHNcIjoxMn0se1wiaWRcIjpcIjYwMTFcIixcIm1hcFwiOltbMywwLDIsMiwzLDJdLFsxLDAsMCwwLDAsM10sWzAsMCwzLDIsMywwXSxbMywwLDMsMCwwLDBdLFs0LDMsMiwzLDAsMl0sWzAsMCwyLDAsMiwzXSxbMiwwLDAsMCwwLDNdLFswLDAsMCwyLDAsM11dLFwibWluX3N0ZXBzXCI6MTJ9LHtcImlkXCI6XCI2MDE0XCIsXCJtYXBcIjpbWzQsMywwLDAsMCwwXSxbMCwyLDIsMiwzLDBdLFswLDMsMCwwLDAsMF0sWzIsMywyLDMsMCwwXSxbMywzLDAsMCwwLDNdLFswLDAsMCwyLDMsMF0sWzAsMywyLDAsMiwyXSxbMiwzLDMsMCwwLDFdXSxcIm1pbl9zdGVwc1wiOjEyfSx7XCJpZFwiOlwiNjAyMFwiLFwibWFwXCI6W1szLDIsMCwwLDAsMF0sWzQsMCwyLDAsMiwwXSxbMywzLDAsMCwyLDJdLFswLDAsMywwLDIsMF0sWzAsMCwwLDAsMiwzXSxbMCwyLDMsMywwLDBdLFsyLDMsMCwwLDMsM10sWzEsMywzLDIsMCwwXV0sXCJtaW5fc3RlcHNcIjoxMn0se1wiaWRcIjpcIjYwMjFcIixcIm1hcFwiOltbNCwzLDAsMCwwLDBdLFswLDIsMiwyLDMsMF0sWzAsMywwLDAsMCwwXSxbMiwzLDIsMywwLDBdLFszLDMsMCwwLDAsM10sWzAsMCwwLDIsMywwXSxbMCwzLDIsMCwyLDJdLFsyLDMsMywwLDAsMV1dLFwibWluX3N0ZXBzXCI6MTJ9LHtcImlkXCI6XCI2MDA0XCIsXCJtYXBcIjpbWzAsMywwLDIsMiwwXSxbMCwwLDAsMCwwLDJdLFszLDAsMCwwLDAsMF0sWzAsMywwLDAsMCwwXSxbMCwzLDMsMCwzLDBdLFsyLDAsMCwwLDMsMl0sWzIsMCwwLDAsMywxXSxbNCwzLDAsMiwzLDJdXSxcIm1pbl9zdGVwc1wiOjEzfSx7XCJpZFwiOlwiNjAwNVwiLFwibWFwXCI6W1syLDIsNCwyLDMsMF0sWzAsMywzLDIsMCwwXSxbMywwLDAsMywwLDJdLFszLDAsMiwzLDMsMF0sWzAsMCwwLDAsMCwwXSxbMCwwLDAsMCwyLDNdLFszLDIsMCwwLDAsMV0sWzAsMCwwLDAsMCwwXV0sXCJtaW5fc3RlcHNcIjoxM30se1wiaWRcIjpcIjYwMDdcIixcIm1hcFwiOltbMywyLDAsMCwzLDRdLFswLDIsMCwwLDMsMF0sWzAsMCwyLDAsMiwwXSxbMiwwLDAsMywwLDNdLFswLDAsMiwwLDMsMl0sWzAsMiwzLDMsMCwxXSxbMCwwLDAsMCwwLDNdLFswLDAsMCwzLDAsMF1dLFwibWluX3N0ZXBzXCI6MTN9LHtcImlkXCI6XCI2MDEwXCIsXCJtYXBcIjpbWzAsMywxLDAsMCwwXSxbMCwyLDMsMywwLDBdLFsyLDAsMCwzLDAsMF0sWzAsMiwwLDAsMywyXSxbMywwLDAsMCwwLDJdLFszLDIsMCwwLDAsMF0sWzQsMCwwLDMsMiwwXSxbMCwzLDAsMywyLDBdXSxcIm1pbl9zdGVwc1wiOjEzfSx7XCJpZFwiOlwiNjAxNVwiLFwibWFwXCI6W1s0LDAsMCwwLDIsM10sWzAsMCwzLDAsMCwzXSxbMiwyLDMsMiwwLDBdLFszLDAsMCwwLDMsMl0sWzIsMywwLDMsMCwyXSxbMCwwLDMsMCwyLDNdLFswLDAsMCwwLDAsM10sWzEsMiwyLDMsMCwwXV0sXCJtaW5fc3RlcHNcIjoxNH0se1wiaWRcIjpcIjYwMTlcIixcIm1hcFwiOltbNCwwLDAsMCwyLDNdLFswLDAsMywwLDAsM10sWzIsMiwzLDIsMCwwXSxbMywwLDAsMCwzLDJdLFsyLDMsMCwzLDAsMl0sWzAsMCwzLDAsMiwzXSxbMCwwLDAsMCwwLDNdLFsxLDIsMiwzLDAsMF1dLFwibWluX3N0ZXBzXCI6MTR9XSxbe1wiaWRcIjpcIjcwMDFcIixcIm1hcFwiOltbMCwyLDAsMCwyLDBdLFszLDMsMCwyLDAsNF0sWzAsMCwwLDAsMCwzXSxbMCwwLDAsMCwzLDJdLFswLDAsMCwwLDAsMl0sWzMsMywwLDAsMCwyXSxbMCwzLDMsMiwyLDBdLFswLDMsMiwyLDAsM10sWzEsMiwwLDAsMiwwXV0sXCJtaW5fc3RlcHNcIjo5fSx7XCJpZFwiOlwiNzAyM1wiLFwibWFwXCI6W1szLDIsMCwyLDAsMV0sWzAsMywzLDIsMywzXSxbMCwzLDMsMCwzLDBdLFswLDIsMiwyLDAsM10sWzAsMywyLDAsMCwzXSxbMCwwLDAsMCwyLDBdLFsyLDIsMiwzLDAsMF0sWzIsMCwzLDAsMywwXSxbMCwwLDMsMCwwLDRdXSxcIm1pbl9zdGVwc1wiOjl9LHtcImlkXCI6XCI3MDAzXCIsXCJtYXBcIjpbWzEsMywyLDAsMCwwXSxbMCwwLDAsMiwwLDBdLFswLDMsMCwyLDAsMF0sWzMsMywzLDIsMCwzXSxbMiwzLDMsMCwzLDBdLFswLDAsMCwwLDAsMl0sWzMsMCwyLDIsMywyXSxbNCwyLDAsMCwyLDBdLFswLDAsMiwwLDAsMl1dLFwibWluX3N0ZXBzXCI6MTB9LHtcImlkXCI6XCI3MDAyXCIsXCJtYXBcIjpbWzEsMCwzLDIsMCwyXSxbMCwzLDAsMCwwLDJdLFswLDIsMCwzLDIsMl0sWzAsMywwLDAsMCwwXSxbMCwyLDAsMywzLDBdLFszLDIsMiwwLDAsM10sWzAsMywyLDMsMCwyXSxbMCwwLDAsMCwwLDBdLFsyLDAsMCwyLDMsNF1dLFwibWluX3N0ZXBzXCI6MTF9LHtcImlkXCI6XCI3MDA1XCIsXCJtYXBcIjpbWzAsMCwwLDAsMCwwXSxbMCwwLDAsMywyLDRdLFswLDMsMCwwLDMsM10sWzMsMywwLDIsMCwzXSxbMCwyLDIsMCwzLDJdLFswLDAsMywwLDIsMF0sWzAsMiwwLDIsMCwwXSxbMywwLDAsMiwyLDBdLFswLDAsMiwyLDAsMV1dLFwibWluX3N0ZXBzXCI6MTF9LHtcImlkXCI6XCI3MDA2XCIsXCJtYXBcIjpbWzAsMCwwLDAsMiwzXSxbMywyLDAsMCwwLDBdLFswLDIsMCwzLDMsNF0sWzAsMCwwLDIsMiwzXSxbMiwwLDAsMCwwLDBdLFswLDAsMCwwLDMsMF0sWzMsMCwzLDMsMCwyXSxbMywwLDIsMiwwLDJdLFswLDAsMiwyLDAsMV1dLFwibWluX3N0ZXBzXCI6MTF9LHtcImlkXCI6XCI3MDA3XCIsXCJtYXBcIjpbWzIsMCwyLDAsMiwwXSxbMCwwLDIsMCwzLDJdLFswLDAsMCwzLDMsMF0sWzAsMiwwLDAsMywyXSxbMywwLDAsMiwwLDBdLFszLDMsMCwwLDAsMl0sWzAsMiwwLDMsMiwwXSxbMCwyLDMsMCwwLDBdLFs0LDMsMCwwLDEsMF1dLFwibWluX3N0ZXBzXCI6MTF9LHtcImlkXCI6XCI3MDI2XCIsXCJtYXBcIjpbWzIsNCwyLDAsMCwwXSxbMCwzLDMsMCwzLDBdLFszLDMsMywwLDAsM10sWzIsMCwzLDAsMCwyXSxbMCwyLDIsMywwLDNdLFsxLDAsMiwwLDIsMF0sWzMsMywwLDAsMCwwXSxbMiwwLDAsMCwzLDJdLFsyLDAsMywyLDMsMF1dLFwibWluX3N0ZXBzXCI6MTF9LHtcImlkXCI6XCI3MDI3XCIsXCJtYXBcIjpbWzIsMCwwLDAsMCwyXSxbMCwwLDMsMywyLDNdLFswLDAsMywwLDAsMV0sWzAsMywwLDMsMywzXSxbMCwwLDAsMCwwLDJdLFszLDMsMiwwLDAsMl0sWzMsMywwLDIsMCwzXSxbMCwzLDIsMiwyLDBdLFswLDMsNCwyLDIsMF1dLFwibWluX3N0ZXBzXCI6MTF9LHtcImlkXCI6XCI3MDI5XCIsXCJtYXBcIjpbWzAsMCwxLDAsMCwwXSxbMywzLDAsMCwzLDJdLFszLDAsMCwwLDIsMF0sWzAsMiwwLDIsMiwwXSxbMiwzLDMsMywwLDNdLFszLDIsMiwzLDAsMF0sWzIsMCwzLDAsMCwzXSxbMywyLDAsMCwwLDNdLFs0LDIsMCwwLDMsMl1dLFwibWluX3N0ZXBzXCI6MTF9LHtcImlkXCI6XCI3MDA4XCIsXCJtYXBcIjpbWzEsMCwwLDAsMiwwXSxbMywzLDIsMCwzLDBdLFszLDAsMywwLDAsMF0sWzAsMCwzLDAsMCwzXSxbMiwyLDAsMywwLDNdLFsyLDAsMiwwLDAsMF0sWzIsMCwyLDAsMCwyXSxbMiwwLDAsMiwwLDBdLFs0LDMsMCwwLDAsMl1dLFwibWluX3N0ZXBzXCI6MTJ9LHtcImlkXCI6XCI3MDEwXCIsXCJtYXBcIjpbWzQsMywwLDMsMSwwXSxbMCwwLDMsMywwLDBdLFswLDMsMCwwLDIsMl0sWzIsMCwzLDAsMCwyXSxbMywyLDAsMiwzLDBdLFswLDAsMCwwLDAsMF0sWzAsMiwwLDIsMiwwXSxbMCwyLDAsMywwLDJdLFswLDIsMCwwLDAsM11dLFwibWluX3N0ZXBzXCI6MTJ9LHtcImlkXCI6XCI3MDE2XCIsXCJtYXBcIjpbWzIsMyw0LDAsMCwzXSxbMCwzLDIsMiwzLDFdLFswLDIsMiwzLDAsMF0sWzMsMCwzLDAsMiwwXSxbMywwLDAsMCwyLDJdLFswLDAsMywzLDAsMF0sWzAsMywwLDMsMiwwXSxbMCwwLDMsMCwzLDJdLFswLDIsMiwzLDAsMF1dLFwibWluX3N0ZXBzXCI6MTJ9LHtcImlkXCI6XCI3MDIwXCIsXCJtYXBcIjpbWzIsMywwLDQsMywzXSxbMywzLDAsMCwzLDBdLFswLDIsMCwzLDIsMF0sWzAsMywwLDAsMCwyXSxbMywyLDAsMCwwLDBdLFswLDAsMywyLDAsM10sWzAsMywwLDMsMiwwXSxbMywyLDIsMCwwLDJdLFswLDAsMiwxLDMsMl1dLFwibWluX3N0ZXBzXCI6MTJ9LHtcImlkXCI6XCI3MDI0XCIsXCJtYXBcIjpbWzEsMywyLDAsMCwzXSxbMiwzLDIsMCwwLDBdLFswLDIsMywwLDMsM10sWzMsMCwwLDIsMCwzXSxbMiwzLDAsMCwwLDNdLFszLDMsMCwwLDAsMF0sWzIsMCwzLDAsMCwyXSxbMCwwLDIsMCwyLDJdLFs0LDIsMywwLDMsMF1dLFwibWluX3N0ZXBzXCI6MTJ9LHtcImlkXCI6XCI3MDMyXCIsXCJtYXBcIjpbWzAsMCwwLDAsMyw0XSxbMCwwLDMsMywzLDJdLFsyLDIsMywzLDAsMF0sWzAsMCwzLDIsMCwwXSxbMCwyLDAsMiwzLDJdLFswLDIsMywwLDAsM10sWzIsMywzLDAsMCwyXSxbMSwwLDMsMCwzLDJdLFswLDAsMywwLDAsMl1dLFwibWluX3N0ZXBzXCI6MTJ9LHtcImlkXCI6XCI3MDMzXCIsXCJtYXBcIjpbWzEsMCwwLDMsMCwzXSxbMywzLDIsMCwyLDBdLFswLDMsMywyLDAsMl0sWzMsMiwwLDMsMCwwXSxbNCwyLDIsMiwwLDBdLFswLDMsMCwwLDAsMF0sWzMsMywzLDAsMCwyXSxbMywwLDMsMiwwLDNdLFsyLDAsMCwwLDAsMl1dLFwibWluX3N0ZXBzXCI6MTJ9LHtcImlkXCI6XCI3MDM1XCIsXCJtYXBcIjpbWzMsMCwwLDIsMCw0XSxbMywwLDIsMywzLDNdLFswLDAsMiwzLDAsMl0sWzMsMCwzLDMsMywwXSxbMiwyLDAsMCwwLDBdLFsyLDIsMywwLDAsMF0sWzAsMCwyLDMsMCwwXSxbMCwyLDAsMywyLDNdLFswLDAsMywxLDIsMF1dLFwibWluX3N0ZXBzXCI6MTJ9LHtcImlkXCI6XCI3MDM2XCIsXCJtYXBcIjpbWzIsMywxLDAsMCwyXSxbMCwzLDAsMCwwLDBdLFsyLDAsMiwwLDAsM10sWzAsMCwzLDMsMCwzXSxbMCwyLDIsMCwwLDNdLFswLDMsMiwzLDMsMF0sWzAsMywyLDAsMCwyXSxbMCwzLDIsMCwyLDNdLFsyLDAsMywzLDQsMF1dLFwibWluX3N0ZXBzXCI6MTJ9LHtcImlkXCI6XCI3MDM3XCIsXCJtYXBcIjpbWzIsMCwwLDAsMCwzXSxbMCwyLDMsMCwyLDJdLFswLDAsMywwLDIsMF0sWzAsMiwyLDAsMCwwXSxbMywyLDMsMCwwLDNdLFswLDAsMywzLDAsM10sWzMsMiwzLDAsMCwzXSxbMCwwLDMsMywyLDBdLFs0LDMsMSwyLDAsMl1dLFwibWluX3N0ZXBzXCI6MTJ9LHtcImlkXCI6XCI3MDM5XCIsXCJtYXBcIjpbWzIsMCwzLDMsMiwwXSxbMCwwLDAsMCwyLDNdLFsxLDMsMCwwLDAsMl0sWzAsMiwzLDIsMiwyXSxbMCwwLDMsMCwwLDBdLFswLDMsMCwwLDMsMF0sWzMsMCwwLDIsMywyXSxbMiwwLDMsMCwyLDNdLFswLDQsMywwLDMsM11dLFwibWluX3N0ZXBzXCI6MTJ9LHtcImlkXCI6XCI3MDQwXCIsXCJtYXBcIjpbWzAsMiwzLDMsNCwwXSxbMCwyLDAsMCwzLDJdLFswLDAsMywwLDIsMF0sWzMsMCwyLDAsMCwzXSxbMiwwLDAsMywwLDNdLFszLDMsMCwyLDIsMF0sWzIsMiwzLDAsMiwwXSxbMSwzLDAsMCwyLDNdLFswLDAsMCwzLDAsM11dLFwibWluX3N0ZXBzXCI6MTJ9LHtcImlkXCI6XCI3MDQxXCIsXCJtYXBcIjpbWzMsMywwLDIsMywxXSxbMCwzLDMsMiwwLDJdLFswLDIsMCwwLDAsMF0sWzAsMCwwLDAsMCwwXSxbMywzLDMsMiwzLDBdLFswLDMsMywyLDMsMl0sWzQsMCwzLDAsMiwwXSxbMiwyLDIsMCwwLDBdLFswLDMsMiwwLDMsMF1dLFwibWluX3N0ZXBzXCI6MTJ9LHtcImlkXCI6XCI3MDA0XCIsXCJtYXBcIjpbWzIsMCwwLDIsMCwwXSxbMCwzLDAsMCwwLDFdLFswLDIsMCwwLDAsMF0sWzAsMCwwLDAsMiwwXSxbMCwwLDMsMywzLDJdLFswLDAsMCwzLDIsM10sWzAsMCwyLDAsMCwzXSxbMCwyLDMsMiwyLDRdLFszLDIsMiwwLDMsMF1dLFwibWluX3N0ZXBzXCI6MTN9LHtcImlkXCI6XCI3MDA5XCIsXCJtYXBcIjpbWzQsMCwzLDEsMCwyXSxbMCwyLDMsMywzLDBdLFswLDIsMywyLDIsMF0sWzMsMCwzLDAsMCwyXSxbMCwwLDAsMCwwLDBdLFszLDIsMCwwLDIsMF0sWzMsMiwwLDAsMiwwXSxbMCwwLDIsMiwyLDBdLFswLDAsMCwwLDMsMF1dLFwibWluX3N0ZXBzXCI6MTN9LHtcImlkXCI6XCI3MDE0XCIsXCJtYXBcIjpbWzMsNCwyLDMsMCwwXSxbMiwzLDAsMywwLDBdLFswLDIsMiwwLDAsMF0sWzAsMywzLDAsMywzXSxbMCwwLDAsMCwwLDBdLFszLDIsMCwwLDIsMl0sWzIsMiwyLDIsMCwzXSxbMCwwLDMsMywwLDNdLFsxLDIsMCwzLDMsMF1dLFwibWluX3N0ZXBzXCI6MTN9LHtcImlkXCI6XCI3MDE1XCIsXCJtYXBcIjpbWzIsMyw0LDAsMywwXSxbMSwyLDMsMiwzLDBdLFswLDAsMywwLDIsMF0sWzIsMCwwLDMsMCwwXSxbMiwyLDAsMiwwLDNdLFswLDAsMiwwLDAsMF0sWzMsMCwwLDMsMywwXSxbMCwwLDMsMCwyLDNdLFszLDAsMywyLDMsMl1dLFwibWluX3N0ZXBzXCI6MTN9LHtcImlkXCI6XCI3MDI1XCIsXCJtYXBcIjpbWzIsMywxLDAsMywzXSxbMCwwLDIsMywyLDBdLFswLDIsMCwwLDAsM10sWzAsMywwLDAsMCwzXSxbMiwwLDAsMywyLDBdLFswLDAsMiwzLDAsMl0sWzIsMCwzLDIsMCwzXSxbMywzLDAsMCwzLDNdLFsyLDQsMCwyLDAsMF1dLFwibWluX3N0ZXBzXCI6MTN9LHtcImlkXCI6XCI3MDMwXCIsXCJtYXBcIjpbWzIsMCwxLDIsMCwwXSxbMCwyLDMsMywwLDJdLFsyLDMsMywzLDAsMl0sWzMsMCwwLDIsMiwwXSxbMCwzLDAsMywyLDBdLFswLDAsMiwwLDIsM10sWzMsMywwLDMsMywyXSxbNCwzLDAsMCwwLDBdLFswLDAsMCwwLDAsM11dLFwibWluX3N0ZXBzXCI6MTN9LHtcImlkXCI6XCI3MDMxXCIsXCJtYXBcIjpbWzAsMiwyLDMsNCwyXSxbMywzLDAsMCwyLDJdLFswLDAsMCwzLDIsMF0sWzAsMywwLDAsMywzXSxbMCwyLDAsMiwzLDBdLFsyLDMsMCwwLDAsMF0sWzMsMywwLDMsMCwyXSxbMCwwLDIsMywzLDNdLFsxLDAsMiwwLDAsMF1dLFwibWluX3N0ZXBzXCI6MTN9LHtcImlkXCI6XCI3MDM4XCIsXCJtYXBcIjpbWzQsMiwzLDMsMiwzXSxbMCwzLDAsMiwzLDBdLFswLDAsMCwyLDAsMl0sWzMsMywyLDMsMCwwXSxbMCwzLDAsMywyLDNdLFswLDIsMiwyLDAsMF0sWzEsMywwLDAsMywwXSxbMiwwLDAsMCwzLDJdLFswLDAsMywwLDAsMF1dLFwibWluX3N0ZXBzXCI6MTN9LHtcImlkXCI6XCI3MDExXCIsXCJtYXBcIjpbWzAsMSwwLDAsMiwwXSxbMywwLDMsMywyLDNdLFswLDMsMywyLDAsMF0sWzAsMCwyLDAsMywzXSxbMiwzLDIsMCwwLDBdLFszLDIsMiwzLDMsMF0sWzIsMCwyLDIsMCw0XSxbMCwyLDAsMywwLDBdLFswLDAsMCwzLDAsM11dLFwibWluX3N0ZXBzXCI6MTR9LHtcImlkXCI6XCI3MDE3XCIsXCJtYXBcIjpbWzIsMCwwLDMsMCwzXSxbNCwzLDAsMiwwLDNdLFszLDAsMCwwLDMsMF0sWzIsMCwwLDIsMCwwXSxbMywwLDAsMywwLDBdLFsyLDMsMCwyLDIsMl0sWzEsMywzLDAsMiwyXSxbMCwzLDAsMCwzLDBdLFswLDIsMCwzLDMsMl1dLFwibWluX3N0ZXBzXCI6MTR9LHtcImlkXCI6XCI3MDE5XCIsXCJtYXBcIjpbWzAsMywwLDIsMywxXSxbMCwzLDAsMiwwLDJdLFswLDIsMiwwLDMsM10sWzAsMCwzLDIsMCwzXSxbMCwwLDMsMiwyLDBdLFsyLDIsMywwLDIsMl0sWzAsMywwLDAsMywwXSxbMywwLDAsMywzLDBdLFswLDAsMCwzLDAsNF1dLFwibWluX3N0ZXBzXCI6MTR9LHtcImlkXCI6XCI3MDIxXCIsXCJtYXBcIjpbWzAsMCwwLDAsMiw0XSxbMywwLDIsMCwwLDBdLFszLDAsMiwzLDMsM10sWzIsMCwzLDMsMywwXSxbMiwwLDAsMCwyLDNdLFszLDMsMCwwLDAsMl0sWzEsMCwzLDAsMiwyXSxbMiwyLDAsMiwwLDBdLFswLDAsMywzLDAsM11dLFwibWluX3N0ZXBzXCI6MTR9LHtcImlkXCI6XCI3MDIyXCIsXCJtYXBcIjpbWzQsMCwwLDAsMCwwXSxbMCwwLDAsMCwzLDJdLFszLDMsMiwzLDMsMl0sWzIsMCwwLDAsMCwyXSxbMCwwLDMsMCwzLDNdLFsyLDAsMiwzLDIsMV0sWzMsMiwzLDAsMCwzXSxbMiwwLDAsMywyLDJdLFszLDMsMCwwLDAsMF1dLFwibWluX3N0ZXBzXCI6MTV9LHtcImlkXCI6XCI3MDI4XCIsXCJtYXBcIjpbWzAsMiwxLDMsMCwyXSxbMCwzLDMsMywwLDJdLFswLDAsMCwzLDAsMl0sWzMsMCwwLDMsMiw0XSxbMiwwLDAsMywyLDJdLFsyLDIsMywwLDAsM10sWzAsMiwwLDAsMCwwXSxbMCwzLDMsMywyLDBdLFswLDMsMCwzLDAsMF1dLFwibWluX3N0ZXBzXCI6MTZ9LHtcImlkXCI6XCI3MDM0XCIsXCJtYXBcIjpbWzEsMCwwLDMsMiwwXSxbMCwyLDIsMywzLDBdLFszLDAsMCwyLDAsM10sWzIsMywyLDIsMCwzXSxbMCwwLDMsMCwwLDNdLFszLDAsMCwwLDMsMF0sWzIsMywwLDMsMiw0XSxbMCwzLDAsMCwwLDNdLFswLDIsMCwwLDIsMl1dLFwibWluX3N0ZXBzXCI6MTZ9LHtcImlkXCI6XCI3MDEyXCIsXCJtYXBcIjpbWzEsMywzLDMsMCwwXSxbMCwzLDAsMiwwLDBdLFswLDAsMCwzLDAsMl0sWzMsMCwwLDMsMiwzXSxbMCwwLDIsMCwwLDNdLFswLDAsMiwzLDIsMF0sWzIsMiwzLDIsMywyXSxbMCwzLDAsMiwwLDJdLFswLDMsNCwzLDAsMF1dLFwibWluX3N0ZXBzXCI6MTd9LHtcImlkXCI6XCI3MDEzXCIsXCJtYXBcIjpbWzAsMSwwLDAsMywzXSxbMCwyLDAsMywwLDBdLFsyLDMsMCwwLDAsMF0sWzAsMCwwLDMsMCwzXSxbMCwzLDAsMiwzLDJdLFsyLDAsMywzLDIsMF0sWzAsMiwyLDMsMCwyXSxbMiwzLDIsMCwzLDBdLFswLDMsMywwLDIsNF1dLFwibWluX3N0ZXBzXCI6MTd9LHtcImlkXCI6XCI3MDE4XCIsXCJtYXBcIjpbWzAsMCwwLDAsMCwyXSxbMSwwLDMsMywwLDJdLFszLDMsMCwzLDIsM10sWzAsMywwLDIsMCwwXSxbMCwzLDAsMCwyLDJdLFszLDAsMCwyLDMsMF0sWzAsMywzLDMsMCwwXSxbMiwwLDMsMCwwLDJdLFsyLDQsMiwwLDMsMl1dLFwibWluX3N0ZXBzXCI6MTd9XV1cclxuXHJcblxyXG4gICAgICAgIHRoaXMuTEVWRUxfSU5GTy51bnNoaWZ0KFt7XCJpZFwiOlwiMDAwMVwiLFwibWFwXCI6W1szLCAyLCAyLCAwLCAyXSxbMCwgMCwgMywgMywgMF0sWzEsIDMsIDAsIDMsIDJdLFszLCAwLCAyLCAzLCA0XSxbMywgMiwgMywgMywgMl1dLFwibWluX3N0ZXBzXCI6NH1dKTtcclxuICAgICAgICBcclxuXHJcbiAgICAgICAgICAgIFxyXG4gICAgICAgIFxyXG4gICAgfVxyXG5cclxuXHJcbiAgICBzdGF0aWMgQXV0aGVudGljYXRpb24oKXtcclxuICAgICAgICBjYy5meC5HYW1lVG9vbC5BdXRoZW50aWNhdGlvbigpO1xyXG4gICAgfVxyXG59XHJcblxyXG4iXX0= \ No newline at end of file +//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbImFzc2V0c1xcU2NyaXB0XFxtb2R1bGVcXENvbmZpZ1xcR2FtZUNvbmZpZy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7QUFBQSx3Q0FBd0M7QUFJbEMsSUFBQSxLQUF3QixFQUFFLENBQUMsVUFBVSxFQUFuQyxPQUFPLGFBQUEsRUFBRSxRQUFRLGNBQWtCLENBQUM7QUFFNUM7SUFBQTtJQXdTQSxDQUFDO21CQXhTWSxVQUFVO0lBdUVuQixzQkFBVyxzQkFBUTtRQUpuQixPQUFPO2FBSVA7WUFFSSxJQUFJLElBQUksQ0FBQyxTQUFTLElBQUksSUFBSSxFQUMxQjtnQkFDSSxJQUFJLENBQUMsU0FBUyxHQUFHLElBQUksWUFBVSxFQUFFLENBQUM7YUFDckM7WUFDRCxPQUFPLElBQUksQ0FBQyxTQUFTLENBQUM7UUFDMUIsQ0FBQzs7O09BQUE7SUFDRCxlQUFlO0lBQ1IsZUFBSSxHQUFYLFVBQVksY0FBYztRQUN0QixJQUFJLENBQUMsVUFBVSxFQUFFLENBQUM7UUFDbEIsSUFBSSxDQUFDLGVBQWUsRUFBRSxDQUFDO1FBQ3ZCLElBQUksQ0FBQyxZQUFZLEVBQUUsQ0FBQztRQUNwQixJQUFJLElBQUksR0FBRyxJQUFJLENBQUM7UUFDaEIsMEVBQTBFO1FBQzFFLGlCQUFpQjtRQUNqQixrQkFBa0I7UUFDbEIsUUFBUTtRQUNSLHdDQUF3QztRQUN4QywwQ0FBMEM7UUFDMUMsS0FBSztRQUNMLDBFQUEwRTtRQUMxRSxpQkFBaUI7UUFDakIsa0JBQWtCO1FBQ2xCLFFBQVE7UUFFUix3Q0FBd0M7UUFDeEMsMENBQTBDO1FBQzFDLEtBQUs7UUFDTCx1RUFBdUU7UUFDdkUsaUJBQWlCO1FBQ2pCLHFEQUFxRDtRQUNyRCxrQkFBa0I7UUFDbEIsUUFBUTtRQUVSLHdDQUF3QztRQUN4Qyx1Q0FBdUM7UUFDdkMsdUNBQXVDO1FBQ3ZDLGlEQUFpRDtRQUNqRCxLQUFLO1FBRUwsbUNBQW1DO1FBQ25DLElBQUksQ0FBQyxTQUFTLEdB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LENBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsQ0FBQyxFQUFDLFdBQVcsRUFBQyxDQUFDLEVBQUMsRUFBQyxFQUFDLElBQUksRUFBQyxNQUFNLEVBQUMsS0FBSyxFQUFDLENBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsQ0FBQyxFQUFDLFdBQVcsRUFBQyxDQUFDLEVBQUMsRUFBQyxFQUFDLElBQUksRUFBQyxNQUFNLEVBQUMsS0FBSyxFQUFDLENBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsQ0FBQyxFQUFDLFdBQVcsRUFBQyxDQUFDLEVBQUMsRUFBQyxFQUFDLElBQUksRUFBQyxNQUFNLEVBQUMsS0FBSyxFQUFDLENBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsQ0FBQyxFQUFDLFdBQVcsRUFBQyxDQUFDLEVBQUMsRUFBQyxFQUFDLElBQUksRUFBQyxNQUFNLEVBQUMsS0FBSyxFQUFDLENBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsQ0FBQyxFQUFDLFdBQVcsRUFBQyxDQUFDLEVBQUMsRUFBQyxFQUFDLElBQUksRUFBQyxNQUFNLEVBQUMsS0FBSyxFQUFDLENBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsQ0FBQyxFQUFDLFdBQVcsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxJQUFJLEVBQUMsTUFBTSxFQUFDLEtBQUssRUFBQyxDQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxDQUFDLEVBQUMsV0FBVyxFQUFDLENBQUMsRUFBQyxFQUFDLEVBQUMsSUFBSSxFQUFDLE1BQU0sRUFBQyxLQUFLLEVBQUMsQ0FBQyxDQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsQ0FBQyxFQUFDLFdBQVcsRUFBQyxDQUFDLEVBQUMsRUFBQyxFQUFDLElBQUksRUFBQyxNQUFNLEVBQUMsS0FBSyxFQUFDLENBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLENBQUMsRUFBQyxXQUFXLEVBQUMsQ0FBQyxFQUFDLEVBQUMsRUFBQyxJQUFJLEVBQUMsTUFBTSxFQUFDLEtBQUssRUFBQyxDQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxDQUFDLEVBQUMsV0FBVyxFQUFDLENBQUMsRUFBQyxFQUFDLEVBQUMsSUFBSSxFQUFDLE1BQU0sRUFBQyxLQUFLLEVBQUMsQ0FBQyxDQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsQ0FBQyxFQUFDLFdBQVcsRUFBQyxDQUFDLEVBQUMsRUFBQyxFQUFDLElBQUksRUFBQyxNQUFNLEVBQUMsS0FBSyxFQUFDLENBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLENBQUMsRUFBQyxXQUFXLEVBQUMsQ0FBQyxFQUFDLEVBQUMsRUFBQyxJQUFJLEVBQUMsTUFBTSxFQUFDLEtBQUssRUFBQyxDQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxDQUFDLEVBQUMsV0FBVyxFQUFDLENBQUMsRUFBQyxFQUFDLEVBQUMsSUFBSSxFQUFDLE1BQU0sRUFBQyxLQUFLLEVBQUMsQ0FBQyxDQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsQ0FBQyxFQUFDLFdBQVcsRUFBQyxDQUFDLEVBQUMsRUFBQyxFQUFDLElBQUksRUFBQyxNQUFNLEVBQUMsS0FBSyxFQUFDLENBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLENBQUMsRUFBQyxXQUFXLEVBQUMsQ0FBQyxFQUFDLEVBQUMsRUFBQyxJQUFJLEVBQUMsTUFBTSxFQUFDLEtBQUssRUFBQyxDQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxDQUFDLEVBQUMsV0FBVyxFQUFDLENBQUMsRUFBQyxFQUFDLEVBQUMsSUFBSSxFQUFDLE1BQU0sRUFBQyxLQUFLLEVBQUMsQ0FBQyxDQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsQ0FBQyxFQUFDLFdBQVcsRUFBQyxDQUFDLEVBQUMsRUFBQyxFQUFDLElBQUksRUFBQyxNQUFNLEVBQUMsS0FBSyxFQUFDLENBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLENBQUMsRUFBQyxXQUFXLEVBQUMsQ0FBQyxFQUFDLEVBQUMsRUFBQyxJQUFJLEVBQUMsTUFBTSxFQUFDLEtBQUssRUFBQyxDQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxDQUFDLEVBQUMsV0FBVyxFQUFDLENBQUMsRUFBQyxFQUFDLEVBQUMsSUFBSSxFQUFDLE1BQU0sRUFBQyxLQUFLLEVBQUMsQ0FBQyxDQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsQ0FBQyxFQUFDLFdBQVcsRUFBQyxDQUFDLEVBQUMsRUFBQyxFQUFDLElBQUksRUFBQyxNQUFNLEVBQUMsS0FBSyxFQUFDLENBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLENBQUMsRUFBQyxXQUFXLEVBQUMsQ0FBQyxFQUFDLEVBQUMsRUFBQyxJQUFJLEVBQUMsTUFBTSxFQUFDLEtBQUssRUFBQyxDQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxDQUFDLEVBQUMsV0FBVyxFQUFDLENBQUMsRUFBQyxFQUFDLEVBQUMsSUFBSSxFQUFDLE1BQU0sRUFBQyxLQUFLLEVBQUMsQ0FBQyxDQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsQ0FBQyxFQUFDLFdBQVcsRUFBQyxDQUFDLEVBQUMsRUFBQyxFQUFDLElBQUksRUFBQyxNQUFNLEVBQUMsS0FBSyxFQUFDLENBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLENBQUMsRUFBQyxXQUFXLEVBQUMsQ0FBQyxFQUFDLEVBQUMsRUFBQyxJQUFJLEVBQUMsTUFBTSxFQUFDLEtBQUssRUFBQyxDQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxDQUFDLEVBQUMsV0FBVyxFQUFDLENBQUMsRUFBQyxFQUFDLEVBQUMsSUFBSSxFQUFDLE1BQU0sRUFBQyxLQUFLLEVBQUMsQ0FBQyxDQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsQ0FBQyxFQUFDLFdBQVcsRUFBQyxDQUFDLEVBQUMsRUFBQyxFQUFDLElBQUksRUFBQyxNQUFNLEVBQUMsS0FBSyxFQUFDLENBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLENBQUMsRUFBQyxXQUFXLEVBQUMsQ0FBQyxFQUFDLEVBQUMsRUFBQyxJQUFJLEVBQUMsTUFBTSxFQUFDLEtBQUssRUFBQyxDQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxDQUFDLEVBQUMsV0FBVyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLElBQUksRUFBQyxNQUFNLEVBQUMsS0FBSyxFQUFDLENBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLENBQUMsRUFBQyxXQUFXLEVBQUMsQ0FBQyxFQUFDLEVBQUMsRUFBQyxJQUFJLEVBQUMsTUFBTSxFQUFDLEtBQUssRUFBQyxDQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxDQUFDLEVBQUMsV0FBVyxFQUFDLENBQUMsRUFBQyxFQUFDLEVBQUMsSUFBSSxFQUFDLE1BQU0sRUFBQyxLQUFLLEVBQUMsQ0FBQyxDQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsQ0FBQyxFQUFDLFdBQVcsRUFBQyxDQUFDLEVBQUMsRUFBQyxFQUFDLElBQUksRUFBQyxNQUFNLEVBQUMsS0FBSyxFQUFDLENBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLENBQUMsRUFBQyxXQUFXLEVBQUMsQ0FBQyxFQUFDLEVBQUMsRUFBQyxJQUFJLEVBQUMsTUFBTSxFQUFDLEtBQUssRUFBQyxDQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxDQUFDLEVBQUMsV0FBVyxFQUFDLENBQUMsRUFBQyxFQUFDLEVBQUMsSUFBSSxFQUFDLE1BQU0sRUFBQyxLQUFLLEVBQUMsQ0FBQyxDQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsQ0FBQyxFQUFDLFdBQVcsRUFBQyxDQUFDLEVBQUMsRUFBQyxFQUFDLElBQUksRUFBQyxNQUFNLEVBQUMsS0FBSyxFQUFDLENBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLENBQUMsRUFBQyxXQUFXLEVBQUMsQ0FBQyxFQUFDLEVBQUMsRUFBQyxJQUFJLEVBQUMsTUFBTSxFQUFDLEtBQUssRUFBQyxDQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxDQUFDLEVBQUMsV0FBVyxFQUFDLENBQUMsRUFBQyxFQUFDLEVBQUMsSUFBSSxFQUFDLE1BQU0sRUFBQyxLQUFLLEVBQUMsQ0FBQyxDQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsQ0FBQyxFQUFDLFdBQVcsRUFBQyxDQUFDLEVBQUMsRUFBQyxFQUFDLElBQUksRUFBQyxNQUFNLEVBQUMsS0FBSyxFQUFDLENBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLENBQUMsRUFBQyxXQUFXLEVBQUMsQ0FBQyxFQUFDLEVBQUMsRUFBQyxJQUFJLEVBQUMsTUFBTSxFQUFDLEtBQUssRUFBQyxDQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxDQUFDLEVBQUMsV0FBVyxFQUFDLENBQUMsRUFBQyxFQUFDLEVBQUMsSUFBSSxFQUFDLE1BQU0sRUFBQyxLQUFLLEVBQUMsQ0FBQyxDQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsQ0FBQyxFQUFDLFdBQVcsRUFBQyxDQUFDLEVBQUMsRUFBQyxFQUFDLElBQUksRUFBQyxNQUFNLEVBQUMsS0FBSyxFQUFDLENBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLENBQUMsRUFBQyxXQUFXLEVBQUMsQ0FBQyxFQUFDLEVBQUMsRUFBQyxJQUFJLEVBQUMsTUFBTSxFQUFDLEtBQUssRUFBQyxDQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxDQUFDLEVBQUMsV0FBVyxFQUFDLENBQUMsRUFBQyxFQUFDLEVBQUMsSUFBSSxFQUFDLE1BQU0sRUFBQyxLQUFLLEVBQUMsQ0FBQyxDQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsQ0FBQyxFQUFDLFdBQVcsRUFBQyxDQUFDLEVBQUMsRUFBQyxFQUFDLElBQUksRUFBQyxNQUFNLEVBQUMsS0FBSyxFQUFDLENBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLENBQUMsRUFBQyxXQUFXLEVBQUMsQ0FBQyxFQUFDLEVBQUMsRUFBQyxJQUFJLEVBQUMsTUFBTSxFQUFDLEtBQUssRUFBQyxDQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxDQUFDLEVBQUMsV0FBVyxFQUFDLENBQUMsRUFBQyxFQUFDLEVBQUMsSUFBSSxFQUFDLE1BQU0sRUFBQyxLQUFLLEVBQUMsQ0FBQyxDQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsQ0FBQyxFQUFDLFdBQVcsRUFBQyxDQUFDLEVBQUMsRUFBQyxFQUFDLElBQUksRUFBQyxNQUFNLEVBQUMsS0FBSyxFQUFDLENBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLENBQUMsRUFBQyxXQUFXLEVBQUMsQ0FBQyxFQUFDLEVBQUMsRUFBQyxJQUFJLEVBQUMsTUFBTSxFQUFDLEtBQUssRUFBQyxDQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxDQUFDLEVBQUMsV0FBVyxFQUFDLENBQUMsRUFBQyxFQUFDLEVBQUMsSUFBSSxFQUFDLE1BQU0sRUFBQyxLQUFLLEVBQUMsQ0FBQyxDQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsQ0FBQyxFQUFDLFdBQVcsRUFBQyxDQUFDLEVBQUMsRUFBQyxFQUFDLElBQUksRUFBQyxNQUFNLEVBQUMsS0FBSyxFQUFDLENBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLENBQUMsRUFBQyxXQUFXLEVBQUMsQ0FBQyxFQUFDLEVBQUMsRUFBQyxJQUFJLEVBQUMsTUFBTSxFQUFDLEtBQUssRUFBQyxDQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxDQUFDLEVBQUMsV0FBVyxFQUFDLENBQUMsRUFBQyxFQUFDLEVBQUMsSUFBSSxFQUFDLE1BQU0sRUFBQyxLQUFLLEVBQUMsQ0FBQyxDQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsQ0FBQyxFQUFDLFdBQVcsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxJQUFJLEVBQUMsTUFBTSxFQUFDLEtBQUssRUFBQyxDQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsQ0FBQyxFQUFDLFdBQVcsRUFBQyxDQUFDLEVBQUMsRUFBQyxFQUFDLElBQUksRUFBQyxNQUFNLEVBQUMsS0FBSyxFQUFDLENBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLENBQUMsRUFBQyxXQUFXLEVBQUMsQ0FBQyxFQUFDLEVBQUMsRUFBQyxJQUFJLEVBQUMsTUFBTSxFQUFDLEtBQUssRUFBQyxDQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxDQUFDLEVBQUMsV0FBVyxFQUFDLENBQUMsRUFBQyxFQUFDLEVBQUMsSUFBSSxFQUFDLE1BQU0sRUFBQyxLQUFLLEVBQUMsQ0FBQyxDQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsQ0FBQyxFQUFDLFdBQVcsRUFBQyxDQUFDLEVBQUMsRUFBQyxFQUFDLElBQUksRUFBQyxNQUFNLEVBQUMsS0FBSyxFQUFDLENBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLENBQUMsRUFBQyxXQUFXLEVBQUMsQ0FBQyxFQUFDLEVBQUMsRUFBQyxJQUFJLEVBQUMsTUFBTSxFQUFDLEtBQUssRUFBQyxDQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxDQUFDLEVBQUMsV0FBVyxFQUFDLENBQUMsRUFBQyxFQUFDLEVBQUMsSUFBSSxFQUFDLE1BQU0sRUFBQyxLQUFLLEVBQUMsQ0FBQyxDQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsQ0FBQyxFQUFDLFdBQVcsRUFBQyxDQUFDLEVBQUMsRUFBQyxFQUFDLElBQUksRUFBQyxNQUFNLEVBQUMsS0FBSyxFQUFDLENBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLENBQUMsRUFBQyxXQUFXLEVBQUMsQ0FBQyxFQUFDLEVBQUMsRUFBQyxJQUFJLEVBQUMsTUFBTSxFQUFDLEtBQUssRUFBQyxDQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxDQUFDLEVBQUMsV0FBVyxFQUFDLENBQUMsRUFBQyxFQUFDLEVBQUMsSUFBSSxFQUFDLE1BQU0sRUFBQyxLQUFLLEVBQUMsQ0FBQyxDQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsQ0FBQyxFQUFDLFdBQVcsRUFBQyxDQUFDLEVBQUMsRUFBQyxFQUFDLElBQUksRUFBQyxNQUFNLEVBQUMsS0FBSyxFQUFDLENBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLENBQUMsRUFBQyxXQUFXLEVBQUMsQ0FBQyxFQUFDLEVBQUMsRUFBQyxJQUFJLEVBQUMsTUFBTSxFQUFDLEtBQUssRUFBQyxDQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxDQUFDLEVBQUMsV0FBVyxFQUFDLENBQUMsRUFBQyxFQUFDLEVBQUMsSUFBSSxFQUFDLE1BQU0sRUFBQyxLQUFLLEVBQUMsQ0FBQyxDQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsQ0FBQyxFQUFDLFdBQVcsRUFBQyxDQUFDLEVBQUMsRUFBQyxFQUFDLElBQUksRUFBQyxNQUFNLEVBQUMsS0FBSyxFQUFDLENBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLENBQUMsRUFBQyxXQUFXLEVBQUMsQ0FBQyxFQUFDLEVBQUMsRUFBQyxJQUFJLEVBQUMsTUFBTSxFQUFDLEtBQUssRUFBQyxDQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxDQUFDLEVBQUMsV0FBVyxFQUFDLENBQUMsRUFBQyxFQUFDLEVBQUMsSUFBSSxFQUFDLE1BQU0sRUFBQyxLQUFLLEVBQUMsQ0FBQyxDQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsQ0FBQyxFQUFDLFdBQVcsRUFBQyxDQUFDLEVBQUMsRUFBQyxFQUFDLElBQUksRUFBQyxNQUFNLEVBQUMsS0FBSyxFQUFDLENBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLENBQUMsRUFBQyxXQUFXLEVBQUMsQ0FBQyxFQUFDLEVBQUMsRUFBQyxJQUFJLEVBQUMsTUFBTSxFQUFDLEtBQUssRUFBQyxDQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxDQUFDLEVBQUMsV0FBVyxFQUFDLENBQUMsRUFBQyxFQUFDLEVBQUMsSUFBSSxFQUFDLE1BQU0sRUFBQyxLQUFLLEVBQUMsQ0FBQyxDQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsQ0FBQyxFQUFDLFdBQVcsRUFBQyxDQUFDLEVBQUMsRUFBQyxFQUFDLElBQUksRUFBQyxNQUFNLEVBQUMsS0FBSyxFQUFDLENBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLENBQUMsRUFBQyxXQUFXLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsSUFBSSxFQUFDLE1BQU0sRUFBQyxLQUFLLEVBQUMsQ0FBQyxDQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsQ0FBQyxFQUFDLFdBQVcsRUFBQyxDQUFDLEVBQUMsRUFBQyxFQUFDLElBQUksRUFBQyxNQUFNLEVBQUMsS0FBSyxFQUFDLENBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxDQUFDLEVBQUMsV0FBVyxFQUFDLENBQUMsRUFBQyxFQUFDLEVBQUMsSUFBSSxFQUFDLE1BQU0sRUFBQyxLQUFLLEVBQUMsQ0FBQyxDQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLENBQUMsRUFBQyxXQUFXLEVBQUMsQ0FBQyxFQUFDLEVBQUMsRUFBQyxJQUFJLEVBQUMsTUFBTSxFQUFDLEtBQUssRUFBQyxDQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsQ0FBQyxFQUFDLFdBQVcsRUFBQyxDQUFDLEVBQUMsRUFBQyxFQUFDLElBQUksRUFBQyxNQUFNLEVBQUMsS0FBSyxFQUFDLENBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxDQUFDLEVBQUMsV0FBVyxFQUFDLENBQUMsRUFBQyxFQUFDLEVBQUMsSUFBSSxFQUFDLE1BQU0sRUFBQyxLQUFLLEVBQUMsQ0FBQyxDQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLENBQUMsRUFBQyxXQUFXLEVBQUMsQ0FBQyxFQUFDLEVBQUMsRUFBQyxJQUFJLEVBQUMsTUFBTSxFQUFDLEtBQUssRUFBQyxDQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsQ0FBQyxFQUFDLFdBQVcsRUFBQyxDQUFDLEVBQUMsRUFBQyxFQUFDLElBQUksRUFBQyxNQUFNLEVBQUMsS0FBSyxFQUFDLENBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxDQUFDLEVBQUMsV0FBVyxFQUFDLENBQUMsRUFBQyxFQUFDLEVBQUMsSUFBSSxFQUFDLE1BQU0sRUFBQyxLQUFLLEVBQUMsQ0FBQyxDQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLENBQUMsRUFBQyxXQUFXLEVBQUMsQ0FBQyxFQUFDLEVBQUMsRUFBQyxJQUFJLEVBQUMsTUFBTSxFQUFDLEtBQUssRUFBQyxDQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsQ0FBQyxFQUFDLFdBQVcsRUFBQyxDQUFDLEVBQUMsRUFBQyxFQUFDLElBQUksRUFBQyxNQUFNLEVBQUMsS0FBSyxFQUFDLENBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxDQUFDLEVBQUMsV0FBVyxFQUFDLENBQUMsRUFBQyxFQUFDLEVBQUMsSUFBSSxFQUFDLE1BQU0sRUFBQyxLQUFLLEVBQUMsQ0FBQyxDQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLENBQUMsRUFBQyxXQUFXLEVBQUMsQ0FBQyxFQUFDLEVBQUMsRUFBQyxJQUFJLEVBQUMsTUFBTSxFQUFDLEtBQUssRUFBQyxDQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsQ0FBQyxFQUFDLFdBQVcsRUFBQyxDQUFDLEVBQUMsRUFBQyxFQUFDLElBQUksRUFBQyxNQUFNLEVBQUMsS0FBSyxFQUFDLENBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxDQUFDLEVBQUMsV0FBVyxFQUFDLENBQUMsRUFBQyxFQUFDLEVBQUMsSUFBSSxFQUFDLE1BQU0sRUFBQyxLQUFLLEVBQUMsQ0FBQyxDQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLENBQUMsRUFBQyxXQUFXLEVBQUMsQ0FBQyxFQUFDLEVBQUMsRUFBQyxJQUFJLEVBQUMsTUFBTSxFQUFDLEtBQUssRUFBQyxDQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsQ0FBQyxFQUFDLFdBQVcsRUFBQyxDQUFDLEVBQUMsRUFBQyxFQUFDLElBQUksRUFBQyxNQUFNLEVBQUMsS0FBSyxFQUFDLENBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxDQUFDLEVBQUMsV0FBVyxFQUFDLENBQUMsRUFBQyxFQUFDLEVBQUMsSUFBSSxFQUFDLE1BQU0sRUFBQyxLQUFLLEVBQUMsQ0FBQyxDQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLENBQUMsRUFBQyxXQUFXLEVBQUMsQ0FBQyxFQUFDLEVBQUMsRUFBQyxJQUFJLEVBQUMsTUFBTSxFQUFDLEtBQUssRUFBQyxDQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsQ0FBQyxFQUFDLFdBQVcsRUFBQyxDQUFDLEVBQUMsRUFBQyxFQUFDLElBQUksRUFBQyxNQUFNLEVBQUMsS0FBSyxFQUFDLENBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxDQUFDLEVBQUMsV0FBVyxFQUFDLENBQUMsRUFBQyxFQUFDLEVBQUMsSUFBSSxFQUFDLE1BQU0sRUFBQyxLQUFLLEVBQUMsQ0FBQyxDQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLENBQUMsRUFBQyxXQUFXLEVBQUMsRUFBRSxFQUFDLEVBQUMsRUFBQyxJQUFJLEVBQUMsTUFBTSxFQUFDLEtBQUssRUFBQyxDQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsQ0FBQyxFQUFDLFdBQVcsRUFBQyxFQUFFLEVBQUMsRUFBQyxFQUFDLElBQUksRUFBQyxNQUFNLEVBQUMsS0FBSyxFQUFDLENBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxDQUFDLEVBQUMsV0FBVyxFQUFDLEVBQUUsRUFBQyxFQUFDLEVBQUMsSUFBSSxFQUFDLE1BQU0sRUFBQyxLQUFLLEVBQUMsQ0FBQyxDQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLENBQUMsRUFBQyxXQUFXLEVBQUMsRUFBRSxFQUFDLEVBQUMsRUFBQyxJQUFJLEVBQUMsTUFBTSxFQUFDLEtBQUssRUFBQyxDQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsQ0FBQyxFQUFDLFdBQVcsRUFBQyxFQUFFLEVBQUMsRUFBQyxFQUFDLElBQUksRUFBQyxNQUFNLEVBQUMsS0FBSyxFQUFDLENBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxDQUFDLEVBQUMsV0FBVyxFQUFDLEVBQUUsRUFBQyxFQUFDLEVBQUMsSUFBSSxFQUFDLE1BQU0sRUFBQyxLQUFLLEVBQUMsQ0FBQyxDQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLENBQUMsRUFBQyxXQUFXLEVBQUMsRUFBRSxFQUFDLEVBQUMsRUFBQyxJQUFJLEVBQUMsTUFBTSxFQUFDLEtBQUssRUFBQyxDQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsQ0FBQyxFQUFDLFdBQVcsRUFBQyxFQUFFLEVBQUMsRUFBQyxFQUFDLElBQUksRUFBQyxNQUFNLEVBQUMsS0FBSyxFQUFDLENBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxDQUFDLEVBQUMsV0FBVyxFQUFDLEVBQUUsRUFBQyxFQUFDLEVBQUMsSUFBSSxFQUFDLE1BQU0sRUFBQyxLQUFLLEVBQUMsQ0FBQyxDQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLENBQUMsRUFBQyxXQUFXLEVBQUMsRUFBRSxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsSUFBSSxFQUFDLE1BQU0sRUFBQyxLQUFLLEVBQUMsQ0FBQyxDQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLENBQUMsRUFBQyxXQUFXLEVBQUMsQ0FBQyxFQUFDLEVBQUMsRUFBQyxJQUFJLEVBQUMsTUFBTSxFQUFDLEtBQUssRUFBQyxDQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsQ0FBQyxFQUFDLFdBQVcsRUFBQyxDQUFDLEVBQUMsRUFBQyxFQUFDLElBQUksRUFBQyxNQUFNLEVBQUMsS0FBSyxFQUFDLENBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxDQUFDLEVBQUMsV0FBVyxFQUFDLENBQUMsRUFBQyxFQUFDLEVBQUMsSUFBSSxFQUFDLE1BQU0sRUFBQyxLQUFLLEVBQUMsQ0FBQyxDQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxDQUFDLEVBQUMsV0FBVyxFQUFDLENBQUMsRUFBQyxFQUFDLEVBQUMsSUFBSSxFQUFDLE1BQU0sRUFBQyxLQUFLLEVBQUMsQ0FBQyxDQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxDQUFDLEVBQUMsV0FBVyxFQUFDLENBQUMsRUFBQyxFQUFDLEVBQUMsSUFBSSxFQUFDLE1BQU0sRUFBQyxLQUFLLEVBQUMsQ0FBQyxDQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxDQUFDLEVBQUMsV0FBVyxFQUFDLENBQUMsRUFBQyxFQUFDLEVBQUMsSUFBSSxFQUFDLE1BQU0sRUFBQyxLQUFLLEVBQUMsQ0FBQyxDQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxDQUFDLEVBQUMsV0FBVyxFQUFDLEVBQUUsRUFBQyxFQUFDLEVBQUMsSUFBSSxFQUFDLE1BQU0sRUFBQyxLQUFLLEVBQUMsQ0FBQyxDQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxDQUFDLEVBQUMsV0FBVyxFQUFDLEVBQUUsRUFBQyxFQUFDLEVBQUMsSUFBSSxFQUFDLE1BQU0sRUFBQyxLQUFLLEVBQUMsQ0FBQyxDQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxDQUFDLEVBQUMsV0FBVyxFQUFDLEVBQUUsRUFBQyxFQUFDLEVBQUMsSUFBSSxFQUFDLE1BQU0sRUFBQyxLQUFLLEVBQUMsQ0FBQyxDQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLENBQUMsRUFBQyxXQUFXLEVBQUMsRUFBRSxFQUFDLEVBQUMsRUFBQyxJQUFJLEVBQUMsTUFBTSxFQUFDLEtBQUssRUFBQyxDQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsQ0FBQyxFQUFDLFdBQVcsRUFBQyxFQUFFLEVBQUMsRUFBQyxFQUFDLElBQUksRUFBQyxNQUFNLEVBQUMsS0FBSyxFQUFDLENBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxDQUFDLEVBQUMsV0FBVyxFQUFDLEVBQUUsRUFBQyxFQUFDLEVBQUMsSUFBSSxFQUFDLE1BQU0sRUFBQyxLQUFLLEVBQUMsQ0FBQyxDQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLENBQUMsRUFBQyxXQUFXLEVBQUMsRUFBRSxFQUFDLEVBQUMsRUFBQyxJQUFJLEVBQUMsTUFBTSxFQUFDLEtBQUssRUFBQyxDQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLENBQUMsRUFBQyxXQUFXLEVBQUMsRUFBRSxFQUFDLEVBQUMsRUFBQyxJQUFJLEVBQUMsTUFBTSxFQUFDLEtBQUssRUFBQyxDQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLENBQUMsRUFBQyxXQUFXLEVBQUMsRUFBRSxFQUFDLEVBQUMsRUFBQyxJQUFJLEVBQUMsTUFBTSxFQUFDLEtBQUssRUFBQyxDQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLENBQUMsRUFBQyxXQUFXLEVBQUMsRUFBRSxFQUFDLEVBQUMsRUFBQyxJQUFJLEVBQUMsTUFBTSxFQUFDLEtBQUssRUFBQyxDQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLENBQUMsRUFBQyxXQUFXLEVBQUMsRUFBRSxFQUFDLEVBQUMsRUFBQyxJQUFJLEVBQUMsTUFBTSxFQUFDLEtBQUssRUFBQyxDQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsQ0FBQyxFQUFDLFdBQVcsRUFBQyxFQUFFLEVBQUMsRUFBQyxFQUFDLElBQUksRUFBQyxNQUFNLEVBQUMsS0FBSyxFQUFDLENBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxDQUFDLEVBQUMsV0FBVyxFQUFDLEVBQUUsRUFBQyxFQUFDLEVBQUMsSUFBSSxFQUFDLE1BQU0sRUFBQyxLQUFLLEVBQUMsQ0FBQyxDQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLENBQUMsRUFBQyxXQUFXLEVBQUMsRUFBRSxFQUFDLEVBQUMsRUFBQyxJQUFJLEVBQUMsTUFBTSxFQUFDLEtBQUssRUFBQyxDQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLENBQUMsRUFBQyxXQUFXLEVBQUMsRUFBRSxFQUFDLEVBQUMsRUFBQyxJQUFJLEVBQUMsTUFBTSxFQUFDLEtBQUssRUFBQyxDQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLENBQUMsRUFBQyxXQUFXLEVBQUMsRUFBRSxFQUFDLEVBQUMsRUFBQyxJQUFJLEVBQUMsTUFBTSxFQUFDLEtBQUssRUFBQyxDQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLENBQUMsRUFBQyxXQUFXLEVBQUMsRUFBRSxFQUFDLEVBQUMsRUFBQyxJQUFJLEVBQUMsTUFBTSxFQUFDLEtBQUssRUFBQyxDQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLENBQUMsRUFBQyxXQUFXLEVBQUMsRUFBRSxFQUFDLEVBQUMsRUFBQyxJQUFJLEVBQUMsTUFBTSxFQUFDLEtBQUssRUFBQyxDQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLENBQUMsRUFBQyxXQUFXLEVBQUMsRUFBRSxFQUFDLEVBQUMsRUFBQyxJQUFJLEVBQUMsTUFBTSxFQUFDLEtBQUssRUFBQyxDQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLENBQUMsRUFBQyxXQUFXLEVBQUMsRUFBRSxFQUFDLEVBQUMsRUFBQyxJQUFJLEVBQUMsTUFBTSxFQUFDLEtBQUssRUFBQyxDQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLENBQUMsRUFBQyxXQUFXLEVBQUMsRUFBRSxFQUFDLEVBQUMsRUFBQyxJQUFJLEVBQUMsTUFBTSxFQUFDLEtBQUssRUFBQyxDQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLENBQUMsRUFBQyxXQUFXLEVBQUMsRUFBRSxFQUFDLEVBQUMsRUFBQyxJQUFJLEVBQUMsTUFBTSxFQUFDLEtBQUssRUFBQyxDQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLENBQUMsRUFBQyxXQUFXLEVBQUMsRUFBRSxFQUFDLEVBQUMsRUFBQyxJQUFJLEVBQUMsTUFBTSxFQUFDLEtBQUssRUFBQyxDQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLENBQUMsRUFBQyxXQUFXLEVBQUMsRUFBRSxFQUFDLEVBQUMsRUFBQyxJQUFJLEVBQUMsTUFBTSxFQUFDLEtBQUssRUFBQyxDQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLENBQUMsRUFBQyxXQUFXLEVBQUMsRUFBRSxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsSUFBSSxFQUFDLE1BQU0sRUFBQyxLQUFLLEVBQUMsQ0FBQyxDQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsQ0FBQyxFQUFDLFdBQVcsRUFBQyxDQUFDLEVBQUMsRUFBQyxFQUFDLElBQUksRUFBQyxNQUFNLEVBQUMsS0FBSyxFQUFDLENBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLENBQUMsRUFBQyxXQUFXLEVBQUMsQ0FBQyxFQUFDLEVBQUMsRUFBQyxJQUFJLEVBQUMsTUFBTSxFQUFDLEtBQUssRUFBQyxDQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxDQUFDLEVBQUMsV0FBVyxFQUFDLEVBQUUsRUFBQyxFQUFDLEVBQUMsSUFBSSxFQUFDLE1BQU0sRUFBQyxLQUFLLEVBQUMsQ0FBQyxDQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsQ0FBQyxFQUFDLFdBQVcsRUFBQyxFQUFFLEVBQUMsRUFBQyxFQUFDLElBQUksRUFBQyxNQUFNLEVBQUMsS0FBSyxFQUFDLENBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLENBQUMsRUFBQyxXQUFXLEVBQUMsRUFBRSxFQUFDLEVBQUMsRUFBQyxJQUFJLEVBQUMsTUFBTSxFQUFDLEtBQUssRUFBQyxDQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxDQUFDLEVBQUMsV0FBVyxFQUFDLEVBQUUsRUFBQyxFQUFDLEVBQUMsSUFBSSxFQUFDLE1BQU0sRUFBQyxLQUFLLEVBQUMsQ0FBQyxDQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsQ0FBQyxFQUFDLFdBQVcsRUFBQyxFQUFFLEVBQUMsRUFBQyxFQUFDLElBQUksRUFBQyxNQUFNLEVBQUMsS0FBSyxFQUFDLENBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLENBQUMsRUFBQyxXQUFXLEVBQUMsRUFBRSxFQUFDLEVBQUMsRUFBQyxJQUFJLEVBQUMsTUFBTSxFQUFDLEtBQUssRUFBQyxDQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxDQUFDLEVBQUMsV0FBVyxFQUFDLEVBQUUsRUFBQyxFQUFDLEVBQUMsSUFBSSxFQUFDLE1BQU0sRUFBQyxLQUFLLEVBQUMsQ0FBQyxDQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsQ0FBQyxFQUFDLFdBQVcsRUFBQyxFQUFFLEVBQUMsRUFBQyxFQUFDLElBQUksRUFBQyxNQUFNLEVBQUMsS0FBSyxFQUFDLENBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLENBQUMsRUFBQyxXQUFXLEVBQUMsRUFBRSxFQUFDLEVBQUMsRUFBQyxJQUFJLEVBQUMsTUFBTSxFQUFDLEtBQUssRUFBQyxDQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxDQUFDLEVBQUMsV0FBVyxFQUFDLEVBQUUsRUFBQyxFQUFDLEVBQUMsSUFBSSxFQUFDLE1BQU0sRUFBQyxLQUFLLEVBQUMsQ0FBQyxDQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsQ0FBQyxFQUFDLFdBQVcsRUFBQyxFQUFFLEVBQUMsRUFBQyxFQUFDLElBQUksRUFBQyxNQUFNLEVBQUMsS0FBSyxFQUFDLENBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLENBQUMsRUFBQyxXQUFXLEVBQUMsRUFBRSxFQUFDLEVBQUMsRUFBQyxJQUFJLEVBQUMsTUFBTSxFQUFDLEtBQUssRUFBQyxDQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxDQUFDLEVBQUMsV0FBVyxFQUFDLEVBQUUsRUFBQyxFQUFDLEVBQUMsSUFBSSxFQUFDLE1BQU0sRUFBQyxLQUFLLEVBQUMsQ0FBQyxDQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsQ0FBQyxFQUFDLFdBQVcsRUFBQyxFQUFFLEVBQUMsRUFBQyxFQUFDLElBQUksRUFBQyxNQUFNLEVBQUMsS0FBSyxFQUFDLENBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLENBQUMsRUFBQyxXQUFXLEVBQUMsRUFBRSxFQUFDLEVBQUMsRUFBQyxJQUFJLEVBQUMsTUFBTSxFQUFDLEtBQUssRUFBQyxDQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxDQUFDLEVBQUMsV0FBVyxFQUFDLEVBQUUsRUFBQyxFQUFDLEVBQUMsSUFBSSxFQUFDLE1BQU0sRUFBQyxLQUFLLEVBQUMsQ0FBQyxDQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsQ0FBQyxFQUFDLFdBQVcsRUFBQyxFQUFFLEVBQUMsRUFBQyxFQUFDLElBQUksRUFBQyxNQUFNLEVBQUMsS0FBSyxFQUFDLENBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLENBQUMsRUFBQyxXQUFXLEVBQUMsRUFBRSxFQUFDLEVBQUMsRUFBQyxJQUFJLEVBQUMsTUFBTSxFQUFDLEtBQUssRUFBQyxDQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxDQUFDLEVBQUMsV0FBVyxFQUFDLEVBQUUsRUFBQyxFQUFDLEVBQUMsSUFBSSxFQUFDLE1BQU0sRUFBQyxLQUFLLEVBQUMsQ0FBQyxDQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsQ0FBQyxFQUFDLFdBQVcsRUFBQyxFQUFFLEVBQUMsRUFBQyxFQUFDLElBQUksRUFBQyxNQUFNLEVBQUMsS0FBSyxFQUFDLENBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLENBQUMsRUFBQyxXQUFXLEVBQUMsRUFBRSxFQUFDLEVBQUMsRUFBQyxJQUFJLEVBQUMsTUFBTSxFQUFDLEtBQUssRUFBQyxDQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxDQUFDLEVBQUMsV0FBVyxFQUFDLEVBQUUsRUFBQyxFQUFDLEVBQUMsSUFBSSxFQUFDLE1BQU0sRUFBQyxLQUFLLEVBQUMsQ0FBQyxDQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsQ0FBQyxFQUFDLFdBQVcsRUFBQyxFQUFFLEVBQUMsRUFBQyxFQUFDLElBQUksRUFBQyxNQUFNLEVBQUMsS0FBSyxFQUFDLENBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLENBQUMsRUFBQyxXQUFXLEVBQUMsRUFBRSxFQUFDLEVBQUMsRUFBQyxJQUFJLEVBQUMsTUFBTSxFQUFDLEtBQUssRUFBQyxDQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxDQUFDLEVBQUMsV0FBVyxFQUFDLEVBQUUsRUFBQyxFQUFDLEVBQUMsSUFBSSxFQUFDLE1BQU0sRUFBQyxLQUFLLEVBQUMsQ0FBQyxDQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsQ0FBQyxFQUFDLFdBQVcsRUFBQyxFQUFFLEVBQUMsRUFBQyxFQUFDLElBQUksRUFBQyxNQUFNLEVBQUMsS0FBSyxFQUFDLENBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLENBQUMsRUFBQyxXQUFXLEVBQUMsRUFBRSxFQUFDLEVBQUMsRUFBQyxJQUFJLEVBQUMsTUFBTSxFQUFDLEtBQUssRUFBQyxDQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxDQUFDLEVBQUMsV0FBVyxFQUFDLEVBQUUsRUFBQyxFQUFDLEVBQUMsSUFBSSxFQUFDLE1BQU0sRUFBQyxLQUFLLEVBQUMsQ0FBQyxDQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsQ0FBQyxFQUFDLFdBQVcsRUFBQyxFQUFFLEVBQUMsRUFBQyxFQUFDLElBQUksRUFBQyxNQUFNLEVBQUMsS0FBSyxFQUFDLENBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLENBQUMsRUFBQyxXQUFXLEVBQUMsRUFBRSxFQUFDLEVBQUMsRUFBQyxJQUFJLEVBQUMsTUFBTSxFQUFDLEtBQUssRUFBQyxDQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxDQUFDLEVBQUMsV0FBVyxFQUFDLEVBQUUsRUFBQyxFQUFDLEVBQUMsSUFBSSxFQUFDLE1BQU0sRUFBQyxLQUFLLEVBQUMsQ0FBQyxDQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsQ0FBQyxFQUFDLFdBQVcsRUFBQyxFQUFFLEVBQUMsRUFBQyxFQUFDLElBQUksRUFBQyxNQUFNLEVBQUMsS0FBSyxFQUFDLENBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLENBQUMsRUFBQyxXQUFXLEVBQUMsRUFBRSxFQUFDLEVBQUMsRUFBQyxJQUFJLEVBQUMsTUFBTSxFQUFDLEtBQUssRUFBQyxDQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxDQUFDLEVBQUMsV0FBVyxFQUFDLEVBQUUsRUFBQyxFQUFDLEVBQUMsSUFBSSxFQUFDLE1BQU0sRUFBQyxLQUFLLEVBQUMsQ0FBQyxDQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsQ0FBQyxFQUFDLFdBQVcsRUFBQyxFQUFFLEVBQUMsRUFBQyxFQUFDLElBQUksRUFBQyxNQUFNLEVBQUMsS0FBSyxFQUFDLENBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLENBQUMsRUFBQyxXQUFXLEVBQUMsRUFBRSxFQUFDLEVBQUMsRUFBQyxJQUFJLEVBQUMsTUFBTSxFQUFDLEtBQUssRUFBQyxDQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxDQUFDLEVBQUMsV0FBVyxFQUFDLEVBQUUsRUFBQyxFQUFDLEVBQUMsSUFBSSxFQUFDLE1BQU0sRUFBQyxLQUFLLEVBQUMsQ0FBQyxDQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsQ0FBQyxFQUFDLFdBQVcsRUFBQyxFQUFFLEVBQUMsRUFBQyxFQUFDLElBQUksRUFBQyxNQUFNLEVBQUMsS0FBSyxFQUFDLENBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLENBQUMsRUFBQyxXQUFXLEVBQUMsRUFBRSxFQUFDLEVBQUMsRUFBQyxJQUFJLEVBQUMsTUFBTSxFQUFDLEtBQUssRUFBQyxDQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxDQUFDLEVBQUMsV0FBVyxFQUFDLEVBQUUsRUFBQyxFQUFDLEVBQUMsSUFBSSxFQUFDLE1BQU0sRUFBQyxLQUFLLEVBQUMsQ0FBQyxDQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsQ0FBQyxFQUFDLFdBQVcsRUFBQyxFQUFFLEVBQUMsRUFBQyxFQUFDLElBQUksRUFBQyxNQUFNLEVBQUMsS0FBSyxFQUFDLENBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLENBQUMsRUFBQyxXQUFXLEVBQUMsRUFBRSxFQUFDLEVBQUMsRUFBQyxJQUFJLEVBQUMsTUFBTSxFQUFDLEtBQUssRUFBQyxDQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxDQUFDLEVBQUMsV0FBVyxFQUFDLEVBQUUsRUFBQyxFQUFDLEVBQUMsSUFBSSxFQUFDLE1BQU0sRUFBQyxLQUFLLEVBQUMsQ0FBQyxDQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsQ0FBQyxFQUFDLFdBQVcsRUFBQyxFQUFFLEVBQUMsRUFBQyxFQUFDLElBQUksRUFBQyxNQUFNLEVBQUMsS0FBSyxFQUFDLENBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLENBQUMsRUFBQyxXQUFXLEVBQUMsRUFBRSxFQUFDLEVBQUMsRUFBQyxJQUFJLEVBQUMsTUFBTSxFQUFDLEtBQUssRUFBQyxDQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxDQUFDLEVBQUMsV0FBVyxFQUFDLEVBQUUsRUFBQyxDQUFDLENBQUMsQ0FBQTtRQUcxdHVCLElBQUksQ0FBQyxVQUFVLENBQUMsT0FBTyxDQUFDLENBQUMsRUFBQyxJQUFJLEVBQUMsTUFBTSxFQUFDLEtBQUssRUFBQyxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsRUFBRSxDQUFDLEVBQUUsQ0FBQyxFQUFFLENBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsRUFBRSxDQUFDLEVBQUUsQ0FBQyxFQUFFLENBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsRUFBRSxDQUFDLEVBQUUsQ0FBQyxFQUFFLENBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsRUFBRSxDQUFDLEVBQUUsQ0FBQyxFQUFFLENBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsRUFBRSxDQUFDLEVBQUUsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLEVBQUMsV0FBVyxFQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsQ0FBQztJQUtuSixDQUFDO0lBR00seUJBQWMsR0FBckI7UUFDSSxFQUFFLENBQUMsRUFBRSxDQUFDLFFBQVEsQ0FBQyxjQUFjLEVBQUUsQ0FBQztJQUNwQyxDQUFDOztJQXRTRCwwQkFBMEI7SUFDWCxvQkFBUyxHQUFnQixJQUFJLENBQUM7SUFGcEMsVUFBVTtRQUR0QixPQUFPLENBQUMsWUFBWSxDQUFDO09BQ1QsVUFBVSxDQXdTdEI7SUFBRCxpQkFBQztDQXhTRCxBQXdTQyxJQUFBO0FBeFNZLGdDQUFVIiwiZmlsZSI6IiIsInNvdXJjZVJvb3QiOiIvIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgV2VDaGF0IH0gZnJvbSBcIi4uL1NoYXJlL3NoYXJlXCI7XHJcbmltcG9ydCB7IEdhbWVUb29sIH0gZnJvbSBcIi4uL1Rvb2wvR2FtZVRvb2xcIjtcclxuXHJcblxyXG5jb25zdCB7IGNjY2xhc3MsIHByb3BlcnR5IH0gPSBjYy5fZGVjb3JhdG9yO1xyXG5AY2NjbGFzcygnR2FtZUNvbmZpZycpXHJcbmV4cG9ydCBjbGFzcyBHYW1lQ29uZmlnICB7XHJcbiAgICAvL+aJgOacieaOp+WItuS/oeaBr+mDvemAmui/h0dhbWVBcHBTdGFydOWGheaOp+WItlxyXG4gICAgcHJpdmF0ZSBzdGF0aWMgX2luc3RhbmNlIDogR2FtZUNvbmZpZyA9IG51bGw7XHJcblxyXG4gICAgc3RhdGljIEdBTUVfREFUQTogYW55W107XHJcbiAgICAvL+WFs+WNoeaVsOaNrlxyXG5cclxuXHJcbiAgICBzdGF0aWMgTEVWRUxfSU5GTzogeyBpZDogc3RyaW5nOyBtYXA6IG51bWJlcltdW107IG1pbl9zdGVwczogbnVtYmVyfVtdW107XHJcbiAgICBzdGF0aWMgQ1VTVE9NX0lORk86IHtcclxuICAgICAgICBtb3ZlU3BlZWQ6IG51bWJlcjsgLy/mtKrls7Dnp7vliqjpgJ/luqZcclxuICAgICAgICB3YWl0VGltZTogbnVtYmVyOyAvL+a0quWzsOWGsuWHu+WAkuiuoeaXtlxyXG4gICAgICAgIGZhc3RQYXRoOiBudW1iZXI7IC8v5pyA55+t6Lev5b6EXHJcbiAgICB9W107XHJcbiAgICBzdGF0aWMgVElNRV9JTkZPOiB7XHJcbiAgICAgICAgd2F0ZXJTcGVlZDogbnVtYmVyW107IC8v5rSq5bOw6YCf5bqmXHJcbiAgICAgICAgdG90YWxUaW1lOiBudW1iZXI7IC8v5ri45oiP5oC75pe26ZW/XHJcbiAgICAgICAgd2F0ZXJUaW1lOiBudW1iZXJbXTsgLy/mtKrls7DmnaXnmoTlgJLorqHml7ZcclxuICAgICAgICByb2FkU3BlZWQ6IG51bWJlcjsgLy/msrPpgZPkv67nrZHpgJ/luqZcclxuICAgICAgICBSZWluZm9yY2VTcGVlZDogbnVtYmVyOyAvL+WKoOWbuuaXtumXtOmAn+W6plxyXG4gICAgICAgIFhpX1NvaWxTcGVlZDogbnVtYmVyO1xyXG4gICAgfTtcclxuICAgIC8v55So5LqO55ub5pS+5Z+L54K55pWw5o2u5LiK5Lyg77yM5q+P5qyh5LiK5Lyg5ZCO5riF56m6XHJcbiAgICBzdGF0aWMgQ0xJQ0tfREFUQToge1xyXG4gICAgICAgIHR5cGU6IG51bWJlcjsgLy/kuIrkvKDmlbDmja7nsbvlnotcclxuICAgICAgICBzdWNjZXNzOiBib29sZWFuOyAvL+atpOWxgOa4uOaIj+ato+ehruS4juWQplxyXG4gICAgICAgIHJvdW5kOiBudW1iZXI7IC8v5Zue5ZCI5pWw6L2u5qyhXHJcbiAgICAgICAgZ2V0U2NvcmU6IG51bWJlcjsgLy/mnKzova7lvpfliIbvvIzlpLHotKXkuLow5YiGXHJcbiAgICAgICAgY3VtdWxhdGl2ZVNjb3JlOiBudW1iZXI7IC8v5pys5Ymn5ri45oiP5oC76K6h5b6X5YiGXHJcbiAgICAgICAgbWFwSWQ6IHN0cmluZzsgLy/lnLDlm75JRFxyXG4gICAgICAgIGRpZmZpY3VsdHk6IG51bWJlcjsgLy/lnLDlm77pmr7luqZcclxuICAgICAgICBvcHRpbWl6ZWRTdGVwczogbnVtYmVyOyAvL+WFs+WNoeacgOefreatpeaVsFxyXG4gICAgICAgIHVzZWRTdGVwczogbnVtYmVyOyAvL+eOqeWutuS/ruW7uuaAu+atpeaVsFxyXG4gICAgICAgIHN0ZXBMaXN0OiBhbnlbXTsgLy9V44CBROOAgUzjgIFSICAgWCDmga/lo6QgICBGIOWKoOWbulxyXG4gICAgICAgIHN0YXJ0VGltZTogbnVtYmVyOyAvL+S7jua4uOaIj+W8gOWni+WIsOeOqeWutuaTjeS9nOeahOesrOS4gOatpeaIquatouaXtumXtCAg5Y2V5L2N5q+r56eSXHJcbiAgICAgICAgc3VibWl0VGltZTogbnVtYmVyOyAvL+S7juesrOS4gOatpeaTjeS9nOWIsOaPkOS6pOaXtumXtO+8jOWmguaenOacquaPkOS6pOS4ui0xIOWNleS9jeavq+enklxyXG4gICAgICAgIGR1cmF0aW9uOiBudW1iZXI7IC8v5ri45oiP5oC755So5pe277yI5oiq5q2i5Yiw5o+Q5Lqk77yJIOWNleS9jeavq+enklxyXG4gICAgICAgIGRyYXdpbmdCYWNrOiBudW1iZXI7IC8v5ZCO6YCA5qyh5pWwXHJcbiAgICAgICAgZHJhd2luZ1Jlc2V0OiBudW1iZXI7IC8v5riF56m65qyh5pWwXHJcbiAgICAgICAgdGltZXI6IG51bWJlcjsgIC8v5ri45oiP5YCS6K6h5pe25Ymp5L2Z5pe26ZW/IOenklxyXG4gICAgfTtcclxuICAgIHN0YXRpYyBHTV9JTkZPOiB7XHJcbiAgICAgICAgLy8gaXNFbmQ6IGZhbHNlLFxyXG4gICAgICAgIG1lYW5fVGltZTogbnVtYmVyOyAvL+W5s+Wdh+aUvueuremAn+W6plxyXG4gICAgICAgIHRvdGFsOiBudW1iZXI7IC8v5oC75YWx5a+555qE5Liq5pWwXHJcbiAgICAgICAgY3VyclNlZWQ6IG51bWJlcjsgLy/nlKjkuo7pmo/mnLrmlbDnp43lrZBcclxuICAgICAgICBnYW1lSWQ6IHN0cmluZzsgLy/muLjmiI9JRFxyXG4gICAgICAgIHVzZXJJZDogbnVtYmVyOyAvL+eUqOaIt0lEXHJcbiAgICAgICAgZ3VpZGU6IGJvb2xlYW47IC8v5piv5ZCm5pyJ5byV5a+8XHJcbiAgICAgICAgdXJsOiBzdHJpbmc7IC8v6K6/6Zeu5Z+f5ZCNXHJcbiAgICAgICAgc3VjY2VzczogYm9vbGVhbjsgLy/nlKjmiLfmuLjmiI/miJDlip/kuI7lkKZcclxuICAgICAgICBtYXRjaElkOiBhbnk7IC8v55So5LqO5Z+L54K55LiK5Lyg55qESURcclxuICAgICAgICBjdXN0b206IG51bWJlcjsgLy/nlKjkuo7mtYvor5Xot7PlhbPljaFcclxuICAgICAgICByb3VuZDogbnVtYmVyOyAvL+WbnuWQiOaVsFxyXG4gICAgICAgIGxldmVsOiBudW1iZXI7IC8v5YW35L2T5ri45oiP5YaF6L+b6KGM5Yiw56ys5Yeg5q2lIFxyXG4gICAgICAgIHN0ZXBUaW1lTGlzdDogbnVtYmVyOyAvL+aVtOWxgOa4uOaIj+eUqOaXtu+8jOeUseS6jua2ieWPiuWcuuaZr+WIh+aNou+8jOaVsOaNrumcgOimgeS/neeVmVxyXG4gICAgICAgIHN1Y2Nlc3NMaXN0OiBhbnlbXTsgLy/mlbTlsYDog5zotJ9cclxuICAgICAgICBmZW46IG51bWJlcjsgLy/lsI/lsYDlvpfliIZcclxuICAgICAgICBzY29yZTogbnVtYmVyOyAvL+aAu+W+l+WIhlxyXG4gICAgICAgIGlnbml0ZUNvdW50OiBudW1iZXI7IC8v546p5a625oC76K6h5oiQ5Yqf54K554Gr5pWwXHJcbiAgICAgICAgbWluX1N0ZXBzOiBudW1iZXI7IC8v5q+P5qyh5LiK5LiA5oqK5pyA5bCP5q2l5pWwXHJcbiAgICAgICAgbWluX1RpbWU6IG51bWJlcjsgLy/mr4/kuIDmiorkuIrmrKHot53nprvmtKrls7DliLDmnaXml7bpl7RcclxuICAgIH07XHJcblxyXG5cclxuXHJcblxyXG4gICAgLy/muLjmiI/lhoXkv6Hmga9cclxuXHJcblxyXG5cclxuICAgIHN0YXRpYyBnZXQgSW5zdGFuY2UoKVxyXG4gICAge1xyXG4gICAgICAgIGlmICh0aGlzLl9pbnN0YW5jZSA9PSBudWxsKVxyXG4gICAgICAgIHtcclxuICAgICAgICAgICAgdGhpcy5faW5zdGFuY2UgPSBuZXcgR2FtZUNvbmZpZygpO1xyXG4gICAgICAgIH1cclxuICAgICAgICByZXR1cm4gdGhpcy5faW5zdGFuY2U7XHJcbiAgICB9XHJcbiAgICAvL2dldFNlZWRSYW5kb21cclxuICAgIHN0YXRpYyBpbml0KEF1dGhlbnRpY2F0aW9uKXtcclxuICAgICAgICB0aGlzLkNMSUNLX2luaXQoKTtcclxuICAgICAgICB0aGlzLkxFVkVMX0lORk9faW5pdCgpO1xyXG4gICAgICAgIHRoaXMuR01fSU5GT19pbml0KCk7XHJcbiAgICAgICAgdmFyIHNlbGYgPSB0aGlzO1xyXG4gICAgICAgIC8vIGNjLnJlc291cmNlcy5sb2FkKCdKc29uL0NMSUNLX0RBVEEnLCAoZXJyOiBhbnksIHJlczogY2MuSnNvbkFzc2V0KSA9PiB7XHJcbiAgICAgICAgLy8gICAgIGlmIChlcnIpIHtcclxuICAgICAgICAvLyAgICAgICAgIHJldHVybjtcclxuICAgICAgICAvLyAgICAgfVxyXG4gICAgICAgIC8vICAgICBsZXQganNvbkRhdGE6IG9iamVjdCA9IHJlcy5qc29uITtcclxuICAgICAgICAvLyAgICAgc2VsZi5DTElDS19EQVRBID0ganNvbkRhdGFbXCJkYXRhXCJdO1xyXG4gICAgICAgIC8vIH0pXHJcbiAgICAgICAgLy8gY2MucmVzb3VyY2VzLmxvYWQoJ0pzb24vTEVWRUxfSU5GTycsIChlcnI6IGFueSwgcmVzOiBjYy5Kc29uQXNzZXQpID0+IHtcclxuICAgICAgICAvLyAgICAgaWYgKGVycikge1xyXG4gICAgICAgIC8vICAgICAgICAgcmV0dXJuO1xyXG4gICAgICAgIC8vICAgICB9XHJcbiAgICAgICAgICAgIFxyXG4gICAgICAgIC8vICAgICBsZXQganNvbkRhdGE6IG9iamVjdCA9IHJlcy5qc29uITtcclxuICAgICAgICAvLyAgICAgc2VsZi5MRVZFTF9JTkZPID0ganNvbkRhdGFbXCJkYXRhXCJdO1xyXG4gICAgICAgIC8vIH0pXHJcbiAgICAgICAgLy8gY2MucmVzb3VyY2VzLmxvYWQoJ0pzb24vR01fSU5GTycsIChlcnI6IGFueSwgcmVzOiBjYy5Kc29uQXNzZXQpID0+IHtcclxuICAgICAgICAvLyAgICAgaWYgKGVycikge1xyXG4gICAgICAgIC8vICAgICAgICAgaWYoIUF1dGhlbnRpY2F0aW9uKSBzZWxmLkF1dGhlbnRpY2F0aW9uKCk7XHJcbiAgICAgICAgLy8gICAgICAgICByZXR1cm47XHJcbiAgICAgICAgLy8gICAgIH1cclxuICAgICAgICAgICBcclxuICAgICAgICAvLyAgICAgbGV0IGpzb25EYXRhOiBvYmplY3QgPSByZXMuanNvbiE7XHJcbiAgICAgICAgLy8gICAgIHNlbGYuR01fSU5GTyA9IGpzb25EYXRhW1wiZGF0YVwiXTtcclxuICAgICAgICAvLyAgICAgY2MuZnguR2FtZVRvb2wuZ2V0Q3VzdG9tKGZhbHNlKTtcclxuICAgICAgICAvLyAgICAgaWYoIUF1dGhlbnRpY2F0aW9uKSBzZWxmLkF1dGhlbnRpY2F0aW9uKCk7XHJcbiAgICAgICAgLy8gfSlcclxuXHJcbiAgICAgICAgLy9HQU1FX0RBVEEg5bqf5byD5LqG77yM5pqC5pe25LiN5Yig6Zmk5Lul6Ziy5ZCO6Z2i5L+u5pS55ZueIOS4gOaVtOWxgOS8oOS4gOasoVxyXG4gICAgICAgIHRoaXMuR0FNRV9EQVRBID0gW1xyXG4gICAgICAgIF1cclxuICAgICAgICB0aGlzLkNVU1RPTV9JTkZPID0gW1xyXG4gICAgICAgICAgICAvL+esrOS4gOmavuW6plxyXG4gICAgICAgICAgICB7XHJcbiAgICAgICAgICAgICAgICBtb3ZlU3BlZWQ6IDAsICAgIC8v5rSq5bOw56e75Yqo6YCf5bqmXHJcbiAgICAgICAgICAgICAgICB3YWl0VGltZTogMjAsICAgLy/mtKrls7DlhrLlh7vlgJLorqHml7ZcclxuICAgICAgICAgICAgICAgIGZhc3RQYXRoOiA1ICAgLy/mnIDnn63ot6/lvoRcclxuICAgICAgICAgICAgfSxcclxuICAgICAgICAgICAgLy/nrKzkuozpmr7luqZcclxuICAgICAgICAgICAge1xyXG4gICAgICAgICAgICAgICAgbW92ZVNwZWVkOiAwLCAgICAvL+a0quWzsOenu+WKqOmAn+W6plxyXG4gICAgICAgICAgICAgICAgd2FpdFRpbWU6IDIwLCAgIC8v5rSq5bOw5Yay5Ye75YCS6K6h5pe2XHJcbiAgICAgICAgICAgICAgICBmYXN0UGF0aDogNSAgIC8v5pyA55+t6Lev5b6EXHJcbiAgICAgICAgICAgIH0sXHJcbiAgICAgICAgICAgIC8v56ys5LiJ6Zq+5bqmXHJcbiAgICAgICAgICAgIHtcclxuICAgICAgICAgICAgICAgIG1vdmVTcGVlZDogMCwgICAgLy/mtKrls7Dnp7vliqjpgJ/luqZcclxuICAgICAgICAgICAgICAgIHdhaXRUaW1lOiAyMCwgICAvL+a0quWzsOWGsuWHu+WAkuiuoeaXtlxyXG4gICAgICAgICAgICAgICAgZmFzdFBhdGg6IDUgICAvL+acgOefrei3r+W+hFxyXG4gICAgICAgICAgICB9LFxyXG4gICAgICAgICAgICAvL+esrOWbm+mavuW6plxyXG4gICAgICAgICAgICB7XHJcbiAgICAgICAgICAgICAgICBtb3ZlU3BlZWQ6IDAsICAgIC8v5rSq5bOw56e75Yqo6YCf5bqmXHJcbiAgICAgICAgICAgICAgICB3YWl0VGltZTogMjAsICAgLy/mtKrls7DlhrLlh7vlgJLorqHml7ZcclxuICAgICAgICAgICAgICAgIGZhc3RQYXRoOiA1ICAgLy/mnIDnn63ot6/lvoRcclxuICAgICAgICAgICAgfSxcclxuICAgICAgICAgICAgLy/nrKzkupTpmr7luqZcclxuICAgICAgICAgICAge1xyXG4gICAgICAgICAgICAgICAgbW92ZVNwZWVkOiAwLCAgICAvL+a0quWzsOenu+WKqOmAn+W6plxyXG4gICAgICAgICAgICAgICAgd2FpdFRpbWU6IDIwLCAgIC8v5rSq5bOw5Yay5Ye75YCS6K6h5pe2XHJcbiAgICAgICAgICAgICAgICBmYXN0UGF0aDogNSAgIC8v5pyA55+t6Lev5b6EXHJcbiAgICAgICAgICAgIH0sXHJcbiAgICAgICAgICAgICAvL+esrOWFremavuW6plxyXG4gICAgICAgICAgICB7XHJcbiAgICAgICAgICAgICAgICBtb3ZlU3BlZWQ6IDAsICAgIC8v5rSq5bOw56e75Yqo6YCf5bqmXHJcbiAgICAgICAgICAgICAgICB3YWl0VGltZTogMjAsICAgLy/mtKrls7DlhrLlh7vlgJLorqHml7ZcclxuICAgICAgICAgICAgICAgIGZhc3RQYXRoOiA1ICAgLy/mnIDnn63ot6/lvoRcclxuICAgICAgICAgICAgfSxcclxuICAgICAgICAgICAgLy/nrKzkuIPpmr7luqYgICAgICAgICAgXHJcbiAgICAgICAgICAgIHtcclxuICAgICAgICAgICAgICAgIG1vdmVTcGVlZDogMCwgICAgLy/mtKrls7Dnp7vliqjpgJ/luqZcclxuICAgICAgICAgICAgICAgIHdhaXRUaW1lOiAyMCwgICAvL+a0quWzsOWGsuWHu+WAkuiuoeaXtlxyXG4gICAgICAgICAgICAgICAgZmFzdFBhdGg6IDUgICAvL+acgOefrei3r+W+hFxyXG4gICAgICAgICAgICB9LFxyXG4gICAgICAgICAgICAvL+esrOWFq+mavuW6plxyXG4gICAgICAgICAgICB7XHJcbiAgICAgICAgICAgICAgICBtb3ZlU3BlZWQ6IDAsICAgIC8v5rSq5bOw56e75Yqo6YCf5bqmXHJcbiAgICAgICAgICAgICAgICB3YWl0VGltZTogMjAsICAgLy/mtKrls7DlhrLlh7vlgJLorqHml7ZcclxuICAgICAgICAgICAgICAgIGZhc3RQYXRoOiA1ICAgLy/mnIDnn63ot6/lvoRcclxuICAgICAgICAgICAgfSxcclxuICAgICAgICAgICAgLy/nrKzkuZ3pmr7luqZcclxuICAgICAgICAgICAge1xyXG4gICAgICAgICAgICAgICAgbW92ZVNwZWVkOiAwLCAgICAvL+a0quWzsOenu+WKqOmAn+W6plxyXG4gICAgICAgICAgICAgICAgd2FpdFRpbWU6IDIwLCAgIC8v5rSq5bOw5Yay5Ye75YCS6K6h5pe2XHJcbiAgICAgICAgICAgICAgICBmYXN0UGF0aDogNSAgIC8v5pyA55+t6Lev5b6EXHJcbiAgICAgICAgICAgIH0sXHJcbiAgICAgICAgICAgIC8v56ys5Y2B6Zq+5bqmXHJcbiAgICAgICAgICAgIHtcclxuICAgICAgICAgICAgICAgIG1vdmVTcGVlZDogMCwgICAgLy/mtKrls7Dnp7vliqjpgJ/luqZcclxuICAgICAgICAgICAgICAgIHdhaXRUaW1lOiAyMCwgICAvL+a0quWzsOWGsuWHu+WAkuiuoeaXtlxyXG4gICAgICAgICAgICAgICAgZmFzdFBhdGg6IDUgICAvL+acgOefrei3r+W+hFxyXG4gICAgICAgICAgICB9ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFxyXG4gICAgICAgIF1cclxuICAgICAgICBXZUNoYXQuc2V0U2hhcmUobG9jYXRpb24uaHJlZik7XHJcbiAgICAgICAgaWYoIUF1dGhlbnRpY2F0aW9uKSBzZWxmLkF1dGhlbnRpY2F0aW9uKCk7XHJcbiAgICB9XHJcbiAgICBcclxuICAgIC8v5pWw5o2u5aSH55SoXHJcbiAgICBzdGF0aWMgR01fSU5GT19pbml0KCkge1xyXG4gICAgICAgIHRoaXMuR01fSU5GTyA9IHtcclxuICAgICAgICAgICAgLy8gaXNFbmQ6IGZhbHNlLFxyXG4gICAgICAgICAgICBtZWFuX1RpbWU6IDAsICAgICAgICAgICAgICAgIC8v5bmz5Z2H5pS+566t6YCf5bqmXHJcbiAgICAgICAgICAgIHRvdGFsOiAwLCAgICAgICAgICAgICAgICAgICAgLy/mgLvlhbHlr7nnmoTkuKrmlbBcclxuICAgICAgICAgICAgY3VyclNlZWQ6IDIwMDAwMCwgICAgICAgICAgIC8v55So5LqO6ZqP5py65pWw56eN5a2QXHJcbiAgICAgICAgICAgIGdhbWVJZDogXCIxMDAwMTJcIiwgICAgICAgICAgIC8v5ri45oiPSURcclxuICAgICAgICAgICAgdXNlcklkOiAwLCAgICAgICAgICAgICAgICAgIC8v55So5oi3SURcclxuICAgICAgICAgICAgZ3VpZGU6IGZhbHNlLCAgICAgICAgICAgICAgICAgLy/mmK/lkKbmnInlvJXlr7xcclxuICAgICAgICAgICAgdXJsOiBcImh0dHBzOi8vYXBpLnNwYXJrdXMuY25cIiwvL+iuv+mXruWfn+WQjVxyXG4gICAgICAgICAgICBzdWNjZXNzOiBmYWxzZSwgICAgICAgICAgICAgLy/nlKjmiLfmuLjmiI/miJDlip/kuI7lkKZcclxuICAgICAgICAgICAgbWF0Y2hJZDogbnVsbCwgICAgICAgICAgICAgIC8v55So5LqO5Z+L54K55LiK5Lyg55qESURcclxuICAgICAgICAgICAgY3VzdG9tOiAwLCAgICAgICAgICAgICAgICAgIC8v55So5LqO5rWL6K+V6Lez5YWz5Y2hXHJcbiAgICAgICAgICAgIHJvdW5kOjAsICAgICAgICAgICAgICAgICAgICAvL+WbnuWQiOaVsFxyXG4gICAgICAgICAgICBsZXZlbDogMCwgICAgICAgICAgICAgICAgICAgIC8v5YW35L2T5ri45oiP5YaF6L+b6KGM5Yiw56ys5Yeg5q2lIFxyXG4gICAgICAgICAgICBzdGVwVGltZUxpc3Q6MCwgICAgICAgICAgICAgLy/mlbTlsYDmuLjmiI/nlKjml7bvvIznlLHkuo7mtonlj4rlnLrmma/liIfmjaLvvIzmlbDmja7pnIDopoHkv53nlZlcclxuICAgICAgICAgICAgc3VjY2Vzc0xpc3Q6W10sICAgICAgICAgICAgICAvL+aVtOWxgOiDnOi0n1xyXG4gICAgICAgICAgICBmZW46MCwgICAgICAgICAgICAgICAgICAgICAgLy/lsI/lsYDlvpfliIZcclxuICAgICAgICAgICAgc2NvcmU6MCwgICAgICAgICAgICAgICAgICAgIC8v5oC75b6X5YiGXHJcbiAgICAgICAgICAgIGlnbml0ZUNvdW50OiAwLCAgICAgICAgICAgICAvL+eOqeWutuaAu+iuoeaIkOWKn+eCueeBq+aVsFxyXG4gICAgICAgICAgICBtaW5fU3RlcHM6MCwgICAgICAgICAgICAgICAgLy/mr4/mrKHkuIrkuIDmiormnIDlsI/mraXmlbBcclxuICAgICAgICAgICAgbWluX1RpbWU6MCAgICAgICAgICAgICAgICAgIC8v5q+P5LiA5oqK5LiK5qyh6Led56a75rSq5bOw5Yiw5p2l5pe26Ze0XHJcbiAgICAgICAgfTtcclxuXHJcbiAgICB9XHJcbiAgICBzdGF0aWMgR01fSU5GT19TRVQoa2V5LHZhbHVlKSB7XHJcbiAgICAgICAgdGhpcy5HTV9JTkZPW2tleV0gPSB2YWx1ZTtcclxuICAgIH1cclxuICAgIHN0YXRpYyBDTElDS19pbml0KCkge1xyXG4gICAgICAgIHRoaXMuQ0xJQ0tfREFUQSA9XHJcbiAgICAgICAge1xyXG4gICAgICAgICAgICB0eXBlOiAxLCAgICAgICAgICAgIC8v5LiK5Lyg5pWw5o2u57G75Z6LXHJcbiAgICAgICAgICAgIHN1Y2Nlc3M6IGZhbHNlLCAgICAgLy/mraTlsYDmuLjmiI/mraPnoa7kuI7lkKZcclxuICAgICAgICAgICAgcm91bmQ6IDAsICAgICAgICAgICAvL+WbnuWQiOaVsOi9ruasoVxyXG4gICAgICAgICAgICBnZXRTY29yZTogMCwgICAgICAgIC8v5pys6L2u5b6X5YiG77yM5aSx6LSl5Li6MOWIhlxyXG4gICAgICAgICAgICBjdW11bGF0aXZlU2NvcmU6IDAsIC8v5pys5Ymn5ri45oiP5oC76K6h5b6X5YiGXHJcbiAgICAgICAgICAgIG1hcElkOiBcIlwiLCAgICAgICAgICAvL+WcsOWbvklEXHJcbiAgICAgICAgICAgIGRpZmZpY3VsdHk6IDAsICAgICAgLy/lnLDlm77pmr7luqZcclxuICAgICAgICAgICAgb3B0aW1pemVkU3RlcHM6IDAsICAvL+WFs+WNoeacgOefreatpeaVsFxyXG4gICAgICAgICAgICB1c2VkU3RlcHM6IDAsICAgICAgIC8v546p5a625L+u5bu65oC75q2l5pWwXHJcbiAgICAgICAgICAgIHN0ZXBMaXN0OiBbXSwgICAgICAgLy9V44CBROOAgUzjgIFSICAgWCDmga/lo6QgICBGIOWKoOWbulxyXG4gICAgICAgICAgICBzdGFydFRpbWU6LTEsICAgICAgICAvL+S7jua4uOaIj+W8gOWni+WIsOeOqeWutuaTjeS9nOeahOesrOS4gOatpeaIquatouaXtumXtCAg5Y2V5L2N5q+r56eSXHJcbiAgICAgICAgICAgIHN1Ym1pdFRpbWU6LTEsICAgICAgIC8v5LuO56ys5LiA5q2l5pON5L2c5Yiw5o+Q5Lqk5pe26Ze077yM5aaC5p6c5pyq5o+Q5Lqk5Li6LTEg5Y2V5L2N5q+r56eSXHJcbiAgICAgICAgICAgIGR1cmF0aW9uOjAsICAgICAgICAgLy/muLjmiI/mgLvnlKjml7bvvIjmiKrmraLliLDmj5DkuqTvvIkg5Y2V5L2N5q+r56eSIOWmguaenOacquS7luenu+S6pOWImeS4uuaXtumXtOS4iumZkFxyXG4gICAgICAgICAgICBkcmF3aW5nQmFjazowLCAgICAgIC8v5ZCO6YCA5qyh5pWwXHJcbiAgICAgICAgICAgIGRyYXdpbmdSZXNldDowLCAgICAgLy/muIXnqbrmrKHmlbBcclxuICAgICAgICAgICAgdGltZXI6IDAsICAgICAgICAgICAvL+a1i+ivhOWAkuiuoeaXtuWJqeS9meaXtumXtCDljrvnp5JcclxuICAgICAgICB9XHJcbiAgICB9XHJcblxyXG4gICAgc3RhdGljIENMSUNLX1NFVChrZXksdmFsdWUpIHtcclxuICAgICAgICB0aGlzLkNMSUNLX0RBVEFba2V5XSA9IHZhbHVlO1xyXG4gICAgfVxyXG5cclxuICAgIHN0YXRpYyBMRVZFTF9JTkZPX2luaXQoKSB7XHJcbiAgICAgICAgdGhpcy5USU1FX0lORk8gPSB7XHJcbiAgICAgICAgICAgIHdhdGVyU3BlZWQ6WzAuMywwLjI1LDAuMiwwLjE4LDAuMTYsMC4xNCwwLjEyLDAuMV0sIC8v5rSq5bOw6YCf5bqmXHJcbiAgICAgICAgICAgIHRvdGFsVGltZTogMTIwLCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvL+a4uOaIj+aAu+aXtumVv1xyXG4gICAgICAgICAgICB3YXRlclRpbWU6WzEwLDEyLDE0LDE2LDE4LDIwLDIwLDIwXSwgICAgICAgICAgICAvL+a0quWzsOadpeeahOWAkuiuoeaXtlxyXG4gICAgICAgICAgICByb2FkU3BlZWQ6MC4yLCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvL+ays+mBk+S/ruetkemAn+W6plxyXG4gICAgICAgICAgICBSZWluZm9yY2VTcGVlZDowLjIsICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvL+WKoOWbuuaXtumXtOmAn+W6plxyXG4gICAgICAgICAgICBYaV9Tb2lsU3BlZWQ6MC4yLCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvL+aBr+WjpOaXtumXtOmAn+W6plxyXG4gICAgICAgIH1cclxuICAgICAgICAvKlxyXG4gICAgICAgIG1vdmVTcGVlZDogMCwgICAgLy/mtKrls7Dnp7vliqjpgJ/luqZcclxuICAgICAgICB3YWl0VGltZTogMjAsICAgLy/mtKrls7DlhrLlh7vlgJLorqHml7ZcclxuICAgICAgICBmYXN0UGF0aDogNSAgIC8v5pyA55+t6Lev5b6EXHJcbiAgICAgICAgKi8gXHJcbiAgICAgICAgLy8gdGhpcy5MRVZFTF9JTkZPID0gW1xyXG4gICAgICAgIC8vICAgICBbIFxyXG4gICAgICAgIC8vICAgICAgICAge1xyXG4gICAgICAgIC8vICAgICAgICAgICAgIFwiaWRcIjogMTAwMSxcclxuICAgICAgICAvLyAgICAgICAgICAgICBcIm1hcFwiOiBbXHJcbiAgICAgICAgLy8gICAgICAgICAgICAgICAgIFswLDAsMCwwLDAsMF0sXHJcbiAgICAgICAgLy8gICAgICAgICAgICAgICAgIFswLDAsMCwwLDAsNF0sXHJcbiAgICAgICAgLy8gICAgICAgICAgICAgICAgIFswLDAsMywwLDMsMF0sXHJcbiAgICAgICAgLy8gICAgICAgICAgICAgICAgIFswLDAsMCwwLDAsMF0sXHJcbiAgICAgICAgLy8gICAgICAgICAgICAgICAgIFswLDAsMCwzLDAsMF0sXHJcbiAgICAgICAgLy8gICAgICAgICAgICAgICAgIFswLDAsMCwwLDAsMF0sXHJcbiAgICAgICAgLy8gICAgICAgICAgICAgICAgIFswLDAsMiwwLDAsMF0sXHJcbiAgICAgICAgLy8gICAgICAgICAgICAgICAgIFswLDAsMCwwLDAsMF0sXHJcbiAgICAgICAgLy8gICAgICAgICAgICAgICAgIFsxLDAsMCwwLDAsMF1cclxuICAgICAgICAvLyAgICAgICAgICAgICBdXHJcbiAgICAgICAgLy8gICAgICAgICB9LFxyXG4gICAgICAgIC8vICAgICAgICAge1xyXG4gICAgICAgIC8vICAgICAgICAgICAgIFwiaWRcIjogMTAwMixcclxuICAgICAgICAvLyAgICAgICAgICAgICBcIm1hcFwiOiBbXHJcbiAgICAgICAgLy8gICAgICAgICAgICAgICAgIFswLDAsMCwwLDAsMCwwLDAsNF0sXHJcbiAgICAgICAgLy8gICAgICAgICAgICAgICAgIFswLDAsMCwwLDAsMCwwLDAsMF0sXHJcbiAgICAgICAgLy8gICAgICAgICAgICAgICAgIFswLDAsMCwwLDAsMCwwLDAsMF0sXHJcbiAgICAgICAgLy8gICAgICAgICAgICAgICAgIFswLDAsMCwwLDAsMCwwLDAsMF0sXHJcbiAgICAgICAgLy8gICAgICAgICAgICAgICAgIFswLDAsMCwwLDAsMCwwLDAsMF0sXHJcbiAgICAgICAgLy8gICAgICAgICAgICAgICAgIFswLDEsMCwwLDAsMCwwLDAsMF1cclxuICAgICAgICAvLyAgICAgICAgICAgICBdXHJcbiAgICAgICAgLy8gICAgICAgICB9XHJcbiAgICAgICAgLy8gICAgIF0sXHJcblxyXG4gICAgICBcclxuICAgICAgICAvLyBdXHJcblxyXG4gICAgICAgIHRoaXMuTEVWRUxfSU5GTyA9IFtbe1wiaWRcIjpcIjEwMDFcIixcIm1hcFwiOltbMCw0LDAsMF0sWzAsMCwwLDBdLFswLDAsMCwwXSxbMCwwLDEsMF1dLFwibWluX3N0ZXBzXCI6M30se1wiaWRcIjpcIjEwMDJcIixcIm1hcFwiOltbMSwwLDAsMF0sWzAsMCwwLDRdLFswLDAsMCwwXSxbMCwwLDAsMF1dLFwibWluX3N0ZXBzXCI6M30se1wiaWRcIjpcIjEwMDRcIixcIm1hcFwiOltbMSwwLDAsMF0sWzAsMCwwLDBdLFswLDAsMCwwXSxbMCw0LDAsMF1dLFwibWluX3N0ZXBzXCI6M30se1wiaWRcIjpcIjEwMDZcIixcIm1hcFwiOltbNCwwLDAsMF0sWzAsMCwwLDBdLFswLDAsMCwwXSxbMCwxLDAsMF1dLFwibWluX3N0ZXBzXCI6M30se1wiaWRcIjpcIjEwMDNcIixcIm1hcFwiOltbMSwwLDAsMF0sWzAsMCwwLDBdLFswLDAsMCwwXSxbMCwwLDAsNF1dLFwibWluX3N0ZXBzXCI6NH0se1wiaWRcIjpcIjEwMDVcIixcIm1hcFwiOltbMSwwLDAsMF0sWzAsMCwwLDBdLFswLDAsMCw0XSxbMCwwLDAsMF1dLFwibWluX3N0ZXBzXCI6NH0se1wiaWRcIjpcIjEwMDdcIixcIm1hcFwiOltbMCw0LDAsMF0sWzAsMCwwLDBdLFswLDAsMCwwXSxbMCwwLDAsMV1dLFwibWluX3N0ZXBzXCI6NH0se1wiaWRcIjpcIjEwMDhcIixcIm1hcFwiOltbMCwwLDAsNF0sWzAsMCwwLDBdLFswLDAsMCwwXSxbMSwwLDAsMF1dLFwibWluX3N0ZXBzXCI6NH1dLFt7XCJpZFwiOlwiMjAwMVwiLFwibWFwXCI6W1swLDAsMCwwLDFdLFswLDAsMCwwLDBdLFswLDAsMywwLDNdLFswLDAsMCwwLDBdLFs0LDAsMCwwLDNdXSxcIm1pbl9zdGVwc1wiOjR9LHtcImlkXCI6XCIyMDAyXCIsXCJtYXBcIjpbWzAsMSwwLDAsMF0sWzAsMCwwLDAsMF0sWzMsMywwLDAsNF0sWzAsMCwwLDAsMF0sWzMsMCwwLDAsMF1dLFwibWluX3N0ZXBzXCI6NH0se1wiaWRcIjpcIjIwMDlcIixcIm1hcFwiOltbMCwzLDAsMCw0XSxbMywwLDAsMCwwXSxbMCwwLDAsMCwwXSxbMSwwLDAsMCwwXSxbMCwzLDAsMCwwXV0sXCJtaW5fc3RlcHNcIjo0fSx7XCJpZFwiOlwiMjAxMFwiLFwibWFwXCI6W1swLDAsMCwwLDFdLFswLDAsMCwwLDBdLFswLDAsMCwwLDBdLFswLDMsMCwzLDBdLFs0LDAsMywwLDBdXSxcIm1pbl9zdGVwc1wiOjR9LHtcImlkXCI6XCIyMDExXCIsXCJtYXBcIjpbWzQsMywxLDAsMF0sWzAsMCwwLDAsM10sWzAsMCwwLDMsMF0sWzAsMCwwLDAsMF0sWzAsMCwwLDAsMF1dLFwibWluX3N0ZXBzXCI6NH0se1wiaWRcIjpcIjIwMjFcIixcIm1hcFwiOltbMCwwLDAsMSwwXSxbMCwwLDMsMCwwXSxbMCwwLDAsMywzXSxbMCwwLDAsMCwwXSxbMCw0LDAsMCwwXV0sXCJtaW5fc3RlcHNcIjo0fSx7XCJpZFwiOlwiMjAwNFwiLFwibWFwXCI6W1sxLDAsMCwwLDBdLFswLDAsMCwwLDNdLFszLDAsMCwwLDBdLFswLDAsMCwwLDBdLFswLDAsMCwwLDRdXSxcIm1pbl9zdGVwc1wiOjV9LHtcImlkXCI6XCIyMDEyXCIsXCJtYXBcIjpbWzAsMywwLDQsMF0sWzAsMCwwLDMsMF0sWzEsMCwzLDAsMF0sWzAsMCwwLDAsMF0sWzAsMCwwLDAsMF1dLFwibWluX3N0ZXBzXCI6NX0se1wiaWRcIjpcIjIwMTNcIixcIm1hcFwiOltbMCwwLDAsMCwwXSxbMSwwLDAsMCwwXSxbMCwwLDAsMywzXSxbMywwLDAsMCwwXSxbMCwwLDAsNCwwXV0sXCJtaW5fc3RlcHNcIjo1fSx7XCJpZFwiOlwiMjAxNFwiLFwibWFwXCI6W1szLDAsMSwwLDBdLFswLDMsMCwwLDBdLFswLDAsMCwwLDBdLFs0LDAsMCwzLDBdLFswLDAsMCwwLDBdXSxcIm1pbl9zdGVwc1wiOjV9LHtcImlkXCI6XCIyMDE1XCIsXCJtYXBcIjpbWzMsMCwwLDAsMV0sWzMsMCwwLDAsMF0sWzAsMCwwLDAsMF0sWzQsMywwLDAsMF0sWzMsMCwwLDAsMF1dLFwibWluX3N0ZXBzXCI6NX0se1wiaWRcIjpcIjIwMTZcIixcIm1hcFwiOltbMCwwLDAsMCwwXSxbMSwwLDMsMCwwXSxbMywwLDAsMCwzXSxbMCwwLDAsMCwwXSxbMCwwLDAsMCw0XV0sXCJtaW5fc3RlcHNcIjo1fSx7XCJpZFwiOlwiMjAxN1wiLFwibWFwXCI6W1swLDMsMCwwLDBdLFs0LDAsMCwwLDBdLFswLDAsMCwwLDBdLFszLDAsMywwLDBdLFszLDAsMCwwLDFdXSxcIm1pbl9zdGVwc1wiOjV9LHtcImlkXCI6XCIyMDE4XCIsXCJtYXBcIjpbWzAsMyw0LDMsM10sWzAsMCwwLDAsMF0sWzAsMCwwLDAsMF0sWzAsMCwwLDAsMF0sWzAsMCwzLDAsMV1dLFwibWluX3N0ZXBzXCI6NX0se1wiaWRcIjpcIjIwMTlcIixcIm1hcFwiOltbMywwLDAsNCwwXSxbMCwwLDAsMywwXSxbMCwwLDAsMCwwXSxbMCwwLDAsMCwwXSxbMSwwLDMsMCwwXV0sXCJtaW5fc3RlcHNcIjo1fSx7XCJpZFwiOlwiMjAyMFwiLFwibWFwXCI6W1s0LDAsMywwLDFdLFswLDAsMCwwLDNdLFswLDAsMCwwLDBdLFswLDAsMCwwLDBdLFswLDAsMywwLDBdXSxcIm1pbl9zdGVwc1wiOjV9LHtcImlkXCI6XCIyMDAzXCIsXCJtYXBcIjpbWzEsMCwwLDMsMF0sWzAsMCwzLDAsMF0sWzAsMCwwLDAsMF0sWzAsMCwwLDAsMF0sWzAsMywwLDQsMF1dLFwibWluX3N0ZXBzXCI6Nn0se1wiaWRcIjpcIjIwMDVcIixcIm1hcFwiOltbMCwzLDAsMCwwXSxbMSwwLDAsMCwwXSxbMCwwLDAsMywwXSxbMCwwLDAsMCwwXSxbMCwzLDAsNCwwXV0sXCJtaW5fc3RlcHNcIjo2fSx7XCJpZFwiOlwiMjAwNlwiLFwibWFwXCI6W1swLDEsMCwwLDBdLFswLDAsMCwwLDNdLFswLDAsMCwwLDNdLFswLDAsMCwwLDBdLFswLDAsMCwzLDRdXSxcIm1pbl9zdGVwc1wiOjZ9LHtcImlkXCI6XCIyMDA3XCIsXCJtYXBcIjpbWzMsMCwwLDAsMV0sWzAsMCwwLDAsM10sWzAsMCwwLDAsMF0sWzAsMCwwLDAsMF0sWzQsMywwLDAsMF1dLFwibWluX3N0ZXBzXCI6Nn0se1wiaWRcIjpcIjIwMDhcIixcIm1hcFwiOltbMyw0LDAsMCwwXSxbMCwwLDAsMCwzXSxbMCwwLDAsMywxXSxbMCwwLDAsMCwwXSxbMCwwLDAsMCwwXV0sXCJtaW5fc3RlcHNcIjo2fSx7XCJpZFwiOlwiMjAyMlwiLFwibWFwXCI6W1swLDAsMCwwLDBdLFsxLDMsMCwwLDNdLFswLDAsMCwwLDBdLFswLDAsMCwwLDBdLFswLDAsMyw0LDBdXSxcIm1pbl9zdGVwc1wiOjZ9XSxbe1wiaWRcIjpcIjMwMDFcIixcIm1hcFwiOltbMywwLDIsMyw0XSxbMCwwLDAsMiwyXSxbMiwzLDMsMywzXSxbMCwwLDIsMCwyXSxbMSwwLDIsMywwXV0sXCJtaW5fc3RlcHNcIjo1fSx7XCJpZFwiOlwiMzAwMlwiLFwibWFwXCI6W1szLDAsMywyLDBdLFsxLDIsMCwzLDJdLFsyLDMsMCwwLDRdLFsyLDAsMiwyLDBdLFszLDMsMCwzLDBdXSxcIm1pbl9zdGVwc1wiOjV9LHtcImlkXCI6XCIzMDAzXCIsXCJtYXBcIjpbWzAsMiwzLDMsNF0sWzIsMiwwLDAsMF0sWzEsMywzLDMsMl0sWzIsMiwzLDIsM10sWzAsMCwwLDAsMF1dLFwibWluX3N0ZXBzXCI6NX0se1wiaWRcIjpcIjMwMDRcIixcIm1hcFwiOltbMywyLDIsMSwwXSxbMCwwLDMsMiwyXSxbMywwLDIsMywwXSxbMywwLDAsMywzXSxbMCwyLDQsMCwyXV0sXCJtaW5fc3RlcHNcIjo1fSx7XCJpZFwiOlwiMzAwNVwiLFwibWFwXCI6W1szLDAsMywwLDBdLFsyLDMsMCwwLDFdLFswLDIsMiwyLDNdLFs0LDIsMCwwLDJdLFszLDMsMCwzLDJdXSxcIm1pbl9zdGVwc1wiOjV9LHtcImlkXCI6XCIzMDA4XCIsXCJtYXBcIjpbWzMsMywzLDAsMV0sWzAsMCwwLDAsM10sWzIsMiwzLDIsMl0sWzAsMiwzLDAsM10sWzQsMiwyLDAsMF1dLFwibWluX3N0ZXBzXCI6NX0se1wiaWRcIjpcIjMwMDlcIixcIm1hcFwiOltbMSwwLDMsMywyXSxbMywwLDIsMCwwXSxbMCwzLDMsMiw0XSxbMCwwLDMsMCwyXSxbMiwyLDIsMCwzXV0sXCJtaW5fc3RlcHNcIjo1fSx7XCJpZFwiOlwiMzAxMFwiLFwibWFwXCI6W1szLDAsMiwwLDRdLFsxLDIsMywwLDNdLFsyLDAsMywyLDBdLFswLDMsMCwwLDNdLFsyLDAsMiwzLDJdXSxcIm1pbl9zdGVwc1wiOjV9LHtcImlkXCI6XCIzMDA2XCIsXCJtYXBcIjpbWzIsMCwyLDIsMF0sWzEsMiwzLDAsMF0sWzMsMywwLDMsMl0sWzMsMCwwLDMsMl0sWzIsMCwzLDAsNF1dLFwibWluX3N0ZXBzXCI6Nn0se1wiaWRcIjpcIjMwMDdcIixcIm1hcFwiOltbMSwyLDAsMywzXSxbMiwyLDAsMiwwXSxbMiwzLDIsMCwzXSxbMCwzLDIsMCw0XSxbMCwwLDMsMCwzXV0sXCJtaW5fc3RlcHNcIjo2fSx7XCJpZFwiOlwiMzAxMVwiLFwibWFwXCI6W1syLDMsMCwxLDBdLFswLDAsMCwwLDBdLFszLDAsMCwwLDNdLFswLDIsMCwzLDJdLFs0LDMsMywyLDJdXSxcIm1pbl9zdGVwc1wiOjZ9LHtcImlkXCI6XCIzMDEyXCIsXCJtYXBcIjpbWzAsMiwxLDAsM10sWzAsMywwLDAsM10sWzMsMiwzLDIsMF0sWzAsMiwwLDMsMF0sWzIsMCwwLDAsNF1dLFwibWluX3N0ZXBzXCI6Nn0se1wiaWRcIjpcIjMwMTNcIixcIm1hcFwiOltbMCwyLDEsMCwzXSxbMCwzLDAsMCwzXSxbMywyLDMsMiwwXSxbMCwyLDAsMywwXSxbMiwwLDAsMCw0XV0sXCJtaW5fc3RlcHNcIjo2fSx7XCJpZFwiOlwiMzAxNFwiLFwibWFwXCI6W1sxLDAsMywzLDRdLFsyLDMsMCwzLDBdLFswLDIsMiwwLDBdLFszLDMsMCwwLDJdLFsyLDAsMCwwLDBdXSxcIm1pbl9zdGVwc1wiOjZ9LHtcImlkXCI6XCIzMDE1XCIsXCJtYXBcIjpbWzIsMywwLDAsMF0sWzAsMCwyLDMsMF0sWzQsMCwzLDAsM10sWzIsMCwyLDIsM10sWzAsMywwLDAsMV1dLFwibWluX3N0ZXBzXCI6Nn0se1wiaWRcIjpcIjMwMTZcIixcIm1hcFwiOltbMywwLDIsMCwyXSxbMiwwLDAsMCwzXSxbMCwyLDMsMCwxXSxbNCwwLDAsMywwXSxbMywzLDAsMCwyXV0sXCJtaW5fc3RlcHNcIjo2fSx7XCJpZFwiOlwiMzAxN1wiLFwibWFwXCI6W1swLDMsMCwwLDJdLFszLDAsMiwwLDRdLFsxLDMsMywwLDBdLFsyLDAsMCwyLDBdLFszLDIsMywwLDBdXSxcIm1pbl9zdGVwc1wiOjZ9LHtcImlkXCI6XCIzMDE4XCIsXCJtYXBcIjpbWzQsMiwwLDAsMF0sWzAsMCwwLDMsMl0sWzAsMywwLDAsM10sWzMsMiwzLDIsMF0sWzMsMCwyLDEsMF1dLFwibWluX3N0ZXBzXCI6N30se1wiaWRcIjpcIjMwMTlcIixcIm1hcFwiOltbMCw0LDAsMywyXSxbMCwyLDAsMCwwXSxbMywwLDMsMCwyXSxbMywzLDIsMywxXSxbMiwwLDAsMCwwXV0sXCJtaW5fc3RlcHNcIjo3fSx7XCJpZFwiOlwiMzAyMFwiLFwibWFwXCI6W1swLDIsMCwxLDBdLFswLDAsMCwzLDJdLFszLDAsMywzLDNdLFszLDAsMCwwLDJdLFswLDIsMiw0LDBdXSxcIm1pbl9zdGVwc1wiOjd9LHtcImlkXCI6XCIzMDIxXCIsXCJtYXBcIjpbWzMsMiwwLDIsMV0sWzMsMiwwLDMsMl0sWzMsMCwwLDIsM10sWzAsMCwwLDAsNF0sWzAsMCwzLDAsMF1dLFwibWluX3N0ZXBzXCI6N30se1wiaWRcIjpcIjMwMjJcIixcIm1hcFwiOltbMiwwLDIsMiwyXSxbMCwwLDMsMCwwXSxbMywwLDMsMCwwXSxbMSwwLDMsMiw0XSxbMCwwLDMsMywwXV0sXCJtaW5fc3RlcHNcIjo3fSx7XCJpZFwiOlwiMzAyM1wiLFwibWFwXCI6W1sxLDIsMCwyLDBdLFszLDMsMywwLDBdLFswLDIsMywyLDBdLFs0LDAsMCwwLDNdLFswLDAsMiwwLDNdXSxcIm1pbl9zdGVwc1wiOjd9LHtcImlkXCI6XCIzMDI0XCIsXCJtYXBcIjpbWzEsMCwzLDAsM10sWzIsMiwwLDAsMF0sWzAsMywwLDMsMF0sWzIsMCwzLDIsMF0sWzIsMywwLDQsMF1dLFwibWluX3N0ZXBzXCI6N31dLFt7XCJpZFwiOlwiNDAwMVwiLFwibWFwXCI6W1sxLDMsMCwwLDIsMF0sWzAsMywwLDAsMiwwXSxbMCwwLDIsMCwzLDRdLFswLDAsMCwyLDAsMF0sWzMsMywwLDAsMiwwLDNdLFswLDAsMiwyLDIsMF1dLFwibWluX3N0ZXBzXCI6NX0se1wiaWRcIjpcIjQwMDJcIixcIm1hcFwiOltbMCwyLDIsMiwyLDBdLFsxLDAsMCwwLDIsMF0sWzAsMCwwLDAsMCwzXSxbMCwwLDAsMCwyLDBdLFswLDMsMywwLDIsMF0sWzMsMCwwLDQsMiwwXV0sXCJtaW5fc3RlcHNcIjo1fSx7XCJpZFwiOlwiNDAwM1wiLFwibWFwXCI6W1swLDAsMCwwLDAsMF0sWzIsMCwwLDAsMCwyXSxbMCwzLDMsMywyLDRdLFswLDMsMCwzLDIsMF0sWzAsMCwwLDAsMCwzXSxbMCwwLDIsMywwLDFdXSxcIm1pbl9zdGVwc1wiOjZ9LHtcImlkXCI6XCI0MDA0XCIsXCJtYXBcIjpbWzIsMCwzLDAsMCw0XSxbMCwyLDMsMywwLDBdLFswLDMsMCwwLDAsMF0sWzMsMCwwLDAsMiwyXSxbMywwLDAsMiwwLDBdLFsxLDAsMCwzLDAsMF1dLFwibWluX3N0ZXBzXCI6Nn0se1wiaWRcIjpcIjQwMDZcIixcIm1hcFwiOltbNCwzLDAsMywwLDBdLFswLDIsMCwzLDAsMF0sWzMsMCwwLDAsMywyXSxbMCwzLDAsMCwyLDFdLFswLDAsMiwwLDAsMF0sWzAsMCwwLDAsMiwzXV0sXCJtaW5fc3RlcHNcIjo3fSx7XCJpZFwiOlwiNDAwN1wiLFwibWFwXCI6W1s0LDIsMiwwLDIsMF0sWzAsMywwLDIsMCwwXSxbMCwyLDMsMCwzLDBdLFswLDAsMywwLDAsM10sWzAsMCwzLDAsMCwwXSxbMCwwLDAsMywwLDFdXSxcIm1pbl9zdGVwc1wiOjd9LHtcImlkXCI6XCI0MDE0XCIsXCJtYXBcIjpbWzAsMCwzLDAsMiwyXSxbMCwyLDMsMCwwLDFdLFswLDMsMywwLDAsM10sWzAsMiwwLDAsMCwwXSxbMCwwLDAsMywzLDBdLFsyLDAsNCwwLDAsMF1dLFwibWluX3N0ZXBzXCI6N30se1wiaWRcIjpcIjQwMTVcIixcIm1hcFwiOltbMiwwLDAsMCwwLDBdLFswLDAsMCwwLDMsMV0sWzMsMCwyLDAsMCwzXSxbMiwwLDAsMiwzLDBdLFszLDAsMywwLDAsMF0sWzIsMCwwLDMsNCwwXV0sXCJtaW5fc3RlcHNcIjo3fSx7XCJpZFwiOlwiNDAwNVwiLFwibWFwXCI6W1sxLDAsMCwwLDAsMl0sWzAsMCwwLDIsMCwwXSxbMywyLDAsMCwwLDBdLFswLDMsMCwwLDIsM10sWzAsMCwzLDMsMCwwXSxbMywwLDAsMiwzLDRdXSxcIm1pbl9zdGVwc1wiOjh9LHtcImlkXCI6XCI0MDA4XCIsXCJtYXBcIjpbWzAsMCwyLDMsMCwwXSxbMCwzLDAsMiwzLDJdLFszLDAsMCwwLDAsMF0sWzAsMywwLDAsMyw0XSxbMCwwLDAsMCwwLDNdLFswLDIsMCwyLDAsMV1dLFwibWluX3N0ZXBzXCI6OH0se1wiaWRcIjpcIjQwMDlcIixcIm1hcFwiOltbMCwzLDMsMCwwLDRdLFsyLDAsMCwzLDAsMF0sWzIsMCwwLDMsMCwwXSxbMSwwLDAsMCwzLDBdLFswLDAsMiwzLDAsMl0sWzIsMywwLDAsMCwwXV0sXCJtaW5fc3RlcHNcIjo4fSx7XCJpZFwiOlwiNDAxMFwiLFwibWFwXCI6W1swLDAsMSwzLDIsMF0sWzMsMCwwLDAsMywyXSxbMywwLDAsMCwwLDNdLFsyLDAsMCwwLDAsMF0sWzAsMiwwLDAsMywwXSxbMCwyLDAsMyw0LDBdXSxcIm1pbl9zdGVwc1wiOjh9LHtcImlkXCI6XCI0MDExXCIsXCJtYXBcIjpbWzEsMCwwLDAsMCwwXSxbMywzLDAsMCwwLDJdLFswLDAsMCwzLDAsMl0sWzIsMCwzLDAsMywwXSxbMiwwLDMsMCwwLDNdLFs0LDAsMCwwLDAsMl1dLFwibWluX3N0ZXBzXCI6OH0se1wiaWRcIjpcIjQwMTZcIixcIm1hcFwiOltbMCwwLDMsMCwwLDFdLFsyLDMsMCwwLDMsMF0sWzIsMCwwLDAsMCwyXSxbMCwzLDAsMCwwLDBdLFswLDMsMCwwLDIsMF0sWzAsNCwzLDAsMiwzXV0sXCJtaW5fc3RlcHNcIjo4fSx7XCJpZFwiOlwiNDAxN1wiLFwibWFwXCI6W1sxLDIsMywwLDMsMl0sWzMsMCwwLDAsMCwwXSxbMCwwLDAsMCwwLDNdLFszLDMsMCwzLDIsMF0sWzAsMiwwLDAsMCwwXSxbNCwwLDAsMiwwLDBdXSxcIm1pbl9zdGVwc1wiOjh9LHtcImlkXCI6XCI0MDE4XCIsXCJtYXBcIjpbWzAsMCwxLDAsMiwwXSxbMCwwLDAsMCwwLDBdLFswLDAsMywyLDMsMF0sWzMsMCwwLDMsMCwwXSxbMiwzLDAsMiwwLDBdLFs0LDIsMCwzLDMsMF1dLFwibWluX3N0ZXBzXCI6OH0se1wiaWRcIjpcIjQwMTJcIixcIm1hcFwiOltbMiwyLDMsMCwyLDBdLFswLDMsMCwwLDAsMF0sWzAsMCwwLDAsMyw0XSxbMCwyLDAsMywwLDNdLFswLDAsMCwwLDAsMF0sWzAsMCwyLDMsMywxXV0sXCJtaW5fc3RlcHNcIjo5fSx7XCJpZFwiOlwiNDAxM1wiLFwibWFwXCI6W1swLDAsMCwwLDMsMF0sWzQsMiwwLDMsMCwwXSxbMywyLDAsMCwwLDBdLFsxLDMsMCwzLDAsMF0sWzIsMCwwLDIsMCwwXSxbMywwLDAsMywyLDBdXSxcIm1pbl9zdGVwc1wiOjl9LHtcImlkXCI6XCI0MDE5XCIsXCJtYXBcIjpbWzMsNCwwLDAsMCwyXSxbMywyLDAsMCwyLDBdLFswLDMsMCwzLDAsMl0sWzAsMCwzLDAsMCwwXSxbMCwwLDAsMCwzLDBdLFsxLDMsMCwwLDAsMl1dLFwibWluX3N0ZXBzXCI6OX0se1wiaWRcIjpcIjQwMjBcIixcIm1hcFwiOltbMCwyLDAsMSwwLDBdLFsyLDMsMCwwLDIsMF0sWzMsMCwwLDAsMCwwXSxbMCwzLDMsMCwwLDNdLFsyLDAsMCwzLDAsMF0sWzQsMywwLDAsMCwyXV0sXCJtaW5fc3RlcHNcIjo5fV0sW3tcImlkXCI6XCI1MDAxXCIsXCJtYXBcIjpbWzEsMCwwLDAsMCwwXSxbMCwyLDIsMywwLDJdLFszLDIsMCwwLDMsM10sWzAsMCwwLDAsMCw0XSxbMCwwLDAsMiwyLDBdLFszLDAsMiwyLDAsMF1dLFwibWluX3N0ZXBzXCI6N30se1wiaWRcIjpcIjUwMDJcIixcIm1hcFwiOltbMCwwLDAsMCw0LDNdLFszLDIsMywwLDAsMF0sWzAsMiwwLDIsMywwXSxbMiwyLDAsMCwwLDBdLFszLDIsMCwwLDAsMF0sWzMsMCwwLDIsMCwzXSxbMiwwLDAsMywwLDFdXSxcIm1pbl9zdGVwc1wiOjd9LHtcImlkXCI6XCI1MDE1XCIsXCJtYXBcIjpbWzEsMiwzLDIsMiwwXSxbMywwLDAsMCwwLDNdLFswLDAsMCwwLDAsMF0sWzAsMCwwLDAsMCwyXSxbMCwzLDAsMywyLDBdLFswLDAsMCwwLDAsMF0sWzAsMiwwLDQsMCwzXV0sXCJtaW5fc3RlcHNcIjo3fSx7XCJpZFwiOlwiNTAxNlwiLFwibWFwXCI6W1szLDAsMSwwLDAsMF0sWzAsMiwwLDIsMCwwXSxbMCwyLDAsMiwwLDNdLFswLDAsMCwwLDAsMF0sWzAsMiwwLDAsMywzXSxbMCwwLDAsMCwyLDNdLFswLDAsMCwzLDAsNF1dLFwibWluX3N0ZXBzXCI6N30se1wiaWRcIjpcIjUwMDRcIixcIm1hcFwiOltbMCwzLDMsMiwzLDBdLFsyLDAsMiwwLDMsMF0sWzEsMCwzLDIsMCwwXSxbMywzLDAsMCwwLDJdLFswLDAsMCwwLDAsMF0sWzAsMiwwLDAsMCwwXSxbMCwwLDAsMyw0LDBdXSxcIm1pbl9zdGVwc1wiOjh9LHtcImlkXCI6XCI1MDA1XCIsXCJtYXBcIjpbWzAsMCwwLDAsMCwxXSxbMCwwLDIsMCwyLDBdLFszLDIsMiwwLDAsMF0sWzMsMCwwLDMsMCwwXSxbMywzLDAsMCwwLDNdLFs0LDMsMCwwLDAsMF0sWzIsMCwwLDIsMywwXV0sXCJtaW5fc3RlcHNcIjo4fSx7XCJpZFwiOlwiNTAwOFwiLFwibWFwXCI6W1szLDAsMywyLDAsNF0sWzAsMywwLDIsMCwyXSxbMCwwLDMsMCwwLDBdLFsyLDAsMCwyLDAsMF0sWzAsMCwzLDAsMCwwXSxbMCwwLDAsMywwLDBdLFszLDIsMSwzLDAsMF1dLFwibWluX3N0ZXBzXCI6OH0se1wiaWRcIjpcIjUwMTJcIixcIm1hcFwiOltbMiwzLDAsMiwwLDFdLFsyLDAsMCwwLDAsMF0sWzIsMCwwLDMsMCwyXSxbMywwLDMsMCwwLDNdLFswLDAsMCwwLDMsM10sWzMsMCwwLDAsMiwwXSxbMCwwLDAsMCwwLDRdXSxcIm1pbl9zdGVwc1wiOjh9LHtcImlkXCI6XCI1MDEzXCIsXCJtYXBcIjpbWzAsMCwyLDEsMiwwXSxbMCwzLDAsMCwwLDBdLFsyLDAsMCwwLDAsMF0sWzAsMCwwLDMsMCwwXSxbMywwLDAsMiwzLDBdLFszLDMsMywyLDAsMl0sWzAsMCw0LDAsMCwzXV0sXCJtaW5fc3RlcHNcIjo4fSx7XCJpZFwiOlwiNTAxOFwiLFwibWFwXCI6W1swLDIsMCwxLDAsMF0sWzIsMCwwLDMsMCwwXSxbMCwwLDAsMCwwLDBdLFszLDAsMCwwLDAsMF0sWzIsMywwLDIsMywzXSxbMiwwLDAsMCwwLDJdLFs0LDMsMCwwLDAsMF1dLFwibWluX3N0ZXBzXCI6OH0se1wiaWRcIjpcIjUwMTlcIixcIm1hcFwiOltbMSwzLDAsMiwzLDBdLFswLDAsMCwwLDAsMl0sWzAsMCwwLDAsMCwwXSxbMCwwLDIsMCwwLDJdLFszLDMsMCwzLDAsMl0sWzQsMCwyLDAsMCwwXSxbMCwwLDAsMywwLDBdXSxcIm1pbl9zdGVwc1wiOjh9LHtcImlkXCI6XCI1MDI5XCIsXCJtYXBcIjpbWzQsMywwLDAsMCwwXSxbMiwwLDAsMywwLDJdLFszLDIsMCwzLDMsMF0sWzIsMCwwLDMsMCwwXSxbMCwyLDAsMCwwLDBdLFsyLDAsMCwwLDAsMF0sWzMsMCwzLDMsMCwxXV0sXCJtaW5fc3RlcHNcIjo4fSx7XCJpZFwiOlwiNTAzMFwiLFwibWFwXCI6W1swLDAsMCwwLDAsMF0sWzAsMCwyLDMsMiwwXSxbMCwzLDAsMCwwLDBdLFsyLDIsMCwzLDAsMF0sWzAsMywzLDAsMyw0XSxbMCwwLDIsMCwwLDNdLFszLDEsMCwzLDAsMl1dLFwibWluX3N0ZXBzXCI6OH0se1wiaWRcIjpcIjUwMDZcIixcIm1hcFwiOltbMCwzLDAsMCwwLDBdLFsxLDAsMCwwLDMsMF0sWzAsMCwzLDIsMCwwXSxbMywwLDAsMiwyLDBdLFswLDMsMCwzLDMsMF0sWzAsMiwwLDAsMCwwXSxbNCwwLDMsMCwyLDJdXSxcIm1pbl9zdGVwc1wiOjl9LHtcImlkXCI6XCI1MDA3XCIsXCJtYXBcIjpbWzAsMiwwLDMsMCwwXSxbMSwyLDAsMiwwLDBdLFswLDMsMCwzLDAsMF0sWzMsMCwwLDAsMCwzXSxbMCwwLDMsMiwwLDJdLFs0LDAsMCwzLDAsM10sWzAsMiwwLDAsMCwwXV0sXCJtaW5fc3RlcHNcIjo5fSx7XCJpZFwiOlwiNTAxMFwiLFwibWFwXCI6W1swLDMsMSwwLDAsMF0sWzAsMiwzLDMsMCwwXSxbMCwyLDAsMywwLDBdLFswLDIsMCwyLDAsM10sWzAsMiwwLDAsMywwXSxbMCwzLDAsMCwwLDBdLFswLDIsNCwwLDAsM11dLFwibWluX3N0ZXBzXCI6OX0se1wiaWRcIjpcIjUwMTFcIixcIm1hcFwiOltbMSwwLDMsMCwzLDBdLFswLDIsMCwwLDAsMF0sWzIsMCwyLDAsMywwXSxbMCwzLDIsMCwwLDBdLFszLDAsMCwwLDAsMl0sWzQsMCwzLDAsMCwwXSxbMywyLDAsMCwwLDNdXSxcIm1pbl9zdGVwc1wiOjl9LHtcImlkXCI6XCI1MDE0XCIsXCJtYXBcIjpbWzAsMSwwLDAsMCwwXSxbMiwwLDIsMCwwLDJdLFsyLDMsMCwzLDAsMF0sWzAsMywwLDAsMCwzXSxbMCwwLDAsMiwwLDNdLFswLDAsMywwLDMsMF0sWzIsMCwzLDAsMCw0XV0sXCJtaW5fc3RlcHNcIjo5fSx7XCJpZFwiOlwiNTAxN1wiLFwibWFwXCI6W1swLDAsMCwwLDAsMF0sWzEsMiwzLDAsMCwyXSxbMCwwLDIsMCwwLDJdLFszLDAsMiwzLDAsMF0sWzAsMywzLDAsMiwwXSxbMCwwLDAsMCwwLDBdLFs0LDAsMywwLDAsMF1dLFwibWluX3N0ZXBzXCI6OX0se1wiaWRcIjpcIjUwMjhcIixcIm1hcFwiOltbMCwwLDEsMCwwLDNdLFszLDAsMCwwLDMsNF0sWzAsMiwwLDIsMywyXSxbMCwzLDIsMywzLDBdLFswLDAsMCwzLDAsMF0sWzAsMCwzLDAsMCwyXSxbMCwwLDIsMCwwLDBdXSxcIm1pbl9zdGVwc1wiOjl9LHtcImlkXCI6XCI1MDAzXCIsXCJtYXBcIjpbWzAsMCwxLDMsMCwyXSxbMCwzLDMsMCwwLDBdLFswLDAsMywyLDAsMF0sWzAsMCwzLDAsMCwwXSxbMywwLDAsMCwyLDJdLFswLDAsMiwzLDAsMF0sWzAsMiwwLDMsMCw0XV0sXCJtaW5fc3RlcHNcIjoxMH0se1wiaWRcIjpcIjUwMDlcIixcIm1hcFwiOltbMCwyLDAsMCwwLDNdLFswLDAsMywzLDMsNF0sWzAsMywwLDAsMCwwXSxbMCwzLDIsMCwwLDBdLFsxLDIsMywyLDAsM10sWzIsMCwwLDAsMCwwXSxbMCwwLDAsMCwyLDBdXSxcIm1pbl9zdGVwc1wiOjEwfSx7XCJpZFwiOlwiNTAyMVwiLFwibWFwXCI6W1swLDAsMCwwLDAsMF0sWzAsMCwwLDAsMywwXSxbMywwLDAsMCwyLDBdLFsyLDAsMCwyLDMsMF0sWzAsMywwLDAsMCwyXSxbMCwyLDMsMCwwLDBdLFs0LDMsMSwyLDAsMF1dLFwibWluX3N0ZXBzXCI6MTB9LHtcImlkXCI6XCI1MDIyXCIsXCJtYXBcIjpbWzQsMCwzLDAsMCwyXSxbMCwwLDAsMCwyLDBdLFswLDMsMCwyLDMsMl0sWzMsMCwzLDAsMywwXSxbMCwyLDAsMCwwLDBdLFswLDMsMCwzLDAsM10sWzAsMiwxLDAsMCwwXV0sXCJtaW5fc3RlcHNcIjoxMH0se1wiaWRcIjpcIjUwMjNcIixcIm1hcFwiOltbMywwLDAsMywzLDBdLFswLDAsMywwLDAsM10sWzIsMywwLDAsMCwwXSxbMiwyLDAsMCwyLDBdLFswLDMsMCwwLDAsMF0sWzIsMCwzLDAsMCw0XSxbMCwxLDMsMCwyLDBdXSxcIm1pbl9zdGVwc1wiOjEwfSx7XCJpZFwiOlwiNTAyNFwiLFwibWFwXCI6W1szLDAsMiwzLDAsMF0sWzQsMiwwLDAsMCwzXSxbMiwyLDAsMCwwLDBdLFswLDAsMywwLDAsMl0sWzAsMCwwLDMsMCwzXSxbMCwzLDMsMCwyLDBdLFszLDAsMSwwLDAsMF1dLFwibWluX3N0ZXBzXCI6MTB9LHtcImlkXCI6XCI1MDIwXCIsXCJtYXBcIjpbWzAsMCwwLDIsMCwwXSxbMCwzLDAsMCwwLDNdLFswLDIsMCwwLDMsMF0sWzIsMCwwLDIsMyw0XSxbMCwyLDMsMCwwLDBdLFswLDAsMCwzLDAsMF0sWzMsMiwwLDEsMywwXV0sXCJtaW5fc3RlcHNcIjoxMX0se1wiaWRcIjpcIjUwMjVcIixcIm1hcFwiOltbMSwwLDAsMCwzLDBdLFswLDAsMCwzLDMsMl0sWzMsMywyLDAsMCwyXSxbMCwwLDAsMCwwLDNdLFswLDAsMiwwLDIsMF0sWzAsMCwwLDAsMyw0XSxbMCwzLDIsMywwLDBdXSxcIm1pbl9zdGVwc1wiOjExfSx7XCJpZFwiOlwiNTAyNlwiLFwibWFwXCI6W1swLDMsMiwwLDAsMF0sWzAsMCwyLDMsMywwXSxbMiwwLDAsMiwwLDBdLFszLDIsMCwwLDMsMl0sWzAsMCwwLDMsMywxXSxbMCwwLDMsMCwwLDNdLFswLDAsMCwwLDAsNF1dLFwibWluX3N0ZXBzXCI6MTF9LHtcImlkXCI6XCI1MDI3XCIsXCJtYXBcIjpbWzAsMCwzLDAsMCwxXSxbMCwwLDAsMCwwLDNdLFsyLDAsMiwwLDIsM10sWzAsMCwzLDMsMCwzXSxbMCwwLDAsMiwzLDBdLFswLDAsMCwyLDAsM10sWzIsMCwzLDAsNCwwXV0sXCJtaW5fc3RlcHNcIjoxMX1dLFt7XCJpZFwiOlwiNjAyOFwiLFwibWFwXCI6W1swLDAsMywwLDAsMl0sWzEsMywyLDIsMCwzXSxbMCwwLDMsMCwwLDJdLFswLDAsMCwwLDAsMF0sWzAsMCwyLDAsMywzXSxbMywzLDMsMCwwLDBdLFs0LDAsMCwwLDAsMl1dLFwibWluX3N0ZXBzXCI6OH0se1wiaWRcIjpcIjYwMjlcIixcIm1hcFwiOltbMCwwLDIsMCwwLDFdLFszLDIsMywwLDAsM10sWzIsMCwzLDAsMywwXSxbMywzLDAsMCwwLDBdLFswLDAsMCwzLDMsMl0sWzAsMCwwLDAsMCwyXSxbMCwwLDAsNCwyLDBdXSxcIm1pbl9zdGVwc1wiOjh9LHtcImlkXCI6XCI2MDMwXCIsXCJtYXBcIjpbWzAsMywzLDAsMSwwXSxbMiwzLDAsMCwzLDBdLFswLDAsMCwzLDAsMl0sWzAsMCwzLDAsMiwwXSxbMCwwLDIsMywzLDNdLFswLDAsMCwwLDAsMF0sWzQsMCwwLDIsMCwyXV0sXCJtaW5fc3RlcHNcIjo4fSx7XCJpZFwiOlwiNjAwMVwiLFwibWFwXCI6W1swLDAsMywzLDQsMl0sWzAsMCwwLDIsMCwwXSxbMiwzLDMsMiwwLDBdLFswLDMsMCwwLDAsMl0sWzAsMCwwLDMsMiwyXSxbMiwwLDAsMywwLDJdLFsxLDMsMiwwLDAsMF0sWzAsMCwwLDMsMCwwXV0sXCJtaW5fc3RlcHNcIjo5fSx7XCJpZFwiOlwiNjAxMlwiLFwibWFwXCI6W1szLDAsMCwwLDIsMF0sWzAsMywwLDMsMCwwXSxbMCwzLDAsMCwwLDNdLFsyLDAsMCwzLDIsMF0sWzMsMiwyLDIsMCwwXSxbMywwLDIsMCwzLDBdLFsxLDIsMywwLDIsMF0sWzIsMywwLDAsMyw0XV0sXCJtaW5fc3RlcHNcIjo5fSx7XCJpZFwiOlwiNjAxNlwiLFwibWFwXCI6W1swLDAsMSwwLDIsM10sWzAsMywyLDAsMiwwXSxbMywzLDMsMywwLDBdLFszLDAsMCwwLDAsMF0sWzIsMiwzLDAsMywzXSxbMCwwLDIsMCwyLDBdLFswLDIsMCwyLDAsM10sWzMsMCwyLDAsMCw0XV0sXCJtaW5fc3RlcHNcIjo5fSx7XCJpZFwiOlwiNjAwOFwiLFwibWFwXCI6W1swLDAsMiwwLDMsNF0sWzMsMywyLDMsMCwwXSxbMCwwLDAsMCwwLDNdLFswLDAsMiwzLDIsMF0sWzAsMCwyLDAsMywyXSxbMywzLDAsMCwwLDJdLFswLDMsMCwwLDAsMF0sWzIsMSwwLDAsMCwwXV0sXCJtaW5fc3RlcHNcIjoxMH0se1wiaWRcIjpcIjYwMTNcIixcIm1hcFwiOltbMywwLDAsMiwyLDBdLFswLDIsMCwzLDAsMl0sWzAsMCwzLDIsMywwXSxbMCwzLDAsMCwzLDBdLFsyLDIsMywyLDAsMF0sWzAsMCwzLDMsMCwwXSxbMCwyLDAsMywyLDBdLFs0LDMsMywwLDEsMF1dLFwibWluX3N0ZXBzXCI6MTB9LHtcImlkXCI6XCI2MDE3XCIsXCJtYXBcIjpbWzQsMCwwLDAsMCwzXSxbMCwzLDMsMCwwLDBdLFszLDAsMiwyLDAsMF0sWzMsMCwyLDMsMywyXSxbMywyLDAsMiwzLDNdLFsyLDAsMiwwLDAsMF0sWzAsMCwwLDAsMCwzXSxbMiwzLDAsMiwwLDFdXSxcIm1pbl9zdGVwc1wiOjEwfSx7XCJpZFwiOlwiNjAyMlwiLFwibWFwXCI6W1swLDAsMyw0LDMsMF0sWzAsMywwLDIsMiwwXSxbMiwwLDIsMCwwLDNdLFswLDAsMCwwLDAsMF0sWzIsMywwLDMsMiwwXSxbMCwzLDAsMCwwLDBdLFswLDEsMywwLDAsM11dLFwibWluX3N0ZXBzXCI6MTB9LHtcImlkXCI6XCI2MDIzXCIsXCJtYXBcIjpbWzAsMCwzLDEsMCwyXSxbMCwwLDIsMywwLDBdLFs0LDAsMywwLDAsMF0sWzIsMCwzLDAsMCwzXSxbMiwwLDMsMCwzLDBdLFswLDAsMCwwLDAsMF0sWzIsMywwLDIsMywwXV0sXCJtaW5fc3RlcHNcIjoxMH0se1wiaWRcIjpcIjYwMjRcIixcIm1hcFwiOltbMCwzLDAsMiwwLDRdLFszLDAsMCwzLDMsM10sWzAsMCwyLDAsMCwwXSxbMiwzLDMsMCwwLDBdLFsyLDAsMCwwLDAsM10sWzIsMCwzLDAsMCwxXSxbMCwwLDAsMCwwLDJdXSxcIm1pbl9zdGVwc1wiOjEwfSx7XCJpZFwiOlwiNjAyNVwiLFwibWFwXCI6W1s0LDAsMiwwLDAsMF0sWzAsMCwzLDMsMCwyXSxbMywzLDAsMCwwLDNdLFswLDIsMCwyLDAsMF0sWzAsMCwwLDAsMywwXSxbMSwzLDAsMCwyLDJdLFswLDMsMCwwLDAsM11dLFwibWluX3N0ZXBzXCI6MTB9LHtcImlkXCI6XCI2MDAyXCIsXCJtYXBcIjpbWzAsMCwzLDMsNCwyXSxbMCwwLDAsMiwwLDBdLFsyLDMsMywyLDAsMF0sWzAsMywwLDAsMCwyXSxbMCwwLDAsMywyLDJdLFsyLDAsMCwzLDAsMl0sWzEsMywyLDAsMCwwXSxbMCwwLDAsMywwLDBdXSxcIm1pbl9zdGVwc1wiOjExfSx7XCJpZFwiOlwiNjAwNlwiLFwibWFwXCI6W1sxLDAsMiwwLDAsM10sWzAsMCwwLDAsMywwXSxbMywwLDAsMywyLDBdLFsyLDMsMCwwLDAsM10sWzAsMCwzLDIsMCwzXSxbMCwyLDAsMywwLDBdLFsyLDMsMCwyLDAsMF0sWzAsNCwwLDIsMCwwXV0sXCJtaW5fc3RlcHNcIjoxMX0se1wiaWRcIjpcIjYwMDlcIixcIm1hcFwiOltbNCwzLDAsMCwzLDBdLFswLDAsMCwwLDAsMF0sWzMsMywwLDIsMCwyXSxbMywwLDAsMiwyLDBdLFsyLDMsMiwwLDAsMF0sWzEsMywzLDAsMCwwXSxbMiwwLDAsMCwwLDBdLFszLDMsMCwwLDAsMl1dLFwibWluX3N0ZXBzXCI6MTF9LHtcImlkXCI6XCI2MDE4XCIsXCJtYXBcIjpbWzIsMywwLDAsMiwzXSxbMiwwLDAsMywwLDRdLFsyLDAsMCwwLDAsMF0sWzAsMywyLDAsMiwzXSxbMCwwLDAsMCwwLDNdLFsyLDAsMywzLDIsM10sWzAsMCwwLDMsMiwwXSxbMiwzLDEsMywwLDBdXSxcIm1pbl9zdGVwc1wiOjExfSx7XCJpZFwiOlwiNjAyNlwiLFwibWFwXCI6W1swLDEsMCwzLDAsNF0sWzAsMCwzLDAsMywwXSxbMiwyLDMsMiwwLDBdLFswLDAsMywwLDMsM10sWzIsMCwwLDAsMCwyXSxbMCwzLDAsMCwwLDJdLFswLDAsMCwwLDAsM11dLFwibWluX3N0ZXBzXCI6MTF9LHtcImlkXCI6XCI2MDI3XCIsXCJtYXBcIjpbWzIsMSwzLDAsMCwwXSxbMCwwLDAsMCwzLDBdLFszLDMsMCwwLDAsMF0sWzIsMiwzLDMsMywwXSxbMCwyLDAsMCwwLDBdLFszLDIsMCwwLDAsMF0sWzAsNCwwLDIsMywwXV0sXCJtaW5fc3RlcHNcIjoxMX0se1wiaWRcIjpcIjYwMzFcIixcIm1hcFwiOltbMCwxLDAsMywwLDRdLFswLDAsMywwLDMsMF0sWzIsMiwzLDIsMCwwXSxbMCwwLDMsMCwzLDNdLFsyLDAsMCwwLDAsMl0sWzAsMywwLDAsMCwyXSxbMCwwLDAsMCwwLDNdXSxcIm1pbl9zdGVwc1wiOjExfSx7XCJpZFwiOlwiNjAwM1wiLFwibWFwXCI6W1swLDIsMiwwLDAsNF0sWzAsMywzLDAsMCwwXSxbMywyLDAsMCwwLDBdLFswLDMsMCwwLDMsM10sWzAsMiwwLDMsMCwwXSxbMiwzLDAsMCwwLDBdLFswLDIsMywwLDAsMF0sWzEsMiwzLDAsMiwwXV0sXCJtaW5fc3RlcHNcIjoxMn0se1wiaWRcIjpcIjYwMTFcIixcIm1hcFwiOltbMywwLDIsMiwzLDJdLFsxLDAsMCwwLDAsM10sWzAsMCwzLDIsMywwXSxbMywwLDMsMCwwLDBdLFs0LDMsMiwzLDAsMl0sWzAsMCwyLDAsMiwzXSxbMiwwLDAsMCwwLDNdLFswLDAsMCwyLDAsM11dLFwibWluX3N0ZXBzXCI6MTJ9LHtcImlkXCI6XCI2MDE0XCIsXCJtYXBcIjpbWzQsMywwLDAsMCwwXSxbMCwyLDIsMiwzLDBdLFswLDMsMCwwLDAsMF0sWzIsMywyLDMsMCwwXSxbMywzLDAsMCwwLDNdLFswLDAsMCwyLDMsMF0sWzAsMywyLDAsMiwyXSxbMiwzLDMsMCwwLDFdXSxcIm1pbl9zdGVwc1wiOjEyfSx7XCJpZFwiOlwiNjAyMFwiLFwibWFwXCI6W1szLDIsMCwwLDAsMF0sWzQsMCwyLDAsMiwwXSxbMywzLDAsMCwyLDJdLFswLDAsMywwLDIsMF0sWzAsMCwwLDAsMiwzXSxbMCwyLDMsMywwLDBdLFsyLDMsMCwwLDMsM10sWzEsMywzLDIsMCwwXV0sXCJtaW5fc3RlcHNcIjoxMn0se1wiaWRcIjpcIjYwMjFcIixcIm1hcFwiOltbNCwzLDAsMCwwLDBdLFswLDIsMiwyLDMsMF0sWzAsMywwLDAsMCwwXSxbMiwzLDIsMywwLDBdLFszLDMsMCwwLDAsM10sWzAsMCwwLDIsMywwXSxbMCwzLDIsMCwyLDJdLFsyLDMsMywwLDAsMV1dLFwibWluX3N0ZXBzXCI6MTJ9LHtcImlkXCI6XCI2MDA0XCIsXCJtYXBcIjpbWzAsMywwLDIsMiwwXSxbMCwwLDAsMCwwLDJdLFszLDAsMCwwLDAsMF0sWzAsMywwLDAsMCwwXSxbMCwzLDMsMCwzLDBdLFsyLDAsMCwwLDMsMl0sWzIsMCwwLDAsMywxXSxbNCwzLDAsMiwzLDJdXSxcIm1pbl9zdGVwc1wiOjEzfSx7XCJpZFwiOlwiNjAwNVwiLFwibWFwXCI6W1syLDIsNCwyLDMsMF0sWzAsMywzLDIsMCwwXSxbMywwLDAsMywwLDJdLFszLDAsMiwzLDMsMF0sWzAsMCwwLDAsMCwwXSxbMCwwLDAsMCwyLDNdLFszLDIsMCwwLDAsMV0sWzAsMCwwLDAsMCwwXV0sXCJtaW5fc3RlcHNcIjoxM30se1wiaWRcIjpcIjYwMDdcIixcIm1hcFwiOltbMywyLDAsMCwzLDRdLFswLDIsMCwwLDMsMF0sWzAsMCwyLDAsMiwwXSxbMiwwLDAsMywwLDNdLFswLDAsMiwwLDMsMl0sWzAsMiwzLDMsMCwxXSxbMCwwLDAsMCwwLDNdLFswLDAsMCwzLDAsMF1dLFwibWluX3N0ZXBzXCI6MTN9LHtcImlkXCI6XCI2MDEwXCIsXCJtYXBcIjpbWzAsMywxLDAsMCwwXSxbMCwyLDMsMywwLDBdLFsyLDAsMCwzLDAsMF0sWzAsMiwwLDAsMywyXSxbMywwLDAsMCwwLDJdLFszLDIsMCwwLDAsMF0sWzQsMCwwLDMsMiwwXSxbMCwzLDAsMywyLDBdXSxcIm1pbl9zdGVwc1wiOjEzfSx7XCJpZFwiOlwiNjAxNVwiLFwibWFwXCI6W1s0LDAsMCwwLDIsM10sWzAsMCwzLDAsMCwzXSxbMiwyLDMsMiwwLDBdLFszLDAsMCwwLDMsMl0sWzIsMywwLDMsMCwyXSxbMCwwLDMsMCwyLDNdLFswLDAsMCwwLDAsM10sWzEsMiwyLDMsMCwwXV0sXCJtaW5fc3RlcHNcIjoxNH0se1wiaWRcIjpcIjYwMTlcIixcIm1hcFwiOltbNCwwLDAsMCwyLDNdLFswLDAsMywwLDAsM10sWzIsMiwzLDIsMCwwXSxbMywwLDAsMCwzLDJdLFsyLDMsMCwzLDAsMl0sWzAsMCwzLDAsMiwzXSxbMCwwLDAsMCwwLDNdLFsxLDIsMiwzLDAsMF1dLFwibWluX3N0ZXBzXCI6MTR9XSxbe1wiaWRcIjpcIjcwMDFcIixcIm1hcFwiOltbMCwyLDAsMCwyLDBdLFszLDMsMCwyLDAsNF0sWzAsMCwwLDAsMCwzXSxbMCwwLDAsMCwzLDJdLFswLDAsMCwwLDAsMl0sWzMsMywwLDAsMCwyXSxbMCwzLDMsMiwyLDBdLFswLDMsMiwyLDAsM10sWzEsMiwwLDAsMiwwXV0sXCJtaW5fc3RlcHNcIjo5fSx7XCJpZFwiOlwiNzAyM1wiLFwibWFwXCI6W1szLDIsMCwyLDAsMV0sWzAsMywzLDIsMywzXSxbMCwzLDMsMCwzLDBdLFswLDIsMiwyLDAsM10sWzAsMywyLDAsMCwzXSxbMCwwLDAsMCwyLDBdLFsyLDIsMiwzLDAsMF0sWzIsMCwzLDAsMywwXSxbMCwwLDMsMCwwLDRdXSxcIm1pbl9zdGVwc1wiOjl9LHtcImlkXCI6XCI3MDAzXCIsXCJtYXBcIjpbWzEsMywyLDAsMCwwXSxbMCwwLDAsMiwwLDBdLFswLDMsMCwyLDAsMF0sWzMsMywzLDIsMCwzXSxbMiwzLDMsMCwzLDBdLFswLDAsMCwwLDAsMl0sWzMsMCwyLDIsMywyXSxbNCwyLDAsMCwyLDBdLFswLDAsMiwwLDAsMl1dLFwibWluX3N0ZXBzXCI6MTB9LHtcImlkXCI6XCI3MDAyXCIsXCJtYXBcIjpbWzEsMCwzLDIsMCwyXSxbMCwzLDAsMCwwLDJdLFswLDIsMCwzLDIsMl0sWzAsMywwLDAsMCwwXSxbMCwyLDAsMywzLDBdLFszLDIsMiwwLDAsM10sWzAsMywyLDMsMCwyXSxbMCwwLDAsMCwwLDBdLFsyLDAsMCwyLDMsNF1dLFwibWluX3N0ZXBzXCI6MTF9LHtcImlkXCI6XCI3MDA1XCIsXCJtYXBcIjpbWzAsMCwwLDAsMCwwXSxbMCwwLDAsMywyLDRdLFswLDMsMCwwLDMsM10sWzMsMywwLDIsMCwzXSxbMCwyLDIsMCwzLDJdLFswLDAsMywwLDIsMF0sWzAsMiwwLDIsMCwwXSxbMywwLDAsMiwyLDBdLFswLDAsMiwyLDAsMV1dLFwibWluX3N0ZXBzXCI6MTF9LHtcImlkXCI6XCI3MDA2XCIsXCJtYXBcIjpbWzAsMCwwLDAsMiwzXSxbMywyLDAsMCwwLDBdLFswLDIsMCwzLDMsNF0sWzAsMCwwLDIsMiwzXSxbMiwwLDAsMCwwLDBdLFswLDAsMCwwLDMsMF0sWzMsMCwzLDMsMCwyXSxbMywwLDIsMiwwLDJdLFswLDAsMiwyLDAsMV1dLFwibWluX3N0ZXBzXCI6MTF9LHtcImlkXCI6XCI3MDA3XCIsXCJtYXBcIjpbWzIsMCwyLDAsMiwwXSxbMCwwLDIsMCwzLDJdLFswLDAsMCwzLDMsMF0sWzAsMiwwLDAsMywyXSxbMywwLDAsMiwwLDBdLFszLDMsMCwwLDAsMl0sWzAsMiwwLDMsMiwwXSxbMCwyLDMsMCwwLDBdLFs0LDMsMCwwLDEsMF1dLFwibWluX3N0ZXBzXCI6MTF9LHtcImlkXCI6XCI3MDI2XCIsXCJtYXBcIjpbWzIsNCwyLDAsMCwwXSxbMCwzLDMsMCwzLDBdLFszLDMsMywwLDAsM10sWzIsMCwzLDAsMCwyXSxbMCwyLDIsMywwLDNdLFsxLDAsMiwwLDIsMF0sWzMsMywwLDAsMCwwXSxbMiwwLDAsMCwzLDJdLFsyLDAsMywyLDMsMF1dLFwibWluX3N0ZXBzXCI6MTF9LHtcImlkXCI6XCI3MDI3XCIsXCJtYXBcIjpbWzIsMCwwLDAsMCwyXSxbMCwwLDMsMywyLDNdLFswLDAsMywwLDAsMV0sWzAsMywwLDMsMywzXSxbMCwwLDAsMCwwLDJdLFszLDMsMiwwLDAsMl0sWzMsMywwLDIsMCwzXSxbMCwzLDIsMiwyLDBdLFswLDMsNCwyLDIsMF1dLFwibWluX3N0ZXBzXCI6MTF9LHtcImlkXCI6XCI3MDI5XCIsXCJtYXBcIjpbWzAsMCwxLDAsMCwwXSxbMywzLDAsMCwzLDJdLFszLDAsMCwwLDIsMF0sWzAsMiwwLDIsMiwwXSxbMiwzLDMsMywwLDNdLFszLDIsMiwzLDAsMF0sWzIsMCwzLDAsMCwzXSxbMywyLDAsMCwwLDNdLFs0LDIsMCwwLDMsMl1dLFwibWluX3N0ZXBzXCI6MTF9LHtcImlkXCI6XCI3MDA4XCIsXCJtYXBcIjpbWzEsMCwwLDAsMiwwXSxbMywzLDIsMCwzLDBdLFszLDAsMywwLDAsMF0sWzAsMCwzLDAsMCwzXSxbMiwyLDAsMywwLDNdLFsyLDAsMiwwLDAsMF0sWzIsMCwyLDAsMCwyXSxbMiwwLDAsMiwwLDBdLFs0LDMsMCwwLDAsMl1dLFwibWluX3N0ZXBzXCI6MTJ9LHtcImlkXCI6XCI3MDEwXCIsXCJtYXBcIjpbWzQsMywwLDMsMSwwXSxbMCwwLDMsMywwLDBdLFswLDMsMCwwLDIsMl0sWzIsMCwzLDAsMCwyXSxbMywyLDAsMiwzLDBdLFswLDAsMCwwLDAsMF0sWzAsMiwwLDIsMiwwXSxbMCwyLDAsMywwLDJdLFswLDIsMCwwLDAsM11dLFwibWluX3N0ZXBzXCI6MTJ9LHtcImlkXCI6XCI3MDE2XCIsXCJtYXBcIjpbWzIsMyw0LDAsMCwzXSxbMCwzLDIsMiwzLDFdLFswLDIsMiwzLDAsMF0sWzMsMCwzLDAsMiwwXSxbMywwLDAsMCwyLDJdLFswLDAsMywzLDAsMF0sWzAsMywwLDMsMiwwXSxbMCwwLDMsMCwzLDJdLFswLDIsMiwzLDAsMF1dLFwibWluX3N0ZXBzXCI6MTJ9LHtcImlkXCI6XCI3MDIwXCIsXCJtYXBcIjpbWzIsMywwLDQsMywzXSxbMywzLDAsMCwzLDBdLFswLDIsMCwzLDIsMF0sWzAsMywwLDAsMCwyXSxbMywyLDAsMCwwLDBdLFswLDAsMywyLDAsM10sWzAsMywwLDMsMiwwXSxbMywyLDIsMCwwLDJdLFswLDAsMiwxLDMsMl1dLFwibWluX3N0ZXBzXCI6MTJ9LHtcImlkXCI6XCI3MDI0XCIsXCJtYXBcIjpbWzEsMywyLDAsMCwzXSxbMiwzLDIsMCwwLDBdLFswLDIsMywwLDMsM10sWzMsMCwwLDIsMCwzXSxbMiwzLDAsMCwwLDNdLFszLDMsMCwwLDAsMF0sWzIsMCwzLDAsMCwyXSxbMCwwLDIsMCwyLDJdLFs0LDIsMywwLDMsMF1dLFwibWluX3N0ZXBzXCI6MTJ9LHtcImlkXCI6XCI3MDMyXCIsXCJtYXBcIjpbWzAsMCwwLDAsMyw0XSxbMCwwLDMsMywzLDJdLFsyLDIsMywzLDAsMF0sWzAsMCwzLDIsMCwwXSxbMCwyLDAsMiwzLDJdLFswLDIsMywwLDAsM10sWzIsMywzLDAsMCwyXSxbMSwwLDMsMCwzLDJdLFswLDAsMywwLDAsMl1dLFwibWluX3N0ZXBzXCI6MTJ9LHtcImlkXCI6XCI3MDMzXCIsXCJtYXBcIjpbWzEsMCwwLDMsMCwzXSxbMywzLDIsMCwyLDBdLFswLDMsMywyLDAsMl0sWzMsMiwwLDMsMCwwXSxbNCwyLDIsMiwwLDBdLFswLDMsMCwwLDAsMF0sWzMsMywzLDAsMCwyXSxbMywwLDMsMiwwLDNdLFsyLDAsMCwwLDAsMl1dLFwibWluX3N0ZXBzXCI6MTJ9LHtcImlkXCI6XCI3MDM1XCIsXCJtYXBcIjpbWzMsMCwwLDIsMCw0XSxbMywwLDIsMywzLDNdLFswLDAsMiwzLDAsMl0sWzMsMCwzLDMsMywwXSxbMiwyLDAsMCwwLDBdLFsyLDIsMywwLDAsMF0sWzAsMCwyLDMsMCwwXSxbMCwyLDAsMywyLDNdLFswLDAsMywxLDIsMF1dLFwibWluX3N0ZXBzXCI6MTJ9LHtcImlkXCI6XCI3MDM2XCIsXCJtYXBcIjpbWzIsMywxLDAsMCwyXSxbMCwzLDAsMCwwLDBdLFsyLDAsMiwwLDAsM10sWzAsMCwzLDMsMCwzXSxbMCwyLDIsMCwwLDNdLFswLDMsMiwzLDMsMF0sWzAsMywyLDAsMCwyXSxbMCwzLDIsMCwyLDNdLFsyLDAsMywzLDQsMF1dLFwibWluX3N0ZXBzXCI6MTJ9LHtcImlkXCI6XCI3MDM3XCIsXCJtYXBcIjpbWzIsMCwwLDAsMCwzXSxbMCwyLDMsMCwyLDJdLFswLDAsMywwLDIsMF0sWzAsMiwyLDAsMCwwXSxbMywyLDMsMCwwLDNdLFswLDAsMywzLDAsM10sWzMsMiwzLDAsMCwzXSxbMCwwLDMsMywyLDBdLFs0LDMsMSwyLDAsMl1dLFwibWluX3N0ZXBzXCI6MTJ9LHtcImlkXCI6XCI3MDM5XCIsXCJtYXBcIjpbWzIsMCwzLDMsMiwwXSxbMCwwLDAsMCwyLDNdLFsxLDMsMCwwLDAsMl0sWzAsMiwzLDIsMiwyXSxbMCwwLDMsMCwwLDBdLFswLDMsMCwwLDMsMF0sWzMsMCwwLDIsMywyXSxbMiwwLDMsMCwyLDNdLFswLDQsMywwLDMsM11dLFwibWluX3N0ZXBzXCI6MTJ9LHtcImlkXCI6XCI3MDQwXCIsXCJtYXBcIjpbWzAsMiwzLDMsNCwwXSxbMCwyLDAsMCwzLDJdLFswLDAsMywwLDIsMF0sWzMsMCwyLDAsMCwzXSxbMiwwLDAsMywwLDNdLFszLDMsMCwyLDIsMF0sWzIsMiwzLDAsMiwwXSxbMSwzLDAsMCwyLDNdLFswLDAsMCwzLDAsM11dLFwibWluX3N0ZXBzXCI6MTJ9LHtcImlkXCI6XCI3MDQxXCIsXCJtYXBcIjpbWzMsMywwLDIsMywxXSxbMCwzLDMsMiwwLDJdLFswLDIsMCwwLDAsMF0sWzAsMCwwLDAsMCwwXSxbMywzLDMsMiwzLDBdLFswLDMsMywyLDMsMl0sWzQsMCwzLDAsMiwwXSxbMiwyLDIsMCwwLDBdLFswLDMsMiwwLDMsMF1dLFwibWluX3N0ZXBzXCI6MTJ9LHtcImlkXCI6XCI3MDA0XCIsXCJtYXBcIjpbWzIsMCwwLDIsMCwwXSxbMCwzLDAsMCwwLDFdLFswLDIsMCwwLDAsMF0sWzAsMCwwLDAsMiwwXSxbMCwwLDMsMywzLDJdLFswLDAsMCwzLDIsM10sWzAsMCwyLDAsMCwzXSxbMCwyLDMsMiwyLDRdLFszLDIsMiwwLDMsMF1dLFwibWluX3N0ZXBzXCI6MTN9LHtcImlkXCI6XCI3MDA5XCIsXCJtYXBcIjpbWzQsMCwzLDEsMCwyXSxbMCwyLDMsMywzLDBdLFswLDIsMywyLDIsMF0sWzMsMCwzLDAsMCwyXSxbMCwwLDAsMCwwLDBdLFszLDIsMCwwLDIsMF0sWzMsMiwwLDAsMiwwXSxbMCwwLDIsMiwyLDBdLFswLDAsMCwwLDMsMF1dLFwibWluX3N0ZXBzXCI6MTN9LHtcImlkXCI6XCI3MDE0XCIsXCJtYXBcIjpbWzMsNCwyLDMsMCwwXSxbMiwzLDAsMywwLDBdLFswLDIsMiwwLDAsMF0sWzAsMywzLDAsMywzXSxbMCwwLDAsMCwwLDBdLFszLDIsMCwwLDIsMl0sWzIsMiwyLDIsMCwzXSxbMCwwLDMsMywwLDNdLFsxLDIsMCwzLDMsMF1dLFwibWluX3N0ZXBzXCI6MTN9LHtcImlkXCI6XCI3MDE1XCIsXCJtYXBcIjpbWzIsMyw0LDAsMywwXSxbMSwyLDMsMiwzLDBdLFswLDAsMywwLDIsMF0sWzIsMCwwLDMsMCwwXSxbMiwyLDAsMiwwLDNdLFswLDAsMiwwLDAsMF0sWzMsMCwwLDMsMywwXSxbMCwwLDMsMCwyLDNdLFszLDAsMywyLDMsMl1dLFwibWluX3N0ZXBzXCI6MTN9LHtcImlkXCI6XCI3MDI1XCIsXCJtYXBcIjpbWzIsMywxLDAsMywzXSxbMCwwLDIsMywyLDBdLFswLDIsMCwwLDAsM10sWzAsMywwLDAsMCwzXSxbMiwwLDAsMywyLDBdLFswLDAsMiwzLDAsMl0sWzIsMCwzLDIsMCwzXSxbMywzLDAsMCwzLDNdLFsyLDQsMCwyLDAsMF1dLFwibWluX3N0ZXBzXCI6MTN9LHtcImlkXCI6XCI3MDMwXCIsXCJtYXBcIjpbWzIsMCwxLDIsMCwwXSxbMCwyLDMsMywwLDJdLFsyLDMsMywzLDAsMl0sWzMsMCwwLDIsMiwwXSxbMCwzLDAsMywyLDBdLFswLDAsMiwwLDIsM10sWzMsMywwLDMsMywyXSxbNCwzLDAsMCwwLDBdLFswLDAsMCwwLDAsM11dLFwibWluX3N0ZXBzXCI6MTN9LHtcImlkXCI6XCI3MDMxXCIsXCJtYXBcIjpbWzAsMiwyLDMsNCwyXSxbMywzLDAsMCwyLDJdLFswLDAsMCwzLDIsMF0sWzAsMywwLDAsMywzXSxbMCwyLDAsMiwzLDBdLFsyLDMsMCwwLDAsMF0sWzMsMywwLDMsMCwyXSxbMCwwLDIsMywzLDNdLFsxLDAsMiwwLDAsMF1dLFwibWluX3N0ZXBzXCI6MTN9LHtcImlkXCI6XCI3MDM4XCIsXCJtYXBcIjpbWzQsMiwzLDMsMiwzXSxbMCwzLDAsMiwzLDBdLFswLDAsMCwyLDAsMl0sWzMsMywyLDMsMCwwXSxbMCwzLDAsMywyLDNdLFswLDIsMiwyLDAsMF0sWzEsMywwLDAsMywwXSxbMiwwLDAsMCwzLDJdLFswLDAsMywwLDAsMF1dLFwibWluX3N0ZXBzXCI6MTN9LHtcImlkXCI6XCI3MDExXCIsXCJtYXBcIjpbWzAsMSwwLDAsMiwwXSxbMywwLDMsMywyLDNdLFswLDMsMywyLDAsMF0sWzAsMCwyLDAsMywzXSxbMiwzLDIsMCwwLDBdLFszLDIsMiwzLDMsMF0sWzIsMCwyLDIsMCw0XSxbMCwyLDAsMywwLDBdLFswLDAsMCwzLDAsM11dLFwibWluX3N0ZXBzXCI6MTR9LHtcImlkXCI6XCI3MDE3XCIsXCJtYXBcIjpbWzIsMCwwLDMsMCwzXSxbNCwzLDAsMiwwLDNdLFszLDAsMCwwLDMsMF0sWzIsMCwwLDIsMCwwXSxbMywwLDAsMywwLDBdLFsyLDMsMCwyLDIsMl0sWzEsMywzLDAsMiwyXSxbMCwzLDAsMCwzLDBdLFswLDIsMCwzLDMsMl1dLFwibWluX3N0ZXBzXCI6MTR9LHtcImlkXCI6XCI3MDE5XCIsXCJtYXBcIjpbWzAsMywwLDIsMywxXSxbMCwzLDAsMiwwLDJdLFswLDIsMiwwLDMsM10sWzAsMCwzLDIsMCwzXSxbMCwwLDMsMiwyLDBdLFsyLDIsMywwLDIsMl0sWzAsMywwLDAsMywwXSxbMywwLDAsMywzLDBdLFswLDAsMCwzLDAsNF1dLFwibWluX3N0ZXBzXCI6MTR9LHtcImlkXCI6XCI3MDIxXCIsXCJtYXBcIjpbWzAsMCwwLDAsMiw0XSxbMywwLDIsMCwwLDBdLFszLDAsMiwzLDMsM10sWzIsMCwzLDMsMywwXSxbMiwwLDAsMCwyLDNdLFszLDMsMCwwLDAsMl0sWzEsMCwzLDAsMiwyXSxbMiwyLDAsMiwwLDBdLFswLDAsMywzLDAsM11dLFwibWluX3N0ZXBzXCI6MTR9LHtcImlkXCI6XCI3MDIyXCIsXCJtYXBcIjpbWzQsMCwwLDAsMCwwXSxbMCwwLDAsMCwzLDJdLFszLDMsMiwzLDMsMl0sWzIsMCwwLDAsMCwyXSxbMCwwLDMsMCwzLDNdLFsyLDAsMiwzLDIsMV0sWzMsMiwzLDAsMCwzXSxbMiwwLDAsMywyLDJdLFszLDMsMCwwLDAsMF1dLFwibWluX3N0ZXBzXCI6MTV9LHtcImlkXCI6XCI3MDI4XCIsXCJtYXBcIjpbWzAsMiwxLDMsMCwyXSxbMCwzLDMsMywwLDJdLFswLDAsMCwzLDAsMl0sWzMsMCwwLDMsMiw0XSxbMiwwLDAsMywyLDJdLFsyLDIsMywwLDAsM10sWzAsMiwwLDAsMCwwXSxbMCwzLDMsMywyLDBdLFswLDMsMCwzLDAsMF1dLFwibWluX3N0ZXBzXCI6MTZ9LHtcImlkXCI6XCI3MDM0XCIsXCJtYXBcIjpbWzEsMCwwLDMsMiwwXSxbMCwyLDIsMywzLDBdLFszLDAsMCwyLDAsM10sWzIsMywyLDIsMCwzXSxbMCwwLDMsMCwwLDNdLFszLDAsMCwwLDMsMF0sWzIsMywwLDMsMiw0XSxbMCwzLDAsMCwwLDNdLFswLDIsMCwwLDIsMl1dLFwibWluX3N0ZXBzXCI6MTZ9LHtcImlkXCI6XCI3MDEyXCIsXCJtYXBcIjpbWzEsMywzLDMsMCwwXSxbMCwzLDAsMiwwLDBdLFswLDAsMCwzLDAsMl0sWzMsMCwwLDMsMiwzXSxbMCwwLDIsMCwwLDNdLFswLDAsMiwzLDIsMF0sWzIsMiwzLDIsMywyXSxbMCwzLDAsMiwwLDJdLFswLDMsNCwzLDAsMF1dLFwibWluX3N0ZXBzXCI6MTd9LHtcImlkXCI6XCI3MDEzXCIsXCJtYXBcIjpbWzAsMSwwLDAsMywzXSxbMCwyLDAsMywwLDBdLFsyLDMsMCwwLDAsMF0sWzAsMCwwLDMsMCwzXSxbMCwzLDAsMiwzLDJdLFsyLDAsMywzLDIsMF0sWzAsMiwyLDMsMCwyXSxbMiwzLDIsMCwzLDBdLFswLDMsMywwLDIsNF1dLFwibWluX3N0ZXBzXCI6MTd9LHtcImlkXCI6XCI3MDE4XCIsXCJtYXBcIjpbWzAsMCwwLDAsMCwyXSxbMSwwLDMsMywwLDJdLFszLDMsMCwzLDIsM10sWzAsMywwLDIsMCwwXSxbMCwzLDAsMCwyLDJdLFszLDAsMCwyLDMsMF0sWzAsMywzLDMsMCwwXSxbMiwwLDMsMCwwLDJdLFsyLDQsMiwwLDMsMl1dLFwibWluX3N0ZXBzXCI6MTd9LHtcImlkXCI6XCI3MDQyXCIsXCJtYXBcIjpbWzEsMiwwLDAsMywwXSxbMywzLDIsMywwLDBdLFswLDAsMiwwLDIsMl0sWzMsMywwLDAsMCwwXSxbMywwLDMsMywwLDNdLFszLDIsMiwwLDAsMF0sWzQsMiwzLDAsMiwyXSxbMiwwLDMsMCwyLDJdLFsyLDAsMywwLDMsMl1dLFwibWluX3N0ZXBzXCI6MTd9LHtcImlkXCI6XCI3MDQzXCIsXCJtYXBcIjpbWzAsMCwzLDAsMSwwXSxbMiwwLDAsMiwwLDBdLFszLDAsMywwLDIsMl0sWzAsMCwwLDMsMiwzXSxbMiwzLDIsMywyLDNdLFswLDMsMywwLDMsNF0sWzAsMywzLDIsMywwXSxbMCwyLDIsMCwyLDBdLFsyLDIsMCwwLDMsMl1dLFwibWluX3N0ZXBzXCI6MTd9LHtcImlkXCI6XCI3MDQ0XCIsXCJtYXBcIjpbWzAsMCwxLDMsMCw0XSxbMywwLDMsMCwyLDNdLFsyLDIsMywyLDMsMF0sWzIsMywyLDIsMCwzXSxbMCwzLDAsMCwzLDBdLFsyLDAsMywyLDMsM10sWzAsMywyLDIsMywwXSxbMCwwLDAsMCwyLDBdLFsyLDAsMiwyLDAsMF1dLFwibWluX3N0ZXBzXCI6MTd9LHtcImlkXCI6XCI3MDQ1XCIsXCJtYXBcIjpbWzIsMywyLDAsMCwzXSxbMCwwLDAsMywyLDJdLFszLDAsMCwzLDAsMF0sWzAsMCwzLDIsMywyXSxbMiwzLDIsMywzLDFdLFswLDAsMCwzLDAsM10sWzMsMiwwLDAsMiwwXSxbMywyLDIsMCwwLDJdLFswLDQsMCwzLDIsMl1dLFwibWluX3N0ZXBzXCI6MTd9LHtcImlkXCI6XCI3MDQ2XCIsXCJtYXBcIjpbWzAsMywwLDIsMCwwXSxbMCwyLDIsMCwwLDFdLFswLDAsMywzLDMsMl0sWzIsMiwzLDMsMiwyXSxbMywzLDMsMCwyLDNdLFs0LDIsMiwzLDAsMl0sWzAsMCwzLDIsMCwyXSxbMCwzLDAsMCwyLDNdLFswLDAsMCwzLDAsMF1dLFwibWluX3N0ZXBzXCI6MTd9LHtcImlkXCI6XCI3MDQ3XCIsXCJtYXBcIjpbWzMsMiw0LDMsMiwwXSxbMiwwLDMsMiwwLDBdLFsyLDMsMywyLDMsMF0sWzIsMCwwLDIsMCwwXSxbMiwzLDAsMCwwLDBdLFszLDAsMiwwLDMsMF0sWzIsMiwzLDAsMiwwXSxbMCwzLDMsMCwzLDBdLFsxLDIsMywyLDAsM11dLFwibWluX3N0ZXBzXCI6MTd9LHtcImlkXCI6XCI3MDQ4XCIsXCJtYXBcIjpbWzIsMCwzLDQsMiwyXSxbMCwwLDMsMCwzLDBdLFsyLDAsMCwyLDMsM10sWzIsMCwzLDMsMiwzXSxbMCwwLDAsMCwwLDBdLFsyLDIsMiwwLDAsM10sWzMsMywzLDMsMiwyXSxbMCwwLDMsMCwwLDJdLFszLDEsMiwwLDIsMF1dLFwibWluX3N0ZXBzXCI6MTd9XV1cclxuXHJcblxyXG4gICAgICAgIHRoaXMuTEVWRUxfSU5GTy51bnNoaWZ0KFt7XCJpZFwiOlwiMDAwMVwiLFwibWFwXCI6W1szLCAyLCAyLCAwLCAyXSxbMCwgMCwgMywgMywgMF0sWzEsIDMsIDAsIDMsIDJdLFszLCAwLCAyLCAzLCA0XSxbMywgMiwgMywgMywgMl1dLFwibWluX3N0ZXBzXCI6NH1dKTtcclxuICAgICAgICBcclxuXHJcbiAgICAgICAgICAgIFxyXG4gICAgICAgIFxyXG4gICAgfVxyXG5cclxuXHJcbiAgICBzdGF0aWMgQXV0aGVudGljYXRpb24oKXtcclxuICAgICAgICBjYy5meC5HYW1lVG9vbC5BdXRoZW50aWNhdGlvbigpO1xyXG4gICAgfVxyXG59XHJcblxyXG4iXX0= \ No newline at end of file diff --git a/temp/quick-scripts/dst/assets/Script/module/Tool/GameTool.js b/temp/quick-scripts/dst/assets/Script/module/Tool/GameTool.js index abcbad1..9729713 100644 --- a/temp/quick-scripts/dst/assets/Script/module/Tool/GameTool.js +++ b/temp/quick-scripts/dst/assets/Script/module/Tool/GameTool.js @@ -26,14 +26,20 @@ var GameTool = { var name = "user_" + cc.fx.GameConfig.GM_INFO.gameId; var data = JSON.parse(localStorage.getItem(name)); if (data == "undifend" || data == null || data == "") { - var url = "https://api.sparkus.cn/api/user/auth/login?domain=hui32579WdYPsgYq&callback=" + location.href; - window.location.href = url; + var urlNow = window.location.href; + if (!this.containsTrain(urlNow)) { + var url = "https://api.sparkus.cn/api/user/auth/login?domain=hui32579WdYPsgYq&callback=" + location.href; + window.location.href = url; + } } else { cc.fx.StorageMessage.setStorage(name, data); cc.fx.GameConfig.GM_INFO.userId = parseInt(data.userId); } }, + containsTrain: function (str) { + return /from=train/i.test(str); + }, //埋点上传 setGameData: function () { //GAME_DATA 初始化 每次清零 @@ -48,7 +54,7 @@ var GameTool = { "matchId": matchId, "data": data }; - console.log("上传数据:", data); + // console.log("上传数据:",data); cc.fx.HttpUtil.uploadUserLogData(postData, function () { }); }, //上传排行榜 type为1 @@ -345,4 +351,4 @@ cc._RF.pop(); }); } })(); -//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbImFzc2V0c1xcU2NyaXB0XFxtb2R1bGVcXFRvb2xcXEdhbWVUb29sLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7Ozs7Ozs7Ozs7Ozs7OztBQUNBLCtCQUErQjtBQUMvQixJQUFJLFFBQVEsR0FBRztJQUNYLFVBQVUsRUFBRSxDQUFDO0lBQ2IsUUFBUSxFQUFFLENBQUM7SUFDWCxVQUFVLEVBQUUsQ0FBQztJQUNiLFVBQVU7SUFDVixjQUFjO1FBQ1YsSUFBSSxJQUFJLEdBQUcsT0FBTyxHQUFHLEVBQUUsQ0FBQyxFQUFFLENBQUMsVUFBVSxDQUFDLE9BQU8sQ0FBQyxNQUFNLENBQUM7UUFDckQsSUFBSSxJQUFJLEdBQUcsSUFBSSxDQUFDLEtBQUssQ0FBQyxZQUFZLENBQUMsT0FBTyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUM7UUFDbEQsSUFBRyxJQUFJLElBQUksVUFBVSxJQUFJLElBQUksSUFBRSxJQUFJLElBQUksSUFBSSxJQUFJLEVBQUUsRUFBQztZQUM5QyxJQUFJLEdBQUcsR0FBRyw4RUFBOEUsR0FBQyxRQUFRLENBQUMsSUFBSSxDQUFDO1lBQ3ZHLE1BQU0sQ0FBQyxRQUFRLENBQUMsSUFBSSxHQUFHLEdBQUcsQ0FBQztTQUM5QjthQUNHO1lBQ0EsRUFBRSxDQUFDLEVBQUUsQ0FBQyxjQUFjLENBQUMsVUFBVSxDQUFDLElBQUksRUFBQyxJQUFJLENBQUMsQ0FBQztZQUMzQyxFQUFFLENBQUMsRUFBRSxDQUFDLFVBQVUsQ0FBQyxPQUFPLENBQUMsTUFBTSxHQUFHLFFBQVEsQ0FBQyxJQUFJLENBQUMsTUFBTSxDQUFDLENBQUM7U0FDM0Q7SUFDTCxDQUFDO0lBRUQsTUFBTTtJQUNOLFdBQVc7UUFDUCxvQkFBb0I7UUFDcEIsRUFBRSxDQUFDLEVBQUUsQ0FBQyxVQUFVLENBQUMsU0FBUyxHQUFHLEVBQUUsQ0FBQztRQUNoQyxFQUFFLENBQUMsRUFBRSxDQUFDLFVBQVUsQ0FBQyxTQUFTLENBQUMsSUFBSSxDQUFDLEVBQUUsQ0FBQyxFQUFF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QixDQUFDO0lBRUQsT0FBTztJQUNQLE9BQU87UUFDSCxJQUFNLFNBQVMsR0FBSSxDQUFDLElBQUksSUFBSSxFQUFFLENBQUMsT0FBTyxFQUFFLENBQUMsQ0FBQTtRQUN6QyxPQUFPLFNBQVMsQ0FBQztJQUNyQixDQUFDO0lBQ0QsVUFBVSxFQUFDO0lBRVgsQ0FBQztJQUNELGVBQWUsRUFBQztJQUVoQixDQUFDO0NBRUosQ0FBQztBQUNPLDRCQUFRIiwiZmlsZSI6IiIsInNvdXJjZVJvb3QiOiIvIiwic291cmNlc0NvbnRlbnQiOlsiXHJcbi8v5pyA5aSn5bel5YW357G7ICDlkITnp43lhazlhbHmlrnms5XvvIzku6Xlj4rlpITnkIbkuIrkvKDvvIzojrflj5blkI7nq6/mjqXlj6PmlbDmja5cclxudmFyIEdhbWVUb29sID0ge1xyXG4gICAgX3N0YXJ0VGltZTogMCxcclxuICAgIF9lbmRUaW1lOiAwLFxyXG4gICAgX3RvdGFsVGltZTogMCxcclxuICAgIC8v6I635Y+WdXNlcklkXHJcbiAgICBBdXRoZW50aWNhdGlvbigpe1xyXG4gICAgICAgIGxldCBuYW1lID0gXCJ1c2VyX1wiICsgY2MuZnguR2FtZUNvbmZpZy5HTV9JTkZPLmdhbWVJZDtcclxuICAgICAgICB2YXIgZGF0YSA9IEpTT04ucGFyc2UobG9jYWxTdG9yYWdlLmdldEl0ZW0obmFtZSkpO1xyXG4gICAgICAgIGlmKGRhdGEgPT0gXCJ1bmRpZmVuZFwiIHx8IGRhdGE9PW51bGwgfHwgZGF0YSA9PSBcIlwiKXtcclxuICAgICAgICAgICAgbGV0IHVybCA9IFwiaHR0cHM6Ly9hcGkuc3Bhcmt1cy5jbi9hcGkvdXNlci9hdXRoL2xvZ2luP2RvbWFpbj1odWkzMjU3OVdkWVBzZ1lxJmNhbGxiYWNrPVwiK2xvY2F0aW9uLmhyZWY7XHJcbiAgICAgICAgICAgIHdpbmRvdy5sb2NhdGlvbi5ocmVmID0gdXJsO1xyXG4gICAgICAgIH1cclxuICAgICAgICBlbHNle1xyXG4gICAgICAgICAgICBjYy5meC5TdG9yYWdlTWVzc2FnZS5zZXRTdG9yYWdlKG5hbWUsZGF0YSk7XHJcbiAgICAgICAgICAgIGNjLmZ4LkdhbWVDb25maWcuR01fSU5GTy51c2VySWQgPSBwYXJzZUludChkYXRhLnVzZXJJZCk7XHJcbiAgICAgICAgfVxyXG4gICAgfSxcclxuXHJcbiAgICAvL+Wfi+eCueS4iuS8oFxyXG4gICAgc2V0R2FtZURhdGEoKXtcclxuICAgICAgICAvL0dBTUVfREFUQSDliJ3lp4vljJYg5q+P5qyh5riF6Zu2XHJcbiAgICAgICAgY2MuZnguR2FtZUNvbmZpZy5HQU1FX0RBVEEgPSBbXTtcclxuICAgICAgICBjYy5meC5HYW1lQ29uZmlnLkdBTUVfREFUQS5wdXNoKGNjLmZ4LkdhbWVDb25maWcuQ0xJQ0tfREFUQSk7XHJcbiAgICAgICAgY2MuZnguR2FtZUNvbmZpZy5DTElDS19pbml0KCk7XHJcbiAgICAgICAgbGV0IGRhdGEgPSBjYy5meC5HYW1lQ29uZmlnLkdBTUVfREFUQTtcclxuICAgICAgICBsZXQgbWF0Y2hJZCA9IHRoaXMuZ2V0TWF0Y2hJZCgpO1xyXG4gICAgICAgIGxldCBwb3N0RGF0YSA9IHtcclxuICAgICAgICAgICAgXCJnYW1lSWRcIjpjYy5meC5HYW1lQ29uZmlnLkdNX0lORk8uZ2FtZUlkLFxyXG4gICAgICAgICAgICBcInVzZXJJZFwiOmNjLmZ4LkdhbWVDb25maWcuR01fSU5GTy51c2VySWQsXHJcbiAgICAgICAgICAgIFwibWF0Y2hJZFwiOm1hdGNoSWQsXHJcbiAgICAgICAgICAgIFwiZGF0YVwiOiBkYXRhXHJcbiAgICAgICAgfTtcclxuXHJcbiAgICAgICAgY29uc29sZS5sb2coXCLkuIrkvKDmlbDmja46XCIsZGF0YSk7XHJcbiAgICAgICAgY2MuZnguSHR0cFV0aWwudXBsb2FkVXNlckxvZ0RhdGEocG9zdERhdGEsZnVuY3Rpb24oKXt9KVxyXG4gICAgfSxcclxuICAgIC8v5LiK5Lyg5o6S6KGM5qacICB0eXBl5Li6MVxyXG4gICAgc2V0UmFuayhkYXRhKXtcclxuICAgICAgICAvL0dBTUVfREFUQSDliJ3lp4vljJYg5q+P5qyh5riF6Zu2XHJcbiAgICAgICAgbGV0IHBvc3REYXRhID0ge1xyXG4gICAgICAgICAgICBcImdhbWVJZFwiOmNjLmZ4LkdhbWVDb25maWcuR01fSU5GTy5nYW1lSWQsXHJcbiAgICAgICAgICAgIFwidXNlcklkXCI6Y2MuZnguR2FtZUNvbmZpZy5HTV9JTkZPLnVzZXJJZCxcclxuICAgICAgICAgICAgXCJ0eXBlXCI6MSxcclxuICAgICAgICAgICAgXCJzY29yZVwiOiBkYXRhLnNjb3JlLFxyXG4gICAgICAgICAgICBcImFjY3VyYWN5XCI6IGRhdGEuZGF0ZSxcclxuICAgICAgICAgICAgXCJzdWNjZXNzXCI6IGNjLmZ4LkdhbWVDb25maWcuR01fSU5GTy5zdWNjZXNzXHJcbiAgICAgICAgfTtcclxuICAgICAgICBjYy5meC5IdHRwVXRpbC5yYW5rRGF0YSgxLGZ1bmN0aW9uKCl7fSxwb3N0RGF0YSk7XHJcbiAgICB9LFxyXG4gICAgLy/ojrflj5bmjpLooYzmppwgdHlwZeS4ujJcclxuICAgIGdldFJhbmsoZGF0YSxjYWxsYmFjayl7XHJcbiAgICAgICAgbGV0IHJhbmtMZW5ndGggPSBkYXRhLmxlbmd0aDtcclxuICAgICAgICBsZXQgcG9zdERhdGEgPSB7XHJcbiAgICAgICAgICAgIFwiZ2FtZUlkXCI6Y2MuZnguR2FtZUNvbmZpZy5HTV9JTkZPLmdhbWVJZCxcclxuICAgICAgICAgICAgXCJ1c2VySWRcIjpjYy5meC5HYW1lQ29uZmlnLkdNX0lORk8udXNlcklkLFxyXG4gICAgICAgICAgICBcInBhZ2VcIjoxLFxyXG4gICAgICAgICAgICBcInBhZ2VTaXplXCI6cmFua0xlbmd0aFxyXG4gICAgICAgIH07IFxyXG4gICAgICAgIC8v5Zue6LCD6L+bZ2V0UmFua0RhdGFcclxuICAgICAgICBjYy5meC5IdHRwVXRpbC5yYW5rRGF0YSgyLGRhdGEgPT57Y2FsbGJhY2soZGF0YSl9LHBvc3REYXRhKTtcclxuICAgIH0sXHJcbiAgICAvL+iOt+WPlm1hdGNoSWQgIOeUqOS6juS4iuS8oOavj+asoeeCueWHu+aVsOaNrumHjOmdouiusOW9lWlk5pa55L6/5p+l6K+iXHJcbiAgICBnZXRNYXRjaElkICgpe1xyXG4gICAgICAgIGxldCBtYXRjaElkID0gY2Muc3lzLmxvY2FsU3RvcmFnZS5nZXRJdGVtKFwibWF0Y2hJZFwiKTtcclxuICAgICAgICBsZXQgdGVtcElkID0gbWF0Y2hJZDtcclxuICAgICAgICBpZihtYXRjaElkID09IFwidW5kaWZlbmRcIiB8fCBtYXRjaElkPT1udWxsKXtcclxuICAgICAgICAgICAgbWF0Y2hJZCA9ICB0aGlzLnNldE1hdGNoSWQoKTtcclxuICAgICAgICB9XHJcbiAgICAgICAgZWxzZXtcclxuICAgICAgICAgICAgaWYodGhpcy5jb250YWluc05hbmFuYShtYXRjaElkKSA9PSB0cnVlKXtcclxuICAgICAgICAgICAgICAgIG1hdGNoSWQgPSAgdGhpcy5zZXRNYXRjaElkKCk7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgZWxzZXtcclxuICAgICAgICAgICAgICAgIGxldCBjaGFyID0gcGFyc2VJbnQodGVtcElkLnN1YnN0cmluZygxMCx0ZW1wSWQubGVuZ3RoKSk7XHJcbiAgICAgICAgICAgICAgICBpZihjYy5meC5HYW1lQ29uZmlnLkdNX0lORk8ubGV2ZWwgPT0gMSl7XHJcbiAgICAgICAgICAgICAgICAgICAgY2hhciArPSAxO1xyXG4gICAgICAgICAgICAgICAgICAgIG1hdGNoSWQgID0gdGVtcElkLnNsaWNlKDAsIDEwKSArIGNoYXIgKyBcIlwiO1xyXG4gICAgICAgICAgICAgICAgICAgIGlmKHRoaXMuY29udGFpbnNOYW5hbmEobWF0Y2hJZCkpIG1hdGNoSWQgPSB0aGlzLnNldE1hdGNoSWQoKTtcclxuICAgICAgICAgICAgICAgICAgICBjYy5meC5HYW1lQ29uZmlnLkdNX0lORk8ubWF0Y2hJZCA9IG1hdGNoSWQ7XHJcbiAgICAgICAgICAgICAgICAgICAgY2Muc3lzLmxvY2FsU3RvcmFnZS5zZXRJdGVtKFwibWF0Y2hJZFwiLG1hdGNoSWQpO1xyXG4gICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG5cclxuICAgICAgICBpZih0aGlzLmNvbnRhaW5zTmFuYW5hKG1hdGNoSWQpID09IHRydWUpe1xyXG4gICAgICAgICAgICBtYXRjaElkID0gIHRoaXMuc2V0TWF0Y2hJZCgpO1xyXG4gICAgICAgIH1cclxuICAgICAgICByZXR1cm4gbWF0Y2hJZDtcclxuICAgIH0sXHJcbiAgICAvL+ajgOa1i21hdGNoSWQg5aaC5p6c5pyJ57yT5a2Y5Lul5YmN55qEbmFuYW5h5pWw5o2u5riF6ZmkXHJcbiAgICBjb250YWluc05hbmFuYShzdHIpIHtcclxuICAgICAgICByZXR1cm4gL25hL2kudGVzdChzdHIpO1xyXG4gICAgfSxcclxuICAgIC8v6YeN5paw6K6+572uTWF0Y2hJZFxyXG4gICAgc2V0TWF0Y2hJZCAoKXtcclxuICAgICAgICAvLyDlrprkuYnljIXlkKvlj6/nlKjlrZfnrKbnmoTlrZfnrKbpm4ZcclxuICAgICAgICBjb25zdCBjaGFyYWN0ZXJzID0gJ2FiY2RlZmdoaWprbG1ub3BxcnN0dXZ3eHl6QUJDREVGR0hJSktMTU5PUFFSU1RVVldYWVowMTIzNDU2Nzg5JztcclxuICAgICAgICAvLyDliJvlu7rkuIDkuKrmlbDnu4Tku6Xkv53lrZjpmo/mnLrlrZfnrKZcclxuICAgICAgICBjb25zdCB1dWlkQXJyYXkgPSBbXTtcclxuICAgICAgICAvLyDlvqrnjq8xMOasoSDnlJ/miJAxMOS9jeeahFVVSURcclxuICAgICAgICBmb3IgKGxldCBpID0gMDsgaSA8IDEwOyBpKyspIHtcclxuICAgICAgICAgICAgICAgIC8vIOeUn+aIkOmaj+acuue0ouW8le+8jOiMg+WbtOaYr+Wtl+espumbhueahOmVv+W6plxyXG4gICAgICAgICAgICBjb25zdCByYW5kb21JbmRleCA9IE1hdGguZmxvb3IoTWF0aC5yYW5kb20oKSAqIGNoYXJhY3RlcnMubGVuZ3RoKTtcclxuICAgICAgICAgICAgLy8g5LuO5a2X56ym6ZuG5Lit6I635Y+W6ZqP5py65a2X56ymXHJcbiAgICAgICAgICAgIGNvbnN0IHJhbmRvbUNoYXIgPSBjaGFyYWN0ZXJzLmNoYXJBdChyYW5kb21JbmRleCk7XHJcbiAgICAgICAgICAgIC8vIOWwhuWtl+espua3u+WKoOWIsOaVsOe7hOS4rVxyXG4gICAgICAgICAgICB1dWlkQXJyYXkucHVzaChyYW5kb21DaGFyKTtcclxuICAgICAgICB9XHJcbiAgICAgICAgbGV0IGRhdGEgPSAgdXVpZEFycmF5LmpvaW4oJycpICsgMSArIFwiXCI7XHJcbiAgICAgICAgY2Muc3lzLmxvY2FsU3RvcmFnZS5zZXRJdGVtKFwibWF0Y2hOdW1iZXJcIiwxKTtcclxuICAgICAgICBjYy5zeXMubG9jYWxTdG9yYWdlLnNldEl0ZW0oXCJtYXRjaElkXCIsZGF0YSk7XHJcbiAgICAgICAgY2MuZnguR2FtZUNvbmZpZy5HTV9JTkZPLm1hdGNoSWQgPSBkYXRhO1xyXG4gICAgICAgIHJldHVybiBkYXRhO1xyXG4gICAgfSxcclxuICAgIC8v5oiq5Y+W5ZCN5a2XXHJcbiAgICBzdWJOYW1lKG5hbWUsbGVuZ3RoKXtcclxuICAgICAgICBpZihuYW1lLmxlbmd0aCA+IGxlbmd0aCl7XHJcbiAgICAgICAgICAgIG5hbWUgPSBuYW1lLnN1YnN0cmluZygwLGxlbmd0aCkgKyBcIi4uLlwiXHJcbiAgICAgICAgfVxyXG4gICAgICAgIHJldHVybiBuYW1lO1xyXG4gICAgfSxcclxuICAgIC8v6K6+572u5aS05YOPXHJcbiAgICBzZXRQaWMobm9kZSxwaWMpe1xyXG4gICAgICAgIG5vZGUuYWN0aXZlID0gZmFsc2U7XHJcbiAgICAgICAgbGV0IHVybCA9IHBpYztcclxuICAgICAgICBzZXRUaW1lb3V0KCgpID0+IHtcclxuICAgICAgICAgICAgZmV0Y2godXJsKVxyXG4gICAgICAgICAgICAudGhlbihyZXNwb25zZSA9PiB7XHJcbiAgICAgICAgICAgICAgICByZXR1cm4gcmVzcG9uc2UuaGVhZGVycy5nZXQoJ0NvbnRlbnQtTGVuZ3RoJyk7XHJcbiAgICAgICAgICAgIH0pXHJcbiAgICAgICAgICAgIC50aGVuKGVyck5vID0+IHtcclxuICAgICAgICAgICAgICAgIGlmKGVyck5vID09IFwiNTA5M1wiKXtcclxuICAgICAgICAgICAgICAgICAgICBub2RlLmFjdGl2ZSA9IHRydWU7XHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIH0pXHJcbiAgICAgICAgICAgIC5jYXRjaChlcnJvciA9PiB7XHJcbiAgICAgICAgICAgICAgICAvLyBjb25zb2xlLmVycm9yKCdFcnJvciBmZXRjaGluZyBYLUluZm86JywgZXJyb3IpO1xyXG4gICAgICAgICAgICB9KTtcclxuICAgICAgICB9LCAxMDApO1xyXG4gICAgICAgIGNjLmFzc2V0TWFuYWdlci5sb2FkUmVtb3RlKHVybCwge2V4dDonLnBuZyd9LChlcnIsIHRleHR1cmU6Y2MuVGV4dHVyZTJEKSA9PiB7XHJcbiAgICAgICAgICAgIGlmKHRleHR1cmUpe1xyXG4gICAgICAgICAgICAgICAgbm9kZS5hY3RpdmUgPSB0cnVlO1xyXG4gICAgICAgICAgICAgICAgbm9kZS5nZXRDb21wb25lbnQoY2MuU3ByaXRlKS5zcHJpdGVGcmFtZSA9IG5ldyBjYy5TcHJpdGVGcmFtZSh0ZXh0dXJlKTtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICBlbHNle1xyXG4gICAgICAgICAgICAgICAgY29uc29sZS5sb2coZXJyLHRleHR1cmUpXHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9KVxyXG4gICAgfSxcclxuICAgIC8v56ys5LiA5Liq5Y+C5pWw5oqK55uu5qCH5bim6L+b5p2l5aSE55CG77yM56ys5LqM5Liq5Y+C5pWw5Li65ZCN5a2X6ZW/5bqm77yM5LiN5ZCM5Zy65pmv5LiN5ZCM6ZyA5rGCXHJcbiAgICAvL+WQjeWtlzTnn63vvIzlsI/mjpLooYzvvIzlkI3lrZc26ZW/77yM5aSn5o6S6KGMXHJcbiAgICBnZXRSYW5rRGF0YShkYXRhLHRhcmdldCxuYW1lTGVuZ3RoKXtcclxuICAgICAgICB0YXJnZXQubGlzdERhdGEgPSBkYXRhLmRhdGEubGlzdDtcclxuICAgICAgICB0YXJnZXQuc2VsZkRhdGEgPSBkYXRhLmRhdGEuaW5mbztcclxuICAgICAgICBsZXQgcmFua0RhdGEgPSBbXTtcclxuICAgICAgICBsZXQgc2VsZiA9IGZhbHNlO1xyXG4gICAgICAgICBjYy5meC5HYW1lVG9vbC5zZXRQaWModGFyZ2V0LnNlbGZOb2RlLmdldENoaWxkQnlOYW1lKFwicGljXCIpLmdldENoaWxkQnlOYW1lKFwiaWNvblwiKSx0YXJnZXQuc2VsZkRhdGEucGljKTtcclxuICAgICAgICBmb3IobGV0IGk9MDtpPD10YXJnZXQubGlzdERhdGEubGVuZ3RoLTE7aSsrKXtcclxuICAgICAgICAgICAgcmFua0RhdGEucHVzaCh7cmFuazooaSsxKSwgbmFtZTp0YXJnZXQubGlzdERhdGFbaV0ubmlja05hbWUsIHRvdGFsOnRhcmdldC5saXN0RGF0YVtpXS5zY29yZSx0aW1lOm51bGwsIHBpYzp0YXJnZXQubGlzdERhdGFbaV0ucGljfSk7XHJcbiAgICAgICAgICAgIGlmKGNjLmZ4LkdhbWVDb25maWcuR01fSU5GTy51c2VySWQgPT0gdGFyZ2V0Lmxpc3REYXRhW2ldLnVzZXJJZCl7XHJcbiAgICAgICAgICAgICAgICBzZWxmID0gdHJ1ZTtcclxuICAgICAgICAgICAgICAgIHRhcmdldC5yYW5rTnVtYmVyID0gaTtcclxuICAgICAgICAgICAgICAgIHRhcmdldC5zZWxmTm9kZS5nZXRDaGlsZEJ5TmFtZShcInJhbmtMYWJcIikuZ2V0Q29tcG9uZW50KGNjLkxhYmVsKS5zdHJpbmcgPShpKzEpICsgXCJcIjsgXHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgaWYoaSA9PSAodGFyZ2V0Lmxpc3REYXRhLmxlbmd0aC0xKSAmJiBzZWxmID09IGZhbHNlKXtcclxuICAgICAgICAgICAgICAgIHRhcmdldC5yYW5rTnVtYmVyID0gaTtcclxuICAgICAgICAgICAgICAgIHRhcmdldC5zZWxmTm9kZS5nZXRDaGlsZEJ5TmFtZShcInJhbmtMYWJcIikuZ2V0Q29tcG9uZW50KGNjLkxhYmVsKS5zdHJpbmcgPSBcIjk5K1wiOyBcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgICAgICAgY2MuZnguR2FtZVRvb2wuc3ViTmFtZSh0YXJnZXQuc2VsZkRhdGEubmlja05hbWUsbmFtZUxlbmd0aCk7XHJcbiAgICAgICAgdGFyZ2V0LnNlbGZOb2RlLmdldENoaWxkQnlOYW1lKFwibmFtZUxhYlwiKS5nZXRDb21wb25lbnQoY2MuTGFiZWwpLnN0cmluZyA9IHRhcmdldC5zZWxmRGF0YS5uaWNrTmFtZTtcclxuICAgICAgICB0YXJnZXQuc2VsZk5vZGUuZ2V0Q2hpbGRCeU5hbWUoXCJ0b3RhbExhYlwiKS5nZXRDb21wb25lbnQoY2MuTGFiZWwpLnN0cmluZyA9IHRhcmdldC5zZWxmRGF0YS5zY29yZTtcclxuICAgICAgICBsZXQgdGltZVRlbXAgPSBjYy5meC5HYW1lVG9vbC5nZXRUaW1lU2hlbk5vbmcodGFyZ2V0LnNlbGZEYXRhLnRvdGxlVGltZXMpO1xyXG4gICAgICAgIC8vIHRhcmdldC5zZWxmTm9kZS5nZXRDaGlsZEJ5TmFtZShcInRpbWVMYWJcIikuZ2V0Q29tcG9uZW50KGNjLkxhYmVsKS5zdHJpbmcgPSB0aW1lVGVtcCArIFwiXCI7XHJcbiAgICAgICAgc3dpdGNoKHRhcmdldC5zZWxmTm9kZS5nZXRDaGlsZEJ5TmFtZShcInJhbmtMYWJcIikuZ2V0Q29tcG9uZW50KGNjLkxhYmVsKS5zdHJpbmcpe1xyXG4gICAgICAgICAgICBjYXNlIFwiMVwiOlxyXG4gICAgICAgICAgICAgICAgdGFyZ2V0LnNlbGZOb2RlLmdldENoaWxkQnlOYW1lKFwicmFua1wiKS5nZXRDaGlsZEJ5TmFtZShcIm9uZVwiKS5hY3RpdmUgPSB0cnVlO1xyXG4gICAgICAgICAgICAgICAgYnJlYWs7XHJcbiAgICAgICAgICAgIGNhc2UgXCIyXCI6XHJcbiAgICAgICAgICAgICAgICB0YXJnZXQuc2VsZk5vZGUuZ2V0Q2hpbGRCeU5hbWUoXCJyYW5rXCIpLmdldENoaWxkQnlOYW1lKFwidHdvXCIpLmFjdGl2ZSA9IHRydWU7XHJcbiAgICAgICAgICAgICAgICBicmVhaztcclxuICAgICAgICAgICAgY2FzZSBcIjNcIjpcclxuICAgICAgICAgICAgICAgIHRhcmdldC5zZWxmTm9kZS5nZXRDaGlsZEJ5TmFtZShcInJhbmtcIikuZ2V0Q2hpbGRCeU5hbWUoXCJ0aHJlZVwiKS5hY3RpdmUgPSB0cnVlO1xyXG4gICAgICAgICAgICAgICAgYnJlYWs7XHJcbiAgICAgICAgfVxyXG4gICAgICAgIC8vIOWkp+aOkuihjFxyXG4gICAgICAgIGlmKG5hbWVMZW5ndGggPT0gNil7XHJcbiAgICAgICAgICAgIHRhcmdldC5yYW5rTGlzdC5zZXREYXRhKHJhbmtEYXRhKTtcclxuICAgICAgICAgICAgdGFyZ2V0LnNlbGZOb2RlLm9wYWNpdHkgPSAyNTU7XHJcbiAgICAgICAgICAgIGlmKHRhcmdldC5zZWxmRGF0YS50b3RhbFN1bkNvdW50ID09IDApIHRhcmdldC5zZWxmTm9kZS5vcGFjaXR5ID0gMDtcclxuICAgICAgICB9XHJcbiAgICB9LFxyXG5cclxuICAgIGdldFNlZWRSYW5kb206IGZ1bmN0aW9uIChtaW4sIG1heCkgey8v5YyF5ZCrbWluIOS4jeWMheWQq21heFxyXG4gICAgICAgIGNvbnNvbGUubG9nKFwi6ZqP5py65pWwOlwiLGNjLmZ4LkdhbWVDb25maWcuR01fSU5GTy5jdXJyU2VlZCk7XHJcbiAgICAgICAgbWF4ID0gbWF4IHx8IDE7XHJcbiAgICAgICAgbWluID0gbWluIHx8IDA7XHJcbiAgICAgICAgY2MuZnguR2FtZUNvbmZpZy5HTV9JTkZPLmN1cnJTZWVkID0gKGNjLmZ4LkdhbWVDb25maWcuR01fSU5GTy5jdXJyU2VlZCAqIDkzMDEgKyA0OTI5NykgJSAyMzMyODA7XHJcbiAgICAgICAgbGV0IHJuZCA9IGNjLmZ4LkdhbWVDb25maWcuR01fSU5GTy5jdXJyU2VlZCAgLyAyMzMyODAuMDtcclxuICAgICAgICBsZXQgdG1wID0gbWluICsgcm5kICogKG1heCAtIG1pbik7XHJcbiAgICAgICAgcmV0dXJuIHBhcnNlSW50KHRtcCk7XHJcbiAgICB9LFxyXG4gICAgLy/ojrflj5blhbPljaHphY3nva7nmoTpgqPkuKrlhbPljaHmlbBcclxuICAgIGdldEN1c3RvbSh0eXBlKXtcclxuICAgICAgICBsZXQgY3VzdG9tID0gY2MuZnguU3RvcmFnZU1lc3NhZ2UuZ2V0U3RvcmFnZShjYy5meC5zdG9yYWdlVHlwZS5zdG9yYWdlVHlwZUN1c3RvbSk7XHJcbiAgICAgICAgaWYoY3VzdG9tID09IFwidW5kaWZlbmRcIiB8fCBjdXN0b209PW51bGwgfHwgY3VzdG9tID09IFwiXCIpe1xyXG4gICAgICAgICAgICB0aGlzLnNldEN1c3RvbSgpO1xyXG4gICAgICAgIH1cclxuICAgICAgICBlbHNle1xyXG4gICAgICAgICAgICBjYy5meC5HYW1lQ29uZmlnLkdNX0lORk9fU0VUKFwiY3VzdG9tXCIsY3VzdG9tWzBdKTtcclxuICAgICAgICAgICAgaWYoY3VzdG9tWzBdICE9IDAgfHwgdHlwZSA9PSAgdHJ1ZSl7XHJcbiAgICAgICAgICAgICAgICBjdXN0b20uc2hpZnQoKTtcclxuICAgICAgICAgICAgICAgIGlmKGN1c3RvbS5sZW5ndGggPT0gMCl7XHJcbiAgICAgICAgICAgICAgICAgICAgdGhpcy5zZXRDdXN0b20oKTtcclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgIGVsc2UgY2MuZnguU3RvcmFnZU1lc3NhZ2Uuc2V0U3RvcmFnZShjYy5meC5zdG9yYWdlVHlwZS5zdG9yYWdlVHlwZUN1c3RvbSxjdXN0b20pO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgfSxcclxuICAgIC8v5pys5Zyw5rKh5pyJ5a2Y5YKo5Yiw6YWN572u77yM5oiW6ICF6YWN572u55So5a6M77yM6YeN5paw5Yib5bu66YWN572uXHJcbiAgICBzZXRDdXN0b20oKXtcclxuICAgICAgICBsZXQgYXJyYXlMZW5ndGggPSBjYy5meC5HYW1lQ29uZmlnLkxFVkVMX0lORk8ubGVuZ3RoO1xyXG4gICAgICAgIGxldCBhcnJheUxpc3QgPSBbXTtcclxuICAgICAgICBmb3IobGV0IGk9MTsgaTxhcnJheUxlbmd0aDtpKyspe1xyXG4gICAgICAgICAgICBhcnJheUxpc3QucHVzaChpKTtcclxuICAgICAgICB9XHJcbiAgICAgICAgYXJyYXlMaXN0LnNvcnQoKCkgPT4gTWF0aC5yYW5kb20oKSAtIDAuNSk7XHJcbiAgICAgICAgYXJyYXlMaXN0LnVuc2hpZnQoMClcclxuICAgICAgICBjYy5meC5HYW1lQ29uZmlnLkdNX0lORk9fU0VUKFwiY3VzdG9tXCIsYXJyYXlMaXN0WzBdKTtcclxuICAgICAgICBjYy5meC5TdG9yYWdlTWVzc2FnZS5zZXRTdG9yYWdlKGNjLmZ4LnN0b3JhZ2VUeXBlLnN0b3JhZ2VUeXBlQ3VzdG9tLGFycmF5TGlzdCk7XHJcbiAgICB9LFxyXG5cclxuXHJcbiAgICBnZXRTZXRTY3JlZW5SZXNvbHV0aW9uRmxhZzogZnVuY3Rpb24gKCkge1xyXG4gICAgICAgIGxldCBzaXplID0gY2Mud2luU2l6ZTtcclxuICAgICAgICBsZXQgd2lkdGggPSBzaXplLndpZHRoO1xyXG4gICAgICAgIGxldCBoZWlnaHQgPSBzaXplLmhlaWdodDtcclxuICAgICAgICBpZiAoKGhlaWdodCAvIHdpZHRoKSA+ICgxNi4yIC8gOSkpIHJldHVybiBmYWxzZTtcclxuICAgICAgICByZXR1cm4gdHJ1ZTtcclxuICAgIH0sXHJcbiAgICAvL+WIpOaWreWFqOmdouWxj+mAgumFjVxyXG4gICAgc2V0Rml0OiBmdW5jdGlvbiAoY2FudmFzKSB7XHJcbiAgICAgICAgbGV0IGZsYWcgPSAgY2MuZnguR2FtZVRvb2wuZ2V0U2V0U2NyZWVuUmVzb2x1dGlvbkZsYWcoKTtcclxuICAgICAgICBpZiAoZmxhZykge1xyXG4gICAgICAgIFx0Ly8gY29uc29sZS5sb2coXCLkuI3mmK/lhajpnaLlsY9cIik7XHJcbiAgICAgICAgfSBlbHNlIHtcclxuICAgICAgICBcdC8vIGNvbnNvbGUubG9nKFwi5piv5YWo6Z2i5bGPXCIpO1xyXG4gICAgICAgIH1cclxuICAgICAgICByZXR1cm4gZmxhZztcclxuICAgIH0sXHJcbiAgICAvL+iOt+WPlua4uOaIj+S/oeaBr1xyXG4gICAgZ2V0R2FtZUluZm86IGZ1bmN0aW9uKG5vZGUpe1xyXG4gICAgICAgIHZhciBqZyA9IGZhbHNlO1xyXG4gICAgICAgIHJldHVybiBqZztcclxuICAgIH0sXHJcbiAgICAvL+iuvue9rua4uOaIj+S/oeaBr1xyXG4gICAgc2V0R2FtZUluZm86IGZ1bmN0aW9uKHBkKXtcclxuICAgXHJcbiAgICB9LFxyXG5cclxuICAgIC8v5omT5a2X5py65pWI5p6cXHJcbiAgICB0eXBpbmdBbmkobGFiZWwsdGV4dCxjYix0YXJnZXQpe1xyXG4gICAgICAgIHZhciBzZWxmID0gdGFyZ2V0O1xyXG4gICAgICAgIHZhciBodG1sID0gJyc7XHJcbiAgICAgICAgdmFyIGFyciA9IHRleHQuc3BsaXQoJycpO1xyXG4gICAgICAgIHZhciBsZW4gPSBhcnIubGVuZ3RoO1xyXG4gICAgICAgIHZhciBzdGVwID0gMDtcclxuICAgICAgICBzZWxmLmZ1bmMgPSAoKT0+e1xyXG4gICAgICAgICAgICBodG1sICs9IGFycltzdGVwXTtcclxuICAgICAgICAgICAgbGFiZWwuc3RyaW5nID0gaHRtbDtcclxuICAgICAgICAgICAgaWYgKCsrc3RlcCA9PSBsZW4pIHtcclxuICAgICAgICAgICAgICAgIHNlbGYudW5zY2hlZHVsZShzZWxmLmZ1bmMpO1xyXG4gICAgICAgICAgICAgICAgY2IgJiYgY2IoKTtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgICAgICBzZWxmLnNjaGVkdWxlKHNlbGYuZnVuYywwLjEsIGNjLm1hY3JvLlJFUEVBVF9GT1JFVkVSLCAwKVxyXG4gICAgfSxcclxuXHJcbiAgICAvL+i+k+WFpeenkizov5Tlm57pnIDopoHlsZXnpLrml7bpl7TmoLzlvI9cclxuICAgIGdldFRpbWVNYXJnaW46KHNlY29uZCkgPT4ge1xyXG4gICAgICAgIGxldCB0b3RhbCA9IDA7XHJcbiAgICAgICAgdG90YWwgPSBzZWNvbmQ7XHJcbiAgICAgICAgbGV0IGhvdXIgPSAwO1xyXG4gICAgICAgIGhvdXIgPSBwYXJzZUludCgodG90YWwgLyAzNjAwKSArIFwiXCIpOy8v6K6h566X5pW05pWw5bCP5pe25pWwXHJcbiAgICAgICAgbGV0IGFmdGVySG91ciA9IHRvdGFsIC0gaG91ciAqIDYwICogNjA7Ly/lj5blvpfnrpflh7rlsI/ml7bmlbDlkI7liankvZnnmoTnp5LmlbBcclxuICAgICAgICBsZXQgbWluID0gcGFyc2VJbnQoKGFmdGVySG91ciAvIDYwKStcIlwiKTsvL+iuoeeul+aVtOaVsOWIhlxyXG4gICAgICAgIGxldCBtID0gXCJcIiArIG1pbjsgIFxyXG4gICAgICAgIGlmKG1pbiA8IDEwKSBtID0gXCIwXCIrbWluO1xyXG4gICAgICAgIGxldCBhZnRlck1pbiA9IHRvdGFsIC0gaG91ciAqIDYwICogNjAgLSBtaW4gKiA2MDsvL+WPluW+l+eul+WHuuWIhuWQjuWJqeS9meeahOenkuaVsFxyXG4gICAgICAgIGxldCBtaWFvID0gYWZ0ZXJNaW4gKyBcIlwiO1xyXG4gICAgICAgIGlmKGFmdGVyTWluIDwgMTApIG1pYW8gPSBcIjBcIiArIGFmdGVyTWluO1xyXG4gICAgICAgIHJldHVybiBtICsgJzonICsgbWlhb1xyXG4gICAgfSxcclxuXHJcbiAgICAvL+i+k+WFpeenkizov5Tlm57pnIDopoHlsZXnpLrml7bpl7TmoLzlvI9cclxuICAgIGdldFRpbWVTaGVuTm9uZzooc2Vjb25kKSA9PiB7XHJcbiAgICAgICAgc2Vjb25kID0gcGFyc2VJbnQoc2Vjb25kLzEwMDArXCJcIik7XHJcbiAgICAgICAgbGV0IHRvdGFsID0gMDtcclxuICAgICAgICB0b3RhbCA9IHNlY29uZDtcclxuICAgICAgICBsZXQgbWluID0gMDtcclxuICAgICAgICBpZih0b3RhbCA+IDYwKXtcclxuICAgICAgICAgICAgbWluID0gcGFyc2VJbnQoKHRvdGFsIC8gNjApK1wiXCIpOy8v6K6h566X5pW05pWw5YiGXHJcbiAgICAgICAgfVxyXG4gICAgICAgIGxldCBtID0gIG1pbiArIFwiJ1wiOyAgXHJcblxyXG4gICAgICAgIGxldCBhZnRlck1pbiA9IHRvdGFsIC0gbWluICogNjA7Ly/lj5blvpfnrpflh7rliIblkI7liankvZnnmoTnp5LmlbBcclxuICAgICAgICBsZXQgbWlhbyA9IGFmdGVyTWluICsgXCInJ1wiO1xyXG4gICAgICAgIHJldHVybiBtICsgbWlhb1xyXG4gICAgfSxcclxuXHJcbiAgICAvL+iOt+WPluaXtumXtOaIs1xyXG4gICAgZ2V0VGltZSgpe1xyXG4gICAgICAgIGNvbnN0IHRpbWVzdGFtcCA9ICAobmV3IERhdGUoKS5nZXRUaW1lKCkpXHJcbiAgICAgICAgcmV0dXJuIHRpbWVzdGFtcDtcclxuICAgIH0sXHJcbiAgICBwdXNoTGlzdGVyOmZ1bmN0aW9uICgpIHtcclxuICAgICAgICBcclxuICAgIH0sXHJcbiAgICByZW1vdmVBbGxMaXN0ZXI6ZnVuY3Rpb24gKCkge1xyXG4gICAgICAgIFxyXG4gICAgfSxcclxuXHJcbn07XHJcbmV4cG9ydCB7IEdhbWVUb29sIH07Il19 \ No newline at end of file +//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbImFzc2V0c1xcU2NyaXB0XFxtb2R1bGVcXFRvb2xcXEdhbWVUb29sLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7Ozs7Ozs7Ozs7Ozs7OztBQUNBLCtCQUErQjtBQUMvQixJQUFJLFFBQVEsR0FBRztJQUNYLFVBQVUsRUFBRSxDQUFDO0lBQ2IsUUFBUSxFQUFFLENBQUM7SUFDWCxVQUFVLEVBQUUsQ0FBQztJQUNiLFVBQVU7SUFDVixjQUFjO1FBQ1YsSUFBSSxJQUFJLEdBQUcsT0FBTyxHQUFHLEVBQUUsQ0FBQyxFQUFFLENBQUMsVUFBVSxDQUFDLE9BQU8sQ0FBQyxNQUFNLENBQUM7UUFDckQsSUFBSSxJQUFJLEdBQUcsSUFBSSxDQUFDLEtBQUssQ0FBQyxZQUFZLENBQUMsT0FBTyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUM7UUFDbEQsSUFBRyxJQUFJLElBQUksVUFBVSxJQUFJLElBQUksSUFBRSxJQUFJLElBQUksSUFBSSxJQUFJLEVBQUUsRUFBQztZQUM5QyxJQUFJLE1BQU0sR0FBRyxNQUFNLENBQUMsUUFBUSxDQUFDLElBQUksQ0FBQztZQUNsQyxJQUFHLENBQUMsSUFBSSxDQUFDLGFBQWEsQ0FBQyxNQUFNLENBQUMsRUFBQztnQkFDM0IsSUFBSSxHQUFHLEdBQUcsOEVBQThFLEdBQUMsUUFBUSxDQUFDLElBQUksQ0FBQztnQkFDdkcsTUFBTSxDQUFDLFFBQVEsQ0FBQyxJQUFJLEdBQUcsR0FBRyxDQUFDO2FBQzlCO1NBQ0o7YUFDRztZQUNBLEVBQUUsQ0FBQyxFQUFFLENBQUMsY0FBYyxDQUFDLFVBQVUsQ0FBQyxJQUFJLEVBQUMsSUFBSSxDQUFDLENBQUM7WUFDM0MsRUFBRSxDQUFDLEVBQUUsQ0FBQyxVQUFVLENBQUMsT0FBTyxDQUFDLE1BQU0sR0FBRyxRQUFRLENBQUMsSUFBSSxDQUFDLE1BQU0sQ0FBQyxDQUFDO1NBQzNEO0lBQ0wsQ0FBQztJQUVELGFBQWEsWUFBQyxHQUFHO1FBQ2IsT0FBTyxhQUFhLENBQUMsSUFBSSxDQUFDLEdBQUcsQ0FBQyxDQUFDO0lBQ25DLENBQUM7SUFFRCxNQUFNO0lBQ04sV0FBVztRQUNQLG9CQUFvQjtRQUNwQixFQUFFLENBQUMsRUFBRSxDQUFDLFVBQVUsQ0FBQyxTQUFTLEdBQUcsRUFBRSxDQUFDO1FBQ2hDLEVBQUUsQ0FBQyxFQUFFLENBQUMsVUFBVSxDQUFDLFNBQVMsQ0FBQyxJQUFJLENBQUMsRUFBRSxDQUFDLEVBQUUsQ0FBQyxVQUFVLENBQUMsVUFBVSxDQUFDLENBQUM7UUFDN0QsRUFBRSxDQUFDLEVBQUUsQ0FBQyxVQUFVLENBQUMsVUFBVSxFQUFFLENBQUM7UUFDOUIsSUFBSSxJQUFJLEdBQUcsRUFBRSxDQUFDLEVBQUUsQ0FBQyxVQUFVLENBQUMsU0FBUyxDQUFDO1FBQ3RDLElBQUksT0FBTyxHQUFHLElBQUksQ0FBQyxVQUFVLEVBQUUsQ0FBQztRQUNoQyxJQUFJLFFBQVEsR0FBRztZQUNYLFFBQVEsRUFBQyxFQUFFLENBQUMsRUFBRSxDQUFDLFVBQVUsQ0FBQyxPQUFPLENBQUMsTUFBTTtZQUN4QyxRQUFRLEVBQUMsRUFBRSxDQUFDLEVBQUUsQ0FBQyxVQUFVLENBQUMsT0FBTyxDQUFDLE1BQU07WUFDeEMsU0FBUyxFQUFDLE9BQU87WUFDakIsTUFBTSxFQUFFLElBQUk7U0FDZixDQUFDO1FBRUYsNkJBQTZCO1FBQzdCLEVBQUUsQ0FBQyxFQUFFLENBQUMsUUFBUSxDQUFDLGlCQUFpQixDQUFDLFFBQVEsRUFBQyxjQUFXLENBQUMsQ0FBQyxDQUFBO0lBQzNELENBQUM7SUFDRCxlQUFlO0lBQ2YsT0FBTyxZQUFDLElBQUk7UUFDUixvQkFBb0I7UUFDcEIsSUFBSSxRQUFRLEdBQUc7WUFDWCxRQUFRLEVBQUMsRUFBRSxDQUFDLEVBQUUsQ0FBQyxVQUFVLENBQUMsT0FBTyxDQUFDLE1BQU07WUFDeEMsUUFBUSxFQUFDLEVBQUUsQ0FBQyxFQUFFLENBQUMsVUFBVSxDQUFDLE9BQU8sQ0FBQyxNQUFNO1lBQ3hDLE1BQU0sRUFBQyxDQUFDO1lBQ1IsT0FBTyxFQUFFLElBQUksQ0FBQyxLQUFLO1lBQ25CLFVBQVUsRUFBRSxJQUFJLENBQUMsSUFBSTtZQUNyQixTQUFTLEVBQUUsRUFBRSxDQUFDLEVBQUUsQ0FBQyxVQUFVLENBQUMsT0FBTyxDQUFDLE9BQU87U0FDOUMsQ0FBQztRQUNGLEVBQUUsQ0FBQyxFQUFFLENBQUMsUUFBUSxDQUFDLFFBQVEsQ0FBQyxDQUFDLEVBQUMsY0FBVyxDQUFDLEVBQUMsUUFBUSxDQUFDLENBQUM7SUFDckQsQ0FBQztJQUNELGNBQWM7SUFDZCxPQUFPLFlBQUMsSUFBSSxFQUFDLFFBQVE7UUFDakIsSUFBSSxVQUFVLEdBQUcsSUFBSSxDQUFDLE1BQU0sQ0FBQztRQUM3QixJQUFJLFFBQVEsR0FBRztZQUNYLFFBQVEsRUFBQyxFQUFFLENBQUMsRUFBRSxDQUFDLFVBQVUsQ0FBQyxPQUFPLENBQUMsTUFBTTtZQUN4QyxRQUFRLEVBQUMsRUFBRSxDQUFDLEVBQUUsQ0FBQyxVQUFVLENBQUMsT0FBTyxDQUFDLE1BQU07WUFDeEMsTUFBTSxFQUFDLENBQUM7WUFDUixVQUFVLEVBQUMsVUFBVTtTQUN4QixDQUFDO1FBQ0YsZ0JBQWdCO1FBQ2hCLEVBQUUsQ0FBQyxFQUFFLENBQUMsUUFBUSxDQUFDLFFBQVEsQ0FBQyxDQUFDLEVBQUMsVUFBQSxJQUFJLElBQUksUUFBUSxDQUFDLElBQUksQ0FBQyxDQUFBLENBQUEsQ0FBQyxFQUFDLFFBQVEsQ0FBQyxDQUFDO0lBQ2hFLENBQUM7SUFDRCxpQ0FBaUM7SUFDakMsVUFBVTtRQUNOLElBQUksT0FBTyxHQUFHLEVBQUUsQ0FBQyxHQUFHLENBQUMsWUFBWSxDQUFDLE9BQU8sQ0FBQyxTQUFTLENBQUMsQ0FBQztRQUNyRCxJQUFJLE1BQU0sR0FBRyxPQUFPLENBQUM7UUFDckIsSUFBRyxPQUFPLElBQUksVUFBVSxJQUFJLE9BQU8sSUFBRSxJQUFJLEVBQUM7WUFDdEMsT0FBTyxHQUFJLElBQUksQ0FBQyxVQUFVLEVBQUUsQ0FBQztTQUNoQzthQUNHO1lBQ0EsSUFBRyxJQUFJLENBQUMsY0FBYyxDQUFDLE9BQU8sQ0FBQyxJQUFJLElBQUksRUFBQztnQkFDcEMsT0FBTyxHQUFJLElBQUksQ0FBQyxVQUFVLEVBQUUsQ0FBQzthQUNoQztpQkFDRztnQkFDQSxJQUFJLElBQUksR0FBRyxRQUFRLENBQUMsTUFBTSxDQUFDLFNBQVMsQ0FBQyxFQUFFLEVBQUMsTUFBTSxDQUFDLE1BQU0sQ0FBQyxDQUFDLENBQUM7Z0JBQ3hELElBQUcsRUFBRSxDQUFDLEVBQUUsQ0FBQyxVQUFVLENBQUMsT0FBTyxDQUFDLEtBQUssSUFBSSxDQUFDLEVBQUM7b0JBQ25DLElBQUksSUFBSSxDQUFDLENBQUM7b0JBQ1YsT0FBTyxHQUFJLE1BQU0sQ0FBQyxLQUFLLENBQUMsQ0FBQyxFQUFFLEVBQUUsQ0FBQyxHQUFHLElBQUksR0FBRyxFQUFFLENBQUM7b0JBQzNDLElBQUcsSUFBSSxDQUFDLGNBQWMsQ0FBQyxPQUFPLENBQUM7d0JBQUUsT0FBTyxHQUFHLElBQUksQ0FBQyxVQUFVLEVBQUUsQ0FBQztvQkFDN0QsRUFBRSxDQUFDLEVBQUUsQ0FBQyxVQUFVLENBQUMsT0FBTyxDQUFDLE9BQU8sR0FBRyxPQUFPLENBQUM7b0JBQzNDLEVBQUUsQ0FBQyxHQUFHLENBQUMsWUFBWSxDQUFDLE9BQU8sQ0FBQyxTQUFTLEVBQUMsT0FBTyxDQUFDLENBQUM7aUJBQ2xEO2FBQ0o7U0FDSjtRQUVELElBQUcsSUFBSSxDQUFDLGNBQWMsQ0FBQyxPQUFPLENBQUMsSUFBSSxJQUFJLEVBQUM7WUFDcEMsT0FBTyxHQUFJLElBQUksQ0FBQyxVQUFVLEVBQUUsQ0FBQztTQUNoQztRQUNELE9BQU8sT0FBTyxDQUFDO0lBQ25CLENBQUM7SUFDRCw4QkFBOEI7SUFDOUIsY0FBYyxZQUFDLEdBQUc7UUFDZCxPQUFPLEtBQUssQ0FBQyxJQUFJLENBQUMsR0FBRyxDQUFDLENBQUM7SUFDM0IsQ0FBQztJQUNELGFBQWE7SUFDYixVQUFVO1FBQ04sZUFBZTtRQUNmLElBQU0sVUFBVSxHQUFHLGdFQUFnRSxDQUFDO1FBQ3BGLGdCQUFnQjtRQUNoQixJQUFNLFNBQVMsR0FBRyxFQUFFLENBQUM7UUFDckIsbUJBQW1CO1FBQ25CLEtBQUssSUFBSSxDQUFDLEdBQUcsQ0FBQyxFQUFFLENBQUMsR0FBRyxFQUFFLEVBQUUsQ0FBQyxFQUFFLEVBQUU7WUFDckIsbUJBQW1CO1lBQ3ZCLElBQU0sV0FBVyxHQUFHLElBQUksQ0FBQyxLQUFLLENBQUMsSUFBSSxDQUFDLE1BQU0sRUFBRSxHQUFHLFVBQVUsQ0FBQyxNQUFNLENBQUMsQ0FBQztZQUNsRSxjQUFjO1lBQ2QsSUFBTSxVQUFVLEdBQUcsVUFBVSxDQUFDLE1BQU0sQ0FBQyxXQUFXLENBQUMsQ0FBQztZQUNsRCxZQUFZO1lBQ1osU0FBUyxDQUFDLElBQUksQ0FBQyxVQUFVLENBQUMsQ0FBQztTQUM5QjtRQUNELElBQUksSUFBSSxHQUFJLFNBQVMsQ0FBQyxJQUFJLENBQUMsRUFBRSxDQUFDLEdBQUcsQ0FBQyxHQUFHLEVBQUUsQ0FBQztRQUN4QyxFQUFFLENBQUMsR0FBRyxDQUFDLFlBQVksQ0FBQyxPQUFPLENBQUMsYUFBYSxFQUFDLENBQUMsQ0FBQyxDQUFDO1FBQzdDLEVBQUUsQ0FBQyxHQUFHLENBQUMsWUFBWSxDQUFDLE9BQU8sQ0FBQyxTQUFTLEVBQUMsSUFBSSxDQUFDLENBQUM7UUFDNUMsRUFBRSxDQUFDLEVBQUUsQ0FBQyxVQUFVLENBQUMsT0FBTyxDQUFDLE9BQU8sR0FBRyxJQUFJLENBQUM7UUFDeEMsT0FBTyxJQUFJLENBQUM7SUFDaEIsQ0FBQztJQUNELE1BQU07SUFDTixPQUFPLFlBQUMsSUFBSSxFQUFDLE1BQU07UUFDZixJQUFHLElBQUksQ0FBQyxNQUFNLEdBQUcsTUFBTSxFQUFDO1lBQ3BCLElBQUksR0FBRyxJQUFJLENBQUMsU0FBUyxDQUFDLENBQUMsRUFBQyxNQUFNLENBQUMsR0FBRyxLQUFLLENBQUE7U0FDMUM7UUFDRCxPQUFPLElBQUksQ0FBQztJQUNoQixDQUFDO0lBQ0QsTUFBTTtJQUNOLE1BQU0sRUFBTixVQUFPLElBQUksRUFBQyxHQUFHO1FBQ1gsSUFBSSxDQUFDLE1BQU0sR0FBRyxLQUFLLENBQUM7UUFDcEIsSUFBSSxHQUFHLEdBQUcsR0FBRyxDQUFDO1FBQ2QsVUFBVSxDQUFDO1lBQ1AsS0FBSyxDQUFDLEdBQUcsQ0FBQztpQkFDVCxJQUFJLENBQUMsVUFBQSxRQUFRO2dCQUNWLE9BQU8sUUFBUSxDQUFDLE9BQU8sQ0FBQyxHQUFHLENBQUMsZ0JBQWdCLENBQUMsQ0FBQztZQUNsRCxDQUFDLENBQUM7aUJBQ0QsSUFBSSxDQUFDLFVBQUEsS0FBSztnQkFDUCxJQUFHLEtBQUssSUFBSSxNQUFNLEVBQUM7b0JBQ2YsSUFBSSxDQUFDLE1BQU0sR0FBRyxJQUFJLENBQUM7aUJBQ3RCO1lBQ0wsQ0FBQyxDQUFDO2lCQUNELEtBQUssQ0FBQyxVQUFBLEtBQUs7Z0JBQ1Isa0RBQWtEO1lBQ3RELENBQUMsQ0FBQyxDQUFDO1FBQ1AsQ0FBQyxFQUFFLEdBQUcsQ0FBQyxDQUFDO1FBQ1IsRUFBRSxDQUFDLFlBQVksQ0FBQyxVQUFVLENBQUMsR0FBRyxFQUFFLEVBQUMsR0FBRyxFQUFDLE1BQU0sRUFBQyxFQUFDLFVBQUMsR0FBRyxFQUFFLE9BQW9CO1lBQ25FLElBQUcsT0FBTyxFQUFDO2dCQUNQLElBQUksQ0FBQyxNQUFNLEdBQUcsSUFBSSxDQUFDO2dCQUNuQixJQUFJLENBQUMsWUFBWSxDQUFDLEVBQUUsQ0FBQyxNQUFNLENBQUMsQ0FBQyxXQUFXLEdBQUcsSUFBSSxFQUFFLENBQUMsV0FBVyxDQUFDLE9BQU8sQ0FBQyxDQUFDO2FBQzFFO2lCQUNHO2dCQUNBLE9BQU8sQ0FBQyxHQUFHLENBQUMsR0FBRyxFQUFDLE9BQU8sQ0FBQyxDQUFBO2FBQzNCO1FBQ0wsQ0FBQyxDQUFDLENBQUE7SUFDTixDQUFDO0lBQ0QsbUNBQW1DO0lBQ25DLG1CQUFtQjtJQUNuQixXQUFXLFlBQUMsSUFBSSxFQUFDLE1BQU0sRUFBQyxVQUFVO1FBQzlCLE1BQU0sQ0FBQyxRQUFRLEdBQUcsSUFBSSxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUM7UUFDakMsTUFBTSxDQUFDLFFBQVEsR0FBRyxJQUFJLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQztRQUNqQyxJQUFJLFFBQVEsR0FBRyxFQUFFLENBQUM7UUFDbEIsSUFBSSxJQUFJLEdBQUcsS0FBSyxDQUFDO1FBQ2hCLEVBQUUsQ0FBQyxFQUFFLENBQUMsUUFBUSxDQUFDLE1BQU0sQ0FBQyxNQUFNLENBQUMsUUFBUSxDQUFDLGNBQWMsQ0FBQyxLQUFLLENBQUMsQ0FBQyxjQUFjLENBQUMsTUFBTSxDQUFDLEVBQUMsTUFBTSxDQUFDLFFBQVEsQ0FBQyxHQUFHLENBQUMsQ0FBQztRQUN6RyxLQUFJLElBQUksQ0FBQyxHQUFDLENBQUMsRUFBQyxDQUFDLElBQUUsTUFBTSxDQUFDLFFBQVEsQ0FBQyxNQUFNLEdBQUMsQ0FBQyxFQUFDLENBQUMsRUFBRSxFQUFDO1lBQ3hDLFFBQVEsQ0FBQyxJQUFJLENBQUMsRUFBQyxJQUFJLEVBQUMsQ0FBQyxDQUFDLEdBQUMsQ0FBQyxDQUFDLEVBQUUsSUFBSSxFQUFDLE1BQU0sQ0FBQyxRQUFRLENBQUMsQ0FBQyxDQUFDLENBQUMsUUFBUSxFQUFFLEtBQUssRUFBQyxNQUFNLENBQUMsUUFBUSxDQUFDLENBQUMsQ0FBQyxDQUFDLEtBQUssRUFBQyxJQUFJLEVBQUMsSUFBSSxFQUFFLEdBQUcsRUFBQyxNQUFNLENBQUMsUUFBUSxDQUFDLENBQUMsQ0FBQyxDQUFDLEdBQUcsRUFBQyxDQUFDLENBQUM7WUFDcEksSUFBRyxFQUFFLENBQUMsRUFBRSxDQUFDLFVBQVUsQ0FBQyxPQUFPLENBQUMsTUFBTSxJQUFJLE1BQU0sQ0FBQyxRQUFRLENBQUMsQ0FBQyxDQUFDLENBQUMsTUFBTSxFQUFDO2dCQUM1RCxJQUFJLEdBQUcsSUFBSSxDQUFDO2dCQUNaLE1BQU0sQ0FBQyxVQUFVLEdBQUcsQ0FBQyxDQUFDO2dCQUN0QixNQUFNLENBQUMsUUFBUSxDQUFDLGNBQWMsQ0FBQyxTQUFTLENBQUMsQ0FBQyxZQUFZLENBQUMsRUFBRSxDQUFDLEtBQUssQ0FBQyxDQUFDLE1BQU0sR0FBRSxDQUFDLENBQUMsR0FBQyxDQUFDLENBQUMsR0FBRyxFQUFFLENBQUM7YUFDdkY7WUFDRCxJQUFHLENBQUMsSUFBSSxDQUFDLE1BQU0sQ0FBQyxRQUFRLENBQUMsTUFBTSxHQUFDLENBQUMsQ0FBQyxJQUFJLElBQUksSUFBSSxLQUFLLEVBQUM7Z0JBQ2hELE1BQU0sQ0FBQyxVQUFVLEdBQUcsQ0FBQyxDQUFDO2dCQUN0QixNQUFNLENBQUMsUUFBUSxDQUFDLGNBQWMsQ0FBQyxTQUFTLENBQUMsQ0FBQyxZQUFZLENBQUMsRUFBRSxDQUFDLEtBQUssQ0FBQyxDQUFDLE1BQU0sR0FBRyxLQUFLLENBQUM7YUFDbkY7U0FDSjtRQUNBLEVBQUUsQ0FBQyxFQUFFLENBQUMsUUFBUSxDQUFDLE9BQU8sQ0FBQyxNQUFNLENBQUMsUUFBUSxDQUFDLFFBQVEsRUFBQyxVQUFVLENBQUMsQ0FBQztRQUM3RCxNQUFNLENBQUMsUUFBUSxDQUFDLGNBQWMsQ0FBQyxTQUFTLENBQUMsQ0FBQyxZQUFZLENBQUMsRUFBRSxDQUFDLEtBQUssQ0FBQyxDQUFDLE1BQU0sR0FBRyxNQUFNLENBQUMsUUFBUSxDQUFDLFFBQVEsQ0FBQztRQUNuRyxNQUFNLENBQUMsUUFBUSxDQUFDLGNBQWMsQ0FBQyxVQUFVLENBQUMsQ0FBQyxZQUFZLENBQUMsRUFBRSxDQUFDLEtBQUssQ0FBQyxDQUFDLE1BQU0sR0FBRyxNQUFNLENBQUMsUUFBUSxDQUFDLEtBQUssQ0FBQztRQUNqRyxJQUFJLFFBQVEsR0FBRyxFQUFFLENBQUMsRUFBRSxDQUFDLFFBQVEsQ0FBQyxlQUFlLENBQUMsTUFBTSxDQUFDLFFBQVEsQ0FBQyxVQUFVLENBQUMsQ0FBQztRQUMxRSwyRkFBMkY7UUFDM0YsUUFBTyxNQUFNLENBQUMsUUFBUSxDQUFDLGNBQWMsQ0FBQyxTQUFTLENBQUMsQ0FBQyxZQUFZLENBQUMsRUFBRSxDQUFDLEtBQUssQ0FBQyxDQUFDLE1BQU0sRUFBQztZQUMzRSxLQUFLLEdBQUc7Z0JBQ0osTUFBTSxDQUFDLFFBQVEsQ0FBQyxjQUFjLENBQUMsTUFBTSxDQUFDLENBQUMsY0FBYyxDQUFDLEtBQUssQ0FBQyxDQUFDLE1BQU0sR0FBRyxJQUFJLENBQUM7Z0JBQzNFLE1BQU07WUFDVixLQUFLLEdBQUc7Z0JBQ0osTUFBTSxDQUFDLFFBQVEsQ0FBQyxjQUFjLENBQUMsTUFBTSxDQUFDLENBQUMsY0FBYyxDQUFDLEtBQUssQ0FBQyxDQUFDLE1BQU0sR0FBRyxJQUFJLENBQUM7Z0JBQzNFLE1BQU07WUFDVixLQUFLLEdBQUc7Z0JBQ0osTUFBTSxDQUFDLFFBQVEsQ0FBQyxjQUFjLENBQUMsTUFBTSxDQUFDLENBQUMsY0FBYyxDQUFDLE9BQU8sQ0FBQyxDQUFDLE1BQU0sR0FBRyxJQUFJLENBQUM7Z0JBQzdFLE1BQU07U0FDYjtRQUNELE1BQU07UUFDTixJQUFHLFVBQVUsSUFBSSxDQUFDLEVBQUM7WUFDZixNQUFNLENBQUMsUUFBUSxDQUFDLE9BQU8sQ0FBQyxRQUFRLENBQUMsQ0FBQztZQUNsQyxNQUFNLENBQUMsUUFBUSxDQUFDLE9BQU8sR0FBRyxHQUFHLENBQUM7WUFDOUIsSUFBRyxNQUFNLENBQUMsUUFBUSxDQUFDLGFBQWEsSUFBSSxDQUFDO2dCQUFFLE1BQU0sQ0FBQyxRQUFRLENBQUMsT0FBTyxHQUFHLENBQUMsQ0FBQztTQUN0RTtJQUNMLENBQUM7SUFFRCxhQUFhLEVBQUUsVUFBVSxHQUFHLEVBQUUsR0FBRztRQUM3QixPQUFPLENBQUMsR0FBRyxDQUFDLE1BQU0sRUFBQyxFQUFFLENBQUMsRUFBRSxDQUFDLFVBQVUsQ0FBQyxPQUFPLENBQUMsUUFBUSxDQUFDLENBQUM7UUFDdEQsR0FBRyxHQUFHLEdBQUcsSUFBSSxDQUFDLENBQUM7UUFDZixHQUFHLEdBQUcsR0FBRyxJQUFJLENBQUMsQ0FBQztRQUNmLEVBQUUsQ0FBQyxFQUFFLENBQUMsVUFBVSxDQUFDLE9BQU8sQ0FBQyxRQUFRLEdBQUcsQ0FBQyxFQUFFLENBQUMsRUFBRSxDQUFDLFVBQVUsQ0FBQyxPQUFPLENBQUMsUUFBUSxHQUFHLElBQUksR0FBRyxLQUFLLENBQUMsR0FBRyxNQUFNLENBQUM7UUFDaEcsSUFBSSxHQUFHLEdBQUcsRUFBRSxDQUFDLEVBQUUsQ0FBQyxVQUFVLENBQUMsT0FBTyxDQUFDLFFBQVEsR0FBSSxRQUFRLENBQUM7UUFDeEQsSUFBSSxHQUFHLEdBQUcsR0FBRyxHQUFHLEdBQUcsR0FBRyxDQUFDLEdBQUcsR0FBRyxHQUFHLENBQUMsQ0FBQztRQUNsQyxPQUFPLFFBQVEsQ0FBQyxHQUFHLENBQUMsQ0FBQztJQUN6QixDQUFDO0lBQ0QsY0FBYztJQUNkLFNBQVMsWUFBQyxJQUFJO1FBQ1YsSUFBSSxNQUFNLEdBQUcsRUFBRSxDQUFDLEVBQUUsQ0FBQyxjQUFjLENBQUMsVUFBVSxDQUFDLEVBQUUsQ0FBQyxFQUFFLENBQUMsV0FBVyxDQUFDLGlCQUFpQixDQUFDLENBQUM7UUFDbEYsSUFBRyxNQUFNLElBQUksVUFBVSxJQUFJLE1BQU0sSUFBRSxJQUFJLElBQUksTUFBTSxJQUFJLEVBQUUsRUFBQztZQUNwRCxJQUFJLENBQUMsU0FBUyxFQUFFLENBQUM7U0FDcEI7YUFDRztZQUNBLEVBQUUsQ0FBQyxFQUFFLENBQUMsVUFBVSxDQUFDLFdBQVcsQ0FBQyxRQUFRLEVBQUMsTUFBTSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUM7WUFDakQsSUFBRyxNQUFNLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxJQUFJLElBQUksSUFBSyxJQUFJLEVBQUM7Z0JBQy9CLE1BQU0sQ0FBQyxLQUFLLEVBQUUsQ0FBQztnQkFDZixJQUFHLE1BQU0sQ0FBQyxNQUFNLElBQUksQ0FBQyxFQUFDO29CQUNsQixJQUFJLENBQUMsU0FBUyxFQUFFLENBQUM7aUJBQ3BCOztvQkFDSSxFQUFFLENBQUMsRUFBRSxDQUFDLGNBQWMsQ0FBQyxVQUFVLENBQUMsRUFBRSxDQUFDLEVBQUUsQ0FBQyxXQUFXLENBQUMsaUJBQWlCLEVBQUMsTUFBTSxDQUFDLENBQUM7YUFDcEY7U0FDSjtJQUNMLENBQUM7SUFDRCx5QkFBeUI7SUFDekIsU0FBUztRQUNMLElBQUksV0FBVyxHQUFHLEVBQUUsQ0FBQyxFQUFFLENBQUMsVUFBVSxDQUFDLFVBQVUsQ0FBQyxNQUFNLENBQUM7UUFDckQsSUFBSSxTQUFTLEdBQUcsRUFBRSxDQUFDO1FBQ25CLEtBQUksSUFBSSxDQUFDLEdBQUMsQ0FBQyxFQUFFLENBQUMsR0FBQyxXQUFXLEVBQUMsQ0FBQyxFQUFFLEVBQUM7WUFDM0IsU0FBUyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsQ0FBQztTQUNyQjtRQUNELFNBQVMsQ0FBQyxJQUFJLENBQUMsY0FBTSxPQUFBLElBQUksQ0FBQyxNQUFNLEVBQUUsR0FBRyxHQUFHLEVBQW5CLENBQW1CLENBQUMsQ0FBQztRQUMxQyxTQUFTLENBQUMsT0FBTyxDQUFDLENBQUMsQ0FBQyxDQUFBO1FBQ3BCLEVBQUUsQ0FBQyxFQUFFLENBQUMsVUFBVSxDQUFDLFdBQVcsQ0FBQyxRQUFRLEVBQUMsU0FBUyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUM7UUFDcEQsRUFBRSxDQUFDLEVBQUUsQ0FBQyxjQUFjLENBQUMsVUFBVSxDQUFDLEVBQUUsQ0FBQyxFQUFFLENBQUMsV0FBVyxDQUFDLGlCQUFpQixFQUFDLFNBQVMsQ0FBQyxDQUFDO0lBQ25GLENBQUM7SUFHRCwwQkFBMEIsRUFBRTtRQUN4QixJQUFJLElBQUksR0FBRyxFQUFFLENBQUMsT0FBTyxDQUFDO1FBQ3RCLElBQUksS0FBSyxHQUFHLElBQUksQ0FBQyxLQUFLLENBQUM7UUFDdkIsSUFBSSxNQUFNLEdBQUcsSUFBSSxDQUFDLE1BQU0sQ0FBQztRQUN6QixJQUFJLENBQUMsTUFBTSxHQUFHLEtBQUssQ0FBQyxHQUFHLENBQUMsSUFBSSxHQUFHLENBQUMsQ0FBQztZQUFFLE9BQU8sS0FBSyxDQUFDO1FBQ2hELE9BQU8sSUFBSSxDQUFDO0lBQ2hCLENBQUM7SUFDRCxTQUFTO0lBQ1QsTUFBTSxFQUFFLFVBQVUsTUFBTTtRQUNwQixJQUFJLElBQUksR0FBSSxFQUFFLENBQUMsRUFBRSxDQUFDLFFBQVEsQ0FBQywwQkFBMEIsRUFBRSxDQUFDO1FBQ3hELElBQUksSUFBSSxFQUFFO1lBQ1Qsd0JBQXdCO1NBQ3hCO2FBQU07WUFDTix1QkFBdUI7U0FDdkI7UUFDRCxPQUFPLElBQUksQ0FBQztJQUNoQixDQUFDO0lBQ0QsUUFBUTtJQUNSLFdBQVcsRUFBRSxVQUFTLElBQUk7UUFDdEIsSUFBSSxFQUFFLEdBQUcsS0FBSyxDQUFDO1FBQ2YsT0FBTyxFQUFFLENBQUM7SUFDZCxDQUFDO0lBQ0QsUUFBUTtJQUNSLFdBQVcsRUFBRSxVQUFTLEVBQUU7SUFFeEIsQ0FBQztJQUVELE9BQU87SUFDUCxTQUFTLFlBQUMsS0FBSyxFQUFDLElBQUksRUFBQyxFQUFFLEVBQUMsTUFBTTtRQUMxQixJQUFJLElBQUksR0FBRyxNQUFNLENBQUM7UUFDbEIsSUFBSSxJQUFJLEdBQUcsRUFBRSxDQUFDO1FBQ2QsSUFBSSxHQUFHLEdBQUcsSUFBSSxDQUFDLEtBQUssQ0FBQyxFQUFFLENBQUMsQ0FBQztRQUN6QixJQUFJLEdBQUcsR0FBRyxHQUFHLENBQUMsTUFBTSxDQUFDO1FBQ3JCLElBQUksSUFBSSxHQUFHLENBQUMsQ0FBQztRQUNiLElBQUksQ0FBQyxJQUFJLEdBQUc7WUFDUixJQUFJLElBQUksR0FBRyxDQUFDLElBQUksQ0FBQyxDQUFDO1lBQ2xCLEtBQUssQ0FBQyxNQUFNLEdBQUcsSUFBSSxDQUFDO1lBQ3BCLElBQUksRUFBRSxJQUFJLElBQUksR0FBRyxFQUFFO2dCQUNmLElBQUksQ0FBQyxVQUFVLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxDQUFDO2dCQUMzQixFQUFFLElBQUksRUFBRSxFQUFFLENBQUM7YUFDZDtRQUNMLENBQUMsQ0FBQTtRQUNELElBQUksQ0FBQyxRQUFRLENBQUMsSUFBSSxDQUFDLElBQUksRUFBQyxHQUFHLEVBQUUsRUFBRSxDQUFDLEtBQUssQ0FBQyxjQUFjLEVBQUUsQ0FBQyxDQUFDLENBQUE7SUFDNUQsQ0FBQztJQUVELGdCQUFnQjtJQUNoQixhQUFhLEVBQUMsVUFBQyxNQUFNO1FBQ2pCLElBQUksS0FBSyxHQUFHLENBQUMsQ0FBQztRQUNkLEtBQUssR0FBRyxNQUFNLENBQUM7UUFDZixJQUFJLElBQUksR0FBRyxDQUFDLENBQUM7UUFDYixJQUFJLEdBQUcsUUFBUSxDQUFDLENBQUMsS0FBSyxHQUFHLElBQUksQ0FBQyxHQUFHLEVBQUUsQ0FBQyxDQUFDLENBQUEsU0FBUztRQUM5QyxJQUFJLFNBQVMsR0FBRyxLQUFLLEdBQUcsSUFBSSxHQUFHLEVBQUUsR0FBRyxFQUFFLENBQUMsQ0FBQSxlQUFlO1FBQ3RELElBQUksR0FBRyxHQUFHLFFBQVEsQ0FBQyxDQUFDLFNBQVMsR0FBRyxFQUFFLENBQUMsR0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFBLE9BQU87UUFDL0MsSUFBSSxDQUFDLEdBQUcsRUFBRSxHQUFHLEdBQUcsQ0FBQztRQUNqQixJQUFHLEdBQUcsR0FBRyxFQUFFO1lBQUUsQ0FBQyxHQUFHLEdBQUcsR0FBQyxHQUFHLENBQUM7UUFDekIsSUFBSSxRQUFRLEdBQUcsS0FBSyxHQUFHLElBQUksR0FBRyxFQUFFLEdBQUcsRUFBRSxHQUFHLEdBQUcsR0FBRyxFQUFFLENBQUMsQ0FBQSxhQUFhO1FBQzlELElBQUksSUFBSSxHQUFHLFFBQVEsR0FBRyxFQUFFLENBQUM7UUFDekIsSUFBRyxRQUFRLEdBQUcsRUFBRTtZQUFFLElBQUksR0FBRyxHQUFHLEdBQUcsUUFBUSxDQUFDO1FBQ3hDLE9BQU8sQ0FBQyxHQUFHLEdBQUcsR0FBRyxJQUFJLENBQUE7SUFDekIsQ0FBQztJQUVELGdCQUFnQjtJQUNoQixlQUFlLEVBQUMsVUFBQyxNQUFNO1FBQ25CLE1BQU0sR0FBRyxRQUFRLENBQUMsTUFBTSxHQUFDLElBQUksR0FBQyxFQUFFLENBQUMsQ0FBQztRQUNsQyxJQUFJLEtBQUssR0FBRyxDQUFDLENBQUM7UUFDZCxLQUFLLEdBQUcsTUFBTSxDQUFDO1FBQ2YsSUFBSSxHQUFHLEdBQUcsQ0FBQyxDQUFDO1FBQ1osSUFBRyxLQUFLLEdBQUcsRUFBRSxFQUFDO1lBQ1YsR0FBRyxHQUFHLFFBQVEsQ0FBQyxDQUFDLEtBQUssR0FBRyxFQUFFLENBQUMsR0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFBLE9BQU87U0FDMUM7UUFDRCxJQUFJLENBQUMsR0FBSSxHQUFHLEdBQUcsR0FBRyxDQUFDO1FBRW5CLElBQUksUUFBUSxHQUFHLEtBQUssR0FBRyxHQUFHLEdBQUcsRUFBRSxDQUFDLENBQUEsYUFBYTtRQUM3QyxJQUFJLElBQUksR0FBRyxRQUFRLEdBQUcsSUFBSSxDQUFDO1FBQzNCLE9BQU8sQ0FBQyxHQUFHLElBQUksQ0FBQTtJQUNuQixDQUFDO0lBRUQsT0FBTztJQUNQLE9BQU87UUFDSCxJQUFNLFNBQVMsR0FBSSxDQUFDLElBQUksSUFBSSxFQUFFLENBQUMsT0FBTyxFQUFFLENBQUMsQ0FBQTtRQUN6QyxPQUFPLFNBQVMsQ0FBQztJQUNyQixDQUFDO0lBQ0QsVUFBVSxFQUFDO0lBRVgsQ0FBQztJQUNELGVBQWUsRUFBQztJQUVoQixDQUFDO0NBRUosQ0FBQztBQUNPLDRCQUFRIiwiZmlsZSI6IiIsInNvdXJjZVJvb3QiOiIvIiwic291cmNlc0NvbnRlbnQiOlsiXHJcbi8v5pyA5aSn5bel5YW357G7ICDlkITnp43lhazlhbHmlrnms5XvvIzku6Xlj4rlpITnkIbkuIrkvKDvvIzojrflj5blkI7nq6/mjqXlj6PmlbDmja5cclxudmFyIEdhbWVUb29sID0ge1xyXG4gICAgX3N0YXJ0VGltZTogMCxcclxuICAgIF9lbmRUaW1lOiAwLFxyXG4gICAgX3RvdGFsVGltZTogMCxcclxuICAgIC8v6I635Y+WdXNlcklkXHJcbiAgICBBdXRoZW50aWNhdGlvbigpe1xyXG4gICAgICAgIGxldCBuYW1lID0gXCJ1c2VyX1wiICsgY2MuZnguR2FtZUNvbmZpZy5HTV9JTkZPLmdhbWVJZDtcclxuICAgICAgICB2YXIgZGF0YSA9IEpTT04ucGFyc2UobG9jYWxTdG9yYWdlLmdldEl0ZW0obmFtZSkpO1xyXG4gICAgICAgIGlmKGRhdGEgPT0gXCJ1bmRpZmVuZFwiIHx8IGRhdGE9PW51bGwgfHwgZGF0YSA9PSBcIlwiKXtcclxuICAgICAgICAgICAgdmFyIHVybE5vdyA9IHdpbmRvdy5sb2NhdGlvbi5ocmVmO1xyXG4gICAgICAgICAgICBpZighdGhpcy5jb250YWluc1RyYWluKHVybE5vdykpe1xyXG4gICAgICAgICAgICAgICAgbGV0IHVybCA9IFwiaHR0cHM6Ly9hcGkuc3Bhcmt1cy5jbi9hcGkvdXNlci9hdXRoL2xvZ2luP2RvbWFpbj1odWkzMjU3OVdkWVBzZ1lxJmNhbGxiYWNrPVwiK2xvY2F0aW9uLmhyZWY7XHJcbiAgICAgICAgICAgICAgICB3aW5kb3cubG9jYXRpb24uaHJlZiA9IHVybDtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgICAgICBlbHNle1xyXG4gICAgICAgICAgICBjYy5meC5TdG9yYWdlTWVzc2FnZS5zZXRTdG9yYWdlKG5hbWUsZGF0YSk7XHJcbiAgICAgICAgICAgIGNjLmZ4LkdhbWVDb25maWcuR01fSU5GTy51c2VySWQgPSBwYXJzZUludChkYXRhLnVzZXJJZCk7XHJcbiAgICAgICAgfVxyXG4gICAgfSxcclxuXHJcbiAgICBjb250YWluc1RyYWluKHN0cikge1xyXG4gICAgICAgIHJldHVybiAvZnJvbT10cmFpbi9pLnRlc3Qoc3RyKTtcclxuICAgIH0sXHJcblxyXG4gICAgLy/ln4vngrnkuIrkvKBcclxuICAgIHNldEdhbWVEYXRhKCl7XHJcbiAgICAgICAgLy9HQU1FX0RBVEEg5Yid5aeL5YyWIOavj+asoea4hembtlxyXG4gICAgICAgIGNjLmZ4LkdhbWVDb25maWcuR0FNRV9EQVRBID0gW107XHJcbiAgICAgICAgY2MuZnguR2FtZUNvbmZpZy5HQU1FX0RBVEEucHVzaChjYy5meC5HYW1lQ29uZmlnLkNMSUNLX0RBVEEpO1xyXG4gICAgICAgIGNjLmZ4LkdhbWVDb25maWcuQ0xJQ0tfaW5pdCgpO1xyXG4gICAgICAgIGxldCBkYXRhID0gY2MuZnguR2FtZUNvbmZpZy5HQU1FX0RBVEE7XHJcbiAgICAgICAgbGV0IG1hdGNoSWQgPSB0aGlzLmdldE1hdGNoSWQoKTtcclxuICAgICAgICBsZXQgcG9zdERhdGEgPSB7XHJcbiAgICAgICAgICAgIFwiZ2FtZUlkXCI6Y2MuZnguR2FtZUNvbmZpZy5HTV9JTkZPLmdhbWVJZCxcclxuICAgICAgICAgICAgXCJ1c2VySWRcIjpjYy5meC5HYW1lQ29uZmlnLkdNX0lORk8udXNlcklkLFxyXG4gICAgICAgICAgICBcIm1hdGNoSWRcIjptYXRjaElkLFxyXG4gICAgICAgICAgICBcImRhdGFcIjogZGF0YVxyXG4gICAgICAgIH07XHJcblxyXG4gICAgICAgIC8vIGNvbnNvbGUubG9nKFwi5LiK5Lyg5pWw5o2uOlwiLGRhdGEpO1xyXG4gICAgICAgIGNjLmZ4Lkh0dHBVdGlsLnVwbG9hZFVzZXJMb2dEYXRhKHBvc3REYXRhLGZ1bmN0aW9uKCl7fSlcclxuICAgIH0sXHJcbiAgICAvL+S4iuS8oOaOkuihjOamnCAgdHlwZeS4ujFcclxuICAgIHNldFJhbmsoZGF0YSl7XHJcbiAgICAgICAgLy9HQU1FX0RBVEEg5Yid5aeL5YyWIOavj+asoea4hembtlxyXG4gICAgICAgIGxldCBwb3N0RGF0YSA9IHtcclxuICAgICAgICAgICAgXCJnYW1lSWRcIjpjYy5meC5HYW1lQ29uZmlnLkdNX0lORk8uZ2FtZUlkLFxyXG4gICAgICAgICAgICBcInVzZXJJZFwiOmNjLmZ4LkdhbWVDb25maWcuR01fSU5GTy51c2VySWQsXHJcbiAgICAgICAgICAgIFwidHlwZVwiOjEsXHJcbiAgICAgICAgICAgIFwic2NvcmVcIjogZGF0YS5zY29yZSxcclxuICAgICAgICAgICAgXCJhY2N1cmFjeVwiOiBkYXRhLmRhdGUsXHJcbiAgICAgICAgICAgIFwic3VjY2Vzc1wiOiBjYy5meC5HYW1lQ29uZmlnLkdNX0lORk8uc3VjY2Vzc1xyXG4gICAgICAgIH07XHJcbiAgICAgICAgY2MuZnguSHR0cFV0aWwucmFua0RhdGEoMSxmdW5jdGlvbigpe30scG9zdERhdGEpO1xyXG4gICAgfSxcclxuICAgIC8v6I635Y+W5o6S6KGM5qacIHR5cGXkuLoyXHJcbiAgICBnZXRSYW5rKGRhdGEsY2FsbGJhY2spe1xyXG4gICAgICAgIGxldCByYW5rTGVuZ3RoID0gZGF0YS5sZW5ndGg7XHJcbiAgICAgICAgbGV0IHBvc3REYXRhID0ge1xyXG4gICAgICAgICAgICBcImdhbWVJZFwiOmNjLmZ4LkdhbWVDb25maWcuR01fSU5GTy5nYW1lSWQsXHJcbiAgICAgICAgICAgIFwidXNlcklkXCI6Y2MuZnguR2FtZUNvbmZpZy5HTV9JTkZPLnVzZXJJZCxcclxuICAgICAgICAgICAgXCJwYWdlXCI6MSxcclxuICAgICAgICAgICAgXCJwYWdlU2l6ZVwiOnJhbmtMZW5ndGhcclxuICAgICAgICB9OyBcclxuICAgICAgICAvL+Wbnuiwg+i/m2dldFJhbmtEYXRhXHJcbiAgICAgICAgY2MuZnguSHR0cFV0aWwucmFua0RhdGEoMixkYXRhID0+e2NhbGxiYWNrKGRhdGEpfSxwb3N0RGF0YSk7XHJcbiAgICB9LFxyXG4gICAgLy/ojrflj5ZtYXRjaElkICDnlKjkuo7kuIrkvKDmr4/mrKHngrnlh7vmlbDmja7ph4zpnaLorrDlvZVpZOaWueS+v+afpeivolxyXG4gICAgZ2V0TWF0Y2hJZCAoKXtcclxuICAgICAgICBsZXQgbWF0Y2hJZCA9IGNjLnN5cy5sb2NhbFN0b3JhZ2UuZ2V0SXRlbShcIm1hdGNoSWRcIik7XHJcbiAgICAgICAgbGV0IHRlbXBJZCA9IG1hdGNoSWQ7XHJcbiAgICAgICAgaWYobWF0Y2hJZCA9PSBcInVuZGlmZW5kXCIgfHwgbWF0Y2hJZD09bnVsbCl7XHJcbiAgICAgICAgICAgIG1hdGNoSWQgPSAgdGhpcy5zZXRNYXRjaElkKCk7XHJcbiAgICAgICAgfVxyXG4gICAgICAgIGVsc2V7XHJcbiAgICAgICAgICAgIGlmKHRoaXMuY29udGFpbnNOYW5hbmEobWF0Y2hJZCkgPT0gdHJ1ZSl7XHJcbiAgICAgICAgICAgICAgICBtYXRjaElkID0gIHRoaXMuc2V0TWF0Y2hJZCgpO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIGVsc2V7XHJcbiAgICAgICAgICAgICAgICBsZXQgY2hhciA9IHBhcnNlSW50KHRlbXBJZC5zdWJzdHJpbmcoMTAsdGVtcElkLmxlbmd0aCkpO1xyXG4gICAgICAgICAgICAgICAgaWYoY2MuZnguR2FtZUNvbmZpZy5HTV9JTkZPLmxldmVsID09IDEpe1xyXG4gICAgICAgICAgICAgICAgICAgIGNoYXIgKz0gMTtcclxuICAgICAgICAgICAgICAgICAgICBtYXRjaElkICA9IHRlbXBJZC5zbGljZSgwLCAxMCkgKyBjaGFyICsgXCJcIjtcclxuICAgICAgICAgICAgICAgICAgICBpZih0aGlzLmNvbnRhaW5zTmFuYW5hKG1hdGNoSWQpKSBtYXRjaElkID0gdGhpcy5zZXRNYXRjaElkKCk7XHJcbiAgICAgICAgICAgICAgICAgICAgY2MuZnguR2FtZUNvbmZpZy5HTV9JTkZPLm1hdGNoSWQgPSBtYXRjaElkO1xyXG4gICAgICAgICAgICAgICAgICAgIGNjLnN5cy5sb2NhbFN0b3JhZ2Uuc2V0SXRlbShcIm1hdGNoSWRcIixtYXRjaElkKTtcclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuXHJcbiAgICAgICAgaWYodGhpcy5jb250YWluc05hbmFuYShtYXRjaElkKSA9PSB0cnVlKXtcclxuICAgICAgICAgICAgbWF0Y2hJZCA9ICB0aGlzLnNldE1hdGNoSWQoKTtcclxuICAgICAgICB9XHJcbiAgICAgICAgcmV0dXJuIG1hdGNoSWQ7XHJcbiAgICB9LFxyXG4gICAgLy/mo4DmtYttYXRjaElkIOWmguaenOaciee8k+WtmOS7peWJjeeahG5hbmFuYeaVsOaNrua4hemZpFxyXG4gICAgY29udGFpbnNOYW5hbmEoc3RyKSB7XHJcbiAgICAgICAgcmV0dXJuIC9uYS9pLnRlc3Qoc3RyKTtcclxuICAgIH0sXHJcbiAgICAvL+mHjeaWsOiuvue9rk1hdGNoSWRcclxuICAgIHNldE1hdGNoSWQgKCl7XHJcbiAgICAgICAgLy8g5a6a5LmJ5YyF5ZCr5Y+v55So5a2X56ym55qE5a2X56ym6ZuGXHJcbiAgICAgICAgY29uc3QgY2hhcmFjdGVycyA9ICdhYmNkZWZnaGlqa2xtbm9wcXJzdHV2d3h5ekFCQ0RFRkdISUpLTE1OT1BRUlNUVVZXWFlaMDEyMzQ1Njc4OSc7XHJcbiAgICAgICAgLy8g5Yib5bu65LiA5Liq5pWw57uE5Lul5L+d5a2Y6ZqP5py65a2X56ymXHJcbiAgICAgICAgY29uc3QgdXVpZEFycmF5ID0gW107XHJcbiAgICAgICAgLy8g5b6q546vMTDmrKEg55Sf5oiQMTDkvY3nmoRVVUlEXHJcbiAgICAgICAgZm9yIChsZXQgaSA9IDA7IGkgPCAxMDsgaSsrKSB7XHJcbiAgICAgICAgICAgICAgICAvLyDnlJ/miJDpmo/mnLrntKLlvJXvvIzojIPlm7TmmK/lrZfnrKbpm4bnmoTplb/luqZcclxuICAgICAgICAgICAgY29uc3QgcmFuZG9tSW5kZXggPSBNYXRoLmZsb29yKE1hdGgucmFuZG9tKCkgKiBjaGFyYWN0ZXJzLmxlbmd0aCk7XHJcbiAgICAgICAgICAgIC8vIOS7juWtl+espumbhuS4reiOt+WPlumaj+acuuWtl+esplxyXG4gICAgICAgICAgICBjb25zdCByYW5kb21DaGFyID0gY2hhcmFjdGVycy5jaGFyQXQocmFuZG9tSW5kZXgpO1xyXG4gICAgICAgICAgICAvLyDlsIblrZfnrKbmt7vliqDliLDmlbDnu4TkuK1cclxuICAgICAgICAgICAgdXVpZEFycmF5LnB1c2gocmFuZG9tQ2hhcik7XHJcbiAgICAgICAgfVxyXG4gICAgICAgIGxldCBkYXRhID0gIHV1aWRBcnJheS5qb2luKCcnKSArIDEgKyBcIlwiO1xyXG4gICAgICAgIGNjLnN5cy5sb2NhbFN0b3JhZ2Uuc2V0SXRlbShcIm1hdGNoTnVtYmVyXCIsMSk7XHJcbiAgICAgICAgY2Muc3lzLmxvY2FsU3RvcmFnZS5zZXRJdGVtKFwibWF0Y2hJZFwiLGRhdGEpO1xyXG4gICAgICAgIGNjLmZ4LkdhbWVDb25maWcuR01fSU5GTy5tYXRjaElkID0gZGF0YTtcclxuICAgICAgICByZXR1cm4gZGF0YTtcclxuICAgIH0sXHJcbiAgICAvL+aIquWPluWQjeWtl1xyXG4gICAgc3ViTmFtZShuYW1lLGxlbmd0aCl7XHJcbiAgICAgICAgaWYobmFtZS5sZW5ndGggPiBsZW5ndGgpe1xyXG4gICAgICAgICAgICBuYW1lID0gbmFtZS5zdWJzdHJpbmcoMCxsZW5ndGgpICsgXCIuLi5cIlxyXG4gICAgICAgIH1cclxuICAgICAgICByZXR1cm4gbmFtZTtcclxuICAgIH0sXHJcbiAgICAvL+iuvue9ruWktOWDj1xyXG4gICAgc2V0UGljKG5vZGUscGljKXtcclxuICAgICAgICBub2RlLmFjdGl2ZSA9IGZhbHNlO1xyXG4gICAgICAgIGxldCB1cmwgPSBwaWM7XHJcbiAgICAgICAgc2V0VGltZW91dCgoKSA9PiB7XHJcbiAgICAgICAgICAgIGZldGNoKHVybClcclxuICAgICAgICAgICAgLnRoZW4ocmVzcG9uc2UgPT4ge1xyXG4gICAgICAgICAgICAgICAgcmV0dXJuIHJlc3BvbnNlLmhlYWRlcnMuZ2V0KCdDb250ZW50LUxlbmd0aCcpO1xyXG4gICAgICAgICAgICB9KVxyXG4gICAgICAgICAgICAudGhlbihlcnJObyA9PiB7XHJcbiAgICAgICAgICAgICAgICBpZihlcnJObyA9PSBcIjUwOTNcIil7XHJcbiAgICAgICAgICAgICAgICAgICAgbm9kZS5hY3RpdmUgPSB0cnVlO1xyXG4gICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICB9KVxyXG4gICAgICAgICAgICAuY2F0Y2goZXJyb3IgPT4ge1xyXG4gICAgICAgICAgICAgICAgLy8gY29uc29sZS5lcnJvcignRXJyb3IgZmV0Y2hpbmcgWC1JbmZvOicsIGVycm9yKTtcclxuICAgICAgICAgICAgfSk7XHJcbiAgICAgICAgfSwgMTAwKTtcclxuICAgICAgICBjYy5hc3NldE1hbmFnZXIubG9hZFJlbW90ZSh1cmwsIHtleHQ6Jy5wbmcnfSwoZXJyLCB0ZXh0dXJlOmNjLlRleHR1cmUyRCkgPT4ge1xyXG4gICAgICAgICAgICBpZih0ZXh0dXJlKXtcclxuICAgICAgICAgICAgICAgIG5vZGUuYWN0aXZlID0gdHJ1ZTtcclxuICAgICAgICAgICAgICAgIG5vZGUuZ2V0Q29tcG9uZW50KGNjLlNwcml0ZSkuc3ByaXRlRnJhbWUgPSBuZXcgY2MuU3ByaXRlRnJhbWUodGV4dHVyZSk7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgZWxzZXtcclxuICAgICAgICAgICAgICAgIGNvbnNvbGUubG9nKGVycix0ZXh0dXJlKVxyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfSlcclxuICAgIH0sXHJcbiAgICAvL+esrOS4gOS4quWPguaVsOaKiuebruagh+W4pui/m+adpeWkhOeQhu+8jOesrOS6jOS4quWPguaVsOS4uuWQjeWtl+mVv+W6pu+8jOS4jeWQjOWcuuaZr+S4jeWQjOmcgOaxglxyXG4gICAgLy/lkI3lrZc055+t77yM5bCP5o6S6KGM77yM5ZCN5a2XNumVv++8jOWkp+aOkuihjFxyXG4gICAgZ2V0UmFua0RhdGEoZGF0YSx0YXJnZXQsbmFtZUxlbmd0aCl7XHJcbiAgICAgICAgdGFyZ2V0Lmxpc3REYXRhID0gZGF0YS5kYXRhLmxpc3Q7XHJcbiAgICAgICAgdGFyZ2V0LnNlbGZEYXRhID0gZGF0YS5kYXRhLmluZm87XHJcbiAgICAgICAgbGV0IHJhbmtEYXRhID0gW107XHJcbiAgICAgICAgbGV0IHNlbGYgPSBmYWxzZTtcclxuICAgICAgICAgY2MuZnguR2FtZVRvb2wuc2V0UGljKHRhcmdldC5zZWxmTm9kZS5nZXRDaGlsZEJ5TmFtZShcInBpY1wiKS5nZXRDaGlsZEJ5TmFtZShcImljb25cIiksdGFyZ2V0LnNlbGZEYXRhLnBpYyk7XHJcbiAgICAgICAgZm9yKGxldCBpPTA7aTw9dGFyZ2V0Lmxpc3REYXRhLmxlbmd0aC0xO2krKyl7XHJcbiAgICAgICAgICAgIHJhbmtEYXRhLnB1c2goe3Jhbms6KGkrMSksIG5hbWU6dGFyZ2V0Lmxpc3REYXRhW2ldLm5pY2tOYW1lLCB0b3RhbDp0YXJnZXQubGlzdERhdGFbaV0uc2NvcmUsdGltZTpudWxsLCBwaWM6dGFyZ2V0Lmxpc3REYXRhW2ldLnBpY30pO1xyXG4gICAgICAgICAgICBpZihjYy5meC5HYW1lQ29uZmlnLkdNX0lORk8udXNlcklkID09IHRhcmdldC5saXN0RGF0YVtpXS51c2VySWQpe1xyXG4gICAgICAgICAgICAgICAgc2VsZiA9IHRydWU7XHJcbiAgICAgICAgICAgICAgICB0YXJnZXQucmFua051bWJlciA9IGk7XHJcbiAgICAgICAgICAgICAgICB0YXJnZXQuc2VsZk5vZGUuZ2V0Q2hpbGRCeU5hbWUoXCJyYW5rTGFiXCIpLmdldENvbXBvbmVudChjYy5MYWJlbCkuc3RyaW5nID0oaSsxKSArIFwiXCI7IFxyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIGlmKGkgPT0gKHRhcmdldC5saXN0RGF0YS5sZW5ndGgtMSkgJiYgc2VsZiA9PSBmYWxzZSl7XHJcbiAgICAgICAgICAgICAgICB0YXJnZXQucmFua051bWJlciA9IGk7XHJcbiAgICAgICAgICAgICAgICB0YXJnZXQuc2VsZk5vZGUuZ2V0Q2hpbGRCeU5hbWUoXCJyYW5rTGFiXCIpLmdldENvbXBvbmVudChjYy5MYWJlbCkuc3RyaW5nID0gXCI5OStcIjsgXHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICAgICAgIGNjLmZ4LkdhbWVUb29sLnN1Yk5hbWUodGFyZ2V0LnNlbGZEYXRhLm5pY2tOYW1lLG5hbWVMZW5ndGgpO1xyXG4gICAgICAgIHRhcmdldC5zZWxmTm9kZS5nZXRDaGlsZEJ5TmFtZShcIm5hbWVMYWJcIikuZ2V0Q29tcG9uZW50KGNjLkxhYmVsKS5zdHJpbmcgPSB0YXJnZXQuc2VsZkRhdGEubmlja05hbWU7XHJcbiAgICAgICAgdGFyZ2V0LnNlbGZOb2RlLmdldENoaWxkQnlOYW1lKFwidG90YWxMYWJcIikuZ2V0Q29tcG9uZW50KGNjLkxhYmVsKS5zdHJpbmcgPSB0YXJnZXQuc2VsZkRhdGEuc2NvcmU7XHJcbiAgICAgICAgbGV0IHRpbWVUZW1wID0gY2MuZnguR2FtZVRvb2wuZ2V0VGltZVNoZW5Ob25nKHRhcmdldC5zZWxmRGF0YS50b3RsZVRpbWVzKTtcclxuICAgICAgICAvLyB0YXJnZXQuc2VsZk5vZGUuZ2V0Q2hpbGRCeU5hbWUoXCJ0aW1lTGFiXCIpLmdldENvbXBvbmVudChjYy5MYWJlbCkuc3RyaW5nID0gdGltZVRlbXAgKyBcIlwiO1xyXG4gICAgICAgIHN3aXRjaCh0YXJnZXQuc2VsZk5vZGUuZ2V0Q2hpbGRCeU5hbWUoXCJyYW5rTGFiXCIpLmdldENvbXBvbmVudChjYy5MYWJlbCkuc3RyaW5nKXtcclxuICAgICAgICAgICAgY2FzZSBcIjFcIjpcclxuICAgICAgICAgICAgICAgIHRhcmdldC5zZWxmTm9kZS5nZXRDaGlsZEJ5TmFtZShcInJhbmtcIikuZ2V0Q2hpbGRCeU5hbWUoXCJvbmVcIikuYWN0aXZlID0gdHJ1ZTtcclxuICAgICAgICAgICAgICAgIGJyZWFrO1xyXG4gICAgICAgICAgICBjYXNlIFwiMlwiOlxyXG4gICAgICAgICAgICAgICAgdGFyZ2V0LnNlbGZOb2RlLmdldENoaWxkQnlOYW1lKFwicmFua1wiKS5nZXRDaGlsZEJ5TmFtZShcInR3b1wiKS5hY3RpdmUgPSB0cnVlO1xyXG4gICAgICAgICAgICAgICAgYnJlYWs7XHJcbiAgICAgICAgICAgIGNhc2UgXCIzXCI6XHJcbiAgICAgICAgICAgICAgICB0YXJnZXQuc2VsZk5vZGUuZ2V0Q2hpbGRCeU5hbWUoXCJyYW5rXCIpLmdldENoaWxkQnlOYW1lKFwidGhyZWVcIikuYWN0aXZlID0gdHJ1ZTtcclxuICAgICAgICAgICAgICAgIGJyZWFrO1xyXG4gICAgICAgIH1cclxuICAgICAgICAvLyDlpKfmjpLooYxcclxuICAgICAgICBpZihuYW1lTGVuZ3RoID09IDYpe1xyXG4gICAgICAgICAgICB0YXJnZXQucmFua0xpc3Quc2V0RGF0YShyYW5rRGF0YSk7XHJcbiAgICAgICAgICAgIHRhcmdldC5zZWxmTm9kZS5vcGFjaXR5ID0gMjU1O1xyXG4gICAgICAgICAgICBpZih0YXJnZXQuc2VsZkRhdGEudG90YWxTdW5Db3VudCA9PSAwKSB0YXJnZXQuc2VsZk5vZGUub3BhY2l0eSA9IDA7XHJcbiAgICAgICAgfVxyXG4gICAgfSxcclxuXHJcbiAgICBnZXRTZWVkUmFuZG9tOiBmdW5jdGlvbiAobWluLCBtYXgpIHsvL+WMheWQq21pbiDkuI3ljIXlkKttYXhcclxuICAgICAgICBjb25zb2xlLmxvZyhcIumaj+acuuaVsDpcIixjYy5meC5HYW1lQ29uZmlnLkdNX0lORk8uY3VyclNlZWQpO1xyXG4gICAgICAgIG1heCA9IG1heCB8fCAxO1xyXG4gICAgICAgIG1pbiA9IG1pbiB8fCAwO1xyXG4gICAgICAgIGNjLmZ4LkdhbWVDb25maWcuR01fSU5GTy5jdXJyU2VlZCA9IChjYy5meC5HYW1lQ29uZmlnLkdNX0lORk8uY3VyclNlZWQgKiA5MzAxICsgNDkyOTcpICUgMjMzMjgwO1xyXG4gICAgICAgIGxldCBybmQgPSBjYy5meC5HYW1lQ29uZmlnLkdNX0lORk8uY3VyclNlZWQgIC8gMjMzMjgwLjA7XHJcbiAgICAgICAgbGV0IHRtcCA9IG1pbiArIHJuZCAqIChtYXggLSBtaW4pO1xyXG4gICAgICAgIHJldHVybiBwYXJzZUludCh0bXApO1xyXG4gICAgfSxcclxuICAgIC8v6I635Y+W5YWz5Y2h6YWN572u55qE6YKj5Liq5YWz5Y2h5pWwXHJcbiAgICBnZXRDdXN0b20odHlwZSl7XHJcbiAgICAgICAgbGV0IGN1c3RvbSA9IGNjLmZ4LlN0b3JhZ2VNZXNzYWdlLmdldFN0b3JhZ2UoY2MuZnguc3RvcmFnZVR5cGUuc3RvcmFnZVR5cGVDdXN0b20pO1xyXG4gICAgICAgIGlmKGN1c3RvbSA9PSBcInVuZGlmZW5kXCIgfHwgY3VzdG9tPT1udWxsIHx8IGN1c3RvbSA9PSBcIlwiKXtcclxuICAgICAgICAgICAgdGhpcy5zZXRDdXN0b20oKTtcclxuICAgICAgICB9XHJcbiAgICAgICAgZWxzZXtcclxuICAgICAgICAgICAgY2MuZnguR2FtZUNvbmZpZy5HTV9JTkZPX1NFVChcImN1c3RvbVwiLGN1c3RvbVswXSk7XHJcbiAgICAgICAgICAgIGlmKGN1c3RvbVswXSAhPSAwIHx8IHR5cGUgPT0gIHRydWUpe1xyXG4gICAgICAgICAgICAgICAgY3VzdG9tLnNoaWZ0KCk7XHJcbiAgICAgICAgICAgICAgICBpZihjdXN0b20ubGVuZ3RoID09IDApe1xyXG4gICAgICAgICAgICAgICAgICAgIHRoaXMuc2V0Q3VzdG9tKCk7XHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICBlbHNlIGNjLmZ4LlN0b3JhZ2VNZXNzYWdlLnNldFN0b3JhZ2UoY2MuZnguc3RvcmFnZVR5cGUuc3RvcmFnZVR5cGVDdXN0b20sY3VzdG9tKTtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgIH0sXHJcbiAgICAvL+acrOWcsOayoeacieWtmOWCqOWIsOmFjee9ru+8jOaIluiAhemFjee9rueUqOWujO+8jOmHjeaWsOWIm+W7uumFjee9rlxyXG4gICAgc2V0Q3VzdG9tKCl7XHJcbiAgICAgICAgbGV0IGFycmF5TGVuZ3RoID0gY2MuZnguR2FtZUNvbmZpZy5MRVZFTF9JTkZPLmxlbmd0aDtcclxuICAgICAgICBsZXQgYXJyYXlMaXN0ID0gW107XHJcbiAgICAgICAgZm9yKGxldCBpPTE7IGk8YXJyYXlMZW5ndGg7aSsrKXtcclxuICAgICAgICAgICAgYXJyYXlMaXN0LnB1c2goaSk7XHJcbiAgICAgICAgfVxyXG4gICAgICAgIGFycmF5TGlzdC5zb3J0KCgpID0+IE1hdGgucmFuZG9tKCkgLSAwLjUpO1xyXG4gICAgICAgIGFycmF5TGlzdC51bnNoaWZ0KDApXHJcbiAgICAgICAgY2MuZnguR2FtZUNvbmZpZy5HTV9JTkZPX1NFVChcImN1c3RvbVwiLGFycmF5TGlzdFswXSk7XHJcbiAgICAgICAgY2MuZnguU3RvcmFnZU1lc3NhZ2Uuc2V0U3RvcmFnZShjYy5meC5zdG9yYWdlVHlwZS5zdG9yYWdlVHlwZUN1c3RvbSxhcnJheUxpc3QpO1xyXG4gICAgfSxcclxuXHJcblxyXG4gICAgZ2V0U2V0U2NyZWVuUmVzb2x1dGlvbkZsYWc6IGZ1bmN0aW9uICgpIHtcclxuICAgICAgICBsZXQgc2l6ZSA9IGNjLndpblNpemU7XHJcbiAgICAgICAgbGV0IHdpZHRoID0gc2l6ZS53aWR0aDtcclxuICAgICAgICBsZXQgaGVpZ2h0ID0gc2l6ZS5oZWlnaHQ7XHJcbiAgICAgICAgaWYgKChoZWlnaHQgLyB3aWR0aCkgPiAoMTYuMiAvIDkpKSByZXR1cm4gZmFsc2U7XHJcbiAgICAgICAgcmV0dXJuIHRydWU7XHJcbiAgICB9LFxyXG4gICAgLy/liKTmlq3lhajpnaLlsY/pgILphY1cclxuICAgIHNldEZpdDogZnVuY3Rpb24gKGNhbnZhcykge1xyXG4gICAgICAgIGxldCBmbGFnID0gIGNjLmZ4LkdhbWVUb29sLmdldFNldFNjcmVlblJlc29sdXRpb25GbGFnKCk7XHJcbiAgICAgICAgaWYgKGZsYWcpIHtcclxuICAgICAgICBcdC8vIGNvbnNvbGUubG9nKFwi5LiN5piv5YWo6Z2i5bGPXCIpO1xyXG4gICAgICAgIH0gZWxzZSB7XHJcbiAgICAgICAgXHQvLyBjb25zb2xlLmxvZyhcIuaYr+WFqOmdouWxj1wiKTtcclxuICAgICAgICB9XHJcbiAgICAgICAgcmV0dXJuIGZsYWc7XHJcbiAgICB9LFxyXG4gICAgLy/ojrflj5bmuLjmiI/kv6Hmga9cclxuICAgIGdldEdhbWVJbmZvOiBmdW5jdGlvbihub2RlKXtcclxuICAgICAgICB2YXIgamcgPSBmYWxzZTtcclxuICAgICAgICByZXR1cm4gamc7XHJcbiAgICB9LFxyXG4gICAgLy/orr7nva7muLjmiI/kv6Hmga9cclxuICAgIHNldEdhbWVJbmZvOiBmdW5jdGlvbihwZCl7XHJcbiAgIFxyXG4gICAgfSxcclxuXHJcbiAgICAvL+aJk+Wtl+acuuaViOaenFxyXG4gICAgdHlwaW5nQW5pKGxhYmVsLHRleHQsY2IsdGFyZ2V0KXtcclxuICAgICAgICB2YXIgc2VsZiA9IHRhcmdldDtcclxuICAgICAgICB2YXIgaHRtbCA9ICcnO1xyXG4gICAgICAgIHZhciBhcnIgPSB0ZXh0LnNwbGl0KCcnKTtcclxuICAgICAgICB2YXIgbGVuID0gYXJyLmxlbmd0aDtcclxuICAgICAgICB2YXIgc3RlcCA9IDA7XHJcbiAgICAgICAgc2VsZi5mdW5jID0gKCk9PntcclxuICAgICAgICAgICAgaHRtbCArPSBhcnJbc3RlcF07XHJcbiAgICAgICAgICAgIGxhYmVsLnN0cmluZyA9IGh0bWw7XHJcbiAgICAgICAgICAgIGlmICgrK3N0ZXAgPT0gbGVuKSB7XHJcbiAgICAgICAgICAgICAgICBzZWxmLnVuc2NoZWR1bGUoc2VsZi5mdW5jKTtcclxuICAgICAgICAgICAgICAgIGNiICYmIGNiKCk7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICAgICAgc2VsZi5zY2hlZHVsZShzZWxmLmZ1bmMsMC4xLCBjYy5tYWNyby5SRVBFQVRfRk9SRVZFUiwgMClcclxuICAgIH0sXHJcblxyXG4gICAgLy/ovpPlhaXnp5Is6L+U5Zue6ZyA6KaB5bGV56S65pe26Ze05qC85byPXHJcbiAgICBnZXRUaW1lTWFyZ2luOihzZWNvbmQpID0+IHtcclxuICAgICAgICBsZXQgdG90YWwgPSAwO1xyXG4gICAgICAgIHRvdGFsID0gc2Vjb25kO1xyXG4gICAgICAgIGxldCBob3VyID0gMDtcclxuICAgICAgICBob3VyID0gcGFyc2VJbnQoKHRvdGFsIC8gMzYwMCkgKyBcIlwiKTsvL+iuoeeul+aVtOaVsOWwj+aXtuaVsFxyXG4gICAgICAgIGxldCBhZnRlckhvdXIgPSB0b3RhbCAtIGhvdXIgKiA2MCAqIDYwOy8v5Y+W5b6X566X5Ye65bCP5pe25pWw5ZCO5Ymp5L2Z55qE56eS5pWwXHJcbiAgICAgICAgbGV0IG1pbiA9IHBhcnNlSW50KChhZnRlckhvdXIgLyA2MCkrXCJcIik7Ly/orqHnrpfmlbTmlbDliIZcclxuICAgICAgICBsZXQgbSA9IFwiXCIgKyBtaW47ICBcclxuICAgICAgICBpZihtaW4gPCAxMCkgbSA9IFwiMFwiK21pbjtcclxuICAgICAgICBsZXQgYWZ0ZXJNaW4gPSB0b3RhbCAtIGhvdXIgKiA2MCAqIDYwIC0gbWluICogNjA7Ly/lj5blvpfnrpflh7rliIblkI7liankvZnnmoTnp5LmlbBcclxuICAgICAgICBsZXQgbWlhbyA9IGFmdGVyTWluICsgXCJcIjtcclxuICAgICAgICBpZihhZnRlck1pbiA8IDEwKSBtaWFvID0gXCIwXCIgKyBhZnRlck1pbjtcclxuICAgICAgICByZXR1cm4gbSArICc6JyArIG1pYW9cclxuICAgIH0sXHJcblxyXG4gICAgLy/ovpPlhaXnp5Is6L+U5Zue6ZyA6KaB5bGV56S65pe26Ze05qC85byPXHJcbiAgICBnZXRUaW1lU2hlbk5vbmc6KHNlY29uZCkgPT4ge1xyXG4gICAgICAgIHNlY29uZCA9IHBhcnNlSW50KHNlY29uZC8xMDAwK1wiXCIpO1xyXG4gICAgICAgIGxldCB0b3RhbCA9IDA7XHJcbiAgICAgICAgdG90YWwgPSBzZWNvbmQ7XHJcbiAgICAgICAgbGV0IG1pbiA9IDA7XHJcbiAgICAgICAgaWYodG90YWwgPiA2MCl7XHJcbiAgICAgICAgICAgIG1pbiA9IHBhcnNlSW50KCh0b3RhbCAvIDYwKStcIlwiKTsvL+iuoeeul+aVtOaVsOWIhlxyXG4gICAgICAgIH1cclxuICAgICAgICBsZXQgbSA9ICBtaW4gKyBcIidcIjsgIFxyXG5cclxuICAgICAgICBsZXQgYWZ0ZXJNaW4gPSB0b3RhbCAtIG1pbiAqIDYwOy8v5Y+W5b6X566X5Ye65YiG5ZCO5Ymp5L2Z55qE56eS5pWwXHJcbiAgICAgICAgbGV0IG1pYW8gPSBhZnRlck1pbiArIFwiJydcIjtcclxuICAgICAgICByZXR1cm4gbSArIG1pYW9cclxuICAgIH0sXHJcblxyXG4gICAgLy/ojrflj5bml7bpl7TmiLNcclxuICAgIGdldFRpbWUoKXtcclxuICAgICAgICBjb25zdCB0aW1lc3RhbXAgPSAgKG5ldyBEYXRlKCkuZ2V0VGltZSgpKVxyXG4gICAgICAgIHJldHVybiB0aW1lc3RhbXA7XHJcbiAgICB9LFxyXG4gICAgcHVzaExpc3RlcjpmdW5jdGlvbiAoKSB7XHJcbiAgICAgICAgXHJcbiAgICB9LFxyXG4gICAgcmVtb3ZlQWxsTGlzdGVyOmZ1bmN0aW9uICgpIHtcclxuICAgICAgICBcclxuICAgIH0sXHJcblxyXG59O1xyXG5leHBvcnQgeyBHYW1lVG9vbCB9OyJdfQ== \ No newline at end of file diff --git a/temp/quick-scripts/src/__qc_index__.js b/temp/quick-scripts/src/__qc_index__.js index 5b3f4c9..4048fd4 100644 --- a/temp/quick-scripts/src/__qc_index__.js +++ b/temp/quick-scripts/src/__qc_index__.js @@ -9,6 +9,7 @@ require('./assets/Script/Load'); require('./assets/Script/Map'); require('./assets/Script/Mask'); require('./assets/Script/RankManager'); +require('./assets/Script/Sdk/MiniGameSdk'); require('./assets/Script/Window'); require('./assets/Script/module/Config/GameConfig'); require('./assets/Script/module/Crypto/HttpUtil'); diff --git a/temp/quick-scripts/src/assets/Script/Block.js b/temp/quick-scripts/src/assets/Script/Block.js index 836dcf2..3693c0c 100644 --- a/temp/quick-scripts/src/assets/Script/Block.js +++ b/temp/quick-scripts/src/assets/Script/Block.js @@ -80,6 +80,13 @@ var NewClass = /** @class */ (function (_super) { }; NewClass.prototype.start = function () { }; + /** + * 息壤过后改变修筑路径 + * @param order 建筑地图数组里的执行的序列号 + * @param number 息壤执行长度,改变息壤用后其他路径的X或Y值 + * @param direction 只为两个方向,横向false,纵向true + * @param road 建筑地图数组或者洪峰路径数组,可理解为路径数组,path_Array water_Array + */ //初始化地图块数据 NewClass.prototype.initData = function (type, pos, max) { this.block_Type = type; @@ -88,9 +95,9 @@ var NewClass = /** @class */ (function (_super) { if (type == cc.Enum(BlockType).Start) { var bg = this.node.getChildByName("sp"); // this.node.getComponent(cc.Sprite).spriteFrame = null; - bg.getComponent(cc.Sprite).spriteFrame = this.UI["_spriteFrames"]["start"]; + // bg.getComponent(cc.Sprite).spriteFrame = this.UI["_spriteFrames"]["start"]; if (cc.fx.GameConfig.GM_INFO.level > 3) { - bg.getChildByName("start").y = 20; + // bg.getChildByName("start").y = 20; bg.getChildByName("end").y = 20; } this.rotateTarget(bg, "start", pos, max); @@ -100,7 +107,7 @@ var NewClass = /** @class */ (function (_super) { // this.node.getComponent(cc.Sprite).spriteFrame = null; bg.getComponent(cc.Sprite).spriteFrame = this.UI["_spriteFrames"]["end"]; if (cc.fx.GameConfig.GM_INFO.level > 3) { - bg.getChildByName("start").y = 20; + // bg.getChildByName("start").y = 20; bg.getChildByName("end").y = 20; } this.rotateTarget(bg, "end", pos, max); @@ -285,11 +292,13 @@ var NewClass = /** @class */ (function (_super) { //息壤具体执行方法 外部可调用 NewClass.prototype.set_Xi_SoilType = function (direction, end, name) { var _this = this; - // console.log("息壤",direction,name,this.block_Type); + // console.log("息壤",direction,name,end); var jg = this.repeatRoad(true, direction); console.log("息壤重复判断结果", jg); - if (jg == true) + if (jg == true) { + cc.fx.Notifications.emit(cc.fx.Message.showResult, "lose"); return; + } if (this.block_Type == cc.Enum(BlockType).Start) { this.set_Xi_Soil(direction, false); return; @@ -351,7 +360,6 @@ var NewClass = /** @class */ (function (_super) { jg = true; if (type) { cc.fx.Notifications.emit(cc.fx.Message.showResult, "lose"); - cc.fx.Notifications.emit(cc.fx.Message.setData, false); } } else if (this.node.getChildByName("turn2").active == true && this.block_Type != cc.Enum(BlockType).Xi_Soil) { @@ -359,24 +367,25 @@ var NewClass = /** @class */ (function (_super) { jg = true; if (type) { cc.fx.Notifications.emit(cc.fx.Message.showResult, "lose"); - cc.fx.Notifications.emit(cc.fx.Message.setData, false); } } if (direction) { if (this.node.getChildByName("vertical2").active == true && this.block_Type == cc.Enum(BlockType).Xi_Soil && (direction == "up" || direction == "down")) { // alert("治水失败"); - jg = true; - if (type) { - cc.fx.Notifications.emit(cc.fx.Message.showResult, "lose"); - cc.fx.Notifications.emit(cc.fx.Message.setData, false); + if (this.node.getChildByName("vertical2").angle == 0 || this.node.getChildByName("vertical2").angle == 180) { + jg = true; + if (type) { + cc.fx.Notifications.emit(cc.fx.Message.showResult, "lose"); + } } } - else if (this.node.getChildByName("horizontal2").active == true && this.block_Type == cc.Enum(BlockType).Xi_Soil && (direction == "right" || direction == "left")) { + else if (this.node.getChildByName("vertical2").active == true && this.block_Type == cc.Enum(BlockType).Xi_Soil && (direction == "right" || direction == "left")) { // alert("治水失败"); - jg = true; - if (type) { - cc.fx.Notifications.emit(cc.fx.Message.showResult, "lose"); - cc.fx.Notifications.emit(cc.fx.Message.setData, false); + if (this.node.getChildByName("vertical2").angle == 90 || this.node.getChildByName("vertical2").angle == 270) { + jg = true; + if (type) { + cc.fx.Notifications.emit(cc.fx.Message.showResult, "lose"); + } } } } @@ -495,7 +504,6 @@ var NewClass = /** @class */ (function (_super) { target = this.node.getChildByName("Reinforce"); if (this.block_Type == cc.Enum(BlockType).Peak) { cc.fx.Notifications.emit(cc.fx.Message.showResult, "lose"); - cc.fx.Notifications.emit(cc.fx.Message.setData, false); return; } if (this.block_Type != cc.Enum(BlockType).End) @@ -547,7 +555,7 @@ var NewClass = /** @class */ (function (_super) { else if (this.pos.y - posTemp.y >= 1) { direction = "down"; } - console.log("结束方向:", direction); + // console.log("结束方向:",direction); if (!this.finishi) { this.finishi = true; this.set_Xi_Soil(direction, true); @@ -597,14 +605,12 @@ var NewClass = /** @class */ (function (_super) { if (this.node.getChildByName("vertical").active == true && this.node.getChildByName("horizontal").active == true) { // alert("治水失败"); cc.fx.Notifications.emit(cc.fx.Message.showResult, "lose"); - cc.fx.Notifications.emit(cc.fx.Message.setData, false); // cc.director.loadScene("GameScene"); return; } else if (this.node.getChildByName("turn").active == true && this.block_Type != cc.Enum(BlockType).Xi_Soil) { // alert("治水失败"); cc.fx.Notifications.emit(cc.fx.Message.showResult, "lose"); - cc.fx.Notifications.emit(cc.fx.Message.setData, false); // cc.director.loadScene("GameScene"); return; } @@ -722,7 +728,6 @@ var NewClass = /** @class */ (function (_super) { .call(function () { // alert("治水成功"); cc.fx.Notifications.emit(cc.fx.Message.showResult, "win"); - cc.fx.Notifications.emit(cc.fx.Message.setData, true); if (cc.fx.GameConfig.GM_INFO.level < 7) { cc.fx.GameConfig.GM_INFO.level += 1; } @@ -752,7 +757,6 @@ var NewClass = /** @class */ (function (_super) { .call(function () { // alert("治水失败") cc.fx.Notifications.emit(cc.fx.Message.showResult, "lose"); - cc.fx.Notifications.emit(cc.fx.Message.setData, false); // cc.director.loadScene("GameScene"); }) .start(); diff --git a/temp/quick-scripts/src/assets/Script/Block.js.map b/temp/quick-scripts/src/assets/Script/Block.js.map index 9425257..3838630 100644 --- a/temp/quick-scripts/src/assets/Script/Block.js.map +++ b/temp/quick-scripts/src/assets/Script/Block.js.map @@ -1 +1 @@ -{"version":3,"sources":["assets\\Script\\Block.ts"],"names":[],"mappings":";;;;;AAAA,oBAAoB;AACpB,wEAAwE;AACxE,mBAAmB;AACnB,kFAAkF;AAClF,8BAA8B;AAC9B,kFAAkF;;;;;;;;;;;;;;;;;;;;;;AAE5E,IAAA,KAAsB,EAAE,CAAC,UAAU,EAAlC,OAAO,aAAA,EAAE,QAAQ,cAAiB,CAAC;AAE1C,IAAY,SAgBX;AAhBD,WAAY,SAAS;IACjB,SAAS;IACT,2CAAS,CAAA;IACT,SAAS;IACT,2CAAS,CAAA;IACT,OAAO;IACP,2CAAS,CAAA;IACT,OAAO;IACP,yCAAQ,CAAA;IACR,SAAS;IACT,uCAAO,CAAA;IAEP,OAAO;IACP,+CAAW,CAAA;IACX,OAAO;IACP,mDAAa,CAAA;AACjB,CAAC,EAhBW,SAAS,GAAT,iBAAS,KAAT,iBAAS,QAgBpB;AAED,IAAY,QAcX;AAdD,WAAY,QAAQ;IAChB,uBAAW,CAAA;IACX,qBAAS,CAAA;IACT,yBAAa,CAAA;IACb,yBAAa,CAAA;IACb,2BAAe,CAAA;IACf,+BAAmB,CAAA;IACnB,iCAAqB,CAAA;IACrB,mCAAuB,CAAA;IACvB,qCAAyB,CAAA;IACzB,+BAAmB,CAAA;IACnB,mCAAuB,CAAA;IACvB,iCAAqB,CAAA;IACrB,qCAAyB,CAAA;AAC7B,CAAC,EAdW,QAAQ,GAAR,gBAAQ,KAAR,gBAAQ,QAcnB;AAGD;IAAsC,4BAAY;IAAlD;QAAA,qEAouBC;QAnuBG,wBAAwB;QAExB,QAAE,GAAmB,IAAI,CAAC;;QAguB1B,iBAAiB;IACrB,CAAC;IA1tBG,yBAAM,GAAN;QACI,IAAI,CAAC,OAAO,GAAG,KAAK,CAAC;QACrB,IAAI,CAAC,YAAY,GAAG,CAAC,CAAC;QACtB,IAAI,CAAC,GAAG,GAAG,EAAE,CAAC,EAAE,CAAC,CAAC,EAAC,CAAC,CAAC,CAAC;IAC1B,CAAC;IAED,wBAAK,GAAL;IAEA,CAAC;IACD,UAAU;IACV,2BAAQ,GAAR,UAAS,IAAI,EAAC,GAAG,EAAC,GAAG;QACjB,IAAI,CAAC,UAAU,GAAG,IAAI,CAAC;QACvB,IAAI,CAAC,GAAG,GAAG,EAAE,CAAC,EAAE,CAAC,GAAG,CAAC,CAAC,EAAC,GAAG,CAAC,CAAC,CAAC,CAAC;QAC9B,uEAAuE;QACvE,IAAG,IAAI,IAAI,EAAE,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC,KAAK,EAAC;YAChC,IAAI,EAAE,GAAG,IAAI,CAAC,IAAI,CAAC,cAAc,CAAC,IAAI,CAAC,CAAC;YACxC,wDAAwD;YACxD,EAAE,CAAC,YAAY,CAAC,EAAE,CAAC,MAAM,CAAC,CAAC,WAAW,GAAG,IAAI,CAAC,EAAE,CAAC,eAAe,CAAC,CAAC,OAAO,CAAC,CAAC;YAC3E,IAAG,EAAE,CAAC,EAAE,CAAC,UAAU,CAAC,OAAO,CAAC,KAAK,GAAG,CAAC,EAAC;gBAClC,EAAE,CAAC,cAAc,CAAC,OAAO,CAAC,CAAC,CAAC,GAAG,EAAE,CAAC;gBAClC,EAAE,CAAC,cAAc,CAAC,KAAK,CAAC,CAAC,CAAC,GAAG,EAAE,CAAC;aACnC;YACD,IAAI,CAAC,YAAY,CAAC,EAAE,EAAC,OAAO,EAAC,GAAG,EAAC,GAAG,CAAC,CAAC;SACzC;aACI,IAAG,IAAI,IAAI,EAAE,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC,GAAG,EAAC;YACnC,IAAI,EAAE,GAAG,IAAI,CAAC,IAAI,CAAC,cAAc,CAAC,IAAI,CAAC,CAAC;YACxC,wDAAwD;YACxD,EAAE,CAAC,YAAY,CAAC,EAAE,CAAC,MAAM,CAAC,CAAC,WAAW,GAAG,IAAI,CAAC,EAAE,CAAC,eAAe,CAAC,CAAC,KAAK,CAAC,CAAC;YAC7D,IAAG,EAAE,CAAC,EAAE,CAAC,UAAU,CAAC,OAAO,CAAC,KAAK,GAAG,CAAC,EAAC;gBAC9C,EAAE,CAAC,cAAc,CAAC,OAAO,CAAC,CAAC,CAAC,GAAG,EAAE,CAAC;gBAClC,EAAE,CAAC,cAAc,CAAC,KAAK,CAAC,CAAC,CAAC,GAAG,EAAE,CAAC;aACnC;YACD,IAAI,CAAC,YAAY,CAAC,EAAE,EAAC,KAAK,EAAC,GAAG,EAAC,GAAG,CAAC,CAAC;SACvC;aACI,IAAG,IAAI,IAAI,EAAE,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC,KAAK,EAAC;YACrC,IAAI,MAAM,GAAG,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,MAAM,EAAE,GAAC,CAAC,CAAC,CAAC;YACzC,IAAI,WAAW,GAAG,CAAC,CAAC,EAAC,EAAE,EAAC,GAAG,EAAC,GAAG,CAAC,CAAC;YACjC,IAAI,QAAQ,GAAG,WAAW,CAAC,MAAM,CAAC,CAAC;YACnC,IAAI,CAAC,IAAI,CAAC,cAAc,CAAC,IAAI,CAAC,CAAC,YAAY,CAAC,EAAE,CAAC,MAAM,CAAC,CAAC,WAAW,GAAG,IAAI,CAAC,EAAE,CAAC,eAAe,CAAC,CAAC,IAAI,CAAC,CAAC;YACpG,IAAI,CAAC,IAAI,CAAC,cAAc,CAAC,IAAI,CAAC,CAAC,KAAK,GAAG,CAAC,QAAQ,CAAC;YACjD,IAAI,CAAC,IAAI,CAAC,YAAY,CAAC,EAAE,CAAC,MAAM,CAAC,CAAC,WAAW,GAAG,IAAI,CAAC;SACxD;aACI,IAAG,IAAI,IAAI,EAAE,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC,IAAI,EAAC;YACpC,IAAI,MAAM,GAAG,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,MAAM,EAAE,GAAC,CAAC,GAAC,CAAC,CAAC,CAAC;YAC3C,IAAI,IAAI,GAAG,MAAM,GAAG,MAAM,CAAC;YAC3B,IAAI,CAAC,IAAI,CAAC,cAAc,CAAC,IAAI,CAAC,CAAC,YAAY,CAAC,EAAE,CAAC,MAAM,CAAC,CAAC,WAAW,GAAG,IAAI,CAAC,EAAE,CAAC,eAAe,CAAC,CAAC,IAAI,CAAC,CAAC;YACpG,IAAI,CAAC,IAAI,CAAC,YAAY,CAAC,EAAE,CAAC,MAAM,CAAC,CAAC,WAAW,GAAG,IAAI,CAAC;SACxD;QACD,IAAG,EAAE,CAAC,EAAE,CAAC,UAAU,CAAC,OAAO,CAAC,KAAK,IAAI,CAAC,EAAC;YACnC,IAAI,CAAC,IAAI,CAAC,cAAc,CAAC,QAAQ,CAAC,CAAC,OAAO,GAAG,GAAG,CAAC;YACjD,IAAI,CAAC,IAAI,CAAC,cAAc,CAAC,SAAS,CAAC,CAAC,OAAO,GAAG,GAAG,CAAC;SACrD;aACI,IAAG,EAAE,CAAC,EAAE,CAAC,UAAU,CAAC,OAAO,CAAC,KAAK,IAAI,CAAC,EAAC;YACxC,IAAI,CAAC,IAAI,CAAC,cAAc,CAAC,QAAQ,CAAC,CAAC,OAAO,GAAG,GAAG,CAAC;YACjD,IAAI,CAAC,IAAI,CAAC,cAAc,CAAC,SAAS,CAAC,CAAC,OAAO,GAAG,GAAG,CAAC;SACrD;aACI,IAAG,EAAE,CAAC,EAAE,CAAC,UAAU,CAAC,OAAO,CAAC,KAAK,IAAI,CAAC,EAAC;YACxC,IAAI,CAAC,IAAI,CAAC,cAAc,CAAC,QAAQ,CAAC,CAAC,OAAO,GAAG,EAAE,CAAC;YAChD,IAAI,CAAC,IAAI,CAAC,cAAc,CAAC,SAAS,CAAC,CAAC,OAAO,GAAG,EAAE,CAAC;SACpD;aACI,IAAG,EAAE,CAAC,EAAE,CAAC,UAAU,CAAC,OAAO,CAAC,KAAK,GAAG,CAAC,EAAC;YACvC,IAAI,CAAC,IAAI,CAAC,cAAc,CAAC,QAAQ,CAAC,CAAC,OAAO,GAAG,CAAC,CAAC;YAC/C,IAAI,CAAC,IAAI,CAAC,cAAc,CAAC,SAAS,CAAC,CAAC,OAAO,GAAG,CAAC,CAAC;SACnD;IAEL,CAAC;IACD,qBAAqB;IACrB,+BAAY,GAAZ,UAAa,EAAE,EAAC,IAAI,EAAC,GAAG,EAAC,GAAG;QACxB,IAAI,MAAM,GAAG,EAAE,CAAC,cAAc,CAAC,IAAI,CAAC,CAAC;QACrC,IAAG,GAAG,CAAC,CAAC,IAAI,GAAG,CAAC,CAAC,GAAC,CAAC,EAAC;YAChB,EAAE,CAAC,KAAK,GAAG,CAAC,CAAC;YACb,IAAG,IAAI,IAAI,KAAK;gBAAE,MAAM,CAAC,YAAY,CAAC,EAAE,CAAC,MAAM,CAAC,CAAC,WAAW,GAAG,IAAI,CAAC,EAAE,CAAC,eAAe,CAAC,CAAC,OAAO,CAAC,CAAC;YACjG,MAAM,CAAC,MAAM,GAAG,IAAI,CAAC;YACrB,MAAM,CAAC,KAAK,GAAG,CAAC,CAAC;YACjB,OAAO;SACV;aACI,IAAG,GAAG,CAAC,CAAC,IAAI,CAAC,EAAC;YACf,EAAE,CAAC,KAAK,GAAG,CAAC,GAAG,CAAC;YAChB,IAAG,IAAI,IAAI,KAAK;gBAAC,MAAM,CAAC,YAAY,CAAC,EAAE,CAAC,MAAM,CAAC,CAAC,WAAW,GAAG,IAAI,CAAC,EAAE,CAAC,eAAe,CAAC,CAAC,OAAO,CAAC,CAAC;YAChG,MAAM,CAAC,MAAM,GAAG,IAAI,CAAC;YACrB,MAAM,CAAC,KAAK,GAAG,CAAC,GAAG,CAAC;YACpB,OAAO;SACV;aACI,IAAG,GAAG,CAAC,CAAC,IAAI,GAAG,CAAC,CAAC,GAAC,CAAC,EAAC;YACrB,EAAE,CAAC,KAAK,GAAG,EAAE,CAAC;YACd,IAAG,IAAI,IAAI,OAAO;gBAAC,MAAM,CAAC,YAAY,CAAC,EAAE,CAAC,MAAM,CAAC,CAAC,WAAW,GAAG,IAAI,CAAC,EAAE,CAAC,eAAe,CAAC,CAAC,SAAS,CAAC,CAAC;;gBAC/F,MAAM,CAAC,YAAY,CAAC,EAAE,CAAC,MAAM,CAAC,CAAC,WAAW,GAAG,IAAI,CAAC,EAAE,CAAC,eAAe,CAAC,CAAC,OAAO,CAAC,CAAC;YACpF,MAAM,CAAC,MAAM,GAAG,IAAI,CAAC;YACrB,MAAM,CAAC,KAAK,GAAG,CAAC,EAAE,CAAC;SACtB;aACI,IAAG,GAAG,CAAC,CAAC,IAAI,CAAC,EAAC;YACf,EAAE,CAAC,KAAK,GAAG,CAAC,EAAE,CAAC;YACf,IAAG,IAAI,IAAI,OAAO;gBAAC,MAAM,CAAC,YAAY,CAAC,EAAE,CAAC,MAAM,CAAC,CAAC,WAAW,GAAG,IAAI,CAAC,EAAE,CAAC,eAAe,CAAC,CAAC,SAAS,CAAC,CAAC;;gBAC/F,MAAM,CAAC,YAAY,CAAC,EAAE,CAAC,MAAM,CAAC,CAAC,WAAW,GAAG,IAAI,CAAC,EAAE,CAAC,eAAe,CAAC,CAAC,OAAO,CAAC,CAAC;YACpF,MAAM,CAAC,MAAM,GAAG,IAAI,CAAC;YACrB,MAAM,CAAC,KAAK,GAAG,EAAE,CAAC;SACrB;IACL,CAAC;IAED,0BAAO,GAAP,UAAQ,IAAI;QACR,IAAI,CAAC,SAAS,GAAG,IAAI,CAAC;IAC1B,CAAC;IACD,SAAS;IACT,8BAAW,GAAX,UAAY,SAAS,EAAC,IAAI;QACtB,IAAI,EAAE,GAAG,IAAI,CAAC,IAAI,CAAC,cAAc,CAAC,IAAI,CAAC,CAAC;QACxC,IAAI,IAAI,GAAG,IAAI,CAAC,IAAI,CAAC,cAAc,CAAC,WAAW,CAAC,CAAC;QACjD,IAAI,KAAK,GAAG,IAAI,CAAC,IAAI,CAAC,cAAc,CAAC,YAAY,CAAC,CAAC;QAEnD,IAAG,SAAS,IAAI,MAAM,IAAI,SAAS,IAAI,OAAO,EAAC;YAC3C,IAAG,EAAE,CAAC,KAAK,IAAI,CAAC,EAAC;gBACb,IAAI,CAAC,MAAM,GAAE,IAAI,CAAC;gBAClB,KAAK,CAAC,MAAM,GAAG,IAAI,CAAC;gBACpB,KAAK,CAAC,OAAO,GAAG,CAAC,CAAC;gBAClB,IAAG,IAAI,EAAC;oBACJ,IAAI,CAAC,KAAK,GAAG,SAAS,IAAE,MAAM,CAAA,CAAC,CAAA,EAAE,CAAA,CAAC,CAAA,CAAC,CAAC;oBACpC,KAAK,CAAC,KAAK,GAAG,SAAS,IAAE,MAAM,CAAA,CAAC,CAAA,EAAE,CAAA,CAAC,CAAA,CAAC,CAAC;iBAExC;qBACG;oBACA,IAAI,CAAC,KAAK,GAAG,SAAS,IAAE,MAAM,CAAA,CAAC,CAAA,CAAC,CAAA,CAAC,CAAA,EAAE,CAAC;oBACpC,KAAK,CAAC,KAAK,GAAG,SAAS,IAAE,MAAM,CAAA,CAAC,CAAA,CAAC,CAAA,CAAC,CAAA,EAAE,CAAC;iBACxC;aAEJ;iBACI,IAAG,EAAE,CAAC,KAAK,IAAI,CAAC,GAAG,EAAC;gBACrB,IAAI,CAAC,MAAM,GAAE,IAAI,CAAC;gBAClB,KAAK,CAAC,MAAM,GAAG,IAAI,CAAC;gBACpB,KAAK,CAAC,OAAO,GAAG,CAAC,CAAC;gBAClB,IAAG,IAAI,EAAC;oBACJ,IAAI,CAAC,KAAK,GAAG,SAAS,IAAE,MAAM,CAAA,CAAC,CAAA,CAAC,GAAG,CAAA,CAAC,CAAA,CAAC,EAAE,CAAC;oBACxC,KAAK,CAAC,KAAK,GAAG,SAAS,IAAE,MAAM,CAAA,CAAC,CAAA,CAAC,GAAG,CAAA,CAAC,CAAA,CAAC,EAAE,CAAC;iBAC5C;qBACG;oBACA,IAAI,CAAC,KAAK,GAAG,SAAS,IAAE,MAAM,CAAA,CAAC,CAAA,GAAG,CAAA,CAAC,CAAA,CAAC,GAAG,CAAC;oBACxC,KAAK,CAAC,KAAK,GAAG,SAAS,IAAE,MAAM,CAAA,CAAC,CAAA,GAAG,CAAA,CAAC,CAAA,CAAC,GAAG,CAAC;iBAC5C;aAEJ;iBACI,IAAG,EAAE,CAAC,KAAK,IAAI,CAAC,EAAE,EAAC;gBACpB,IAAI,CAAC,MAAM,GAAE,IAAI,CAAC;gBAClB,IAAI,CAAC,YAAY,CAAC,EAAE,CAAC,MAAM,CAAC,CAAC,WAAW,GAAG,IAAI,CAAC,EAAE,CAAC,eAAe,CAAC,CAAC,IAAI,CAAC,CAAC;gBAC1E,IAAI,CAAC,KAAK,GAAG,EAAE,CAAC;gBAChB,IAAG,IAAI,EAAC;oBACJ,KAAK,CAAC,MAAM,GAAG,IAAI,CAAC;oBACpB,KAAK,CAAC,KAAK,GAAG,EAAE,CAAC;oBACjB,KAAK,CAAC,YAAY,CAAC,EAAE,CAAC,MAAM,CAAC,CAAC,WAAW,GAAG,IAAI,CAAC,EAAE,CAAC,eAAe,CAAC,CAAC,QAAQ,CAAC,CAAC;oBAC/E,KAAK,CAAC,OAAO,GAAG,CAAC,CAAC;iBACrB;aAEJ;iBACI,IAAG,EAAE,CAAC,KAAK,IAAI,EAAE,EAAC;gBACnB,IAAI,CAAC,MAAM,GAAE,IAAI,CAAC;gBAClB,IAAI,CAAC,YAAY,CAAC,EAAE,CAAC,MAAM,CAAC,CAAC,WAAW,GAAG,IAAI,CAAC,EAAE,CAAC,eAAe,CAAC,CAAC,IAAI,CAAC,CAAC;gBAC1E,IAAI,CAAC,KAAK,GAAG,EAAE,CAAC;gBAChB,IAAG,IAAI,EAAC;oBACJ,KAAK,CAAC,MAAM,GAAG,IAAI,CAAC;oBACpB,KAAK,CAAC,KAAK,GAAG,EAAE,CAAC;oBACjB,KAAK,CAAC,YAAY,CAAC,EAAE,CAAC,MAAM,CAAC,CAAC,WAAW,GAAG,IAAI,CAAC,EAAE,CAAC,eAAe,CAAC,CAAC,QAAQ,CAAC,CAAC;oBAC/E,KAAK,CAAC,OAAO,GAAG,CAAC,CAAC;iBACrB;aACJ;SAEJ;aACI,IAAG,SAAS,IAAI,IAAI,IAAI,SAAS,IAAI,MAAM,EAAC;YAC7C,IAAI,IAAE,GAAG,IAAI,CAAC,IAAI,CAAC,cAAc,CAAC,IAAI,CAAC,CAAC;YACxC,IAAG,IAAE,CAAC,KAAK,IAAI,CAAC,EAAE,EAAC;gBACf,IAAI,CAAC,MAAM,GAAE,IAAI,CAAC;gBAClB,KAAK,CAAC,MAAM,GAAG,IAAI,CAAC;gBACpB,KAAK,CAAC,OAAO,GAAG,CAAC,CAAC;gBAClB,IAAG,IAAI,EAAC;oBACJ,IAAI,CAAC,KAAK,GAAG,SAAS,IAAE,IAAI,CAAA,CAAC,CAAA,CAAC,CAAA,CAAC,CAAA,CAAC,EAAE,CAAC;oBACnC,KAAK,CAAC,KAAK,GAAG,SAAS,IAAE,IAAI,CAAA,CAAC,CAAA,CAAC,CAAA,CAAC,CAAA,CAAC,EAAE,CAAC;iBACvC;qBACG;oBACA,IAAI,CAAC,KAAK,GAAG,SAAS,IAAE,IAAI,CAAA,CAAC,CAAA,CAAC,EAAE,CAAA,CAAC,CAAA,CAAC,CAAC;oBACnC,KAAK,CAAC,KAAK,GAAG,SAAS,IAAE,IAAI,CAAA,CAAC,CAAA,CAAC,EAAE,CAAA,CAAC,CAAA,CAAC,CAAC;iBACvC;aACJ;iBACI,IAAG,IAAE,CAAC,KAAK,IAAI,EAAE,EAAC;gBACnB,IAAI,CAAC,MAAM,GAAG,IAAI,CAAC;gBACnB,KAAK,CAAC,MAAM,GAAG,IAAI,CAAC;gBACpB,KAAK,CAAC,OAAO,GAAG,CAAC,CAAC;gBAClB,IAAG,IAAI,EAAC;oBACJ,IAAI,CAAC,KAAK,GAAG,SAAS,IAAE,IAAI,CAAA,CAAC,CAAA,EAAE,CAAA,CAAC,CAAA,GAAG,CAAC;oBACpC,KAAK,CAAC,KAAK,GAAG,SAAS,IAAE,IAAI,CAAA,CAAC,CAAA,EAAE,CAAA,CAAC,CAAA,GAAG,CAAC;iBACxC;qBACG;oBACA,IAAI,CAAC,KAAK,GAAG,SAAS,IAAE,IAAI,CAAA,CAAC,CAAA,GAAG,CAAA,CAAC,CAAA,EAAE,CAAC;oBACpC,KAAK,CAAC,KAAK,GAAG,SAAS,IAAE,IAAI,CAAA,CAAC,CAAA,GAAG,CAAA,CAAC,CAAA,EAAE,CAAC;iBACxC;aAEJ;iBACI,IAAG,IAAE,CAAC,KAAK,IAAI,CAAC,EAAC;gBAClB,IAAI,CAAC,MAAM,GAAE,IAAI,CAAC;gBAClB,IAAI,CAAC,YAAY,CAAC,EAAE,CAAC,MAAM,CAAC,CAAC,WAAW,GAAG,IAAI,CAAC,EAAE,CAAC,eAAe,CAAC,CAAC,IAAI,CAAC,CAAC;gBAC1E,IAAI,CAAC,KAAK,GAAG,CAAC,CAAC;gBACf,IAAG,IAAI,EAAC;oBACJ,KAAK,CAAC,MAAM,GAAG,IAAI,CAAC;oBACpB,KAAK,CAAC,YAAY,CAAC,EAAE,CAAC,MAAM,CAAC,CAAC,WAAW,GAAG,IAAI,CAAC,EAAE,CAAC,eAAe,CAAC,CAAC,QAAQ,CAAC,CAAC;oBAC/E,KAAK,CAAC,OAAO,GAAG,CAAC,CAAC;iBACrB;aACJ;iBACI,IAAG,IAAE,CAAC,KAAK,IAAI,CAAC,GAAG,EAAC;gBACrB,IAAI,CAAC,MAAM,GAAE,IAAI,CAAC;gBAClB,IAAI,CAAC,YAAY,CAAC,EAAE,CAAC,MAAM,CAAC,CAAC,WAAW,GAAG,IAAI,CAAC,EAAE,CAAC,eAAe,CAAC,CAAC,IAAI,CAAC,CAAC;gBAC1E,IAAI,CAAC,KAAK,GAAG,CAAC,CAAC;gBACf,IAAG,IAAI,EAAC;oBACJ,KAAK,CAAC,MAAM,GAAG,IAAI,CAAC;oBACpB,KAAK,CAAC,YAAY,CAAC,EAAE,CAAC,MAAM,CAAC,CAAC,WAAW,GAAG,IAAI,CAAC,EAAE,CAAC,eAAe,CAAC,CAAC,QAAQ,CAAC,CAAC;oBAC/E,KAAK,CAAC,OAAO,GAAG,CAAC,CAAC;iBACrB;aACJ;SACJ;IACL,CAAC;IACD,iBAAiB;IACjB,kCAAe,GAAf,UAAgB,SAAS,EAAC,GAAG,EAAC,IAAI;QAAlC,iBAyDC;QAxDG,oDAAoD;QACpD,IAAI,EAAE,GAAG,IAAI,CAAC,UAAU,CAAC,IAAI,EAAC,SAAS,CAAC,CAAC;QACzC,OAAO,CAAC,GAAG,CAAC,UAAU,EAAC,EAAE,CAAC,CAAC;QAC3B,IAAG,EAAE,IAAI,IAAI;YAAE,OAAO;QAEtB,IAAG,IAAI,CAAC,UAAU,IAAI,EAAE,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC,KAAK,EAAC;YAC3C,IAAI,CAAC,WAAW,CAAC,SAAS,EAAC,KAAK,CAAC,CAAC;YAClC,OAAO;SACV;QAED,IAAG,IAAI,CAAC,UAAU,IAAI,EAAE,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC,KAAK,EAAC;YAC3C,IAAI,CAAC,UAAU,GAAG,EAAE,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC,KAAK,CAAC;YAC3C,IAAI,CAAC,IAAI,CAAC,cAAc,CAAC,IAAI,CAAC,CAAC,YAAY,CAAC,EAAE,CAAC,MAAM,CAAC,CAAC,WAAW,GAAG,IAAI,CAAC;YAC1E,IAAI,CAAC,IAAI,CAAC,YAAY,CAAC,EAAE,CAAC,MAAM,CAAC,CAAC,WAAW,GAAI,IAAI,CAAC,EAAE,CAAC,eAAe,CAAC,CAAC,UAAU,CAAC,CAAC;SACzF;QACD,IAAG,GAAG,IAAI,IAAI,EAAC;YACX,IAAG,IAAI,CAAC,UAAU,IAAI,EAAE,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC,GAAG,EAAC;gBACzC,IAAI,CAAC,OAAO,GAAG,IAAI,CAAC;gBACpB,UAAU,CAAC;oBACP,KAAI,CAAC,WAAW,CAAC,SAAS,EAAC,IAAI,CAAC,CAAC;gBACrC,CAAC,EAAE,GAAG,CAAC,CAAC;aAEX;YACD,UAAU,CAAC;gBACP,IAAG,IAAI,IAAI,OAAO;oBAAE,EAAE,CAAC,EAAE,CAAC,aAAa,CAAC,IAAI,CAAC,EAAE,CAAC,EAAE,CAAC,OAAO,CAAC,SAAS,EAAC,CAAC,GAAG,GAAC,CAAC,CAAC,CAAC,CAAC;;oBACzE,EAAE,CAAC,EAAE,CAAC,aAAa,CAAC,IAAI,CAAC,EAAE,CAAC,EAAE,CAAC,OAAO,CAAC,IAAI,EAAC,CAAC,GAAG,GAAC,CAAC,CAAC,CAAC,CAAC;YAC9D,CAAC,EAAE,GAAG,CAAC,CAAC;SACX;QAED,IAAG,IAAI,CAAC,UAAU,IAAI,EAAE,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC,GAAG,IAAI,IAAI,CAAC,UAAU,IAAI,EAAE,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC,KAAK,EAAC;YACxF,IAAI,CAAC,UAAU,GAAG,EAAE,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC,OAAO,CAAC;SAChD;aACG;SACH;QACD,IAAI,MAAM,GAAG,IAAI,CAAC,IAAI,CAAC,cAAc,CAAC,SAAS,CAAC,CAAC;QACjD,IAAI,CAAC,SAAS,GAAG,SAAS,CAAC;QAC3B,MAAM,CAAC,MAAM,GAAG,IAAI,CAAC;QACrB,MAAM,CAAC,OAAO,GAAG,CAAC,CAAC;QACnB,EAAE,CAAC,KAAK,CAAC,MAAM,CAAC;aACf,EAAE,CAAC,GAAG,EAAC,EAAC,OAAO,EAAC,GAAG,EAAC,CAAC;aACrB,EAAE,CAAC,GAAG,EAAC,EAAC,OAAO,EAAC,CAAC,EAAC,CAAC;aACnB,IAAI,CAAC;YACF,IAAG,SAAS,IAAI,IAAI,IAAI,GAAG,IAAI,IAAI,EAAC;gBAChC,IAAI,IAAI,GAAG;oBACP,KAAK,EAAC,CAAC;oBACP,IAAI,EAAC,EAAE,CAAC,EAAE,CAAC,UAAU,CAAC,SAAS,CAAC,UAAU,CAAC,CAAC,CAAC;oBAC7C,IAAI,EAAC,CAAC;oBACN,SAAS,EAAC,KAAK;iBAClB,CAAC;gBACF,IAAG,IAAI,IAAI,OAAO,EAAC;oBACf,KAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC;iBACvB;;oBACI,KAAI,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC;aAC3B;QACL,CAAC,CAAC;aACD,KAAK,EAAE,CAAC;IACb,CAAC;IACD,SAAS;IACT,6BAAU,GAAV,UAAW,IAAI,EAAC,SAAS;QACrB,mBAAmB;QACnB,IAAI,EAAE,GAAG,KAAK,CAAC;QACf,IAAG,IAAI,CAAC,IAAI,CAAC,cAAc,CAAC,WAAW,CAAC,CAAC,MAAM,IAAI,IAAI,IAAI,IAAI,CAAC,IAAI,CAAC,cAAc,CAAC,aAAa,CAAC,CAAC,MAAM,IAAI,IAAI,EAAC;YAC9G,iBAAiB;YACjB,EAAE,GAAG,IAAI,CAAC;YACV,IAAG,IAAI,EAAC;gBACJ,EAAE,CAAC,EAAE,CAAC,aAAa,CAAC,IAAI,CAAC,EAAE,CAAC,EAAE,CAAC,OAAO,CAAC,UAAU,EAAC,MAAM,CAAC,CAAC;gBAC1D,EAAE,CAAC,EAAE,CAAC,aAAa,CAAC,IAAI,CAAC,EAAE,CAAC,EAAE,CAAC,OAAO,CAAC,OAAO,EAAC,KAAK,CAAC,CAAC;aACzD;SACJ;aAEI,IAAG,IAAI,CAAC,IAAI,CAAC,cAAc,CAAC,OAAO,CAAC,CAAC,MAAM,IAAI,IAAI,IAAI,IAAI,CAAC,UAAU,IAAI,EAAE,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC,OAAO,EAAC;YACtG,iBAAiB;YACjB,EAAE,GAAG,IAAI,CAAC;YACV,IAAG,IAAI,EAAC;gBACJ,EAAE,CAAC,EAAE,CAAC,aAAa,CAAC,IAAI,CAAC,EAAE,CAAC,EAAE,CAAC,OAAO,CAAC,UAAU,EAAC,MAAM,CAAC,CAAC;gBAC1D,EAAE,CAAC,EAAE,CAAC,aAAa,CAAC,IAAI,CAAC,EAAE,CAAC,EAAE,CAAC,OAAO,CAAC,OAAO,EAAC,KAAK,CAAC,CAAC;aACzD;SACJ;QAED,IAAG,SAAS,EAAC;YACT,IAAG,IAAI,CAAC,IAAI,CAAC,cAAc,CAAC,WAAW,CAAC,CAAC,MAAM,IAAI,IAAI,IAAI,IAAI,CAAC,UAAU,IAAI,EAAE,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC,OAAO,IAAI,CAAC,SAAS,IAAI,IAAI,IAAG,SAAS,IAAG,MAAM,CAAC,EAAC;gBACjJ,iBAAiB;gBACjB,EAAE,GAAG,IAAI,CAAC;gBACV,IAAG,IAAI,EAAC;oBACJ,EAAE,CAAC,EAAE,CAAC,aAAa,CAAC,IAAI,CAAC,EAAE,CAAC,EAAE,CAAC,OAAO,CAAC,UAAU,EAAC,MAAM,CAAC,CAAC;oBAC1D,EAAE,CAAC,EAAE,CAAC,aAAa,CAAC,IAAI,CAAC,EAAE,CAAC,EAAE,CAAC,OAAO,CAAC,OAAO,EAAC,KAAK,CAAC,CAAC;iBACzD;aACJ;iBACI,IAAG,IAAI,CAAC,IAAI,CAAC,cAAc,CAAC,aAAa,CAAC,CAAC,MAAM,IAAI,IAAI,IAAI,IAAI,CAAC,UAAU,IAAI,EAAE,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC,OAAO,IAAI,CAAC,SAAS,IAAI,OAAO,IAAG,SAAS,IAAG,MAAM,CAAC,EAAC;gBAC3J,iBAAiB;gBACjB,EAAE,GAAG,IAAI,CAAC;gBACV,IAAG,IAAI,EAAC;oBACJ,EAAE,CAAC,EAAE,CAAC,aAAa,CAAC,IAAI,CAAC,EAAE,CAAC,EAAE,CAAC,OAAO,CAAC,UAAU,EAAC,MAAM,CAAC,CAAC;oBAC1D,EAAE,CAAC,EAAE,CAAC,aAAa,CAAC,IAAI,CAAC,EAAE,CAAC,EAAE,CAAC,OAAO,CAAC,OAAO,EAAC,KAAK,CAAC,CAAC;iBACzD;aACJ;SACJ;QAED,OAAO,EAAE,CAAC;IACd,CAAC;IAED,QAAQ;IACR,0BAAO,GAAP,UAAQ,IAAI;QACR,IAAG,IAAI,CAAC,SAAS,IAAI,KAAK,EAAC;YACvB,UAAU,CAAC;gBACP,IAAG,IAAI,CAAC,SAAS;oBACb,EAAE,CAAC,EAAE,CAAC,aAAa,CAAC,IAAI,CAAC,EAAE,CAAC,EAAE,CAAC,OAAO,CAAC,IAAI,EAAC,KAAK,CAAC,CAAC;YAC3D,CAAC,EAAE,IAAI,CAAC,IAAI,CAAC,CAAC;YACd,OAAO;SACV;QACD,IAAI,EAAE,GAAG,IAAI,CAAC,UAAU,CAAC,IAAI,EAAC,IAAI,CAAC,CAAC;QACpC,IAAG,EAAE,IAAI,IAAI;YAAE,OAAO;QACtB,IAAI,MAAM,GAAG,IAAI,CAAC;QAClB,IAAI,QAAQ,GAAG,CAAC,CAAC;QACjB,IAAI,IAAI,GAAG,IAAI,CAAC,IAAI,CAAC;QACrB,IAAI,KAAK,GAAG,IAAI,CAAC,KAAK,GAAG,CAAC,CAAC;QAC3B,IAAI,MAAM,GAAG,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,MAAM,EAAE,GAAC,CAAC,GAAG,CAAC,CAAC,CAAC;QAC7C,MAAM,GAAG,IAAI,CAAC,IAAI,CAAC,cAAc,CAAC,WAAW,CAAC,CAAC;QAC/C,IAAG,MAAM,CAAC,IAAI,IAAI,UAAU,EAAC;YACzB,IAAI,QAAM,GAAG,MAAM,CAAC,cAAc,CAAC,MAAM,CAAC,CAAC,cAAc,CAAC,QAAQ,CAAC,CAAC;YACpE,IAAI,QAAM,GAAG,MAAM,CAAC,cAAc,CAAC,MAAM,CAAC,CAAC,cAAc,CAAC,QAAQ,CAAC,CAAC;YACpE,IAAI,QAAM,GAAG,MAAM,CAAC,cAAc,CAAC,MAAM,CAAC,CAAC,cAAc,CAAC,QAAQ,CAAC,CAAC;YACpE,IAAI,SAAS,GAAG,IAAI,CAAC;YACrB,QAAM,CAAC,SAAS,CAAC,EAAE,CAAC,QAAQ,CAAC,EAAE,CAAC,MAAM,CAAC,GAAG,EAAC,EAAE,CAAC,EAAE,CAAC,QAAM,CAAC,CAAC,EAAC,GAAG,CAAC,CAAC,EAAC,EAAE,CAAC,SAAS,CAAC,SAAS,CAAC,EACvF,EAAE,CAAC,QAAQ,CAAC;gBACR,QAAM,CAAC,CAAC,GAAG,CAAC,GAAG,CAAA;YACnB,CAAC,CAAC,CAAC,CAAC,aAAa,EAAE,CAAC,CAAC;YACrB,QAAM,CAAC,SAAS,CAAC,EAAE,CAAC,QAAQ,CAAC,EAAE,CAAC,MAAM,CAAC,GAAG,EAAC,EAAE,CAAC,EAAE,CAAC,QAAM,CAAC,CAAC,EAAC,GAAG,CAAC,CAAC,EAAC,EAAE,CAAC,SAAS,CAAC,SAAS,CAAC,EACvF,EAAE,CAAC,QAAQ,CAAC;gBACR,QAAM,CAAC,CAAC,GAAG,CAAC,GAAG,CAAA;YACnB,CAAC,CAAC,CAAC,CAAC,aAAa,EAAE,CAAC,CAAC;YACrB,QAAM,CAAC,SAAS,CAAC,EAAE,CAAC,QAAQ,CAAC,EAAE,CAAC,MAAM,CAAC,GAAG,EAAC,EAAE,CAAC,EAAE,CAAC,QAAM,CAAC,CAAC,EAAC,GAAG,CAAC,CAAC,EAAC,EAAE,CAAC,SAAS,CAAC,SAAS,CAAC,EACvF,EAAE,CAAC,QAAQ,CAAC;gBACR,QAAM,CAAC,CAAC,GAAG,CAAC,GAAG,CAAA;YACnB,CAAC,CAAC,CAAC,CAAC,aAAa,EAAE,CAAC,CAAC;SACxB;QAED,IAAI,IAAI,GAAG,GAAG,GAAG,MAAM,CAAC;QACxB,IAAG,IAAI,CAAC,UAAU,IAAI,EAAE,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC,SAAS;YAAC,MAAM,CAAC,YAAY,CAAC,EAAE,CAAC,MAAM,CAAC,CAAC,WAAW,GAAG,IAAI,CAAC,EAAE,CAAC,eAAe,CAAC,CAAC,IAAI,CAAC,CAAC;QAE/H,IAAG,MAAM,CAAC,MAAM,IAAI,IAAI,EAAC;YACrB,MAAM,GAAG,IAAI,CAAC,IAAI,CAAC,cAAc,CAAC,aAAa,CAAC,CAAC;YACjD,IAAI,GAAG,GAAG,GAAG,MAAM,CAAC;YACpB,IAAG,IAAI,CAAC,UAAU,IAAI,EAAE,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC,SAAS;gBAAE,MAAM,CAAC,YAAY,CAAC,EAAE,CAAC,MAAM,CAAC,CAAC,WAAW,GAAG,IAAI,CAAC,EAAE,CAAC,eAAe,CAAC,CAAC,IAAI,CAAC,CAAC;SACnI;QACD,0CAA0C;QAC1C,IAAG,IAAI,CAAC,SAAS,IAAI,EAAE,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC,EAAE,EAAC;SACzC;aACI,IAAG,IAAI,CAAC,SAAS,IAAI,EAAE,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC,IAAI,EAAC;YAC7C,MAAM,CAAC,KAAK,GAAG,GAAG,CAAC;SACtB;aACI,IAAG,IAAI,CAAC,SAAS,IAAI,EAAE,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC,IAAI,EAAC;YAC7C,MAAM,CAAC,KAAK,GAAG,EAAE,CAAC;YAClB,IAAI,GAAG,GAAG,GAAG,MAAM,CAAC;YACpB,IAAG,IAAI,CAAC,UAAU,IAAI,EAAE,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC,SAAS;gBAAE,MAAM,CAAC,YAAY,CAAC,EAAE,CAAC,MAAM,CAAC,CAAC,WAAW,GAAG,IAAI,CAAC,EAAE,CAAC,eAAe,CAAC,CAAC,IAAI,CAAC,CAAC;SACnI;aACI,IAAG,IAAI,CAAC,SAAS,IAAI,EAAE,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC,KAAK,EAAC;YAC9C,MAAM,CAAC,KAAK,GAAG,GAAG,CAAC;YACnB,IAAI,GAAG,GAAG,GAAG,MAAM,CAAC;YACpB,IAAG,IAAI,CAAC,UAAU,IAAI,EAAE,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC,SAAS;gBAAE,MAAM,CAAC,YAAY,CAAC,EAAE,CAAC,MAAM,CAAC,CAAC,WAAW,GAAG,IAAI,CAAC,EAAE,CAAC,eAAe,CAAC,CAAC,IAAI,CAAC,CAAC;SACnI;aACG;YACA,MAAM,GAAG,IAAI,CAAC,IAAI,CAAC,cAAc,CAAC,OAAO,CAAC,CAAC;YAC3C,IAAG,MAAM,CAAC,IAAI,IAAI,MAAM,EAAC;gBACrB,IAAI,OAAK,GAAG,MAAM,CAAC,cAAc,CAAC,MAAM,CAAC,CAAC,cAAc,CAAC,OAAO,CAAC,CAAC;gBAClE,OAAK,CAAC,OAAO,GAAG,CAAC,CAAA;gBACjB,OAAK,CAAC,SAAS,CAAC,EAAE,CAAC,QAAQ,CAAC,EAAE,CAAC,QAAQ,CAAC,GAAG,EAAC,CAAC,IAAI,CAAC,EAAC,EAAE,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,CAAC,aAAa,EAAE,CAAC,CAAC;gBACrF,UAAU,CAAC;oBACP,OAAK,CAAC,OAAO,GAAG,GAAG,CAAC;gBACxB,CAAC,EAAE,GAAG,CAAC,CAAC;aACX;YACD,IAAI,GAAG,GAAG,GAAG,MAAM,CAAC;YACpB,IAAG,IAAI,CAAC,UAAU,IAAI,EAAE,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC,SAAS;gBAAC,MAAM,CAAC,YAAY,CAAC,EAAE,CAAC,MAAM,CAAC,CAAC,WAAW,GAAG,IAAI,CAAC,EAAE,CAAC,eAAe,CAAC,CAAC,IAAI,CAAC,CAAC;YAC/H,QAAQ,GAAG,IAAI,CAAC;YAChB,IAAG,IAAI,CAAC,SAAS,IAAI,EAAE,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC,OAAO,EAAC;gBAC3C,MAAM,CAAC,WAAW,CAAC,CAAC,IAAI,CAAC,YAAY,EAAC,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC;aAC7D;iBACI,IAAG,IAAI,CAAC,SAAS,IAAI,EAAE,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC,QAAQ,EAAC;gBACjD,MAAM,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC;gBACnB,MAAM,CAAC,WAAW,CAAC,IAAI,CAAC,YAAY,EAAC,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC;aAC5D;iBACI,IAAG,IAAI,CAAC,SAAS,IAAI,EAAE,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC,SAAS,EAAC;gBAClD,MAAM,CAAC,KAAK,GAAG,GAAG,CAAC;gBACnB,MAAM,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC;gBACnB,MAAM,CAAC,WAAW,CAAC,CAAC,IAAI,CAAC,YAAY,EAAC,IAAI,CAAC,YAAY,CAAC,CAAC;aAC5D;iBACI,IAAG,IAAI,CAAC,SAAS,IAAI,EAAE,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC,UAAU,EAAC;gBACnD,MAAM,CAAC,KAAK,GAAG,GAAG,CAAC;gBACnB,MAAM,CAAC,WAAW,CAAC,IAAI,CAAC,YAAY,EAAC,IAAI,CAAC,YAAY,CAAC,CAAC;aAC3D;iBACI,IAAG,IAAI,CAAC,SAAS,IAAI,EAAE,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC,OAAO,EAAC;gBAChD,MAAM,CAAC,KAAK,GAAG,CAAC,EAAE,CAAC;gBACnB,MAAM,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC;gBACnB,MAAM,CAAC,WAAW,CAAC,IAAI,CAAC,YAAY,EAAC,IAAI,CAAC,YAAY,CAAC,CAAC;aAC3D;iBACI,IAAG,IAAI,CAAC,SAAS,IAAI,EAAE,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC,SAAS,EAAC;gBAClD,MAAM,CAAC,KAAK,GAAG,EAAE,CAAC;gBAClB,MAAM,CAAC,WAAW,CAAC,CAAC,IAAI,CAAC,YAAY,EAAC,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC;aAC7D;iBACI,IAAG,IAAI,CAAC,SAAS,IAAI,EAAE,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC,QAAQ,EAAC;gBACjD,MAAM,CAAC,KAAK,GAAG,CAAC,EAAE,CAAC;gBACnB,MAAM,CAAC,WAAW,CAAC,CAAC,IAAI,CAAC,YAAY,EAAC,IAAI,CAAC,YAAY,CAAC,CAAC;aAE5D;iBACI,IAAG,IAAI,CAAC,SAAS,IAAI,EAAE,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC,UAAU,EAAC;gBACnD,MAAM,CAAC,KAAK,GAAG,CAAC,EAAE,CAAC;gBACnB,MAAM,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC;gBACnB,MAAM,CAAC,WAAW,CAAC,CAAC,IAAI,CAAC,YAAY,EAAC,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC;aAC7D;SACJ;QACD,IAAG,IAAI,CAAC,SAAS,IAAI,WAAW,EAAC;YAC7B,MAAM,GAAG,IAAI,CAAC,IAAI,CAAC,cAAc,CAAC,WAAW,CAAC,CAAC;YAC/C,IAAG,IAAI,CAAC,UAAU,IAAI,EAAE,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC,IAAI,EAAC;gBAC1C,EAAE,CAAC,EAAE,CAAC,aAAa,CAAC,IAAI,CAAC,EAAE,CAAC,EAAE,CAAC,OAAO,CAAC,UAAU,EAAC,MAAM,CAAC,CAAC;gBAC1D,EAAE,CAAC,EAAE,CAAC,aAAa,CAAC,IAAI,CAAC,EAAE,CAAC,EAAE,CAAC,OAAO,CAAC,OAAO,EAAC,KAAK,CAAC,CAAC;gBACtD,OAAO;aACV;YACD,IAAG,IAAI,CAAC,UAAU,IAAI,EAAE,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC,GAAG;gBAAC,IAAI,CAAC,UAAU,GAAG,EAAE,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC,SAAS,CAAC;YAC5F,IAAI,CAAC,IAAI,CAAC,cAAc,CAAC,WAAW,CAAC,CAAC,YAAY,CAAC,EAAE,CAAC,MAAM,CAAC,CAAC,WAAW,GAAG,IAAI,CAAC,EAAE,CAAC,eAAe,CAAC,CAAC,IAAI,CAAC,CAAC;YAC3G,IAAI,CAAC,IAAI,CAAC,cAAc,CAAC,OAAO,CAAC,CAAC,YAAY,CAAC,EAAE,CAAC,MAAM,CAAC,CAAC,WAAW,GAAG,IAAI,CAAC,EAAE,CAAC,eAAe,CAAC,CAAC,IAAI,CAAC,CAAC;YACvG,IAAI,CAAC,IAAI,CAAC,cAAc,CAAC,aAAa,CAAC,CAAC,YAAY,CAAC,EAAE,CAAC,MAAM,CAAC,CAAC,WAAW,GAAG,IAAI,CAAC,EAAE,CAAC,eAAe,CAAC,CAAC,IAAI,CAAC,CAAC;YAC7G,MAAM,CAAC,MAAM,GAAG,IAAI,CAAC;YACrB,MAAM,CAAC,OAAO,GAAG,CAAC,CAAC;YACnB,QAAQ,GAAG,CAAC,CAAC;YACb,EAAE,CAAC,KAAK,CAAC,MAAM,CAAC;iBACf,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,UAAU,CAAC,SAAS,CAAC,cAAc,EAAC,EAAC,OAAO,EAAC,GAAG,EAAC,CAAC;iBAC3D,IAAI,CAAC;gBACF,IAAG,IAAI,CAAC,SAAS;oBACb,EAAE,CAAC,EAAE,CAAC,aAAa,CAAC,IAAI,CAAC,EAAE,CAAC,EAAE,CAAC,OAAO,CAAC,SAAS,EAAC,KAAK,CAAC,CAAC;gBACxD,EAAE,CAAC,EAAE,CAAC,aAAa,CAAC,IAAI,CAAC,EAAE,CAAC,EAAE,CAAC,OAAO,CAAC,IAAI,EAAC,KAAK,CAAC,CAAC;YAC3D,CAAC,CAAC;iBACD,KAAK,EAAE,CAAC;SACZ;aACI,IAAG,IAAI,CAAC,SAAS,IAAI,SAAS,EAAC;YAChC,MAAM,CAAC,MAAM,GAAG,KAAK,CAAC;YACtB,IAAG,IAAI,CAAC,UAAU,IAAI,EAAE,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC,GAAG,IAAI,IAAI,CAAC,UAAU,IAAI,EAAE,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC,KAAK;gBACvF,IAAI,CAAC,UAAU,GAAG,EAAE,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC,OAAO,CAAC;YACjD,MAAM,GAAG,IAAI,CAAC,IAAI,CAAC,cAAc,CAAC,SAAS,CAAC,CAAC;YAC7C,MAAM,CAAC,MAAM,GAAG,IAAI,CAAC;YACrB,MAAM,CAAC,OAAO,GAAG,CAAC,CAAC;YACnB,EAAE,CAAC,KAAK,CAAC,MAAM,CAAC;iBACf,EAAE,CAAC,IAAI,EAAC,EAAC,OAAO,EAAC,CAAC,EAAC,CAAC;iBACpB,EAAE,CAAC,IAAI,EAAC,EAAC,OAAO,EAAC,CAAC,EAAC,CAAC;iBACpB,IAAI,CAAC;gBACF,IAAG,IAAI,CAAC,SAAS,EAAC;oBACd,EAAE,CAAC,EAAE,CAAC,aAAa,CAAC,IAAI,CAAC,EAAE,CAAC,EAAE,CAAC,OAAO,CAAC,IAAI,EAAC,KAAK,CAAC,CAAC;iBACtD;YAEL,CAAC,CAAC;iBACD,KAAK,EAAE,CAAC;SACZ;aACI,IAAG,IAAI,CAAC,SAAS,IAAI,KAAK,EAAC;YAC5B,MAAM,CAAC,MAAM,GAAG,KAAK,CAAC;YACtB,IAAG,IAAI,CAAC,UAAU,IAAI,EAAE,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC,GAAG,IAAI,IAAI,CAAC,UAAU,IAAI,EAAE,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC,KAAK;gBACvF,IAAI,CAAC,UAAU,GAAG,EAAE,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC,OAAO,CAAC;YACjD,IAAI,OAAO,GAAG,IAAI,CAAC,IAAI,CAAC;YACxB,IAAI,SAAS,GAAG,IAAI,CAAC;YACrB,IAAG,IAAI,CAAC,GAAG,CAAC,CAAC,GAAG,OAAO,CAAC,CAAC,IAAI,CAAC,EAAC;gBAC3B,SAAS,GAAG,OAAO,CAAC;aACvB;iBACI,IAAG,IAAI,CAAC,GAAG,CAAC,CAAC,GAAG,OAAO,CAAC,CAAC,IAAI,CAAC,CAAC,EAAC;gBACjC,SAAS,GAAG,MAAM,CAAC;aACtB;iBACI,IAAG,IAAI,CAAC,GAAG,CAAC,CAAC,GAAG,OAAO,CAAC,CAAC,IAAI,CAAC,EAAC;gBAChC,SAAS,GAAG,MAAM,CAAC;aACtB;YAED,OAAO,CAAC,GAAG,CAAC,OAAO,EAAC,SAAS,CAAC,CAAC;YAC/B,IAAG,CAAC,IAAI,CAAC,OAAO,EAAC;gBACb,IAAI,CAAC,OAAO,GAAG,IAAI,CAAC;gBACpB,IAAI,CAAC,WAAW,CAAC,SAAS,EAAC,IAAI,CAAC,CAAC;aACpC;SACJ;aACG;YACA,MAAM,CAAC,MAAM,GAAG,IAAI,CAAC;YACrB,IAAG,IAAI,CAAC,UAAU,IAAI,EAAE,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC,OAAO,EAAC;gBAC7C,MAAM,CAAC,YAAY,CAAC,EAAE,CAAC,MAAM,CAAC,CAAC,SAAS,GAAG,CAAC,CAAC;gBAC7C,EAAE,CAAC,KAAK,CAAC,MAAM,CAAC,YAAY,CAAC,EAAE,CAAC,MAAM,CAAC,CAAC;qBACvC,EAAE,CAAC,IAAI,EAAC,EAAC,SAAS,EAAC,QAAQ,EAAC,CAAC;qBAC7B,IAAI,CAAC;oBACF,IAAG,IAAI,CAAC,SAAS;wBACb,EAAE,CAAC,EAAE,CAAC,aAAa,CAAC,IAAI,CAAC,EAAE,CAAC,EAAE,CAAC,OAAO,CAAC,IAAI,EAAC,KAAK,CAAC,CAAC;gBAC3D,CAAC,CAAC;qBACD,KAAK,EAAE,CAAC;aACZ;iBACG;gBACA,MAAM,CAAC,OAAO,GAAG,CAAC,CAAC;gBACnB,MAAM,CAAC,YAAY,CAAC,EAAE,CAAC,MAAM,CAAC,CAAC,SAAS,GAAG,CAAC,CAAC;gBAC7C,EAAE,CAAC,KAAK,CAAC,MAAM,CAAC;qBACf,EAAE,CAAC,IAAI,EAAC,EAAC,OAAO,EAAC,GAAG,EAAC,CAAC;qBACtB,IAAI,CAAC;oBACF,IAAG,IAAI,CAAC,SAAS;wBACb,EAAE,CAAC,EAAE,CAAC,aAAa,CAAC,IAAI,CAAC,EAAE,CAAC,EAAE,CAAC,OAAO,CAAC,IAAI,EAAC,KAAK,CAAC,CAAC;gBAC3D,CAAC,CAAC;qBACD,KAAK,EAAE,CAAC;aACZ;SACJ;IAEL,CAAC;IACD,MAAM;IACN,2BAAQ,GAAR,UAAS,IAAI;QACT,IAAG,IAAI,CAAC,IAAI,CAAC,cAAc,CAAC,YAAY,CAAC,CAAC,MAAM,IAAI,IAAI,IAAI,IAAI,CAAC,UAAU,IAAI,EAAE,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC,KAAK,EAAC;YACpG,iDAAiD;YACjD,EAAE,CAAC,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,cAAc,CAAC,YAAY,CAAC,CAAC;iBAC/C,EAAE,CAAC,GAAG,EAAC,EAAC,OAAO,EAAC,GAAG,EAAC,CAAC;iBACrB,KAAK,EAAE,CAAC;SACZ;QAGD,IAAG,IAAI,CAAC,SAAS,IAAI,KAAK,EAAC;YACvB,UAAU,CAAC;gBACP,IAAG,IAAI,CAAC,SAAS;oBACb,EAAE,CAAC,EAAE,CAAC,aAAa,CAAC,IAAI,CAAC,EAAE,CAAC,EAAE,CAAC,OAAO,CAAC,SAAS,EAAC,KAAK,CAAC,CAAC;YAChE,CAAC,EAAE,IAAI,CAAC,IAAI,CAAC,CAAC;YACd,OAAO;SACV;QACD,mBAAmB;QACnB,IAAG,IAAI,CAAC,IAAI,CAAC,cAAc,CAAC,UAAU,CAAC,CAAC,MAAM,IAAI,IAAI,IAAI,IAAI,CAAC,IAAI,CAAC,cAAc,CAAC,YAAY,CAAC,CAAC,MAAM,IAAI,IAAI,EAAC;YAC5G,iBAAiB;YACjB,EAAE,CAAC,EAAE,CAAC,aAAa,CAAC,IAAI,CAAC,EAAE,CAAC,EAAE,CAAC,OAAO,CAAC,UAAU,EAAC,MAAM,CAAC,CAAC;YAC1D,EAAE,CAAC,EAAE,CAAC,aAAa,CAAC,IAAI,CAAC,EAAE,CAAC,EAAE,CAAC,OAAO,CAAC,OAAO,EAAC,KAAK,CAAC,CAAC;YACtD,sCAAsC;YACtC,OAAO;SACV;aAEI,IAAG,IAAI,CAAC,IAAI,CAAC,cAAc,CAAC,MAAM,CAAC,CAAC,MAAM,IAAI,IAAI,IAAI,IAAI,CAAC,UAAU,IAAI,EAAE,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC,OAAO,EAAC;YACrG,iBAAiB;YACjB,EAAE,CAAC,EAAE,CAAC,aAAa,CAAC,IAAI,CAAC,EAAE,CAAC,EAAE,CAAC,OAAO,CAAC,UAAU,EAAC,MAAM,CAAC,CAAC;YAC1D,EAAE,CAAC,EAAE,CAAC,aAAa,CAAC,IAAI,CAAC,EAAE,CAAC,EAAE,CAAC,OAAO,CAAC,OAAO,EAAC,KAAK,CAAC,CAAC;YACtD,sCAAsC;YACtC,OAAO;SACV;QACD,IAAI,MAAM,GAAG,IAAI,CAAC;QAClB,IAAI,QAAQ,GAAG,CAAC,CAAC;QACjB,IAAI,IAAI,GAAG,IAAI,CAAC,IAAI,CAAC;QACrB,IAAI,KAAK,GAAG,IAAI,CAAC,KAAK,GAAG,CAAC,CAAC;QAC3B,IAAI,MAAM,GAAG,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,MAAM,EAAE,GAAC,CAAC,GAAG,CAAC,CAAC,CAAC;QAC7C,MAAM,GAAG,IAAI,CAAC,IAAI,CAAC,cAAc,CAAC,UAAU,CAAC,CAAC;QAC9C,IAAG,MAAM,CAAC,IAAI,IAAI,UAAU,EAAC;YACzB,IAAI,QAAM,GAAG,MAAM,CAAC,cAAc,CAAC,MAAM,CAAC,CAAC,cAAc,CAAC,QAAQ,CAAC,CAAC;YACpE,IAAI,QAAM,GAAG,MAAM,CAAC,cAAc,CAAC,MAAM,CAAC,CAAC,cAAc,CAAC,QAAQ,CAAC,CAAC;YACpE,IAAI,QAAM,GAAG,MAAM,CAAC,cAAc,CAAC,MAAM,CAAC,CAAC,cAAc,CAAC,QAAQ,CAAC,CAAC;YACpE,IAAI,SAAS,GAAG,IAAI,CAAC;YACrB,QAAM,CAAC,SAAS,CAAC,EAAE,CAAC,QAAQ,CAAC,EAAE,CAAC,MAAM,CAAC,GAAG,EAAC,EAAE,CAAC,EAAE,CAAC,QAAM,CAAC,CAAC,EAAC,GAAG,CAAC,CAAC,EAAC,EAAE,CAAC,SAAS,CAAC,SAAS,CAAC,EACvF,EAAE,CAAC,QAAQ,CAAC;gBACR,QAAM,CAAC,CAAC,GAAG,CAAC,GAAG,CAAA;YACnB,CAAC,CAAC,CAAC,CAAC,aAAa,EAAE,CAAC,CAAC;YACrB,QAAM,CAAC,SAAS,CAAC,EAAE,CAAC,QAAQ,CAAC,EAAE,CAAC,MAAM,CAAC,GAAG,EAAC,EAAE,CAAC,EAAE,CAAC,QAAM,CAAC,CAAC,EAAC,GAAG,CAAC,CAAC,EAAC,EAAE,CAAC,SAAS,CAAC,SAAS,CAAC,EACvF,EAAE,CAAC,QAAQ,CAAC;gBACR,QAAM,CAAC,CAAC,GAAG,CAAC,GAAG,CAAA;YACnB,CAAC,CAAC,CAAC,CAAC,aAAa,EAAE,CAAC,CAAC;YACrB,QAAM,CAAC,SAAS,CAAC,EAAE,CAAC,QAAQ,CAAC,EAAE,CAAC,MAAM,CAAC,GAAG,EAAC,EAAE,CAAC,EAAE,CAAC,QAAM,CAAC,CAAC,EAAC,GAAG,CAAC,CAAC,EAAC,EAAE,CAAC,SAAS,CAAC,SAAS,CAAC,EACvF,EAAE,CAAC,QAAQ,CAAC;gBACR,QAAM,CAAC,CAAC,GAAG,CAAC,GAAG,CAAA;YACnB,CAAC,CAAC,CAAC,CAAC,aAAa,EAAE,CAAC,CAAC;SACxB;QAED,IAAI,IAAI,GAAG,GAAG,GAAG,MAAM,CAAC;QACxB,kIAAkI;QAElI,IAAG,MAAM,CAAC,MAAM,IAAI,IAAI,EAAC;YACrB,MAAM,GAAG,IAAI,CAAC,IAAI,CAAC,cAAc,CAAC,YAAY,CAAC,CAAC;YAChD,IAAI,QAAM,GAAG,MAAM,CAAC,cAAc,CAAC,MAAM,CAAC,CAAC,cAAc,CAAC,QAAQ,CAAC,CAAC;YACpE,IAAI,QAAM,GAAG,MAAM,CAAC,cAAc,CAAC,MAAM,CAAC,CAAC,cAAc,CAAC,QAAQ,CAAC,CAAC;YACpE,IAAI,QAAM,GAAG,MAAM,CAAC,cAAc,CAAC,MAAM,CAAC,CAAC,cAAc,CAAC,QAAQ,CAAC,CAAC;YACpE,IAAI,SAAS,GAAG,IAAI,CAAC;YACrB,QAAM,CAAC,SAAS,CAAC,EAAE,CAAC,QAAQ,CAAC,EAAE,CAAC,MAAM,CAAC,GAAG,EAAC,EAAE,CAAC,EAAE,CAAC,QAAM,CAAC,CAAC,EAAC,GAAG,CAAC,CAAC,EAAC,EAAE,CAAC,SAAS,CAAC,SAAS,CAAC,EACvF,EAAE,CAAC,QAAQ,CAAC;gBACR,QAAM,CAAC,CAAC,GAAG,CAAC,GAAG,CAAA;YACnB,CAAC,CAAC,CAAC,CAAC,aAAa,EAAE,CAAC,CAAC;YACrB,QAAM,CAAC,SAAS,CAAC,EAAE,CAAC,QAAQ,CAAC,EAAE,CAAC,MAAM,CAAC,GAAG,EAAC,EAAE,CAAC,EAAE,CAAC,QAAM,CAAC,CAAC,EAAC,GAAG,CAAC,CAAC,EAAC,EAAE,CAAC,SAAS,CAAC,SAAS,CAAC,EACvF,EAAE,CAAC,QAAQ,CAAC;gBACR,QAAM,CAAC,CAAC,GAAG,CAAC,GAAG,CAAA;YACnB,CAAC,CAAC,CAAC,CAAC,aAAa,EAAE,CAAC,CAAC;YACrB,QAAM,CAAC,SAAS,CAAC,EAAE,CAAC,QAAQ,CAAC,EAAE,CAAC,MAAM,CAAC,GAAG,EAAC,EAAE,CAAC,EAAE,CAAC,QAAM,CAAC,CAAC,EAAC,GAAG,CAAC,CAAC,EAAC,EAAE,CAAC,SAAS,CAAC,SAAS,CAAC,EACvF,EAAE,CAAC,QAAQ,CAAC;gBACR,QAAM,CAAC,CAAC,GAAG,CAAC,GAAG,CAAA;YACnB,CAAC,CAAC,CAAC,CAAC,aAAa,EAAE,CAAC,CAAC;YACrB,IAAI,GAAG,GAAG,GAAG,MAAM,CAAC;YACpB,kIAAkI;SACrI;QACD,0CAA0C;QAC1C,IAAG,IAAI,CAAC,SAAS,IAAI,EAAE,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC,EAAE,EAAC;SACzC;aACI,IAAG,IAAI,CAAC,SAAS,IAAI,EAAE,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC,IAAI,EAAC;YAC7C,MAAM,CAAC,KAAK,GAAG,GAAG,CAAC;SACtB;aACI,IAAG,IAAI,CAAC,SAAS,IAAI,EAAE,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC,IAAI,EAAC;YAC7C,MAAM,CAAC,KAAK,GAAG,EAAE,CAAC;YAClB,IAAI,GAAG,GAAG,GAAG,MAAM,CAAC;YACpB,kIAAkI;SACrI;aACI,IAAG,IAAI,CAAC,SAAS,IAAI,EAAE,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC,KAAK,EAAC;YAC9C,MAAM,CAAC,KAAK,GAAG,GAAG,CAAC;YACnB,IAAI,GAAG,GAAG,GAAG,MAAM,CAAC;YACpB,kIAAkI;SACrI;aACG;YACA,MAAM,GAAG,IAAI,CAAC,IAAI,CAAC,cAAc,CAAC,MAAM,CAAC,CAAC;YAC1C,IAAG,MAAM,CAAC,IAAI,IAAI,MAAM,EAAC;gBACrB,IAAI,OAAK,GAAG,MAAM,CAAC,cAAc,CAAC,MAAM,CAAC,CAAC,cAAc,CAAC,OAAO,CAAC,CAAC;gBAClE,OAAK,CAAC,OAAO,GAAG,CAAC,CAAA;gBACjB,OAAK,CAAC,SAAS,CAAC,EAAE,CAAC,QAAQ,CAAC,EAAE,CAAC,QAAQ,CAAC,GAAG,EAAC,CAAC,IAAI,CAAC,EAAC,EAAE,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,CAAC,aAAa,EAAE,CAAC,CAAC;gBACrF,UAAU,CAAC;oBACP,OAAK,CAAC,OAAO,GAAG,GAAG,CAAC;gBACxB,CAAC,EAAE,GAAG,CAAC,CAAC;aACX;YACD,IAAI,GAAG,GAAG,GAAG,MAAM,CAAC;YACpB,iIAAiI;YACjI,QAAQ,GAAG,IAAI,CAAC;YAChB,IAAG,IAAI,CAAC,SAAS,IAAI,EAAE,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC,OAAO,EAAC;gBAC3C,MAAM,CAAC,WAAW,CAAC,CAAC,IAAI,CAAC,YAAY,EAAC,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC;aAC7D;iBACI,IAAG,IAAI,CAAC,SAAS,IAAI,EAAE,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC,QAAQ,EAAC;gBACjD,MAAM,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC;gBACnB,MAAM,CAAC,WAAW,CAAC,IAAI,CAAC,YAAY,EAAC,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC;aAC5D;iBACI,IAAG,IAAI,CAAC,SAAS,IAAI,EAAE,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC,SAAS,EAAC;gBAClD,MAAM,CAAC,KAAK,GAAG,GAAG,CAAC;gBACnB,MAAM,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC;gBACnB,MAAM,CAAC,WAAW,CAAC,CAAC,IAAI,CAAC,YAAY,EAAC,IAAI,CAAC,YAAY,CAAC,CAAC;aAC5D;iBACI,IAAG,IAAI,CAAC,SAAS,IAAI,EAAE,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC,UAAU,EAAC;gBACnD,MAAM,CAAC,KAAK,GAAG,GAAG,CAAC;gBACnB,MAAM,CAAC,WAAW,CAAC,IAAI,CAAC,YAAY,EAAC,IAAI,CAAC,YAAY,CAAC,CAAC;aAC3D;iBACI,IAAG,IAAI,CAAC,SAAS,IAAI,EAAE,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC,OAAO,EAAC;gBAChD,MAAM,CAAC,KAAK,GAAG,CAAC,EAAE,CAAC;gBACnB,MAAM,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC;gBACnB,MAAM,CAAC,WAAW,CAAC,IAAI,CAAC,YAAY,EAAC,IAAI,CAAC,YAAY,CAAC,CAAC;aAC3D;iBACI,IAAG,IAAI,CAAC,SAAS,IAAI,EAAE,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC,SAAS,EAAC;gBAClD,MAAM,CAAC,KAAK,GAAG,EAAE,CAAC;gBAClB,MAAM,CAAC,WAAW,CAAC,CAAC,IAAI,CAAC,YAAY,EAAC,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC;aAC7D;iBACI,IAAG,IAAI,CAAC,SAAS,IAAI,EAAE,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC,QAAQ,EAAC;gBACjD,MAAM,CAAC,KAAK,GAAG,CAAC,EAAE,CAAC;gBACnB,MAAM,CAAC,WAAW,CAAC,CAAC,IAAI,CAAC,YAAY,EAAC,IAAI,CAAC,YAAY,CAAC,CAAC;aAE5D;iBACI,IAAG,IAAI,CAAC,SAAS,IAAI,EAAE,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC,UAAU,EAAC;gBACnD,MAAM,CAAC,KAAK,GAAG,CAAC,EAAE,CAAC;gBACnB,MAAM,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC;gBACnB,MAAM,CAAC,WAAW,CAAC,CAAC,IAAI,CAAC,YAAY,EAAC,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC;aAC7D;SACJ;QAED,IAAG,IAAI,CAAC,SAAS,IAAI,KAAK,EAAC;YACvB,MAAM,CAAC,MAAM,GAAG,KAAK,CAAC;YACtB,IAAG,IAAI,CAAC,UAAU,IAAI,EAAE,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC,GAAG,EAAC;gBACzC,IAAG,IAAI,CAAC,IAAI,CAAC,cAAc,CAAC,YAAY,CAAC,CAAC,MAAM,IAAI,IAAI,IAAI,IAAI,CAAC,UAAU,IAAI,EAAE,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC,GAAG,EAAC;oBAClG,EAAE,CAAC,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,cAAc,CAAC,YAAY,CAAC,CAAC;yBAC/C,EAAE,CAAC,GAAG,EAAC,EAAC,OAAO,EAAC,GAAG,EAAC,CAAC;yBACrB,IAAI,CAAC;wBACF,iBAAiB;wBACjB,EAAE,CAAC,EAAE,CAAC,aAAa,CAAC,IAAI,CAAC,EAAE,CAAC,EAAE,CAAC,OAAO,CAAC,UAAU,EAAC,KAAK,CAAC,CAAC;wBACzD,EAAE,CAAC,EAAE,CAAC,aAAa,CAAC,IAAI,CAAC,EAAE,CAAC,EAAE,CAAC,OAAO,CAAC,OAAO,EAAC,IAAI,CAAC,CAAC;wBAErD,IAAG,EAAE,CAAC,EAAE,CAAC,UAAU,CAAC,OAAO,CAAC,KAAK,GAAG,CAAC,EAAC;4BAClC,EAAE,CAAC,EAAE,CAAC,UAAU,CAAC,OAAO,CAAC,KAAK,IAAI,CAAC,CAAC;yBACvC;wBACD,UAAU,CAAC;4BACP,sCAAsC;wBAC1C,CAAC,EAAE,GAAG,CAAC,CAAC;oBAEZ,CAAC,CAAC;yBACD,KAAK,EAAE,CAAC;iBACZ;aACJ;iBACG;gBACA,MAAM,GAAG,IAAI,CAAC,IAAI,CAAC,cAAc,CAAC,KAAK,CAAC,CAAC;gBACzC,MAAM,CAAC,MAAM,GAAG,IAAI,CAAC;gBACrB,MAAM,CAAC,OAAO,GAAG,CAAC,CAAC;gBAEnB,IAAI,OAAO,GAAG,IAAI,CAAC,IAAI,CAAC;gBACxB,IAAG,IAAI,CAAC,GAAG,CAAC,CAAC,GAAG,OAAO,CAAC,CAAC,IAAI,CAAC,EAAC;oBAC3B,MAAM,CAAC,KAAK,GAAG,CAAC,EAAE,CAAC;iBAEtB;qBACI,IAAG,IAAI,CAAC,GAAG,CAAC,CAAC,GAAG,OAAO,CAAC,CAAC,IAAI,CAAC,CAAC,EAAC;oBACjC,MAAM,CAAC,KAAK,GAAG,EAAE,CAAC;iBACrB;qBACI,IAAG,IAAI,CAAC,GAAG,CAAC,CAAC,GAAG,OAAO,CAAC,CAAC,IAAI,CAAC,EAAC;oBAChC,MAAM,CAAC,KAAK,GAAG,GAAG,CAAC;iBACtB;gBAED,EAAE,CAAC,KAAK,CAAC,MAAM,CAAC;qBACf,EAAE,CAAC,GAAG,EAAC,EAAC,OAAO,EAAC,GAAG,EAAC,CAAC;qBACrB,IAAI,CAAC;oBACF,gBAAgB;oBAChB,EAAE,CAAC,EAAE,CAAC,aAAa,CAAC,IAAI,CAAC,EAAE,CAAC,EAAE,CAAC,OAAO,CAAC,UAAU,EAAC,MAAM,CAAC,CAAC;oBAC1D,EAAE,CAAC,EAAE,CAAC,aAAa,CAAC,IAAI,CAAC,EAAE,CAAC,EAAE,CAAC,OAAO,CAAC,OAAO,EAAC,KAAK,CAAC,CAAC;oBACtD,sCAAsC;gBAE1C,CAAC,CAAC;qBACD,KAAK,EAAE,CAAC;aACZ;SAEJ;aACG;YACA,MAAM,CAAC,MAAM,GAAG,IAAI,CAAC;YACrB,MAAM,CAAC,YAAY,CAAC,EAAE,CAAC,MAAM,CAAC,CAAC,SAAS,GAAG,CAAC,CAAC;YAC7C,EAAE,CAAC,KAAK,CAAC,MAAM,CAAC,YAAY,CAAC,EAAE,CAAC,MAAM,CAAC,CAAC;iBACvC,EAAE,CAAC,IAAI,EAAC,EAAC,SAAS,EAAC,QAAQ,EAAC,CAAC;iBAC7B,IAAI,CAAC;gBACF,IAAG,IAAI,CAAC,SAAS;oBACb,EAAE,CAAC,EAAE,CAAC,aAAa,CAAC,IAAI,CAAC,EAAE,CAAC,EAAE,CAAC,OAAO,CAAC,SAAS,EAAC,KAAK,CAAC,CAAC;YAChE,CAAC,CAAC;iBACD,KAAK,EAAE,CAAC;SACZ;IAEL,CAAC;IA9tBD;QADC,QAAQ,CAAC,EAAE,CAAC,WAAW,CAAC;wCACC;IAHT,QAAQ;QAD5B,OAAO;OACa,QAAQ,CAouB5B;IAAD,eAAC;CApuBD,AAouBC,CApuBqC,EAAE,CAAC,SAAS,GAouBjD;kBApuBoB,QAAQ","file":"","sourceRoot":"/","sourcesContent":["// Learn TypeScript:\r\n// - https://docs.cocos.com/creator/manual/en/scripting/typescript.html\r\n// Learn Attribute:\r\n// - https://docs.cocos.com/creator/manual/en/scripting/reference/attributes.html\r\n// Learn life-cycle callbacks:\r\n// - https://docs.cocos.com/creator/manual/en/scripting/life-cycle-callbacks.html\r\n\r\nconst {ccclass, property} = cc._decorator;\r\n\r\nexport enum BlockType{\r\n /*普通地块 */\r\n Nomal = 0, \r\n /*起点地块 */\r\n Start = 1, \r\n /*湿地 */\r\n Nunja = 2,\r\n /*山峰 */\r\n Peak = 3,\r\n /*终点地块 */\r\n End = 4,\r\n\r\n /*息壤 */\r\n Xi_Soil = 5,\r\n /*加固 */\r\n Reinforce = 6\r\n}\r\n\r\nexport enum PathType{\r\n err = \"err\",\r\n up = \"up\", \r\n down = \"down\", \r\n left = \"left\",\r\n right = \"right\",\r\n up_left = \"up_left\",\r\n up_right = \"up_right\",\r\n down_left = \"down_left\",\r\n down_right = \"down_right\",\r\n left_up = \"left_up\",\r\n left_down = \"left_down\",\r\n right_up = \"right_up\",\r\n right_down = \"right_down\",\r\n}\r\n\r\n@ccclass\r\nexport default class NewClass extends cc.Component {\r\n // LIFE-CYCLE CALLBACKS:\r\n @property(cc.SpriteAtlas)\r\n UI: cc.SpriteAtlas = null;\r\n\r\n pos_Shifting:number;\r\n block_Type:number;\r\n path_Type:string;\r\n finishi:boolean;\r\n pos: any;\r\n onLoad () {\r\n this.finishi = false;\r\n this.pos_Shifting = 0;\r\n this.pos = cc.v2(0,0);\r\n }\r\n\r\n start () {\r\n \r\n }\r\n //初始化地图块数据\r\n initData(type,pos,max){\r\n this.block_Type = type;\r\n this.pos = cc.v2(pos.x,pos.y);\r\n // if(this.pos.y%2 == 0) this.node.getChildByName(\"tip\").active = true;\r\n if(type == cc.Enum(BlockType).Start){ \r\n var bg = this.node.getChildByName(\"sp\");\r\n // this.node.getComponent(cc.Sprite).spriteFrame = null;\r\n bg.getComponent(cc.Sprite).spriteFrame = this.UI[\"_spriteFrames\"][\"start\"];\r\n if(cc.fx.GameConfig.GM_INFO.level > 3){\r\n bg.getChildByName(\"start\").y = 20;\r\n bg.getChildByName(\"end\").y = 20;\r\n }\r\n this.rotateTarget(bg,\"start\",pos,max);\r\n }\r\n else if(type == cc.Enum(BlockType).End){\r\n var bg = this.node.getChildByName(\"sp\");\r\n // this.node.getComponent(cc.Sprite).spriteFrame = null;\r\n bg.getComponent(cc.Sprite).spriteFrame = this.UI[\"_spriteFrames\"][\"end\"];\r\n if(cc.fx.GameConfig.GM_INFO.level > 3){\r\n bg.getChildByName(\"start\").y = 20;\r\n bg.getChildByName(\"end\").y = 20;\r\n }\r\n this.rotateTarget(bg,\"end\",pos,max);\r\n }\r\n else if(type == cc.Enum(BlockType).Nunja){\r\n let random = Math.floor(Math.random()*4);\r\n let rotationArr = [0,90,180,270];\r\n let rotation = rotationArr[random];\r\n this.node.getChildByName(\"bg\").getComponent(cc.Sprite).spriteFrame = this.UI[\"_spriteFrames\"][\"e5\"];\r\n this.node.getChildByName(\"bg\").angle = -rotation;\r\n this.node.getComponent(cc.Sprite).spriteFrame = null;\r\n }\r\n else if(type == cc.Enum(BlockType).Peak){\r\n let random = Math.floor(Math.random()*4+1);\r\n let name = \"shan\" + random;\r\n this.node.getChildByName(\"bg\").getComponent(cc.Sprite).spriteFrame = this.UI[\"_spriteFrames\"][name];\r\n this.node.getComponent(cc.Sprite).spriteFrame = null;\r\n }\r\n if(cc.fx.GameConfig.GM_INFO.level == 1){\r\n this.node.getChildByName(\"tipWin\").opacity = 220;\r\n this.node.getChildByName(\"tipLose\").opacity = 220;\r\n }\r\n else if(cc.fx.GameConfig.GM_INFO.level == 2){\r\n this.node.getChildByName(\"tipWin\").opacity = 100;\r\n this.node.getChildByName(\"tipLose\").opacity = 100;\r\n }\r\n else if(cc.fx.GameConfig.GM_INFO.level == 3){\r\n this.node.getChildByName(\"tipWin\").opacity = 50;\r\n this.node.getChildByName(\"tipLose\").opacity = 50;\r\n }\r\n else if(cc.fx.GameConfig.GM_INFO.level > 3){\r\n this.node.getChildByName(\"tipWin\").opacity = 0;\r\n this.node.getChildByName(\"tipLose\").opacity = 0;\r\n }\r\n \r\n }\r\n //旋转入海口和出海口的 图片以及文字角度\r\n rotateTarget(bg,name,pos,max){\r\n let target = bg.getChildByName(name);\r\n if(pos.y == max.y-1){\r\n bg.angle = 0;\r\n if(name == \"end\") target.getComponent(cc.Sprite).spriteFrame = this.UI[\"_spriteFrames\"][\"end_x\"];\r\n target.active = true;\r\n target.angle = 0;\r\n return;\r\n }\r\n else if(pos.y == 0){\r\n bg.angle = -180;\r\n if(name == \"end\")target.getComponent(cc.Sprite).spriteFrame = this.UI[\"_spriteFrames\"][\"end_x\"];\r\n target.active = true;\r\n target.angle = -180;\r\n return;\r\n }\r\n else if(pos.x == max.x-1){\r\n bg.angle = 90;\r\n if(name == \"start\")target.getComponent(cc.Sprite).spriteFrame = this.UI[\"_spriteFrames\"][\"start_y\"];\r\n else target.getComponent(cc.Sprite).spriteFrame = this.UI[\"_spriteFrames\"][\"end_y\"];\r\n target.active = true;\r\n target.angle = -90;\r\n }\r\n else if(pos.x == 0){\r\n bg.angle = -90;\r\n if(name == \"start\")target.getComponent(cc.Sprite).spriteFrame = this.UI[\"_spriteFrames\"][\"start_y\"];\r\n else target.getComponent(cc.Sprite).spriteFrame = this.UI[\"_spriteFrames\"][\"end_y\"];\r\n target.active = true;\r\n target.angle = 90;\r\n }\r\n }\r\n\r\n setPath(type){\r\n this.path_Type = type;\r\n }\r\n //设置息壤在起点\r\n set_Xi_Soil(direction,type){\r\n let sp = this.node.getChildByName(\"sp\");\r\n let turn = this.node.getChildByName(\"turnStart\");\r\n let water = this.node.getChildByName(\"waterStart\");\r\n\r\n if(direction == \"left\" || direction == \"right\"){\r\n if(sp.angle == 0){\r\n turn.active =true;\r\n water.active = true;\r\n water.opacity = 0;\r\n if(type){\r\n turn.angle = direction==\"left\"?90:0;\r\n water.angle = direction==\"left\"?90:0;\r\n\r\n }\r\n else{\r\n turn.angle = direction==\"left\"?0:90;\r\n water.angle = direction==\"left\"?0:90;\r\n }\r\n\r\n }\r\n else if(sp.angle == -180){\r\n turn.active =true;\r\n water.active = true;\r\n water.opacity = 0;\r\n if(type){\r\n turn.angle = direction==\"left\"?-180:-90;\r\n water.angle = direction==\"left\"?-180:-90;\r\n }\r\n else{\r\n turn.angle = direction==\"left\"?270:-180;\r\n water.angle = direction==\"left\"?270:-180;\r\n }\r\n\r\n }\r\n else if(sp.angle == -90){\r\n turn.active =true;\r\n turn.getComponent(cc.Sprite).spriteFrame = this.UI[\"_spriteFrames\"][\"a1\"];\r\n turn.angle = 90;\r\n if(type){\r\n water.active = true;\r\n water.angle = 90;\r\n water.getComponent(cc.Sprite).spriteFrame = this.UI[\"_spriteFrames\"][\"block1\"];\r\n water.opacity = 0;\r\n }\r\n\r\n }\r\n else if(sp.angle == 90){\r\n turn.active =true;\r\n turn.getComponent(cc.Sprite).spriteFrame = this.UI[\"_spriteFrames\"][\"a1\"];\r\n turn.angle = 90;\r\n if(type){\r\n water.active = true;\r\n water.angle = 90;\r\n water.getComponent(cc.Sprite).spriteFrame = this.UI[\"_spriteFrames\"][\"block1\"];\r\n water.opacity = 0;\r\n }\r\n }\r\n \r\n }\r\n else if(direction == \"up\" || direction == \"down\"){\r\n let sp = this.node.getChildByName(\"sp\");\r\n if(sp.angle == -90){\r\n turn.active =true;\r\n water.active = true;\r\n water.opacity = 0;\r\n if(type){\r\n turn.angle = direction==\"up\"?0:-90;\r\n water.angle = direction==\"up\"?0:-90;\r\n }\r\n else{\r\n turn.angle = direction==\"up\"?-90:0;\r\n water.angle = direction==\"up\"?-90:0;\r\n }\r\n }\r\n else if(sp.angle == 90){\r\n turn.active = true;\r\n water.active = true;\r\n water.opacity = 0;\r\n if(type){\r\n turn.angle = direction==\"up\"?90:180;\r\n water.angle = direction==\"up\"?90:180;\r\n }\r\n else{\r\n turn.angle = direction==\"up\"?180:90;\r\n water.angle = direction==\"up\"?180:90;\r\n }\r\n \r\n }\r\n else if(sp.angle == 0){\r\n turn.active =true;\r\n turn.getComponent(cc.Sprite).spriteFrame = this.UI[\"_spriteFrames\"][\"a1\"];\r\n turn.angle = 0;\r\n if(type){\r\n water.active = true;\r\n water.getComponent(cc.Sprite).spriteFrame = this.UI[\"_spriteFrames\"][\"block1\"];\r\n water.opacity = 0;\r\n }\r\n }\r\n else if(sp.angle == -180){\r\n turn.active =true;\r\n turn.getComponent(cc.Sprite).spriteFrame = this.UI[\"_spriteFrames\"][\"a1\"];\r\n turn.angle = 0;\r\n if(type){\r\n water.active = true;\r\n water.getComponent(cc.Sprite).spriteFrame = this.UI[\"_spriteFrames\"][\"block1\"];\r\n water.opacity = 0;\r\n }\r\n }\r\n }\r\n }\r\n //息壤具体执行方法 外部可调用\r\n set_Xi_SoilType(direction,end,name){\r\n // console.log(\"息壤\",direction,name,this.block_Type);\r\n var jg = this.repeatRoad(true,direction);\r\n console.log(\"息壤重复判断结果\",jg);\r\n if(jg == true) return;\r\n\r\n if(this.block_Type == cc.Enum(BlockType).Start){\r\n this.set_Xi_Soil(direction,false);\r\n return;\r\n }\r\n\r\n if(this.block_Type == cc.Enum(BlockType).Nunja){\r\n this.block_Type = cc.Enum(BlockType).Nomal;\r\n this.node.getChildByName(\"bg\").getComponent(cc.Sprite).spriteFrame = null;\r\n this.node.getComponent(cc.Sprite).spriteFrame = this.UI[\"_spriteFrames\"][\"block_Bg\"];\r\n }\r\n if(end != null){\r\n if(this.block_Type == cc.Enum(BlockType).End){\r\n this.finishi = true;\r\n setTimeout(() => {\r\n this.set_Xi_Soil(direction,true);\r\n }, 500);\r\n \r\n }\r\n setTimeout(() => {\r\n if(name == \"water\") cc.fx.Notifications.emit(cc.fx.Message.nextWater,(end+1));\r\n else cc.fx.Notifications.emit(cc.fx.Message.next,(end+1));\r\n }, 400);\r\n }\r\n\r\n if(this.block_Type != cc.Enum(BlockType).End && this.block_Type != cc.Enum(BlockType).Start){\r\n this.block_Type = cc.Enum(BlockType).Xi_Soil;\r\n } \r\n else{\r\n }\r\n let target = this.node.getChildByName(\"Xi_Soil\"); \r\n this.path_Type = direction;\r\n target.active = true;\r\n target.opacity = 0;\r\n cc.tween(target)\r\n .to(0.1,{opacity:255})\r\n .to(0.1,{opacity:0})\r\n .call(() =>{\r\n if(direction != null && end == null){\r\n let data = {\r\n order:0,\r\n time:cc.fx.GameConfig.TIME_INFO.waterSpeed[0],\r\n type:0,\r\n circulate:false\r\n };\r\n if(name == \"water\"){\r\n this.runWater(data);\r\n } \r\n else this.runRoad(data);\r\n }\r\n })\r\n .start();\r\n }\r\n //判断重复路径 \r\n repeatRoad(type,direction){\r\n //如果双向都占用了还进来就算死了- \r\n var jg = false;\r\n if(this.node.getChildByName(\"vertical2\").active == true && this.node.getChildByName(\"horizontal2\").active == true){\r\n // alert(\"治水失败\");\r\n jg = true;\r\n if(type){\r\n cc.fx.Notifications.emit(cc.fx.Message.showResult,\"lose\");\r\n cc.fx.Notifications.emit(cc.fx.Message.setData,false);\r\n }\r\n }\r\n\r\n else if(this.node.getChildByName(\"turn2\").active == true && this.block_Type != cc.Enum(BlockType).Xi_Soil){\r\n // alert(\"治水失败\");\r\n jg = true;\r\n if(type){\r\n cc.fx.Notifications.emit(cc.fx.Message.showResult,\"lose\");\r\n cc.fx.Notifications.emit(cc.fx.Message.setData,false);\r\n }\r\n }\r\n\r\n if(direction){\r\n if(this.node.getChildByName(\"vertical2\").active == true && this.block_Type == cc.Enum(BlockType).Xi_Soil && (direction == \"up\"|| direction ==\"down\")){\r\n // alert(\"治水失败\");\r\n jg = true;\r\n if(type){\r\n cc.fx.Notifications.emit(cc.fx.Message.showResult,\"lose\");\r\n cc.fx.Notifications.emit(cc.fx.Message.setData,false);\r\n }\r\n }\r\n else if(this.node.getChildByName(\"horizontal2\").active == true && this.block_Type == cc.Enum(BlockType).Xi_Soil && (direction == \"right\"|| direction ==\"left\")){\r\n // alert(\"治水失败\");\r\n jg = true;\r\n if(type){\r\n cc.fx.Notifications.emit(cc.fx.Message.showResult,\"lose\");\r\n cc.fx.Notifications.emit(cc.fx.Message.setData,false);\r\n }\r\n }\r\n }\r\n\r\n return jg;\r\n }\r\n\r\n //修筑路线执行\r\n runRoad(data){\r\n if(this.path_Type == \"err\"){\r\n setTimeout(() => {\r\n if(data.circulate)\r\n cc.fx.Notifications.emit(cc.fx.Message.next,order);\r\n }, data.time);\r\n return;\r\n }\r\n var jg = this.repeatRoad(true,null);\r\n if(jg == true) return;\r\n var target = null;\r\n var progress = 1;\r\n var time = data.time;\r\n var order = data.order + 1;\r\n var random = Math.floor(Math.random()*4 + 1);\r\n target = this.node.getChildByName(\"vertical2\");\r\n if(target.name == \"vertical\"){\r\n let water1 = target.getChildByName(\"wave\").getChildByName(\"water1\");\r\n let water2 = target.getChildByName(\"wave\").getChildByName(\"water2\");\r\n let water3 = target.getChildByName(\"wave\").getChildByName(\"water3\");\r\n let timeDelay = 0.15;\r\n water1.runAction(cc.sequence(cc.moveTo(0.6,cc.v2(water1.x,120)),cc.delayTime(timeDelay),\r\n cc.callFunc(()=>{\r\n water1.y = -120\r\n })).repeatForever());\r\n water2.runAction(cc.sequence(cc.moveTo(0.6,cc.v2(water2.x,120)),cc.delayTime(timeDelay),\r\n cc.callFunc(()=>{\r\n water2.y = -120\r\n })).repeatForever());\r\n water3.runAction(cc.sequence(cc.moveTo(0.6,cc.v2(water3.x,120)),cc.delayTime(timeDelay),\r\n cc.callFunc(()=>{\r\n water3.y = -120\r\n })).repeatForever());\r\n }\r\n\r\n var name = \"a\" + random;\r\n if(this.block_Type != cc.Enum(BlockType).Reinforce)target.getComponent(cc.Sprite).spriteFrame = this.UI[\"_spriteFrames\"][name];\r\n\r\n if(target.active == true){\r\n target = this.node.getChildByName(\"horizontal2\");\r\n name = \"b\" + random;\r\n if(this.block_Type != cc.Enum(BlockType).Reinforce) target.getComponent(cc.Sprite).spriteFrame = this.UI[\"_spriteFrames\"][name];\r\n } \r\n // console.log(this.path_Type,data.order);\r\n if(this.path_Type == cc.Enum(PathType).up){\r\n }\r\n else if(this.path_Type == cc.Enum(PathType).down){\r\n target.angle = 180;\r\n }\r\n else if(this.path_Type == cc.Enum(PathType).left){\r\n target.angle = 90;\r\n name = \"b\" + random;\r\n if(this.block_Type != cc.Enum(BlockType).Reinforce) target.getComponent(cc.Sprite).spriteFrame = this.UI[\"_spriteFrames\"][name];\r\n }\r\n else if(this.path_Type == cc.Enum(PathType).right){\r\n target.angle = 270;\r\n name = \"b\" + random;\r\n if(this.block_Type != cc.Enum(BlockType).Reinforce) target.getComponent(cc.Sprite).spriteFrame = this.UI[\"_spriteFrames\"][name];\r\n }\r\n else{\r\n target = this.node.getChildByName(\"turn2\");\r\n if(target.name == \"turn\"){\r\n let water = target.getChildByName(\"wave\").getChildByName(\"water\");\r\n water.opacity = 0\r\n water.runAction(cc.sequence(cc.rotateTo(7.2,-1080),cc.delayTime(0)).repeatForever());\r\n setTimeout(() => {\r\n water.opacity = 255;\r\n }, 200);\r\n }\r\n name = \"c\" + random;\r\n if(this.block_Type != cc.Enum(BlockType).Reinforce)target.getComponent(cc.Sprite).spriteFrame = this.UI[\"_spriteFrames\"][name];\r\n progress = 0.25;\r\n if(this.path_Type == cc.Enum(PathType).up_left){\r\n target.setPosition(-this.pos_Shifting,-this.pos_Shifting);\r\n }\r\n else if(this.path_Type == cc.Enum(PathType).up_right){\r\n target.scaleX = -1;\r\n target.setPosition(this.pos_Shifting,-this.pos_Shifting);\r\n }\r\n else if(this.path_Type == cc.Enum(PathType).down_left){\r\n target.angle = 180;\r\n target.scaleX = -1;\r\n target.setPosition(-this.pos_Shifting,this.pos_Shifting);\r\n }\r\n else if(this.path_Type == cc.Enum(PathType).down_right){\r\n target.angle = 180;\r\n target.setPosition(this.pos_Shifting,this.pos_Shifting);\r\n }\r\n else if(this.path_Type == cc.Enum(PathType).left_up){\r\n target.angle = -90;\r\n target.scaleY = -1;\r\n target.setPosition(this.pos_Shifting,this.pos_Shifting);\r\n }\r\n else if(this.path_Type == cc.Enum(PathType).left_down){\r\n target.angle = 90;\r\n target.setPosition(-this.pos_Shifting,-this.pos_Shifting);\r\n }\r\n else if(this.path_Type == cc.Enum(PathType).right_up){\r\n target.angle = -90;\r\n target.setPosition(-this.pos_Shifting,this.pos_Shifting);\r\n \r\n }\r\n else if(this.path_Type == cc.Enum(PathType).right_down){\r\n target.angle = -90;\r\n target.scaleX = -1;\r\n target.setPosition(-this.pos_Shifting,-this.pos_Shifting);\r\n }\r\n }\r\n if(this.path_Type == \"Reinforce\"){\r\n target = this.node.getChildByName(\"Reinforce\");\r\n if(this.block_Type == cc.Enum(BlockType).Peak){\r\n cc.fx.Notifications.emit(cc.fx.Message.showResult,\"lose\");\r\n cc.fx.Notifications.emit(cc.fx.Message.setData,false);\r\n return;\r\n }\r\n if(this.block_Type != cc.Enum(BlockType).End)this.block_Type = cc.Enum(BlockType).Reinforce;\r\n this.node.getChildByName(\"vertical2\").getComponent(cc.Sprite).spriteFrame = this.UI[\"_spriteFrames\"][\"e1\"];\r\n this.node.getChildByName(\"turn2\").getComponent(cc.Sprite).spriteFrame = this.UI[\"_spriteFrames\"][\"e3\"];\r\n this.node.getChildByName(\"horizontal2\").getComponent(cc.Sprite).spriteFrame = this.UI[\"_spriteFrames\"][\"e2\"];\r\n target.active = true;\r\n target.opacity = 0;\r\n progress = 1;\r\n cc.tween(target)\r\n .to(cc.fx.GameConfig.TIME_INFO.ReinforceSpeed,{opacity:255})\r\n .call(() =>{\r\n if(data.circulate)\r\n cc.fx.Notifications.emit(cc.fx.Message.changeMap,order);\r\n cc.fx.Notifications.emit(cc.fx.Message.next,order);\r\n })\r\n .start();\r\n }\r\n else if(this.path_Type == \"Xi_Soil\"){\r\n target.active = false;\r\n if(this.block_Type != cc.Enum(BlockType).End && this.block_Type != cc.Enum(BlockType).Start)\r\n this.block_Type = cc.Enum(BlockType).Xi_Soil;\r\n target = this.node.getChildByName(\"Xi_Soil\"); \r\n target.active = true;\r\n target.opacity = 0;\r\n cc.tween(target)\r\n .to(0.01,{opacity:1})\r\n .to(0.01,{opacity:0})\r\n .call(() =>{\r\n if(data.circulate){\r\n cc.fx.Notifications.emit(cc.fx.Message.next,order);\r\n }\r\n \r\n })\r\n .start();\r\n }\r\n else if(this.path_Type == \"End\"){\r\n target.active = false;\r\n if(this.block_Type != cc.Enum(BlockType).End && this.block_Type != cc.Enum(BlockType).Start)\r\n this.block_Type = cc.Enum(BlockType).Xi_Soil;\r\n let posTemp = data.last;\r\n var direction = \"up\";\r\n if(this.pos.x - posTemp.x >= 1){\r\n direction = \"right\";\r\n }\r\n else if(this.pos.x - posTemp.x <= -1){\r\n direction = \"left\";\r\n }\r\n else if(this.pos.y - posTemp.y >= 1){\r\n direction = \"down\";\r\n }\r\n \r\n console.log(\"结束方向:\",direction);\r\n if(!this.finishi){\r\n this.finishi = true;\r\n this.set_Xi_Soil(direction,true);\r\n }\r\n }\r\n else{\r\n target.active = true;\r\n if(this.block_Type != cc.Enum(BlockType).Xi_Soil){\r\n target.getComponent(cc.Sprite).fillRange = 0;\r\n cc.tween(target.getComponent(cc.Sprite))\r\n .to(time,{fillRange:progress})\r\n .call(() =>{\r\n if(data.circulate)\r\n cc.fx.Notifications.emit(cc.fx.Message.next,order);\r\n })\r\n .start();\r\n }\r\n else{\r\n target.opacity = 0;\r\n target.getComponent(cc.Sprite).fillRange = 1;\r\n cc.tween(target)\r\n .to(time,{opacity:255})\r\n .call(() =>{\r\n if(data.circulate)\r\n cc.fx.Notifications.emit(cc.fx.Message.next,order);\r\n })\r\n .start();\r\n }\r\n }\r\n\r\n }\r\n //洪峰执行\r\n runWater(data){\r\n if(this.node.getChildByName(\"waterStart\").active == true && this.block_Type == cc.Enum(BlockType).Start){\r\n // sp.getChildByName(\"waterStart\").opacity = 255;\r\n cc.tween(this.node.getChildByName(\"waterStart\"))\r\n .to(0.2,{opacity:255})\r\n .start();\r\n }\r\n\r\n\r\n if(this.path_Type == \"err\"){\r\n setTimeout(() => {\r\n if(data.circulate)\r\n cc.fx.Notifications.emit(cc.fx.Message.nextWater,order);\r\n }, data.time);\r\n return;\r\n }\r\n //如果双向都占用了还进来就算死了- \r\n if(this.node.getChildByName(\"vertical\").active == true && this.node.getChildByName(\"horizontal\").active == true){\r\n // alert(\"治水失败\");\r\n cc.fx.Notifications.emit(cc.fx.Message.showResult,\"lose\");\r\n cc.fx.Notifications.emit(cc.fx.Message.setData,false);\r\n // cc.director.loadScene(\"GameScene\");\r\n return;\r\n }\r\n\r\n else if(this.node.getChildByName(\"turn\").active == true && this.block_Type != cc.Enum(BlockType).Xi_Soil){\r\n // alert(\"治水失败\");\r\n cc.fx.Notifications.emit(cc.fx.Message.showResult,\"lose\");\r\n cc.fx.Notifications.emit(cc.fx.Message.setData,false);\r\n // cc.director.loadScene(\"GameScene\");\r\n return;\r\n }\r\n var target = null;\r\n var progress = 1;\r\n var time = data.time;\r\n var order = data.order + 1;\r\n var random = Math.floor(Math.random()*4 + 1);\r\n target = this.node.getChildByName(\"vertical\");\r\n if(target.name == \"vertical\"){\r\n let water1 = target.getChildByName(\"wave\").getChildByName(\"water1\");\r\n let water2 = target.getChildByName(\"wave\").getChildByName(\"water2\");\r\n let water3 = target.getChildByName(\"wave\").getChildByName(\"water3\");\r\n let timeDelay = 0.15;\r\n water1.runAction(cc.sequence(cc.moveTo(0.6,cc.v2(water1.x,120)),cc.delayTime(timeDelay),\r\n cc.callFunc(()=>{\r\n water1.y = -120\r\n })).repeatForever());\r\n water2.runAction(cc.sequence(cc.moveTo(0.6,cc.v2(water2.x,120)),cc.delayTime(timeDelay),\r\n cc.callFunc(()=>{\r\n water2.y = -120\r\n })).repeatForever());\r\n water3.runAction(cc.sequence(cc.moveTo(0.6,cc.v2(water3.x,120)),cc.delayTime(timeDelay),\r\n cc.callFunc(()=>{\r\n water3.y = -120\r\n })).repeatForever());\r\n }\r\n\r\n var name = \"a\" + random;\r\n // if(this.block_Type != cc.Enum(BlockType).Reinforce)target.getComponent(cc.Sprite).spriteFrame = this.UI[\"_spriteFrames\"][name];\r\n\r\n if(target.active == true){\r\n target = this.node.getChildByName(\"horizontal\");\r\n let water1 = target.getChildByName(\"wave\").getChildByName(\"water1\");\r\n let water2 = target.getChildByName(\"wave\").getChildByName(\"water2\");\r\n let water3 = target.getChildByName(\"wave\").getChildByName(\"water3\");\r\n let timeDelay = 0.15;\r\n water1.runAction(cc.sequence(cc.moveTo(0.6,cc.v2(water1.x,120)),cc.delayTime(timeDelay),\r\n cc.callFunc(()=>{\r\n water1.y = -120\r\n })).repeatForever());\r\n water2.runAction(cc.sequence(cc.moveTo(0.6,cc.v2(water2.x,120)),cc.delayTime(timeDelay),\r\n cc.callFunc(()=>{\r\n water2.y = -120\r\n })).repeatForever());\r\n water3.runAction(cc.sequence(cc.moveTo(0.6,cc.v2(water3.x,120)),cc.delayTime(timeDelay),\r\n cc.callFunc(()=>{\r\n water3.y = -120\r\n })).repeatForever());\r\n name = \"b\" + random;\r\n //if(this.block_Type != cc.Enum(BlockType).Reinforce) target.getComponent(cc.Sprite).spriteFrame = this.UI[\"_spriteFrames\"][name];\r\n } \r\n // console.log(this.path_Type,data.order);\r\n if(this.path_Type == cc.Enum(PathType).up){\r\n }\r\n else if(this.path_Type == cc.Enum(PathType).down){\r\n target.angle = 180;\r\n }\r\n else if(this.path_Type == cc.Enum(PathType).left){\r\n target.angle = 90;\r\n name = \"b\" + random;\r\n //if(this.block_Type != cc.Enum(BlockType).Reinforce) target.getComponent(cc.Sprite).spriteFrame = this.UI[\"_spriteFrames\"][name];\r\n }\r\n else if(this.path_Type == cc.Enum(PathType).right){\r\n target.angle = 270;\r\n name = \"b\" + random;\r\n //if(this.block_Type != cc.Enum(BlockType).Reinforce) target.getComponent(cc.Sprite).spriteFrame = this.UI[\"_spriteFrames\"][name];\r\n }\r\n else{\r\n target = this.node.getChildByName(\"turn\");\r\n if(target.name == \"turn\"){\r\n let water = target.getChildByName(\"wave\").getChildByName(\"water\");\r\n water.opacity = 0\r\n water.runAction(cc.sequence(cc.rotateTo(7.2,-1080),cc.delayTime(0)).repeatForever());\r\n setTimeout(() => {\r\n water.opacity = 255;\r\n }, 200);\r\n }\r\n name = \"c\" + random;\r\n //if(this.block_Type != cc.Enum(BlockType).Reinforce)target.getComponent(cc.Sprite).spriteFrame = this.UI[\"_spriteFrames\"][name];\r\n progress = 0.25;\r\n if(this.path_Type == cc.Enum(PathType).up_left){\r\n target.setPosition(-this.pos_Shifting,-this.pos_Shifting);\r\n }\r\n else if(this.path_Type == cc.Enum(PathType).up_right){\r\n target.scaleX = -1;\r\n target.setPosition(this.pos_Shifting,-this.pos_Shifting);\r\n }\r\n else if(this.path_Type == cc.Enum(PathType).down_left){\r\n target.angle = 180;\r\n target.scaleX = -1;\r\n target.setPosition(-this.pos_Shifting,this.pos_Shifting);\r\n }\r\n else if(this.path_Type == cc.Enum(PathType).down_right){\r\n target.angle = 180;\r\n target.setPosition(this.pos_Shifting,this.pos_Shifting);\r\n }\r\n else if(this.path_Type == cc.Enum(PathType).left_up){\r\n target.angle = -90;\r\n target.scaleY = -1;\r\n target.setPosition(this.pos_Shifting,this.pos_Shifting);\r\n }\r\n else if(this.path_Type == cc.Enum(PathType).left_down){\r\n target.angle = 90;\r\n target.setPosition(-this.pos_Shifting,-this.pos_Shifting);\r\n }\r\n else if(this.path_Type == cc.Enum(PathType).right_up){\r\n target.angle = -90;\r\n target.setPosition(-this.pos_Shifting,this.pos_Shifting);\r\n \r\n }\r\n else if(this.path_Type == cc.Enum(PathType).right_down){\r\n target.angle = -90;\r\n target.scaleX = -1;\r\n target.setPosition(-this.pos_Shifting,-this.pos_Shifting);\r\n }\r\n }\r\n\r\n if(this.path_Type == \"End\"){\r\n target.active = false;\r\n if(this.block_Type == cc.Enum(BlockType).End){\r\n if(this.node.getChildByName(\"waterStart\").active == true && this.block_Type == cc.Enum(BlockType).End){\r\n cc.tween(this.node.getChildByName(\"waterStart\"))\r\n .to(0.2,{opacity:255})\r\n .call(()=>{\r\n // alert(\"治水成功\");\r\n cc.fx.Notifications.emit(cc.fx.Message.showResult,\"win\");\r\n cc.fx.Notifications.emit(cc.fx.Message.setData,true);\r\n \r\n if(cc.fx.GameConfig.GM_INFO.level < 7){\r\n cc.fx.GameConfig.GM_INFO.level += 1;\r\n }\r\n setTimeout(() => {\r\n // cc.director.loadScene(\"GameScene\");\r\n }, 500);\r\n \r\n })\r\n .start();\r\n }\r\n }\r\n else{\r\n target = this.node.getChildByName(\"End\"); \r\n target.active = true;\r\n target.opacity = 0;\r\n\r\n let posTemp = data.last;\r\n if(this.pos.x - posTemp.x >= 1){\r\n target.angle = -90;\r\n\r\n }\r\n else if(this.pos.x - posTemp.x <= -1){\r\n target.angle = 90;\r\n }\r\n else if(this.pos.y - posTemp.y >= 1){\r\n target.angle = 180;\r\n }\r\n \r\n cc.tween(target)\r\n .to(0.5,{opacity:255})\r\n .call(() =>{\r\n // alert(\"治水失败\")\r\n cc.fx.Notifications.emit(cc.fx.Message.showResult,\"lose\");\r\n cc.fx.Notifications.emit(cc.fx.Message.setData,false);\r\n // cc.director.loadScene(\"GameScene\");\r\n\r\n })\r\n .start();\r\n }\r\n\r\n }\r\n else{\r\n target.active = true;\r\n target.getComponent(cc.Sprite).fillRange = 0;\r\n cc.tween(target.getComponent(cc.Sprite))\r\n .to(time,{fillRange:progress})\r\n .call(() =>{\r\n if(data.circulate)\r\n cc.fx.Notifications.emit(cc.fx.Message.nextWater,order);\r\n })\r\n .start();\r\n }\r\n\r\n }\r\n\r\n // update (dt) {}\r\n}\r\n"]} \ No newline at end of file +{"version":3,"sources":["assets\\Script\\Block.ts"],"names":[],"mappings":"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","file":"","sourceRoot":"/","sourcesContent":["// Learn TypeScript:\r\n// - https://docs.cocos.com/creator/manual/en/scripting/typescript.html\r\n// Learn Attribute:\r\n// - https://docs.cocos.com/creator/manual/en/scripting/reference/attributes.html\r\n// Learn life-cycle callbacks:\r\n// - https://docs.cocos.com/creator/manual/en/scripting/life-cycle-callbacks.html\r\n\r\nconst {ccclass, property} = cc._decorator;\r\n\r\nexport enum BlockType{\r\n /*普通地块 */\r\n Nomal = 0, \r\n /*起点地块 */\r\n Start = 1, \r\n /*湿地 */\r\n Nunja = 2,\r\n /*山峰 */\r\n Peak = 3,\r\n /*终点地块 */\r\n End = 4,\r\n\r\n /*息壤 */\r\n Xi_Soil = 5,\r\n /*加固 */\r\n Reinforce = 6\r\n}\r\n\r\nexport enum PathType{\r\n err = \"err\",\r\n up = \"up\", \r\n down = \"down\", \r\n left = \"left\",\r\n right = \"right\",\r\n up_left = \"up_left\",\r\n up_right = \"up_right\",\r\n down_left = \"down_left\",\r\n down_right = \"down_right\",\r\n left_up = \"left_up\",\r\n left_down = \"left_down\",\r\n right_up = \"right_up\",\r\n right_down = \"right_down\",\r\n}\r\n\r\n@ccclass\r\nexport default class NewClass extends cc.Component {\r\n // LIFE-CYCLE CALLBACKS:\r\n @property(cc.SpriteAtlas)\r\n UI: cc.SpriteAtlas = null;\r\n\r\n pos_Shifting:number;\r\n block_Type:number;\r\n path_Type:string;\r\n finishi:boolean;\r\n pos: any;\r\n onLoad () {\r\n this.finishi = false;\r\n this.pos_Shifting = 0;\r\n this.pos = cc.v2(0,0);\r\n }\r\n\r\n start () {\r\n \r\n }\r\n /**\r\n * 息壤过后改变修筑路径\r\n * @param order 建筑地图数组里的执行的序列号\r\n * @param number 息壤执行长度,改变息壤用后其他路径的X或Y值\r\n * @param direction 只为两个方向,横向false,纵向true\r\n * @param road 建筑地图数组或者洪峰路径数组,可理解为路径数组,path_Array water_Array\r\n */\r\n //初始化地图块数据\r\n initData(type,pos,max){\r\n this.block_Type = type;\r\n this.pos = cc.v2(pos.x,pos.y);\r\n // if(this.pos.y%2 == 0) this.node.getChildByName(\"tip\").active = true;\r\n if(type == cc.Enum(BlockType).Start){ \r\n var bg = this.node.getChildByName(\"sp\");\r\n // this.node.getComponent(cc.Sprite).spriteFrame = null;\r\n // bg.getComponent(cc.Sprite).spriteFrame = this.UI[\"_spriteFrames\"][\"start\"];\r\n if(cc.fx.GameConfig.GM_INFO.level > 3){\r\n // bg.getChildByName(\"start\").y = 20;\r\n bg.getChildByName(\"end\").y = 20;\r\n }\r\n this.rotateTarget(bg,\"start\",pos,max);\r\n }\r\n else if(type == cc.Enum(BlockType).End){\r\n var bg = this.node.getChildByName(\"sp\");\r\n // this.node.getComponent(cc.Sprite).spriteFrame = null;\r\n bg.getComponent(cc.Sprite).spriteFrame = this.UI[\"_spriteFrames\"][\"end\"];\r\n if(cc.fx.GameConfig.GM_INFO.level > 3){\r\n // bg.getChildByName(\"start\").y = 20;\r\n bg.getChildByName(\"end\").y = 20;\r\n }\r\n this.rotateTarget(bg,\"end\",pos,max);\r\n }\r\n else if(type == cc.Enum(BlockType).Nunja){\r\n let random = Math.floor(Math.random()*4);\r\n let rotationArr = [0,90,180,270];\r\n let rotation = rotationArr[random];\r\n this.node.getChildByName(\"bg\").getComponent(cc.Sprite).spriteFrame = this.UI[\"_spriteFrames\"][\"e5\"];\r\n this.node.getChildByName(\"bg\").angle = -rotation;\r\n this.node.getComponent(cc.Sprite).spriteFrame = null;\r\n }\r\n else if(type == cc.Enum(BlockType).Peak){\r\n let random = Math.floor(Math.random()*4+1);\r\n let name = \"shan\" + random;\r\n this.node.getChildByName(\"bg\").getComponent(cc.Sprite).spriteFrame = this.UI[\"_spriteFrames\"][name];\r\n this.node.getComponent(cc.Sprite).spriteFrame = null;\r\n }\r\n if(cc.fx.GameConfig.GM_INFO.level == 1){\r\n this.node.getChildByName(\"tipWin\").opacity = 220;\r\n this.node.getChildByName(\"tipLose\").opacity = 220;\r\n }\r\n else if(cc.fx.GameConfig.GM_INFO.level == 2){\r\n this.node.getChildByName(\"tipWin\").opacity = 100;\r\n this.node.getChildByName(\"tipLose\").opacity = 100;\r\n }\r\n else if(cc.fx.GameConfig.GM_INFO.level == 3){\r\n this.node.getChildByName(\"tipWin\").opacity = 50;\r\n this.node.getChildByName(\"tipLose\").opacity = 50;\r\n }\r\n else if(cc.fx.GameConfig.GM_INFO.level > 3){\r\n this.node.getChildByName(\"tipWin\").opacity = 0;\r\n this.node.getChildByName(\"tipLose\").opacity = 0;\r\n }\r\n \r\n }\r\n //旋转入海口和出海口的 图片以及文字角度\r\n rotateTarget(bg,name,pos,max){\r\n let target = bg.getChildByName(name);\r\n if(pos.y == max.y-1){\r\n bg.angle = 0;\r\n if(name == \"end\") target.getComponent(cc.Sprite).spriteFrame = this.UI[\"_spriteFrames\"][\"end_x\"];\r\n target.active = true;\r\n target.angle = 0;\r\n return;\r\n }\r\n else if(pos.y == 0){\r\n bg.angle = -180;\r\n if(name == \"end\")target.getComponent(cc.Sprite).spriteFrame = this.UI[\"_spriteFrames\"][\"end_x\"];\r\n target.active = true;\r\n target.angle = -180;\r\n return;\r\n }\r\n else if(pos.x == max.x-1){\r\n bg.angle = 90;\r\n if(name == \"start\")target.getComponent(cc.Sprite).spriteFrame = this.UI[\"_spriteFrames\"][\"start_y\"];\r\n else target.getComponent(cc.Sprite).spriteFrame = this.UI[\"_spriteFrames\"][\"end_y\"];\r\n target.active = true;\r\n target.angle = -90;\r\n }\r\n else if(pos.x == 0){\r\n bg.angle = -90;\r\n if(name == \"start\")target.getComponent(cc.Sprite).spriteFrame = this.UI[\"_spriteFrames\"][\"start_y\"];\r\n else target.getComponent(cc.Sprite).spriteFrame = this.UI[\"_spriteFrames\"][\"end_y\"];\r\n target.active = true;\r\n target.angle = 90;\r\n }\r\n }\r\n\r\n setPath(type){\r\n this.path_Type = type;\r\n }\r\n //设置息壤在起点\r\n set_Xi_Soil(direction,type){\r\n let sp = this.node.getChildByName(\"sp\");\r\n let turn = this.node.getChildByName(\"turnStart\");\r\n let water = this.node.getChildByName(\"waterStart\");\r\n\r\n if(direction == \"left\" || direction == \"right\"){\r\n if(sp.angle == 0){\r\n turn.active =true;\r\n water.active = true;\r\n water.opacity = 0;\r\n if(type){\r\n turn.angle = direction==\"left\"?90:0;\r\n water.angle = direction==\"left\"?90:0;\r\n\r\n }\r\n else{\r\n turn.angle = direction==\"left\"?0:90;\r\n water.angle = direction==\"left\"?0:90;\r\n }\r\n\r\n }\r\n else if(sp.angle == -180){\r\n turn.active =true;\r\n water.active = true;\r\n water.opacity = 0;\r\n if(type){\r\n turn.angle = direction==\"left\"?-180:-90;\r\n water.angle = direction==\"left\"?-180:-90;\r\n }\r\n else{\r\n turn.angle = direction==\"left\"?270:-180;\r\n water.angle = direction==\"left\"?270:-180;\r\n }\r\n\r\n }\r\n else if(sp.angle == -90){\r\n turn.active =true;\r\n turn.getComponent(cc.Sprite).spriteFrame = this.UI[\"_spriteFrames\"][\"a1\"];\r\n turn.angle = 90;\r\n if(type){\r\n water.active = true;\r\n water.angle = 90;\r\n water.getComponent(cc.Sprite).spriteFrame = this.UI[\"_spriteFrames\"][\"block1\"];\r\n water.opacity = 0;\r\n }\r\n\r\n }\r\n else if(sp.angle == 90){\r\n turn.active =true;\r\n turn.getComponent(cc.Sprite).spriteFrame = this.UI[\"_spriteFrames\"][\"a1\"];\r\n turn.angle = 90;\r\n if(type){\r\n water.active = true;\r\n water.angle = 90;\r\n water.getComponent(cc.Sprite).spriteFrame = this.UI[\"_spriteFrames\"][\"block1\"];\r\n water.opacity = 0;\r\n }\r\n }\r\n \r\n }\r\n else if(direction == \"up\" || direction == \"down\"){\r\n let sp = this.node.getChildByName(\"sp\");\r\n if(sp.angle == -90){\r\n turn.active =true;\r\n water.active = true;\r\n water.opacity = 0;\r\n if(type){\r\n turn.angle = direction==\"up\"?0:-90;\r\n water.angle = direction==\"up\"?0:-90;\r\n }\r\n else{\r\n turn.angle = direction==\"up\"?-90:0;\r\n water.angle = direction==\"up\"?-90:0;\r\n }\r\n }\r\n else if(sp.angle == 90){\r\n turn.active = true;\r\n water.active = true;\r\n water.opacity = 0;\r\n if(type){\r\n turn.angle = direction==\"up\"?90:180;\r\n water.angle = direction==\"up\"?90:180;\r\n }\r\n else{\r\n turn.angle = direction==\"up\"?180:90;\r\n water.angle = direction==\"up\"?180:90;\r\n }\r\n \r\n }\r\n else if(sp.angle == 0){\r\n turn.active =true;\r\n turn.getComponent(cc.Sprite).spriteFrame = this.UI[\"_spriteFrames\"][\"a1\"];\r\n turn.angle = 0;\r\n if(type){\r\n water.active = true;\r\n water.getComponent(cc.Sprite).spriteFrame = this.UI[\"_spriteFrames\"][\"block1\"];\r\n water.opacity = 0;\r\n }\r\n }\r\n else if(sp.angle == -180){\r\n turn.active =true;\r\n turn.getComponent(cc.Sprite).spriteFrame = this.UI[\"_spriteFrames\"][\"a1\"];\r\n turn.angle = 0;\r\n if(type){\r\n water.active = true;\r\n water.getComponent(cc.Sprite).spriteFrame = this.UI[\"_spriteFrames\"][\"block1\"];\r\n water.opacity = 0;\r\n }\r\n }\r\n }\r\n }\r\n //息壤具体执行方法 外部可调用\r\n set_Xi_SoilType(direction,end,name){\r\n // console.log(\"息壤\",direction,name,end);\r\n var jg = this.repeatRoad(true,direction);\r\n console.log(\"息壤重复判断结果\",jg);\r\n if(jg == true){\r\n cc.fx.Notifications.emit(cc.fx.Message.showResult,\"lose\");\r\n return;\r\n } \r\n\r\n if(this.block_Type == cc.Enum(BlockType).Start){\r\n this.set_Xi_Soil(direction,false);\r\n return;\r\n }\r\n\r\n if(this.block_Type == cc.Enum(BlockType).Nunja){\r\n this.block_Type = cc.Enum(BlockType).Nomal;\r\n this.node.getChildByName(\"bg\").getComponent(cc.Sprite).spriteFrame = null;\r\n this.node.getComponent(cc.Sprite).spriteFrame = this.UI[\"_spriteFrames\"][\"block_Bg\"];\r\n }\r\n if(end != null){\r\n if(this.block_Type == cc.Enum(BlockType).End){\r\n this.finishi = true;\r\n setTimeout(() => {\r\n this.set_Xi_Soil(direction,true);\r\n }, 500);\r\n \r\n }\r\n setTimeout(() => {\r\n if(name == \"water\") cc.fx.Notifications.emit(cc.fx.Message.nextWater,(end+1));\r\n else cc.fx.Notifications.emit(cc.fx.Message.next,(end+1));\r\n }, 400);\r\n }\r\n\r\n if(this.block_Type != cc.Enum(BlockType).End && this.block_Type != cc.Enum(BlockType).Start){\r\n this.block_Type = cc.Enum(BlockType).Xi_Soil;\r\n } \r\n else{\r\n }\r\n\r\n let target = this.node.getChildByName(\"Xi_Soil\"); \r\n this.path_Type = direction;\r\n target.active = true;\r\n target.opacity = 0;\r\n cc.tween(target)\r\n .to(0.1,{opacity:255})\r\n .to(0.1,{opacity:0})\r\n .call(() =>{\r\n if(direction != null && end == null){\r\n let data = {\r\n order:0,\r\n time:cc.fx.GameConfig.TIME_INFO.waterSpeed[0],\r\n type:0,\r\n circulate:false\r\n };\r\n if(name == \"water\"){\r\n this.runWater(data);\r\n } \r\n else this.runRoad(data);\r\n }\r\n })\r\n .start();\r\n }\r\n //判断重复路径 \r\n repeatRoad(type,direction){\r\n //如果双向都占用了还进来就算死了- \r\n var jg = false;\r\n\r\n if(this.node.getChildByName(\"vertical2\").active == true && this.node.getChildByName(\"horizontal2\").active == true){\r\n // alert(\"治水失败\");\r\n jg = true;\r\n if(type){\r\n cc.fx.Notifications.emit(cc.fx.Message.showResult,\"lose\");\r\n }\r\n }\r\n\r\n else if(this.node.getChildByName(\"turn2\").active == true && this.block_Type != cc.Enum(BlockType).Xi_Soil){\r\n // alert(\"治水失败\");\r\n jg = true;\r\n if(type){\r\n cc.fx.Notifications.emit(cc.fx.Message.showResult,\"lose\");\r\n }\r\n }\r\n\r\n if(direction){\r\n if(this.node.getChildByName(\"vertical2\").active == true && this.block_Type == cc.Enum(BlockType).Xi_Soil && (direction == \"up\"|| direction ==\"down\")){\r\n // alert(\"治水失败\");\r\n if(this.node.getChildByName(\"vertical2\").angle == 0 || this.node.getChildByName(\"vertical2\").angle == 180 ){\r\n jg = true;\r\n if(type){\r\n cc.fx.Notifications.emit(cc.fx.Message.showResult,\"lose\");\r\n }\r\n }\r\n\r\n\r\n }\r\n else if(this.node.getChildByName(\"vertical2\").active == true && this.block_Type == cc.Enum(BlockType).Xi_Soil && (direction == \"right\"|| direction ==\"left\")){\r\n // alert(\"治水失败\");\r\n if(this.node.getChildByName(\"vertical2\").angle == 90 || this.node.getChildByName(\"vertical2\").angle == 270 ){\r\n jg = true;\r\n if(type){\r\n cc.fx.Notifications.emit(cc.fx.Message.showResult,\"lose\");\r\n }\r\n } \r\n\r\n }\r\n }\r\n\r\n return jg;\r\n }\r\n\r\n //修筑路线执行\r\n runRoad(data){\r\n if(this.path_Type == \"err\"){\r\n setTimeout(() => {\r\n if(data.circulate)\r\n cc.fx.Notifications.emit(cc.fx.Message.next,order);\r\n }, data.time);\r\n return;\r\n }\r\n var jg = this.repeatRoad(true,null);\r\n if(jg == true) return;\r\n var target = null;\r\n var progress = 1;\r\n var time = data.time;\r\n var order = data.order + 1;\r\n var random = Math.floor(Math.random()*4 + 1);\r\n target = this.node.getChildByName(\"vertical2\");\r\n if(target.name == \"vertical\"){\r\n let water1 = target.getChildByName(\"wave\").getChildByName(\"water1\");\r\n let water2 = target.getChildByName(\"wave\").getChildByName(\"water2\");\r\n let water3 = target.getChildByName(\"wave\").getChildByName(\"water3\");\r\n let timeDelay = 0.15;\r\n water1.runAction(cc.sequence(cc.moveTo(0.6,cc.v2(water1.x,120)),cc.delayTime(timeDelay),\r\n cc.callFunc(()=>{\r\n water1.y = -120\r\n })).repeatForever());\r\n water2.runAction(cc.sequence(cc.moveTo(0.6,cc.v2(water2.x,120)),cc.delayTime(timeDelay),\r\n cc.callFunc(()=>{\r\n water2.y = -120\r\n })).repeatForever());\r\n water3.runAction(cc.sequence(cc.moveTo(0.6,cc.v2(water3.x,120)),cc.delayTime(timeDelay),\r\n cc.callFunc(()=>{\r\n water3.y = -120\r\n })).repeatForever());\r\n }\r\n\r\n var name = \"a\" + random;\r\n if(this.block_Type != cc.Enum(BlockType).Reinforce)target.getComponent(cc.Sprite).spriteFrame = this.UI[\"_spriteFrames\"][name];\r\n\r\n if(target.active == true){\r\n target = this.node.getChildByName(\"horizontal2\");\r\n name = \"b\" + random;\r\n if(this.block_Type != cc.Enum(BlockType).Reinforce) target.getComponent(cc.Sprite).spriteFrame = this.UI[\"_spriteFrames\"][name];\r\n } \r\n // console.log(this.path_Type,data.order);\r\n if(this.path_Type == cc.Enum(PathType).up){\r\n }\r\n else if(this.path_Type == cc.Enum(PathType).down){\r\n target.angle = 180;\r\n }\r\n else if(this.path_Type == cc.Enum(PathType).left){\r\n target.angle = 90;\r\n name = \"b\" + random;\r\n if(this.block_Type != cc.Enum(BlockType).Reinforce) target.getComponent(cc.Sprite).spriteFrame = this.UI[\"_spriteFrames\"][name];\r\n }\r\n else if(this.path_Type == cc.Enum(PathType).right){\r\n target.angle = 270;\r\n name = \"b\" + random;\r\n if(this.block_Type != cc.Enum(BlockType).Reinforce) target.getComponent(cc.Sprite).spriteFrame = this.UI[\"_spriteFrames\"][name];\r\n }\r\n else{\r\n target = this.node.getChildByName(\"turn2\");\r\n if(target.name == \"turn\"){\r\n let water = target.getChildByName(\"wave\").getChildByName(\"water\");\r\n water.opacity = 0\r\n water.runAction(cc.sequence(cc.rotateTo(7.2,-1080),cc.delayTime(0)).repeatForever());\r\n setTimeout(() => {\r\n water.opacity = 255;\r\n }, 200);\r\n }\r\n name = \"c\" + random;\r\n if(this.block_Type != cc.Enum(BlockType).Reinforce)target.getComponent(cc.Sprite).spriteFrame = this.UI[\"_spriteFrames\"][name];\r\n progress = 0.25;\r\n if(this.path_Type == cc.Enum(PathType).up_left){\r\n target.setPosition(-this.pos_Shifting,-this.pos_Shifting);\r\n }\r\n else if(this.path_Type == cc.Enum(PathType).up_right){\r\n target.scaleX = -1;\r\n target.setPosition(this.pos_Shifting,-this.pos_Shifting);\r\n }\r\n else if(this.path_Type == cc.Enum(PathType).down_left){\r\n target.angle = 180;\r\n target.scaleX = -1;\r\n target.setPosition(-this.pos_Shifting,this.pos_Shifting);\r\n }\r\n else if(this.path_Type == cc.Enum(PathType).down_right){\r\n target.angle = 180;\r\n target.setPosition(this.pos_Shifting,this.pos_Shifting);\r\n }\r\n else if(this.path_Type == cc.Enum(PathType).left_up){\r\n target.angle = -90;\r\n target.scaleY = -1;\r\n target.setPosition(this.pos_Shifting,this.pos_Shifting);\r\n }\r\n else if(this.path_Type == cc.Enum(PathType).left_down){\r\n target.angle = 90;\r\n target.setPosition(-this.pos_Shifting,-this.pos_Shifting);\r\n }\r\n else if(this.path_Type == cc.Enum(PathType).right_up){\r\n target.angle = -90;\r\n target.setPosition(-this.pos_Shifting,this.pos_Shifting);\r\n \r\n }\r\n else if(this.path_Type == cc.Enum(PathType).right_down){\r\n target.angle = -90;\r\n target.scaleX = -1;\r\n target.setPosition(-this.pos_Shifting,-this.pos_Shifting);\r\n }\r\n }\r\n if(this.path_Type == \"Reinforce\"){\r\n target = this.node.getChildByName(\"Reinforce\");\r\n if(this.block_Type == cc.Enum(BlockType).Peak){\r\n cc.fx.Notifications.emit(cc.fx.Message.showResult,\"lose\");\r\n return;\r\n }\r\n if(this.block_Type != cc.Enum(BlockType).End)this.block_Type = cc.Enum(BlockType).Reinforce;\r\n this.node.getChildByName(\"vertical2\").getComponent(cc.Sprite).spriteFrame = this.UI[\"_spriteFrames\"][\"e1\"];\r\n this.node.getChildByName(\"turn2\").getComponent(cc.Sprite).spriteFrame = this.UI[\"_spriteFrames\"][\"e3\"];\r\n this.node.getChildByName(\"horizontal2\").getComponent(cc.Sprite).spriteFrame = this.UI[\"_spriteFrames\"][\"e2\"];\r\n target.active = true;\r\n target.opacity = 0;\r\n progress = 1;\r\n cc.tween(target)\r\n .to(cc.fx.GameConfig.TIME_INFO.ReinforceSpeed,{opacity:255})\r\n .call(() =>{\r\n if(data.circulate)\r\n cc.fx.Notifications.emit(cc.fx.Message.changeMap,order);\r\n cc.fx.Notifications.emit(cc.fx.Message.next,order);\r\n })\r\n .start();\r\n }\r\n else if(this.path_Type == \"Xi_Soil\"){\r\n target.active = false;\r\n if(this.block_Type != cc.Enum(BlockType).End && this.block_Type != cc.Enum(BlockType).Start)\r\n this.block_Type = cc.Enum(BlockType).Xi_Soil;\r\n target = this.node.getChildByName(\"Xi_Soil\"); \r\n target.active = true;\r\n target.opacity = 0;\r\n cc.tween(target)\r\n .to(0.01,{opacity:1})\r\n .to(0.01,{opacity:0})\r\n .call(() =>{\r\n if(data.circulate){\r\n cc.fx.Notifications.emit(cc.fx.Message.next,order);\r\n }\r\n \r\n })\r\n .start();\r\n }\r\n else if(this.path_Type == \"End\"){\r\n target.active = false;\r\n if(this.block_Type != cc.Enum(BlockType).End && this.block_Type != cc.Enum(BlockType).Start)\r\n this.block_Type = cc.Enum(BlockType).Xi_Soil;\r\n let posTemp = data.last;\r\n var direction = \"up\";\r\n if(this.pos.x - posTemp.x >= 1){\r\n direction = \"right\";\r\n }\r\n else if(this.pos.x - posTemp.x <= -1){\r\n direction = \"left\";\r\n }\r\n else if(this.pos.y - posTemp.y >= 1){\r\n direction = \"down\";\r\n }\r\n \r\n // console.log(\"结束方向:\",direction);\r\n if(!this.finishi){\r\n this.finishi = true;\r\n this.set_Xi_Soil(direction,true);\r\n }\r\n }\r\n else{\r\n target.active = true;\r\n if(this.block_Type != cc.Enum(BlockType).Xi_Soil){\r\n target.getComponent(cc.Sprite).fillRange = 0;\r\n cc.tween(target.getComponent(cc.Sprite))\r\n .to(time,{fillRange:progress})\r\n .call(() =>{\r\n if(data.circulate)\r\n cc.fx.Notifications.emit(cc.fx.Message.next,order);\r\n })\r\n .start();\r\n }\r\n else{\r\n target.opacity = 0;\r\n target.getComponent(cc.Sprite).fillRange = 1;\r\n cc.tween(target)\r\n .to(time,{opacity:255})\r\n .call(() =>{\r\n if(data.circulate)\r\n cc.fx.Notifications.emit(cc.fx.Message.next,order);\r\n })\r\n .start();\r\n }\r\n }\r\n\r\n }\r\n //洪峰执行\r\n runWater(data){\r\n if(this.node.getChildByName(\"waterStart\").active == true && this.block_Type == cc.Enum(BlockType).Start){\r\n // sp.getChildByName(\"waterStart\").opacity = 255;\r\n cc.tween(this.node.getChildByName(\"waterStart\"))\r\n .to(0.2,{opacity:255})\r\n .start();\r\n }\r\n\r\n\r\n if(this.path_Type == \"err\"){\r\n setTimeout(() => {\r\n if(data.circulate)\r\n cc.fx.Notifications.emit(cc.fx.Message.nextWater,order);\r\n }, data.time);\r\n return;\r\n }\r\n //如果双向都占用了还进来就算死了- \r\n if(this.node.getChildByName(\"vertical\").active == true && this.node.getChildByName(\"horizontal\").active == true){\r\n // alert(\"治水失败\");\r\n cc.fx.Notifications.emit(cc.fx.Message.showResult,\"lose\");\r\n // cc.director.loadScene(\"GameScene\");\r\n return;\r\n }\r\n\r\n else if(this.node.getChildByName(\"turn\").active == true && this.block_Type != cc.Enum(BlockType).Xi_Soil){\r\n // alert(\"治水失败\");\r\n cc.fx.Notifications.emit(cc.fx.Message.showResult,\"lose\");\r\n // cc.director.loadScene(\"GameScene\");\r\n return;\r\n }\r\n var target = null;\r\n var progress = 1;\r\n var time = data.time;\r\n var order = data.order + 1;\r\n var random = Math.floor(Math.random()*4 + 1);\r\n target = this.node.getChildByName(\"vertical\");\r\n if(target.name == \"vertical\"){\r\n let water1 = target.getChildByName(\"wave\").getChildByName(\"water1\");\r\n let water2 = target.getChildByName(\"wave\").getChildByName(\"water2\");\r\n let water3 = target.getChildByName(\"wave\").getChildByName(\"water3\");\r\n let timeDelay = 0.15;\r\n water1.runAction(cc.sequence(cc.moveTo(0.6,cc.v2(water1.x,120)),cc.delayTime(timeDelay),\r\n cc.callFunc(()=>{\r\n water1.y = -120\r\n })).repeatForever());\r\n water2.runAction(cc.sequence(cc.moveTo(0.6,cc.v2(water2.x,120)),cc.delayTime(timeDelay),\r\n cc.callFunc(()=>{\r\n water2.y = -120\r\n })).repeatForever());\r\n water3.runAction(cc.sequence(cc.moveTo(0.6,cc.v2(water3.x,120)),cc.delayTime(timeDelay),\r\n cc.callFunc(()=>{\r\n water3.y = -120\r\n })).repeatForever());\r\n }\r\n\r\n var name = \"a\" + random;\r\n // if(this.block_Type != cc.Enum(BlockType).Reinforce)target.getComponent(cc.Sprite).spriteFrame = this.UI[\"_spriteFrames\"][name];\r\n\r\n if(target.active == true){\r\n target = this.node.getChildByName(\"horizontal\");\r\n let water1 = target.getChildByName(\"wave\").getChildByName(\"water1\");\r\n let water2 = target.getChildByName(\"wave\").getChildByName(\"water2\");\r\n let water3 = target.getChildByName(\"wave\").getChildByName(\"water3\");\r\n let timeDelay = 0.15;\r\n water1.runAction(cc.sequence(cc.moveTo(0.6,cc.v2(water1.x,120)),cc.delayTime(timeDelay),\r\n cc.callFunc(()=>{\r\n water1.y = -120\r\n })).repeatForever());\r\n water2.runAction(cc.sequence(cc.moveTo(0.6,cc.v2(water2.x,120)),cc.delayTime(timeDelay),\r\n cc.callFunc(()=>{\r\n water2.y = -120\r\n })).repeatForever());\r\n water3.runAction(cc.sequence(cc.moveTo(0.6,cc.v2(water3.x,120)),cc.delayTime(timeDelay),\r\n cc.callFunc(()=>{\r\n water3.y = -120\r\n })).repeatForever());\r\n name = \"b\" + random;\r\n //if(this.block_Type != cc.Enum(BlockType).Reinforce) target.getComponent(cc.Sprite).spriteFrame = this.UI[\"_spriteFrames\"][name];\r\n } \r\n // console.log(this.path_Type,data.order);\r\n if(this.path_Type == cc.Enum(PathType).up){\r\n }\r\n else if(this.path_Type == cc.Enum(PathType).down){\r\n target.angle = 180;\r\n }\r\n else if(this.path_Type == cc.Enum(PathType).left){\r\n target.angle = 90;\r\n name = \"b\" + random;\r\n //if(this.block_Type != cc.Enum(BlockType).Reinforce) target.getComponent(cc.Sprite).spriteFrame = this.UI[\"_spriteFrames\"][name];\r\n }\r\n else if(this.path_Type == cc.Enum(PathType).right){\r\n target.angle = 270;\r\n name = \"b\" + random;\r\n //if(this.block_Type != cc.Enum(BlockType).Reinforce) target.getComponent(cc.Sprite).spriteFrame = this.UI[\"_spriteFrames\"][name];\r\n }\r\n else{\r\n target = this.node.getChildByName(\"turn\");\r\n if(target.name == \"turn\"){\r\n let water = target.getChildByName(\"wave\").getChildByName(\"water\");\r\n water.opacity = 0\r\n water.runAction(cc.sequence(cc.rotateTo(7.2,-1080),cc.delayTime(0)).repeatForever());\r\n setTimeout(() => {\r\n water.opacity = 255;\r\n }, 200);\r\n }\r\n name = \"c\" + random;\r\n //if(this.block_Type != cc.Enum(BlockType).Reinforce)target.getComponent(cc.Sprite).spriteFrame = this.UI[\"_spriteFrames\"][name];\r\n progress = 0.25;\r\n if(this.path_Type == cc.Enum(PathType).up_left){\r\n target.setPosition(-this.pos_Shifting,-this.pos_Shifting);\r\n }\r\n else if(this.path_Type == cc.Enum(PathType).up_right){\r\n target.scaleX = -1;\r\n target.setPosition(this.pos_Shifting,-this.pos_Shifting);\r\n }\r\n else if(this.path_Type == cc.Enum(PathType).down_left){\r\n target.angle = 180;\r\n target.scaleX = -1;\r\n target.setPosition(-this.pos_Shifting,this.pos_Shifting);\r\n }\r\n else if(this.path_Type == cc.Enum(PathType).down_right){\r\n target.angle = 180;\r\n target.setPosition(this.pos_Shifting,this.pos_Shifting);\r\n }\r\n else if(this.path_Type == cc.Enum(PathType).left_up){\r\n target.angle = -90;\r\n target.scaleY = -1;\r\n target.setPosition(this.pos_Shifting,this.pos_Shifting);\r\n }\r\n else if(this.path_Type == cc.Enum(PathType).left_down){\r\n target.angle = 90;\r\n target.setPosition(-this.pos_Shifting,-this.pos_Shifting);\r\n }\r\n else if(this.path_Type == cc.Enum(PathType).right_up){\r\n target.angle = -90;\r\n target.setPosition(-this.pos_Shifting,this.pos_Shifting);\r\n \r\n }\r\n else if(this.path_Type == cc.Enum(PathType).right_down){\r\n target.angle = -90;\r\n target.scaleX = -1;\r\n target.setPosition(-this.pos_Shifting,-this.pos_Shifting);\r\n }\r\n }\r\n\r\n if(this.path_Type == \"End\"){\r\n target.active = false;\r\n if(this.block_Type == cc.Enum(BlockType).End){\r\n if(this.node.getChildByName(\"waterStart\").active == true && this.block_Type == cc.Enum(BlockType).End){\r\n cc.tween(this.node.getChildByName(\"waterStart\"))\r\n .to(0.2,{opacity:255})\r\n .call(()=>{\r\n // alert(\"治水成功\");\r\n cc.fx.Notifications.emit(cc.fx.Message.showResult,\"win\");\r\n \r\n if(cc.fx.GameConfig.GM_INFO.level < 7){\r\n cc.fx.GameConfig.GM_INFO.level += 1;\r\n }\r\n setTimeout(() => {\r\n // cc.director.loadScene(\"GameScene\");\r\n }, 500);\r\n \r\n })\r\n .start();\r\n }\r\n }\r\n else{\r\n target = this.node.getChildByName(\"End\"); \r\n target.active = true;\r\n target.opacity = 0;\r\n\r\n let posTemp = data.last;\r\n if(this.pos.x - posTemp.x >= 1){\r\n target.angle = -90;\r\n\r\n }\r\n else if(this.pos.x - posTemp.x <= -1){\r\n target.angle = 90;\r\n }\r\n else if(this.pos.y - posTemp.y >= 1){\r\n target.angle = 180;\r\n }\r\n \r\n cc.tween(target)\r\n .to(0.5,{opacity:255})\r\n .call(() =>{\r\n // alert(\"治水失败\")\r\n cc.fx.Notifications.emit(cc.fx.Message.showResult,\"lose\");\r\n // cc.director.loadScene(\"GameScene\");\r\n\r\n })\r\n .start();\r\n }\r\n\r\n }\r\n else{\r\n target.active = true;\r\n target.getComponent(cc.Sprite).fillRange = 0;\r\n cc.tween(target.getComponent(cc.Sprite))\r\n .to(time,{fillRange:progress})\r\n .call(() =>{\r\n if(data.circulate)\r\n cc.fx.Notifications.emit(cc.fx.Message.nextWater,order);\r\n })\r\n .start();\r\n }\r\n\r\n }\r\n\r\n // update (dt) {}\r\n}\r\n"]} \ No newline at end of file diff --git a/temp/quick-scripts/src/assets/Script/ControlManager.js b/temp/quick-scripts/src/assets/Script/ControlManager.js index d7e58f9..f7fe7af 100644 --- a/temp/quick-scripts/src/assets/Script/ControlManager.js +++ b/temp/quick-scripts/src/assets/Script/ControlManager.js @@ -49,14 +49,15 @@ var NewClass = /** @class */ (function (_super) { this.canTouch = true; this.Reinforce = false; this.Soil = false; + this.mapHeight = 0; }; NewClass.prototype.setPosition = function (tip) { - tip.setPosition(30, -35); + tip.setPosition(30, -25); if (this.tipArray.length > 0) { var length = this.tipArray.length + 1; var posY = Math.ceil(length / 8) - 1; var posX = length - Math.floor(posY) * 8 - 1; - tip.setPosition(30 + 48 * posX, -35 - 48 * posY); + tip.setPosition(30 + 48 * posX, -25 - 48 * posY + this.mapHeight); } }; //清空所有 @@ -76,6 +77,7 @@ var NewClass = /** @class */ (function (_super) { var drawingReset = cc.fx.GameConfig.CLICK_DATA.drawingReset + 1; cc.fx.GameConfig.CLICK_SET("drawingReset", drawingReset); cc.fx.Notifications.emit(cc.fx.Message.removeTip, "remove"); + this.mapHeight = 0; } }; //撤回一步 @@ -93,6 +95,11 @@ var NewClass = /** @class */ (function (_super) { var drawingBack = cc.fx.GameConfig.CLICK_DATA.drawingBack + 1; cc.fx.GameConfig.CLICK_SET("drawingBack", drawingBack); cc.fx.Notifications.emit(cc.fx.Message.removeTip, "back"); + if (this.tipArray.length >= 24) { + if ((this.tipArray.length) % 8 == 0) { + this.mapMove(false); + } + } } }; //点击事件 @@ -158,6 +165,25 @@ var NewClass = /** @class */ (function (_super) { this.setPosition(tip); this.tipArray.push(tip); this.controlArray.push(data); + if (this.tipArray.length >= 25) { + if ((this.tipArray.length - 1) % 8 == 0) { + this.mapMove(true); + } + } + }; + //地图放不下了上下移动 + NewClass.prototype.mapMove = function (type) { + if (type) + this.mapHeight += 48; + else + this.mapHeight -= 48; + for (var i = 0; i < this.tipArray.length; i++) { + var tip = this.tipArray[i]; + if (type) + tip.y += 48; + else + tip.y -= 48; + } }; //点击开始 创建河道 NewClass.prototype.start_Click = function () { diff --git a/temp/quick-scripts/src/assets/Script/ControlManager.js.map b/temp/quick-scripts/src/assets/Script/ControlManager.js.map index 23472ce..6e0affe 100644 --- a/temp/quick-scripts/src/assets/Script/ControlManager.js.map +++ b/temp/quick-scripts/src/assets/Script/ControlManager.js.map @@ -1 +1 @@ -{"version":3,"sources":["assets\\Script\\ControlManager.ts"],"names":[],"mappings":"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","file":"","sourceRoot":"/","sourcesContent":["// Learn TypeScript:\r\n// - https://docs.cocos.com/creator/manual/en/scripting/typescript.html\r\n// Learn Attribute:\r\n// - https://docs.cocos.com/creator/manual/en/scripting/reference/attributes.html\r\n// Learn life-cycle callbacks:\r\n// - https://docs.cocos.com/creator/manual/en/scripting/life-cycle-callbacks.html\r\n\r\nconst {ccclass, property} = cc._decorator;\r\n\r\n@ccclass\r\nexport default class NewClass extends cc.Component {\r\n\r\n @property(cc.Node)\r\n Map: cc.Node = null;\r\n @property(cc.Prefab)\r\n tip: cc.Prefab = null;\r\n @property(cc.Prefab)\r\n reinforce: cc.Prefab = null;\r\n @property(cc.Prefab)\r\n soil: cc.Prefab = null;\r\n \r\n\r\n tipArray:any;\r\n controlArray:any;\r\n canTouch:boolean;\r\n Reinforce:boolean;\r\n Soil:boolean;\r\n // LIFE-CYCLE CALLBACKS:\r\n\r\n // onLoad () {}\r\n\r\n start () {\r\n this.tipArray = [];\r\n this.controlArray = [];\r\n this.canTouch = true;\r\n this.Reinforce = false;\r\n this.Soil = false;\r\n }\r\n\r\n setPosition(tip){\r\n tip.setPosition(30,-35);\r\n if(this.tipArray.length > 0){\r\n let length = this.tipArray.length+1;\r\n let posY = Math.ceil(length/8) - 1;\r\n let posX = length - Math.floor(posY)*8 - 1;\r\n tip.setPosition(30 + 48*posX,-35 -48*posY);\r\n }\r\n }\r\n //清空所有\r\n removeAllTip(){\r\n if(!this.canTouch) return;\r\n if(this.tipArray.length > 0){\r\n cc.fx.AudioManager._instance.playEffect(\"qingkong\",null);\r\n for(let i=0; i 0){\r\n cc.fx.AudioManager._instance.playEffect(\"chehui\",null);\r\n let tip = this.tipArray[this.tipArray.length-1];\r\n tip.active = false;\r\n tip.removeFromParent(this.Map);\r\n tip = null;\r\n this.tipArray.pop();\r\n this.controlArray.pop();\r\n var drawingBack = cc.fx.GameConfig.CLICK_DATA.drawingBack + 1;\r\n cc.fx.GameConfig.CLICK_SET(\"drawingBack\",drawingBack);\r\n cc.fx.Notifications.emit(cc.fx.Message.removeTip,\"back\");\r\n }\r\n }\r\n\r\n //点击事件\r\n btn_Click(target,data){\r\n var GameManager = this.node.parent.getComponent(\"GameManager\");\r\n if(GameManager.btnClick == true){\r\n GameManager.btnClick = false;\r\n cc.fx.Notifications.emit(cc.fx.Message.guideNext);\r\n }\r\n cc.fx.Notifications.emit(cc.fx.Message.control,data);\r\n if(!this.canTouch) return;\r\n let prefab = this.tip;\r\n if(data == \"reinforce\" || data == \"soil\"){\r\n prefab = this[data];\r\n if(data == \"reinforce\"){\r\n if(this.Reinforce){\r\n this.Reinforce = false;\r\n this.back_Click();\r\n return;\r\n }else{\r\n cc.fx.AudioManager._instance.playEffect(\"jineng\",null);\r\n this.Reinforce = true;\r\n this.Soil = false;\r\n }\r\n } \r\n else if(data == \"soil\"){\r\n if(this.Soil){\r\n this.Soil = false;\r\n this.back_Click();\r\n return;\r\n }else{\r\n cc.fx.AudioManager._instance.playEffect(\"jineng\",null);\r\n this.Soil = true;\r\n this.Reinforce = false;\r\n }\r\n } \r\n }\r\n else{\r\n cc.fx.AudioManager._instance.playEffect(\"fangxiang\",null);\r\n this.Reinforce = false;\r\n this.Soil = false;\r\n }\r\n let tip = cc.instantiate(prefab);\r\n if(data == \"up\") tip.angle = 180;\r\n if(data == \"left\") tip.angle = -90;\r\n if(data == \"right\") tip.angle = 90;\r\n tip.parent = this.Map;\r\n \r\n if(this.controlArray[this.controlArray.length-1] == \"reinforce\" || \r\n this.controlArray[this.controlArray.length-1] == \"soil\"){\r\n if(data == \"reinforce\" || data == \"soil\"){\r\n this.tipArray[this.tipArray.length-1].removeFromParent();\r\n this.tipArray[this.tipArray.length-1] = null;\r\n this.tipArray.pop();\r\n this.controlArray.pop();\r\n }\r\n }\r\n this.setPosition(tip);\r\n\r\n this.tipArray.push(tip);\r\n this.controlArray.push(data);\r\n \r\n }\r\n\r\n //点击开始 创建河道\r\n start_Click(){\r\n if(!this.canTouch) return;\r\n this.canTouch = false;\r\n cc.fx.AudioManager._instance.playEffect(\"build\",null);\r\n cc.fx.Notifications.emit(cc.fx.Message.startGame,this.controlArray);\r\n }\r\n\r\n // update (dt) {}\r\n}\r\n"]} \ No newline at end of file +{"version":3,"sources":["assets\\Script\\ControlManager.ts"],"names":[],"mappings":"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","file":"","sourceRoot":"/","sourcesContent":["// Learn TypeScript:\r\n// - https://docs.cocos.com/creator/manual/en/scripting/typescript.html\r\n// Learn Attribute:\r\n// - https://docs.cocos.com/creator/manual/en/scripting/reference/attributes.html\r\n// Learn life-cycle callbacks:\r\n// - https://docs.cocos.com/creator/manual/en/scripting/life-cycle-callbacks.html\r\n\r\nconst {ccclass, property} = cc._decorator;\r\n\r\n@ccclass\r\nexport default class NewClass extends cc.Component {\r\n\r\n @property(cc.Node)\r\n Map: cc.Node = null;\r\n @property(cc.Prefab)\r\n tip: cc.Prefab = null;\r\n @property(cc.Prefab)\r\n reinforce: cc.Prefab = null;\r\n @property(cc.Prefab)\r\n soil: cc.Prefab = null;\r\n \r\n\r\n tipArray:any;\r\n controlArray:any;\r\n canTouch:boolean;\r\n Reinforce:boolean;\r\n Soil:boolean;\r\n mapHeight:number;\r\n // LIFE-CYCLE CALLBACKS:\r\n\r\n // onLoad () {}\r\n\r\n start () {\r\n this.tipArray = [];\r\n this.controlArray = [];\r\n this.canTouch = true;\r\n this.Reinforce = false;\r\n this.Soil = false;\r\n this.mapHeight = 0;\r\n }\r\n\r\n setPosition(tip){\r\n tip.setPosition(30,-25);\r\n if(this.tipArray.length > 0){\r\n let length = this.tipArray.length+1;\r\n let posY = Math.ceil(length/8) - 1;\r\n let posX = length - Math.floor(posY)*8 - 1;\r\n tip.setPosition(30 + 48*posX,-25 -48*posY + this.mapHeight);\r\n }\r\n }\r\n //清空所有\r\n removeAllTip(){\r\n if(!this.canTouch) return;\r\n if(this.tipArray.length > 0){\r\n cc.fx.AudioManager._instance.playEffect(\"qingkong\",null);\r\n for(let i=0; i 0){\r\n cc.fx.AudioManager._instance.playEffect(\"chehui\",null);\r\n let tip = this.tipArray[this.tipArray.length-1];\r\n tip.active = false;\r\n tip.removeFromParent(this.Map);\r\n tip = null;\r\n this.tipArray.pop();\r\n this.controlArray.pop();\r\n var drawingBack = cc.fx.GameConfig.CLICK_DATA.drawingBack + 1;\r\n cc.fx.GameConfig.CLICK_SET(\"drawingBack\",drawingBack);\r\n cc.fx.Notifications.emit(cc.fx.Message.removeTip,\"back\");\r\n if(this.tipArray.length >= 24){\r\n if((this.tipArray.length )%8 == 0){\r\n this.mapMove(false);\r\n }\r\n }\r\n }\r\n }\r\n\r\n //点击事件\r\n btn_Click(target,data){\r\n var GameManager = this.node.parent.getComponent(\"GameManager\");\r\n if(GameManager.btnClick == true){\r\n GameManager.btnClick = false;\r\n cc.fx.Notifications.emit(cc.fx.Message.guideNext);\r\n }\r\n cc.fx.Notifications.emit(cc.fx.Message.control,data);\r\n if(!this.canTouch) return;\r\n let prefab = this.tip;\r\n if(data == \"reinforce\" || data == \"soil\"){\r\n prefab = this[data];\r\n if(data == \"reinforce\"){\r\n if(this.Reinforce){\r\n this.Reinforce = false;\r\n this.back_Click();\r\n return;\r\n }else{\r\n cc.fx.AudioManager._instance.playEffect(\"jineng\",null);\r\n this.Reinforce = true;\r\n this.Soil = false;\r\n }\r\n } \r\n else if(data == \"soil\"){\r\n if(this.Soil){\r\n this.Soil = false;\r\n this.back_Click();\r\n return;\r\n }else{\r\n cc.fx.AudioManager._instance.playEffect(\"jineng\",null);\r\n this.Soil = true;\r\n this.Reinforce = false;\r\n }\r\n } \r\n }\r\n else{\r\n cc.fx.AudioManager._instance.playEffect(\"fangxiang\",null);\r\n this.Reinforce = false;\r\n this.Soil = false;\r\n }\r\n let tip = cc.instantiate(prefab);\r\n if(data == \"up\") tip.angle = 180;\r\n if(data == \"left\") tip.angle = -90;\r\n if(data == \"right\") tip.angle = 90;\r\n tip.parent = this.Map;\r\n \r\n if(this.controlArray[this.controlArray.length-1] == \"reinforce\" || \r\n this.controlArray[this.controlArray.length-1] == \"soil\"){\r\n if(data == \"reinforce\" || data == \"soil\"){\r\n this.tipArray[this.tipArray.length-1].removeFromParent();\r\n this.tipArray[this.tipArray.length-1] = null;\r\n this.tipArray.pop();\r\n this.controlArray.pop();\r\n }\r\n }\r\n this.setPosition(tip);\r\n\r\n this.tipArray.push(tip);\r\n this.controlArray.push(data);\r\n \r\n if(this.tipArray.length >= 25){\r\n if((this.tipArray.length - 1)%8 == 0){\r\n this.mapMove(true);\r\n }\r\n }\r\n }\r\n //地图放不下了上下移动\r\n mapMove(type){\r\n if(type) this.mapHeight += 48;\r\n else this.mapHeight -= 48;\r\n for(let i=0; i (this.block_Array.length - 1)) { + cc.fx.Notifications.emit(cc.fx.Message.showResult, "lose"); return; } var target = this.block_Array[i].getComponent("Block"); @@ -325,7 +335,14 @@ var GameManager = /** @class */ (function (_super) { target.runRoad(data); } }; - //判断边界。或者撞山,或者湿地没有加固 + /** + * 判断边界。或者撞山,或者湿地没有加固 + * @param order 建筑地图数组里的执行的序列号 + * @param x 当前操作地块横坐标 + * @param y 当前操作地块纵坐标 + * @param direction 当前操作方向,若不是方向则为息壤或者加固 + * @param road 建筑地图数组,可理解为路径数组,path_Array + */ GameManager.prototype.getBoundary = function (order, x, y, direction, road) { var jg = true; if (x < 0 || x >= this.map_Width || y < 0 || y >= this.map_Hight) { @@ -333,7 +350,6 @@ var GameManager = /** @class */ (function (_super) { // console.log("超过边界,游戏结束"); // alert("超过边界,治水失败"); cc.fx.Notifications.emit(cc.fx.Message.showResult, "lose"); - cc.fx.Notifications.emit(cc.fx.Message.setData, false); } else { var i = road[order].x * this.map_Array[0].length + road[order].y; @@ -343,19 +359,20 @@ var GameManager = /** @class */ (function (_super) { // console.log("修筑山峰,游戏结束"); // alert("修筑山峰,治水失败"); cc.fx.Notifications.emit(cc.fx.Message.showResult, "lose"); - cc.fx.Notifications.emit(cc.fx.Message.setData, false); } else if (target.block_Type == 2 && direction != "Reinforce") { jg = false; // console.log("修筑未加固湿地,游戏结束"); // alert("修筑未加固湿地,游戏结束"); cc.fx.Notifications.emit(cc.fx.Message.showResult, "lose"); - cc.fx.Notifications.emit(cc.fx.Message.setData, false); } } return jg; }; - //开始执行洪峰来了的动画 + /** + * 开始执行洪峰来了的动画 + * @param order 建筑地图数组里的执行的序列号,依次往下加 + */ GameManager.prototype.runWater = function (order) { order = parseInt(order); if (order <= this.water_Array.length - 1) { @@ -390,7 +407,6 @@ var GameManager = /** @class */ (function (_super) { var jg = this.getBoundary(order, this.water_Array[order].x, this.water_Array[order].y, direction, this.water_Array); if (direction == "" || jg == false || direction == "err") { cc.fx.Notifications.emit(cc.fx.Message.showResult, "lose"); - cc.fx.Notifications.emit(cc.fx.Message.setData, false); return; } var target = this.block_Array[i].getComponent("Block"); @@ -425,7 +441,11 @@ var GameManager = /** @class */ (function (_super) { target.runWater(data); } }; - //获取息壤的格子的方向 + /** + * 获取息壤的格子的方向 + * @param order 建筑地图数组里的执行的序列号,依次往下加 + * @param road 建筑地图数组或者洪峰路径数组,可理解为路径数组,path_Array water_Array + */ GameManager.prototype.getXi_Soil = function (order, road) { var direction = null; //如果息壤后面还有下一步的话 @@ -446,12 +466,18 @@ var GameManager = /** @class */ (function (_super) { } return direction; }; - //设置息壤 + /** + * 设置息壤执行方法 + * @param order 建筑地图数组里的执行的序列号,依次往下加 + * @param road 建筑地图数组或者洪峰路径数组,可理解为路径数组,path_Array water_Array + * @param name road或者water,建筑路径或者洪峰路径 + */ GameManager.prototype.set_Soil = function (order, road, name) { var direction = this.getXi_Soil(order, road); var length = 0; if (direction == "right") { length = this.map_Width - 1; + // let temp = this.map_Width - 1; for (var i = road[order].x; i <= length; i++) { var n = i * this.map_Array[0].length + road[order].y; var target = this.block_Array[n].getComponent("Block"); @@ -464,7 +490,6 @@ var GameManager = /** @class */ (function (_super) { break; } } - this.scheduleOnce; } else if (direction == "left") { length = 0; @@ -511,8 +536,6 @@ var GameManager = /** @class */ (function (_super) { } } } - // if(length == 0){ - // } this.soil_Find(direction, order, length, road, name); }; //查找息壤蛮遗憾路径 @@ -523,8 +546,10 @@ var GameManager = /** @class */ (function (_super) { var n = i * this.map_Array[0].length + road[order].y; var target = this.block_Array[n].getComponent("Block"); if (i == start) { - if (i == start && i == length) + if (i == start && i == length) { + cc.fx.Notifications.emit(cc.fx.Message.showResult, "lose"); target.set_Xi_SoilType(this.getDirection(order, road), order, name); + } else target.set_Xi_SoilType(this.getDirection(order, road), null, name); var value = cc.v3(this.path_Array[order].x, this.path_Array[order].y, 0); @@ -549,8 +574,10 @@ var GameManager = /** @class */ (function (_super) { var n = i * this.map_Array[0].length + road[order].y; var target = this.block_Array[n].getComponent("Block"); if (i == start) { - if (i == start && i == length) + if (i == start && i == length) { + cc.fx.Notifications.emit(cc.fx.Message.showResult, "lose"); target.set_Xi_SoilType(this.getDirection(order, road), order, name); + } else target.set_Xi_SoilType(this.getDirection(order, road), null, name); var value = cc.v3(this.path_Array[order].x, this.path_Array[order].y, 0); @@ -576,10 +603,13 @@ var GameManager = /** @class */ (function (_super) { var n = road[order].x * this.map_Array[0].length + i; var target = this.block_Array[n].getComponent("Block"); if (i == start) { - if (i == start && i == length) + if (i == start && i == length) { + cc.fx.Notifications.emit(cc.fx.Message.showResult, "lose"); target.set_Xi_SoilType(this.getDirection(order, road), order, name); - else + } + else { target.set_Xi_SoilType(this.getDirection(order, road), null, name); + } var value = cc.v3(this.path_Array[order].x, this.path_Array[order].y, 0); if (this.water_Array[this.water_Array.length - 1] != value) { // console.log("特别插入:",this.path_Array[order].x,this.path_Array[order].y); @@ -604,8 +634,10 @@ var GameManager = /** @class */ (function (_super) { var n = road[order].x * this.map_Array[0].length + i; var target = this.block_Array[n].getComponent("Block"); if (i == start) { - if (i == start && i == length) + if (i == start && i == length) { + cc.fx.Notifications.emit(cc.fx.Message.showResult, "lose"); target.set_Xi_SoilType(this.getDirection(order, road), order, name); + } else target.set_Xi_SoilType(this.getDirection(order, road), null, name); var value = cc.v3(this.path_Array[order].x, this.path_Array[order].y, 0); @@ -626,7 +658,10 @@ var GameManager = /** @class */ (function (_super) { } } }; - //改变水流地图 + /** + * 改变水流地图 + * @param value 需要根据使用息壤情况,插入到洪峰路径的点 + */ GameManager.prototype.changeWater = function (value) { var jg = true; if (this.water_Array.length > 0) { @@ -637,7 +672,13 @@ var GameManager = /** @class */ (function (_super) { if (jg) this.water_Array.push(value); }; - //息壤过后改变修筑路径 + /** + * 息壤过后改变修筑路径 + * @param order 建筑地图数组里的执行的序列号 + * @param number 息壤执行长度,改变息壤用后其他路径的X或Y值 + * @param direction 只为两个方向,横向false,纵向true + * @param road 建筑地图数组或者洪峰路径数组,可理解为路径数组,path_Array water_Array + */ GameManager.prototype.changePath = function (order, number, direction, road) { for (var i = (order + 1); i < road.length; i++) { if (!direction) { @@ -676,11 +717,17 @@ var GameManager = /** @class */ (function (_super) { } } }; - //获取洪峰方向 + /** + * 获取洪峰方向 + * @param order 建筑地图数组里的执行的序列号 + * @param road 建筑地图数组或者洪峰路径数组,可理解为路径数组,path_Array water_Array + */ GameManager.prototype.getDirection = function (order, road) { var name = ""; //入海口比较复杂单独判断 if (order == 0) { + if (this.path_Array[order + 1].z == 6 && road == this.path_Array) + order += 1; var nextX = road[order + 1].x - road[order].x; var nextY = road[order].y - road[order + 1].y; //在底边 @@ -842,8 +889,12 @@ var GameManager = /** @class */ (function (_super) { GameManager.prototype.backScene = function () { cc.director.loadScene("LoadScene"); }; - //开始游戏 + /** + * 开始修筑 + * @param data 记录操作的数组 + */ GameManager.prototype.startGame = function (data) { + this.unschedule(this.updateWaterTime); for (var i = 0; i < this.block_Array.length; i++) { this.block_Array[i].getChildByName("tipWin").active = false; this.block_Array[i].getChildByName("tipLose").active = false; @@ -866,7 +917,10 @@ var GameManager = /** @class */ (function (_super) { var arr = this.changeStep(data); cc.fx.GameConfig.CLICK_SET("stepList", arr); }; - //用于埋点记录 + /** + * 用于埋点记录 转变方向名称为埋点所需要格式 + * @param data 记录操作的数组 + */ GameManager.prototype.changeStep = function (data) { var arr = []; if (data.length > 0) { @@ -901,7 +955,6 @@ var GameManager = /** @class */ (function (_super) { setTimeout(function () { if (_this.water_Array.length == 0) { cc.fx.Notifications.emit(cc.fx.Message.showResult, "lose"); - cc.fx.Notifications.emit(cc.fx.Message.setData, false); } else { cc.fx.GameConfig.GM_INFO.min_Time = _this.waterTime; @@ -928,13 +981,13 @@ var GameManager = /** @class */ (function (_super) { } if (this.countTime <= 0) { this.countTime = 0; - this.setData(false); + this.setData("lose"); this.unschedule(this.updateCountDownTime); this.gameOver(); } } }; - //上传每次操作数据 + //上传每次操作数据 success为成功还是失败 GameManager.prototype.setData = function (success) { //设置埋点数据 cc.fx.GameConfig.CLICK_SET("mapId", cc.fx.GameConfig.LEVEL_INFO[cc.fx.GameConfig.GM_INFO.level][this.custom].id); @@ -943,6 +996,7 @@ var GameManager = /** @class */ (function (_super) { cc.fx.GameConfig.CLICK_SET("round", cc.fx.GameConfig.GM_INFO.round); cc.fx.GameConfig.CLICK_SET("timer", cc.fx.GameConfig.TIME_INFO.totalTime); cc.fx.GameConfig.CLICK_SET("cumulativeScore", cc.fx.GameConfig.GM_INFO.score); + success = success == "lose" ? false : true; if (success != null) { cc.fx.GameConfig.CLICK_SET("success", success); cc.fx.GameConfig.GM_INFO.fen = this.getScore(); @@ -950,6 +1004,8 @@ var GameManager = /** @class */ (function (_super) { cc.fx.GameConfig.GM_INFO.fen = 0; cc.fx.GameConfig.CLICK_SET("getScore", cc.fx.GameConfig.GM_INFO.fen); cc.fx.GameConfig.GM_INFO.score += cc.fx.GameConfig.GM_INFO.fen; + this.node.getChildByName("Top").getChildByName("id").getComponent(cc.Label).string = + cc.fx.GameConfig.GM_INFO.score; cc.fx.GameConfig.CLICK_SET("cumulativeScore", cc.fx.GameConfig.GM_INFO.score); if (this.countTime != 0) cc.fx.GameConfig.GM_INFO.successList.push(success); @@ -998,25 +1054,28 @@ var GameManager = /** @class */ (function (_super) { }) .start(); }; - //展示结果 + //展示结果 data为成功或者失败 GameManager.prototype.showResult = function (data) { - if (data == "lose") { - cc.fx.AudioManager._instance.playEffect("lose", null); - cc.fx.GameConfig.GM_INFO.min_Time = -1; + if (this.node.getChildByName("GameOver").active == false && this.node.getChildByName("Window").active == false) { + cc.fx.Notifications.emit(cc.fx.Message.setData, data); + if (data == "lose") { + cc.fx.AudioManager._instance.playEffect("lose", null); + cc.fx.GameConfig.GM_INFO.min_Time = -1; + } + else { + cc.fx.AudioManager._instance.playEffect("win", null); + } + this.node.getChildByName("Window").active = true; + this.node.getChildByName("Window").getComponent("Window").init(data); } - else { - cc.fx.AudioManager._instance.playEffect("win", null); - } - this.node.getChildByName("Window").active = true; - this.node.getChildByName("Window").getComponent("Window").init(data); }; - //记录反应时长,以及做步骤提示 + //记录反应时长,以及做步骤提示 data为操作名称 GameManager.prototype.clickSun = function (data) { //如果没有记录过 回合开始到操作反应时长,则第一次记录, 后面不记录 - if (cc.fx.GameConfig.CLICK_DATA.startTime == 0) { + if (cc.fx.GameConfig.CLICK_DATA.startTime == -1) { this.finishiTime = cc.fx.GameTool.getTime(); var now = this.finishiTime - this.startTime; - // console.log("startTime:",now,this.startTime); + // console.log("startTime:",this.finishiTime); cc.fx.GameConfig.CLICK_SET("startTime", now); } if (cc.fx.GameConfig.GM_INFO.level > 3) @@ -1066,7 +1125,7 @@ var GameManager = /** @class */ (function (_super) { this.tip_Array.push([n]); } }; - //提示是否错误 + //提示是否错误 只前三关有 ,pos为位置,data为操作方向 GameManager.prototype.tipCan = function (pos, data) { //先判断是否出边界 if (pos.x < 0 || pos.x > this.map_Array.length - 1 || pos.y < 0 || pos.y > this.map_Array[0].length - 1) { @@ -1076,20 +1135,27 @@ var GameManager = /** @class */ (function (_super) { var n = pos.x * this.map_Array[0].length + pos.y; var target = this.block_Array[n].getComponent("Block"); target.node.getChildByName("tipWin").active = true; - // target.node.getChildByName("tipWin").opacity = 255; - // target.node.getChildByName("tipLose").opacity = 255; //重复路回头路,或者山峰 if (target.repeatRoad(false, null) == true || target.block_Type == 3) { + this.tip_Array.push([cc.v3(pos.x, pos.y, 0)]); target.node.getChildByName("tipLose").active = true; target.node.getChildByName("tipWin").active = false; } //湿地 上一步如果没用息壤或者加固 else if (target.block_Type == 2) { - if (this.tip_Array.length > 1) { + if (this.tip_Array.length > 0) { if (this.tip_Array[this.tip_Array.length - 1][0].z == 0) { target.node.getChildByName("tipLose").active = true; target.node.getChildByName("tipWin").active = false; } + else if (this.tip_Array[this.tip_Array.length - 1][0].z == 2) { + target.node.getChildByName("tipLose").active = false; + target.node.getChildByName("tipWin").active = true; + } + } + else { + target.node.getChildByName("tipLose").active = true; + target.node.getChildByName("tipWin").active = false; } } if (this.tip_Array.length > 0) { diff --git a/temp/quick-scripts/src/assets/Script/GameManager.js.map b/temp/quick-scripts/src/assets/Script/GameManager.js.map index f432ad8..974e992 100644 --- a/temp/quick-scripts/src/assets/Script/GameManager.js.map +++ b/temp/quick-scripts/src/assets/Script/GameManager.js.map @@ -1 +1 @@ -{"version":3,"sources":["assets\\Script\\GameManager.ts"],"names":[],"mappings":"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","file":"","sourceRoot":"/","sourcesContent":["import { BlockType } from \"./Block\";\r\n\r\n// 主游戏控制类\r\nconst {ccclass, property} = cc._decorator;\r\n@ccclass\r\nexport default class GameManager extends cc.Component {\r\n\r\n @property(cc.Node)\r\n Map: cc.Node = null;\r\n\r\n @property(cc.Prefab)\r\n Block: cc.Prefab = null;\r\n\r\n @property(cc.Label)\r\n Time: cc.Label = null;\r\n\r\n @property(cc.Label)\r\n Countdown: cc.Label = null;\r\n\r\n @property(cc.Node)\r\n Guide: cc.Node = null;\r\n\r\n step:number; //引导步骤\r\n bgClick:boolean //引导时Mask遮罩可不可以点击\r\n btnClick:boolean //引导时,按钮可不可点击\r\n custom:number; //当前难度随机地图ID\r\n countTime: number; //总倒计时\r\n waterTime: number //洪峰倒计时\r\n startTime: number; //游戏开始计时\r\n replaceTime: number //洪峰倒计时,当总剩余时间小于洪峰倒计时,用于替代\r\n finishiTime:number; //提交时间\r\n scoreTime:number //用于计算提交到洪峰来的时间差\r\n block_Array: any; //所有块数组\r\n path_Array: any; //修筑路径\r\n water_Array: any; //水流路径\r\n map_Array: any; //地图数组\r\n water_PathAray:any; //洪峰路径\r\n tip_Array: any; //引导数组\r\n map_Hight:number; //地图高度\r\n map_Width:number; //地图宽度\r\n min_Time:number; //上一把地图结束时,距离洪峰来临时间 (>5秒是个分水岭)\r\n min_Steps:number; //当前地图最优步数\r\n plan_over:boolean; //是否修建完\r\n waterTween:cc.Tween; //河水倒计时动画\r\n\r\n onLoad () {\r\n }\r\n start () {\r\n cc.fx.GameConfig.CLICK_init();\r\n this.fit();\r\n this.init();\r\n }\r\n\r\n //处理地图数据 第一关完全随机,从第二关开始,赢了根据5秒洪峰来临增加难度步数,输了当前难度减步数\r\n getMap(){\r\n // var temp = [];\r\n // for(let k=0; k= 5){\r\n map = this.getMapArray(arr,cc.fx.GameConfig.GM_INFO.min_Steps + 2,true);\r\n }\r\n else{\r\n map = this.getMapArray(arr,cc.fx.GameConfig.GM_INFO.min_Steps + 1,true);\r\n }\r\n var random = Math.floor(Math.random()* map.length);\r\n custom = map[random];\r\n // console.log(custom,map);\r\n }\r\n //记录当前最小步数\r\n cc.fx.GameConfig.GM_INFO.min_Steps = cc.fx.GameConfig.LEVEL_INFO[cc.fx.GameConfig.GM_INFO.level][custom].min_steps;\r\n cc.fx.GameConfig.GM_INFO.min_Time = 0;\r\n return custom;\r\n }\r\n //获取下一关难度,步数增加2或者1,如果没有则降到有.\r\n getMapArray(arr,min_steps,type){\r\n var map = [];\r\n for(let i=0; i {\r\n return arr.map((val) => val[i])\r\n })\r\n this.map_Width = this.map_Array.length;\r\n this.map_Hight = this.map_Array[0].length;\r\n\r\n this.Map.x =(6 - this.map_Array.length)*48;\r\n this.Map.y = (this.map_Array[0].length - 6.5)*48;\r\n\r\n for(let i=0;i 0){\r\n if(this.path_Array[order-1].z == 0){\r\n //console.log(\"1正常放入\",this.path_Array[order-1].x,this.path_Array[order-1].y,this.path_Array[order-1].z)\r\n this.changeWater(cc.v3(this.path_Array[order-1].x,this.path_Array[order-1].y,0));\r\n if(order == this.path_Array.length-1){\r\n this.changeWater(cc.v3(this.path_Array[order].x,this.path_Array[order].y,0));\r\n // console.log(\"最后放入\",this.path_Array[order].x,this.path_Array[order].y)\r\n }\r\n }\r\n else{\r\n //console.log(\"2插入\",this.path_Array[order].x,this.path_Array[order].y,this.path_Array[order].z)\r\n this.changeWater(cc.v3(this.path_Array[order].x,this.path_Array[order].y,0));\r\n }\r\n } \r\n if(order <= this.path_Array.length-1){\r\n let i = this.path_Array[order].x*this.map_Array[0].length+this.path_Array[order].y;\r\n let direction = \"\";\r\n let circulate = true;\r\n //最后一步结束\r\n if(order == this.path_Array.length-1){\r\n circulate = false;\r\n direction = \"End\";\r\n // console.log(\"进入结束\");\r\n if(this.path_Array.length > 1){\r\n // console.log(\"准备出水\");\r\n setTimeout(() => {\r\n if(!this.plan_over){\r\n this.plan_over = true;\r\n this.unschedule(this.updateWaterTime);\r\n var head = this.node.getChildByName(\"Top\").getChildByName(\"head\");\r\n var progress = this.node.getChildByName(\"Top\").getChildByName(\"progress\").getComponent(cc.Sprite);\r\n head.stopAllActions();\r\n head.setPosition(310,head.y);\r\n if(this.waterTween) this.waterTween.stop();\r\n progress.fillRange = 1;\r\n cc.fx.GameConfig.GM_INFO.min_Time = this.waterTime;\r\n this.runWater(0); \r\n }\r\n }, 500);\r\n }\r\n else{\r\n direction = \"err\";\r\n console.log(\"进入结束err\");\r\n }\r\n\r\n }\r\n else{\r\n if(this.path_Array[order].z == 6 && order + 1 < this.path_Array.length ) {\r\n direction = \"Reinforce\";\r\n i = this.path_Array[order+1].x*this.map_Array[0].length+this.path_Array[order+1].y;\r\n }\r\n else if(order+1 < this.path_Array.length){\r\n if(this.path_Array[order+1].z == 5){\r\n direction = \"Xi_Soil\";\r\n }\r\n else if(this.path_Array[order+1].z == 6 && order == 0 && order + 1 < this.path_Array.length){\r\n direction = this.getDirection(order+1,this.path_Array);\r\n }\r\n else{\r\n direction = this.getDirection(order,this.path_Array);\r\n }\r\n }\r\n else{\r\n direction = this.getDirection(order,this.path_Array);\r\n }\r\n }\r\n // console.log(order,this.path_Array[order].x,this.path_Array[order].y,i);\r\n \r\n // console.log(\"步骤:\",order,\"方向\",direction);\r\n let jg = this.getBoundary(order,this.path_Array[order].x,this.path_Array[order].y,direction,this.path_Array);\r\n\r\n // if(direction == \"\" || jg == false) return;\r\n if(direction == \"err\" || direction == \"\" || jg == false){\r\n cc.fx.Notifications.emit(cc.fx.Message.showResult,\"lose\");\r\n cc.fx.Notifications.emit(cc.fx.Message.setData,false);\r\n return;\r\n }\r\n let target = this.block_Array[i].getComponent(\"Block\");\r\n \r\n target.setPath(direction);\r\n\r\n if(order > 0 && order < this.path_Array.length-1){\r\n if(this.path_Array[order+1].z == 5){\r\n this.set_Soil(order+1,this.path_Array,\"road\");\r\n circulate = false;\r\n return;\r\n \r\n }\r\n else if(order == 1 && this.path_Array[order].z == 5){\r\n this.set_Soil(order,this.path_Array,\"road\");\r\n circulate = false;\r\n return;\r\n }\r\n }\r\n let pos = cc.v2();\r\n if(direction == \"End\"){\r\n if(order > 0){\r\n // if(this.path_Array[order-1].z == 0){\r\n pos = cc.v2(this.path_Array[order-1].x, this.path_Array[order-1].y);\r\n // }\r\n }\r\n }\r\n let data = {\r\n order:order,\r\n time:cc.fx.GameConfig.TIME_INFO.waterSpeed[cc.fx.GameConfig.GM_INFO.level],\r\n type:this.path_Array[order].z,\r\n circulate:circulate,\r\n last:pos\r\n };\r\n \r\n target.runRoad(data);\r\n }\r\n }\r\n //判断边界。或者撞山,或者湿地没有加固\r\n getBoundary(order,x,y,direction,road){\r\n let jg = true;\r\n if(x < 0 || x >= this.map_Width || y < 0 || y >= this.map_Hight){\r\n jg = false;\r\n // console.log(\"超过边界,游戏结束\");\r\n // alert(\"超过边界,治水失败\");\r\n cc.fx.Notifications.emit(cc.fx.Message.showResult,\"lose\");\r\n cc.fx.Notifications.emit(cc.fx.Message.setData,false);\r\n }\r\n else {\r\n let i = road[order].x*this.map_Array[0].length+road[order].y;\r\n let target = this.block_Array[i].getComponent(\"Block\");\r\n if(target.block_Type == 3){\r\n jg = false;\r\n // console.log(\"修筑山峰,游戏结束\");\r\n // alert(\"修筑山峰,治水失败\");\r\n cc.fx.Notifications.emit(cc.fx.Message.showResult,\"lose\");\r\n cc.fx.Notifications.emit(cc.fx.Message.setData,false);\r\n }\r\n else if(target.block_Type == 2 && direction != \"Reinforce\"){\r\n jg = false;\r\n // console.log(\"修筑未加固湿地,游戏结束\");\r\n // alert(\"修筑未加固湿地,游戏结束\");\r\n cc.fx.Notifications.emit(cc.fx.Message.showResult,\"lose\");\r\n cc.fx.Notifications.emit(cc.fx.Message.setData,false);\r\n }\r\n }\r\n return jg;\r\n }\r\n\r\n //开始执行洪峰来了的动画\r\n runWater(order){\r\n order = parseInt(order);\r\n \r\n if(order <= this.water_Array.length-1){\r\n let i = this.water_Array[order].x*this.map_Array[0].length+this.water_Array[order].y;\r\n let direction = \"\";\r\n let circulate = true;\r\n //最后一步结束\r\n if(order == this.water_Array.length-1){\r\n circulate = false;\r\n direction = \"End\";\r\n }\r\n else{\r\n if(this.water_Array[order].z == 6 && order + 1 < this.water_Array.length && order!=1) {\r\n direction = \"Reinforce\";\r\n i = this.water_Array[order+1].x*this.map_Array[0].length+this.water_Array[order+1].y;\r\n }\r\n else if(order+1 < this.water_Array.length){\r\n if(this.water_Array[order+1].z == 5){\r\n direction = \"Xi_Soil\";\r\n }\r\n else if(this.water_Array[order+1].z == 6 && order == 0){\r\n direction = \"Reinforce\";\r\n }\r\n else{\r\n direction = this.getDirection(order,this.water_Array);\r\n }\r\n }\r\n else{\r\n direction = this.getDirection(order,this.water_Array);\r\n }\r\n }\r\n let jg = this.getBoundary(order,this.water_Array[order].x,this.water_Array[order].y,direction,this.water_Array);\r\n if(direction == \"\" || jg == false || direction == \"err\"){\r\n cc.fx.Notifications.emit(cc.fx.Message.showResult,\"lose\");\r\n cc.fx.Notifications.emit(cc.fx.Message.setData,false);\r\n return;\r\n }\r\n let target = this.block_Array[i].getComponent(\"Block\");\r\n target.setPath(direction);\r\n\r\n if(order > 0 && order < this.water_Array.length-1){\r\n if(this.water_Array[order+1].z == 5){\r\n this.set_Soil(order+1,this.water_Array,\"water\");\r\n circulate = false;\r\n return;\r\n }\r\n else if(order == 1 && this.water_Array[order].z == 5){\r\n this.set_Soil(order,this.water_Array,\"water\");\r\n circulate = false;\r\n return;\r\n } \r\n }\r\n\r\n let pos = cc.v2();\r\n if(direction == \"End\"){\r\n if(order > 0){\r\n if(this.water_Array[order-1].z == 0){\r\n pos = cc.v2(this.water_Array[order-1].x, this.water_Array[order-1].y);\r\n }\r\n }\r\n }\r\n let data = {\r\n order:order,\r\n time:cc.fx.GameConfig.TIME_INFO.waterSpeed[cc.fx.GameConfig.GM_INFO.level],\r\n type:this.water_Array[order].z,\r\n circulate:circulate,\r\n last:pos\r\n };\r\n target.runWater(data);\r\n }\r\n }\r\n //获取息壤的格子的方向\r\n getXi_Soil(order,road){\r\n var direction = null;\r\n //如果息壤后面还有下一步的话\r\n if(order + 1 < road.length){\r\n direction = this.getDirection(order,road);\r\n if(direction == \"up\" || direction == \"right_up\" || direction == \"left_up\"){\r\n direction = \"up\";\r\n }\r\n else if(direction == \"down\" || direction == \"left_down\" || direction == \"right_down\"){\r\n direction = \"down\";\r\n }\r\n else if(direction == \"left\" || direction == \"up_left\" || direction == \"down_left\"){\r\n direction = \"left\";\r\n }\r\n else if(direction == \"right\" || direction == \"up_right\" || direction == \"down_right\"){\r\n direction = \"right\";\r\n }\r\n } \r\n return direction;\r\n }\r\n //设置息壤\r\n set_Soil(order,road,name){\r\n var direction = this.getXi_Soil(order,road);\r\n var length = 0;\r\n if(direction == \"right\"){\r\n length = this.map_Width - 1;\r\n for(let i=road[order].x;i<=length;i++){\r\n let n = i*this.map_Array[0].length+road[order].y;\r\n let target = this.block_Array[n].getComponent(\"Block\");\r\n if(target.block_Type == 3 || target.block_Type == 4){\r\n length = i-1;\r\n if(target.block_Type == 4){\r\n length += 1;\r\n }\r\n i = 10000;\r\n break;\r\n }\r\n }this.scheduleOnce\r\n } \r\n else if(direction == \"left\"){\r\n length = 0;\r\n for(let i=road[order].x;i>=length;i--){\r\n let n = i*this.map_Array[0].length+road[order].y;\r\n let target = this.block_Array[n].getComponent(\"Block\");\r\n if(target.block_Type == 3 || target.block_Type == 4){\r\n length = i + 1;\r\n if(target.block_Type == 4){\r\n length -= 1;\r\n }\r\n i = -1;\r\n break;\r\n }\r\n }\r\n } \r\n else if(direction == \"up\"){\r\n length = 0;\r\n for(let i=road[order].y;i>=length;i--){\r\n let n = road[order].x*this.map_Array[0].length + i;\r\n let target = this.block_Array[n].getComponent(\"Block\");\r\n \r\n if(target.block_Type == 3 || target.block_Type == 4){\r\n length = i + 1;\r\n if(target.block_Type == 4){\r\n length -= 1;\r\n }\r\n i = -1;\r\n break;\r\n }\r\n }\r\n } \r\n else if(direction == \"down\"){\r\n length = this.map_Hight - 1;\r\n for(let i=road[order].y;i<=length;i++){\r\n let n = road[order].x*this.map_Array[0].length + i;\r\n let target = this.block_Array[n].getComponent(\"Block\");\r\n \r\n if(target.block_Type == 3 || target.block_Type == 4){\r\n length = i-1;\r\n if(target.block_Type == 4){\r\n length += 1;\r\n }\r\n i = 10000;\r\n break;\r\n }\r\n }\r\n } \r\n // if(length == 0){\r\n \r\n // }\r\n\r\n this.soil_Find(direction,order,length,road,name);\r\n }\r\n //查找息壤蛮遗憾路径\r\n soil_Find(direction,order,length,road,name){\r\n let start = road[order].x;\r\n if(direction == \"right\"){\r\n for(let i = start; i<=length; i++){\r\n let n = i*this.map_Array[0].length+road[order].y;\r\n let target = this.block_Array[n].getComponent(\"Block\");\r\n if(i == start){\r\n if(i == start && i==length) target.set_Xi_SoilType(this.getDirection(order,road),order,name);\r\n else target.set_Xi_SoilType(this.getDirection(order,road),null,name);\r\n let value = cc.v3(this.path_Array[order].x,this.path_Array[order].y,0);\r\n if(this.water_Array[this.water_Array.length-1] != value){\r\n // console.log(\"特别插入:\",this.path_Array[order].x,this.path_Array[order].y);\r\n this.changeWater(value);\r\n }\r\n } \r\n else {\r\n let jg = null;\r\n if(i == length){\r\n let number = i - start -1;\r\n this.changePath(order,number,false,road);\r\n jg = order;\r\n } \r\n target.set_Xi_SoilType(direction,jg,name);\r\n } \r\n }\r\n } \r\n else if(direction == \"left\"){\r\n for(let i = start; i>=length; i--){\r\n let n = i*this.map_Array[0].length+road[order].y;\r\n let target = this.block_Array[n].getComponent(\"Block\");\r\n if(i == start){\r\n if(i == start && i==length) target.set_Xi_SoilType(this.getDirection(order,road),order,name);\r\n else target.set_Xi_SoilType(this.getDirection(order,road),null,name);\r\n let value = cc.v3(this.path_Array[order].x,this.path_Array[order].y,0);\r\n if(this.water_Array[this.water_Array.length-1] != value){\r\n // console.log(\"特别插入:\",this.path_Array[order].x,this.path_Array[order].y);\r\n this.changeWater(value);\r\n }\r\n } \r\n else {\r\n let jg = null;\r\n if(i == length){\r\n let number = i - start + 1;\r\n this.changePath(order,number,false,road);\r\n jg = order;\r\n } \r\n target.set_Xi_SoilType(direction,jg,name);\r\n }\r\n }\r\n } \r\n else if(direction == \"up\"){\r\n start = road[order].y;\r\n for(let i = start; i>=length; i--){\r\n let n = road[order].x*this.map_Array[0].length+i;\r\n let target = this.block_Array[n].getComponent(\"Block\");\r\n if(i == start){\r\n if(i == start && i==length) target.set_Xi_SoilType(this.getDirection(order,road),order,name);\r\n else target.set_Xi_SoilType(this.getDirection(order,road),null,name);\r\n let value = cc.v3(this.path_Array[order].x,this.path_Array[order].y,0);\r\n if(this.water_Array[this.water_Array.length-1] != value){\r\n // console.log(\"特别插入:\",this.path_Array[order].x,this.path_Array[order].y);\r\n this.changeWater(value);\r\n }\r\n } \r\n else {\r\n let jg = null;\r\n if(i == length){\r\n let number = i - start + 1;\r\n this.changePath(order,number,true,road);\r\n jg = order;\r\n } \r\n // console.log(\"想上息壤插入:\",this.path_Array[order].x,i);\r\n target.set_Xi_SoilType(direction,jg,name);\r\n }\r\n }\r\n } \r\n else if(direction == \"down\"){\r\n start = road[order].y;\r\n for(let i = start; i<=length; i++){\r\n let n = road[order].x*this.map_Array[0].length+i;\r\n let target = this.block_Array[n].getComponent(\"Block\");\r\n if(i == start){\r\n if(i == start && i==length) target.set_Xi_SoilType(this.getDirection(order,road),order,name);\r\n else target.set_Xi_SoilType(this.getDirection(order,road),null,name);\r\n let value = cc.v3(this.path_Array[order].x,this.path_Array[order].y,0);\r\n if(this.water_Array[this.water_Array.length-1] != value){\r\n // console.log(\"特别插入:\",this.path_Array[order].x,this.path_Array[order].y);\r\n this.changeWater(value);\r\n }\r\n } \r\n else {\r\n let jg = null;\r\n if(i == length){\r\n let number = i - start - 1;\r\n this.changePath(order,number,true,road);\r\n jg = order;\r\n } \r\n target.set_Xi_SoilType(direction,jg,name);\r\n }\r\n }\r\n } \r\n }\r\n\r\n //改变水流地图\r\n changeWater(value){\r\n let jg = true;\r\n if(this.water_Array.length > 0){\r\n if(this.water_Array[this.water_Array.length-1].x == value.x && this.water_Array[this.water_Array.length-1].y == value.y){\r\n jg = false;\r\n }\r\n }\r\n if(jg) this.water_Array.push(value);\r\n }\r\n\r\n //息壤过后改变修筑路径\r\n changePath(order,number,direction,road){\r\n \r\n for(let i = (order+1); i0; n--){\r\n this.changeWater(cc.v3(this.path_Array[order+1].x,this.path_Array[order+1].y+n,0));\r\n // console.log(\"1特殊放入:\",this.path_Array[order+1].x,this.path_Array[order+1].y+n)\r\n }\r\n }\r\n else{ \r\n for(let n=number; n>0; n--){\r\n this.changeWater(cc.v3(this.path_Array[order+1].x,this.path_Array[order+1].y-n,0));\r\n // console.log(\"2特殊放入:\",this.path_Array[order+1].x,this.path_Array[order+1].y-n)\r\n }\r\n }\r\n }else{\r\n if(number < 0){\r\n for(let m= -number; m>0; m--){\r\n this.changeWater(cc.v3(this.path_Array[order+1].x+m,this.path_Array[order+1].y,0));\r\n // console.log(\"3特殊放入:\",this.path_Array[order+1].x+m,this.path_Array[order+1].y)\r\n }\r\n }\r\n else{\r\n for(let m=number; m>0; m--){\r\n this.changeWater(cc.v3(this.path_Array[order+1].x-m,this.path_Array[order+1].y,0));\r\n // console.log(\"4特殊放入:\",this.path_Array[order+1].x-m,this.path_Array[order+1].y)\r\n }\r\n }\r\n }\r\n }\r\n\r\n\r\n //获取洪峰方向\r\n getDirection(order,road){\r\n var name = \"\";\r\n //入海口比较复杂单独判断\r\n if(order == 0){\r\n let nextX = road[order+1].x - road[order].x;\r\n let nextY = road[order].y - road[order+1].y;\r\n //在底边\r\n if(road[order].y == this.map_Array[0].length-1){\r\n if(nextX == 0){\r\n if(nextY == 1)name = \"up\";\r\n else if(nextY == -1) name = \"err\";\r\n }\r\n else if(nextX == 1) name = \"up_right\";\r\n else if(nextX == -1) name = \"up_left\";\r\n }\r\n //在顶边\r\n else if(road[order].y == 0){\r\n if(nextX == 0){\r\n if(nextY == 1)name = \"err\";\r\n else if(nextY == -1) name = \"down\";\r\n }\r\n else if(nextX == 1) name = \"down_right\";\r\n else if(nextX == -1) name = \"down_left\";\r\n }\r\n //在左边\r\n else if(road[order].x == 0){\r\n if(nextX == 0){\r\n if(nextY == 1)name = \"right_up\";\r\n else if(nextY == -1) name = \"right_down\";\r\n }\r\n else if(nextX == 1) name = \"right\";\r\n else if(nextX == -1) name = \"err\";\r\n }\r\n //在右边\r\n else if(road[order].x == this.map_Array.length-1){\r\n if(nextX == 0){\r\n if(nextY == 1)name = \"left_up\";\r\n else if(nextY == -1) name = \"left_down\";\r\n }\r\n else if(nextX == 1) name = \"err\";\r\n else if(nextX == -1) name = \"left\";\r\n }\r\n }\r\n //不是第一步,已经走过一步\r\n else if(order > 0){\r\n var next = 1;\r\n if(order+2 < road.length){\r\n if(road[order+1].z == 6) next = 2;\r\n }\r\n \r\n //用于判断此点的上一个点,是为了判断当前方块洪水七点,以及下一个移动方向,判断洪终点方向\r\n let nextX = road[order+next].x - road[order].x;\r\n let nextY = road[order].y - road[order+next].y\r\n let previousX = road[order].x - road[order-1].x;\r\n let previousY = road[order-1].y - road[order].y;\r\n if(previousX == 0 && previousY == 0){\r\n if(order > 1){\r\n previousX = road[order].x - road[order-2].x;\r\n previousY = road[order-2].y - road[order].y;\r\n }\r\n else if(order + 1 < road.length){\r\n previousX = road[order+1].x - road[order].x;\r\n previousY = road[order].y - road[order+1].y;\r\n // console.log(\"息壤,上下坐标差距\",previousX,previousY);\r\n }\r\n }\r\n if(previousX == 0 && previousY >= 1){\r\n if(nextX == 0){\r\n if(nextY == 1)name = \"up\";\r\n else if(nextY == -1) name = \"err\";\r\n }\r\n else if(nextX == 1) name = \"up_right\";\r\n else if(nextX == -1) name = \"up_left\";\r\n }\r\n else if(previousX == 0 && previousY <= -1){\r\n if(nextX == 0){\r\n if(nextY == 1)name = \"err\";\r\n else if(nextY == -1) name = \"down\";\r\n }\r\n else if(nextX == 1) name = \"down_right\";\r\n else if(nextX == -1) name = \"down_left\";\r\n }\r\n else if(previousX >= 1 && previousY == 0){\r\n if(nextX == 0){\r\n if(nextY == 1)name = \"right_up\";\r\n else if(nextY == -1) name = \"right_down\";\r\n }\r\n else if(nextX == 1) name = \"right\";\r\n else if(nextX == -1) name = \"err\";\r\n }\r\n else if(previousX <= -1 && previousY == 0){\r\n if(nextX == 0){\r\n if(nextY == 1)name = \"left_up\";\r\n else if(nextY == -1) name = \"left_down\";\r\n }\r\n else if(nextX == 1) name = \"err\";\r\n else if(nextX == -1) name = \"left\";\r\n }\r\n }\r\n\r\n return name ;\r\n }\r\n\r\n //根据是否全面屏,做独立适配方面\r\n fit(){\r\n var jg = this.setFit();\r\n if(!jg){\r\n this.Map.scale = 1.2;\r\n }else{\r\n this.Map.scale = 1;\r\n }\r\n }\r\n //判断全面屏\r\n getSetScreenResolutionFlag () {\r\n let size = cc.winSize;\r\n let width = size.width;\r\n let height = size.height;\r\n if ((height / width) > (16.2 / 9)) return false;\r\n return true;\r\n }\r\n //判断全面屏适配\r\n setFit () {\r\n let flag = this.getSetScreenResolutionFlag();\r\n if (flag) {\r\n } else {\r\n }\r\n return flag;\r\n }\r\n //返回首页\r\n backScene(){\r\n cc.director.loadScene(\"LoadScene\");\r\n }\r\n\r\n //开始游戏\r\n startGame(data){\r\n for(let i=0; i 0){\r\n for(let i=0; i 0) {\r\n this.waterTime -= 1;\r\n this.Countdown.string = cc.fx.GameTool.getTimeMargin(this.waterTime);\r\n if(this.waterTime <= 0){\r\n this.unschedule(this.updateWaterTime);\r\n if(!this.plan_over){\r\n this.waterTime = 0;\r\n this.plan_over = true;\r\n setTimeout(() => {\r\n if(this.water_Array.length == 0){\r\n cc.fx.Notifications.emit(cc.fx.Message.showResult,\"lose\");\r\n cc.fx.Notifications.emit(cc.fx.Message.setData,false);\r\n } \r\n else{\r\n cc.fx.GameConfig.GM_INFO.min_Time = this.waterTime;\r\n this.runWater(0); \r\n } \r\n }, 500);\r\n }\r\n }\r\n }\r\n }\r\n\r\n //如果是倒计时 调用此方法\r\n updateCountDownTime () {\r\n if (this.countTime > 0) {\r\n this.countTime -= 1;\r\n cc.fx.GameConfig.TIME_INFO.totalTime = this.countTime;\r\n this.Time.string = cc.fx.GameTool.getTimeMargin(this.countTime);\r\n if(this.countTime < 5){\r\n let over = this.node.getChildByName(\"Over\");\r\n cc.tween(over)\r\n .to(0.2,{opacity:255})\r\n .delay(0.1)\r\n .to(0.2,{opacity:0})\r\n .start();\r\n }\r\n if(this.countTime <= 0){\r\n this.countTime = 0;\r\n this.setData(false);\r\n this.unschedule(this.updateCountDownTime);\r\n this.gameOver(); \r\n }\r\n }\r\n }\r\n //上传每次操作数据\r\n setData(success){\r\n //设置埋点数据\r\n cc.fx.GameConfig.CLICK_SET(\"mapId\",cc.fx.GameConfig.LEVEL_INFO[cc.fx.GameConfig.GM_INFO.level][this.custom].id);\r\n cc.fx.GameConfig.CLICK_SET(\"difficulty\",cc.fx.GameConfig.GM_INFO.level);\r\n cc.fx.GameConfig.CLICK_SET(\"optimizedSteps\",cc.fx.GameConfig.LEVEL_INFO[cc.fx.GameConfig.GM_INFO.level][this.custom].min_steps);\r\n cc.fx.GameConfig.CLICK_SET(\"round\",cc.fx.GameConfig.GM_INFO.round);\r\n cc.fx.GameConfig.CLICK_SET(\"timer\",cc.fx.GameConfig.TIME_INFO.totalTime);\r\n cc.fx.GameConfig.CLICK_SET(\"cumulativeScore\",cc.fx.GameConfig.GM_INFO.score);\r\n if(success != null){\r\n cc.fx.GameConfig.CLICK_SET(\"success\",success);\r\n cc.fx.GameConfig.GM_INFO.fen = this.getScore();\r\n if(!success) cc.fx.GameConfig.GM_INFO.fen = 0;\r\n cc.fx.GameConfig.CLICK_SET(\"getScore\",cc.fx.GameConfig.GM_INFO.fen);\r\n cc.fx.GameConfig.GM_INFO.score += cc.fx.GameConfig.GM_INFO.fen;\r\n cc.fx.GameConfig.CLICK_SET(\"cumulativeScore\",cc.fx.GameConfig.GM_INFO.score);\r\n if(this.countTime != 0)cc.fx.GameConfig.GM_INFO.successList.push(success);\r\n }\r\n cc.fx.GameTool.setGameData();\r\n \r\n }\r\n //计算得分\r\n getScore(){\r\n //最小步数\r\n let min = cc.fx.GameConfig.LEVEL_INFO[cc.fx.GameConfig.GM_INFO.level][this.custom].min_steps;\r\n //实际使用步数\r\n let now = this.path_Array.length-1;\r\n if(now <=0) now = 0;\r\n var x = (2.5*min - now) / min;\r\n let score = Math.pow(min,x) ** 0.5;\r\n score = score * (this.scoreTime + 10)*100;\r\n return Math.floor(score);\r\n }\r\n\r\n //上传排行榜数据\r\n gameOver(){\r\n var rate = 0;\r\n var successList = cc.fx.GameConfig.GM_INFO.successList;\r\n if(successList.length > 0){\r\n var success = 0;\r\n for(let i=0; i{\r\n cc.director.loadScene(\"OverScene\");\r\n })\r\n .start()\r\n }\r\n //展示结果\r\n showResult(data){\r\n if(data == \"lose\"){\r\n cc.fx.AudioManager._instance.playEffect(\"lose\",null);\r\n cc.fx.GameConfig.GM_INFO.min_Time = -1;\r\n } \r\n else{\r\n cc.fx.AudioManager._instance.playEffect(\"win\",null);\r\n }\r\n this.node.getChildByName(\"Window\").active = true;\r\n this.node.getChildByName(\"Window\").getComponent(\"Window\").init(data);\r\n\r\n }\r\n //记录反应时长,以及做步骤提示\r\n clickSun(data){\r\n //如果没有记录过 回合开始到操作反应时长,则第一次记录, 后面不记录\r\n if(cc.fx.GameConfig.CLICK_DATA.startTime == 0){\r\n this.finishiTime = cc.fx.GameTool.getTime();\r\n var now = this.finishiTime - this.startTime;\r\n // console.log(\"startTime:\",now,this.startTime);\r\n cc.fx.GameConfig.CLICK_SET(\"startTime\",now);\r\n }\r\n if(cc.fx.GameConfig.GM_INFO.level > 3) return;\r\n //步骤提示\r\n var nowPos = this.path_Array[0];\r\n if(this.tip_Array.length != 0){\r\n if(this.tip_Array[this.tip_Array.length-1] == null){\r\n this.tip_Array.push(null);\r\n return;\r\n }\r\n nowPos = this.tip_Array[this.tip_Array.length-1][this.tip_Array[this.tip_Array.length-1].length-1];\r\n if(nowPos){\r\n let n = nowPos.x*this.map_Array[0].length+nowPos.y;\r\n let targetNode = this.block_Array[n];\r\n if(targetNode.getChildByName(\"tipLose\").active == true){\r\n this.tip_Array.push(null);\r\n return;\r\n }\r\n }\r\n else{\r\n return;\r\n }\r\n } \r\n\r\n if(data == \"up\"){\r\n let n = cc.v2(nowPos.x,nowPos.y-1);\r\n this.tipCan(n,data);\r\n }\r\n else if(data == \"down\"){\r\n let n = cc.v2(nowPos.x,nowPos.y+1);\r\n this.tipCan(n,data);\r\n }\r\n else if(data == \"left\"){\r\n let n = cc.v2(nowPos.x-1,nowPos.y);\r\n this.tipCan(n,data);\r\n }\r\n else if(data == \"right\"){\r\n let n = cc.v2(nowPos.x+1,nowPos.y);\r\n this.tipCan(n,data);\r\n }\r\n else if(data == \"reinforce\"){\r\n let n = cc.v3(nowPos.x,nowPos.y,2);\r\n this.tip_Array.push([n]);\r\n }\r\n else if(data == \"soil\"){\r\n let n = cc.v3(nowPos.x,nowPos.y,3);\r\n this.tip_Array.push([n]);\r\n }\r\n \r\n }\r\n //提示是否错误\r\n tipCan(pos,data){\r\n \r\n //先判断是否出边界\r\n if(pos.x <0 || pos.x >this.map_Array.length-1 || pos.y <0 || pos.y > this.map_Array[0].length-1 ){\r\n this.tip_Array.push(null);\r\n return;\r\n } \r\n let n = pos.x*this.map_Array[0].length+pos.y;\r\n let target = this.block_Array[n].getComponent(\"Block\");\r\n target.node.getChildByName(\"tipWin\").active = true;\r\n // target.node.getChildByName(\"tipWin\").opacity = 255;\r\n // target.node.getChildByName(\"tipLose\").opacity = 255;\r\n\r\n //重复路回头路,或者山峰\r\n if(target.repeatRoad(false,null) == true || target.block_Type == 3){\r\n target.node.getChildByName(\"tipLose\").active = true;\r\n target.node.getChildByName(\"tipWin\").active = false;\r\n }\r\n //湿地 上一步如果没用息壤或者加固\r\n else if(target.block_Type == 2){\r\n if(this.tip_Array.length > 1){\r\n if(this.tip_Array[this.tip_Array.length-1][0].z == 0){\r\n target.node.getChildByName(\"tipLose\").active = true;\r\n target.node.getChildByName(\"tipWin\").active = false;\r\n }\r\n }\r\n }\r\n\r\n if(this.tip_Array.length > 0){\r\n if(this.tip_Array[this.tip_Array.length-1][0].z == 3){\r\n if(data == \"up\"){\r\n var arr = [];\r\n for(let i=pos.y; i >=0;i--){\r\n let block = this.block_Array[pos.x*this.map_Array[0].length+i].getComponent(\"Block\");\r\n if(block.block_Type == 3){\r\n i = -10000;\r\n }\r\n else{\r\n block.node.getChildByName(\"tipWin\").active = true;\r\n arr.push(cc.v3(pos.x,i,0));\r\n if( block.block_Type == 4) i = -10000;\r\n }\r\n }\r\n this.tip_Array.push(arr);\r\n }\r\n else if(data == \"down\"){\r\n var arr = [];\r\n for(let i=pos.y; i=0 ;i--){\r\n let block = this.block_Array[i*this.map_Array[0].length+pos.y].getComponent(\"Block\");\r\n if(block.block_Type == 3){\r\n i = -10000;\r\n }\r\n else{\r\n block.node.getChildByName(\"tipWin\").active = true;\r\n arr.push(cc.v3(i,pos.y,0));\r\n if( block.block_Type == 4) i = -10000;\r\n }\r\n }\r\n this.tip_Array.push(arr);\r\n }\r\n }\r\n else{\r\n let posJg = cc.v3(pos.x,pos.y,0);\r\n if(data == \"reinforce\") pos.z = 2;\r\n if(data == \"soil\") pos.z = 3; \r\n this.tip_Array.push([posJg]);\r\n }\r\n // console.log(this.tip_Array);\r\n return;\r\n }\r\n\r\n let posJg = cc.v3(pos.x,pos.y,0);\r\n if(data == \"reinforce\") pos.z = 2;\r\n if(data == \"soil\") pos.z = 3; \r\n this.tip_Array.push([posJg]);\r\n // console.log(this.tip_Array);\r\n }\r\n\r\n //移除提示\r\n removeTip(data){\r\n if(cc.fx.GameConfig.GM_INFO.level > 3) return;\r\n //分为撤回一步 和全部清空\r\n if(this.tip_Array.length > 0){\r\n if(data == \"back\"){\r\n let target = this.tip_Array[this.tip_Array.length-1];\r\n if(target == null){\r\n this.tip_Array.pop();\r\n } \r\n else{\r\n this.tip_Array.pop();\r\n for(let i=0; i 0) this.Guide.children[this.step-1].active = false;\r\n this.step += 1;\r\n let name = this.getGuideName();\r\n \r\n var target = this.Guide.getChildByName(name);\r\n target.active = true;\r\n let size = cc.winSize;\r\n\r\n if(size.height > 1334){\r\n let height = (size.height - 1334)/2;\r\n target.getChildByName(\"sp\").height += height;\r\n }\r\n }\r\n\r\n onEnable () {\r\n cc.fx.Notifications.on(cc.fx.Message.control, this.clickSun, this);\r\n cc.fx.Notifications.on(cc.fx.Message.next, this.runRoad, this);\r\n cc.fx.Notifications.on(cc.fx.Message.nextWater, this.runWater, this);\r\n cc.fx.Notifications.on(cc.fx.Message.startGame, this.startGame, this);\r\n cc.fx.Notifications.on(cc.fx.Message.changePath, this.changePath, this);\r\n cc.fx.Notifications.on(cc.fx.Message.setData, this.setData, this);\r\n cc.fx.Notifications.on(cc.fx.Message.guideNext, this.guideNext, this);\r\n cc.fx.Notifications.on(cc.fx.Message.showResult, this.showResult, this);\r\n cc.fx.Notifications.on(cc.fx.Message.removeTip, this.removeTip, this);\r\n }\r\n onDisable () {\r\n cc.fx.Notifications.off(cc.fx.Message.control, this.clickSun);\r\n cc.fx.Notifications.off(cc.fx.Message.next, this.runRoad);\r\n cc.fx.Notifications.off(cc.fx.Message.nextWater, this.runWater);\r\n cc.fx.Notifications.off(cc.fx.Message.startGame, this.startGame);\r\n cc.fx.Notifications.off(cc.fx.Message.changePath, this.changePath);\r\n cc.fx.Notifications.off(cc.fx.Message.setData, this.setData);\r\n cc.fx.Notifications.off(cc.fx.Message.guideNext, this.guideNext);\r\n cc.fx.Notifications.off(cc.fx.Message.showResult, this.showResult);\r\n cc.fx.Notifications.off(cc.fx.Message.removeTip, this.removeTip);\r\n }\r\n update (dt) {\r\n\r\n \r\n }\r\n}\r\n"]} \ No newline at end of file +{"version":3,"sources":["assets\\Script\\GameManager.ts"],"names":[],"mappings":"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","file":"","sourceRoot":"/","sourcesContent":["import { BlockType } from \"./Block\";\r\n\r\n// 主游戏控制类\r\nconst {ccclass, property} = cc._decorator;\r\n@ccclass\r\nexport default class GameManager extends cc.Component {\r\n\r\n @property(cc.Node)\r\n Map: cc.Node = null;\r\n\r\n @property(cc.Prefab)\r\n Block: cc.Prefab = null;\r\n\r\n @property(cc.Label)\r\n Time: cc.Label = null;\r\n\r\n @property(cc.Label)\r\n Countdown: cc.Label = null;\r\n\r\n @property(cc.Node)\r\n Guide: cc.Node = null;\r\n\r\n step:number; //引导步骤\r\n bgClick:boolean //引导时Mask遮罩可不可以点击\r\n btnClick:boolean //引导时,按钮可不可点击\r\n custom:number; //当前难度随机地图ID\r\n countTime: number; //总倒计时\r\n waterTime: number //洪峰倒计时\r\n startTime: number; //游戏开始计时\r\n replaceTime: number //洪峰倒计时,当总剩余时间小于洪峰倒计时,用于替代\r\n finishiTime:number; //提交时间\r\n scoreTime:number //用于计算提交到洪峰来的时间差\r\n block_Array: any; //所有块数组\r\n path_Array: any; //修筑路径\r\n water_Array: any; //水流路径\r\n map_Array: any; //地图数组\r\n water_PathAray:any; //洪峰路径\r\n tip_Array: any; //引导数组\r\n map_Hight:number; //地图高度\r\n map_Width:number; //地图宽度\r\n min_Time:number; //上一把地图结束时,距离洪峰来临时间 (>5秒是个分水岭)\r\n min_Steps:number; //当前地图最优步数\r\n plan_over:boolean; //是否修建完\r\n waterTween:cc.Tween; //河水倒计时动画\r\n\r\n onLoad () {\r\n }\r\n start () {\r\n cc.fx.GameConfig.CLICK_init();\r\n this.fit();\r\n this.init();\r\n }\r\n\r\n //处理地图数据 第一关完全随机,从第二关开始,赢了根据5秒洪峰来临增加难度步数,输了当前难度减步数\r\n getMap(){\r\n var custom = 0;\r\n var map = [];\r\n if(cc.fx.GameConfig.GM_INFO.level == 1){\r\n custom = Math.floor(Math.random()* cc.fx.GameConfig.LEVEL_INFO[cc.fx.GameConfig.GM_INFO.level].length);\r\n }\r\n else{\r\n var arr = cc.fx.GameConfig.LEVEL_INFO[cc.fx.GameConfig.GM_INFO.level];\r\n if(cc.fx.GameConfig.GM_INFO.min_Time == -1){\r\n map = this.getMapArray(arr,cc.fx.GameConfig.GM_INFO.min_Steps - 1,false);\r\n }\r\n else if(cc.fx.GameConfig.GM_INFO.min_Time >= 5){\r\n map = this.getMapArray(arr,cc.fx.GameConfig.GM_INFO.min_Steps + 2,true);\r\n }\r\n else{\r\n map = this.getMapArray(arr,cc.fx.GameConfig.GM_INFO.min_Steps + 1,true);\r\n }\r\n var random = Math.floor(Math.random()* map.length);\r\n custom = map[random];\r\n // console.log(custom,map);\r\n }\r\n //记录当前最小步数\r\n cc.fx.GameConfig.GM_INFO.min_Steps = cc.fx.GameConfig.LEVEL_INFO[cc.fx.GameConfig.GM_INFO.level][custom].min_steps;\r\n cc.fx.GameConfig.GM_INFO.min_Time = 0;\r\n return custom;\r\n }\r\n /**\r\n * 获取下一关难度,步数增加2或者1,如果没有则降到有.\r\n * @param arr 配置里读取,当前(x*x)地图等级内所有地图数组\r\n * @param min_steps 最佳步数,下一关难度或者输了降难度,根据最佳步数增加或者减少。\r\n * @param type true为增加步数,false为输了降低难度步数\r\n */\r\n getMapArray(arr,min_steps,type){\r\n var map = [];\r\n for(let i=0; i {\r\n return arr.map((val) => val[i])\r\n })\r\n this.map_Width = this.map_Array.length;\r\n this.map_Hight = this.map_Array[0].length;\r\n\r\n this.Map.x =(6 - this.map_Array.length)*48;\r\n this.Map.y = (this.map_Array[0].length - 6.5)*48;\r\n\r\n for(let i=0;i 0){\r\n if(this.path_Array[order-1].z == 0){\r\n //console.log(\"1正常放入\",this.path_Array[order-1].x,this.path_Array[order-1].y,this.path_Array[order-1].z)\r\n this.changeWater(cc.v3(this.path_Array[order-1].x,this.path_Array[order-1].y,0));\r\n if(order == this.path_Array.length-1){\r\n this.changeWater(cc.v3(this.path_Array[order].x,this.path_Array[order].y,0));\r\n // console.log(\"最后放入\",this.path_Array[order].x,this.path_Array[order].y)\r\n }\r\n }\r\n else{\r\n //console.log(\"2插入\",this.path_Array[order].x,this.path_Array[order].y,this.path_Array[order].z)\r\n this.changeWater(cc.v3(this.path_Array[order].x,this.path_Array[order].y,0));\r\n }\r\n } \r\n if(order <= this.path_Array.length-1){\r\n let i = this.path_Array[order].x*this.map_Array[0].length+this.path_Array[order].y;\r\n\r\n let direction = \"\";\r\n let circulate = true;\r\n //最后一步结束\r\n if(order == this.path_Array.length-1){\r\n circulate = false;\r\n direction = \"End\";\r\n // console.log(\"进入结束\");\r\n if(this.path_Array.length > 1){\r\n // console.log(\"准备出水\");\r\n setTimeout(() => {\r\n if(!this.plan_over){\r\n this.plan_over = true;\r\n var head = this.node.getChildByName(\"Top\").getChildByName(\"head\");\r\n var progress = this.node.getChildByName(\"Top\").getChildByName(\"progress\").getComponent(cc.Sprite);\r\n head.stopAllActions();\r\n head.setPosition(310,head.y);\r\n if(this.waterTween) this.waterTween.stop();\r\n progress.fillRange = 1;\r\n cc.fx.GameConfig.GM_INFO.min_Time = this.waterTime;\r\n this.runWater(0); \r\n }\r\n }, 500);\r\n }\r\n else{\r\n direction = \"err\";\r\n // console.log(\"进入结束err\");\r\n }\r\n\r\n }\r\n else{\r\n if(this.path_Array[order].z == 6 && order + 1 < this.path_Array.length ) {\r\n direction = \"Reinforce\";\r\n i = this.path_Array[order+1].x*this.map_Array[0].length+this.path_Array[order+1].y;\r\n }\r\n else if(order+1 < this.path_Array.length){\r\n if(this.path_Array[order+1].z == 5){\r\n direction = \"Xi_Soil\";\r\n }\r\n else if(this.path_Array[order+1].z == 6 && order == 0 && order + 1 < this.path_Array.length){\r\n direction = this.getDirection(order+1,this.path_Array);\r\n }\r\n else{\r\n direction = this.getDirection(order,this.path_Array);\r\n }\r\n }\r\n else{\r\n direction = this.getDirection(order,this.path_Array);\r\n }\r\n }\r\n // console.log(order,this.path_Array[order].x,this.path_Array[order].y,i);\r\n \r\n // console.log(\"步骤:\",order,\"方向\",direction);\r\n let jg = this.getBoundary(order,this.path_Array[order].x,this.path_Array[order].y,direction,this.path_Array);\r\n\r\n // if(direction == \"\" || jg == false) return;\r\n if(direction == \"err\" || direction == \"\" || jg == false){\r\n cc.fx.Notifications.emit(cc.fx.Message.showResult,\"lose\");\r\n \r\n return;\r\n }\r\n if( i<0 || i > (this.block_Array.length-1)){\r\n cc.fx.Notifications.emit(cc.fx.Message.showResult,\"lose\");\r\n return;\r\n }\r\n // console.log(i);\r\n let target = this.block_Array[i].getComponent(\"Block\");\r\n target.setPath(direction);\r\n\r\n if(order > 0 && order < this.path_Array.length-1){\r\n if(this.path_Array[order+1].z == 5){\r\n this.set_Soil(order+1,this.path_Array,\"road\");\r\n circulate = false;\r\n return;\r\n \r\n }\r\n else if(order == 1 && this.path_Array[order].z == 5){\r\n this.set_Soil(order,this.path_Array,\"road\");\r\n circulate = false;\r\n return;\r\n }\r\n }\r\n let pos = cc.v2();\r\n if(direction == \"End\"){\r\n if(order > 0){\r\n // if(this.path_Array[order-1].z == 0){\r\n pos = cc.v2(this.path_Array[order-1].x, this.path_Array[order-1].y);\r\n // }\r\n }\r\n }\r\n let data = {\r\n order:order,\r\n time:cc.fx.GameConfig.TIME_INFO.waterSpeed[cc.fx.GameConfig.GM_INFO.level],\r\n type:this.path_Array[order].z,\r\n circulate:circulate,\r\n last:pos\r\n };\r\n \r\n target.runRoad(data);\r\n }\r\n }\r\n /**\r\n * 判断边界。或者撞山,或者湿地没有加固\r\n * @param order 建筑地图数组里的执行的序列号\r\n * @param x 当前操作地块横坐标\r\n * @param y 当前操作地块纵坐标\r\n * @param direction 当前操作方向,若不是方向则为息壤或者加固\r\n * @param road 建筑地图数组,可理解为路径数组,path_Array\r\n */\r\n getBoundary(order,x,y,direction,road){\r\n let jg = true;\r\n if(x < 0 || x >= this.map_Width || y < 0 || y >= this.map_Hight){\r\n jg = false;\r\n // console.log(\"超过边界,游戏结束\");\r\n // alert(\"超过边界,治水失败\");\r\n cc.fx.Notifications.emit(cc.fx.Message.showResult,\"lose\");\r\n }\r\n else {\r\n let i = road[order].x*this.map_Array[0].length+road[order].y;\r\n let target = this.block_Array[i].getComponent(\"Block\");\r\n if(target.block_Type == 3){\r\n jg = false;\r\n // console.log(\"修筑山峰,游戏结束\");\r\n // alert(\"修筑山峰,治水失败\");\r\n cc.fx.Notifications.emit(cc.fx.Message.showResult,\"lose\");\r\n }\r\n else if(target.block_Type == 2 && direction != \"Reinforce\"){\r\n jg = false;\r\n // console.log(\"修筑未加固湿地,游戏结束\");\r\n // alert(\"修筑未加固湿地,游戏结束\");\r\n cc.fx.Notifications.emit(cc.fx.Message.showResult,\"lose\");\r\n }\r\n }\r\n return jg;\r\n }\r\n /**\r\n * 开始执行洪峰来了的动画\r\n * @param order 建筑地图数组里的执行的序列号,依次往下加\r\n */\r\n runWater(order){\r\n order = parseInt(order);\r\n \r\n if(order <= this.water_Array.length-1){\r\n let i = this.water_Array[order].x*this.map_Array[0].length+this.water_Array[order].y;\r\n let direction = \"\";\r\n let circulate = true;\r\n //最后一步结束\r\n if(order == this.water_Array.length-1){\r\n circulate = false;\r\n direction = \"End\";\r\n }\r\n else{\r\n if(this.water_Array[order].z == 6 && order + 1 < this.water_Array.length && order!=1) {\r\n direction = \"Reinforce\";\r\n i = this.water_Array[order+1].x*this.map_Array[0].length+this.water_Array[order+1].y;\r\n }\r\n else if(order+1 < this.water_Array.length){\r\n if(this.water_Array[order+1].z == 5){\r\n direction = \"Xi_Soil\";\r\n }\r\n else if(this.water_Array[order+1].z == 6 && order == 0){\r\n direction = \"Reinforce\";\r\n }\r\n else{\r\n direction = this.getDirection(order,this.water_Array);\r\n }\r\n }\r\n else{\r\n direction = this.getDirection(order,this.water_Array);\r\n }\r\n }\r\n let jg = this.getBoundary(order,this.water_Array[order].x,this.water_Array[order].y,direction,this.water_Array);\r\n if(direction == \"\" || jg == false || direction == \"err\"){\r\n cc.fx.Notifications.emit(cc.fx.Message.showResult,\"lose\");\r\n return;\r\n }\r\n let target = this.block_Array[i].getComponent(\"Block\");\r\n target.setPath(direction);\r\n\r\n if(order > 0 && order < this.water_Array.length-1){\r\n if(this.water_Array[order+1].z == 5){\r\n this.set_Soil(order+1,this.water_Array,\"water\");\r\n circulate = false;\r\n return;\r\n }\r\n else if(order == 1 && this.water_Array[order].z == 5){\r\n this.set_Soil(order,this.water_Array,\"water\");\r\n circulate = false;\r\n return;\r\n } \r\n }\r\n\r\n let pos = cc.v2();\r\n if(direction == \"End\"){\r\n if(order > 0){\r\n if(this.water_Array[order-1].z == 0){\r\n pos = cc.v2(this.water_Array[order-1].x, this.water_Array[order-1].y);\r\n }\r\n }\r\n }\r\n let data = {\r\n order:order,\r\n time:cc.fx.GameConfig.TIME_INFO.waterSpeed[cc.fx.GameConfig.GM_INFO.level],\r\n type:this.water_Array[order].z,\r\n circulate:circulate,\r\n last:pos\r\n };\r\n target.runWater(data);\r\n }\r\n }\r\n /**\r\n * 获取息壤的格子的方向\r\n * @param order 建筑地图数组里的执行的序列号,依次往下加\r\n * @param road 建筑地图数组或者洪峰路径数组,可理解为路径数组,path_Array water_Array\r\n */\r\n getXi_Soil(order,road){\r\n var direction = null;\r\n //如果息壤后面还有下一步的话\r\n if(order + 1 < road.length){\r\n direction = this.getDirection(order,road);\r\n if(direction == \"up\" || direction == \"right_up\" || direction == \"left_up\"){\r\n direction = \"up\";\r\n }\r\n else if(direction == \"down\" || direction == \"left_down\" || direction == \"right_down\"){\r\n direction = \"down\";\r\n }\r\n else if(direction == \"left\" || direction == \"up_left\" || direction == \"down_left\"){\r\n direction = \"left\";\r\n }\r\n else if(direction == \"right\" || direction == \"up_right\" || direction == \"down_right\"){\r\n direction = \"right\";\r\n }\r\n } \r\n return direction;\r\n }\r\n /**\r\n * 设置息壤执行方法\r\n * @param order 建筑地图数组里的执行的序列号,依次往下加\r\n * @param road 建筑地图数组或者洪峰路径数组,可理解为路径数组,path_Array water_Array\r\n * @param name road或者water,建筑路径或者洪峰路径\r\n */\r\n set_Soil(order,road,name){\r\n var direction = this.getXi_Soil(order,road);\r\n\r\n var length = 0;\r\n if(direction == \"right\"){\r\n length = this.map_Width - 1;\r\n // let temp = this.map_Width - 1;\r\n for(let i=road[order].x;i<=length;i++){\r\n let n = i*this.map_Array[0].length+road[order].y;\r\n let target = this.block_Array[n].getComponent(\"Block\");\r\n if(target.block_Type == 3 || target.block_Type == 4){\r\n length = i-1;\r\n if(target.block_Type == 4){\r\n length += 1;\r\n }\r\n i = 10000;\r\n break;\r\n }\r\n \r\n }\r\n } \r\n else if(direction == \"left\"){\r\n length = 0;\r\n for(let i=road[order].x;i>=length;i--){\r\n let n = i*this.map_Array[0].length+road[order].y;\r\n let target = this.block_Array[n].getComponent(\"Block\");\r\n \r\n if(target.block_Type == 3 || target.block_Type == 4){\r\n length = i + 1;\r\n if(target.block_Type == 4){\r\n length -= 1;\r\n }\r\n i = -1;\r\n break;\r\n }\r\n }\r\n } \r\n else if(direction == \"up\"){\r\n length = 0;\r\n\r\n for(let i=road[order].y;i>=length;i--){\r\n let n = road[order].x*this.map_Array[0].length + i;\r\n let target = this.block_Array[n].getComponent(\"Block\");\r\n if(target.block_Type == 3 || target.block_Type == 4){\r\n length = i + 1;\r\n if(target.block_Type == 4){\r\n length -= 1;\r\n }\r\n i = -1;\r\n break;\r\n }\r\n }\r\n } \r\n else if(direction == \"down\"){\r\n length = this.map_Hight - 1;\r\n for(let i=road[order].y;i<=length;i++){\r\n let n = road[order].x*this.map_Array[0].length + i;\r\n let target = this.block_Array[n].getComponent(\"Block\");\r\n if(target.block_Type == 3 || target.block_Type == 4){\r\n length = i-1;\r\n if(target.block_Type == 4){\r\n length += 1;\r\n }\r\n i = 10000;\r\n break;\r\n }\r\n \r\n }\r\n } \r\n\r\n this.soil_Find(direction,order,length,road,name);\r\n }\r\n //查找息壤蛮遗憾路径\r\n soil_Find(direction,order,length,road,name){\r\n \r\n let start = road[order].x;\r\n if(direction == \"right\"){\r\n for(let i = start; i<=length; i++){\r\n let n = i*this.map_Array[0].length+road[order].y;\r\n let target = this.block_Array[n].getComponent(\"Block\");\r\n if(i == start){\r\n if(i == start && i==length){\r\n cc.fx.Notifications.emit(cc.fx.Message.showResult,\"lose\");\r\n target.set_Xi_SoilType(this.getDirection(order,road),order,name);\r\n }\r\n else target.set_Xi_SoilType(this.getDirection(order,road),null,name);\r\n let value = cc.v3(this.path_Array[order].x,this.path_Array[order].y,0);\r\n if(this.water_Array[this.water_Array.length-1] != value){\r\n // console.log(\"特别插入:\",this.path_Array[order].x,this.path_Array[order].y);\r\n this.changeWater(value);\r\n }\r\n } \r\n else {\r\n let jg = null;\r\n if(i == length){\r\n let number = i - start -1;\r\n this.changePath(order,number,false,road);\r\n jg = order;\r\n } \r\n target.set_Xi_SoilType(direction,jg,name);\r\n } \r\n }\r\n } \r\n else if(direction == \"left\"){\r\n for(let i = start; i>=length; i--){\r\n let n = i*this.map_Array[0].length+road[order].y;\r\n let target = this.block_Array[n].getComponent(\"Block\");\r\n if(i == start){\r\n if(i == start && i==length){\r\n cc.fx.Notifications.emit(cc.fx.Message.showResult,\"lose\");\r\n target.set_Xi_SoilType(this.getDirection(order,road),order,name);\r\n }\r\n else target.set_Xi_SoilType(this.getDirection(order,road),null,name);\r\n let value = cc.v3(this.path_Array[order].x,this.path_Array[order].y,0);\r\n if(this.water_Array[this.water_Array.length-1] != value){\r\n // console.log(\"特别插入:\",this.path_Array[order].x,this.path_Array[order].y);\r\n this.changeWater(value);\r\n }\r\n } \r\n else {\r\n let jg = null;\r\n if(i == length){\r\n let number = i - start + 1;\r\n this.changePath(order,number,false,road);\r\n jg = order;\r\n } \r\n target.set_Xi_SoilType(direction,jg,name);\r\n }\r\n }\r\n } \r\n else if(direction == \"up\"){\r\n start = road[order].y;\r\n for(let i = start; i>=length; i--){\r\n let n = road[order].x*this.map_Array[0].length+i;\r\n let target = this.block_Array[n].getComponent(\"Block\");\r\n if(i == start){\r\n if(i == start && i==length){\r\n cc.fx.Notifications.emit(cc.fx.Message.showResult,\"lose\");\r\n target.set_Xi_SoilType(this.getDirection(order,road),order,name);\r\n } \r\n else{\r\n target.set_Xi_SoilType(this.getDirection(order,road),null,name);\r\n }\r\n let value = cc.v3(this.path_Array[order].x,this.path_Array[order].y,0);\r\n if(this.water_Array[this.water_Array.length-1] != value){\r\n // console.log(\"特别插入:\",this.path_Array[order].x,this.path_Array[order].y);\r\n this.changeWater(value);\r\n }\r\n } \r\n else {\r\n let jg = null;\r\n if(i == length){\r\n let number = i - start + 1;\r\n this.changePath(order,number,true,road);\r\n jg = order;\r\n } \r\n // console.log(\"想上息壤插入:\",this.path_Array[order].x,i);\r\n target.set_Xi_SoilType(direction,jg,name);\r\n }\r\n }\r\n } \r\n else if(direction == \"down\"){\r\n start = road[order].y;\r\n for(let i = start; i<=length; i++){\r\n let n = road[order].x*this.map_Array[0].length+i;\r\n let target = this.block_Array[n].getComponent(\"Block\");\r\n if(i == start){\r\n if(i == start && i==length){\r\n cc.fx.Notifications.emit(cc.fx.Message.showResult,\"lose\");\r\n target.set_Xi_SoilType(this.getDirection(order,road),order,name);\r\n }\r\n else target.set_Xi_SoilType(this.getDirection(order,road),null,name);\r\n let value = cc.v3(this.path_Array[order].x,this.path_Array[order].y,0);\r\n if(this.water_Array[this.water_Array.length-1] != value){\r\n // console.log(\"特别插入:\",this.path_Array[order].x,this.path_Array[order].y);\r\n this.changeWater(value);\r\n }\r\n } \r\n else {\r\n let jg = null;\r\n if(i == length){\r\n let number = i - start - 1;\r\n this.changePath(order,number,true,road);\r\n jg = order;\r\n } \r\n target.set_Xi_SoilType(direction,jg,name);\r\n }\r\n }\r\n } \r\n }\r\n\r\n /**\r\n * 改变水流地图\r\n * @param value 需要根据使用息壤情况,插入到洪峰路径的点\r\n */\r\n changeWater(value){\r\n let jg = true;\r\n if(this.water_Array.length > 0){\r\n if(this.water_Array[this.water_Array.length-1].x == value.x && this.water_Array[this.water_Array.length-1].y == value.y){\r\n jg = false;\r\n }\r\n }\r\n if(jg) this.water_Array.push(value);\r\n }\r\n /**\r\n * 息壤过后改变修筑路径\r\n * @param order 建筑地图数组里的执行的序列号\r\n * @param number 息壤执行长度,改变息壤用后其他路径的X或Y值\r\n * @param direction 只为两个方向,横向false,纵向true\r\n * @param road 建筑地图数组或者洪峰路径数组,可理解为路径数组,path_Array water_Array\r\n */\r\n changePath(order,number,direction,road){\r\n \r\n for(let i = (order+1); i0; n--){\r\n this.changeWater(cc.v3(this.path_Array[order+1].x,this.path_Array[order+1].y+n,0));\r\n // console.log(\"1特殊放入:\",this.path_Array[order+1].x,this.path_Array[order+1].y+n)\r\n }\r\n }\r\n else{ \r\n for(let n=number; n>0; n--){\r\n this.changeWater(cc.v3(this.path_Array[order+1].x,this.path_Array[order+1].y-n,0));\r\n // console.log(\"2特殊放入:\",this.path_Array[order+1].x,this.path_Array[order+1].y-n)\r\n }\r\n }\r\n }else{\r\n if(number < 0){\r\n for(let m= -number; m>0; m--){\r\n this.changeWater(cc.v3(this.path_Array[order+1].x+m,this.path_Array[order+1].y,0));\r\n // console.log(\"3特殊放入:\",this.path_Array[order+1].x+m,this.path_Array[order+1].y)\r\n }\r\n }\r\n else{\r\n for(let m=number; m>0; m--){\r\n this.changeWater(cc.v3(this.path_Array[order+1].x-m,this.path_Array[order+1].y,0));\r\n // console.log(\"4特殊放入:\",this.path_Array[order+1].x-m,this.path_Array[order+1].y)\r\n }\r\n }\r\n }\r\n }\r\n /**\r\n * 获取洪峰方向\r\n * @param order 建筑地图数组里的执行的序列号\r\n * @param road 建筑地图数组或者洪峰路径数组,可理解为路径数组,path_Array water_Array\r\n */\r\n getDirection(order,road){\r\n var name = \"\";\r\n //入海口比较复杂单独判断\r\n if(order == 0){\r\n let nextX = road[order+1].x - road[order].x;\r\n let nextY = road[order].y - road[order+1].y;\r\n //在底边\r\n if(road[order].y == this.map_Array[0].length-1){\r\n if(nextX == 0){\r\n if(nextY == 1)name = \"up\";\r\n else if(nextY == -1) name = \"err\";\r\n }\r\n else if(nextX == 1) name = \"up_right\";\r\n else if(nextX == -1) name = \"up_left\";\r\n }\r\n //在顶边\r\n else if(road[order].y == 0){\r\n if(nextX == 0){\r\n if(nextY == 1)name = \"err\";\r\n else if(nextY == -1) name = \"down\";\r\n }\r\n else if(nextX == 1) name = \"down_right\";\r\n else if(nextX == -1) name = \"down_left\";\r\n }\r\n //在左边\r\n else if(road[order].x == 0){\r\n if(nextX == 0){\r\n if(nextY == 1)name = \"right_up\";\r\n else if(nextY == -1) name = \"right_down\";\r\n }\r\n else if(nextX == 1) name = \"right\";\r\n else if(nextX == -1) name = \"err\";\r\n }\r\n //在右边\r\n else if(road[order].x == this.map_Array.length-1){\r\n if(nextX == 0){\r\n if(nextY == 1)name = \"left_up\";\r\n else if(nextY == -1) name = \"left_down\";\r\n }\r\n else if(nextX == 1) name = \"err\";\r\n else if(nextX == -1) name = \"left\";\r\n }\r\n }\r\n //不是第一步,已经走过一步\r\n else if(order > 0){\r\n var next = 1;\r\n if(order+2 < road.length){\r\n if(road[order+1].z == 6) next = 2;\r\n }\r\n \r\n //用于判断此点的上一个点,是为了判断当前方块洪水七点,以及下一个移动方向,判断洪终点方向\r\n let nextX = road[order+next].x - road[order].x;\r\n let nextY = road[order].y - road[order+next].y\r\n let previousX = road[order].x - road[order-1].x;\r\n let previousY = road[order-1].y - road[order].y;\r\n if(previousX == 0 && previousY == 0){\r\n if(order > 1){\r\n previousX = road[order].x - road[order-2].x;\r\n previousY = road[order-2].y - road[order].y;\r\n }\r\n else if(order + 1 < road.length){\r\n previousX = road[order+1].x - road[order].x;\r\n previousY = road[order].y - road[order+1].y;\r\n // console.log(\"息壤,上下坐标差距\",previousX,previousY);\r\n }\r\n }\r\n if(previousX == 0 && previousY >= 1){\r\n if(nextX == 0){\r\n if(nextY == 1)name = \"up\";\r\n else if(nextY == -1) name = \"err\";\r\n }\r\n else if(nextX == 1) name = \"up_right\";\r\n else if(nextX == -1) name = \"up_left\";\r\n }\r\n else if(previousX == 0 && previousY <= -1){\r\n if(nextX == 0){\r\n if(nextY == 1)name = \"err\";\r\n else if(nextY == -1) name = \"down\";\r\n }\r\n else if(nextX == 1) name = \"down_right\";\r\n else if(nextX == -1) name = \"down_left\";\r\n }\r\n else if(previousX >= 1 && previousY == 0){\r\n if(nextX == 0){\r\n if(nextY == 1)name = \"right_up\";\r\n else if(nextY == -1) name = \"right_down\";\r\n }\r\n else if(nextX == 1) name = \"right\";\r\n else if(nextX == -1) name = \"err\";\r\n }\r\n else if(previousX <= -1 && previousY == 0){\r\n if(nextX == 0){\r\n if(nextY == 1)name = \"left_up\";\r\n else if(nextY == -1) name = \"left_down\";\r\n }\r\n else if(nextX == 1) name = \"err\";\r\n else if(nextX == -1) name = \"left\";\r\n }\r\n }\r\n\r\n return name ;\r\n }\r\n\r\n //根据是否全面屏,做独立适配方面\r\n fit(){\r\n var jg = this.setFit();\r\n if(!jg){\r\n this.Map.scale = 1.2;\r\n }else{\r\n this.Map.scale = 1;\r\n }\r\n }\r\n //判断全面屏\r\n getSetScreenResolutionFlag () {\r\n let size = cc.winSize;\r\n let width = size.width;\r\n let height = size.height;\r\n if ((height / width) > (16.2 / 9)) return false;\r\n return true;\r\n }\r\n //判断全面屏适配\r\n setFit () {\r\n let flag = this.getSetScreenResolutionFlag();\r\n if (flag) {\r\n } else {\r\n }\r\n return flag;\r\n }\r\n //返回首页\r\n backScene(){\r\n cc.director.loadScene(\"LoadScene\");\r\n }\r\n /**\r\n * 开始修筑\r\n * @param data 记录操作的数组\r\n */\r\n startGame(data){\r\n this.unschedule(this.updateWaterTime);\r\n for(let i=0; i 0){\r\n for(let i=0; i 0) {\r\n this.waterTime -= 1;\r\n this.Countdown.string = cc.fx.GameTool.getTimeMargin(this.waterTime);\r\n if(this.waterTime <= 0){\r\n this.unschedule(this.updateWaterTime);\r\n if(!this.plan_over){\r\n this.waterTime = 0;\r\n this.plan_over = true;\r\n setTimeout(() => {\r\n if(this.water_Array.length == 0){\r\n cc.fx.Notifications.emit(cc.fx.Message.showResult,\"lose\");\r\n } \r\n else{\r\n cc.fx.GameConfig.GM_INFO.min_Time = this.waterTime;\r\n this.runWater(0); \r\n } \r\n }, 500);\r\n }\r\n }\r\n }\r\n }\r\n\r\n //如果是倒计时 调用此方法\r\n updateCountDownTime () {\r\n if (this.countTime > 0) {\r\n this.countTime -= 1;\r\n cc.fx.GameConfig.TIME_INFO.totalTime = this.countTime;\r\n this.Time.string = cc.fx.GameTool.getTimeMargin(this.countTime);\r\n if(this.countTime < 5){\r\n let over = this.node.getChildByName(\"Over\");\r\n cc.tween(over)\r\n .to(0.2,{opacity:255})\r\n .delay(0.1)\r\n .to(0.2,{opacity:0})\r\n .start();\r\n }\r\n if(this.countTime <= 0){\r\n this.countTime = 0;\r\n this.setData(false);\r\n this.unschedule(this.updateCountDownTime);\r\n this.gameOver(); \r\n }\r\n }\r\n }\r\n //上传每次操作数据 success为成功还是失败\r\n setData(success){\r\n //设置埋点数据\r\n cc.fx.GameConfig.CLICK_SET(\"mapId\",cc.fx.GameConfig.LEVEL_INFO[cc.fx.GameConfig.GM_INFO.level][this.custom].id);\r\n cc.fx.GameConfig.CLICK_SET(\"difficulty\",cc.fx.GameConfig.GM_INFO.level);\r\n cc.fx.GameConfig.CLICK_SET(\"optimizedSteps\",cc.fx.GameConfig.LEVEL_INFO[cc.fx.GameConfig.GM_INFO.level][this.custom].min_steps);\r\n cc.fx.GameConfig.CLICK_SET(\"round\",cc.fx.GameConfig.GM_INFO.round);\r\n cc.fx.GameConfig.CLICK_SET(\"timer\",cc.fx.GameConfig.TIME_INFO.totalTime);\r\n cc.fx.GameConfig.CLICK_SET(\"cumulativeScore\",cc.fx.GameConfig.GM_INFO.score);\r\n success = success ==\"lose\"?false:true\r\n if(success != null){\r\n cc.fx.GameConfig.CLICK_SET(\"success\",success);\r\n cc.fx.GameConfig.GM_INFO.fen = this.getScore();\r\n if(!success) cc.fx.GameConfig.GM_INFO.fen = 0;\r\n cc.fx.GameConfig.CLICK_SET(\"getScore\",cc.fx.GameConfig.GM_INFO.fen);\r\n cc.fx.GameConfig.GM_INFO.score += cc.fx.GameConfig.GM_INFO.fen;\r\n this.node.getChildByName(\"Top\").getChildByName(\"id\").getComponent(cc.Label).string = \r\n cc.fx.GameConfig.GM_INFO.score;\r\n cc.fx.GameConfig.CLICK_SET(\"cumulativeScore\",cc.fx.GameConfig.GM_INFO.score);\r\n if(this.countTime != 0)cc.fx.GameConfig.GM_INFO.successList.push(success);\r\n }\r\n cc.fx.GameTool.setGameData();\r\n \r\n }\r\n //计算得分\r\n getScore(){\r\n //最小步数\r\n let min = cc.fx.GameConfig.LEVEL_INFO[cc.fx.GameConfig.GM_INFO.level][this.custom].min_steps;\r\n //实际使用步数\r\n let now = this.path_Array.length-1;\r\n if(now <=0) now = 0;\r\n var x = (2.5*min - now) / min;\r\n let score = Math.pow(min,x) ** 0.5;\r\n score = score * (this.scoreTime + 10)*100;\r\n return Math.floor(score);\r\n }\r\n\r\n //上传排行榜数据\r\n gameOver(){\r\n var rate = 0;\r\n var successList = cc.fx.GameConfig.GM_INFO.successList;\r\n if(successList.length > 0){\r\n var success = 0;\r\n for(let i=0; i{\r\n cc.director.loadScene(\"OverScene\");\r\n })\r\n .start()\r\n }\r\n //展示结果 data为成功或者失败\r\n showResult(data){\r\n if(this.node.getChildByName(\"GameOver\").active == false && this.node.getChildByName(\"Window\").active == false){\r\n cc.fx.Notifications.emit(cc.fx.Message.setData,data);\r\n if(data == \"lose\"){\r\n cc.fx.AudioManager._instance.playEffect(\"lose\",null);\r\n cc.fx.GameConfig.GM_INFO.min_Time = -1;\r\n } \r\n else{\r\n cc.fx.AudioManager._instance.playEffect(\"win\",null);\r\n }\r\n this.node.getChildByName(\"Window\").active = true;\r\n this.node.getChildByName(\"Window\").getComponent(\"Window\").init(data);\r\n }\r\n }\r\n //记录反应时长,以及做步骤提示 data为操作名称\r\n clickSun(data){\r\n //如果没有记录过 回合开始到操作反应时长,则第一次记录, 后面不记录\r\n\r\n if(cc.fx.GameConfig.CLICK_DATA.startTime == -1){\r\n this.finishiTime = cc.fx.GameTool.getTime();\r\n var now = this.finishiTime - this.startTime;\r\n // console.log(\"startTime:\",this.finishiTime);\r\n cc.fx.GameConfig.CLICK_SET(\"startTime\",now);\r\n }\r\n if(cc.fx.GameConfig.GM_INFO.level > 3) return;\r\n //步骤提示\r\n var nowPos = this.path_Array[0];\r\n if(this.tip_Array.length != 0){\r\n if(this.tip_Array[this.tip_Array.length-1] == null){\r\n this.tip_Array.push(null);\r\n return;\r\n }\r\n nowPos = this.tip_Array[this.tip_Array.length-1][this.tip_Array[this.tip_Array.length-1].length-1];\r\n if(nowPos){\r\n let n = nowPos.x*this.map_Array[0].length+nowPos.y;\r\n let targetNode = this.block_Array[n];\r\n if(targetNode.getChildByName(\"tipLose\").active == true){\r\n this.tip_Array.push(null);\r\n return;\r\n }\r\n }\r\n else{\r\n return;\r\n }\r\n } \r\n\r\n if(data == \"up\"){\r\n let n = cc.v2(nowPos.x,nowPos.y-1);\r\n this.tipCan(n,data);\r\n }\r\n else if(data == \"down\"){\r\n let n = cc.v2(nowPos.x,nowPos.y+1);\r\n this.tipCan(n,data);\r\n }\r\n else if(data == \"left\"){\r\n let n = cc.v2(nowPos.x-1,nowPos.y);\r\n this.tipCan(n,data);\r\n }\r\n else if(data == \"right\"){\r\n let n = cc.v2(nowPos.x+1,nowPos.y);\r\n this.tipCan(n,data);\r\n }\r\n else if(data == \"reinforce\"){\r\n let n = cc.v3(nowPos.x,nowPos.y,2);\r\n this.tip_Array.push([n]);\r\n }\r\n else if(data == \"soil\"){\r\n let n = cc.v3(nowPos.x,nowPos.y,3);\r\n this.tip_Array.push([n]);\r\n }\r\n \r\n }\r\n //提示是否错误 只前三关有 ,pos为位置,data为操作方向\r\n tipCan(pos,data){\r\n \r\n //先判断是否出边界\r\n if(pos.x <0 || pos.x >this.map_Array.length-1 || pos.y <0 || pos.y > this.map_Array[0].length-1 ){\r\n this.tip_Array.push(null);\r\n return;\r\n } \r\n let n = pos.x*this.map_Array[0].length+pos.y;\r\n let target = this.block_Array[n].getComponent(\"Block\");\r\n target.node.getChildByName(\"tipWin\").active = true;\r\n\r\n //重复路回头路,或者山峰\r\n if(target.repeatRoad(false,null) == true || target.block_Type == 3){\r\n this.tip_Array.push([cc.v3(pos.x,pos.y,0)]);\r\n target.node.getChildByName(\"tipLose\").active = true;\r\n target.node.getChildByName(\"tipWin\").active = false;\r\n }\r\n //湿地 上一步如果没用息壤或者加固\r\n else if(target.block_Type == 2){\r\n if(this.tip_Array.length > 0){\r\n if(this.tip_Array[this.tip_Array.length-1][0].z == 0){\r\n target.node.getChildByName(\"tipLose\").active = true;\r\n target.node.getChildByName(\"tipWin\").active = false;\r\n }\r\n else if(this.tip_Array[this.tip_Array.length-1][0].z == 2){\r\n target.node.getChildByName(\"tipLose\").active = false;\r\n target.node.getChildByName(\"tipWin\").active = true;\r\n }\r\n }\r\n else{\r\n target.node.getChildByName(\"tipLose\").active = true;\r\n target.node.getChildByName(\"tipWin\").active = false;\r\n }\r\n }\r\n\r\n if(this.tip_Array.length > 0){\r\n if(this.tip_Array[this.tip_Array.length-1][0].z == 3){\r\n if(data == \"up\"){\r\n var arr = [];\r\n for(let i=pos.y; i >=0;i--){\r\n let block = this.block_Array[pos.x*this.map_Array[0].length+i].getComponent(\"Block\");\r\n if(block.block_Type == 3){\r\n i = -10000;\r\n }\r\n else{\r\n block.node.getChildByName(\"tipWin\").active = true;\r\n arr.push(cc.v3(pos.x,i,0));\r\n if( block.block_Type == 4) i = -10000;\r\n }\r\n }\r\n this.tip_Array.push(arr);\r\n }\r\n else if(data == \"down\"){\r\n var arr = [];\r\n for(let i=pos.y; i=0 ;i--){\r\n let block = this.block_Array[i*this.map_Array[0].length+pos.y].getComponent(\"Block\");\r\n if(block.block_Type == 3){\r\n i = -10000;\r\n }\r\n else{\r\n block.node.getChildByName(\"tipWin\").active = true;\r\n arr.push(cc.v3(i,pos.y,0));\r\n if( block.block_Type == 4) i = -10000;\r\n }\r\n }\r\n this.tip_Array.push(arr);\r\n }\r\n }\r\n else{\r\n let posJg = cc.v3(pos.x,pos.y,0);\r\n if(data == \"reinforce\") pos.z = 2;\r\n if(data == \"soil\") pos.z = 3; \r\n this.tip_Array.push([posJg]);\r\n }\r\n // console.log(this.tip_Array);\r\n return;\r\n }\r\n\r\n let posJg = cc.v3(pos.x,pos.y,0);\r\n if(data == \"reinforce\") pos.z = 2;\r\n if(data == \"soil\") pos.z = 3; \r\n this.tip_Array.push([posJg]);\r\n // console.log(this.tip_Array);\r\n }\r\n\r\n //移除提示\r\n removeTip(data){\r\n if(cc.fx.GameConfig.GM_INFO.level > 3) return;\r\n //分为撤回一步 和全部清空\r\n if(this.tip_Array.length > 0){\r\n if(data == \"back\"){\r\n let target = this.tip_Array[this.tip_Array.length-1];\r\n if(target == null){\r\n this.tip_Array.pop();\r\n } \r\n else{\r\n this.tip_Array.pop();\r\n for(let i=0; i 0) this.Guide.children[this.step-1].active = false;\r\n this.step += 1;\r\n let name = this.getGuideName();\r\n \r\n var target = this.Guide.getChildByName(name);\r\n target.active = true;\r\n let size = cc.winSize;\r\n\r\n if(size.height > 1334){\r\n let height = (size.height - 1334)/2;\r\n target.getChildByName(\"sp\").height += height;\r\n }\r\n }\r\n\r\n onEnable () {\r\n cc.fx.Notifications.on(cc.fx.Message.control, this.clickSun, this);\r\n cc.fx.Notifications.on(cc.fx.Message.next, this.runRoad, this);\r\n cc.fx.Notifications.on(cc.fx.Message.nextWater, this.runWater, this);\r\n cc.fx.Notifications.on(cc.fx.Message.startGame, this.startGame, this);\r\n cc.fx.Notifications.on(cc.fx.Message.changePath, this.changePath, this);\r\n cc.fx.Notifications.on(cc.fx.Message.setData, this.setData, this);\r\n cc.fx.Notifications.on(cc.fx.Message.guideNext, this.guideNext, this);\r\n cc.fx.Notifications.on(cc.fx.Message.showResult, this.showResult, this);\r\n cc.fx.Notifications.on(cc.fx.Message.removeTip, this.removeTip, this);\r\n }\r\n onDisable () {\r\n cc.fx.Notifications.off(cc.fx.Message.control, this.clickSun);\r\n cc.fx.Notifications.off(cc.fx.Message.next, this.runRoad);\r\n cc.fx.Notifications.off(cc.fx.Message.nextWater, this.runWater);\r\n cc.fx.Notifications.off(cc.fx.Message.startGame, this.startGame);\r\n cc.fx.Notifications.off(cc.fx.Message.changePath, this.changePath);\r\n cc.fx.Notifications.off(cc.fx.Message.setData, this.setData);\r\n cc.fx.Notifications.off(cc.fx.Message.guideNext, this.guideNext);\r\n cc.fx.Notifications.off(cc.fx.Message.showResult, this.showResult);\r\n cc.fx.Notifications.off(cc.fx.Message.removeTip, this.removeTip);\r\n }\r\n update (dt) {\r\n\r\n \r\n }\r\n}\r\n"]} \ No newline at end of file diff --git a/temp/quick-scripts/src/assets/Script/GameOver.js b/temp/quick-scripts/src/assets/Script/GameOver.js index f6dfb84..b90c718 100644 --- a/temp/quick-scripts/src/assets/Script/GameOver.js +++ b/temp/quick-scripts/src/assets/Script/GameOver.js @@ -64,6 +64,17 @@ var NewClass = /** @class */ (function (_super) { this.three.active = false; this.four.active = false; this.five.active = false; + var urlNow = window.location.href; + if (this.containsTrain(urlNow)) { + this.node.getChildByName("again").active = false; + this.node.getChildByName("back").active = false; + this.node.getChildByName("finishi").active = true; + } + else { + this.node.getChildByName("again").active = true; + this.node.getChildByName("back").active = true; + this.node.getChildByName("finishi").active = false; + } this.getRank(); }; //打开排行榜 @@ -80,8 +91,13 @@ var NewClass = /** @class */ (function (_super) { cc.fx.GameConfig.GM_INFO.score = 0; cc.fx.GameConfig.GM_INFO.min_Steps = 0; cc.fx.GameConfig.GM_INFO.min_Time = 0; + cc.fx.GameConfig.TIME_INFO.totalTime = 120; cc.director.loadScene("GameScene"); }; + //判断来源 + NewClass.prototype.containsTrain = function (str) { + return /from=train/i.test(str); + }; //获取排行榜 NewClass.prototype.getRank = function () { var _this = this; @@ -91,6 +107,11 @@ var NewClass = /** @class */ (function (_super) { }; cc.fx.GameTool.getRank(dataFile, function (data) { return _this.getRankData(data); }); }; + //打开排行榜 + NewClass.prototype.jumpFinishi = function () { + var url = "https://train.sparkus.cn/poster/game/"; + window.location.href = url; + }; //设置排行信息 NewClass.prototype.getRankData = function (data) { if (data) { diff --git a/temp/quick-scripts/src/assets/Script/GameOver.js.map b/temp/quick-scripts/src/assets/Script/GameOver.js.map index ed6fbfb..1330517 100644 --- a/temp/quick-scripts/src/assets/Script/GameOver.js.map +++ b/temp/quick-scripts/src/assets/Script/GameOver.js.map @@ -1 +1 @@ -{"version":3,"sources":["assets\\Script\\GameOver.ts"],"names":[],"mappings":"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","file":"","sourceRoot":"/","sourcesContent":["\r\nconst {ccclass, property} = cc._decorator;\r\n\r\n@ccclass\r\nexport default class NewClass extends cc.Component {\r\n @property(cc.Label)\r\n count: cc.Label = null;\r\n @property(cc.Label)\r\n time: cc.Label = null;\r\n @property(cc.Node)\r\n selfNode: cc.Node = null;\r\n @property(cc.Node)\r\n one: cc.Node = null;\r\n @property(cc.Node)\r\n two: cc.Node = null;\r\n @property(cc.Node)\r\n three: cc.Node = null;\r\n @property(cc.Node)\r\n four: cc.Node = null;\r\n @property(cc.Node)\r\n five: cc.Node = null;\r\n listData: any;\r\n selfData: any;\r\n // onLoad () {}\r\n start () {\r\n this.count.string = cc.fx.GameConfig.GM_INFO.score + \"\";\r\n var yes = 0;\r\n var successList = cc.fx.GameConfig.GM_INFO.successList;\r\n if(successList.length > 0){\r\n var success = 0;\r\n for(let i=0; ithis.getRankData(data));\r\n }\r\n //设置排行信息\r\n getRankData(data){\r\n\r\n if(data){\r\n cc.fx.GameTool.getRankData(data,this,4);\r\n cc.fx.GameTool.setPic(this.selfNode.getChildByName(\"pic\").getChildByName(\"icon\"),this.selfData.pic);\r\n var length = this.listData.length-1; if(length > 4) length = 4;\r\n for(let i=0;i<=length;i++){\r\n this.setRank(i,this.listData[i]);\r\n }\r\n }\r\n }\r\n //根据内容填充排行榜\r\n setRank(num,data){\r\n var hitNode = null;\r\n if(num == 0){\r\n hitNode = this.one;\r\n }\r\n else if(num == 1){\r\n hitNode = this.two;\r\n }\r\n else if(num == 2){\r\n hitNode = this.three;\r\n }\r\n else if(num == 3){\r\n hitNode = this.four;\r\n }\r\n else if(num == 4){\r\n hitNode = this.five;\r\n }\r\n if(hitNode){\r\n hitNode.active = true;\r\n if(data.nickName.length >= 4)\r\n cc.fx.GameTool.subName(data.nickName,4);\r\n hitNode.getChildByName(\"name\").getComponent(cc.Label).string = data.nickName;\r\n hitNode.getChildByName(\"total\").getComponent(cc.Label).string = data.score;\r\n cc.fx.GameTool.setPic(hitNode.getChildByName(\"pic\").getChildByName(\"icon\"),data.pic);\r\n }\r\n } \r\n}\r\n"]} \ No newline at end of file +{"version":3,"sources":["assets\\Script\\GameOver.ts"],"names":[],"mappings":"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","file":"","sourceRoot":"/","sourcesContent":["\r\nconst {ccclass, property} = cc._decorator;\r\n\r\n@ccclass\r\nexport default class NewClass extends cc.Component {\r\n @property(cc.Label)\r\n count: cc.Label = null;\r\n @property(cc.Label)\r\n time: cc.Label = null;\r\n @property(cc.Node)\r\n selfNode: cc.Node = null;\r\n @property(cc.Node)\r\n one: cc.Node = null;\r\n @property(cc.Node)\r\n two: cc.Node = null;\r\n @property(cc.Node)\r\n three: cc.Node = null;\r\n @property(cc.Node)\r\n four: cc.Node = null;\r\n @property(cc.Node)\r\n five: cc.Node = null;\r\n listData: any;\r\n selfData: any;\r\n // onLoad () {}\r\n start () {\r\n this.count.string = cc.fx.GameConfig.GM_INFO.score + \"\";\r\n var yes = 0;\r\n var successList = cc.fx.GameConfig.GM_INFO.successList;\r\n if(successList.length > 0){\r\n var success = 0;\r\n for(let i=0; ithis.getRankData(data));\r\n }\r\n //打开排行榜\r\n jumpFinishi(){\r\n let url = \"https://train.sparkus.cn/poster/game/\";\r\n window.location.href = url;\r\n }\r\n //设置排行信息\r\n getRankData(data){\r\n\r\n if(data){\r\n cc.fx.GameTool.getRankData(data,this,4);\r\n cc.fx.GameTool.setPic(this.selfNode.getChildByName(\"pic\").getChildByName(\"icon\"),this.selfData.pic);\r\n var length = this.listData.length-1; if(length > 4) length = 4;\r\n for(let i=0;i<=length;i++){\r\n this.setRank(i,this.listData[i]);\r\n }\r\n }\r\n }\r\n //根据内容填充排行榜\r\n setRank(num,data){\r\n var hitNode = null;\r\n if(num == 0){\r\n hitNode = this.one;\r\n }\r\n else if(num == 1){\r\n hitNode = this.two;\r\n }\r\n else if(num == 2){\r\n hitNode = this.three;\r\n }\r\n else if(num == 3){\r\n hitNode = this.four;\r\n }\r\n else if(num == 4){\r\n hitNode = this.five;\r\n }\r\n if(hitNode){\r\n hitNode.active = true;\r\n if(data.nickName.length >= 4)\r\n cc.fx.GameTool.subName(data.nickName,4);\r\n hitNode.getChildByName(\"name\").getComponent(cc.Label).string = data.nickName;\r\n hitNode.getChildByName(\"total\").getComponent(cc.Label).string = data.score;\r\n cc.fx.GameTool.setPic(hitNode.getChildByName(\"pic\").getChildByName(\"icon\"),data.pic);\r\n }\r\n } \r\n}\r\n"]} \ No newline at end of file diff --git a/temp/quick-scripts/src/assets/Script/Load.js b/temp/quick-scripts/src/assets/Script/Load.js index 1d2fef3..5b0a31a 100644 --- a/temp/quick-scripts/src/assets/Script/Load.js +++ b/temp/quick-scripts/src/assets/Script/Load.js @@ -39,6 +39,18 @@ var NewClass = /** @class */ (function (_super) { cc.fx.GameConfig.init(this.localTest); // cc.fx.AudioManager.Instance.init(); this.testVersion.string = this.clientTestVersion; + var urlNow = window.location.href; + if (this.containsTrain(urlNow)) { + console.log("无排行版本"); + this.node.getChildByName("Rank").active = false; + } + else { + console.log("有排行版本"); + } + }; + //判断来源 + NewClass.prototype.containsTrain = function (str) { + return /from=train/i.test(str); }; //开始游戏,跳转至引导页面 NewClass.prototype.startGame = function () { diff --git a/temp/quick-scripts/src/assets/Script/Load.js.map b/temp/quick-scripts/src/assets/Script/Load.js.map index 3358bc3..676e362 100644 --- a/temp/quick-scripts/src/assets/Script/Load.js.map +++ b/temp/quick-scripts/src/assets/Script/Load.js.map @@ -1 +1 @@ -{"version":3,"sources":["assets\\Script\\Load.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;AACM,IAAA,KAAwC,EAAE,CAAC,UAAU,EAApD,OAAO,aAAA,EAAE,QAAQ,cAAA,EAAE,gBAAgB,sBAAiB,CAAC;AAG5D;IAAsC,4BAAY;IAAlD;QAAA,qEAoCC;QAjCG,eAAS,GAAY,KAAK,CAAC;QAG3B,uBAAiB,GAAW,OAAO,CAAC;QAGpC,iBAAW,GAAa,IAAI,CAAC;;IA2BjC,CAAC;IAzBG,wBAAK,GAAL;QACI,EAAE,CAAC,KAAK,CAAC,eAAe,CAAC,KAAK,CAAC,CAAC;QAChC,MAAM,CAAC,OAAO,EAAE,CAAC;QACjB,EAAE,CAAC,EAAE,CAAC,UAAU,CAAC,IAAI,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;QACtC,sCAAsC;QACtC,IAAI,CAAC,WAAW,CAAC,MAAM,GAAG,IAAI,CAAC,iBAAiB,CAAC;IACrD,CAAC;IAED,cAAc;IACd,4BAAS,GAAT;QACI,EAAE,CAAC,QAAQ,CAAC,SAAS,CAAC,WAAW,CAAC,CAAC;QACnC,uCAAuC;IAC3C,CAAC;IACD,gBAAgB;IAChB,2BAAQ,GAAR,UAAS,KAAK,EAAC,IAAI;QACf,EAAE,CAAC,EAAE,CAAC,UAAU,CAAC,OAAO,CAAC,MAAM,GAAG,QAAQ,CAAC,IAAI,CAAC,CAAC;QACjD,EAAE,CAAC,QAAQ,CAAC,SAAS,CAAC,WAAW,CAAC,CAAC;IACvC,CAAC;IACD,OAAO;IACP,2BAAQ,GAAR;QACI,EAAE,CAAC,QAAQ,CAAC,SAAS,CAAC,WAAW,CAAC,CAAC;IACvC,CAAC;IAES,yBAAM,GAAhB,UAAiB,EAAU;IAC3B,CAAC;IAhCD;QADC,QAAQ,CAAC,KAAK,CAAC;+CACW;IAG3B;QADC,QAAQ,CAAC,EAAE,CAAC;uDACuB;IAGpC;QADC,QAAQ,CAAC,EAAE,CAAC,KAAK,CAAC;iDACU;IATZ,QAAQ;QAD5B,OAAO;OACa,QAAQ,CAoC5B;IAAD,eAAC;CApCD,AAoCC,CApCqC,EAAE,CAAC,SAAS,GAoCjD;kBApCoB,QAAQ","file":"","sourceRoot":"/","sourcesContent":["\r\nconst {ccclass, property, requireComponent} = cc._decorator;\r\n\r\n@ccclass\r\nexport default class NewClass extends cc.Component {\r\n\r\n @property(false)\r\n localTest: boolean = false;\r\n\r\n @property(\"\")\r\n clientTestVersion: string = \"1.0.0\";\r\n\r\n @property(cc.Label)\r\n testVersion: cc.Label = null;\r\n\r\n start () {\r\n cc.debug.setDisplayStats(false);\r\n window.initMgr();\r\n cc.fx.GameConfig.init(this.localTest);\r\n // cc.fx.AudioManager.Instance.init();\r\n this.testVersion.string = this.clientTestVersion;\r\n }\r\n\r\n //开始游戏,跳转至引导页面\r\n startGame(){\r\n cc.director.loadScene(\"GameScene\");\r\n // cc.director.loadScene(\"GuideScene\");\r\n }\r\n //备用,用来测试跳转 指定关卡\r\n clickBtn(event,data){\r\n cc.fx.GameConfig.GM_INFO.custom = parseInt(data);\r\n cc.director.loadScene(\"GameScene\");\r\n } \r\n //打开排行榜\r\n openRank(){\r\n cc.director.loadScene(\"RankScene\");\r\n }\r\n \r\n protected update(dt: number): void {\r\n }\r\n}\r\n"]} \ No newline at end of file +{"version":3,"sources":["assets\\Script\\Load.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;AACM,IAAA,KAAwC,EAAE,CAAC,UAAU,EAApD,OAAO,aAAA,EAAE,QAAQ,cAAA,EAAE,gBAAgB,sBAAiB,CAAC;AAG5D;IAAsC,4BAAY;IAAlD;QAAA,qEAiDC;QA9CG,eAAS,GAAY,KAAK,CAAC;QAG3B,uBAAiB,GAAW,OAAO,CAAC;QAGpC,iBAAW,GAAa,IAAI,CAAC;;IAwCjC,CAAC;IAtCG,wBAAK,GAAL;QACI,EAAE,CAAC,KAAK,CAAC,eAAe,CAAC,KAAK,CAAC,CAAC;QAChC,MAAM,CAAC,OAAO,EAAE,CAAC;QACjB,EAAE,CAAC,EAAE,CAAC,UAAU,CAAC,IAAI,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;QACtC,sCAAsC;QACtC,IAAI,CAAC,WAAW,CAAC,MAAM,GAAG,IAAI,CAAC,iBAAiB,CAAC;QACjD,IAAI,MAAM,GAAG,MAAM,CAAC,QAAQ,CAAC,IAAI,CAAC;QAClC,IAAG,IAAI,CAAC,aAAa,CAAC,MAAM,CAAC,EAAC;YAC1B,OAAO,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC;YACrB,IAAI,CAAC,IAAI,CAAC,cAAc,CAAC,MAAM,CAAC,CAAC,MAAM,GAAG,KAAK,CAAC;SACnD;aACG;YACA,OAAO,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC;SACxB;IACL,CAAC;IAED,MAAM;IACN,gCAAa,GAAb,UAAc,GAAG;QACb,OAAO,aAAa,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;IACnC,CAAC;IAED,cAAc;IACd,4BAAS,GAAT;QACI,EAAE,CAAC,QAAQ,CAAC,SAAS,CAAC,WAAW,CAAC,CAAC;QACnC,uCAAuC;IAC3C,CAAC;IACD,gBAAgB;IAChB,2BAAQ,GAAR,UAAS,KAAK,EAAC,IAAI;QACf,EAAE,CAAC,EAAE,CAAC,UAAU,CAAC,OAAO,CAAC,MAAM,GAAG,QAAQ,CAAC,IAAI,CAAC,CAAC;QACjD,EAAE,CAAC,QAAQ,CAAC,SAAS,CAAC,WAAW,CAAC,CAAC;IACvC,CAAC;IACD,OAAO;IACP,2BAAQ,GAAR;QACI,EAAE,CAAC,QAAQ,CAAC,SAAS,CAAC,WAAW,CAAC,CAAC;IACvC,CAAC;IAES,yBAAM,GAAhB,UAAiB,EAAU;IAC3B,CAAC;IA7CD;QADC,QAAQ,CAAC,KAAK,CAAC;+CACW;IAG3B;QADC,QAAQ,CAAC,EAAE,CAAC;uDACuB;IAGpC;QADC,QAAQ,CAAC,EAAE,CAAC,KAAK,CAAC;iDACU;IATZ,QAAQ;QAD5B,OAAO;OACa,QAAQ,CAiD5B;IAAD,eAAC;CAjDD,AAiDC,CAjDqC,EAAE,CAAC,SAAS,GAiDjD;kBAjDoB,QAAQ","file":"","sourceRoot":"/","sourcesContent":["\r\nconst {ccclass, property, requireComponent} = cc._decorator;\r\n\r\n@ccclass\r\nexport default class NewClass extends cc.Component {\r\n\r\n @property(false)\r\n localTest: boolean = false;\r\n\r\n @property(\"\")\r\n clientTestVersion: string = \"1.0.0\";\r\n\r\n @property(cc.Label)\r\n testVersion: cc.Label = null;\r\n\r\n start () {\r\n cc.debug.setDisplayStats(false);\r\n window.initMgr();\r\n cc.fx.GameConfig.init(this.localTest);\r\n // cc.fx.AudioManager.Instance.init();\r\n this.testVersion.string = this.clientTestVersion;\r\n var urlNow = window.location.href;\r\n if(this.containsTrain(urlNow)){\r\n console.log(\"无排行版本\");\r\n this.node.getChildByName(\"Rank\").active = false;\r\n }\r\n else{\r\n console.log(\"有排行版本\");\r\n }\r\n }\r\n\r\n //判断来源\r\n containsTrain(str) {\r\n return /from=train/i.test(str);\r\n }\r\n\r\n //开始游戏,跳转至引导页面\r\n startGame(){\r\n cc.director.loadScene(\"GameScene\");\r\n // cc.director.loadScene(\"GuideScene\");\r\n }\r\n //备用,用来测试跳转 指定关卡\r\n clickBtn(event,data){\r\n cc.fx.GameConfig.GM_INFO.custom = parseInt(data);\r\n cc.director.loadScene(\"GameScene\");\r\n } \r\n //打开排行榜\r\n openRank(){\r\n cc.director.loadScene(\"RankScene\");\r\n }\r\n \r\n protected update(dt: number): void {\r\n }\r\n}\r\n"]} \ No newline at end of file diff --git a/temp/quick-scripts/src/assets/Script/Sdk/MiniGameSdk.js b/temp/quick-scripts/src/assets/Script/Sdk/MiniGameSdk.js new file mode 100644 index 0000000..c878bd3 --- /dev/null +++ b/temp/quick-scripts/src/assets/Script/Sdk/MiniGameSdk.js @@ -0,0 +1,1084 @@ +"use strict"; +cc._RF.push(module, 'c1af9nd7gNA95YJ04h9DdNX', 'MiniGameSdk'); +// Script/Sdk/MiniGameSdk.ts + +"use strict"; +Object.defineProperty(exports, "__esModule", { value: true }); +exports.MiniGameSdk = void 0; +/** + * 小游戏平台SDK工具封装,目前只支持微信和抖音平台 + */ +var MiniGameSdk; +(function (MiniGameSdk) { + function isWechat() { + //@ts-ignore + return window.wx !== null && window.wx !== undefined; + } + MiniGameSdk.isWechat = isWechat; + function isBytedance() { + //@ts-ignore + return window.tt !== null && window.tt !== undefined; + } + MiniGameSdk.isBytedance = isBytedance; + function getSysWinSize() { + var sys; + if (isWechat()) { + // @ts-ignore + sys = wx.getSystemInfoSync(); + } + else if (isBytedance()) { + // @ts-ignore + sys = tt.getSystemInfoSync(); + } + var size = { width: 0, height: 0 }; + if (sys) { + size.width = sys.windowWidth; + size.height = sys.windowHeight; + } + return size; + } + /** + * 插屏广告。微信抖音都支持! + */ + var ADInterstitial = /** @class */ (function () { + function ADInterstitial(adUid) { + this._adUid = adUid; + } + Object.defineProperty(ADInterstitial.prototype, "aduid", { + get: function () { + return this._adUid; + }, + enumerable: false, + configurable: true + }); + ADInterstitial.prototype.show = function () { + var _this = this; + var _a, _b; + // @ts-ignore + if (isWechat() && !wx.createInterstitialAd) { + console.warn('wechat unsupport interstitial AD!'); + this._interstitial = null; + return; + } + // @ts-ignore + if (isBytedance() && !tt.createInterstitialAd) { + console.warn('bytedance unsupport interstitial AD!'); + this._interstitial = null; + return; + } + if (this._interstitial) { + this._interstitial.load(); + } + else { + if (isWechat()) { + // @ts-ignore + this._interstitial = wx.createInterstitialAd({ adUnitId: this._adUid }); + } + else if (isBytedance()) { + // @ts-ignore + this._interstitial = tt.createInterstitialAd({ adUnitId: this._adUid }); + } + else { + this._interstitial = null; + } + (_a = this._interstitial) === null || _a === void 0 ? void 0 : _a.onLoad(function () { + console.log('load interstitial ad success'); + _this._interstitial.show().catch(function (err) { + console.log('catch interstitial ad error:', err); + }); + }); + (_b = this._interstitial) === null || _b === void 0 ? void 0 : _b.onError(function (err) { + console.log('interstitial ad on error:', err); + }); + } + }; + ADInterstitial.prototype.destory = function () { + var _a; + (_a = this._interstitial) === null || _a === void 0 ? void 0 : _a.destroy(); + }; + return ADInterstitial; + }()); + var ADBanner = /** @class */ (function () { + /** + * 抖音和微信都支持 + * 横幅广告。预估宽度默认为300,预估高度为140。如果你不确定就按默认值来。 + * @param adUid 广告UID,后端配置 + * @param isTop 是否在屏幕顶部展示。内部会自动居中计算位置。 + * @param bannerWidth 横幅广告的预估宽度。默认300 + * @param autoShow 广告加载完成后是否立刻显示,默认为不显示 + */ + function ADBanner(adUid, param, bannerWidth, autoShow) { + if (bannerWidth === void 0) { bannerWidth = 300; } + if (autoShow === void 0) { autoShow = false; } + this._adUid = adUid; + this.create(autoShow, bannerWidth, param); // 默认300比较合适 + } + Object.defineProperty(ADBanner.prototype, "aduid", { + get: function () { + return this._adUid; + }, + enumerable: false, + configurable: true + }); + ADBanner.prototype.create = function (autoShow, bannerWidth, param) { + var _this = this; + var _a, _b; + if (!isWechat() && !isBytedance()) { + this._banner = null; + return; + } + this.destroy(); + var winSize = getSysWinSize(); + var height = bannerWidth * 0.4; + var top = 0, left = 0; + if (typeof param === "boolean") { + left = (winSize.width - bannerWidth) / 2; + top = param ? 5 : (winSize.height - height); + } + else { + left = param.left; + top = param.top; + } + var params = { + adUnitId: this._adUid, + adIntervals: 30, + style: { left: left, top: top, width: bannerWidth } + }; + if (isWechat()) { + // @ts-ignore + this._banner = wx.createBannerAd(params); + } + else if (isBytedance()) { + // @ts-ignore + this._banner = tt.createBannerAd(params); + } + else { + this._banner = null; + } + (_a = this._banner) === null || _a === void 0 ? void 0 : _a.onError(function (err) { + console.log('ad banner error:', err); + }); + (_b = this._banner) === null || _b === void 0 ? void 0 : _b.onLoad(function () { + autoShow && _this._banner.show(); + }); + }; + ADBanner.prototype.show = function () { + var _a; + (_a = this._banner) === null || _a === void 0 ? void 0 : _a.show(); + }; + ADBanner.prototype.hide = function () { + var _a; + (_a = this._banner) === null || _a === void 0 ? void 0 : _a.hide(); + }; + ADBanner.prototype.destroy = function () { + var _a; + (_a = this._banner) === null || _a === void 0 ? void 0 : _a.destroy(); + }; + return ADBanner; + }()); + var ADCustom = /** @class */ (function () { + /** + * 由于原生模板广告在微信服务后端可以定制宽度大小,个数,缩放比例等,所以位置调整要根据设置的宽度来定。抖音不支持! + * @param adUid 广告UID,后端配置 + * @param top 从左上角开始,距离屏幕顶部的距离。注意:这个数据为设备屏幕宽度width。如果需要获取屏幕的像素,需要乘以设备像素比Pixel-Ratio,例如iPhone 13 Pro的Pixel-Ratio为3,像素为Width*3。 + * @param left 从左上角开始,距离屏幕最左边的距离。注意:这个数据为设备屏幕宽度width。如果需要获取屏幕的像素,需要乘以设备像素比Pixel-Ratio,例如iPhone 13 Pro的Pixel-Ratio为3,像素为Width*3。 + * @param scale 原生模板广告的尺寸,默认为1,即100%。此值在微信服务后端广告中获得,默认为100%,目前有100%,90%,80%三种,一般情况不用修改。若有修改,记得传入值,例如90%就传入0.9。 + */ + function ADCustom(adUid, top, left, scale) { + if (top === void 0) { top = 0; } + if (left === void 0) { left = 0; } + if (scale === void 0) { scale = 1.0; } + this._adUid = adUid; + this.createCustomAd(top, left, scale); + } + Object.defineProperty(ADCustom.prototype, "aduid", { + get: function () { + return this._adUid; + }, + enumerable: false, + configurable: true + }); + ADCustom.prototype.createCustomAd = function (top, left, scale) { + var _a; + if (!isWechat()) { // only wechat support custom ad + this._adCustom = null; + console.log('Only wechat support Custom Ad'); + return; + } + this.destroy(); + // 原生模板5个应用宽度为375,若设置了缩放比例,则宽度也需要设置 + // let width = 375 * this._scale; + // let newLeft = (sys.windowWidth - width) / 2; + // let newTop = sys.windowHeight / 2; // 120是预估高度 + // @ts-ignore + this._adCustom = wx.createCustomAd({ + adUnitId: this._adUid, + style: { left: left, top: top, fixed: true } + }); + (_a = this._adCustom) === null || _a === void 0 ? void 0 : _a.onError(function (err) { + console.log('ad custom error:', err); + }); + }; + ADCustom.prototype.show = function () { + var _a; + (_a = this._adCustom) === null || _a === void 0 ? void 0 : _a.show(); + }; + ADCustom.prototype.hide = function () { + var _a; + (_a = this._adCustom) === null || _a === void 0 ? void 0 : _a.hide(); + }; + ADCustom.prototype.destroy = function () { + var _a; + (_a = this._adCustom) === null || _a === void 0 ? void 0 : _a.destroy(); + }; + return ADCustom; + }()); + /** + * 视频广告用户点击行为结果 + */ + var EAdVideoResult; + (function (EAdVideoResult) { + /** + * 用户看完了广告,游戏可发放奖励。 + */ + EAdVideoResult[EAdVideoResult["ACCEPT"] = 0] = "ACCEPT"; + /** + * 用户中途关闭了广告,即未看完状态。不可发放奖励。 + */ + EAdVideoResult[EAdVideoResult["REJECT"] = 1] = "REJECT"; + /** + * 广告组件内部发生了错误。不可发放奖励。 + */ + EAdVideoResult[EAdVideoResult["ERROR"] = 2] = "ERROR"; + })(EAdVideoResult = MiniGameSdk.EAdVideoResult || (MiniGameSdk.EAdVideoResult = {})); + var ADVideo = /** @class */ (function () { + function ADVideo(adUid) { + this._adVideo = null; + this._adUid = adUid; + } + Object.defineProperty(ADVideo.prototype, "aduid", { + get: function () { + return this._adUid; + }, + enumerable: false, + configurable: true + }); + /** + * 由于微信和抖音视频广告机制不同,微信可以看的视频广告个数只有0和1个,抖音平台则可以看0~maxVideoCount + * @param onResult 两个参数:第一个res是EAdVideoResult定义,第二count是用户看了多少个视频广告。 + * @param target onResult的拥有者 + * @param maxVideoCount 可以连续看最大视频个数,可最大化商业效率。默认为3个。 + * @returns + */ + ADVideo.prototype.show = function (onResult, target, maxVideoCount) { + var _this = this; + var _a, _b, _c, _d, _e; + if (maxVideoCount === void 0) { maxVideoCount = 3; } + var callback = function (state, count) { + onResult === null || onResult === void 0 ? void 0 : onResult.call(target, state, count); + }; + if (!isWechat() && !isBytedance()) { + callback(EAdVideoResult.ACCEPT, 1); + this._adVideo = null; + return; + } + var onAdVideoClosed = function (res) { + var _a; + (_a = _this._adVideo) === null || _a === void 0 ? void 0 : _a.offClose(onAdVideoClosed); + if (isWechat()) { + if (res && res.isEnded || res === undefined) { + callback(EAdVideoResult.ACCEPT, 1); + } + else { + callback(EAdVideoResult.REJECT, 0); + } + } + else if (isBytedance()) { + var resConverted = res; + if (resConverted && resConverted.count > 0) { + callback(EAdVideoResult.ACCEPT, resConverted.count); + } + else { + callback(EAdVideoResult.REJECT, 0); + } + } + }; + (_a = this._adVideo) === null || _a === void 0 ? void 0 : _a.offClose(onAdVideoClosed); + if (isWechat()) { + // @ts-ignore + this._adVideo = wx.createRewardedVideoAd({ + adUnitId: this._adUid + }); + } + else if (isBytedance()) { + // @ts-ignore + this._adVideo = tt.createRewardedVideoAd({ + adUnitId: this._adUid, + multiton: true, + multitonRewardMsg: ['多1次奖励', '再多一次奖励', '再多一次奖励'], + multitonRewardTimes: maxVideoCount, + }); + } + else { + this._adVideo = null; + } + (_b = this._adVideo) === null || _b === void 0 ? void 0 : _b.onLoad(function () { + console.log('Ad load success'); + }); + (_c = this._adVideo) === null || _c === void 0 ? void 0 : _c.onError(function (err) { + console.log('Ad video error:', err); + callback(EAdVideoResult.ERROR, 0); + }); + (_d = this._adVideo) === null || _d === void 0 ? void 0 : _d.onClose(onAdVideoClosed); + (_e = this._adVideo) === null || _e === void 0 ? void 0 : _e.show().catch(function () { + var _a; + (_a = _this._adVideo) === null || _a === void 0 ? void 0 : _a.load().then(function () { var _a; return (_a = _this._adVideo) === null || _a === void 0 ? void 0 : _a.show(); }).catch(function (err) { + console.log('Catch video ad error:', err); + callback(EAdVideoResult.ERROR, 0); + }); + }); + }; + ADVideo.prototype.destory = function () { + var _a; + (_a = this._adVideo) === null || _a === void 0 ? void 0 : _a.destory(); + }; + return ADVideo; + }()); + var EAdBannerLocation; + (function (EAdBannerLocation) { + /** + * 屏幕顶部 + */ + EAdBannerLocation[EAdBannerLocation["TOP"] = 0] = "TOP"; + /** + * 屏幕底部 + */ + EAdBannerLocation[EAdBannerLocation["BOTTOM"] = 1] = "BOTTOM"; + })(EAdBannerLocation = MiniGameSdk.EAdBannerLocation || (MiniGameSdk.EAdBannerLocation = {})); + var AdvertManager = /** @class */ (function () { + function AdvertManager() { + this._customs = {}; + } + Object.defineProperty(AdvertManager, "instance", { + get: function () { + if (!AdvertManager._instance) { + AdvertManager._instance = new AdvertManager(); + } + return AdvertManager._instance; + }, + enumerable: false, + configurable: true + }); + /** + * 预加载横幅广告,不会显示。只有你在调用showBanner时才会显示。 + * 可重复调用,但是会销毁上一次的实例。一般情况,全局有一个就行了,太多占用内存,而且没必要。 + * @param adUid 广告UID + * @param location 位置有两种情况:1、可以传入枚举值,默认上方; 2、可以自定义位置传入IPosition,注意IPosition中的top和left跟平台的top,left是一致(没有乘以设备像素比ratio),需要开发者自己调试位置 + * @param scale 默认为跟屏幕一样的宽度,可以通过设置缩放比例来调整大小。当然,平台有规定最大或最小宽度,函数内部会自动计算。 + */ + AdvertManager.prototype.loadBanner = function (adUid, location, scale) { + var _a; + if (location === void 0) { location = EAdBannerLocation.TOP; } + if (scale === void 0) { scale = 1.0; } + (_a = this._banner) === null || _a === void 0 ? void 0 : _a.destroy(); + var size = getSysWinSize(); + // 当 style.width 小于 300 时,会取作 300。 当 style.width 大于屏幕宽度时,会取作屏幕宽度。 + var width = size.width * scale; + width = width < 300 ? 300 : width; // 最小值矫正 + width = width > size.width ? size.width : width; //最大值矫正 + this._banner = typeof location === 'number' ? new ADBanner(adUid, location === EAdBannerLocation.TOP, width, false) : new ADBanner(adUid, location, width, false); + }; + /** + * 显示横幅广告 + */ + AdvertManager.prototype.showBanner = function () { + if (this._banner) { + this._banner.show(); + } + else { + console.warn('MiniGameSDK: banner is null, you must call loadBanner(...) first!'); + } + }; + /** + * 隐藏横幅广告 + */ + AdvertManager.prototype.hideBanner = function () { + var _a; + (_a = this._banner) === null || _a === void 0 ? void 0 : _a.hide(); + }; + /** + * 弹出插屏广告 + * @param adUid 广告单元id + */ + AdvertManager.prototype.showInterstitial = function (adUid) { + var _a; + if (this._interstitial && this._interstitial.aduid === adUid) { + this._interstitial.show(); + } + else { + (_a = this._interstitial) === null || _a === void 0 ? void 0 : _a.destory(); + this._interstitial = new ADInterstitial(adUid); + this._interstitial.show(); + } + }; + /** + * 加载原生模板广告,不会显示。只有你在调用showCustom时才会显示。 + * 由于原生模板广告在微信服务后端可以定制宽度大小,个数,缩放比例等,所以位置调整要根据设置的宽度来定。抖音不支持本函数,会调用无效! + * @param adUid 广告ID + * @param location 位置有两种情况:1、可以传入枚举值,默认上方; 2、可以自定义位置传入IPosition,注意IPosition中的top和left跟平台的top,left是一致(没有乘以设备像素比ratio),需要开发者自己调试位置 + * @param scale 缩放比例,默认是1,即不缩放。这个缩放并不是自己填,而是根据微信MP后台你配置的原生模板广告的缩放比例填,目前有100%,90%,80%三种,一般情况不用修改。若有后台修改,记得传入值,例如90%就传入0.9。 + */ + AdvertManager.prototype.loadCustom = function (adUid, location, scale) { + if (location === void 0) { location = { top: 0, left: 0 }; } + if (scale === void 0) { scale = 1; } + // this._custom?.destroy(); + // this._custom = new ADCustom(adUid, location.top, location.left, scale); + if (this._customs[adUid]) { + console.log(adUid + " has been loaded."); + return; + } + this._customs[adUid] = new ADCustom(adUid, location.top, location.left, scale); + }; + /** + * 显示自定义广告。 + * @param adUid 广告的唯一标识符。使用此标识符来查找和显示特定的自定义广告。 + * + * 此方法尝试根据提供的adUid显示一个自定义广告。如果给定的adUid对应的自定义广告已加载, + * 则调用该广告的显示方法。如果广告未加载,则在控制台输出警告信息。 + */ + AdvertManager.prototype.showCustom = function (adUid) { + if (this._customs[adUid]) { + this._customs[adUid].show(); + } + else { + console.warn("You have not load " + adUid + " of Custom AD, can not show!"); + } + }; + /** + * 隐藏指定的自定义广告单元 + * + * 此方法用于隐藏通过广告单元标识符(adUid)指定的自定义广告。如果指定的广告单元已加载并显示, + * 则将其隐藏;如果广告单元未加载,则在控制台输出警告信息。 + * + * @param adUid 广告单元标识符,用于唯一标识一个自定义广告单元。 + */ + AdvertManager.prototype.hideCustom = function (adUid) { + if (this._customs[adUid]) { + this._customs[adUid].hide(); + } + else { + console.warn("You have not load " + adUid + " of Custom AD, can not hide!"); + } + }; + /** + * 由于微信和抖音视频广告机制不同,微信可以看的视频广告个数只有0和1个,抖音平台则可以看0~maxVideoCount + * @param adUid 广告ID。如果与上一次UID不同,则内部会重新创建实例。开发者完全不用关心这个细节。 + * @param onVideoResult 两个参数:第一个res是EAdVideoResult定义,第二count是用户看了多少个视频广告。 + * @param target onVideoResult的拥有者 + * @param maxVideoCount 最大视频个数。默认是3,仅对抖音平台生效。微信平台看完视频count的结果永远是1或0 + */ + AdvertManager.prototype.showVideo = function (adUid, onVideoResult, target, maxVideoCount) { + var _a; + if (maxVideoCount === void 0) { maxVideoCount = 3; } + if (this._video && this._video.aduid === adUid) { + this._video.show(onVideoResult, target, maxVideoCount); + } + else { + (_a = this._video) === null || _a === void 0 ? void 0 : _a.destory(); + this._video = new ADVideo(adUid); + this._video.show(onVideoResult, target, maxVideoCount); + } + }; + /** + * 销毁内部所有实例,清空内存 + */ + AdvertManager.prototype.destroyAll = function () { + var _a, _b, _c, _d; + (_a = this._banner) === null || _a === void 0 ? void 0 : _a.destroy(); + this._banner = null; + (_b = this._interstitial) === null || _b === void 0 ? void 0 : _b.destory(); + this._interstitial = null; + (_c = this._video) === null || _c === void 0 ? void 0 : _c.destory(); + this._video = null; + if (this._customs) { + for (var val in this._customs) { + (_d = this._customs[val]) === null || _d === void 0 ? void 0 : _d.destroy(); + } + this._customs = {}; + } + }; + return AdvertManager; + }()); + MiniGameSdk.AdvertManager = AdvertManager; + var EGameClubIcon; + (function (EGameClubIcon) { + /** 绿色图标 */ + EGameClubIcon["GREEN"] = "green"; + /** 红色图标 */ + EGameClubIcon["WHITE"] = "white"; + /** 有黑色圆角背景的白色图标 */ + EGameClubIcon["DARK"] = "dark"; + /** 有白色圆角背景的绿色图标 */ + EGameClubIcon["LIGHT"] = "light"; + })(EGameClubIcon = MiniGameSdk.EGameClubIcon || (MiniGameSdk.EGameClubIcon = {})); + var GameClub = /** @class */ (function () { + function GameClub() { + } + Object.defineProperty(GameClub, "instance", { + get: function () { + if (!this._instance) { + this._instance = new GameClub(); + } + return this._instance; + }, + enumerable: false, + configurable: true + }); + /** + * 创建游戏圈按钮 + * @param icon + * @param position + * @param size + * @param openLink + */ + GameClub.prototype.create = function (icon, position, size, openLink) { + if (icon === void 0) { icon = EGameClubIcon.GREEN; } + if (position === void 0) { position = { top: 0, left: 0 }; } + if (size === void 0) { size = { width: 40, height: 40 }; } + if (isWechat()) { + // @ts-ignore + this._club = wx.createGameClubButton({ + icon: icon, + style: { + left: position.left, + top: position.top, + width: size.width, + height: size.height + }, + openlink: openLink + }); + } + }; + GameClub.prototype.show = function () { + var _a; + (_a = this._club) === null || _a === void 0 ? void 0 : _a.show(); + }; + GameClub.prototype.hide = function () { + var _a; + (_a = this._club) === null || _a === void 0 ? void 0 : _a.hide(); + }; + GameClub.prototype.destory = function () { + var _a; + (_a = this._club) === null || _a === void 0 ? void 0 : _a.destroy(); + }; + return GameClub; + }()); + MiniGameSdk.GameClub = GameClub; + /** + * 振动类型 + */ + var EVirbrateType; + (function (EVirbrateType) { + /** + * 短振动 + */ + EVirbrateType[EVirbrateType["SHORT"] = 0] = "SHORT"; + /** + * 长振动 + */ + EVirbrateType[EVirbrateType["LONG"] = 1] = "LONG"; + })(EVirbrateType = MiniGameSdk.EVirbrateType || (MiniGameSdk.EVirbrateType = {})); + /** + * 平台常用API合集 + */ + var API = /** @class */ (function () { + function API() { + } + /** + * 分享app给朋友,微信小游戏分享是没有onSuccess回调的。 + * @param title 标题 + * @param description 细节描述信息 + * @param imageUrl 图片地址 + * @param query 查询信息 + * @param onSuccess 抖音会回调,微信不会回调 + */ + API.shareAppToFriends = function (title, description, imageUrl, query, onSuccess) { + if (description === void 0) { description = ''; } + if (isWechat()) { + try { + //@ts-ignore + wx.shareAppMessage({ + title: title, + imageUrl: imageUrl, + query: query, + }); + } + catch (err) { + console.log("share faild: " + err); + } + } + if (isBytedance()) { + //@ts-ignore + tt.shareAppMessage({ + title: title, + desc: description, + imageUrl: imageUrl !== null && imageUrl !== void 0 ? imageUrl : '', + query: query !== null && query !== void 0 ? query : '', + success: function (res) { + console.log('share success:', res); + onSuccess === null || onSuccess === void 0 ? void 0 : onSuccess(); + }, + fail: function (res) { + console.log('share fail:', res); + } + }); + } + }; + /** + * 显示提示信息 + * @param title 标题 + * @param duration 时长(单位:秒) + * @returns + */ + API.showToast = function (title, duration) { + if (duration === void 0) { duration = 2; } + if (isWechat()) { + // @ts-ignore + wx.showToast({ + title: title, + icon: 'success', + duration: duration * 1000 + }); + } + if (isBytedance()) { + //@ts-ignore + tt.showToast({ + title: title, + duration: duration * 1000, + success: function (res) { + console.log("" + res); + }, + fail: function (res) { + console.log("showToast\u8C03\u7528\u5931\u8D25"); + }, + }); + } + }; + /** + * 设备震动效果,默认为短震动。注意:可能一些机型不会生效,具体看平台方的说明 + * @param type MiniGameSdk.API.EVirbrateType + */ + API.vibrate = function (type) { + if (type === void 0) { type = EVirbrateType.SHORT; } + if (isWechat()) { + switch (type) { + case EVirbrateType.SHORT: + //@ts-ignore + wx.vibrateShort({ + success: function (res) { + console.log('vibrate success:', res); + }, + fail: function (res) { + console.log('vibrateShort failed', res); + }, + }); + break; + case EVirbrateType.LONG: + //@ts-ignore + wx.vibrateLong({ + success: function (res) { + console.log('vibrate success', res); + }, + fail: function (res) { + console.log("vibrateLong failed", res); + }, + }); + break; + default: + break; + } + } + if (isBytedance()) { + switch (type) { + case EVirbrateType.SHORT: + //@ts-ignore + tt.vibrateShort({ + success: function (res) { + console.log('vibrate success:', res); + }, + fail: function (res) { + console.log('vibrateShort failed', res); + }, + }); + break; + case EVirbrateType.LONG: + //@ts-ignore + tt.vibrateLong({ + success: function (res) { + console.log('vibrate success', res); + }, + fail: function (res) { + console.log("vibrateLong failed", res); + }, + }); + break; + default: + break; + } + } + }; + /** + * 重启小游戏 + */ + API.reboot = function () { + if (isWechat()) { + //@ts-ignore + wx.restartMiniProgram({ + success: function () { + console.log('restart success'); + }, + fail: function () { + console.log('restart failed'); + } + }); + } + if (isBytedance()) { + try { + // @ts-ignore + tt.restartMiniProgramSync(); + } + catch (error) { + console.log("restartMiniProgramSync", error); + } + } + }; + /** + * 退出小游戏 + */ + API.exit = function () { + if (isWechat()) { + //@ts-ignore + wx.exitMiniProgram({ + success: function () { + console.log('exit success'); + }, + fail: function () { + console.log('exit failed'); + } + }); + } + if (isBytedance()) { + // @ts-ignore + tt.exitMiniProgram({ + success: function (res) { + console.log("exit success:", res === null || res === void 0 ? void 0 : res.data); + }, + fail: function (res) { + console.log("exit fail:", res === null || res === void 0 ? void 0 : res.errMsg); + }, + }); + } + }; + /** + * 显示转发按钮。通常在刚进入游戏的时候调用。 + * 主要是打开平台“...”这个按钮里面的分享菜单,一般默认是关闭的,需要调用这个函数打开。可以让用户分享你的游戏入口。 + */ + API.showShareMenu = function () { + if (isWechat()) { + //@ts-ignore + wx.showShareMenu({ + withShareTicket: true, + menus: ['shareAppMessage', 'shareTimeline'], + success: function () { }, + fail: function () { }, + complete: function () { } + }); + } + if (isBytedance()) { + //@ts-ignore + tt.showShareMenu({ + success: function (res) { + console.log("show menu is showing"); + }, + fail: function (err) { + console.log("showShareMenu:", err.errMsg); + }, + complete: function (res) { + console.log("showShareMenu complete"); + }, + }); + } + }; + /** + * 微信小游戏:跳转到另外一款小游戏 + * 抖音小游戏:跳转到指定的视频界面 + * @param targetId 微信小游戏appid或者视频界面 + */ + API.navigateTo = function (targetId, onSuccess) { + if (isWechat()) { + // @ts-ignore + wx.navigateToMiniProgram({ + appId: targetId, + extraData: { + foo: 'bar' + }, + envVersion: 'develop', + success: function (res) { + onSuccess === null || onSuccess === void 0 ? void 0 : onSuccess(); + } + }); + } + if (isBytedance()) { + // @ts-ignore + tt.navigateToVideoView({ + videoId: targetId, + success: function (res) { + onSuccess === null || onSuccess === void 0 ? void 0 : onSuccess(); + }, + fail: function (err) { + console.log("bytedance navigateToVideoView fail", err); + }, + }); + } + }; + /** + * 小游戏平台登录功能。微信返回code,抖音返回code和anonymousCode。用于登录的凭证,需要把这个code传回你的服务器程序中去调用code2Session + * @param callback (code, anonymousCode) 第一个参数为code,微信和抖音都支持;第二个参数为匿名设备ID,仅抖音支持,失败都返回null + */ + API.login = function (callback) { + var loginPlatform = function () { + if (isWechat()) { + //@ts-ignore + wx.login({ + success: function (res) { + if (res.code) { + API._loginCode = res.code; + API._loginAnonymousCode = null; + callback === null || callback === void 0 ? void 0 : callback(API._loginCode, API._loginAnonymousCode); + } + else { + console.log('login error:', res.errMsg); + } + }, + fail: function () { + API._loginCode = null; + API._loginAnonymousCode = null; + callback === null || callback === void 0 ? void 0 : callback(API._loginCode, API._loginAnonymousCode); + console.log('login fail'); + } + }); + } + else if (isBytedance()) { + //@ts-ignore + tt.login({ + force: true, + success: function (res) { + var _a, _b; + console.log("login " + res.code + " " + res.anonymousCode); + if (res.code) { + API._loginCode = (_a = res.code) === null || _a === void 0 ? void 0 : _a.toString(); + API._loginAnonymousCode = (_b = res.anonymousCode) === null || _b === void 0 ? void 0 : _b.toString(); + callback === null || callback === void 0 ? void 0 : callback(API._loginCode, API._loginAnonymousCode); + } + else { + console.log('login error:', res.errMsg); + } + }, + fail: function (res) { + API._loginCode = null; + API._loginAnonymousCode = null; + callback === null || callback === void 0 ? void 0 : callback(API._loginCode, API._loginAnonymousCode); + console.log("login fail", res); + }, + }); + } + else { + API._loginCode = null; + API._loginAnonymousCode = null; + callback === null || callback === void 0 ? void 0 : callback(API._loginCode, API._loginAnonymousCode); + console.log('not mini game platform, login codes are all null'); + } + }; + if (!API._loginCode) { + loginPlatform(); + } + else { + if (isWechat()) { + //@ts-ignore + wx.checkSession({ + success: function () { + console.log("session is valid, use current code:", API._loginCode); + callback === null || callback === void 0 ? void 0 : callback(API._loginCode, API._loginAnonymousCode); + }, + fail: function () { + console.log("session expired"); + loginPlatform(); + } + }); + } + else if (isBytedance()) { + //@ts-ignore + tt.checkSession({ + success: function () { + console.log("session is valid, user current code: " + API._loginCode + ", " + API._loginAnonymousCode); + callback === null || callback === void 0 ? void 0 : callback(API._loginCode, API._loginAnonymousCode); + }, + fail: function () { + console.log("session expired"); + loginPlatform(); + }, + }); + } + else { + console.log('not mini game platform, login null'); + callback === null || callback === void 0 ? void 0 : callback(null, null); + } + } + }; + /** + * 调用微信云函数。由于参数需要自定义,所以为any,需要自行解释。函数只完成通道和处理一场的作用 + * @param callback 返回云函数调用结果。需要检查返回参数是否为空,失败的时候为空 + * @param name 云函数的名字 + * @param data 云函数的内容 + */ + API.callWechatCloudFunction = function (callback, name, data) { + if (!isWechat()) { + console.log('Not wechat platform, not support callWechatCloudFunction'); + return; + } + this.login(function (code, anonymousCode) { + if (!API._hasInitWechatCloudFunction) { + //@ts-ignore + wx.cloud.init(); + API._hasInitWechatCloudFunction = true; + } + //@ts-ignore + wx.cloud.callFunction({ + name: name, + data: data, + success: function (res) { return callback === null || callback === void 0 ? void 0 : callback(res); }, + fail: function (err) { + console.log('wechat cloud function error:', err); + callback === null || callback === void 0 ? void 0 : callback(null); + } + }); + }); + }; + /** + * 存储用户信息,数据量不能大。可以考虑用于分数排行榜。用户之间可共享排行数据。 + * @param key + * @param value + */ + API.setUserCloudStorage = function (key, value) { + if (isWechat()) { + // @ts-ignore + wx.setUserCloudStorage({ + KVDataList: [{ key: key, value: value }], + success: function () { return console.log("set cloud storage success:" + key + ", value:" + value); }, + fail: function (err) { return console.log('set cloud storage error:', err); } + }); + } + if (isBytedance()) { + // @ts-ignore + tt.setUserCloudStorage({ + KVDataList: [{ key: key, value: value, }], + success: function () { return console.log("set cloud storage success:" + key + ", value:" + value); }, + fail: function (err) { return console.log('set cloud storage error:', err); } + }); + } + }; + API._loginCode = null; + API._loginAnonymousCode = null; + API._hasInitWechatCloudFunction = false; + return API; + }()); + MiniGameSdk.API = API; + /** + * 抖音侧边栏专属接口 + */ + var BytedanceSidebar = /** @class */ (function () { + function BytedanceSidebar() { + } + /** + * 本游戏在抖音环境下启动监控,需要放在全局环境中,保证能第一时间启动。因为可能监听抖音失败(抖音小游戏官方的说明)! + * @param onResult 包含一个boolean参数的函数 + * @param target 上述函数的拥有者,如果是类的成员函数,需要传入this。普通或匿名函数忽略即可。 + */ + BytedanceSidebar.listenFromSidebar = function (onResult, target) { + if (!isBytedance()) { + onResult === null || onResult === void 0 ? void 0 : onResult.call(target, false); + return; + } + // @ts-ignore + tt.onShow(function (res) { + console.log('onShow launch res:', res); + if (res.scene === '021036') { + onResult === null || onResult === void 0 ? void 0 : onResult.call(target, true); + console.log('launch from sidebar'); + } + else { + onResult === null || onResult === void 0 ? void 0 : onResult.call(target, false); + console.log('NOT launch from douyin sidebar!'); + } + }); + // @ts-ignore + var options = tt.getLaunchOptionsSync(); + if (options && options.scene === '021036') { + onResult === null || onResult === void 0 ? void 0 : onResult.call(target, true); + } + }; + /** + * 检测抖音侧边栏是否存在 + * @param onResult 包含一个boolean参数的函数 + * @param target 上述函数的拥有者,如果是类的成员函数,需要传入this。普通或匿名函数忽略即可。 + * @returns + */ + BytedanceSidebar.checkSideBar = function (onResult, target) { + if (!isBytedance()) { + onResult === null || onResult === void 0 ? void 0 : onResult.call(target, false); + return; + } + //@ts-ignore + tt.checkScene({ + scene: "sidebar", + success: function (res) { + console.log("check scene success: ", res.isExist); + onResult === null || onResult === void 0 ? void 0 : onResult.call(target, res.isExist); + }, + fail: function (res) { + console.log("check scene fail:", res); + onResult === null || onResult === void 0 ? void 0 : onResult.call(target, false); + } + }); + }; + /** + * 跳转到抖音侧边栏 + * @param onResult 包含一个boolean参数的函数 + * @param target 上述函数的拥有者,如果是类的成员函数,需要传入this。普通或匿名函数忽略即可。 + * @returns + */ + BytedanceSidebar.navigateToSidebar = function (onResult, target) { + if (!isBytedance()) { + console.log("not douyin platform!"); + onResult === null || onResult === void 0 ? void 0 : onResult.call(target, false); + return; + } + // @ts-ignore + tt.navigateToScene({ + scene: "sidebar", + success: function () { + console.log("navigate success"); + onResult === null || onResult === void 0 ? void 0 : onResult.call(target, true); + }, + fail: function (res) { + console.log("navigate failed reason:", res); + onResult === null || onResult === void 0 ? void 0 : onResult.call(target, false); + }, + }); + }; + return BytedanceSidebar; + }()); + MiniGameSdk.BytedanceSidebar = BytedanceSidebar; +})(MiniGameSdk = exports.MiniGameSdk || (exports.MiniGameSdk = {})); + +cc._RF.pop(); \ No newline at end of file diff --git a/temp/quick-scripts/src/assets/Script/Sdk/MiniGameSdk.js.map b/temp/quick-scripts/src/assets/Script/Sdk/MiniGameSdk.js.map new file mode 100644 index 0000000..3f9c546 --- /dev/null +++ b/temp/quick-scripts/src/assets/Script/Sdk/MiniGameSdk.js.map @@ -0,0 +1 @@ +{"version":3,"sources":["assets\\Script\\Sdk\\MiniGameSdk.ts"],"names":[],"mappings":"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","file":"","sourceRoot":"/","sourcesContent":["/**\r\n * 小游戏平台SDK工具封装,目前只支持微信和抖音平台\r\n */\r\nexport namespace MiniGameSdk {\r\n\r\n interface ISize {\r\n width: number;\r\n height: number;\r\n }\r\n\r\n export interface IPosition {\r\n top: number;\r\n left: number;\r\n }\r\n\r\n export function isWechat(): boolean {\r\n //@ts-ignore\r\n return window.wx !== null && window.wx !== undefined;\r\n }\r\n\r\n export function isBytedance(): boolean {\r\n //@ts-ignore\r\n return window.tt !== null && window.tt !== undefined;\r\n }\r\n\r\n function getSysWinSize(): ISize {\r\n let sys: any;\r\n if (isWechat()) {\r\n // @ts-ignore\r\n sys = wx.getSystemInfoSync();\r\n } else if (isBytedance()) {\r\n // @ts-ignore\r\n sys = tt.getSystemInfoSync();\r\n }\r\n\r\n let size: ISize = { width: 0, height: 0 };\r\n if (sys) {\r\n size.width = sys.windowWidth;\r\n size.height = sys.windowHeight;\r\n }\r\n\r\n return size;\r\n }\r\n\r\n /**\r\n * 插屏广告。微信抖音都支持!\r\n */\r\n class ADInterstitial {\r\n private _adUid: string;\r\n private _interstitial: any;\r\n\r\n get aduid() {\r\n return this._adUid;\r\n }\r\n\r\n constructor(adUid: string) {\r\n this._adUid = adUid;\r\n }\r\n\r\n show() {\r\n // @ts-ignore\r\n if (isWechat() && !wx.createInterstitialAd) {\r\n console.warn('wechat unsupport interstitial AD!');\r\n this._interstitial = null;\r\n return;\r\n }\r\n\r\n // @ts-ignore\r\n if (isBytedance() && !tt.createInterstitialAd) {\r\n console.warn('bytedance unsupport interstitial AD!');\r\n this._interstitial = null;\r\n return;\r\n }\r\n\r\n\r\n if (this._interstitial) {\r\n this._interstitial.load();\r\n } else {\r\n if (isWechat()) {\r\n // @ts-ignore\r\n this._interstitial = wx.createInterstitialAd({ adUnitId: this._adUid });\r\n } else if (isBytedance()) {\r\n // @ts-ignore\r\n this._interstitial = tt.createInterstitialAd({ adUnitId: this._adUid });\r\n } else {\r\n this._interstitial = null;\r\n }\r\n\r\n this._interstitial?.onLoad(() => {\r\n console.log('load interstitial ad success');\r\n this._interstitial.show().catch((err: any) => {\r\n console.log('catch interstitial ad error:', err);\r\n });\r\n });\r\n\r\n this._interstitial?.onError((err: any) => {\r\n console.log('interstitial ad on error:', err);\r\n });\r\n }\r\n }\r\n destory() {\r\n this._interstitial?.destroy();\r\n }\r\n }\r\n\r\n class ADBanner {\r\n private _adUid: string;\r\n private _banner: any;\r\n\r\n get aduid() {\r\n return this._adUid;\r\n }\r\n\r\n /**\r\n * 抖音和微信都支持\r\n * 横幅广告。预估宽度默认为300,预估高度为140。如果你不确定就按默认值来。\r\n * @param adUid 广告UID,后端配置\r\n * @param isTop 是否在屏幕顶部展示。内部会自动居中计算位置。\r\n * @param bannerWidth 横幅广告的预估宽度。默认300\r\n * @param autoShow 广告加载完成后是否立刻显示,默认为不显示\r\n */\r\n constructor(adUid: string, param: boolean | IPosition, bannerWidth: number = 300, autoShow: boolean = false) {\r\n this._adUid = adUid;\r\n this.create(autoShow, bannerWidth, param); // 默认300比较合适\r\n }\r\n\r\n private create(autoShow: boolean, bannerWidth: number, param: boolean | IPosition) {\r\n if (!isWechat() && !isBytedance()) {\r\n this._banner = null;\r\n return;\r\n }\r\n\r\n this.destroy();\r\n\r\n let winSize = getSysWinSize();\r\n\r\n let height = bannerWidth * 0.4;\r\n let top = 0, left = 0;\r\n\r\n if (typeof param === \"boolean\") {\r\n left = (winSize.width - bannerWidth) / 2\r\n top = param ? 5 : (winSize.height - height);\r\n } else {\r\n left = param.left;\r\n top = param.top;\r\n }\r\n\r\n let params = {\r\n adUnitId: this._adUid,\r\n adIntervals: 30,// 自动刷新频率不能小于30秒\r\n style: { left: left, top: top, width: bannerWidth }\r\n }\r\n\r\n if (isWechat()) {\r\n // @ts-ignore\r\n this._banner = wx.createBannerAd(params);\r\n } else if (isBytedance()) {\r\n // @ts-ignore\r\n this._banner = tt.createBannerAd(params);\r\n } else {\r\n this._banner = null;\r\n }\r\n\r\n this._banner?.onError((err: any) => {\r\n console.log('ad banner error:', err);\r\n });\r\n\r\n this._banner?.onLoad(() => {\r\n autoShow && this._banner.show();\r\n });\r\n }\r\n\r\n show() {\r\n this._banner?.show();\r\n }\r\n\r\n hide() {\r\n this._banner?.hide();\r\n }\r\n\r\n destroy() {\r\n this._banner?.destroy();\r\n }\r\n }\r\n\r\n class ADCustom {\r\n private _adUid: string;\r\n private _adCustom: any;\r\n\r\n get aduid() {\r\n return this._adUid;\r\n }\r\n /**\r\n * 由于原生模板广告在微信服务后端可以定制宽度大小,个数,缩放比例等,所以位置调整要根据设置的宽度来定。抖音不支持!\r\n * @param adUid 广告UID,后端配置\r\n * @param top 从左上角开始,距离屏幕顶部的距离。注意:这个数据为设备屏幕宽度width。如果需要获取屏幕的像素,需要乘以设备像素比Pixel-Ratio,例如iPhone 13 Pro的Pixel-Ratio为3,像素为Width*3。\r\n * @param left 从左上角开始,距离屏幕最左边的距离。注意:这个数据为设备屏幕宽度width。如果需要获取屏幕的像素,需要乘以设备像素比Pixel-Ratio,例如iPhone 13 Pro的Pixel-Ratio为3,像素为Width*3。\r\n * @param scale 原生模板广告的尺寸,默认为1,即100%。此值在微信服务后端广告中获得,默认为100%,目前有100%,90%,80%三种,一般情况不用修改。若有修改,记得传入值,例如90%就传入0.9。\r\n */\r\n constructor(adUid: string, top: number = 0, left: number = 0, scale: number = 1.0) {\r\n this._adUid = adUid;\r\n this.createCustomAd(top, left, scale);\r\n }\r\n\r\n private createCustomAd(top: number, left: number, scale: number) {\r\n if (!isWechat()) { // only wechat support custom ad\r\n this._adCustom = null;\r\n console.log('Only wechat support Custom Ad');\r\n return;\r\n }\r\n\r\n this.destroy();\r\n // 原生模板5个应用宽度为375,若设置了缩放比例,则宽度也需要设置\r\n // let width = 375 * this._scale;\r\n // let newLeft = (sys.windowWidth - width) / 2;\r\n // let newTop = sys.windowHeight / 2; // 120是预估高度\r\n\r\n // @ts-ignore\r\n this._adCustom = wx.createCustomAd({\r\n adUnitId: this._adUid,\r\n style: { left: left, top: top, fixed: true }\r\n });\r\n\r\n this._adCustom?.onError((err: any) => {\r\n console.log('ad custom error:', err);\r\n });\r\n }\r\n show() {\r\n this._adCustom?.show();\r\n }\r\n\r\n hide() {\r\n this._adCustom?.hide();\r\n }\r\n\r\n destroy() {\r\n this._adCustom?.destroy();\r\n }\r\n }\r\n\r\n\r\n /**\r\n * 视频广告用户点击行为结果\r\n */\r\n export enum EAdVideoResult {\r\n /**\r\n * 用户看完了广告,游戏可发放奖励。\r\n */\r\n ACCEPT,\r\n\r\n /**\r\n * 用户中途关闭了广告,即未看完状态。不可发放奖励。\r\n */\r\n REJECT,\r\n\r\n /**\r\n * 广告组件内部发生了错误。不可发放奖励。\r\n */\r\n ERROR,\r\n }\r\n\r\n class ADVideo {\r\n private _adUid: string;\r\n private _adVideo: any = null;\r\n\r\n get aduid() {\r\n return this._adUid;\r\n }\r\n\r\n constructor(adUid: string) {\r\n this._adUid = adUid;\r\n }\r\n\r\n /**\r\n * 由于微信和抖音视频广告机制不同,微信可以看的视频广告个数只有0和1个,抖音平台则可以看0~maxVideoCount\r\n * @param onResult 两个参数:第一个res是EAdVideoResult定义,第二count是用户看了多少个视频广告。\r\n * @param target onResult的拥有者\r\n * @param maxVideoCount 可以连续看最大视频个数,可最大化商业效率。默认为3个。\r\n * @returns \r\n */\r\n show(onResult: (res: EAdVideoResult, count: number) => void, target?: any, maxVideoCount: number = 3): void {\r\n let callback = (state: EAdVideoResult, count: number) => {\r\n onResult?.call(target, state, count);\r\n }\r\n\r\n if (!isWechat() && !isBytedance()) {\r\n callback(EAdVideoResult.ACCEPT, 1);\r\n this._adVideo = null;\r\n return;\r\n }\r\n\r\n let onAdVideoClosed = (res: any) => {\r\n this._adVideo?.offClose(onAdVideoClosed);\r\n if (isWechat()) {\r\n if (res && res.isEnded || res === undefined) {\r\n callback(EAdVideoResult.ACCEPT, 1);\r\n } else {\r\n callback(EAdVideoResult.REJECT, 0);\r\n }\r\n } else if (isBytedance()) {\r\n let resConverted = res as { isEnded: boolean, count: number };\r\n if (resConverted && resConverted.count > 0) {\r\n callback(EAdVideoResult.ACCEPT, resConverted.count);\r\n } else {\r\n callback(EAdVideoResult.REJECT, 0);\r\n }\r\n }\r\n }\r\n\r\n this._adVideo?.offClose(onAdVideoClosed);\r\n\r\n if (isWechat()) {\r\n // @ts-ignore\r\n this._adVideo = wx.createRewardedVideoAd({\r\n adUnitId: this._adUid\r\n });\r\n } else if (isBytedance()) {\r\n // @ts-ignore\r\n this._adVideo = tt.createRewardedVideoAd({\r\n adUnitId: this._adUid,\r\n multiton: true,\r\n multitonRewardMsg: ['多1次奖励', '再多一次奖励', '再多一次奖励'],\r\n multitonRewardTimes: maxVideoCount,\r\n });\r\n } else {\r\n this._adVideo = null;\r\n }\r\n\r\n\r\n this._adVideo?.onLoad(() => {\r\n console.log('Ad load success');\r\n });\r\n\r\n this._adVideo?.onError((err: { errMsg: string, errCode: number }) => {\r\n console.log('Ad video error:', err);\r\n callback(EAdVideoResult.ERROR, 0);\r\n });\r\n\r\n this._adVideo?.onClose(onAdVideoClosed);\r\n\r\n this._adVideo?.show().catch(() => {\r\n this._adVideo?.load().then(() =>\r\n this._adVideo?.show()).catch((err: { errMsg: string, errCode: number }) => {\r\n console.log('Catch video ad error:', err);\r\n callback(EAdVideoResult.ERROR, 0);\r\n });\r\n });\r\n }\r\n\r\n destory() {\r\n this._adVideo?.destory();\r\n }\r\n }\r\n\r\n export enum EAdBannerLocation {\r\n /**\r\n * 屏幕顶部\r\n */\r\n TOP,\r\n\r\n /**\r\n * 屏幕底部\r\n */\r\n BOTTOM,\r\n }\r\n\r\n export class AdvertManager {\r\n\r\n private static _instance: AdvertManager;\r\n\r\n static get instance(): AdvertManager {\r\n if (!AdvertManager._instance) {\r\n AdvertManager._instance = new AdvertManager();\r\n }\r\n return AdvertManager._instance;\r\n }\r\n\r\n private _video: ADVideo;\r\n private _interstitial: ADInterstitial;\r\n private _banner: ADBanner;\r\n private _customs: Record = {};\r\n\r\n private constructor() {\r\n\r\n }\r\n\r\n /**\r\n * 预加载横幅广告,不会显示。只有你在调用showBanner时才会显示。\r\n * 可重复调用,但是会销毁上一次的实例。一般情况,全局有一个就行了,太多占用内存,而且没必要。\r\n * @param adUid 广告UID\r\n * @param location 位置有两种情况:1、可以传入枚举值,默认上方; 2、可以自定义位置传入IPosition,注意IPosition中的top和left跟平台的top,left是一致(没有乘以设备像素比ratio),需要开发者自己调试位置\r\n * @param scale 默认为跟屏幕一样的宽度,可以通过设置缩放比例来调整大小。当然,平台有规定最大或最小宽度,函数内部会自动计算。\r\n */\r\n public loadBanner(adUid: string, location: EAdBannerLocation | IPosition = EAdBannerLocation.TOP, scale: number = 1.0) {\r\n this._banner?.destroy();\r\n let size: ISize = getSysWinSize();\r\n // 当 style.width 小于 300 时,会取作 300。 当 style.width 大于屏幕宽度时,会取作屏幕宽度。\r\n let width = size.width * scale;\r\n width = width < 300 ? 300 : width; // 最小值矫正\r\n width = width > size.width ? size.width : width; //最大值矫正\r\n this._banner = typeof location === 'number' ? new ADBanner(adUid, location === EAdBannerLocation.TOP, width, false) : new ADBanner(adUid, location, width, false);\r\n }\r\n\r\n /**\r\n * 显示横幅广告\r\n */\r\n public showBanner() {\r\n if (this._banner) {\r\n this._banner.show();\r\n } else {\r\n console.warn('MiniGameSDK: banner is null, you must call loadBanner(...) first!');\r\n }\r\n }\r\n\r\n /**\r\n * 隐藏横幅广告\r\n */\r\n public hideBanner() {\r\n this._banner?.hide();\r\n }\r\n\r\n /**\r\n * 弹出插屏广告\r\n * @param adUid 广告单元id\r\n */\r\n public showInterstitial(adUid: string) {\r\n if (this._interstitial && this._interstitial.aduid === adUid) {\r\n this._interstitial.show();\r\n } else {\r\n this._interstitial?.destory();\r\n this._interstitial = new ADInterstitial(adUid);\r\n this._interstitial.show();\r\n }\r\n }\r\n\r\n /**\r\n * 加载原生模板广告,不会显示。只有你在调用showCustom时才会显示。\r\n * 由于原生模板广告在微信服务后端可以定制宽度大小,个数,缩放比例等,所以位置调整要根据设置的宽度来定。抖音不支持本函数,会调用无效!\r\n * @param adUid 广告ID\r\n * @param location 位置有两种情况:1、可以传入枚举值,默认上方; 2、可以自定义位置传入IPosition,注意IPosition中的top和left跟平台的top,left是一致(没有乘以设备像素比ratio),需要开发者自己调试位置\r\n * @param scale 缩放比例,默认是1,即不缩放。这个缩放并不是自己填,而是根据微信MP后台你配置的原生模板广告的缩放比例填,目前有100%,90%,80%三种,一般情况不用修改。若有后台修改,记得传入值,例如90%就传入0.9。\r\n */\r\n public loadCustom(adUid: string, location: IPosition = { top: 0, left: 0 }, scale: number = 1) {\r\n // this._custom?.destroy();\r\n // this._custom = new ADCustom(adUid, location.top, location.left, scale);\r\n if (this._customs[adUid]) {\r\n console.log(`${adUid} has been loaded.`);\r\n return;\r\n }\r\n\r\n this._customs[adUid] = new ADCustom(adUid, location.top, location.left, scale);\r\n }\r\n\r\n /**\r\n * 显示自定义广告。\r\n * @param adUid 广告的唯一标识符。使用此标识符来查找和显示特定的自定义广告。\r\n * \r\n * 此方法尝试根据提供的adUid显示一个自定义广告。如果给定的adUid对应的自定义广告已加载,\r\n * 则调用该广告的显示方法。如果广告未加载,则在控制台输出警告信息。\r\n */\r\n public showCustom(adUid: string) {\r\n if (this._customs[adUid]) {\r\n this._customs[adUid].show();\r\n } else {\r\n console.warn(`You have not load ${adUid} of Custom AD, can not show!`);\r\n }\r\n }\r\n\r\n /**\r\n * 隐藏指定的自定义广告单元\r\n * \r\n * 此方法用于隐藏通过广告单元标识符(adUid)指定的自定义广告。如果指定的广告单元已加载并显示,\r\n * 则将其隐藏;如果广告单元未加载,则在控制台输出警告信息。\r\n * \r\n * @param adUid 广告单元标识符,用于唯一标识一个自定义广告单元。\r\n */\r\n public hideCustom(adUid: string) {\r\n if (this._customs[adUid]) {\r\n this._customs[adUid].hide();\r\n } else {\r\n console.warn(`You have not load ${adUid} of Custom AD, can not hide!`);\r\n }\r\n }\r\n\r\n /**\r\n * 由于微信和抖音视频广告机制不同,微信可以看的视频广告个数只有0和1个,抖音平台则可以看0~maxVideoCount\r\n * @param adUid 广告ID。如果与上一次UID不同,则内部会重新创建实例。开发者完全不用关心这个细节。\r\n * @param onVideoResult 两个参数:第一个res是EAdVideoResult定义,第二count是用户看了多少个视频广告。 \r\n * @param target onVideoResult的拥有者\r\n * @param maxVideoCount 最大视频个数。默认是3,仅对抖音平台生效。微信平台看完视频count的结果永远是1或0\r\n */\r\n public showVideo(adUid: string, onVideoResult: (res: EAdVideoResult, count: number) => void, target?: any, maxVideoCount: number = 3) {\r\n if (this._video && this._video.aduid === adUid) {\r\n this._video.show(onVideoResult, target, maxVideoCount);\r\n } else {\r\n this._video?.destory();\r\n this._video = new ADVideo(adUid);\r\n this._video.show(onVideoResult, target, maxVideoCount);\r\n }\r\n }\r\n\r\n /**\r\n * 销毁内部所有实例,清空内存\r\n */\r\n public destroyAll() {\r\n this._banner?.destroy();\r\n this._banner = null;\r\n\r\n this._interstitial?.destory();\r\n this._interstitial = null;\r\n\r\n this._video?.destory();\r\n this._video = null;\r\n\r\n if (this._customs) {\r\n for (let val in this._customs) {\r\n this._customs[val]?.destroy();\r\n }\r\n this._customs = {};\r\n }\r\n }\r\n }\r\n\r\n export enum EGameClubIcon {\r\n /** 绿色图标 */\r\n GREEN = 'green',\r\n\r\n /** 红色图标 */\r\n WHITE = 'white',\r\n\r\n /** 有黑色圆角背景的白色图标 */\r\n DARK = 'dark',\r\n\r\n /** 有白色圆角背景的绿色图标 */\r\n LIGHT = 'light'\r\n }\r\n\r\n export class GameClub {\r\n private static _instance: GameClub;\r\n\r\n static get instance(): GameClub {\r\n if (!this._instance) {\r\n this._instance = new GameClub();\r\n }\r\n return this._instance;\r\n }\r\n\r\n private _club: any;\r\n\r\n private constructor() {\r\n\r\n }\r\n\r\n /**\r\n * 创建游戏圈按钮\r\n * @param icon \r\n * @param position \r\n * @param size \r\n * @param openLink \r\n */\r\n create(icon: EGameClubIcon = EGameClubIcon.GREEN, position: IPosition = { top: 0, left: 0 }, size: ISize = { width: 40, height: 40 }, openLink?: string) {\r\n if (isWechat()) {\r\n // @ts-ignore\r\n this._club = wx.createGameClubButton({\r\n icon: icon,\r\n style: {\r\n left: position.left,\r\n top: position.top,\r\n width: size.width,\r\n height: size.height\r\n },\r\n openlink: openLink\r\n });\r\n }\r\n }\r\n\r\n show() {\r\n this._club?.show();\r\n }\r\n\r\n hide() {\r\n this._club?.hide();\r\n }\r\n\r\n destory() {\r\n this._club?.destroy();\r\n }\r\n }\r\n\r\n\r\n /**\r\n * 振动类型\r\n */\r\n export enum EVirbrateType {\r\n /**\r\n * 短振动\r\n */\r\n SHORT,\r\n\r\n /**\r\n * 长振动\r\n */\r\n LONG\r\n }\r\n\r\n /**\r\n * 平台常用API合集\r\n */\r\n export class API {\r\n private static _loginCode: string = null;\r\n private static _loginAnonymousCode: string = null;\r\n private static _hasInitWechatCloudFunction: boolean = false;\r\n\r\n\r\n /**\r\n * 分享app给朋友,微信小游戏分享是没有onSuccess回调的。\r\n * @param title 标题\r\n * @param description 细节描述信息 \r\n * @param imageUrl 图片地址\r\n * @param query 查询信息\r\n * @param onSuccess 抖音会回调,微信不会回调\r\n */\r\n static shareAppToFriends(title: string, description: string = '', imageUrl?: string, query?: string, onSuccess?: () => void) {\r\n if (isWechat()) {\r\n try {\r\n //@ts-ignore\r\n wx.shareAppMessage({\r\n title: title,\r\n imageUrl: imageUrl,\r\n query: query,\r\n });\r\n } catch (err) {\r\n console.log(`share faild: ${err}`);\r\n }\r\n }\r\n\r\n if (isBytedance()) {\r\n //@ts-ignore\r\n tt.shareAppMessage({\r\n title: title,\r\n desc: description,\r\n imageUrl: imageUrl ?? '',\r\n query: query ?? '',\r\n success(res: any) {\r\n console.log('share success:', res);\r\n onSuccess?.();\r\n },\r\n fail(res: any) {\r\n console.log('share fail:', res);\r\n }\r\n });\r\n }\r\n }\r\n\r\n /**\r\n * 显示提示信息\r\n * @param title 标题\r\n * @param duration 时长(单位:秒)\r\n * @returns \r\n */\r\n static showToast(title: string, duration: number = 2) {\r\n if (isWechat()) {\r\n // @ts-ignore\r\n wx.showToast({\r\n title: title,\r\n icon: 'success',\r\n duration: duration * 1000\r\n });\r\n }\r\n\r\n if (isBytedance()) {\r\n //@ts-ignore\r\n tt.showToast({\r\n title: title,\r\n duration: duration * 1000,\r\n success(res: any) {\r\n console.log(`${res}`);\r\n },\r\n fail(res: any) {\r\n console.log(`showToast调用失败`);\r\n },\r\n });\r\n }\r\n }\r\n\r\n /**\r\n * 设备震动效果,默认为短震动。注意:可能一些机型不会生效,具体看平台方的说明\r\n * @param type MiniGameSdk.API.EVirbrateType\r\n */\r\n static vibrate(type: EVirbrateType = EVirbrateType.SHORT) {\r\n if (isWechat()) {\r\n switch (type) {\r\n case EVirbrateType.SHORT:\r\n //@ts-ignore\r\n wx.vibrateShort({\r\n success(res: any) {\r\n console.log('vibrate success:', res);\r\n },\r\n fail(res: any) {\r\n console.log('vibrateShort failed', res);\r\n },\r\n });\r\n break;\r\n case EVirbrateType.LONG:\r\n //@ts-ignore\r\n wx.vibrateLong({\r\n success(res: any) {\r\n console.log('vibrate success', res);\r\n },\r\n fail(res: any) {\r\n console.log(`vibrateLong failed`, res);\r\n },\r\n });\r\n break;\r\n default:\r\n break;\r\n }\r\n }\r\n\r\n if (isBytedance()) {\r\n switch (type) {\r\n case EVirbrateType.SHORT:\r\n //@ts-ignore\r\n tt.vibrateShort({\r\n success(res: any) {\r\n console.log('vibrate success:', res);\r\n },\r\n fail(res: any) {\r\n console.log('vibrateShort failed', res);\r\n },\r\n });\r\n break;\r\n case EVirbrateType.LONG:\r\n //@ts-ignore\r\n tt.vibrateLong({\r\n success(res: any) {\r\n console.log('vibrate success', res);\r\n },\r\n fail(res: any) {\r\n console.log(`vibrateLong failed`, res);\r\n },\r\n });\r\n break;\r\n default:\r\n break;\r\n }\r\n }\r\n }\r\n\r\n /**\r\n * 重启小游戏\r\n */\r\n static reboot() {\r\n if (isWechat()) {\r\n //@ts-ignore\r\n wx.restartMiniProgram({\r\n success: () => {\r\n console.log('restart success');\r\n },\r\n\r\n fail: () => {\r\n console.log('restart failed');\r\n }\r\n })\r\n }\r\n\r\n if (isBytedance()) {\r\n try {\r\n // @ts-ignore\r\n tt.restartMiniProgramSync();\r\n } catch (error) {\r\n console.log(`restartMiniProgramSync`, error);\r\n }\r\n }\r\n }\r\n\r\n /**\r\n * 退出小游戏\r\n */\r\n static exit() {\r\n if (isWechat()) {\r\n //@ts-ignore\r\n wx.exitMiniProgram({\r\n success: () => {\r\n console.log('exit success');\r\n },\r\n fail: () => {\r\n console.log('exit failed');\r\n }\r\n });\r\n }\r\n\r\n if (isBytedance()) {\r\n // @ts-ignore\r\n tt.exitMiniProgram({\r\n success(res: any) {\r\n console.log(\"exit success:\", res?.data);\r\n },\r\n fail(res: any) {\r\n console.log(\"exit fail:\", res?.errMsg);\r\n },\r\n });\r\n }\r\n }\r\n\r\n /**\r\n * 显示转发按钮。通常在刚进入游戏的时候调用。\r\n * 主要是打开平台“...”这个按钮里面的分享菜单,一般默认是关闭的,需要调用这个函数打开。可以让用户分享你的游戏入口。\r\n */\r\n static showShareMenu() {\r\n if (isWechat()) {\r\n //@ts-ignore\r\n wx.showShareMenu({\r\n withShareTicket: true,\r\n menus: ['shareAppMessage', 'shareTimeline'],\r\n success: () => { },\r\n fail: () => { },\r\n complete: () => { }\r\n });\r\n }\r\n\r\n if (isBytedance()) {\r\n //@ts-ignore\r\n tt.showShareMenu({\r\n success(res: any) {\r\n console.log(\"show menu is showing\");\r\n },\r\n fail(err: any) {\r\n console.log(\"showShareMenu:\", err.errMsg);\r\n },\r\n complete(res: any) {\r\n console.log(\"showShareMenu complete\");\r\n },\r\n });\r\n }\r\n }\r\n\r\n /**\r\n * 微信小游戏:跳转到另外一款小游戏\r\n * 抖音小游戏:跳转到指定的视频界面\r\n * @param targetId 微信小游戏appid或者视频界面\r\n */\r\n static navigateTo(targetId: string, onSuccess?: () => void) {\r\n if (isWechat()) {\r\n // @ts-ignore\r\n wx.navigateToMiniProgram({\r\n appId: targetId,\r\n extraData: {\r\n foo: 'bar'\r\n },\r\n envVersion: 'develop',\r\n success(res: any) {\r\n onSuccess?.();\r\n }\r\n });\r\n }\r\n\r\n if (isBytedance()) {\r\n // @ts-ignore\r\n tt.navigateToVideoView({\r\n videoId: targetId,\r\n success: (res: any) => {\r\n onSuccess?.();\r\n },\r\n fail: (err: any) => {\r\n console.log(\"bytedance navigateToVideoView fail\", err);\r\n },\r\n });\r\n }\r\n }\r\n\r\n\r\n /**\r\n * 小游戏平台登录功能。微信返回code,抖音返回code和anonymousCode。用于登录的凭证,需要把这个code传回你的服务器程序中去调用code2Session\r\n * @param callback (code, anonymousCode) 第一个参数为code,微信和抖音都支持;第二个参数为匿名设备ID,仅抖音支持,失败都返回null\r\n */\r\n static login(callback: (code: string, anonymousCode: string) => void) {\r\n let loginPlatform = () => {\r\n if (isWechat()) {\r\n //@ts-ignore\r\n wx.login({\r\n success: (res: { code: any; errMsg: any; }) => {\r\n if (res.code) {\r\n API._loginCode = res.code;\r\n API._loginAnonymousCode = null;\r\n callback?.(API._loginCode, API._loginAnonymousCode);\r\n } else {\r\n console.log('login error:', res.errMsg)\r\n }\r\n },\r\n\r\n fail: () => {\r\n API._loginCode = null;\r\n API._loginAnonymousCode = null;\r\n callback?.(API._loginCode, API._loginAnonymousCode);\r\n console.log('login fail')\r\n }\r\n });\r\n } else if (isBytedance()) {\r\n //@ts-ignore\r\n tt.login({\r\n force: true,\r\n success(res: any) {\r\n console.log(`login ${res.code} ${res.anonymousCode}`);\r\n if (res.code) {\r\n API._loginCode = res.code?.toString();\r\n API._loginAnonymousCode = res.anonymousCode?.toString();\r\n callback?.(API._loginCode, API._loginAnonymousCode);\r\n } else {\r\n console.log('login error:', res.errMsg)\r\n }\r\n },\r\n fail(res: any) {\r\n API._loginCode = null;\r\n API._loginAnonymousCode = null;\r\n callback?.(API._loginCode, API._loginAnonymousCode);\r\n console.log(`login fail`, res);\r\n },\r\n });\r\n } else {\r\n API._loginCode = null;\r\n API._loginAnonymousCode = null;\r\n callback?.(API._loginCode, API._loginAnonymousCode);\r\n console.log('not mini game platform, login codes are all null');\r\n }\r\n }\r\n\r\n\r\n\r\n if (!API._loginCode) {\r\n loginPlatform();\r\n } else {\r\n if (isWechat()) {\r\n //@ts-ignore\r\n wx.checkSession({\r\n success() {\r\n console.log(`session is valid, use current code:`, API._loginCode);\r\n callback?.(API._loginCode, API._loginAnonymousCode);\r\n },\r\n fail() {\r\n console.log(`session expired`);\r\n loginPlatform();\r\n }\r\n });\r\n } else if (isBytedance()) {\r\n //@ts-ignore\r\n tt.checkSession({\r\n success() {\r\n console.log(`session is valid, user current code: ${API._loginCode}, ${API._loginAnonymousCode}`);\r\n callback?.(API._loginCode, API._loginAnonymousCode);\r\n },\r\n fail() {\r\n console.log(`session expired`);\r\n loginPlatform();\r\n },\r\n });\r\n\r\n } else {\r\n console.log('not mini game platform, login null');\r\n callback?.(null, null);\r\n }\r\n }\r\n }\r\n\r\n /**\r\n * 调用微信云函数。由于参数需要自定义,所以为any,需要自行解释。函数只完成通道和处理一场的作用\r\n * @param callback 返回云函数调用结果。需要检查返回参数是否为空,失败的时候为空\r\n * @param name 云函数的名字\r\n * @param data 云函数的内容\r\n */\r\n static callWechatCloudFunction(callback: (res: any) => void, name: string, data: {}) {\r\n if (!isWechat()) {\r\n console.log('Not wechat platform, not support callWechatCloudFunction');\r\n return;\r\n }\r\n\r\n this.login((code: string, anonymousCode: string) => {\r\n if (!API._hasInitWechatCloudFunction) {\r\n //@ts-ignore\r\n wx.cloud.init();\r\n API._hasInitWechatCloudFunction = true;\r\n }\r\n //@ts-ignore\r\n wx.cloud.callFunction({\r\n name: name,\r\n data: data,\r\n success: (res: any) => callback?.(res),\r\n fail: (err: any) => {\r\n console.log('wechat cloud function error:', err);\r\n callback?.(null);\r\n }\r\n });\r\n });\r\n }\r\n\r\n /**\r\n * 存储用户信息,数据量不能大。可以考虑用于分数排行榜。用户之间可共享排行数据。\r\n * @param key \r\n * @param value \r\n */\r\n static setUserCloudStorage(key: string, value: string) {\r\n if (isWechat()) {\r\n // @ts-ignore\r\n wx.setUserCloudStorage({\r\n KVDataList: [{ key: key, value: value }],\r\n success: () => console.log(`set cloud storage success:${key}, value:${value}`),\r\n fail: (err: any) => console.log('set cloud storage error:', err)\r\n });\r\n }\r\n\r\n if (isBytedance()) {\r\n // @ts-ignore\r\n tt.setUserCloudStorage({\r\n KVDataList: [{ key: key, value: value, }],\r\n success: () => console.log(`set cloud storage success:${key}, value:${value}`),\r\n fail: (err: any) => console.log('set cloud storage error:', err)\r\n });\r\n }\r\n }\r\n }\r\n\r\n\r\n /**\r\n * 抖音侧边栏专属接口\r\n */\r\n export class BytedanceSidebar {\r\n /**\r\n * 本游戏在抖音环境下启动监控,需要放在全局环境中,保证能第一时间启动。因为可能监听抖音失败(抖音小游戏官方的说明)!\r\n * @param onResult 包含一个boolean参数的函数\r\n * @param target 上述函数的拥有者,如果是类的成员函数,需要传入this。普通或匿名函数忽略即可。\r\n */\r\n static listenFromSidebar(onResult: (success: boolean) => void, target?: any) {\r\n if (!isBytedance()) {\r\n onResult?.call(target, false);\r\n return;\r\n }\r\n // @ts-ignore\r\n tt.onShow((res: any) => {\r\n console.log('onShow launch res:', res);\r\n if (res.scene === '021036') {\r\n onResult?.call(target, true);\r\n console.log('launch from sidebar');\r\n } else {\r\n onResult?.call(target, false);\r\n console.log('NOT launch from douyin sidebar!');\r\n }\r\n });\r\n\r\n // @ts-ignore\r\n let options = tt.getLaunchOptionsSync();\r\n if (options && options.scene === '021036') {\r\n onResult?.call(target, true);\r\n }\r\n }\r\n\r\n /**\r\n * 检测抖音侧边栏是否存在\r\n * @param onResult 包含一个boolean参数的函数\r\n * @param target 上述函数的拥有者,如果是类的成员函数,需要传入this。普通或匿名函数忽略即可。\r\n * @returns \r\n */\r\n static checkSideBar(onResult: (success: boolean) => void, target?: any) {\r\n if (!isBytedance()) {\r\n onResult?.call(target, false);\r\n return;\r\n }\r\n\r\n //@ts-ignore\r\n tt.checkScene({\r\n scene: \"sidebar\",\r\n success: (res: any) => {\r\n console.log(\"check scene success: \", res.isExist);\r\n onResult?.call(target, res.isExist);\r\n\r\n },\r\n fail: (res: any) => {\r\n console.log(\"check scene fail:\", res);\r\n onResult?.call(target, false);\r\n }\r\n });\r\n }\r\n\r\n /**\r\n * 跳转到抖音侧边栏\r\n * @param onResult 包含一个boolean参数的函数\r\n * @param target 上述函数的拥有者,如果是类的成员函数,需要传入this。普通或匿名函数忽略即可。\r\n * @returns \r\n */\r\n static navigateToSidebar(onResult: (success: boolean) => void, target?: any) {\r\n if (!isBytedance()) {\r\n console.log(\"not douyin platform!\");\r\n onResult?.call(target, false);\r\n return;\r\n }\r\n\r\n // @ts-ignore\r\n tt.navigateToScene({\r\n scene: \"sidebar\",\r\n success: () => {\r\n console.log(\"navigate success\");\r\n onResult?.call(target, true);\r\n },\r\n fail: (res: any) => {\r\n console.log(\"navigate failed reason:\", res);\r\n onResult?.call(target, false);\r\n },\r\n });\r\n }\r\n }\r\n\r\n}"]} \ No newline at end of file diff --git a/temp/quick-scripts/src/assets/Script/module/Config/GameConfig.js b/temp/quick-scripts/src/assets/Script/module/Config/GameConfig.js index a1ae8c4..2e7fefb 100644 --- a/temp/quick-scripts/src/assets/Script/module/Config/GameConfig.js +++ b/temp/quick-scripts/src/assets/Script/module/Config/GameConfig.js @@ -141,14 +141,14 @@ var GameConfig = /** @class */ (function () { matchId: null, custom: 0, round: 0, - level: 6, + level: 0, stepTimeList: 0, successList: [], fen: 0, score: 0, igniteCount: 0, - min_Steps: 15, - min_Time: 5 //每一把上次距离洪峰到来时间 + min_Steps: 0, + min_Time: 0 //每一把上次距离洪峰到来时间 }; }; GameConfig.GM_INFO_SET = function (key, value) { @@ -221,7 +221,7 @@ var GameConfig = /** @class */ (function () { // } // ], // ] - this.LEVEL_INFO = [[{ "id": "1001", "map": [[0, 4, 0, 0], [0, 0, 0, 0], [0, 0, 0, 0], [0, 0, 1, 0]], "min_steps": 3 }, { "id": "1002", "map": [[1, 0, 0, 0], [0, 0, 0, 4], [0, 0, 0, 0], [0, 0, 0, 0]], "min_steps": 3 }, { "id": "1004", "map": [[1, 0, 0, 0], [0, 0, 0, 0], [0, 0, 0, 0], [0, 4, 0, 0]], "min_steps": 3 }, { "id": "1006", "map": [[4, 0, 0, 0], [0, 0, 0, 0], [0, 0, 0, 0], [0, 1, 0, 0]], "min_steps": 3 }, { "id": "1003", "map": [[1, 0, 0, 0], [0, 0, 0, 0], [0, 0, 0, 0], [0, 0, 0, 4]], "min_steps": 4 }, { "id": "1005", "map": [[1, 0, 0, 0], [0, 0, 0, 0], [0, 0, 0, 4], [0, 0, 0, 0]], "min_steps": 4 }, { "id": "1007", "map": [[0, 4, 0, 0], [0, 0, 0, 0], [0, 0, 0, 0], [0, 0, 0, 1]], "min_steps": 4 }, { "id": "1008", "map": [[0, 0, 0, 4], [0, 0, 0, 0], [0, 0, 0, 0], [1, 0, 0, 0]], "min_steps": 4 }], [{ "id": "2001", "map": [[0, 0, 0, 0, 1], [0, 0, 0, 0, 0], [0, 0, 3, 0, 3], [0, 0, 0, 0, 0], [4, 0, 0, 0, 3]], "min_steps": 4 }, { "id": "2002", "map": [[0, 1, 0, 0, 0], [0, 0, 0, 0, 0], [3, 3, 0, 0, 4], [0, 0, 0, 0, 0], [3, 0, 0, 0, 0]], "min_steps": 4 }, { "id": "2009", "map": [[0, 3, 0, 0, 4], [3, 0, 0, 0, 0], [0, 0, 0, 0, 0], [1, 0, 0, 0, 0], [0, 3, 0, 0, 0]], "min_steps": 4 }, { "id": "2010", "map": [[0, 0, 0, 0, 1], [0, 0, 0, 0, 0], [0, 0, 0, 0, 0], [0, 3, 0, 3, 0], [4, 0, 3, 0, 0]], "min_steps": 4 }, { "id": "2011", "map": [[4, 3, 1, 0, 0], [0, 0, 0, 0, 3], [0, 0, 0, 3, 0], [0, 0, 0, 0, 0], [0, 0, 0, 0, 0]], "min_steps": 4 }, { "id": "2021", "map": [[0, 0, 0, 1, 0], [0, 0, 3, 0, 0], [0, 0, 0, 3, 3], [0, 0, 0, 0, 0], [0, 4, 0, 0, 0]], "min_steps": 4 }, { "id": "2004", "map": [[1, 0, 0, 0, 0], [0, 0, 0, 0, 3], [3, 0, 0, 0, 0], [0, 0, 0, 0, 0], [0, 0, 0, 0, 4]], "min_steps": 5 }, { "id": "2012", "map": [[0, 3, 0, 4, 0], [0, 0, 0, 3, 0], [1, 0, 3, 0, 0], [0, 0, 0, 0, 0], [0, 0, 0, 0, 0]], "min_steps": 5 }, { "id": "2013", "map": [[0, 0, 0, 0, 0], [1, 0, 0, 0, 0], [0, 0, 0, 3, 3], [3, 0, 0, 0, 0], [0, 0, 0, 4, 0]], "min_steps": 5 }, { "id": "2014", "map": [[3, 0, 1, 0, 0], [0, 3, 0, 0, 0], [0, 0, 0, 0, 0], [4, 0, 0, 3, 0], [0, 0, 0, 0, 0]], "min_steps": 5 }, { "id": "2015", "map": [[3, 0, 0, 0, 1], [3, 0, 0, 0, 0], [0, 0, 0, 0, 0], [4, 3, 0, 0, 0], [3, 0, 0, 0, 0]], "min_steps": 5 }, { "id": "2016", "map": [[0, 0, 0, 0, 0], [1, 0, 3, 0, 0], [3, 0, 0, 0, 3], [0, 0, 0, 0, 0], [0, 0, 0, 0, 4]], "min_steps": 5 }, { "id": "2017", "map": [[0, 3, 0, 0, 0], [4, 0, 0, 0, 0], [0, 0, 0, 0, 0], [3, 0, 3, 0, 0], [3, 0, 0, 0, 1]], "min_steps": 5 }, { "id": "2018", "map": [[0, 3, 4, 3, 3], [0, 0, 0, 0, 0], [0, 0, 0, 0, 0], [0, 0, 0, 0, 0], [0, 0, 3, 0, 1]], "min_steps": 5 }, { "id": "2019", "map": [[3, 0, 0, 4, 0], [0, 0, 0, 3, 0], [0, 0, 0, 0, 0], [0, 0, 0, 0, 0], [1, 0, 3, 0, 0]], "min_steps": 5 }, { "id": "2020", "map": [[4, 0, 3, 0, 1], [0, 0, 0, 0, 3], [0, 0, 0, 0, 0], [0, 0, 0, 0, 0], [0, 0, 3, 0, 0]], "min_steps": 5 }, { "id": "2003", "map": [[1, 0, 0, 3, 0], [0, 0, 3, 0, 0], [0, 0, 0, 0, 0], [0, 0, 0, 0, 0], [0, 3, 0, 4, 0]], "min_steps": 6 }, { "id": "2005", "map": [[0, 3, 0, 0, 0], [1, 0, 0, 0, 0], [0, 0, 0, 3, 0], [0, 0, 0, 0, 0], [0, 3, 0, 4, 0]], "min_steps": 6 }, { "id": "2006", "map": [[0, 1, 0, 0, 0], [0, 0, 0, 0, 3], [0, 0, 0, 0, 3], [0, 0, 0, 0, 0], [0, 0, 0, 3, 4]], "min_steps": 6 }, { "id": "2007", "map": [[3, 0, 0, 0, 1], [0, 0, 0, 0, 3], [0, 0, 0, 0, 0], [0, 0, 0, 0, 0], [4, 3, 0, 0, 0]], "min_steps": 6 }, { "id": "2008", "map": [[3, 4, 0, 0, 0], [0, 0, 0, 0, 3], [0, 0, 0, 3, 1], [0, 0, 0, 0, 0], [0, 0, 0, 0, 0]], "min_steps": 6 }, { "id": "2022", "map": [[0, 0, 0, 0, 0], [1, 3, 0, 0, 3], [0, 0, 0, 0, 0], [0, 0, 0, 0, 0], [0, 0, 3, 4, 0]], "min_steps": 6 }], [{ "id": "3001", "map": [[3, 0, 2, 3, 4], [0, 0, 0, 2, 2], [2, 3, 3, 3, 3], [0, 0, 2, 0, 2], [1, 0, 2, 3, 0]], "min_steps": 5 }, { "id": "3002", "map": [[3, 0, 3, 2, 0], [1, 2, 0, 3, 2], [2, 3, 0, 0, 4], [2, 0, 2, 2, 0], [3, 3, 0, 3, 0]], "min_steps": 5 }, { "id": "3003", "map": [[0, 2, 3, 3, 4], [2, 2, 0, 0, 0], [1, 3, 3, 3, 2], [2, 2, 3, 2, 3], [0, 0, 0, 0, 0]], "min_steps": 5 }, { "id": "3004", "map": [[3, 2, 2, 1, 0], [0, 0, 3, 2, 2], [3, 0, 2, 3, 0], [3, 0, 0, 3, 3], [0, 2, 4, 0, 2]], "min_steps": 5 }, { "id": "3005", "map": [[3, 0, 3, 0, 0], [2, 3, 0, 0, 1], [0, 2, 2, 2, 3], [4, 2, 0, 0, 2], [3, 3, 0, 3, 2]], "min_steps": 5 }, { "id": "3008", "map": [[3, 3, 3, 0, 1], [0, 0, 0, 0, 3], [2, 2, 3, 2, 2], [0, 2, 3, 0, 3], [4, 2, 2, 0, 0]], "min_steps": 5 }, { "id": "3009", "map": [[1, 0, 3, 3, 2], [3, 0, 2, 0, 0], [0, 3, 3, 2, 4], [0, 0, 3, 0, 2], [2, 2, 2, 0, 3]], "min_steps": 5 }, { "id": "3010", "map": [[3, 0, 2, 0, 4], [1, 2, 3, 0, 3], [2, 0, 3, 2, 0], [0, 3, 0, 0, 3], [2, 0, 2, 3, 2]], "min_steps": 5 }, { "id": "3006", "map": [[2, 0, 2, 2, 0], [1, 2, 3, 0, 0], [3, 3, 0, 3, 2], [3, 0, 0, 3, 2], [2, 0, 3, 0, 4]], "min_steps": 6 }, { "id": "3007", "map": [[1, 2, 0, 3, 3], [2, 2, 0, 2, 0], [2, 3, 2, 0, 3], [0, 3, 2, 0, 4], [0, 0, 3, 0, 3]], "min_steps": 6 }, { "id": "3011", "map": [[2, 3, 0, 1, 0], [0, 0, 0, 0, 0], [3, 0, 0, 0, 3], [0, 2, 0, 3, 2], [4, 3, 3, 2, 2]], "min_steps": 6 }, { "id": "3012", "map": [[0, 2, 1, 0, 3], [0, 3, 0, 0, 3], [3, 2, 3, 2, 0], [0, 2, 0, 3, 0], [2, 0, 0, 0, 4]], "min_steps": 6 }, { "id": "3013", "map": [[0, 2, 1, 0, 3], [0, 3, 0, 0, 3], [3, 2, 3, 2, 0], [0, 2, 0, 3, 0], [2, 0, 0, 0, 4]], "min_steps": 6 }, { "id": "3014", "map": [[1, 0, 3, 3, 4], [2, 3, 0, 3, 0], [0, 2, 2, 0, 0], [3, 3, 0, 0, 2], [2, 0, 0, 0, 0]], "min_steps": 6 }, { "id": "3015", "map": [[2, 3, 0, 0, 0], [0, 0, 2, 3, 0], [4, 0, 3, 0, 3], [2, 0, 2, 2, 3], [0, 3, 0, 0, 1]], "min_steps": 6 }, { "id": "3016", "map": [[3, 0, 2, 0, 2], [2, 0, 0, 0, 3], [0, 2, 3, 0, 1], [4, 0, 0, 3, 0], [3, 3, 0, 0, 2]], "min_steps": 6 }, { "id": "3017", "map": [[0, 3, 0, 0, 2], [3, 0, 2, 0, 4], [1, 3, 3, 0, 0], [2, 0, 0, 2, 0], [3, 2, 3, 0, 0]], "min_steps": 6 }, { "id": "3018", "map": [[4, 2, 0, 0, 0], [0, 0, 0, 3, 2], [0, 3, 0, 0, 3], [3, 2, 3, 2, 0], [3, 0, 2, 1, 0]], "min_steps": 7 }, { "id": "3019", "map": [[0, 4, 0, 3, 2], [0, 2, 0, 0, 0], [3, 0, 3, 0, 2], [3, 3, 2, 3, 1], [2, 0, 0, 0, 0]], "min_steps": 7 }, { "id": "3020", "map": [[0, 2, 0, 1, 0], [0, 0, 0, 3, 2], [3, 0, 3, 3, 3], [3, 0, 0, 0, 2], [0, 2, 2, 4, 0]], "min_steps": 7 }, { "id": "3021", "map": [[3, 2, 0, 2, 1], [3, 2, 0, 3, 2], [3, 0, 0, 2, 3], [0, 0, 0, 0, 4], [0, 0, 3, 0, 0]], "min_steps": 7 }, { "id": "3022", "map": [[2, 0, 2, 2, 2], [0, 0, 3, 0, 0], [3, 0, 3, 0, 0], [1, 0, 3, 2, 4], [0, 0, 3, 3, 0]], "min_steps": 7 }, { "id": "3023", "map": [[1, 2, 0, 2, 0], [3, 3, 3, 0, 0], [0, 2, 3, 2, 0], [4, 0, 0, 0, 3], [0, 0, 2, 0, 3]], "min_steps": 7 }, { "id": "3024", "map": [[1, 0, 3, 0, 3], [2, 2, 0, 0, 0], [0, 3, 0, 3, 0], [2, 0, 3, 2, 0], [2, 3, 0, 4, 0]], "min_steps": 7 }], [{ "id": "4001", "map": [[1, 3, 0, 0, 2, 0], [0, 3, 0, 0, 2, 0], [0, 0, 2, 0, 3, 4], [0, 0, 0, 2, 0, 0], [3, 3, 0, 0, 2, 0, 3], [0, 0, 2, 2, 2, 0]], "min_steps": 5 }, { "id": "4002", "map": [[0, 2, 2, 2, 2, 0], [1, 0, 0, 0, 2, 0], [0, 0, 0, 0, 0, 3], [0, 0, 0, 0, 2, 0], [0, 3, 3, 0, 2, 0], [3, 0, 0, 4, 2, 0]], "min_steps": 5 }, { "id": "4003", "map": [[0, 0, 0, 0, 0, 0], [2, 0, 0, 0, 0, 2], [0, 3, 3, 3, 2, 4], [0, 3, 0, 3, 2, 0], [0, 0, 0, 0, 0, 3], [0, 0, 2, 3, 0, 1]], "min_steps": 6 }, { "id": "4004", "map": [[2, 0, 3, 0, 0, 4], [0, 2, 3, 3, 0, 0], [0, 3, 0, 0, 0, 0], [3, 0, 0, 0, 2, 2], [3, 0, 0, 2, 0, 0], [1, 0, 0, 3, 0, 0]], "min_steps": 6 }, { "id": "4006", "map": [[4, 3, 0, 3, 0, 0], [0, 2, 0, 3, 0, 0], [3, 0, 0, 0, 3, 2], [0, 3, 0, 0, 2, 1], [0, 0, 2, 0, 0, 0], [0, 0, 0, 0, 2, 3]], "min_steps": 7 }, { "id": "4007", "map": [[4, 2, 2, 0, 2, 0], [0, 3, 0, 2, 0, 0], [0, 2, 3, 0, 3, 0], [0, 0, 3, 0, 0, 3], [0, 0, 3, 0, 0, 0], [0, 0, 0, 3, 0, 1]], "min_steps": 7 }, { "id": "4014", "map": [[0, 0, 3, 0, 2, 2], [0, 2, 3, 0, 0, 1], [0, 3, 3, 0, 0, 3], [0, 2, 0, 0, 0, 0], [0, 0, 0, 3, 3, 0], [2, 0, 4, 0, 0, 0]], "min_steps": 7 }, { "id": "4015", "map": [[2, 0, 0, 0, 0, 0], [0, 0, 0, 0, 3, 1], [3, 0, 2, 0, 0, 3], [2, 0, 0, 2, 3, 0], [3, 0, 3, 0, 0, 0], [2, 0, 0, 3, 4, 0]], "min_steps": 7 }, { "id": "4005", "map": [[1, 0, 0, 0, 0, 2], [0, 0, 0, 2, 0, 0], [3, 2, 0, 0, 0, 0], [0, 3, 0, 0, 2, 3], [0, 0, 3, 3, 0, 0], [3, 0, 0, 2, 3, 4]], "min_steps": 8 }, { "id": "4008", "map": [[0, 0, 2, 3, 0, 0], [0, 3, 0, 2, 3, 2], [3, 0, 0, 0, 0, 0], [0, 3, 0, 0, 3, 4], [0, 0, 0, 0, 0, 3], [0, 2, 0, 2, 0, 1]], "min_steps": 8 }, { "id": "4009", "map": [[0, 3, 3, 0, 0, 4], [2, 0, 0, 3, 0, 0], [2, 0, 0, 3, 0, 0], [1, 0, 0, 0, 3, 0], [0, 0, 2, 3, 0, 2], [2, 3, 0, 0, 0, 0]], "min_steps": 8 }, { "id": "4010", "map": [[0, 0, 1, 3, 2, 0], [3, 0, 0, 0, 3, 2], [3, 0, 0, 0, 0, 3], [2, 0, 0, 0, 0, 0], [0, 2, 0, 0, 3, 0], [0, 2, 0, 3, 4, 0]], "min_steps": 8 }, { "id": "4011", "map": [[1, 0, 0, 0, 0, 0], [3, 3, 0, 0, 0, 2], [0, 0, 0, 3, 0, 2], [2, 0, 3, 0, 3, 0], [2, 0, 3, 0, 0, 3], [4, 0, 0, 0, 0, 2]], "min_steps": 8 }, { "id": "4016", "map": [[0, 0, 3, 0, 0, 1], [2, 3, 0, 0, 3, 0], [2, 0, 0, 0, 0, 2], [0, 3, 0, 0, 0, 0], [0, 3, 0, 0, 2, 0], [0, 4, 3, 0, 2, 3]], "min_steps": 8 }, { "id": "4017", "map": [[1, 2, 3, 0, 3, 2], [3, 0, 0, 0, 0, 0], [0, 0, 0, 0, 0, 3], [3, 3, 0, 3, 2, 0], [0, 2, 0, 0, 0, 0], [4, 0, 0, 2, 0, 0]], "min_steps": 8 }, { "id": "4018", "map": [[0, 0, 1, 0, 2, 0], [0, 0, 0, 0, 0, 0], [0, 0, 3, 2, 3, 0], [3, 0, 0, 3, 0, 0], [2, 3, 0, 2, 0, 0], [4, 2, 0, 3, 3, 0]], "min_steps": 8 }, { "id": "4012", "map": [[2, 2, 3, 0, 2, 0], [0, 3, 0, 0, 0, 0], [0, 0, 0, 0, 3, 4], [0, 2, 0, 3, 0, 3], [0, 0, 0, 0, 0, 0], [0, 0, 2, 3, 3, 1]], "min_steps": 9 }, { "id": "4013", "map": [[0, 0, 0, 0, 3, 0], [4, 2, 0, 3, 0, 0], [3, 2, 0, 0, 0, 0], [1, 3, 0, 3, 0, 0], [2, 0, 0, 2, 0, 0], [3, 0, 0, 3, 2, 0]], "min_steps": 9 }, { "id": "4019", "map": [[3, 4, 0, 0, 0, 2], [3, 2, 0, 0, 2, 0], [0, 3, 0, 3, 0, 2], [0, 0, 3, 0, 0, 0], [0, 0, 0, 0, 3, 0], [1, 3, 0, 0, 0, 2]], "min_steps": 9 }, { "id": "4020", "map": [[0, 2, 0, 1, 0, 0], [2, 3, 0, 0, 2, 0], [3, 0, 0, 0, 0, 0], [0, 3, 3, 0, 0, 3], [2, 0, 0, 3, 0, 0], [4, 3, 0, 0, 0, 2]], "min_steps": 9 }], [{ "id": "5001", "map": [[1, 0, 0, 0, 0, 0], [0, 2, 2, 3, 0, 2], [3, 2, 0, 0, 3, 3], [0, 0, 0, 0, 0, 4], [0, 0, 0, 2, 2, 0], [3, 0, 2, 2, 0, 0]], "min_steps": 7 }, { "id": "5002", "map": [[0, 0, 0, 0, 4, 3], [3, 2, 3, 0, 0, 0], [0, 2, 0, 2, 3, 0], [2, 2, 0, 0, 0, 0], [3, 2, 0, 0, 0, 0], [3, 0, 0, 2, 0, 3], [2, 0, 0, 3, 0, 1]], "min_steps": 7 }, { "id": "5015", "map": [[1, 2, 3, 2, 2, 0], [3, 0, 0, 0, 0, 3], [0, 0, 0, 0, 0, 0], [0, 0, 0, 0, 0, 2], [0, 3, 0, 3, 2, 0], [0, 0, 0, 0, 0, 0], [0, 2, 0, 4, 0, 3]], "min_steps": 7 }, { "id": "5016", "map": [[3, 0, 1, 0, 0, 0], [0, 2, 0, 2, 0, 0], [0, 2, 0, 2, 0, 3], [0, 0, 0, 0, 0, 0], [0, 2, 0, 0, 3, 3], [0, 0, 0, 0, 2, 3], [0, 0, 0, 3, 0, 4]], "min_steps": 7 }, { "id": "5004", "map": [[0, 3, 3, 2, 3, 0], [2, 0, 2, 0, 3, 0], [1, 0, 3, 2, 0, 0], [3, 3, 0, 0, 0, 2], [0, 0, 0, 0, 0, 0], [0, 2, 0, 0, 0, 0], [0, 0, 0, 3, 4, 0]], "min_steps": 8 }, { "id": "5005", "map": [[0, 0, 0, 0, 0, 1], [0, 0, 2, 0, 2, 0], [3, 2, 2, 0, 0, 0], [3, 0, 0, 3, 0, 0], [3, 3, 0, 0, 0, 3], [4, 3, 0, 0, 0, 0], [2, 0, 0, 2, 3, 0]], "min_steps": 8 }, { "id": "5008", "map": [[3, 0, 3, 2, 0, 4], [0, 3, 0, 2, 0, 2], [0, 0, 3, 0, 0, 0], [2, 0, 0, 2, 0, 0], [0, 0, 3, 0, 0, 0], [0, 0, 0, 3, 0, 0], [3, 2, 1, 3, 0, 0]], "min_steps": 8 }, { "id": "5012", "map": [[2, 3, 0, 2, 0, 1], [2, 0, 0, 0, 0, 0], [2, 0, 0, 3, 0, 2], [3, 0, 3, 0, 0, 3], [0, 0, 0, 0, 3, 3], [3, 0, 0, 0, 2, 0], [0, 0, 0, 0, 0, 4]], "min_steps": 8 }, { "id": "5013", "map": [[0, 0, 2, 1, 2, 0], [0, 3, 0, 0, 0, 0], [2, 0, 0, 0, 0, 0], [0, 0, 0, 3, 0, 0], [3, 0, 0, 2, 3, 0], [3, 3, 3, 2, 0, 2], [0, 0, 4, 0, 0, 3]], "min_steps": 8 }, { "id": "5018", "map": [[0, 2, 0, 1, 0, 0], [2, 0, 0, 3, 0, 0], [0, 0, 0, 0, 0, 0], [3, 0, 0, 0, 0, 0], [2, 3, 0, 2, 3, 3], [2, 0, 0, 0, 0, 2], [4, 3, 0, 0, 0, 0]], "min_steps": 8 }, { "id": "5019", "map": [[1, 3, 0, 2, 3, 0], [0, 0, 0, 0, 0, 2], [0, 0, 0, 0, 0, 0], [0, 0, 2, 0, 0, 2], [3, 3, 0, 3, 0, 2], [4, 0, 2, 0, 0, 0], [0, 0, 0, 3, 0, 0]], "min_steps": 8 }, { "id": "5029", "map": [[4, 3, 0, 0, 0, 0], [2, 0, 0, 3, 0, 2], [3, 2, 0, 3, 3, 0], [2, 0, 0, 3, 0, 0], [0, 2, 0, 0, 0, 0], [2, 0, 0, 0, 0, 0], [3, 0, 3, 3, 0, 1]], "min_steps": 8 }, { "id": "5030", "map": [[0, 0, 0, 0, 0, 0], [0, 0, 2, 3, 2, 0], [0, 3, 0, 0, 0, 0], [2, 2, 0, 3, 0, 0], [0, 3, 3, 0, 3, 4], [0, 0, 2, 0, 0, 3], [3, 1, 0, 3, 0, 2]], "min_steps": 8 }, { "id": "5006", "map": [[0, 3, 0, 0, 0, 0], [1, 0, 0, 0, 3, 0], [0, 0, 3, 2, 0, 0], [3, 0, 0, 2, 2, 0], [0, 3, 0, 3, 3, 0], [0, 2, 0, 0, 0, 0], [4, 0, 3, 0, 2, 2]], "min_steps": 9 }, { "id": "5007", "map": [[0, 2, 0, 3, 0, 0], [1, 2, 0, 2, 0, 0], [0, 3, 0, 3, 0, 0], [3, 0, 0, 0, 0, 3], [0, 0, 3, 2, 0, 2], [4, 0, 0, 3, 0, 3], [0, 2, 0, 0, 0, 0]], "min_steps": 9 }, { "id": "5010", "map": [[0, 3, 1, 0, 0, 0], [0, 2, 3, 3, 0, 0], [0, 2, 0, 3, 0, 0], [0, 2, 0, 2, 0, 3], [0, 2, 0, 0, 3, 0], [0, 3, 0, 0, 0, 0], [0, 2, 4, 0, 0, 3]], "min_steps": 9 }, { "id": "5011", "map": [[1, 0, 3, 0, 3, 0], [0, 2, 0, 0, 0, 0], [2, 0, 2, 0, 3, 0], [0, 3, 2, 0, 0, 0], [3, 0, 0, 0, 0, 2], [4, 0, 3, 0, 0, 0], [3, 2, 0, 0, 0, 3]], "min_steps": 9 }, { "id": "5014", "map": [[0, 1, 0, 0, 0, 0], [2, 0, 2, 0, 0, 2], [2, 3, 0, 3, 0, 0], [0, 3, 0, 0, 0, 3], [0, 0, 0, 2, 0, 3], [0, 0, 3, 0, 3, 0], [2, 0, 3, 0, 0, 4]], "min_steps": 9 }, { "id": "5017", "map": [[0, 0, 0, 0, 0, 0], [1, 2, 3, 0, 0, 2], [0, 0, 2, 0, 0, 2], [3, 0, 2, 3, 0, 0], [0, 3, 3, 0, 2, 0], [0, 0, 0, 0, 0, 0], [4, 0, 3, 0, 0, 0]], "min_steps": 9 }, { "id": "5028", "map": [[0, 0, 1, 0, 0, 3], [3, 0, 0, 0, 3, 4], [0, 2, 0, 2, 3, 2], [0, 3, 2, 3, 3, 0], [0, 0, 0, 3, 0, 0], [0, 0, 3, 0, 0, 2], [0, 0, 2, 0, 0, 0]], "min_steps": 9 }, { "id": "5003", "map": [[0, 0, 1, 3, 0, 2], [0, 3, 3, 0, 0, 0], [0, 0, 3, 2, 0, 0], [0, 0, 3, 0, 0, 0], [3, 0, 0, 0, 2, 2], [0, 0, 2, 3, 0, 0], [0, 2, 0, 3, 0, 4]], "min_steps": 10 }, { "id": "5009", "map": [[0, 2, 0, 0, 0, 3], [0, 0, 3, 3, 3, 4], [0, 3, 0, 0, 0, 0], [0, 3, 2, 0, 0, 0], [1, 2, 3, 2, 0, 3], [2, 0, 0, 0, 0, 0], [0, 0, 0, 0, 2, 0]], "min_steps": 10 }, { "id": "5021", "map": [[0, 0, 0, 0, 0, 0], [0, 0, 0, 0, 3, 0], [3, 0, 0, 0, 2, 0], [2, 0, 0, 2, 3, 0], [0, 3, 0, 0, 0, 2], [0, 2, 3, 0, 0, 0], [4, 3, 1, 2, 0, 0]], "min_steps": 10 }, { "id": "5022", "map": [[4, 0, 3, 0, 0, 2], [0, 0, 0, 0, 2, 0], [0, 3, 0, 2, 3, 2], [3, 0, 3, 0, 3, 0], [0, 2, 0, 0, 0, 0], [0, 3, 0, 3, 0, 3], [0, 2, 1, 0, 0, 0]], "min_steps": 10 }, { "id": "5023", "map": [[3, 0, 0, 3, 3, 0], [0, 0, 3, 0, 0, 3], [2, 3, 0, 0, 0, 0], [2, 2, 0, 0, 2, 0], [0, 3, 0, 0, 0, 0], [2, 0, 3, 0, 0, 4], [0, 1, 3, 0, 2, 0]], "min_steps": 10 }, { "id": "5024", "map": [[3, 0, 2, 3, 0, 0], [4, 2, 0, 0, 0, 3], [2, 2, 0, 0, 0, 0], [0, 0, 3, 0, 0, 2], [0, 0, 0, 3, 0, 3], [0, 3, 3, 0, 2, 0], [3, 0, 1, 0, 0, 0]], "min_steps": 10 }, { "id": "5020", "map": [[0, 0, 0, 2, 0, 0], [0, 3, 0, 0, 0, 3], [0, 2, 0, 0, 3, 0], [2, 0, 0, 2, 3, 4], [0, 2, 3, 0, 0, 0], [0, 0, 0, 3, 0, 0], [3, 2, 0, 1, 3, 0]], "min_steps": 11 }, { "id": "5025", "map": [[1, 0, 0, 0, 3, 0], [0, 0, 0, 3, 3, 2], [3, 3, 2, 0, 0, 2], [0, 0, 0, 0, 0, 3], [0, 0, 2, 0, 2, 0], [0, 0, 0, 0, 3, 4], [0, 3, 2, 3, 0, 0]], "min_steps": 11 }, { "id": "5026", "map": [[0, 3, 2, 0, 0, 0], [0, 0, 2, 3, 3, 0], [2, 0, 0, 2, 0, 0], [3, 2, 0, 0, 3, 2], [0, 0, 0, 3, 3, 1], [0, 0, 3, 0, 0, 3], [0, 0, 0, 0, 0, 4]], "min_steps": 11 }, { "id": "5027", "map": [[0, 0, 3, 0, 0, 1], [0, 0, 0, 0, 0, 3], [2, 0, 2, 0, 2, 3], [0, 0, 3, 3, 0, 3], [0, 0, 0, 2, 3, 0], [0, 0, 0, 2, 0, 3], [2, 0, 3, 0, 4, 0]], "min_steps": 11 }], [{ "id": "6028", "map": [[0, 0, 3, 0, 0, 2], [1, 3, 2, 2, 0, 3], [0, 0, 3, 0, 0, 2], [0, 0, 0, 0, 0, 0], [0, 0, 2, 0, 3, 3], [3, 3, 3, 0, 0, 0], [4, 0, 0, 0, 0, 2]], "min_steps": 8 }, { "id": "6029", "map": [[0, 0, 2, 0, 0, 1], [3, 2, 3, 0, 0, 3], [2, 0, 3, 0, 3, 0], [3, 3, 0, 0, 0, 0], [0, 0, 0, 3, 3, 2], [0, 0, 0, 0, 0, 2], [0, 0, 0, 4, 2, 0]], "min_steps": 8 }, { "id": "6030", "map": [[0, 3, 3, 0, 1, 0], [2, 3, 0, 0, 3, 0], [0, 0, 0, 3, 0, 2], [0, 0, 3, 0, 2, 0], [0, 0, 2, 3, 3, 3], [0, 0, 0, 0, 0, 0], [4, 0, 0, 2, 0, 2]], "min_steps": 8 }, { "id": "6001", "map": [[0, 0, 3, 3, 4, 2], [0, 0, 0, 2, 0, 0], [2, 3, 3, 2, 0, 0], [0, 3, 0, 0, 0, 2], [0, 0, 0, 3, 2, 2], [2, 0, 0, 3, 0, 2], [1, 3, 2, 0, 0, 0], [0, 0, 0, 3, 0, 0]], "min_steps": 9 }, { "id": "6012", "map": [[3, 0, 0, 0, 2, 0], [0, 3, 0, 3, 0, 0], [0, 3, 0, 0, 0, 3], [2, 0, 0, 3, 2, 0], [3, 2, 2, 2, 0, 0], [3, 0, 2, 0, 3, 0], [1, 2, 3, 0, 2, 0], [2, 3, 0, 0, 3, 4]], "min_steps": 9 }, { "id": "6016", "map": [[0, 0, 1, 0, 2, 3], [0, 3, 2, 0, 2, 0], [3, 3, 3, 3, 0, 0], [3, 0, 0, 0, 0, 0], [2, 2, 3, 0, 3, 3], [0, 0, 2, 0, 2, 0], [0, 2, 0, 2, 0, 3], [3, 0, 2, 0, 0, 4]], "min_steps": 9 }, { "id": "6008", "map": [[0, 0, 2, 0, 3, 4], [3, 3, 2, 3, 0, 0], [0, 0, 0, 0, 0, 3], [0, 0, 2, 3, 2, 0], [0, 0, 2, 0, 3, 2], [3, 3, 0, 0, 0, 2], [0, 3, 0, 0, 0, 0], [2, 1, 0, 0, 0, 0]], "min_steps": 10 }, { "id": "6013", "map": [[3, 0, 0, 2, 2, 0], [0, 2, 0, 3, 0, 2], [0, 0, 3, 2, 3, 0], [0, 3, 0, 0, 3, 0], [2, 2, 3, 2, 0, 0], [0, 0, 3, 3, 0, 0], [0, 2, 0, 3, 2, 0], [4, 3, 3, 0, 1, 0]], "min_steps": 10 }, { "id": "6017", "map": [[4, 0, 0, 0, 0, 3], [0, 3, 3, 0, 0, 0], [3, 0, 2, 2, 0, 0], [3, 0, 2, 3, 3, 2], [3, 2, 0, 2, 3, 3], [2, 0, 2, 0, 0, 0], [0, 0, 0, 0, 0, 3], [2, 3, 0, 2, 0, 1]], "min_steps": 10 }, { "id": "6022", "map": [[0, 0, 3, 4, 3, 0], [0, 3, 0, 2, 2, 0], [2, 0, 2, 0, 0, 3], [0, 0, 0, 0, 0, 0], [2, 3, 0, 3, 2, 0], [0, 3, 0, 0, 0, 0], [0, 1, 3, 0, 0, 3]], "min_steps": 10 }, { "id": "6023", "map": [[0, 0, 3, 1, 0, 2], [0, 0, 2, 3, 0, 0], [4, 0, 3, 0, 0, 0], [2, 0, 3, 0, 0, 3], [2, 0, 3, 0, 3, 0], [0, 0, 0, 0, 0, 0], [2, 3, 0, 2, 3, 0]], "min_steps": 10 }, { "id": "6024", "map": [[0, 3, 0, 2, 0, 4], [3, 0, 0, 3, 3, 3], [0, 0, 2, 0, 0, 0], [2, 3, 3, 0, 0, 0], [2, 0, 0, 0, 0, 3], [2, 0, 3, 0, 0, 1], [0, 0, 0, 0, 0, 2]], "min_steps": 10 }, { "id": "6025", "map": [[4, 0, 2, 0, 0, 0], [0, 0, 3, 3, 0, 2], [3, 3, 0, 0, 0, 3], [0, 2, 0, 2, 0, 0], [0, 0, 0, 0, 3, 0], [1, 3, 0, 0, 2, 2], [0, 3, 0, 0, 0, 3]], "min_steps": 10 }, { "id": "6002", "map": [[0, 0, 3, 3, 4, 2], [0, 0, 0, 2, 0, 0], [2, 3, 3, 2, 0, 0], [0, 3, 0, 0, 0, 2], [0, 0, 0, 3, 2, 2], [2, 0, 0, 3, 0, 2], [1, 3, 2, 0, 0, 0], [0, 0, 0, 3, 0, 0]], "min_steps": 11 }, { "id": "6006", "map": [[1, 0, 2, 0, 0, 3], [0, 0, 0, 0, 3, 0], [3, 0, 0, 3, 2, 0], [2, 3, 0, 0, 0, 3], [0, 0, 3, 2, 0, 3], [0, 2, 0, 3, 0, 0], [2, 3, 0, 2, 0, 0], [0, 4, 0, 2, 0, 0]], "min_steps": 11 }, { "id": "6009", "map": [[4, 3, 0, 0, 3, 0], [0, 0, 0, 0, 0, 0], [3, 3, 0, 2, 0, 2], [3, 0, 0, 2, 2, 0], [2, 3, 2, 0, 0, 0], [1, 3, 3, 0, 0, 0], [2, 0, 0, 0, 0, 0], [3, 3, 0, 0, 0, 2]], "min_steps": 11 }, { "id": "6018", "map": [[2, 3, 0, 0, 2, 3], [2, 0, 0, 3, 0, 4], [2, 0, 0, 0, 0, 0], [0, 3, 2, 0, 2, 3], [0, 0, 0, 0, 0, 3], [2, 0, 3, 3, 2, 3], [0, 0, 0, 3, 2, 0], [2, 3, 1, 3, 0, 0]], "min_steps": 11 }, { "id": "6026", "map": [[0, 1, 0, 3, 0, 4], [0, 0, 3, 0, 3, 0], [2, 2, 3, 2, 0, 0], [0, 0, 3, 0, 3, 3], [2, 0, 0, 0, 0, 2], [0, 3, 0, 0, 0, 2], [0, 0, 0, 0, 0, 3]], "min_steps": 11 }, { "id": "6027", "map": [[2, 1, 3, 0, 0, 0], [0, 0, 0, 0, 3, 0], [3, 3, 0, 0, 0, 0], [2, 2, 3, 3, 3, 0], [0, 2, 0, 0, 0, 0], [3, 2, 0, 0, 0, 0], [0, 4, 0, 2, 3, 0]], "min_steps": 11 }, { "id": "6031", "map": [[0, 1, 0, 3, 0, 4], [0, 0, 3, 0, 3, 0], [2, 2, 3, 2, 0, 0], [0, 0, 3, 0, 3, 3], [2, 0, 0, 0, 0, 2], [0, 3, 0, 0, 0, 2], [0, 0, 0, 0, 0, 3]], "min_steps": 11 }, { "id": "6003", "map": [[0, 2, 2, 0, 0, 4], [0, 3, 3, 0, 0, 0], [3, 2, 0, 0, 0, 0], [0, 3, 0, 0, 3, 3], [0, 2, 0, 3, 0, 0], [2, 3, 0, 0, 0, 0], [0, 2, 3, 0, 0, 0], [1, 2, 3, 0, 2, 0]], "min_steps": 12 }, { "id": "6011", "map": [[3, 0, 2, 2, 3, 2], [1, 0, 0, 0, 0, 3], [0, 0, 3, 2, 3, 0], [3, 0, 3, 0, 0, 0], [4, 3, 2, 3, 0, 2], [0, 0, 2, 0, 2, 3], [2, 0, 0, 0, 0, 3], [0, 0, 0, 2, 0, 3]], "min_steps": 12 }, { "id": "6014", "map": [[4, 3, 0, 0, 0, 0], [0, 2, 2, 2, 3, 0], [0, 3, 0, 0, 0, 0], [2, 3, 2, 3, 0, 0], [3, 3, 0, 0, 0, 3], [0, 0, 0, 2, 3, 0], [0, 3, 2, 0, 2, 2], [2, 3, 3, 0, 0, 1]], "min_steps": 12 }, { "id": "6020", "map": [[3, 2, 0, 0, 0, 0], [4, 0, 2, 0, 2, 0], [3, 3, 0, 0, 2, 2], [0, 0, 3, 0, 2, 0], [0, 0, 0, 0, 2, 3], [0, 2, 3, 3, 0, 0], [2, 3, 0, 0, 3, 3], [1, 3, 3, 2, 0, 0]], "min_steps": 12 }, { "id": "6021", "map": [[4, 3, 0, 0, 0, 0], [0, 2, 2, 2, 3, 0], [0, 3, 0, 0, 0, 0], [2, 3, 2, 3, 0, 0], [3, 3, 0, 0, 0, 3], [0, 0, 0, 2, 3, 0], [0, 3, 2, 0, 2, 2], [2, 3, 3, 0, 0, 1]], "min_steps": 12 }, { "id": "6004", "map": [[0, 3, 0, 2, 2, 0], [0, 0, 0, 0, 0, 2], [3, 0, 0, 0, 0, 0], [0, 3, 0, 0, 0, 0], [0, 3, 3, 0, 3, 0], [2, 0, 0, 0, 3, 2], [2, 0, 0, 0, 3, 1], [4, 3, 0, 2, 3, 2]], "min_steps": 13 }, { "id": "6005", "map": [[2, 2, 4, 2, 3, 0], [0, 3, 3, 2, 0, 0], [3, 0, 0, 3, 0, 2], [3, 0, 2, 3, 3, 0], [0, 0, 0, 0, 0, 0], [0, 0, 0, 0, 2, 3], [3, 2, 0, 0, 0, 1], [0, 0, 0, 0, 0, 0]], "min_steps": 13 }, { "id": "6007", "map": [[3, 2, 0, 0, 3, 4], [0, 2, 0, 0, 3, 0], [0, 0, 2, 0, 2, 0], [2, 0, 0, 3, 0, 3], [0, 0, 2, 0, 3, 2], [0, 2, 3, 3, 0, 1], [0, 0, 0, 0, 0, 3], [0, 0, 0, 3, 0, 0]], "min_steps": 13 }, { "id": "6010", "map": [[0, 3, 1, 0, 0, 0], [0, 2, 3, 3, 0, 0], [2, 0, 0, 3, 0, 0], [0, 2, 0, 0, 3, 2], [3, 0, 0, 0, 0, 2], [3, 2, 0, 0, 0, 0], [4, 0, 0, 3, 2, 0], [0, 3, 0, 3, 2, 0]], "min_steps": 13 }, { "id": "6015", "map": [[4, 0, 0, 0, 2, 3], [0, 0, 3, 0, 0, 3], [2, 2, 3, 2, 0, 0], [3, 0, 0, 0, 3, 2], [2, 3, 0, 3, 0, 2], [0, 0, 3, 0, 2, 3], [0, 0, 0, 0, 0, 3], [1, 2, 2, 3, 0, 0]], "min_steps": 14 }, { "id": "6019", "map": [[4, 0, 0, 0, 2, 3], [0, 0, 3, 0, 0, 3], [2, 2, 3, 2, 0, 0], [3, 0, 0, 0, 3, 2], [2, 3, 0, 3, 0, 2], [0, 0, 3, 0, 2, 3], [0, 0, 0, 0, 0, 3], [1, 2, 2, 3, 0, 0]], "min_steps": 14 }], [{ "id": "7001", "map": [[0, 2, 0, 0, 2, 0], [3, 3, 0, 2, 0, 4], [0, 0, 0, 0, 0, 3], [0, 0, 0, 0, 3, 2], [0, 0, 0, 0, 0, 2], [3, 3, 0, 0, 0, 2], [0, 3, 3, 2, 2, 0], [0, 3, 2, 2, 0, 3], [1, 2, 0, 0, 2, 0]], "min_steps": 9 }, { "id": "7023", "map": [[3, 2, 0, 2, 0, 1], [0, 3, 3, 2, 3, 3], [0, 3, 3, 0, 3, 0], [0, 2, 2, 2, 0, 3], [0, 3, 2, 0, 0, 3], [0, 0, 0, 0, 2, 0], [2, 2, 2, 3, 0, 0], [2, 0, 3, 0, 3, 0], [0, 0, 3, 0, 0, 4]], "min_steps": 9 }, { "id": "7003", "map": [[1, 3, 2, 0, 0, 0], [0, 0, 0, 2, 0, 0], [0, 3, 0, 2, 0, 0], [3, 3, 3, 2, 0, 3], [2, 3, 3, 0, 3, 0], [0, 0, 0, 0, 0, 2], [3, 0, 2, 2, 3, 2], [4, 2, 0, 0, 2, 0], [0, 0, 2, 0, 0, 2]], "min_steps": 10 }, { "id": "7002", "map": [[1, 0, 3, 2, 0, 2], [0, 3, 0, 0, 0, 2], [0, 2, 0, 3, 2, 2], [0, 3, 0, 0, 0, 0], [0, 2, 0, 3, 3, 0], [3, 2, 2, 0, 0, 3], [0, 3, 2, 3, 0, 2], [0, 0, 0, 0, 0, 0], [2, 0, 0, 2, 3, 4]], "min_steps": 11 }, { "id": "7005", "map": [[0, 0, 0, 0, 0, 0], [0, 0, 0, 3, 2, 4], [0, 3, 0, 0, 3, 3], [3, 3, 0, 2, 0, 3], [0, 2, 2, 0, 3, 2], [0, 0, 3, 0, 2, 0], [0, 2, 0, 2, 0, 0], [3, 0, 0, 2, 2, 0], [0, 0, 2, 2, 0, 1]], "min_steps": 11 }, { "id": "7006", "map": [[0, 0, 0, 0, 2, 3], [3, 2, 0, 0, 0, 0], [0, 2, 0, 3, 3, 4], [0, 0, 0, 2, 2, 3], [2, 0, 0, 0, 0, 0], [0, 0, 0, 0, 3, 0], [3, 0, 3, 3, 0, 2], [3, 0, 2, 2, 0, 2], [0, 0, 2, 2, 0, 1]], "min_steps": 11 }, { "id": "7007", "map": [[2, 0, 2, 0, 2, 0], [0, 0, 2, 0, 3, 2], [0, 0, 0, 3, 3, 0], [0, 2, 0, 0, 3, 2], [3, 0, 0, 2, 0, 0], [3, 3, 0, 0, 0, 2], [0, 2, 0, 3, 2, 0], [0, 2, 3, 0, 0, 0], [4, 3, 0, 0, 1, 0]], "min_steps": 11 }, { "id": "7026", "map": [[2, 4, 2, 0, 0, 0], [0, 3, 3, 0, 3, 0], [3, 3, 3, 0, 0, 3], [2, 0, 3, 0, 0, 2], [0, 2, 2, 3, 0, 3], [1, 0, 2, 0, 2, 0], [3, 3, 0, 0, 0, 0], [2, 0, 0, 0, 3, 2], [2, 0, 3, 2, 3, 0]], "min_steps": 11 }, { "id": "7027", "map": [[2, 0, 0, 0, 0, 2], [0, 0, 3, 3, 2, 3], [0, 0, 3, 0, 0, 1], [0, 3, 0, 3, 3, 3], [0, 0, 0, 0, 0, 2], [3, 3, 2, 0, 0, 2], [3, 3, 0, 2, 0, 3], [0, 3, 2, 2, 2, 0], [0, 3, 4, 2, 2, 0]], "min_steps": 11 }, { "id": "7029", "map": [[0, 0, 1, 0, 0, 0], [3, 3, 0, 0, 3, 2], [3, 0, 0, 0, 2, 0], [0, 2, 0, 2, 2, 0], [2, 3, 3, 3, 0, 3], [3, 2, 2, 3, 0, 0], [2, 0, 3, 0, 0, 3], [3, 2, 0, 0, 0, 3], [4, 2, 0, 0, 3, 2]], "min_steps": 11 }, { "id": "7008", "map": [[1, 0, 0, 0, 2, 0], [3, 3, 2, 0, 3, 0], [3, 0, 3, 0, 0, 0], [0, 0, 3, 0, 0, 3], [2, 2, 0, 3, 0, 3], [2, 0, 2, 0, 0, 0], [2, 0, 2, 0, 0, 2], [2, 0, 0, 2, 0, 0], [4, 3, 0, 0, 0, 2]], "min_steps": 12 }, { "id": "7010", "map": [[4, 3, 0, 3, 1, 0], [0, 0, 3, 3, 0, 0], [0, 3, 0, 0, 2, 2], [2, 0, 3, 0, 0, 2], [3, 2, 0, 2, 3, 0], [0, 0, 0, 0, 0, 0], [0, 2, 0, 2, 2, 0], [0, 2, 0, 3, 0, 2], [0, 2, 0, 0, 0, 3]], "min_steps": 12 }, { "id": "7016", "map": [[2, 3, 4, 0, 0, 3], [0, 3, 2, 2, 3, 1], [0, 2, 2, 3, 0, 0], [3, 0, 3, 0, 2, 0], [3, 0, 0, 0, 2, 2], [0, 0, 3, 3, 0, 0], [0, 3, 0, 3, 2, 0], [0, 0, 3, 0, 3, 2], [0, 2, 2, 3, 0, 0]], "min_steps": 12 }, { "id": "7020", "map": [[2, 3, 0, 4, 3, 3], [3, 3, 0, 0, 3, 0], [0, 2, 0, 3, 2, 0], [0, 3, 0, 0, 0, 2], [3, 2, 0, 0, 0, 0], [0, 0, 3, 2, 0, 3], [0, 3, 0, 3, 2, 0], [3, 2, 2, 0, 0, 2], [0, 0, 2, 1, 3, 2]], "min_steps": 12 }, { "id": "7024", "map": [[1, 3, 2, 0, 0, 3], [2, 3, 2, 0, 0, 0], [0, 2, 3, 0, 3, 3], [3, 0, 0, 2, 0, 3], [2, 3, 0, 0, 0, 3], [3, 3, 0, 0, 0, 0], [2, 0, 3, 0, 0, 2], [0, 0, 2, 0, 2, 2], [4, 2, 3, 0, 3, 0]], "min_steps": 12 }, { "id": "7032", "map": [[0, 0, 0, 0, 3, 4], [0, 0, 3, 3, 3, 2], [2, 2, 3, 3, 0, 0], [0, 0, 3, 2, 0, 0], [0, 2, 0, 2, 3, 2], [0, 2, 3, 0, 0, 3], [2, 3, 3, 0, 0, 2], [1, 0, 3, 0, 3, 2], [0, 0, 3, 0, 0, 2]], "min_steps": 12 }, { "id": "7033", "map": [[1, 0, 0, 3, 0, 3], [3, 3, 2, 0, 2, 0], [0, 3, 3, 2, 0, 2], [3, 2, 0, 3, 0, 0], [4, 2, 2, 2, 0, 0], [0, 3, 0, 0, 0, 0], [3, 3, 3, 0, 0, 2], [3, 0, 3, 2, 0, 3], [2, 0, 0, 0, 0, 2]], "min_steps": 12 }, { "id": "7035", "map": [[3, 0, 0, 2, 0, 4], [3, 0, 2, 3, 3, 3], [0, 0, 2, 3, 0, 2], [3, 0, 3, 3, 3, 0], [2, 2, 0, 0, 0, 0], [2, 2, 3, 0, 0, 0], [0, 0, 2, 3, 0, 0], [0, 2, 0, 3, 2, 3], [0, 0, 3, 1, 2, 0]], "min_steps": 12 }, { "id": "7036", "map": [[2, 3, 1, 0, 0, 2], [0, 3, 0, 0, 0, 0], [2, 0, 2, 0, 0, 3], [0, 0, 3, 3, 0, 3], [0, 2, 2, 0, 0, 3], [0, 3, 2, 3, 3, 0], [0, 3, 2, 0, 0, 2], [0, 3, 2, 0, 2, 3], [2, 0, 3, 3, 4, 0]], "min_steps": 12 }, { "id": "7037", "map": [[2, 0, 0, 0, 0, 3], [0, 2, 3, 0, 2, 2], [0, 0, 3, 0, 2, 0], [0, 2, 2, 0, 0, 0], [3, 2, 3, 0, 0, 3], [0, 0, 3, 3, 0, 3], [3, 2, 3, 0, 0, 3], [0, 0, 3, 3, 2, 0], [4, 3, 1, 2, 0, 2]], "min_steps": 12 }, { "id": "7039", "map": [[2, 0, 3, 3, 2, 0], [0, 0, 0, 0, 2, 3], [1, 3, 0, 0, 0, 2], [0, 2, 3, 2, 2, 2], [0, 0, 3, 0, 0, 0], [0, 3, 0, 0, 3, 0], [3, 0, 0, 2, 3, 2], [2, 0, 3, 0, 2, 3], [0, 4, 3, 0, 3, 3]], "min_steps": 12 }, { "id": "7040", "map": [[0, 2, 3, 3, 4, 0], [0, 2, 0, 0, 3, 2], [0, 0, 3, 0, 2, 0], [3, 0, 2, 0, 0, 3], [2, 0, 0, 3, 0, 3], [3, 3, 0, 2, 2, 0], [2, 2, 3, 0, 2, 0], [1, 3, 0, 0, 2, 3], [0, 0, 0, 3, 0, 3]], "min_steps": 12 }, { "id": "7041", "map": [[3, 3, 0, 2, 3, 1], [0, 3, 3, 2, 0, 2], [0, 2, 0, 0, 0, 0], [0, 0, 0, 0, 0, 0], [3, 3, 3, 2, 3, 0], [0, 3, 3, 2, 3, 2], [4, 0, 3, 0, 2, 0], [2, 2, 2, 0, 0, 0], [0, 3, 2, 0, 3, 0]], "min_steps": 12 }, { "id": "7004", "map": [[2, 0, 0, 2, 0, 0], [0, 3, 0, 0, 0, 1], [0, 2, 0, 0, 0, 0], [0, 0, 0, 0, 2, 0], [0, 0, 3, 3, 3, 2], [0, 0, 0, 3, 2, 3], [0, 0, 2, 0, 0, 3], [0, 2, 3, 2, 2, 4], [3, 2, 2, 0, 3, 0]], "min_steps": 13 }, { "id": "7009", "map": [[4, 0, 3, 1, 0, 2], [0, 2, 3, 3, 3, 0], [0, 2, 3, 2, 2, 0], [3, 0, 3, 0, 0, 2], [0, 0, 0, 0, 0, 0], [3, 2, 0, 0, 2, 0], [3, 2, 0, 0, 2, 0], [0, 0, 2, 2, 2, 0], [0, 0, 0, 0, 3, 0]], "min_steps": 13 }, { "id": "7014", "map": [[3, 4, 2, 3, 0, 0], [2, 3, 0, 3, 0, 0], [0, 2, 2, 0, 0, 0], [0, 3, 3, 0, 3, 3], [0, 0, 0, 0, 0, 0], [3, 2, 0, 0, 2, 2], [2, 2, 2, 2, 0, 3], [0, 0, 3, 3, 0, 3], [1, 2, 0, 3, 3, 0]], "min_steps": 13 }, { "id": "7015", "map": [[2, 3, 4, 0, 3, 0], [1, 2, 3, 2, 3, 0], [0, 0, 3, 0, 2, 0], [2, 0, 0, 3, 0, 0], [2, 2, 0, 2, 0, 3], [0, 0, 2, 0, 0, 0], [3, 0, 0, 3, 3, 0], [0, 0, 3, 0, 2, 3], [3, 0, 3, 2, 3, 2]], "min_steps": 13 }, { "id": "7025", "map": [[2, 3, 1, 0, 3, 3], [0, 0, 2, 3, 2, 0], [0, 2, 0, 0, 0, 3], [0, 3, 0, 0, 0, 3], [2, 0, 0, 3, 2, 0], [0, 0, 2, 3, 0, 2], [2, 0, 3, 2, 0, 3], [3, 3, 0, 0, 3, 3], [2, 4, 0, 2, 0, 0]], "min_steps": 13 }, { "id": "7030", "map": [[2, 0, 1, 2, 0, 0], [0, 2, 3, 3, 0, 2], [2, 3, 3, 3, 0, 2], [3, 0, 0, 2, 2, 0], [0, 3, 0, 3, 2, 0], [0, 0, 2, 0, 2, 3], [3, 3, 0, 3, 3, 2], [4, 3, 0, 0, 0, 0], [0, 0, 0, 0, 0, 3]], "min_steps": 13 }, { "id": "7031", "map": [[0, 2, 2, 3, 4, 2], [3, 3, 0, 0, 2, 2], [0, 0, 0, 3, 2, 0], [0, 3, 0, 0, 3, 3], [0, 2, 0, 2, 3, 0], [2, 3, 0, 0, 0, 0], [3, 3, 0, 3, 0, 2], [0, 0, 2, 3, 3, 3], [1, 0, 2, 0, 0, 0]], "min_steps": 13 }, { "id": "7038", "map": [[4, 2, 3, 3, 2, 3], [0, 3, 0, 2, 3, 0], [0, 0, 0, 2, 0, 2], [3, 3, 2, 3, 0, 0], [0, 3, 0, 3, 2, 3], [0, 2, 2, 2, 0, 0], [1, 3, 0, 0, 3, 0], [2, 0, 0, 0, 3, 2], [0, 0, 3, 0, 0, 0]], "min_steps": 13 }, { "id": "7011", "map": [[0, 1, 0, 0, 2, 0], [3, 0, 3, 3, 2, 3], [0, 3, 3, 2, 0, 0], [0, 0, 2, 0, 3, 3], [2, 3, 2, 0, 0, 0], [3, 2, 2, 3, 3, 0], [2, 0, 2, 2, 0, 4], [0, 2, 0, 3, 0, 0], [0, 0, 0, 3, 0, 3]], "min_steps": 14 }, { "id": "7017", "map": [[2, 0, 0, 3, 0, 3], [4, 3, 0, 2, 0, 3], [3, 0, 0, 0, 3, 0], [2, 0, 0, 2, 0, 0], [3, 0, 0, 3, 0, 0], [2, 3, 0, 2, 2, 2], [1, 3, 3, 0, 2, 2], [0, 3, 0, 0, 3, 0], [0, 2, 0, 3, 3, 2]], "min_steps": 14 }, { "id": "7019", "map": [[0, 3, 0, 2, 3, 1], [0, 3, 0, 2, 0, 2], [0, 2, 2, 0, 3, 3], [0, 0, 3, 2, 0, 3], [0, 0, 3, 2, 2, 0], [2, 2, 3, 0, 2, 2], [0, 3, 0, 0, 3, 0], [3, 0, 0, 3, 3, 0], [0, 0, 0, 3, 0, 4]], "min_steps": 14 }, { "id": "7021", "map": [[0, 0, 0, 0, 2, 4], [3, 0, 2, 0, 0, 0], [3, 0, 2, 3, 3, 3], [2, 0, 3, 3, 3, 0], [2, 0, 0, 0, 2, 3], [3, 3, 0, 0, 0, 2], [1, 0, 3, 0, 2, 2], [2, 2, 0, 2, 0, 0], [0, 0, 3, 3, 0, 3]], "min_steps": 14 }, { "id": "7022", "map": [[4, 0, 0, 0, 0, 0], [0, 0, 0, 0, 3, 2], [3, 3, 2, 3, 3, 2], [2, 0, 0, 0, 0, 2], [0, 0, 3, 0, 3, 3], [2, 0, 2, 3, 2, 1], [3, 2, 3, 0, 0, 3], [2, 0, 0, 3, 2, 2], [3, 3, 0, 0, 0, 0]], "min_steps": 15 }, { "id": "7028", "map": [[0, 2, 1, 3, 0, 2], [0, 3, 3, 3, 0, 2], [0, 0, 0, 3, 0, 2], [3, 0, 0, 3, 2, 4], [2, 0, 0, 3, 2, 2], [2, 2, 3, 0, 0, 3], [0, 2, 0, 0, 0, 0], [0, 3, 3, 3, 2, 0], [0, 3, 0, 3, 0, 0]], "min_steps": 16 }, { "id": "7034", "map": [[1, 0, 0, 3, 2, 0], [0, 2, 2, 3, 3, 0], [3, 0, 0, 2, 0, 3], [2, 3, 2, 2, 0, 3], [0, 0, 3, 0, 0, 3], [3, 0, 0, 0, 3, 0], [2, 3, 0, 3, 2, 4], [0, 3, 0, 0, 0, 3], [0, 2, 0, 0, 2, 2]], "min_steps": 16 }, { "id": "7012", "map": [[1, 3, 3, 3, 0, 0], [0, 3, 0, 2, 0, 0], [0, 0, 0, 3, 0, 2], [3, 0, 0, 3, 2, 3], [0, 0, 2, 0, 0, 3], [0, 0, 2, 3, 2, 0], [2, 2, 3, 2, 3, 2], [0, 3, 0, 2, 0, 2], [0, 3, 4, 3, 0, 0]], "min_steps": 17 }, { "id": "7013", "map": [[0, 1, 0, 0, 3, 3], [0, 2, 0, 3, 0, 0], [2, 3, 0, 0, 0, 0], [0, 0, 0, 3, 0, 3], [0, 3, 0, 2, 3, 2], [2, 0, 3, 3, 2, 0], [0, 2, 2, 3, 0, 2], [2, 3, 2, 0, 3, 0], [0, 3, 3, 0, 2, 4]], "min_steps": 17 }, { "id": "7018", "map": [[0, 0, 0, 0, 0, 2], [1, 0, 3, 3, 0, 2], [3, 3, 0, 3, 2, 3], [0, 3, 0, 2, 0, 0], [0, 3, 0, 0, 2, 2], [3, 0, 0, 2, 3, 0], [0, 3, 3, 3, 0, 0], [2, 0, 3, 0, 0, 2], [2, 4, 2, 0, 3, 2]], "min_steps": 17 }]]; + this.LEVEL_INFO = [[{ "id": "1001", "map": [[0, 4, 0, 0], [0, 0, 0, 0], [0, 0, 0, 0], [0, 0, 1, 0]], "min_steps": 3 }, { "id": "1002", "map": [[1, 0, 0, 0], [0, 0, 0, 4], [0, 0, 0, 0], [0, 0, 0, 0]], "min_steps": 3 }, { "id": "1004", "map": [[1, 0, 0, 0], [0, 0, 0, 0], [0, 0, 0, 0], [0, 4, 0, 0]], "min_steps": 3 }, { "id": "1006", "map": [[4, 0, 0, 0], [0, 0, 0, 0], [0, 0, 0, 0], [0, 1, 0, 0]], "min_steps": 3 }, { "id": "1003", "map": [[1, 0, 0, 0], [0, 0, 0, 0], [0, 0, 0, 0], [0, 0, 0, 4]], "min_steps": 4 }, { "id": "1005", "map": [[1, 0, 0, 0], [0, 0, 0, 0], [0, 0, 0, 4], [0, 0, 0, 0]], "min_steps": 4 }, { "id": "1007", "map": [[0, 4, 0, 0], [0, 0, 0, 0], [0, 0, 0, 0], [0, 0, 0, 1]], "min_steps": 4 }, { "id": "1008", "map": [[0, 0, 0, 4], [0, 0, 0, 0], [0, 0, 0, 0], [1, 0, 0, 0]], "min_steps": 4 }], [{ "id": "2001", "map": [[0, 0, 0, 0, 1], [0, 0, 0, 0, 0], [0, 0, 3, 0, 3], [0, 0, 0, 0, 0], [4, 0, 0, 0, 3]], "min_steps": 4 }, { "id": "2002", "map": [[0, 1, 0, 0, 0], [0, 0, 0, 0, 0], [3, 3, 0, 0, 4], [0, 0, 0, 0, 0], [3, 0, 0, 0, 0]], "min_steps": 4 }, { "id": "2009", "map": [[0, 3, 0, 0, 4], [3, 0, 0, 0, 0], [0, 0, 0, 0, 0], [1, 0, 0, 0, 0], [0, 3, 0, 0, 0]], "min_steps": 4 }, { "id": "2010", "map": [[0, 0, 0, 0, 1], [0, 0, 0, 0, 0], [0, 0, 0, 0, 0], [0, 3, 0, 3, 0], [4, 0, 3, 0, 0]], "min_steps": 4 }, { "id": "2011", "map": [[4, 3, 1, 0, 0], [0, 0, 0, 0, 3], [0, 0, 0, 3, 0], [0, 0, 0, 0, 0], [0, 0, 0, 0, 0]], "min_steps": 4 }, { "id": "2021", "map": [[0, 0, 0, 1, 0], [0, 0, 3, 0, 0], [0, 0, 0, 3, 3], [0, 0, 0, 0, 0], [0, 4, 0, 0, 0]], "min_steps": 4 }, { "id": "2004", "map": [[1, 0, 0, 0, 0], [0, 0, 0, 0, 3], [3, 0, 0, 0, 0], [0, 0, 0, 0, 0], [0, 0, 0, 0, 4]], "min_steps": 5 }, { "id": "2012", "map": [[0, 3, 0, 4, 0], [0, 0, 0, 3, 0], [1, 0, 3, 0, 0], [0, 0, 0, 0, 0], [0, 0, 0, 0, 0]], "min_steps": 5 }, { "id": "2013", "map": [[0, 0, 0, 0, 0], [1, 0, 0, 0, 0], [0, 0, 0, 3, 3], [3, 0, 0, 0, 0], [0, 0, 0, 4, 0]], "min_steps": 5 }, { "id": "2014", "map": [[3, 0, 1, 0, 0], [0, 3, 0, 0, 0], [0, 0, 0, 0, 0], [4, 0, 0, 3, 0], [0, 0, 0, 0, 0]], "min_steps": 5 }, { "id": "2015", "map": [[3, 0, 0, 0, 1], [3, 0, 0, 0, 0], [0, 0, 0, 0, 0], [4, 3, 0, 0, 0], [3, 0, 0, 0, 0]], "min_steps": 5 }, { "id": "2016", "map": [[0, 0, 0, 0, 0], [1, 0, 3, 0, 0], [3, 0, 0, 0, 3], [0, 0, 0, 0, 0], [0, 0, 0, 0, 4]], "min_steps": 5 }, { "id": "2017", "map": [[0, 3, 0, 0, 0], [4, 0, 0, 0, 0], [0, 0, 0, 0, 0], [3, 0, 3, 0, 0], [3, 0, 0, 0, 1]], "min_steps": 5 }, { "id": "2018", "map": [[0, 3, 4, 3, 3], [0, 0, 0, 0, 0], [0, 0, 0, 0, 0], [0, 0, 0, 0, 0], [0, 0, 3, 0, 1]], "min_steps": 5 }, { "id": "2019", "map": [[3, 0, 0, 4, 0], [0, 0, 0, 3, 0], [0, 0, 0, 0, 0], [0, 0, 0, 0, 0], [1, 0, 3, 0, 0]], "min_steps": 5 }, { "id": "2020", "map": [[4, 0, 3, 0, 1], [0, 0, 0, 0, 3], [0, 0, 0, 0, 0], [0, 0, 0, 0, 0], [0, 0, 3, 0, 0]], "min_steps": 5 }, { "id": "2003", "map": [[1, 0, 0, 3, 0], [0, 0, 3, 0, 0], [0, 0, 0, 0, 0], [0, 0, 0, 0, 0], [0, 3, 0, 4, 0]], "min_steps": 6 }, { "id": "2005", "map": [[0, 3, 0, 0, 0], [1, 0, 0, 0, 0], [0, 0, 0, 3, 0], [0, 0, 0, 0, 0], [0, 3, 0, 4, 0]], "min_steps": 6 }, { "id": "2006", "map": [[0, 1, 0, 0, 0], [0, 0, 0, 0, 3], [0, 0, 0, 0, 3], [0, 0, 0, 0, 0], [0, 0, 0, 3, 4]], "min_steps": 6 }, { "id": "2007", "map": [[3, 0, 0, 0, 1], [0, 0, 0, 0, 3], [0, 0, 0, 0, 0], [0, 0, 0, 0, 0], [4, 3, 0, 0, 0]], "min_steps": 6 }, { "id": "2008", "map": [[3, 4, 0, 0, 0], [0, 0, 0, 0, 3], [0, 0, 0, 3, 1], [0, 0, 0, 0, 0], [0, 0, 0, 0, 0]], "min_steps": 6 }, { "id": "2022", "map": [[0, 0, 0, 0, 0], [1, 3, 0, 0, 3], [0, 0, 0, 0, 0], [0, 0, 0, 0, 0], [0, 0, 3, 4, 0]], "min_steps": 6 }], [{ "id": "3001", "map": [[3, 0, 2, 3, 4], [0, 0, 0, 2, 2], [2, 3, 3, 3, 3], [0, 0, 2, 0, 2], [1, 0, 2, 3, 0]], "min_steps": 5 }, { "id": "3002", "map": [[3, 0, 3, 2, 0], [1, 2, 0, 3, 2], [2, 3, 0, 0, 4], [2, 0, 2, 2, 0], [3, 3, 0, 3, 0]], "min_steps": 5 }, { "id": "3003", "map": [[0, 2, 3, 3, 4], [2, 2, 0, 0, 0], [1, 3, 3, 3, 2], [2, 2, 3, 2, 3], [0, 0, 0, 0, 0]], "min_steps": 5 }, { "id": "3004", "map": [[3, 2, 2, 1, 0], [0, 0, 3, 2, 2], [3, 0, 2, 3, 0], [3, 0, 0, 3, 3], [0, 2, 4, 0, 2]], "min_steps": 5 }, { "id": "3005", "map": [[3, 0, 3, 0, 0], [2, 3, 0, 0, 1], [0, 2, 2, 2, 3], [4, 2, 0, 0, 2], [3, 3, 0, 3, 2]], "min_steps": 5 }, { "id": "3008", "map": [[3, 3, 3, 0, 1], [0, 0, 0, 0, 3], [2, 2, 3, 2, 2], [0, 2, 3, 0, 3], [4, 2, 2, 0, 0]], "min_steps": 5 }, { "id": "3009", "map": [[1, 0, 3, 3, 2], [3, 0, 2, 0, 0], [0, 3, 3, 2, 4], [0, 0, 3, 0, 2], [2, 2, 2, 0, 3]], "min_steps": 5 }, { "id": "3010", "map": [[3, 0, 2, 0, 4], [1, 2, 3, 0, 3], [2, 0, 3, 2, 0], [0, 3, 0, 0, 3], [2, 0, 2, 3, 2]], "min_steps": 5 }, { "id": "3006", "map": [[2, 0, 2, 2, 0], [1, 2, 3, 0, 0], [3, 3, 0, 3, 2], [3, 0, 0, 3, 2], [2, 0, 3, 0, 4]], "min_steps": 6 }, { "id": "3007", "map": [[1, 2, 0, 3, 3], [2, 2, 0, 2, 0], [2, 3, 2, 0, 3], [0, 3, 2, 0, 4], [0, 0, 3, 0, 3]], "min_steps": 6 }, { "id": "3011", "map": [[2, 3, 0, 1, 0], [0, 0, 0, 0, 0], [3, 0, 0, 0, 3], [0, 2, 0, 3, 2], [4, 3, 3, 2, 2]], "min_steps": 6 }, { "id": "3012", "map": [[0, 2, 1, 0, 3], [0, 3, 0, 0, 3], [3, 2, 3, 2, 0], [0, 2, 0, 3, 0], [2, 0, 0, 0, 4]], "min_steps": 6 }, { "id": "3013", "map": [[0, 2, 1, 0, 3], [0, 3, 0, 0, 3], [3, 2, 3, 2, 0], [0, 2, 0, 3, 0], [2, 0, 0, 0, 4]], "min_steps": 6 }, { "id": "3014", "map": [[1, 0, 3, 3, 4], [2, 3, 0, 3, 0], [0, 2, 2, 0, 0], [3, 3, 0, 0, 2], [2, 0, 0, 0, 0]], "min_steps": 6 }, { "id": "3015", "map": [[2, 3, 0, 0, 0], [0, 0, 2, 3, 0], [4, 0, 3, 0, 3], [2, 0, 2, 2, 3], [0, 3, 0, 0, 1]], "min_steps": 6 }, { "id": "3016", "map": [[3, 0, 2, 0, 2], [2, 0, 0, 0, 3], [0, 2, 3, 0, 1], [4, 0, 0, 3, 0], [3, 3, 0, 0, 2]], "min_steps": 6 }, { "id": "3017", "map": [[0, 3, 0, 0, 2], [3, 0, 2, 0, 4], [1, 3, 3, 0, 0], [2, 0, 0, 2, 0], [3, 2, 3, 0, 0]], "min_steps": 6 }, { "id": "3018", "map": [[4, 2, 0, 0, 0], [0, 0, 0, 3, 2], [0, 3, 0, 0, 3], [3, 2, 3, 2, 0], [3, 0, 2, 1, 0]], "min_steps": 7 }, { "id": "3019", "map": [[0, 4, 0, 3, 2], [0, 2, 0, 0, 0], [3, 0, 3, 0, 2], [3, 3, 2, 3, 1], [2, 0, 0, 0, 0]], "min_steps": 7 }, { "id": "3020", "map": [[0, 2, 0, 1, 0], [0, 0, 0, 3, 2], [3, 0, 3, 3, 3], [3, 0, 0, 0, 2], [0, 2, 2, 4, 0]], "min_steps": 7 }, { "id": "3021", "map": [[3, 2, 0, 2, 1], [3, 2, 0, 3, 2], [3, 0, 0, 2, 3], [0, 0, 0, 0, 4], [0, 0, 3, 0, 0]], "min_steps": 7 }, { "id": "3022", "map": [[2, 0, 2, 2, 2], [0, 0, 3, 0, 0], [3, 0, 3, 0, 0], [1, 0, 3, 2, 4], [0, 0, 3, 3, 0]], "min_steps": 7 }, { "id": "3023", "map": [[1, 2, 0, 2, 0], [3, 3, 3, 0, 0], [0, 2, 3, 2, 0], [4, 0, 0, 0, 3], [0, 0, 2, 0, 3]], "min_steps": 7 }, { "id": "3024", "map": [[1, 0, 3, 0, 3], [2, 2, 0, 0, 0], [0, 3, 0, 3, 0], [2, 0, 3, 2, 0], [2, 3, 0, 4, 0]], "min_steps": 7 }], [{ "id": "4001", "map": [[1, 3, 0, 0, 2, 0], [0, 3, 0, 0, 2, 0], [0, 0, 2, 0, 3, 4], [0, 0, 0, 2, 0, 0], [3, 3, 0, 0, 2, 0, 3], [0, 0, 2, 2, 2, 0]], "min_steps": 5 }, { "id": "4002", "map": [[0, 2, 2, 2, 2, 0], [1, 0, 0, 0, 2, 0], [0, 0, 0, 0, 0, 3], [0, 0, 0, 0, 2, 0], [0, 3, 3, 0, 2, 0], [3, 0, 0, 4, 2, 0]], "min_steps": 5 }, { "id": "4003", "map": [[0, 0, 0, 0, 0, 0], [2, 0, 0, 0, 0, 2], [0, 3, 3, 3, 2, 4], [0, 3, 0, 3, 2, 0], [0, 0, 0, 0, 0, 3], [0, 0, 2, 3, 0, 1]], "min_steps": 6 }, { "id": "4004", "map": [[2, 0, 3, 0, 0, 4], [0, 2, 3, 3, 0, 0], [0, 3, 0, 0, 0, 0], [3, 0, 0, 0, 2, 2], [3, 0, 0, 2, 0, 0], [1, 0, 0, 3, 0, 0]], "min_steps": 6 }, { "id": "4006", "map": [[4, 3, 0, 3, 0, 0], [0, 2, 0, 3, 0, 0], [3, 0, 0, 0, 3, 2], [0, 3, 0, 0, 2, 1], [0, 0, 2, 0, 0, 0], [0, 0, 0, 0, 2, 3]], "min_steps": 7 }, { "id": "4007", "map": [[4, 2, 2, 0, 2, 0], [0, 3, 0, 2, 0, 0], [0, 2, 3, 0, 3, 0], [0, 0, 3, 0, 0, 3], [0, 0, 3, 0, 0, 0], [0, 0, 0, 3, 0, 1]], "min_steps": 7 }, { "id": "4014", "map": [[0, 0, 3, 0, 2, 2], [0, 2, 3, 0, 0, 1], [0, 3, 3, 0, 0, 3], [0, 2, 0, 0, 0, 0], [0, 0, 0, 3, 3, 0], [2, 0, 4, 0, 0, 0]], "min_steps": 7 }, { "id": "4015", "map": [[2, 0, 0, 0, 0, 0], [0, 0, 0, 0, 3, 1], [3, 0, 2, 0, 0, 3], [2, 0, 0, 2, 3, 0], [3, 0, 3, 0, 0, 0], [2, 0, 0, 3, 4, 0]], "min_steps": 7 }, { "id": "4005", "map": [[1, 0, 0, 0, 0, 2], [0, 0, 0, 2, 0, 0], [3, 2, 0, 0, 0, 0], [0, 3, 0, 0, 2, 3], [0, 0, 3, 3, 0, 0], [3, 0, 0, 2, 3, 4]], "min_steps": 8 }, { "id": "4008", "map": [[0, 0, 2, 3, 0, 0], [0, 3, 0, 2, 3, 2], [3, 0, 0, 0, 0, 0], [0, 3, 0, 0, 3, 4], [0, 0, 0, 0, 0, 3], [0, 2, 0, 2, 0, 1]], "min_steps": 8 }, { "id": "4009", "map": [[0, 3, 3, 0, 0, 4], [2, 0, 0, 3, 0, 0], [2, 0, 0, 3, 0, 0], [1, 0, 0, 0, 3, 0], [0, 0, 2, 3, 0, 2], [2, 3, 0, 0, 0, 0]], "min_steps": 8 }, { "id": "4010", "map": [[0, 0, 1, 3, 2, 0], [3, 0, 0, 0, 3, 2], [3, 0, 0, 0, 0, 3], [2, 0, 0, 0, 0, 0], [0, 2, 0, 0, 3, 0], [0, 2, 0, 3, 4, 0]], "min_steps": 8 }, { "id": "4011", "map": [[1, 0, 0, 0, 0, 0], [3, 3, 0, 0, 0, 2], [0, 0, 0, 3, 0, 2], [2, 0, 3, 0, 3, 0], [2, 0, 3, 0, 0, 3], [4, 0, 0, 0, 0, 2]], "min_steps": 8 }, { "id": "4016", "map": [[0, 0, 3, 0, 0, 1], [2, 3, 0, 0, 3, 0], [2, 0, 0, 0, 0, 2], [0, 3, 0, 0, 0, 0], [0, 3, 0, 0, 2, 0], [0, 4, 3, 0, 2, 3]], "min_steps": 8 }, { "id": "4017", "map": [[1, 2, 3, 0, 3, 2], [3, 0, 0, 0, 0, 0], [0, 0, 0, 0, 0, 3], [3, 3, 0, 3, 2, 0], [0, 2, 0, 0, 0, 0], [4, 0, 0, 2, 0, 0]], "min_steps": 8 }, { "id": "4018", "map": [[0, 0, 1, 0, 2, 0], [0, 0, 0, 0, 0, 0], [0, 0, 3, 2, 3, 0], [3, 0, 0, 3, 0, 0], [2, 3, 0, 2, 0, 0], [4, 2, 0, 3, 3, 0]], "min_steps": 8 }, { "id": "4012", "map": [[2, 2, 3, 0, 2, 0], [0, 3, 0, 0, 0, 0], [0, 0, 0, 0, 3, 4], [0, 2, 0, 3, 0, 3], [0, 0, 0, 0, 0, 0], [0, 0, 2, 3, 3, 1]], "min_steps": 9 }, { "id": "4013", "map": [[0, 0, 0, 0, 3, 0], [4, 2, 0, 3, 0, 0], [3, 2, 0, 0, 0, 0], [1, 3, 0, 3, 0, 0], [2, 0, 0, 2, 0, 0], [3, 0, 0, 3, 2, 0]], "min_steps": 9 }, { "id": "4019", "map": [[3, 4, 0, 0, 0, 2], [3, 2, 0, 0, 2, 0], [0, 3, 0, 3, 0, 2], [0, 0, 3, 0, 0, 0], [0, 0, 0, 0, 3, 0], [1, 3, 0, 0, 0, 2]], "min_steps": 9 }, { "id": "4020", "map": [[0, 2, 0, 1, 0, 0], [2, 3, 0, 0, 2, 0], [3, 0, 0, 0, 0, 0], [0, 3, 3, 0, 0, 3], [2, 0, 0, 3, 0, 0], [4, 3, 0, 0, 0, 2]], "min_steps": 9 }], [{ "id": "5001", "map": [[1, 0, 0, 0, 0, 0], [0, 2, 2, 3, 0, 2], [3, 2, 0, 0, 3, 3], [0, 0, 0, 0, 0, 4], [0, 0, 0, 2, 2, 0], [3, 0, 2, 2, 0, 0]], "min_steps": 7 }, { "id": "5002", "map": [[0, 0, 0, 0, 4, 3], [3, 2, 3, 0, 0, 0], [0, 2, 0, 2, 3, 0], [2, 2, 0, 0, 0, 0], [3, 2, 0, 0, 0, 0], [3, 0, 0, 2, 0, 3], [2, 0, 0, 3, 0, 1]], "min_steps": 7 }, { "id": "5015", "map": [[1, 2, 3, 2, 2, 0], [3, 0, 0, 0, 0, 3], [0, 0, 0, 0, 0, 0], [0, 0, 0, 0, 0, 2], [0, 3, 0, 3, 2, 0], [0, 0, 0, 0, 0, 0], [0, 2, 0, 4, 0, 3]], "min_steps": 7 }, { "id": "5016", "map": [[3, 0, 1, 0, 0, 0], [0, 2, 0, 2, 0, 0], [0, 2, 0, 2, 0, 3], [0, 0, 0, 0, 0, 0], [0, 2, 0, 0, 3, 3], [0, 0, 0, 0, 2, 3], [0, 0, 0, 3, 0, 4]], "min_steps": 7 }, { "id": "5004", "map": [[0, 3, 3, 2, 3, 0], [2, 0, 2, 0, 3, 0], [1, 0, 3, 2, 0, 0], [3, 3, 0, 0, 0, 2], [0, 0, 0, 0, 0, 0], [0, 2, 0, 0, 0, 0], [0, 0, 0, 3, 4, 0]], "min_steps": 8 }, { "id": "5005", "map": [[0, 0, 0, 0, 0, 1], [0, 0, 2, 0, 2, 0], [3, 2, 2, 0, 0, 0], [3, 0, 0, 3, 0, 0], [3, 3, 0, 0, 0, 3], [4, 3, 0, 0, 0, 0], [2, 0, 0, 2, 3, 0]], "min_steps": 8 }, { "id": "5008", "map": [[3, 0, 3, 2, 0, 4], [0, 3, 0, 2, 0, 2], [0, 0, 3, 0, 0, 0], [2, 0, 0, 2, 0, 0], [0, 0, 3, 0, 0, 0], [0, 0, 0, 3, 0, 0], [3, 2, 1, 3, 0, 0]], "min_steps": 8 }, { "id": "5012", "map": [[2, 3, 0, 2, 0, 1], [2, 0, 0, 0, 0, 0], [2, 0, 0, 3, 0, 2], [3, 0, 3, 0, 0, 3], [0, 0, 0, 0, 3, 3], [3, 0, 0, 0, 2, 0], [0, 0, 0, 0, 0, 4]], "min_steps": 8 }, { "id": "5013", "map": [[0, 0, 2, 1, 2, 0], [0, 3, 0, 0, 0, 0], [2, 0, 0, 0, 0, 0], [0, 0, 0, 3, 0, 0], [3, 0, 0, 2, 3, 0], [3, 3, 3, 2, 0, 2], [0, 0, 4, 0, 0, 3]], "min_steps": 8 }, { "id": "5018", "map": [[0, 2, 0, 1, 0, 0], [2, 0, 0, 3, 0, 0], [0, 0, 0, 0, 0, 0], [3, 0, 0, 0, 0, 0], [2, 3, 0, 2, 3, 3], [2, 0, 0, 0, 0, 2], [4, 3, 0, 0, 0, 0]], "min_steps": 8 }, { "id": "5019", "map": [[1, 3, 0, 2, 3, 0], [0, 0, 0, 0, 0, 2], [0, 0, 0, 0, 0, 0], [0, 0, 2, 0, 0, 2], [3, 3, 0, 3, 0, 2], [4, 0, 2, 0, 0, 0], [0, 0, 0, 3, 0, 0]], "min_steps": 8 }, { "id": "5029", "map": [[4, 3, 0, 0, 0, 0], [2, 0, 0, 3, 0, 2], [3, 2, 0, 3, 3, 0], [2, 0, 0, 3, 0, 0], [0, 2, 0, 0, 0, 0], [2, 0, 0, 0, 0, 0], [3, 0, 3, 3, 0, 1]], "min_steps": 8 }, { "id": "5030", "map": [[0, 0, 0, 0, 0, 0], [0, 0, 2, 3, 2, 0], [0, 3, 0, 0, 0, 0], [2, 2, 0, 3, 0, 0], [0, 3, 3, 0, 3, 4], [0, 0, 2, 0, 0, 3], [3, 1, 0, 3, 0, 2]], "min_steps": 8 }, { "id": "5006", "map": [[0, 3, 0, 0, 0, 0], [1, 0, 0, 0, 3, 0], [0, 0, 3, 2, 0, 0], [3, 0, 0, 2, 2, 0], [0, 3, 0, 3, 3, 0], [0, 2, 0, 0, 0, 0], [4, 0, 3, 0, 2, 2]], "min_steps": 9 }, { "id": "5007", "map": [[0, 2, 0, 3, 0, 0], [1, 2, 0, 2, 0, 0], [0, 3, 0, 3, 0, 0], [3, 0, 0, 0, 0, 3], [0, 0, 3, 2, 0, 2], [4, 0, 0, 3, 0, 3], [0, 2, 0, 0, 0, 0]], "min_steps": 9 }, { "id": "5010", "map": [[0, 3, 1, 0, 0, 0], [0, 2, 3, 3, 0, 0], [0, 2, 0, 3, 0, 0], [0, 2, 0, 2, 0, 3], [0, 2, 0, 0, 3, 0], [0, 3, 0, 0, 0, 0], [0, 2, 4, 0, 0, 3]], "min_steps": 9 }, { "id": "5011", "map": [[1, 0, 3, 0, 3, 0], [0, 2, 0, 0, 0, 0], [2, 0, 2, 0, 3, 0], [0, 3, 2, 0, 0, 0], [3, 0, 0, 0, 0, 2], [4, 0, 3, 0, 0, 0], [3, 2, 0, 0, 0, 3]], "min_steps": 9 }, { "id": "5014", "map": [[0, 1, 0, 0, 0, 0], [2, 0, 2, 0, 0, 2], [2, 3, 0, 3, 0, 0], [0, 3, 0, 0, 0, 3], [0, 0, 0, 2, 0, 3], [0, 0, 3, 0, 3, 0], [2, 0, 3, 0, 0, 4]], "min_steps": 9 }, { "id": "5017", "map": [[0, 0, 0, 0, 0, 0], [1, 2, 3, 0, 0, 2], [0, 0, 2, 0, 0, 2], [3, 0, 2, 3, 0, 0], [0, 3, 3, 0, 2, 0], [0, 0, 0, 0, 0, 0], [4, 0, 3, 0, 0, 0]], "min_steps": 9 }, { "id": "5028", "map": [[0, 0, 1, 0, 0, 3], [3, 0, 0, 0, 3, 4], [0, 2, 0, 2, 3, 2], [0, 3, 2, 3, 3, 0], [0, 0, 0, 3, 0, 0], [0, 0, 3, 0, 0, 2], [0, 0, 2, 0, 0, 0]], "min_steps": 9 }, { "id": "5003", "map": [[0, 0, 1, 3, 0, 2], [0, 3, 3, 0, 0, 0], [0, 0, 3, 2, 0, 0], [0, 0, 3, 0, 0, 0], [3, 0, 0, 0, 2, 2], [0, 0, 2, 3, 0, 0], [0, 2, 0, 3, 0, 4]], "min_steps": 10 }, { "id": "5009", "map": [[0, 2, 0, 0, 0, 3], [0, 0, 3, 3, 3, 4], [0, 3, 0, 0, 0, 0], [0, 3, 2, 0, 0, 0], [1, 2, 3, 2, 0, 3], [2, 0, 0, 0, 0, 0], [0, 0, 0, 0, 2, 0]], "min_steps": 10 }, { "id": "5021", "map": [[0, 0, 0, 0, 0, 0], [0, 0, 0, 0, 3, 0], [3, 0, 0, 0, 2, 0], [2, 0, 0, 2, 3, 0], [0, 3, 0, 0, 0, 2], [0, 2, 3, 0, 0, 0], [4, 3, 1, 2, 0, 0]], "min_steps": 10 }, { "id": "5022", "map": [[4, 0, 3, 0, 0, 2], [0, 0, 0, 0, 2, 0], [0, 3, 0, 2, 3, 2], [3, 0, 3, 0, 3, 0], [0, 2, 0, 0, 0, 0], [0, 3, 0, 3, 0, 3], [0, 2, 1, 0, 0, 0]], "min_steps": 10 }, { "id": "5023", "map": [[3, 0, 0, 3, 3, 0], [0, 0, 3, 0, 0, 3], [2, 3, 0, 0, 0, 0], [2, 2, 0, 0, 2, 0], [0, 3, 0, 0, 0, 0], [2, 0, 3, 0, 0, 4], [0, 1, 3, 0, 2, 0]], "min_steps": 10 }, { "id": "5024", "map": [[3, 0, 2, 3, 0, 0], [4, 2, 0, 0, 0, 3], [2, 2, 0, 0, 0, 0], [0, 0, 3, 0, 0, 2], [0, 0, 0, 3, 0, 3], [0, 3, 3, 0, 2, 0], [3, 0, 1, 0, 0, 0]], "min_steps": 10 }, { "id": "5020", "map": [[0, 0, 0, 2, 0, 0], [0, 3, 0, 0, 0, 3], [0, 2, 0, 0, 3, 0], [2, 0, 0, 2, 3, 4], [0, 2, 3, 0, 0, 0], [0, 0, 0, 3, 0, 0], [3, 2, 0, 1, 3, 0]], "min_steps": 11 }, { "id": "5025", "map": [[1, 0, 0, 0, 3, 0], [0, 0, 0, 3, 3, 2], [3, 3, 2, 0, 0, 2], [0, 0, 0, 0, 0, 3], [0, 0, 2, 0, 2, 0], [0, 0, 0, 0, 3, 4], [0, 3, 2, 3, 0, 0]], "min_steps": 11 }, { "id": "5026", "map": [[0, 3, 2, 0, 0, 0], [0, 0, 2, 3, 3, 0], [2, 0, 0, 2, 0, 0], [3, 2, 0, 0, 3, 2], [0, 0, 0, 3, 3, 1], [0, 0, 3, 0, 0, 3], [0, 0, 0, 0, 0, 4]], "min_steps": 11 }, { "id": "5027", "map": [[0, 0, 3, 0, 0, 1], [0, 0, 0, 0, 0, 3], [2, 0, 2, 0, 2, 3], [0, 0, 3, 3, 0, 3], [0, 0, 0, 2, 3, 0], [0, 0, 0, 2, 0, 3], [2, 0, 3, 0, 4, 0]], "min_steps": 11 }], [{ "id": "6028", "map": [[0, 0, 3, 0, 0, 2], [1, 3, 2, 2, 0, 3], [0, 0, 3, 0, 0, 2], [0, 0, 0, 0, 0, 0], [0, 0, 2, 0, 3, 3], [3, 3, 3, 0, 0, 0], [4, 0, 0, 0, 0, 2]], "min_steps": 8 }, { "id": "6029", "map": [[0, 0, 2, 0, 0, 1], [3, 2, 3, 0, 0, 3], [2, 0, 3, 0, 3, 0], [3, 3, 0, 0, 0, 0], [0, 0, 0, 3, 3, 2], [0, 0, 0, 0, 0, 2], [0, 0, 0, 4, 2, 0]], "min_steps": 8 }, { "id": "6030", "map": [[0, 3, 3, 0, 1, 0], [2, 3, 0, 0, 3, 0], [0, 0, 0, 3, 0, 2], [0, 0, 3, 0, 2, 0], [0, 0, 2, 3, 3, 3], [0, 0, 0, 0, 0, 0], [4, 0, 0, 2, 0, 2]], "min_steps": 8 }, { "id": "6001", "map": [[0, 0, 3, 3, 4, 2], [0, 0, 0, 2, 0, 0], [2, 3, 3, 2, 0, 0], [0, 3, 0, 0, 0, 2], [0, 0, 0, 3, 2, 2], [2, 0, 0, 3, 0, 2], [1, 3, 2, 0, 0, 0], [0, 0, 0, 3, 0, 0]], "min_steps": 9 }, { "id": "6012", "map": [[3, 0, 0, 0, 2, 0], [0, 3, 0, 3, 0, 0], [0, 3, 0, 0, 0, 3], [2, 0, 0, 3, 2, 0], [3, 2, 2, 2, 0, 0], [3, 0, 2, 0, 3, 0], [1, 2, 3, 0, 2, 0], [2, 3, 0, 0, 3, 4]], "min_steps": 9 }, { "id": "6016", "map": [[0, 0, 1, 0, 2, 3], [0, 3, 2, 0, 2, 0], [3, 3, 3, 3, 0, 0], [3, 0, 0, 0, 0, 0], [2, 2, 3, 0, 3, 3], [0, 0, 2, 0, 2, 0], [0, 2, 0, 2, 0, 3], [3, 0, 2, 0, 0, 4]], "min_steps": 9 }, { "id": "6008", "map": [[0, 0, 2, 0, 3, 4], [3, 3, 2, 3, 0, 0], [0, 0, 0, 0, 0, 3], [0, 0, 2, 3, 2, 0], [0, 0, 2, 0, 3, 2], [3, 3, 0, 0, 0, 2], [0, 3, 0, 0, 0, 0], [2, 1, 0, 0, 0, 0]], "min_steps": 10 }, { "id": "6013", "map": [[3, 0, 0, 2, 2, 0], [0, 2, 0, 3, 0, 2], [0, 0, 3, 2, 3, 0], [0, 3, 0, 0, 3, 0], [2, 2, 3, 2, 0, 0], [0, 0, 3, 3, 0, 0], [0, 2, 0, 3, 2, 0], [4, 3, 3, 0, 1, 0]], "min_steps": 10 }, { "id": "6017", "map": [[4, 0, 0, 0, 0, 3], [0, 3, 3, 0, 0, 0], [3, 0, 2, 2, 0, 0], [3, 0, 2, 3, 3, 2], [3, 2, 0, 2, 3, 3], [2, 0, 2, 0, 0, 0], [0, 0, 0, 0, 0, 3], [2, 3, 0, 2, 0, 1]], "min_steps": 10 }, { "id": "6022", "map": [[0, 0, 3, 4, 3, 0], [0, 3, 0, 2, 2, 0], [2, 0, 2, 0, 0, 3], [0, 0, 0, 0, 0, 0], [2, 3, 0, 3, 2, 0], [0, 3, 0, 0, 0, 0], [0, 1, 3, 0, 0, 3]], "min_steps": 10 }, { "id": "6023", "map": [[0, 0, 3, 1, 0, 2], [0, 0, 2, 3, 0, 0], [4, 0, 3, 0, 0, 0], [2, 0, 3, 0, 0, 3], [2, 0, 3, 0, 3, 0], [0, 0, 0, 0, 0, 0], [2, 3, 0, 2, 3, 0]], "min_steps": 10 }, { "id": "6024", "map": [[0, 3, 0, 2, 0, 4], [3, 0, 0, 3, 3, 3], [0, 0, 2, 0, 0, 0], [2, 3, 3, 0, 0, 0], [2, 0, 0, 0, 0, 3], [2, 0, 3, 0, 0, 1], [0, 0, 0, 0, 0, 2]], "min_steps": 10 }, { "id": "6025", "map": [[4, 0, 2, 0, 0, 0], [0, 0, 3, 3, 0, 2], [3, 3, 0, 0, 0, 3], [0, 2, 0, 2, 0, 0], [0, 0, 0, 0, 3, 0], [1, 3, 0, 0, 2, 2], [0, 3, 0, 0, 0, 3]], "min_steps": 10 }, { "id": "6002", "map": [[0, 0, 3, 3, 4, 2], [0, 0, 0, 2, 0, 0], [2, 3, 3, 2, 0, 0], [0, 3, 0, 0, 0, 2], [0, 0, 0, 3, 2, 2], [2, 0, 0, 3, 0, 2], [1, 3, 2, 0, 0, 0], [0, 0, 0, 3, 0, 0]], "min_steps": 11 }, { "id": "6006", "map": [[1, 0, 2, 0, 0, 3], [0, 0, 0, 0, 3, 0], [3, 0, 0, 3, 2, 0], [2, 3, 0, 0, 0, 3], [0, 0, 3, 2, 0, 3], [0, 2, 0, 3, 0, 0], [2, 3, 0, 2, 0, 0], [0, 4, 0, 2, 0, 0]], "min_steps": 11 }, { "id": "6009", "map": [[4, 3, 0, 0, 3, 0], [0, 0, 0, 0, 0, 0], [3, 3, 0, 2, 0, 2], [3, 0, 0, 2, 2, 0], [2, 3, 2, 0, 0, 0], [1, 3, 3, 0, 0, 0], [2, 0, 0, 0, 0, 0], [3, 3, 0, 0, 0, 2]], "min_steps": 11 }, { "id": "6018", "map": [[2, 3, 0, 0, 2, 3], [2, 0, 0, 3, 0, 4], [2, 0, 0, 0, 0, 0], [0, 3, 2, 0, 2, 3], [0, 0, 0, 0, 0, 3], [2, 0, 3, 3, 2, 3], [0, 0, 0, 3, 2, 0], [2, 3, 1, 3, 0, 0]], "min_steps": 11 }, { "id": "6026", "map": [[0, 1, 0, 3, 0, 4], [0, 0, 3, 0, 3, 0], [2, 2, 3, 2, 0, 0], [0, 0, 3, 0, 3, 3], [2, 0, 0, 0, 0, 2], [0, 3, 0, 0, 0, 2], [0, 0, 0, 0, 0, 3]], "min_steps": 11 }, { "id": "6027", "map": [[2, 1, 3, 0, 0, 0], [0, 0, 0, 0, 3, 0], [3, 3, 0, 0, 0, 0], [2, 2, 3, 3, 3, 0], [0, 2, 0, 0, 0, 0], [3, 2, 0, 0, 0, 0], [0, 4, 0, 2, 3, 0]], "min_steps": 11 }, { "id": "6031", "map": [[0, 1, 0, 3, 0, 4], [0, 0, 3, 0, 3, 0], [2, 2, 3, 2, 0, 0], [0, 0, 3, 0, 3, 3], [2, 0, 0, 0, 0, 2], [0, 3, 0, 0, 0, 2], [0, 0, 0, 0, 0, 3]], "min_steps": 11 }, { "id": "6003", "map": [[0, 2, 2, 0, 0, 4], [0, 3, 3, 0, 0, 0], [3, 2, 0, 0, 0, 0], [0, 3, 0, 0, 3, 3], [0, 2, 0, 3, 0, 0], [2, 3, 0, 0, 0, 0], [0, 2, 3, 0, 0, 0], [1, 2, 3, 0, 2, 0]], "min_steps": 12 }, { "id": "6011", "map": [[3, 0, 2, 2, 3, 2], [1, 0, 0, 0, 0, 3], [0, 0, 3, 2, 3, 0], [3, 0, 3, 0, 0, 0], [4, 3, 2, 3, 0, 2], [0, 0, 2, 0, 2, 3], [2, 0, 0, 0, 0, 3], [0, 0, 0, 2, 0, 3]], "min_steps": 12 }, { "id": "6014", "map": [[4, 3, 0, 0, 0, 0], [0, 2, 2, 2, 3, 0], [0, 3, 0, 0, 0, 0], [2, 3, 2, 3, 0, 0], [3, 3, 0, 0, 0, 3], [0, 0, 0, 2, 3, 0], [0, 3, 2, 0, 2, 2], [2, 3, 3, 0, 0, 1]], "min_steps": 12 }, { "id": "6020", "map": [[3, 2, 0, 0, 0, 0], [4, 0, 2, 0, 2, 0], [3, 3, 0, 0, 2, 2], [0, 0, 3, 0, 2, 0], [0, 0, 0, 0, 2, 3], [0, 2, 3, 3, 0, 0], [2, 3, 0, 0, 3, 3], [1, 3, 3, 2, 0, 0]], "min_steps": 12 }, { "id": "6021", "map": [[4, 3, 0, 0, 0, 0], [0, 2, 2, 2, 3, 0], [0, 3, 0, 0, 0, 0], [2, 3, 2, 3, 0, 0], [3, 3, 0, 0, 0, 3], [0, 0, 0, 2, 3, 0], [0, 3, 2, 0, 2, 2], [2, 3, 3, 0, 0, 1]], "min_steps": 12 }, { "id": "6004", "map": [[0, 3, 0, 2, 2, 0], [0, 0, 0, 0, 0, 2], [3, 0, 0, 0, 0, 0], [0, 3, 0, 0, 0, 0], [0, 3, 3, 0, 3, 0], [2, 0, 0, 0, 3, 2], [2, 0, 0, 0, 3, 1], [4, 3, 0, 2, 3, 2]], "min_steps": 13 }, { "id": "6005", "map": [[2, 2, 4, 2, 3, 0], [0, 3, 3, 2, 0, 0], [3, 0, 0, 3, 0, 2], [3, 0, 2, 3, 3, 0], [0, 0, 0, 0, 0, 0], [0, 0, 0, 0, 2, 3], [3, 2, 0, 0, 0, 1], [0, 0, 0, 0, 0, 0]], "min_steps": 13 }, { "id": "6007", "map": [[3, 2, 0, 0, 3, 4], [0, 2, 0, 0, 3, 0], [0, 0, 2, 0, 2, 0], [2, 0, 0, 3, 0, 3], [0, 0, 2, 0, 3, 2], [0, 2, 3, 3, 0, 1], [0, 0, 0, 0, 0, 3], [0, 0, 0, 3, 0, 0]], "min_steps": 13 }, { "id": "6010", "map": [[0, 3, 1, 0, 0, 0], [0, 2, 3, 3, 0, 0], [2, 0, 0, 3, 0, 0], [0, 2, 0, 0, 3, 2], [3, 0, 0, 0, 0, 2], [3, 2, 0, 0, 0, 0], [4, 0, 0, 3, 2, 0], [0, 3, 0, 3, 2, 0]], "min_steps": 13 }, { "id": "6015", "map": [[4, 0, 0, 0, 2, 3], [0, 0, 3, 0, 0, 3], [2, 2, 3, 2, 0, 0], [3, 0, 0, 0, 3, 2], [2, 3, 0, 3, 0, 2], [0, 0, 3, 0, 2, 3], [0, 0, 0, 0, 0, 3], [1, 2, 2, 3, 0, 0]], "min_steps": 14 }, { "id": "6019", "map": [[4, 0, 0, 0, 2, 3], [0, 0, 3, 0, 0, 3], [2, 2, 3, 2, 0, 0], [3, 0, 0, 0, 3, 2], [2, 3, 0, 3, 0, 2], [0, 0, 3, 0, 2, 3], [0, 0, 0, 0, 0, 3], [1, 2, 2, 3, 0, 0]], "min_steps": 14 }], [{ "id": "7001", "map": [[0, 2, 0, 0, 2, 0], [3, 3, 0, 2, 0, 4], [0, 0, 0, 0, 0, 3], [0, 0, 0, 0, 3, 2], [0, 0, 0, 0, 0, 2], [3, 3, 0, 0, 0, 2], [0, 3, 3, 2, 2, 0], [0, 3, 2, 2, 0, 3], [1, 2, 0, 0, 2, 0]], "min_steps": 9 }, { "id": "7023", "map": [[3, 2, 0, 2, 0, 1], [0, 3, 3, 2, 3, 3], [0, 3, 3, 0, 3, 0], [0, 2, 2, 2, 0, 3], [0, 3, 2, 0, 0, 3], [0, 0, 0, 0, 2, 0], [2, 2, 2, 3, 0, 0], [2, 0, 3, 0, 3, 0], [0, 0, 3, 0, 0, 4]], "min_steps": 9 }, { "id": "7003", "map": [[1, 3, 2, 0, 0, 0], [0, 0, 0, 2, 0, 0], [0, 3, 0, 2, 0, 0], [3, 3, 3, 2, 0, 3], [2, 3, 3, 0, 3, 0], [0, 0, 0, 0, 0, 2], [3, 0, 2, 2, 3, 2], [4, 2, 0, 0, 2, 0], [0, 0, 2, 0, 0, 2]], "min_steps": 10 }, { "id": "7002", "map": [[1, 0, 3, 2, 0, 2], [0, 3, 0, 0, 0, 2], [0, 2, 0, 3, 2, 2], [0, 3, 0, 0, 0, 0], [0, 2, 0, 3, 3, 0], [3, 2, 2, 0, 0, 3], [0, 3, 2, 3, 0, 2], [0, 0, 0, 0, 0, 0], [2, 0, 0, 2, 3, 4]], "min_steps": 11 }, { "id": "7005", "map": [[0, 0, 0, 0, 0, 0], [0, 0, 0, 3, 2, 4], [0, 3, 0, 0, 3, 3], [3, 3, 0, 2, 0, 3], [0, 2, 2, 0, 3, 2], [0, 0, 3, 0, 2, 0], [0, 2, 0, 2, 0, 0], [3, 0, 0, 2, 2, 0], [0, 0, 2, 2, 0, 1]], "min_steps": 11 }, { "id": "7006", "map": [[0, 0, 0, 0, 2, 3], [3, 2, 0, 0, 0, 0], [0, 2, 0, 3, 3, 4], [0, 0, 0, 2, 2, 3], [2, 0, 0, 0, 0, 0], [0, 0, 0, 0, 3, 0], [3, 0, 3, 3, 0, 2], [3, 0, 2, 2, 0, 2], [0, 0, 2, 2, 0, 1]], "min_steps": 11 }, { "id": "7007", "map": [[2, 0, 2, 0, 2, 0], [0, 0, 2, 0, 3, 2], [0, 0, 0, 3, 3, 0], [0, 2, 0, 0, 3, 2], [3, 0, 0, 2, 0, 0], [3, 3, 0, 0, 0, 2], [0, 2, 0, 3, 2, 0], [0, 2, 3, 0, 0, 0], [4, 3, 0, 0, 1, 0]], "min_steps": 11 }, { "id": "7026", "map": [[2, 4, 2, 0, 0, 0], [0, 3, 3, 0, 3, 0], [3, 3, 3, 0, 0, 3], [2, 0, 3, 0, 0, 2], [0, 2, 2, 3, 0, 3], [1, 0, 2, 0, 2, 0], [3, 3, 0, 0, 0, 0], [2, 0, 0, 0, 3, 2], [2, 0, 3, 2, 3, 0]], "min_steps": 11 }, { "id": "7027", "map": [[2, 0, 0, 0, 0, 2], [0, 0, 3, 3, 2, 3], [0, 0, 3, 0, 0, 1], [0, 3, 0, 3, 3, 3], [0, 0, 0, 0, 0, 2], [3, 3, 2, 0, 0, 2], [3, 3, 0, 2, 0, 3], [0, 3, 2, 2, 2, 0], [0, 3, 4, 2, 2, 0]], "min_steps": 11 }, { "id": "7029", "map": [[0, 0, 1, 0, 0, 0], [3, 3, 0, 0, 3, 2], [3, 0, 0, 0, 2, 0], [0, 2, 0, 2, 2, 0], [2, 3, 3, 3, 0, 3], [3, 2, 2, 3, 0, 0], [2, 0, 3, 0, 0, 3], [3, 2, 0, 0, 0, 3], [4, 2, 0, 0, 3, 2]], "min_steps": 11 }, { "id": "7008", "map": [[1, 0, 0, 0, 2, 0], [3, 3, 2, 0, 3, 0], [3, 0, 3, 0, 0, 0], [0, 0, 3, 0, 0, 3], [2, 2, 0, 3, 0, 3], [2, 0, 2, 0, 0, 0], [2, 0, 2, 0, 0, 2], [2, 0, 0, 2, 0, 0], [4, 3, 0, 0, 0, 2]], "min_steps": 12 }, { "id": "7010", "map": [[4, 3, 0, 3, 1, 0], [0, 0, 3, 3, 0, 0], [0, 3, 0, 0, 2, 2], [2, 0, 3, 0, 0, 2], [3, 2, 0, 2, 3, 0], [0, 0, 0, 0, 0, 0], [0, 2, 0, 2, 2, 0], [0, 2, 0, 3, 0, 2], [0, 2, 0, 0, 0, 3]], "min_steps": 12 }, { "id": "7016", "map": [[2, 3, 4, 0, 0, 3], [0, 3, 2, 2, 3, 1], [0, 2, 2, 3, 0, 0], [3, 0, 3, 0, 2, 0], [3, 0, 0, 0, 2, 2], [0, 0, 3, 3, 0, 0], [0, 3, 0, 3, 2, 0], [0, 0, 3, 0, 3, 2], [0, 2, 2, 3, 0, 0]], "min_steps": 12 }, { "id": "7020", "map": [[2, 3, 0, 4, 3, 3], [3, 3, 0, 0, 3, 0], [0, 2, 0, 3, 2, 0], [0, 3, 0, 0, 0, 2], [3, 2, 0, 0, 0, 0], [0, 0, 3, 2, 0, 3], [0, 3, 0, 3, 2, 0], [3, 2, 2, 0, 0, 2], [0, 0, 2, 1, 3, 2]], "min_steps": 12 }, { "id": "7024", "map": [[1, 3, 2, 0, 0, 3], [2, 3, 2, 0, 0, 0], [0, 2, 3, 0, 3, 3], [3, 0, 0, 2, 0, 3], [2, 3, 0, 0, 0, 3], [3, 3, 0, 0, 0, 0], [2, 0, 3, 0, 0, 2], [0, 0, 2, 0, 2, 2], [4, 2, 3, 0, 3, 0]], "min_steps": 12 }, { "id": "7032", "map": [[0, 0, 0, 0, 3, 4], [0, 0, 3, 3, 3, 2], [2, 2, 3, 3, 0, 0], [0, 0, 3, 2, 0, 0], [0, 2, 0, 2, 3, 2], [0, 2, 3, 0, 0, 3], [2, 3, 3, 0, 0, 2], [1, 0, 3, 0, 3, 2], [0, 0, 3, 0, 0, 2]], "min_steps": 12 }, { "id": "7033", "map": [[1, 0, 0, 3, 0, 3], [3, 3, 2, 0, 2, 0], [0, 3, 3, 2, 0, 2], [3, 2, 0, 3, 0, 0], [4, 2, 2, 2, 0, 0], [0, 3, 0, 0, 0, 0], [3, 3, 3, 0, 0, 2], [3, 0, 3, 2, 0, 3], [2, 0, 0, 0, 0, 2]], "min_steps": 12 }, { "id": "7035", "map": [[3, 0, 0, 2, 0, 4], [3, 0, 2, 3, 3, 3], [0, 0, 2, 3, 0, 2], [3, 0, 3, 3, 3, 0], [2, 2, 0, 0, 0, 0], [2, 2, 3, 0, 0, 0], [0, 0, 2, 3, 0, 0], [0, 2, 0, 3, 2, 3], [0, 0, 3, 1, 2, 0]], "min_steps": 12 }, { "id": "7036", "map": [[2, 3, 1, 0, 0, 2], [0, 3, 0, 0, 0, 0], [2, 0, 2, 0, 0, 3], [0, 0, 3, 3, 0, 3], [0, 2, 2, 0, 0, 3], [0, 3, 2, 3, 3, 0], [0, 3, 2, 0, 0, 2], [0, 3, 2, 0, 2, 3], [2, 0, 3, 3, 4, 0]], "min_steps": 12 }, { "id": "7037", "map": [[2, 0, 0, 0, 0, 3], [0, 2, 3, 0, 2, 2], [0, 0, 3, 0, 2, 0], [0, 2, 2, 0, 0, 0], [3, 2, 3, 0, 0, 3], [0, 0, 3, 3, 0, 3], [3, 2, 3, 0, 0, 3], [0, 0, 3, 3, 2, 0], [4, 3, 1, 2, 0, 2]], "min_steps": 12 }, { "id": "7039", "map": [[2, 0, 3, 3, 2, 0], [0, 0, 0, 0, 2, 3], [1, 3, 0, 0, 0, 2], [0, 2, 3, 2, 2, 2], [0, 0, 3, 0, 0, 0], [0, 3, 0, 0, 3, 0], [3, 0, 0, 2, 3, 2], [2, 0, 3, 0, 2, 3], [0, 4, 3, 0, 3, 3]], "min_steps": 12 }, { "id": "7040", "map": [[0, 2, 3, 3, 4, 0], [0, 2, 0, 0, 3, 2], [0, 0, 3, 0, 2, 0], [3, 0, 2, 0, 0, 3], [2, 0, 0, 3, 0, 3], [3, 3, 0, 2, 2, 0], [2, 2, 3, 0, 2, 0], [1, 3, 0, 0, 2, 3], [0, 0, 0, 3, 0, 3]], "min_steps": 12 }, { "id": "7041", "map": [[3, 3, 0, 2, 3, 1], [0, 3, 3, 2, 0, 2], [0, 2, 0, 0, 0, 0], [0, 0, 0, 0, 0, 0], [3, 3, 3, 2, 3, 0], [0, 3, 3, 2, 3, 2], [4, 0, 3, 0, 2, 0], [2, 2, 2, 0, 0, 0], [0, 3, 2, 0, 3, 0]], "min_steps": 12 }, { "id": "7004", "map": [[2, 0, 0, 2, 0, 0], [0, 3, 0, 0, 0, 1], [0, 2, 0, 0, 0, 0], [0, 0, 0, 0, 2, 0], [0, 0, 3, 3, 3, 2], [0, 0, 0, 3, 2, 3], [0, 0, 2, 0, 0, 3], [0, 2, 3, 2, 2, 4], [3, 2, 2, 0, 3, 0]], "min_steps": 13 }, { "id": "7009", "map": [[4, 0, 3, 1, 0, 2], [0, 2, 3, 3, 3, 0], [0, 2, 3, 2, 2, 0], [3, 0, 3, 0, 0, 2], [0, 0, 0, 0, 0, 0], [3, 2, 0, 0, 2, 0], [3, 2, 0, 0, 2, 0], [0, 0, 2, 2, 2, 0], [0, 0, 0, 0, 3, 0]], "min_steps": 13 }, { "id": "7014", "map": [[3, 4, 2, 3, 0, 0], [2, 3, 0, 3, 0, 0], [0, 2, 2, 0, 0, 0], [0, 3, 3, 0, 3, 3], [0, 0, 0, 0, 0, 0], [3, 2, 0, 0, 2, 2], [2, 2, 2, 2, 0, 3], [0, 0, 3, 3, 0, 3], [1, 2, 0, 3, 3, 0]], "min_steps": 13 }, { "id": "7015", "map": [[2, 3, 4, 0, 3, 0], [1, 2, 3, 2, 3, 0], [0, 0, 3, 0, 2, 0], [2, 0, 0, 3, 0, 0], [2, 2, 0, 2, 0, 3], [0, 0, 2, 0, 0, 0], [3, 0, 0, 3, 3, 0], [0, 0, 3, 0, 2, 3], [3, 0, 3, 2, 3, 2]], "min_steps": 13 }, { "id": "7025", "map": [[2, 3, 1, 0, 3, 3], [0, 0, 2, 3, 2, 0], [0, 2, 0, 0, 0, 3], [0, 3, 0, 0, 0, 3], [2, 0, 0, 3, 2, 0], [0, 0, 2, 3, 0, 2], [2, 0, 3, 2, 0, 3], [3, 3, 0, 0, 3, 3], [2, 4, 0, 2, 0, 0]], "min_steps": 13 }, { "id": "7030", "map": [[2, 0, 1, 2, 0, 0], [0, 2, 3, 3, 0, 2], [2, 3, 3, 3, 0, 2], [3, 0, 0, 2, 2, 0], [0, 3, 0, 3, 2, 0], [0, 0, 2, 0, 2, 3], [3, 3, 0, 3, 3, 2], [4, 3, 0, 0, 0, 0], [0, 0, 0, 0, 0, 3]], "min_steps": 13 }, { "id": "7031", "map": [[0, 2, 2, 3, 4, 2], [3, 3, 0, 0, 2, 2], [0, 0, 0, 3, 2, 0], [0, 3, 0, 0, 3, 3], [0, 2, 0, 2, 3, 0], [2, 3, 0, 0, 0, 0], [3, 3, 0, 3, 0, 2], [0, 0, 2, 3, 3, 3], [1, 0, 2, 0, 0, 0]], "min_steps": 13 }, { "id": "7038", "map": [[4, 2, 3, 3, 2, 3], [0, 3, 0, 2, 3, 0], [0, 0, 0, 2, 0, 2], [3, 3, 2, 3, 0, 0], [0, 3, 0, 3, 2, 3], [0, 2, 2, 2, 0, 0], [1, 3, 0, 0, 3, 0], [2, 0, 0, 0, 3, 2], [0, 0, 3, 0, 0, 0]], "min_steps": 13 }, { "id": "7011", "map": [[0, 1, 0, 0, 2, 0], [3, 0, 3, 3, 2, 3], [0, 3, 3, 2, 0, 0], [0, 0, 2, 0, 3, 3], [2, 3, 2, 0, 0, 0], [3, 2, 2, 3, 3, 0], [2, 0, 2, 2, 0, 4], [0, 2, 0, 3, 0, 0], [0, 0, 0, 3, 0, 3]], "min_steps": 14 }, { "id": "7017", "map": [[2, 0, 0, 3, 0, 3], [4, 3, 0, 2, 0, 3], [3, 0, 0, 0, 3, 0], [2, 0, 0, 2, 0, 0], [3, 0, 0, 3, 0, 0], [2, 3, 0, 2, 2, 2], [1, 3, 3, 0, 2, 2], [0, 3, 0, 0, 3, 0], [0, 2, 0, 3, 3, 2]], "min_steps": 14 }, { "id": "7019", "map": [[0, 3, 0, 2, 3, 1], [0, 3, 0, 2, 0, 2], [0, 2, 2, 0, 3, 3], [0, 0, 3, 2, 0, 3], [0, 0, 3, 2, 2, 0], [2, 2, 3, 0, 2, 2], [0, 3, 0, 0, 3, 0], [3, 0, 0, 3, 3, 0], [0, 0, 0, 3, 0, 4]], "min_steps": 14 }, { "id": "7021", "map": [[0, 0, 0, 0, 2, 4], [3, 0, 2, 0, 0, 0], [3, 0, 2, 3, 3, 3], [2, 0, 3, 3, 3, 0], [2, 0, 0, 0, 2, 3], [3, 3, 0, 0, 0, 2], [1, 0, 3, 0, 2, 2], [2, 2, 0, 2, 0, 0], [0, 0, 3, 3, 0, 3]], "min_steps": 14 }, { "id": "7022", "map": [[4, 0, 0, 0, 0, 0], [0, 0, 0, 0, 3, 2], [3, 3, 2, 3, 3, 2], [2, 0, 0, 0, 0, 2], [0, 0, 3, 0, 3, 3], [2, 0, 2, 3, 2, 1], [3, 2, 3, 0, 0, 3], [2, 0, 0, 3, 2, 2], [3, 3, 0, 0, 0, 0]], "min_steps": 15 }, { "id": "7028", "map": [[0, 2, 1, 3, 0, 2], [0, 3, 3, 3, 0, 2], [0, 0, 0, 3, 0, 2], [3, 0, 0, 3, 2, 4], [2, 0, 0, 3, 2, 2], [2, 2, 3, 0, 0, 3], [0, 2, 0, 0, 0, 0], [0, 3, 3, 3, 2, 0], [0, 3, 0, 3, 0, 0]], "min_steps": 16 }, { "id": "7034", "map": [[1, 0, 0, 3, 2, 0], [0, 2, 2, 3, 3, 0], [3, 0, 0, 2, 0, 3], [2, 3, 2, 2, 0, 3], [0, 0, 3, 0, 0, 3], [3, 0, 0, 0, 3, 0], [2, 3, 0, 3, 2, 4], [0, 3, 0, 0, 0, 3], [0, 2, 0, 0, 2, 2]], "min_steps": 16 }, { "id": "7012", "map": [[1, 3, 3, 3, 0, 0], [0, 3, 0, 2, 0, 0], [0, 0, 0, 3, 0, 2], [3, 0, 0, 3, 2, 3], [0, 0, 2, 0, 0, 3], [0, 0, 2, 3, 2, 0], [2, 2, 3, 2, 3, 2], [0, 3, 0, 2, 0, 2], [0, 3, 4, 3, 0, 0]], "min_steps": 17 }, { "id": "7013", "map": [[0, 1, 0, 0, 3, 3], [0, 2, 0, 3, 0, 0], [2, 3, 0, 0, 0, 0], [0, 0, 0, 3, 0, 3], [0, 3, 0, 2, 3, 2], [2, 0, 3, 3, 2, 0], [0, 2, 2, 3, 0, 2], [2, 3, 2, 0, 3, 0], [0, 3, 3, 0, 2, 4]], "min_steps": 17 }, { "id": "7018", "map": [[0, 0, 0, 0, 0, 2], [1, 0, 3, 3, 0, 2], [3, 3, 0, 3, 2, 3], [0, 3, 0, 2, 0, 0], [0, 3, 0, 0, 2, 2], [3, 0, 0, 2, 3, 0], [0, 3, 3, 3, 0, 0], [2, 0, 3, 0, 0, 2], [2, 4, 2, 0, 3, 2]], "min_steps": 17 }, { "id": "7042", "map": [[1, 2, 0, 0, 3, 0], [3, 3, 2, 3, 0, 0], [0, 0, 2, 0, 2, 2], [3, 3, 0, 0, 0, 0], [3, 0, 3, 3, 0, 3], [3, 2, 2, 0, 0, 0], [4, 2, 3, 0, 2, 2], [2, 0, 3, 0, 2, 2], [2, 0, 3, 0, 3, 2]], "min_steps": 17 }, { "id": "7043", "map": [[0, 0, 3, 0, 1, 0], [2, 0, 0, 2, 0, 0], [3, 0, 3, 0, 2, 2], [0, 0, 0, 3, 2, 3], [2, 3, 2, 3, 2, 3], [0, 3, 3, 0, 3, 4], [0, 3, 3, 2, 3, 0], [0, 2, 2, 0, 2, 0], [2, 2, 0, 0, 3, 2]], "min_steps": 17 }, { "id": "7044", "map": [[0, 0, 1, 3, 0, 4], [3, 0, 3, 0, 2, 3], [2, 2, 3, 2, 3, 0], [2, 3, 2, 2, 0, 3], [0, 3, 0, 0, 3, 0], [2, 0, 3, 2, 3, 3], [0, 3, 2, 2, 3, 0], [0, 0, 0, 0, 2, 0], [2, 0, 2, 2, 0, 0]], "min_steps": 17 }, { "id": "7045", "map": [[2, 3, 2, 0, 0, 3], [0, 0, 0, 3, 2, 2], [3, 0, 0, 3, 0, 0], [0, 0, 3, 2, 3, 2], [2, 3, 2, 3, 3, 1], [0, 0, 0, 3, 0, 3], [3, 2, 0, 0, 2, 0], [3, 2, 2, 0, 0, 2], [0, 4, 0, 3, 2, 2]], "min_steps": 17 }, { "id": "7046", "map": [[0, 3, 0, 2, 0, 0], [0, 2, 2, 0, 0, 1], [0, 0, 3, 3, 3, 2], [2, 2, 3, 3, 2, 2], [3, 3, 3, 0, 2, 3], [4, 2, 2, 3, 0, 2], [0, 0, 3, 2, 0, 2], [0, 3, 0, 0, 2, 3], [0, 0, 0, 3, 0, 0]], "min_steps": 17 }, { "id": "7047", "map": [[3, 2, 4, 3, 2, 0], [2, 0, 3, 2, 0, 0], [2, 3, 3, 2, 3, 0], [2, 0, 0, 2, 0, 0], [2, 3, 0, 0, 0, 0], [3, 0, 2, 0, 3, 0], [2, 2, 3, 0, 2, 0], [0, 3, 3, 0, 3, 0], [1, 2, 3, 2, 0, 3]], "min_steps": 17 }, { "id": "7048", "map": [[2, 0, 3, 4, 2, 2], [0, 0, 3, 0, 3, 0], [2, 0, 0, 2, 3, 3], [2, 0, 3, 3, 2, 3], [0, 0, 0, 0, 0, 0], [2, 2, 2, 0, 0, 3], [3, 3, 3, 3, 2, 2], [0, 0, 3, 0, 0, 2], [3, 1, 2, 0, 2, 0]], "min_steps": 17 }]]; this.LEVEL_INFO.unshift([{ "id": "0001", "map": [[3, 2, 2, 0, 2], [0, 0, 3, 3, 0], [1, 3, 0, 3, 2], [3, 0, 2, 3, 4], [3, 2, 3, 3, 2]], "min_steps": 4 }]); }; GameConfig.Authentication = function () { diff --git a/temp/quick-scripts/src/assets/Script/module/Config/GameConfig.js.map b/temp/quick-scripts/src/assets/Script/module/Config/GameConfig.js.map index a495c2d..2dfeea3 100644 --- a/temp/quick-scripts/src/assets/Script/module/Config/GameConfig.js.map +++ b/temp/quick-scripts/src/assets/Script/module/Config/GameConfig.js.map @@ -1 +1 @@ -{"version":3,"sources":["assets\\Script\\module\\Config\\GameConfig.ts"],"names":[],"mappings":"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AAC,EAAC,EAAC,IAAI,EAAC,MAAM,EAAC,KAAK,EAAC,CAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,CAAC,EAAC,WAAW,EAAC,CAAC,EAAC,EAAC,EAAC,IAAI,EAAC,MAAM,EAAC,KAAK,EAAC,CAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,CAAC,EAAC,WAAW,EAAC,CAAC,EAAC,EAAC,EAAC,IAAI,EAAC,MAAM,EAAC,KAAK,EAAC,CAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,CAAC,EAAC,WAAW,EAAC,CAAC,EAAC,EAAC,EAAC,IAAI,EAAC,MAAM,EAAC,KAAK,EAAC,CAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,CAAC,EAAC,WAAW,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,IAAI,EAAC,MAAM,EAAC,KAAK,EAAC,CAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,CAAC,EAAC,WAAW,EAAC,CAAC,EAAC,EAAC,EAAC,IAAI,EAAC,MAAM,EAAC,KAAK,EAAC,CAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,CAAC,EAAC,WAAW,EAAC,CAAC,EAAC,EAAC,EAAC,IAAI,EAAC,MAAM,EAAC,KAAK,EAAC,CAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,CAAC,EAAC,WAAW,EAAC,CAAC,EAAC,EAAC,EAAC,IAAI,EAAC,MAAM,EAAC,KAAK,EAAC,CAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,CAAC,EAAC,WAAW,EAAC,CAAC,EAAC,EAAC,EAAC,IAAI,EAAC,MAAM,EAAC,KAAK,EAAC,CAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,CAAC,EAAC,WAAW,EAAC,CAAC,EAAC,EAAC,EAAC,IAAI,EAAC,MAAM,EAAC,KAAK,EAAC,CAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,CAAC,EAAC,WAAW,EAAC,CAAC,EAAC,EAAC,EAAC,IAAI,EAAC,MAAM,EAAC,KAAK,EAAC,CAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,CAAC,EAAC,WAAW,EAAC,CAAC,EAAC,EAAC,EAAC,IAAI,EAAC,MAAM,EAAC,KAAK,EAAC,CAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,CAAC,EAAC,WAAW,EAAC,CAAC,EAAC,EAAC,EAAC,IAAI,EAAC,MAAM,EAAC,KAAK,EAAC,CAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,CAAC,EAAC,WAAW,EAAC,CAAC,EAAC,EAAC,EAAC,IAAI,EAAC,MAAM,EAAC,KAAK,EAAC,CAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,CAAC,EAAC,WAAW,EAAC,CAAC,EAAC,EAAC,EAAC,IAAI,EAAC,MAAM,EAAC,KAAK,EAAC,CAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,CAAC,EAAC,WAAW,EAAC,CAAC,EAAC,EAAC,EAAC,IAAI,EAAC,MAAM,EAAC,KAAK,EAAC,CAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,CAAC,EAAC,WAAW,EAAC,CAAC,EAAC,EAAC,EAAC,IAAI,EAAC,MAAM,EAAC,KAAK,EAAC,CAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,CAAC,EAAC,WAAW,EAAC,CAAC,EAAC,EAAC,EAAC,IAAI,EAAC,MAAM,EAAC,KAAK,EAAC,CAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,CAAC,EAAC,WAAW,EAAC,CAAC,EAAC,EAAC,EAAC,IAAI,EAAC,MAAM,EAAC,KAAK,EAAC,CAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,CAAC,EAAC,WAAW,EAAC,CAAC,EAAC,EAAC,EAAC,IAAI,EAAC,MAAM,EAAC,KAAK,EAAC,CAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,CAAC,EAAC,WAAW,EAAC,CAAC,EAAC,EAAC,EAAC,IAAI,EAAC,MAAM,EAAC,KAAK,EAAC,CAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,CAAC,EAAC,WAAW,EAAC,CAAC,EAAC,EAAC,EAAC,IAAI,EAAC,MAAM,EAAC,KAAK,EAAC,CAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,CAAC,EAAC,WAAW,EAAC,CAAC,EAAC,EAAC,EAAC,IAAI,EAAC,MAAM,EAAC,KAAK,EAAC,CAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,CAAC,EAAC,WAAW,EAAC,CAAC,EAAC,EAAC,EAAC,IAAI,EAAC,MAAM,EAAC,KAAK,EAAC,CAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,CAAC,EAAC,WAAW,EAAC,CAAC,EAAC,EAAC,EAAC,IAAI,EAAC,MAAM,EAAC,KAAK,EAAC,CAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,CAAC,EAAC,WAAW,EAAC,CAAC,EAAC,EAAC,EAAC,IAAI,EAAC,MAAM,EAAC,KAAK,EAAC,CAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,CAAC,EAAC,WAAW,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,IAAI,EAAC,MAAM,EAAC,KAAK,EAAC,CAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,CAAC,EAAC,WAAW,EAAC,CAAC,EAAC,EAAC,EAAC,IAAI,EAAC,MAAM,EAAC,KAAK,EAAC,CAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,CAAC,EAAC,WAAW,EAAC,CAAC,EAAC,EAAC,EAAC,IAAI,EAAC,MAAM,EAAC,KAAK,EAAC,CAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,CAAC,EAAC,WAAW,EAAC,CAAC,EAAC,EAAC,EAAC,IAAI,EAAC,MAAM,EAAC,KAAK,EAAC,CAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,CAAC,EAAC,WAAW,EAAC,CAAC,EAAC,EAAC,EAAC,IAAI,EAAC,MAAM,EAAC,KAAK,EAAC,CAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,CAAC,EAAC,WAAW,EAAC,CAAC,EAAC,EAAC,EAAC,IAAI,EAAC,MAAM,EAAC,KAAK,EAAC,CAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,CAAC,EAAC,WAAW,EAAC,CAAC,EAAC,EAAC,EAAC,IAAI,EAAC,MAAM,EAAC,KAAK,EAAC,CAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,CAAC,EAAC,WAAW,EAAC,CAAC,EAAC,EAAC,EAAC,IAAI,EAAC,MAAM,EAAC,KAAK,EAAC,CAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,CAAC,EAAC,WAAW,EAAC,CAAC,EAAC,EAAC,EAAC,IAAI,EAAC,MAAM,EAAC,KAAK,EAAC,CAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,CAAC,EAAC,WAAW,EAAC,CAAC,EAAC,EAAC,EAAC,IAAI,EAAC,MAAM,EAAC,KAAK,EAAC,CAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,CAAC,EAAC,WAAW,EAAC,CAAC,EAAC,EAAC,EAAC,IAAI,EAAC,MAAM,EAAC,KAAK,EAAC,CAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,CAAC,EAAC,WAAW,EAAC,CAAC,EAAC,EAAC,EAAC,IAAI,EAAC,MAAM,EAAC,KAAK,EAAC,CAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,CAAC,EAAC,WAAW,EAAC,CAAC,EAAC,EAAC,EAAC,IAAI,EAAC,MAAM,EAAC,KAAK,EAAC,CAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,CAAC,EAAC,WAAW,EAAC,CAAC,EAAC,EAAC,EAAC,IAAI,EAAC,MAAM,EAAC,KAAK,EAAC,CAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,CAAC,EAAC,WAAW,EAAC,CAAC,EAAC,EAAC,EAAC,IAAI,EAAC,MAAM,EAAC,KAAK,EAAC,CAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,CAAC,EAAC,WAAW,EAAC,CAAC,EAAC,EAAC,EAAC,IAAI,EAAC,MAAM,EAAC,KAAK,EAAC,CAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,CAAC,EAAC,WAAW,EAAC,CAAC,EAAC,EAAC,EAAC,IAAI,EAAC,MAAM,EAAC,KAAK,EAAC,CAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,CAAC,EAAC,WAAW,EAAC,CAAC,EAAC,EAAC,EAAC,IAAI,EAAC,MAAM,EAAC,KAAK,EAAC,CAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,CAAC,EAAC,WAAW,EAAC,CAAC,EAAC,EAAC,EAAC,IAAI,EAAC,MAAM,EAAC,KAAK,EAAC,CAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,CAAC,EAAC,WAAW,EAAC,CAAC,EAAC,EAAC,EAAC,IAAI,EAAC,MAAM,EAAC,KAAK,EAAC,CAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,CAAC,EAAC,WAAW,EAAC,CAAC,EAAC,EAAC,EAAC,IAAI,EAAC,MAAM,EAAC,KAAK,EAAC,CAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,CAAC,EAAC,WAAW,EAAC,CAAC,EAAC,EAAC,EAAC,IAAI,EAAC,MAAM,EAAC,KAAK,EAAC,CAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,CAAC,EAAC,WAAW,EAAC,CAAC,EAAC,EAAC,EAAC,IAAI,EAAC,MAAM,EAAC,KAAK,EAAC,CAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,CAAC,EAAC,WAAW,EAAC,CAAC,EAAC,EAAC,EAAC,IAAI,EAAC,MAAM,EAAC,KAAK,EAAC,CAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,CAAC,EAAC,WAAW,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,IAAI,EAAC,MAAM,EAAC,KAAK,EAAC,CAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,CAAC,EAAC,WAAW,EAAC,CAAC,EAAC,EAAC,EAAC,IAAI,EAAC,MAAM,EAAC,KAAK,EAAC,CAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,CAAC,EAAC,WAAW,EAAC,CAAC,EAAC,EAAC,EAAC,IAAI,EAAC,MAAM,EAAC,KAAK,EAAC,CAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,CAAC,EAAC,WAAW,EAAC,CAAC,EAAC,EAAC,EAAC,IAAI,EAAC,MAAM,EAAC,KAAK,EAAC,CAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,CAAC,EAAC,WAAW,EAAC,CAAC,EAAC,EAAC,EAAC,IAAI,EAAC,MAAM,EAAC,KAAK,EAAC,CAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,CAAC,EAAC,WAAW,EAAC,CAAC,EAAC,EAAC,EAAC,IAAI,EAAC,MAAM,EAAC,KAAK,EAAC,CAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,CAAC,EAAC,WAAW,EAAC,CAAC,EAAC,EAAC,EAAC,IAAI,EAAC,MAAM,EAAC,KAAK,EAAC,CAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,CAAC,EAAC,WAAW,EAAC,CAAC,EAAC,EAAC,EAAC,IAAI,EAAC,MAAM,EAAC,KAAK,EAAC,CAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,CAAC,EAAC,WAAW,EAAC,CAAC,EAAC,EAAC,EAAC,IAAI,EAAC,MAAM,EAAC,KAAK,EAAC,CAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,CAAC,EAAC,WAAW,EAAC,CAAC,EAAC,EAAC,EAAC,IAAI,EAAC,MAAM,EAAC,KAAK,EAAC,CAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,CAAC,EAAC,WAAW,EAAC,CAAC,EAAC,EAAC,EAAC,IAAI,EAAC,MAAM,EAAC,KAAK,EAAC,CAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,CAAC,EAAC,WAAW,EAAC,CAAC,EAAC,EAAC,EAAC,IAAI,EAAC,MAAM,EAAC,KAAK,EAAC,CAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,CAAC,EAAC,WAAW,EAAC,CAAC,EAAC,EAAC,EAAC,IAAI,EAAC,MAAM,EAAC,KAAK,EAAC,CAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,CAAC,EAAC,WAAW,EAAC,CAAC,EAAC,EAAC,EAAC,IAAI,EAAC,MAAM,EAAC,KAAK,EAAC,CAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,CAAC,EAAC,WAAW,EAAC,CAAC,EAAC,EAAC,EAAC,IAAI,EAAC,MAAM,EAAC,KAAK,EAAC,CAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,CAAC,EAAC,WAAW,EAAC,CAAC,EAAC,EAAC,EAAC,IAAI,EAAC,MAAM,EAAC,KAAK,EAAC,CAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,CAAC,EAAC,WAAW,EAAC,CAAC,EAAC,EAAC,EAAC,IAAI,EAAC,MAAM,EAAC,KAAK,EAAC,CAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,CAAC,EAAC,WAAW,EAAC,CAAC,EAAC,EAAC,EAAC,IAAI,EAAC,MAAM,EAAC,KAAK,EAAC,CAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,CAAC,EAAC,WAAW,EAAC,CAAC,EAAC,EAAC,EAAC,IAAI,EAAC,MAAM,EAAC,KAAK,EAAC,CAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,CAAC,EAAC,WAAW,EAAC,CAAC,EAAC,EAAC,EAAC,IAAI,EAAC,MAAM,EAAC,KAAK,EAAC,CAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,CAAC,EAAC,WAAW,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,IAAI,EAAC,MAAM,EAAC,KAAK,EAAC,CAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,CAAC,EAAC,WAAW,EAAC,CAAC,EAAC,EAAC,EAAC,IAAI,EAAC,MAAM,EAAC,KAAK,EAAC,CAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,CAAC,EAAC,WAAW,EAAC,CAAC,EAAC,EAAC,EAAC,IAAI,EAAC,MAAM,EAAC,KAAK,EAAC,CAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,CAAC,EAAC,WAAW,EAAC,CAAC,EAAC,EAAC,EAAC,IAAI,EAAC,MAAM,EAAC,KAAK,EAAC,CAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,CAAC,EAAC,WAAW,EAAC,CAAC,EAAC,EAAC,EAAC,IAAI,EAAC,MAAM,EAAC,KAAK,EAAC,CAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,CAAC,EAAC,WAAW,EAAC,CAAC,EAAC,EAAC,EAAC,IAAI,EAAC,MAAM,EAAC,KAAK,EAAC,CAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,CAAC,EAAC,WAAW,EAAC,CAAC,EAAC,EAAC,EAAC,IAAI,EAAC,MAAM,EAAC,KAAK,EAAC,CAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,CAAC,EAAC,WAAW,EAAC,CAAC,EAAC,EAAC,EAAC,IAAI,EAAC,MAAM,EAAC,KAAK,EAAC,CAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,CAAC,EAAC,WAAW,EAAC,CAAC,EAAC,EAAC,EAAC,IAAI,EAAC,MAAM,EAAC,KAAK,EAAC,CAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,CAAC,EAAC,WAAW,EAAC,CAAC,EAAC,EAAC,EAAC,IAAI,EAAC,MAAM,EAAC,KAAK,EAAC,CAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,CAAC,EAAC,WAAW,EAAC,CAAC,EAAC,EAAC,EAAC,IAAI,EAAC,MAAM,EAAC,KAAK,EAAC,CAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,CAAC,EAAC,WAAW,EAAC,CAAC,EAAC,EAAC,EAAC,IAAI,EAAC,MAAM,EAAC,KAAK,EAAC,CAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,CAAC,EAAC,WAAW,EAAC,CAAC,EAAC,EAAC,EAAC,IAAI,EAAC,MAAM,EAAC,KAAK,EAAC,CAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,CAAC,EAAC,WAAW,EAAC,CAAC,EAAC,EAAC,EAAC,IAAI,EAAC,MAAM,EAAC,KAAK,EAAC,CAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,CAAC,EAAC,WAAW,EAAC,CAAC,EAAC,EAAC,EAAC,IAAI,EAAC,MAAM,EAAC,KAAK,EAAC,CAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,CAAC,EAAC,WAAW,EAAC,CAAC,EAAC,EAAC,EAAC,IAAI,EAAC,MAAM,EAAC,KAAK,EAAC,CAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,CAAC,EAAC,WAAW,EAAC,CAAC,EAAC,EAAC,EAAC,IAAI,EAAC,MAAM,EAAC,KAAK,EAAC,CAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,CAAC,EAAC,WAAW,EAAC,CAAC,EAAC,EAAC,EAAC,IAAI,EAAC,MAAM,EAAC,KAAK,EAAC,CAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,CAAC,EAAC,WAAW,EAAC,CAAC,EAAC,EAAC,EAAC,IAAI,EAAC,MAAM,EAAC,KAAK,EAAC,CAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,CAAC,EAAC,WAAW,EAAC,CAAC,EAAC,EAAC,EAAC,IAAI,EAAC,MAAM,EAAC,KAAK,EAAC,CAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,CAAC,EAAC,WAAW,EAAC,CAAC,EAAC,EAAC,EAAC,IAAI,EAAC,MAAM,EAAC,KAAK,EAAC,CAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,CAAC,EAAC,WAAW,EAAC,EAAE,EAAC,EAAC,EAAC,IAAI,EAAC,MAAM,EAAC,KAAK,EAAC,CAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,CAAC,EAAC,WAAW,EAAC,EAAE,EAAC,EAAC,EAAC,IAAI,EAAC,MAAM,EAAC,KAAK,EAAC,CAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,CAAC,EAAC,WAAW,EAAC,EAAE,EAAC,EAAC,EAAC,IAAI,EAAC,MAAM,EAAC,KAAK,EAAC,CAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,CAAC,EAAC,WAAW,EAAC,EAAE,EAAC,EAAC,EAAC,IAAI,EAAC,MAAM,EAAC,KAAK,EAAC,CAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,CAAC,EAAC,WAAW,EAAC,EAAE,EAAC,EAAC,EAAC,IAAI,EAAC,MAAM,EAAC,KAAK,EAAC,CAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,CAAC,EAAC,WAAW,EAAC,EAAE,EAAC,EAAC,EAAC,IAAI,EAAC,MAAM,EAAC,KAAK,EAAC,CAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,CAAC,EAAC,WAAW,EAAC,EAAE,EAAC,EAAC,EAAC,IAAI,EAAC,MAAM,EAAC,KAAK,EAAC,CAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,CAAC,EAAC,WAAW,EAAC,EAAE,EAAC,EAAC,EAAC,IAAI,EAAC,MAAM,EAAC,KAAK,EAAC,CAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,CAAC,EAAC,WAAW,EAAC,EAAE,EAAC,EAAC,EAAC,IAAI,EAAC,MAAM,EAAC,KAAK,EAAC,CAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,CAAC,EAAC,WAAW,EAAC,EAAE,EAAC,CAAC,EAAC,CAAC,EAAC,IAAI,EAAC,MAAM,EAAC,KAAK,EAAC,CAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,CAAC,EAAC,WAAW,EAAC,CAAC,EAAC,EAAC,EAAC,IAAI,EAAC,MAAM,EAAC,KAAK,EAAC,CAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,CAAC,EAAC,WAAW,EAAC,CAAC,EAAC,EAAC,EAAC,IAAI,EAAC,MAAM,EAAC,KAAK,EAAC,CAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,CAAC,EAAC,WAAW,EAAC,CAAC,EAAC,EAAC,EAAC,IAAI,EAAC,MAAM,EAAC,KAAK,EAAC,CAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,CAAC,EAAC,WAAW,EAAC,CAAC,EAAC,EAAC,EAAC,IAAI,EAAC,MAAM,EAAC,KAAK,EAAC,CAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,CAAC,EAAC,WAAW,EAAC,CAAC,EAAC,EAAC,EAAC,IAAI,EAAC,MAAM,EAAC,KAAK,EAAC,CAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,CAAC,EAAC,WAAW,EAAC,CAAC,EAAC,EAAC,EAAC,IAAI,EAAC,MAAM,EAAC,KAAK,EAAC,CAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,CAAC,EAAC,WAAW,EAAC,EAAE,EAAC,EAAC,EAAC,IAAI,EAAC,MAAM,EAAC,KAAK,EAAC,CAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,CAAC,EAAC,WAAW,EAAC,EAAE,EAAC,EAAC,EAAC,IAAI,EAAC,MAAM,EAAC,KAAK,EAAC,CAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,CAAC,EAAC,WAAW,EAAC,EAAE,EAAC,EAAC,EAAC,IAAI,EAAC,MAAM,EAAC,KAAK,EAAC,CAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,CAAC,EAAC,WAAW,EAAC,EAAE,EAAC,EAAC,EAAC,IAAI,EAAC,MAAM,EAAC,KAAK,EAAC,CAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,CAAC,EAAC,WAAW,EAAC,EAAE,EAAC,EAAC,EAAC,IAAI,EAAC,MAAM,EAAC,KAAK,EAAC,CAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,CAAC,EAAC,WAAW,EAAC,EAAE,EAAC,EAAC,EAAC,IAAI,EAAC,MAAM,EAAC,KAAK,EAAC,CAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,CAAC,EAAC,WAAW,EAAC,EAAE,EAAC,EAAC,EAAC,IAAI,EAAC,MAAM,EAAC,KAAK,EAAC,CAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,CAAC,EAAC,WAAW,EAAC,EAAE,EAAC,EAAC,EAAC,IAAI,EAAC,MAAM,EAAC,KAAK,EAAC,CAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,CAAC,EAAC,WAAW,EAAC,EAAE,EAAC,EAAC,EAAC,IAAI,EAAC,MAAM,EAAC,KAAK,EAAC,CAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,CAAC,EAAC,WAAW,EAAC,EAAE,EAAC,EAAC,EAAC,IAAI,EAAC,MAAM,EAAC,KAAK,EAAC,CAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,CAAC,EAAC,WAAW,EAAC,EAAE,EAAC,EAAC,EAAC,IAAI,EAAC,MAAM,EAAC,KAAK,EAAC,CAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,CAAC,EAAC,WAAW,EAAC,EAAE,EAAC,EAAC,EAAC,IAAI,EAAC,MAAM,EAAC,KAAK,EAAC,CAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,CAAC,EAAC,WAAW,EAAC,EAAE,EAAC,EAAC,EAAC,IAAI,EAAC,MAAM,EAAC,KAAK,EAAC,CAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,CAAC,EAAC,WAAW,EAAC,EAAE,EAAC,EAAC,EAAC,IAAI,EAAC,MAAM,EAAC,KAAK,EAAC,CAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,CAAC,EAAC,WAAW,EAAC,EAAE,EAAC,EAAC,EAAC,IAAI,EAAC,MAAM,EAAC,KAAK,EAAC,CAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,CAAC,EAAC,WAAW,EAAC,EAAE,EAAC,EAAC,EAAC,IAAI,EAAC,MAAM,EAAC,KAAK,EAAC,CAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,CAAC,EAAC,WAAW,EAAC,EAAE,EAAC,EAAC,EAAC,IAAI,EAAC,MAAM,EAAC,KAAK,EAAC,CAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,CAAC,EAAC,WAAW,EAAC,EAAE,EAAC,EAAC,EAAC,IAAI,EAAC,MAAM,EAAC,KAAK,EAAC,CAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,CAAC,EAAC,WAAW,EAAC,EAAE,EAAC,EAAC,EAAC,IAAI,EAAC,MAAM,EAAC,KAAK,EAAC,CAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,CAAC,EAAC,WAAW,EAAC,EAAE,EAAC,EAAC,EAAC,IAAI,EAAC,MAAM,EAAC,KAAK,EAAC,CAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,CAAC,EAAC,WAAW,EAAC,EAAE,EAAC,EAAC,EAAC,IAAI,EAAC,MAAM,EAAC,KAAK,EAAC,CAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,CAAC,EAAC,WAAW,EAAC,EAAE,EAAC,EAAC,EAAC,IAAI,EAAC,MAAM,EAAC,KAAK,EAAC,CAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,CAAC,EAAC,WAAW,EAAC,EAAE,EAAC,EAAC,EAAC,IAAI,EAAC,MAAM,EAAC,KAAK,EAAC,CAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,CAAC,EAAC,WAAW,EAAC,EAAE,EAAC,EAAC,EAAC,IAAI,EAAC,MAAM,EAAC,KAAK,EAAC,CAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,CAAC,EAAC,WAAW,EAAC,EAAE,EAAC,CAAC,EAAC,CAAC,EAAC,IAAI,EAAC,MAAM,EAAC,KAAK,EAAC,CAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,CAAC,EAAC,WAAW,EAAC,CAAC,EAAC,EAAC,EAAC,IAAI,EAAC,MAAM,EAAC,KAAK,EAAC,CAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,CAAC,EAAC,WAAW,EAAC,CAAC,EAAC,EAAC,EAAC,IAAI,EAAC,MAAM,EAAC,KAAK,EAAC,CAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,CAAC,EAAC,WAAW,EAAC,EAAE,EAAC,EAAC,EAAC,IAAI,EAAC,MAAM,EAAC,KAAK,EAAC,CAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,CAAC,EAAC,WAAW,EAAC,EAAE,EAAC,EAAC,EAAC,IAAI,EAAC,MAAM,EAAC,KAAK,EAAC,CAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,CAAC,EAAC,WAAW,EAAC,EAAE,EAAC,EAAC,EAAC,IAAI,EAAC,MAAM,EAAC,KAAK,EAAC,CAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,CAAC,EAAC,WAAW,EAAC,EAAE,EAAC,EAAC,EAAC,IAAI,EAAC,MAAM,EAAC,KAAK,EAAC,CAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,CAAC,EAAC,WAAW,EAAC,EAAE,EAAC,EAAC,EAAC,IAAI,EAAC,MAAM,EAAC,KAAK,EAAC,CAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,CAAC,EAAC,WAAW,EAAC,EAAE,EAAC,EAAC,EAAC,IAAI,EAAC,MAAM,EAAC,KAAK,EAAC,CAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,CAAC,EAAC,WAAW,EAAC,EAAE,EAAC,EAAC,EAAC,IAAI,EAAC,MAAM,EAAC,KAAK,EAAC,CAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,CAAC,EAAC,WAAW,EAAC,EAAE,EAAC,EAAC,EAAC,IAAI,EAAC,MAAM,EAAC,KAAK,EAAC,CAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,CAAC,EAAC,WAAW,EAAC,EAAE,EAAC,EAAC,EAAC,IAAI,EAAC,MAAM,EAAC,KAAK,EAAC,CAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,CAAC,EAAC,WAAW,EAAC,EAAE,EAAC,EAAC,EAAC,IAAI,EAAC,MAAM,EAAC,KAAK,EAAC,CAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,CAAC,EAAC,WAAW,EAAC,EAAE,EAAC,EAAC,EAAC,IAAI,EAAC,MAAM,EAAC,KAAK,EAAC,CAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,CAAC,EAAC,WAAW,EAAC,EAAE,EAAC,EAAC,EAAC,IAAI,EAAC,MAAM,EAAC,KAAK,EAAC,CAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,CAAC,EAAC,WAAW,EAAC,EAAE,EAAC,EAAC,EAAC,IAAI,EAAC,MAAM,EAAC,KAAK,EAAC,CAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,CAAC,EAAC,WAAW,EAAC,EAAE,EAAC,EAAC,EAAC,IAAI,EAAC,MAAM,EAAC,KAAK,EAAC,CAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,CAAC,EAAC,WAAW,EAAC,EAAE,EAAC,EAAC,EAAC,IAAI,EAAC,MAAM,EAAC,KAAK,EAAC,CAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,CAAC,EAAC,WAAW,EAAC,EAAE,EAAC,EAAC,EAAC,IAAI,EAAC,MAAM,EAAC,KAAK,EAAC,CAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,CAAC,EAAC,WAAW,EAAC,EAAE,EAAC,EAAC,EAAC,IAAI,EAAC,MAAM,EAAC,KAAK,EAAC,CAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,CAAC,EAAC,WAAW,EAAC,EAAE,EAAC,EAAC,EAAC,IAAI,EAAC,MAAM,EAAC,KAAK,EAAC,CAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,CAAC,EAAC,WAAW,EAAC,EAAE,EAAC,EAAC,EAAC,IAAI,EAAC,MAAM,EAAC,KAAK,EAAC,CAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,CAAC,EAAC,WAAW,EAAC,EAAE,EAAC,EAAC,EAAC,IAAI,EAAC,MAAM,EAAC,KAAK,EAAC,CAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,CAAC,EAAC,WAAW,EAAC,EAAE,EAAC,EAAC,EAAC,IAAI,EAAC,MAAM,EAAC,KAAK,EAAC,CAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,CAAC,EAAC,WAAW,EAAC,EAAE,EAAC,EAAC,EAAC,IAAI,EAAC,MAAM,EAAC,KAAK,EAAC,CAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,CAAC,EAAC,WAAW,EAAC,EAAE,EAAC,EAAC,EAAC,IAAI,EAAC,MAAM,EAAC,KAAK,EAAC,CAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,CAAC,EAAC,WAAW,EAAC,EAAE,EAAC,EAAC,EAAC,IAAI,EAAC,MAAM,EAAC,KAAK,EAAC,CAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,CAAC,EAAC,WAAW,EAAC,EAAE,EAAC,EAAC,EAAC,IAAI,EAAC,MAAM,EAAC,KAAK,EAAC,CAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,CAAC,EAAC,WAAW,EAAC,EAAE,EAAC,EAAC,EAAC,IAAI,EAAC,MAAM,EAAC,KAAK,EAAC,CAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,CAAC,EAAC,WAAW,EAAC,EAAE,EAAC,EAAC,EAAC,IAAI,EAAC,MAAM,EAAC,KAAK,EAAC,CAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,CAAC,EAAC,WAAW,EAAC,EAAE,EAAC,EAAC,EAAC,IAAI,EAAC,MAAM,EAAC,KAAK,EAAC,CAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,CAAC,EAAC,WAAW,EAAC,EAAE,EAAC,EAAC,EAAC,IAAI,EAAC,MAAM,EAAC,KAAK,EAAC,CAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,CAAC,EAAC,WAAW,EAAC,EAAE,EAAC,EAAC,EAAC,IAAI,EAAC,MAAM,EAAC,KAAK,EAAC,CAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,CAAC,EAAC,WAAW,EAAC,EAAE,EAAC,EAAC,EAAC,IAAI,EAAC,MAAM,EAAC,KAAK,EAAC,CAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,CAAC,EAAC,WAAW,EAAC,EAAE,EAAC,EAAC,EAAC,IAAI,EAAC,MAAM,EAAC,KAAK,EAAC,CAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,CAAC,EAAC,WAAW,EAAC,EAAE,EAAC,EAAC,EAAC,IAAI,EAAC,MAAM,EAAC,KAAK,EAAC,CAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,CAAC,EAAC,WAAW,EAAC,EAAE,EAAC,EAAC,EAAC,IAAI,EAAC,MAAM,EAAC,KAAK,EAAC,CAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,CAAC,EAAC,WAAW,EAAC,EAAE,EAAC,EAAC,EAAC,IAAI,EAAC,MAAM,EAAC,KAAK,EAAC,CAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,CAAC,EAAC,WAAW,EAAC,EAAE,EAAC,EAAC,EAAC,IAAI,EAAC,MAAM,EAAC,KAAK,EAAC,CAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,CAAC,EAAC,WAAW,EAAC,EAAE,EAAC,EAAC,EAAC,IAAI,EAAC,MAAM,EAAC,KAAK,EAAC,CAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,CAAC,EAAC,WAAW,EAAC,EAAE,EAAC,EAAC,EAAC,IAAI,EAAC,MAAM,EAAC,KAAK,EAAC,CAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,CAAC,EAAC,WAAW,EAAC,EAAE,EAAC,CAAC,CAAC,CAAA;QAGrmsB,IAAI,CAAC,UAAU,CAAC,OAAO,CAAC,CAAC,EAAC,IAAI,EAAC,MAAM,EAAC,KAAK,EAAC,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,EAAC,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,EAAC,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,EAAC,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,EAAC,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC,EAAC,WAAW,EAAC,CAAC,EAAC,CAAC,CAAC,CAAC;IAKnJ,CAAC;IAGM,yBAAc,GAArB;QACI,EAAE,CAAC,EAAE,CAAC,QAAQ,CAAC,cAAc,EAAE,CAAC;IACpC,CAAC;;IAtSD,0BAA0B;IACX,oBAAS,GAAgB,IAAI,CAAC;IAFpC,UAAU;QADtB,OAAO,CAAC,YAAY,CAAC;OACT,UAAU,CAwStB;IAAD,iBAAC;CAxSD,AAwSC,IAAA;AAxSY,gCAAU","file":"","sourceRoot":"/","sourcesContent":["import { WeChat } from \"../Share/share\";\r\nimport { GameTool } from \"../Tool/GameTool\";\r\n\r\n\r\nconst { ccclass, property } = cc._decorator;\r\n@ccclass('GameConfig')\r\nexport class GameConfig {\r\n //所有控制信息都通过GameAppStart内控制\r\n private static _instance : GameConfig = null;\r\n\r\n static GAME_DATA: any[];\r\n //关卡数据\r\n\r\n\r\n static LEVEL_INFO: { id: string; map: number[][]; min_steps: number}[][];\r\n static CUSTOM_INFO: {\r\n moveSpeed: number; //洪峰移动速度\r\n waitTime: number; //洪峰冲击倒计时\r\n fastPath: number; //最短路径\r\n }[];\r\n static TIME_INFO: {\r\n waterSpeed: number[]; //洪峰速度\r\n totalTime: number; //游戏总时长\r\n waterTime: number[]; //洪峰来的倒计时\r\n roadSpeed: number; //河道修筑速度\r\n ReinforceSpeed: number; //加固时间速度\r\n Xi_SoilSpeed: number;\r\n };\r\n //用于盛放埋点数据上传,每次上传后清空\r\n static CLICK_DATA: {\r\n type: number; //上传数据类型\r\n success: boolean; //此局游戏正确与否\r\n round: number; //回合数轮次\r\n getScore: number; //本轮得分,失败为0分\r\n cumulativeScore: number; //本剧游戏总计得分\r\n mapId: string; //地图ID\r\n difficulty: number; //地图难度\r\n optimizedSteps: number; //关卡最短步数\r\n usedSteps: number; //玩家修建总步数\r\n stepList: any[]; //U、D、L、R X 息壤 F 加固\r\n startTime: number; //从游戏开始到玩家操作的第一步截止时间 单位毫秒\r\n submitTime: number; //从第一步操作到提交时间,如果未提交为-1 单位毫秒\r\n duration: number; //游戏总用时(截止到提交) 单位毫秒\r\n drawingBack: number; //后退次数\r\n drawingReset: number; //清空次数\r\n timer: number; //游戏倒计时剩余时长 秒\r\n };\r\n static GM_INFO: {\r\n // isEnd: false,\r\n mean_Time: number; //平均放箭速度\r\n total: number; //总共对的个数\r\n currSeed: number; //用于随机数种子\r\n gameId: string; //游戏ID\r\n userId: number; //用户ID\r\n guide: boolean; //是否有引导\r\n url: string; //访问域名\r\n success: boolean; //用户游戏成功与否\r\n matchId: any; //用于埋点上传的ID\r\n custom: number; //用于测试跳关卡\r\n round: number; //回合数\r\n level: number; //具体游戏内进行到第几步 \r\n stepTimeList: number; //整局游戏用时,由于涉及场景切换,数据需要保留\r\n successList: any[]; //整局胜负\r\n fen: number; //小局得分\r\n score: number; //总得分\r\n igniteCount: number; //玩家总计成功点火数\r\n min_Steps: number; //每次上一把最小步数\r\n min_Time: number; //每一把上次距离洪峰到来时间\r\n };\r\n\r\n\r\n\r\n\r\n //游戏内信息\r\n\r\n\r\n\r\n static get Instance()\r\n {\r\n if (this._instance == null)\r\n {\r\n this._instance = new GameConfig();\r\n }\r\n return this._instance;\r\n }\r\n //getSeedRandom\r\n static init(Authentication){\r\n this.CLICK_init();\r\n this.LEVEL_INFO_init();\r\n this.GM_INFO_init();\r\n var self = this;\r\n // cc.resources.load('Json/CLICK_DATA', (err: any, res: cc.JsonAsset) => {\r\n // if (err) {\r\n // return;\r\n // }\r\n // let jsonData: object = res.json!;\r\n // self.CLICK_DATA = jsonData[\"data\"];\r\n // })\r\n // cc.resources.load('Json/LEVEL_INFO', (err: any, res: cc.JsonAsset) => {\r\n // if (err) {\r\n // return;\r\n // }\r\n \r\n // let jsonData: object = res.json!;\r\n // self.LEVEL_INFO = jsonData[\"data\"];\r\n // })\r\n // cc.resources.load('Json/GM_INFO', (err: any, res: cc.JsonAsset) => {\r\n // if (err) {\r\n // if(!Authentication) self.Authentication();\r\n // return;\r\n // }\r\n \r\n // let jsonData: object = res.json!;\r\n // self.GM_INFO = jsonData[\"data\"];\r\n // cc.fx.GameTool.getCustom(false);\r\n // if(!Authentication) self.Authentication();\r\n // })\r\n\r\n //GAME_DATA 废弃了,暂时不删除以防后面修改回 一整局传一次\r\n this.GAME_DATA = [\r\n ]\r\n this.CUSTOM_INFO = [\r\n //第一难度\r\n {\r\n moveSpeed: 0, //洪峰移动速度\r\n waitTime: 20, //洪峰冲击倒计时\r\n fastPath: 5 //最短路径\r\n },\r\n //第二难度\r\n {\r\n moveSpeed: 0, //洪峰移动速度\r\n waitTime: 20, //洪峰冲击倒计时\r\n fastPath: 5 //最短路径\r\n },\r\n //第三难度\r\n {\r\n moveSpeed: 0, //洪峰移动速度\r\n waitTime: 20, //洪峰冲击倒计时\r\n fastPath: 5 //最短路径\r\n },\r\n //第四难度\r\n {\r\n moveSpeed: 0, //洪峰移动速度\r\n waitTime: 20, //洪峰冲击倒计时\r\n fastPath: 5 //最短路径\r\n },\r\n //第五难度\r\n {\r\n moveSpeed: 0, //洪峰移动速度\r\n waitTime: 20, //洪峰冲击倒计时\r\n fastPath: 5 //最短路径\r\n },\r\n //第六难度\r\n {\r\n moveSpeed: 0, //洪峰移动速度\r\n waitTime: 20, //洪峰冲击倒计时\r\n fastPath: 5 //最短路径\r\n },\r\n //第七难度 \r\n {\r\n moveSpeed: 0, //洪峰移动速度\r\n waitTime: 20, //洪峰冲击倒计时\r\n fastPath: 5 //最短路径\r\n },\r\n //第八难度\r\n {\r\n moveSpeed: 0, //洪峰移动速度\r\n waitTime: 20, //洪峰冲击倒计时\r\n fastPath: 5 //最短路径\r\n },\r\n //第九难度\r\n {\r\n moveSpeed: 0, //洪峰移动速度\r\n waitTime: 20, //洪峰冲击倒计时\r\n fastPath: 5 //最短路径\r\n },\r\n //第十难度\r\n {\r\n moveSpeed: 0, //洪峰移动速度\r\n waitTime: 20, //洪峰冲击倒计时\r\n fastPath: 5 //最短路径\r\n } \r\n ]\r\n WeChat.setShare(location.href);\r\n if(!Authentication) self.Authentication();\r\n }\r\n \r\n //数据备用\r\n static GM_INFO_init() {\r\n this.GM_INFO = {\r\n // isEnd: false,\r\n mean_Time: 0, //平均放箭速度\r\n total: 0, //总共对的个数\r\n currSeed: 200000, //用于随机数种子\r\n gameId: \"100012\", //游戏ID\r\n userId: 0, //用户ID\r\n guide: false, //是否有引导\r\n url: \"https://api.sparkus.cn\",//访问域名\r\n success: false, //用户游戏成功与否\r\n matchId: null, //用于埋点上传的ID\r\n custom: 0, //用于测试跳关卡\r\n round:0, //回合数\r\n level: 0, //具体游戏内进行到第几步 \r\n stepTimeList:0, //整局游戏用时,由于涉及场景切换,数据需要保留\r\n successList:[], //整局胜负\r\n fen:0, //小局得分\r\n score:0, //总得分\r\n igniteCount: 0, //玩家总计成功点火数\r\n min_Steps:0, //每次上一把最小步数\r\n min_Time:0 //每一把上次距离洪峰到来时间\r\n };\r\n\r\n }\r\n static GM_INFO_SET(key,value) {\r\n this.GM_INFO[key] = value;\r\n }\r\n static CLICK_init() {\r\n this.CLICK_DATA =\r\n {\r\n type: 1, //上传数据类型\r\n success: false, //此局游戏正确与否\r\n round: 0, //回合数轮次\r\n getScore: 0, //本轮得分,失败为0分\r\n cumulativeScore: 0, //本剧游戏总计得分\r\n mapId: \"\", //地图ID\r\n difficulty: 0, //地图难度\r\n optimizedSteps: 0, //关卡最短步数\r\n usedSteps: 0, //玩家修建总步数\r\n stepList: [], //U、D、L、R X 息壤 F 加固\r\n startTime:-1, //从游戏开始到玩家操作的第一步截止时间 单位毫秒\r\n submitTime:-1, //从第一步操作到提交时间,如果未提交为-1 单位毫秒\r\n duration:0, //游戏总用时(截止到提交) 单位毫秒 如果未他移交则为时间上限\r\n drawingBack:0, //后退次数\r\n drawingReset:0, //清空次数\r\n timer: 0, //测评倒计时剩余时间 去秒\r\n }\r\n }\r\n\r\n static CLICK_SET(key,value) {\r\n this.CLICK_DATA[key] = value;\r\n }\r\n\r\n static LEVEL_INFO_init() {\r\n this.TIME_INFO = {\r\n waterSpeed:[0.3,0.25,0.2,0.18,0.16,0.14,0.12,0.1], //洪峰速度\r\n totalTime: 120, //游戏总时长\r\n waterTime:[10,12,14,16,18,20,20,20], //洪峰来的倒计时\r\n roadSpeed:0.2, //河道修筑速度\r\n ReinforceSpeed:0.2, //加固时间速度\r\n Xi_SoilSpeed:0.2, //息壤时间速度\r\n }\r\n /*\r\n moveSpeed: 0, //洪峰移动速度\r\n waitTime: 20, //洪峰冲击倒计时\r\n fastPath: 5 //最短路径\r\n */ \r\n // this.LEVEL_INFO = [\r\n // [ \r\n // {\r\n // \"id\": 1001,\r\n // \"map\": [\r\n // [0,0,0,0,0,0],\r\n // [0,0,0,0,0,4],\r\n // [0,0,3,0,3,0],\r\n // [0,0,0,0,0,0],\r\n // [0,0,0,3,0,0],\r\n // [0,0,0,0,0,0],\r\n // [0,0,2,0,0,0],\r\n // [0,0,0,0,0,0],\r\n // [1,0,0,0,0,0]\r\n // ]\r\n // },\r\n // {\r\n // \"id\": 1002,\r\n // \"map\": [\r\n // [0,0,0,0,0,0,0,0,4],\r\n // [0,0,0,0,0,0,0,0,0],\r\n // [0,0,0,0,0,0,0,0,0],\r\n // [0,0,0,0,0,0,0,0,0],\r\n // [0,0,0,0,0,0,0,0,0],\r\n // [0,1,0,0,0,0,0,0,0]\r\n // ]\r\n // }\r\n // ],\r\n\r\n \r\n // ]\r\n\r\n this.LEVEL_INFO = [[{\"id\":\"1001\",\"map\":[[0,4,0,0],[0,0,0,0],[0,0,0,0],[0,0,1,0]],\"min_steps\":3},{\"id\":\"1002\",\"map\":[[1,0,0,0],[0,0,0,4],[0,0,0,0],[0,0,0,0]],\"min_steps\":3},{\"id\":\"1004\",\"map\":[[1,0,0,0],[0,0,0,0],[0,0,0,0],[0,4,0,0]],\"min_steps\":3},{\"id\":\"1006\",\"map\":[[4,0,0,0],[0,0,0,0],[0,0,0,0],[0,1,0,0]],\"min_steps\":3},{\"id\":\"1003\",\"map\":[[1,0,0,0],[0,0,0,0],[0,0,0,0],[0,0,0,4]],\"min_steps\":4},{\"id\":\"1005\",\"map\":[[1,0,0,0],[0,0,0,0],[0,0,0,4],[0,0,0,0]],\"min_steps\":4},{\"id\":\"1007\",\"map\":[[0,4,0,0],[0,0,0,0],[0,0,0,0],[0,0,0,1]],\"min_steps\":4},{\"id\":\"1008\",\"map\":[[0,0,0,4],[0,0,0,0],[0,0,0,0],[1,0,0,0]],\"min_steps\":4}],[{\"id\":\"2001\",\"map\":[[0,0,0,0,1],[0,0,0,0,0],[0,0,3,0,3],[0,0,0,0,0],[4,0,0,0,3]],\"min_steps\":4},{\"id\":\"2002\",\"map\":[[0,1,0,0,0],[0,0,0,0,0],[3,3,0,0,4],[0,0,0,0,0],[3,0,0,0,0]],\"min_steps\":4},{\"id\":\"2009\",\"map\":[[0,3,0,0,4],[3,0,0,0,0],[0,0,0,0,0],[1,0,0,0,0],[0,3,0,0,0]],\"min_steps\":4},{\"id\":\"2010\",\"map\":[[0,0,0,0,1],[0,0,0,0,0],[0,0,0,0,0],[0,3,0,3,0],[4,0,3,0,0]],\"min_steps\":4},{\"id\":\"2011\",\"map\":[[4,3,1,0,0],[0,0,0,0,3],[0,0,0,3,0],[0,0,0,0,0],[0,0,0,0,0]],\"min_steps\":4},{\"id\":\"2021\",\"map\":[[0,0,0,1,0],[0,0,3,0,0],[0,0,0,3,3],[0,0,0,0,0],[0,4,0,0,0]],\"min_steps\":4},{\"id\":\"2004\",\"map\":[[1,0,0,0,0],[0,0,0,0,3],[3,0,0,0,0],[0,0,0,0,0],[0,0,0,0,4]],\"min_steps\":5},{\"id\":\"2012\",\"map\":[[0,3,0,4,0],[0,0,0,3,0],[1,0,3,0,0],[0,0,0,0,0],[0,0,0,0,0]],\"min_steps\":5},{\"id\":\"2013\",\"map\":[[0,0,0,0,0],[1,0,0,0,0],[0,0,0,3,3],[3,0,0,0,0],[0,0,0,4,0]],\"min_steps\":5},{\"id\":\"2014\",\"map\":[[3,0,1,0,0],[0,3,0,0,0],[0,0,0,0,0],[4,0,0,3,0],[0,0,0,0,0]],\"min_steps\":5},{\"id\":\"2015\",\"map\":[[3,0,0,0,1],[3,0,0,0,0],[0,0,0,0,0],[4,3,0,0,0],[3,0,0,0,0]],\"min_steps\":5},{\"id\":\"2016\",\"map\":[[0,0,0,0,0],[1,0,3,0,0],[3,0,0,0,3],[0,0,0,0,0],[0,0,0,0,4]],\"min_steps\":5},{\"id\":\"2017\",\"map\":[[0,3,0,0,0],[4,0,0,0,0],[0,0,0,0,0],[3,0,3,0,0],[3,0,0,0,1]],\"min_steps\":5},{\"id\":\"2018\",\"map\":[[0,3,4,3,3],[0,0,0,0,0],[0,0,0,0,0],[0,0,0,0,0],[0,0,3,0,1]],\"min_steps\":5},{\"id\":\"2019\",\"map\":[[3,0,0,4,0],[0,0,0,3,0],[0,0,0,0,0],[0,0,0,0,0],[1,0,3,0,0]],\"min_steps\":5},{\"id\":\"2020\",\"map\":[[4,0,3,0,1],[0,0,0,0,3],[0,0,0,0,0],[0,0,0,0,0],[0,0,3,0,0]],\"min_steps\":5},{\"id\":\"2003\",\"map\":[[1,0,0,3,0],[0,0,3,0,0],[0,0,0,0,0],[0,0,0,0,0],[0,3,0,4,0]],\"min_steps\":6},{\"id\":\"2005\",\"map\":[[0,3,0,0,0],[1,0,0,0,0],[0,0,0,3,0],[0,0,0,0,0],[0,3,0,4,0]],\"min_steps\":6},{\"id\":\"2006\",\"map\":[[0,1,0,0,0],[0,0,0,0,3],[0,0,0,0,3],[0,0,0,0,0],[0,0,0,3,4]],\"min_steps\":6},{\"id\":\"2007\",\"map\":[[3,0,0,0,1],[0,0,0,0,3],[0,0,0,0,0],[0,0,0,0,0],[4,3,0,0,0]],\"min_steps\":6},{\"id\":\"2008\",\"map\":[[3,4,0,0,0],[0,0,0,0,3],[0,0,0,3,1],[0,0,0,0,0],[0,0,0,0,0]],\"min_steps\":6},{\"id\":\"2022\",\"map\":[[0,0,0,0,0],[1,3,0,0,3],[0,0,0,0,0],[0,0,0,0,0],[0,0,3,4,0]],\"min_steps\":6}],[{\"id\":\"3001\",\"map\":[[3,0,2,3,4],[0,0,0,2,2],[2,3,3,3,3],[0,0,2,0,2],[1,0,2,3,0]],\"min_steps\":5},{\"id\":\"3002\",\"map\":[[3,0,3,2,0],[1,2,0,3,2],[2,3,0,0,4],[2,0,2,2,0],[3,3,0,3,0]],\"min_steps\":5},{\"id\":\"3003\",\"map\":[[0,2,3,3,4],[2,2,0,0,0],[1,3,3,3,2],[2,2,3,2,3],[0,0,0,0,0]],\"min_steps\":5},{\"id\":\"3004\",\"map\":[[3,2,2,1,0],[0,0,3,2,2],[3,0,2,3,0],[3,0,0,3,3],[0,2,4,0,2]],\"min_steps\":5},{\"id\":\"3005\",\"map\":[[3,0,3,0,0],[2,3,0,0,1],[0,2,2,2,3],[4,2,0,0,2],[3,3,0,3,2]],\"min_steps\":5},{\"id\":\"3008\",\"map\":[[3,3,3,0,1],[0,0,0,0,3],[2,2,3,2,2],[0,2,3,0,3],[4,2,2,0,0]],\"min_steps\":5},{\"id\":\"3009\",\"map\":[[1,0,3,3,2],[3,0,2,0,0],[0,3,3,2,4],[0,0,3,0,2],[2,2,2,0,3]],\"min_steps\":5},{\"id\":\"3010\",\"map\":[[3,0,2,0,4],[1,2,3,0,3],[2,0,3,2,0],[0,3,0,0,3],[2,0,2,3,2]],\"min_steps\":5},{\"id\":\"3006\",\"map\":[[2,0,2,2,0],[1,2,3,0,0],[3,3,0,3,2],[3,0,0,3,2],[2,0,3,0,4]],\"min_steps\":6},{\"id\":\"3007\",\"map\":[[1,2,0,3,3],[2,2,0,2,0],[2,3,2,0,3],[0,3,2,0,4],[0,0,3,0,3]],\"min_steps\":6},{\"id\":\"3011\",\"map\":[[2,3,0,1,0],[0,0,0,0,0],[3,0,0,0,3],[0,2,0,3,2],[4,3,3,2,2]],\"min_steps\":6},{\"id\":\"3012\",\"map\":[[0,2,1,0,3],[0,3,0,0,3],[3,2,3,2,0],[0,2,0,3,0],[2,0,0,0,4]],\"min_steps\":6},{\"id\":\"3013\",\"map\":[[0,2,1,0,3],[0,3,0,0,3],[3,2,3,2,0],[0,2,0,3,0],[2,0,0,0,4]],\"min_steps\":6},{\"id\":\"3014\",\"map\":[[1,0,3,3,4],[2,3,0,3,0],[0,2,2,0,0],[3,3,0,0,2],[2,0,0,0,0]],\"min_steps\":6},{\"id\":\"3015\",\"map\":[[2,3,0,0,0],[0,0,2,3,0],[4,0,3,0,3],[2,0,2,2,3],[0,3,0,0,1]],\"min_steps\":6},{\"id\":\"3016\",\"map\":[[3,0,2,0,2],[2,0,0,0,3],[0,2,3,0,1],[4,0,0,3,0],[3,3,0,0,2]],\"min_steps\":6},{\"id\":\"3017\",\"map\":[[0,3,0,0,2],[3,0,2,0,4],[1,3,3,0,0],[2,0,0,2,0],[3,2,3,0,0]],\"min_steps\":6},{\"id\":\"3018\",\"map\":[[4,2,0,0,0],[0,0,0,3,2],[0,3,0,0,3],[3,2,3,2,0],[3,0,2,1,0]],\"min_steps\":7},{\"id\":\"3019\",\"map\":[[0,4,0,3,2],[0,2,0,0,0],[3,0,3,0,2],[3,3,2,3,1],[2,0,0,0,0]],\"min_steps\":7},{\"id\":\"3020\",\"map\":[[0,2,0,1,0],[0,0,0,3,2],[3,0,3,3,3],[3,0,0,0,2],[0,2,2,4,0]],\"min_steps\":7},{\"id\":\"3021\",\"map\":[[3,2,0,2,1],[3,2,0,3,2],[3,0,0,2,3],[0,0,0,0,4],[0,0,3,0,0]],\"min_steps\":7},{\"id\":\"3022\",\"map\":[[2,0,2,2,2],[0,0,3,0,0],[3,0,3,0,0],[1,0,3,2,4],[0,0,3,3,0]],\"min_steps\":7},{\"id\":\"3023\",\"map\":[[1,2,0,2,0],[3,3,3,0,0],[0,2,3,2,0],[4,0,0,0,3],[0,0,2,0,3]],\"min_steps\":7},{\"id\":\"3024\",\"map\":[[1,0,3,0,3],[2,2,0,0,0],[0,3,0,3,0],[2,0,3,2,0],[2,3,0,4,0]],\"min_steps\":7}],[{\"id\":\"4001\",\"map\":[[1,3,0,0,2,0],[0,3,0,0,2,0],[0,0,2,0,3,4],[0,0,0,2,0,0],[3,3,0,0,2,0,3],[0,0,2,2,2,0]],\"min_steps\":5},{\"id\":\"4002\",\"map\":[[0,2,2,2,2,0],[1,0,0,0,2,0],[0,0,0,0,0,3],[0,0,0,0,2,0],[0,3,3,0,2,0],[3,0,0,4,2,0]],\"min_steps\":5},{\"id\":\"4003\",\"map\":[[0,0,0,0,0,0],[2,0,0,0,0,2],[0,3,3,3,2,4],[0,3,0,3,2,0],[0,0,0,0,0,3],[0,0,2,3,0,1]],\"min_steps\":6},{\"id\":\"4004\",\"map\":[[2,0,3,0,0,4],[0,2,3,3,0,0],[0,3,0,0,0,0],[3,0,0,0,2,2],[3,0,0,2,0,0],[1,0,0,3,0,0]],\"min_steps\":6},{\"id\":\"4006\",\"map\":[[4,3,0,3,0,0],[0,2,0,3,0,0],[3,0,0,0,3,2],[0,3,0,0,2,1],[0,0,2,0,0,0],[0,0,0,0,2,3]],\"min_steps\":7},{\"id\":\"4007\",\"map\":[[4,2,2,0,2,0],[0,3,0,2,0,0],[0,2,3,0,3,0],[0,0,3,0,0,3],[0,0,3,0,0,0],[0,0,0,3,0,1]],\"min_steps\":7},{\"id\":\"4014\",\"map\":[[0,0,3,0,2,2],[0,2,3,0,0,1],[0,3,3,0,0,3],[0,2,0,0,0,0],[0,0,0,3,3,0],[2,0,4,0,0,0]],\"min_steps\":7},{\"id\":\"4015\",\"map\":[[2,0,0,0,0,0],[0,0,0,0,3,1],[3,0,2,0,0,3],[2,0,0,2,3,0],[3,0,3,0,0,0],[2,0,0,3,4,0]],\"min_steps\":7},{\"id\":\"4005\",\"map\":[[1,0,0,0,0,2],[0,0,0,2,0,0],[3,2,0,0,0,0],[0,3,0,0,2,3],[0,0,3,3,0,0],[3,0,0,2,3,4]],\"min_steps\":8},{\"id\":\"4008\",\"map\":[[0,0,2,3,0,0],[0,3,0,2,3,2],[3,0,0,0,0,0],[0,3,0,0,3,4],[0,0,0,0,0,3],[0,2,0,2,0,1]],\"min_steps\":8},{\"id\":\"4009\",\"map\":[[0,3,3,0,0,4],[2,0,0,3,0,0],[2,0,0,3,0,0],[1,0,0,0,3,0],[0,0,2,3,0,2],[2,3,0,0,0,0]],\"min_steps\":8},{\"id\":\"4010\",\"map\":[[0,0,1,3,2,0],[3,0,0,0,3,2],[3,0,0,0,0,3],[2,0,0,0,0,0],[0,2,0,0,3,0],[0,2,0,3,4,0]],\"min_steps\":8},{\"id\":\"4011\",\"map\":[[1,0,0,0,0,0],[3,3,0,0,0,2],[0,0,0,3,0,2],[2,0,3,0,3,0],[2,0,3,0,0,3],[4,0,0,0,0,2]],\"min_steps\":8},{\"id\":\"4016\",\"map\":[[0,0,3,0,0,1],[2,3,0,0,3,0],[2,0,0,0,0,2],[0,3,0,0,0,0],[0,3,0,0,2,0],[0,4,3,0,2,3]],\"min_steps\":8},{\"id\":\"4017\",\"map\":[[1,2,3,0,3,2],[3,0,0,0,0,0],[0,0,0,0,0,3],[3,3,0,3,2,0],[0,2,0,0,0,0],[4,0,0,2,0,0]],\"min_steps\":8},{\"id\":\"4018\",\"map\":[[0,0,1,0,2,0],[0,0,0,0,0,0],[0,0,3,2,3,0],[3,0,0,3,0,0],[2,3,0,2,0,0],[4,2,0,3,3,0]],\"min_steps\":8},{\"id\":\"4012\",\"map\":[[2,2,3,0,2,0],[0,3,0,0,0,0],[0,0,0,0,3,4],[0,2,0,3,0,3],[0,0,0,0,0,0],[0,0,2,3,3,1]],\"min_steps\":9},{\"id\":\"4013\",\"map\":[[0,0,0,0,3,0],[4,2,0,3,0,0],[3,2,0,0,0,0],[1,3,0,3,0,0],[2,0,0,2,0,0],[3,0,0,3,2,0]],\"min_steps\":9},{\"id\":\"4019\",\"map\":[[3,4,0,0,0,2],[3,2,0,0,2,0],[0,3,0,3,0,2],[0,0,3,0,0,0],[0,0,0,0,3,0],[1,3,0,0,0,2]],\"min_steps\":9},{\"id\":\"4020\",\"map\":[[0,2,0,1,0,0],[2,3,0,0,2,0],[3,0,0,0,0,0],[0,3,3,0,0,3],[2,0,0,3,0,0],[4,3,0,0,0,2]],\"min_steps\":9}],[{\"id\":\"5001\",\"map\":[[1,0,0,0,0,0],[0,2,2,3,0,2],[3,2,0,0,3,3],[0,0,0,0,0,4],[0,0,0,2,2,0],[3,0,2,2,0,0]],\"min_steps\":7},{\"id\":\"5002\",\"map\":[[0,0,0,0,4,3],[3,2,3,0,0,0],[0,2,0,2,3,0],[2,2,0,0,0,0],[3,2,0,0,0,0],[3,0,0,2,0,3],[2,0,0,3,0,1]],\"min_steps\":7},{\"id\":\"5015\",\"map\":[[1,2,3,2,2,0],[3,0,0,0,0,3],[0,0,0,0,0,0],[0,0,0,0,0,2],[0,3,0,3,2,0],[0,0,0,0,0,0],[0,2,0,4,0,3]],\"min_steps\":7},{\"id\":\"5016\",\"map\":[[3,0,1,0,0,0],[0,2,0,2,0,0],[0,2,0,2,0,3],[0,0,0,0,0,0],[0,2,0,0,3,3],[0,0,0,0,2,3],[0,0,0,3,0,4]],\"min_steps\":7},{\"id\":\"5004\",\"map\":[[0,3,3,2,3,0],[2,0,2,0,3,0],[1,0,3,2,0,0],[3,3,0,0,0,2],[0,0,0,0,0,0],[0,2,0,0,0,0],[0,0,0,3,4,0]],\"min_steps\":8},{\"id\":\"5005\",\"map\":[[0,0,0,0,0,1],[0,0,2,0,2,0],[3,2,2,0,0,0],[3,0,0,3,0,0],[3,3,0,0,0,3],[4,3,0,0,0,0],[2,0,0,2,3,0]],\"min_steps\":8},{\"id\":\"5008\",\"map\":[[3,0,3,2,0,4],[0,3,0,2,0,2],[0,0,3,0,0,0],[2,0,0,2,0,0],[0,0,3,0,0,0],[0,0,0,3,0,0],[3,2,1,3,0,0]],\"min_steps\":8},{\"id\":\"5012\",\"map\":[[2,3,0,2,0,1],[2,0,0,0,0,0],[2,0,0,3,0,2],[3,0,3,0,0,3],[0,0,0,0,3,3],[3,0,0,0,2,0],[0,0,0,0,0,4]],\"min_steps\":8},{\"id\":\"5013\",\"map\":[[0,0,2,1,2,0],[0,3,0,0,0,0],[2,0,0,0,0,0],[0,0,0,3,0,0],[3,0,0,2,3,0],[3,3,3,2,0,2],[0,0,4,0,0,3]],\"min_steps\":8},{\"id\":\"5018\",\"map\":[[0,2,0,1,0,0],[2,0,0,3,0,0],[0,0,0,0,0,0],[3,0,0,0,0,0],[2,3,0,2,3,3],[2,0,0,0,0,2],[4,3,0,0,0,0]],\"min_steps\":8},{\"id\":\"5019\",\"map\":[[1,3,0,2,3,0],[0,0,0,0,0,2],[0,0,0,0,0,0],[0,0,2,0,0,2],[3,3,0,3,0,2],[4,0,2,0,0,0],[0,0,0,3,0,0]],\"min_steps\":8},{\"id\":\"5029\",\"map\":[[4,3,0,0,0,0],[2,0,0,3,0,2],[3,2,0,3,3,0],[2,0,0,3,0,0],[0,2,0,0,0,0],[2,0,0,0,0,0],[3,0,3,3,0,1]],\"min_steps\":8},{\"id\":\"5030\",\"map\":[[0,0,0,0,0,0],[0,0,2,3,2,0],[0,3,0,0,0,0],[2,2,0,3,0,0],[0,3,3,0,3,4],[0,0,2,0,0,3],[3,1,0,3,0,2]],\"min_steps\":8},{\"id\":\"5006\",\"map\":[[0,3,0,0,0,0],[1,0,0,0,3,0],[0,0,3,2,0,0],[3,0,0,2,2,0],[0,3,0,3,3,0],[0,2,0,0,0,0],[4,0,3,0,2,2]],\"min_steps\":9},{\"id\":\"5007\",\"map\":[[0,2,0,3,0,0],[1,2,0,2,0,0],[0,3,0,3,0,0],[3,0,0,0,0,3],[0,0,3,2,0,2],[4,0,0,3,0,3],[0,2,0,0,0,0]],\"min_steps\":9},{\"id\":\"5010\",\"map\":[[0,3,1,0,0,0],[0,2,3,3,0,0],[0,2,0,3,0,0],[0,2,0,2,0,3],[0,2,0,0,3,0],[0,3,0,0,0,0],[0,2,4,0,0,3]],\"min_steps\":9},{\"id\":\"5011\",\"map\":[[1,0,3,0,3,0],[0,2,0,0,0,0],[2,0,2,0,3,0],[0,3,2,0,0,0],[3,0,0,0,0,2],[4,0,3,0,0,0],[3,2,0,0,0,3]],\"min_steps\":9},{\"id\":\"5014\",\"map\":[[0,1,0,0,0,0],[2,0,2,0,0,2],[2,3,0,3,0,0],[0,3,0,0,0,3],[0,0,0,2,0,3],[0,0,3,0,3,0],[2,0,3,0,0,4]],\"min_steps\":9},{\"id\":\"5017\",\"map\":[[0,0,0,0,0,0],[1,2,3,0,0,2],[0,0,2,0,0,2],[3,0,2,3,0,0],[0,3,3,0,2,0],[0,0,0,0,0,0],[4,0,3,0,0,0]],\"min_steps\":9},{\"id\":\"5028\",\"map\":[[0,0,1,0,0,3],[3,0,0,0,3,4],[0,2,0,2,3,2],[0,3,2,3,3,0],[0,0,0,3,0,0],[0,0,3,0,0,2],[0,0,2,0,0,0]],\"min_steps\":9},{\"id\":\"5003\",\"map\":[[0,0,1,3,0,2],[0,3,3,0,0,0],[0,0,3,2,0,0],[0,0,3,0,0,0],[3,0,0,0,2,2],[0,0,2,3,0,0],[0,2,0,3,0,4]],\"min_steps\":10},{\"id\":\"5009\",\"map\":[[0,2,0,0,0,3],[0,0,3,3,3,4],[0,3,0,0,0,0],[0,3,2,0,0,0],[1,2,3,2,0,3],[2,0,0,0,0,0],[0,0,0,0,2,0]],\"min_steps\":10},{\"id\":\"5021\",\"map\":[[0,0,0,0,0,0],[0,0,0,0,3,0],[3,0,0,0,2,0],[2,0,0,2,3,0],[0,3,0,0,0,2],[0,2,3,0,0,0],[4,3,1,2,0,0]],\"min_steps\":10},{\"id\":\"5022\",\"map\":[[4,0,3,0,0,2],[0,0,0,0,2,0],[0,3,0,2,3,2],[3,0,3,0,3,0],[0,2,0,0,0,0],[0,3,0,3,0,3],[0,2,1,0,0,0]],\"min_steps\":10},{\"id\":\"5023\",\"map\":[[3,0,0,3,3,0],[0,0,3,0,0,3],[2,3,0,0,0,0],[2,2,0,0,2,0],[0,3,0,0,0,0],[2,0,3,0,0,4],[0,1,3,0,2,0]],\"min_steps\":10},{\"id\":\"5024\",\"map\":[[3,0,2,3,0,0],[4,2,0,0,0,3],[2,2,0,0,0,0],[0,0,3,0,0,2],[0,0,0,3,0,3],[0,3,3,0,2,0],[3,0,1,0,0,0]],\"min_steps\":10},{\"id\":\"5020\",\"map\":[[0,0,0,2,0,0],[0,3,0,0,0,3],[0,2,0,0,3,0],[2,0,0,2,3,4],[0,2,3,0,0,0],[0,0,0,3,0,0],[3,2,0,1,3,0]],\"min_steps\":11},{\"id\":\"5025\",\"map\":[[1,0,0,0,3,0],[0,0,0,3,3,2],[3,3,2,0,0,2],[0,0,0,0,0,3],[0,0,2,0,2,0],[0,0,0,0,3,4],[0,3,2,3,0,0]],\"min_steps\":11},{\"id\":\"5026\",\"map\":[[0,3,2,0,0,0],[0,0,2,3,3,0],[2,0,0,2,0,0],[3,2,0,0,3,2],[0,0,0,3,3,1],[0,0,3,0,0,3],[0,0,0,0,0,4]],\"min_steps\":11},{\"id\":\"5027\",\"map\":[[0,0,3,0,0,1],[0,0,0,0,0,3],[2,0,2,0,2,3],[0,0,3,3,0,3],[0,0,0,2,3,0],[0,0,0,2,0,3],[2,0,3,0,4,0]],\"min_steps\":11}],[{\"id\":\"6028\",\"map\":[[0,0,3,0,0,2],[1,3,2,2,0,3],[0,0,3,0,0,2],[0,0,0,0,0,0],[0,0,2,0,3,3],[3,3,3,0,0,0],[4,0,0,0,0,2]],\"min_steps\":8},{\"id\":\"6029\",\"map\":[[0,0,2,0,0,1],[3,2,3,0,0,3],[2,0,3,0,3,0],[3,3,0,0,0,0],[0,0,0,3,3,2],[0,0,0,0,0,2],[0,0,0,4,2,0]],\"min_steps\":8},{\"id\":\"6030\",\"map\":[[0,3,3,0,1,0],[2,3,0,0,3,0],[0,0,0,3,0,2],[0,0,3,0,2,0],[0,0,2,3,3,3],[0,0,0,0,0,0],[4,0,0,2,0,2]],\"min_steps\":8},{\"id\":\"6001\",\"map\":[[0,0,3,3,4,2],[0,0,0,2,0,0],[2,3,3,2,0,0],[0,3,0,0,0,2],[0,0,0,3,2,2],[2,0,0,3,0,2],[1,3,2,0,0,0],[0,0,0,3,0,0]],\"min_steps\":9},{\"id\":\"6012\",\"map\":[[3,0,0,0,2,0],[0,3,0,3,0,0],[0,3,0,0,0,3],[2,0,0,3,2,0],[3,2,2,2,0,0],[3,0,2,0,3,0],[1,2,3,0,2,0],[2,3,0,0,3,4]],\"min_steps\":9},{\"id\":\"6016\",\"map\":[[0,0,1,0,2,3],[0,3,2,0,2,0],[3,3,3,3,0,0],[3,0,0,0,0,0],[2,2,3,0,3,3],[0,0,2,0,2,0],[0,2,0,2,0,3],[3,0,2,0,0,4]],\"min_steps\":9},{\"id\":\"6008\",\"map\":[[0,0,2,0,3,4],[3,3,2,3,0,0],[0,0,0,0,0,3],[0,0,2,3,2,0],[0,0,2,0,3,2],[3,3,0,0,0,2],[0,3,0,0,0,0],[2,1,0,0,0,0]],\"min_steps\":10},{\"id\":\"6013\",\"map\":[[3,0,0,2,2,0],[0,2,0,3,0,2],[0,0,3,2,3,0],[0,3,0,0,3,0],[2,2,3,2,0,0],[0,0,3,3,0,0],[0,2,0,3,2,0],[4,3,3,0,1,0]],\"min_steps\":10},{\"id\":\"6017\",\"map\":[[4,0,0,0,0,3],[0,3,3,0,0,0],[3,0,2,2,0,0],[3,0,2,3,3,2],[3,2,0,2,3,3],[2,0,2,0,0,0],[0,0,0,0,0,3],[2,3,0,2,0,1]],\"min_steps\":10},{\"id\":\"6022\",\"map\":[[0,0,3,4,3,0],[0,3,0,2,2,0],[2,0,2,0,0,3],[0,0,0,0,0,0],[2,3,0,3,2,0],[0,3,0,0,0,0],[0,1,3,0,0,3]],\"min_steps\":10},{\"id\":\"6023\",\"map\":[[0,0,3,1,0,2],[0,0,2,3,0,0],[4,0,3,0,0,0],[2,0,3,0,0,3],[2,0,3,0,3,0],[0,0,0,0,0,0],[2,3,0,2,3,0]],\"min_steps\":10},{\"id\":\"6024\",\"map\":[[0,3,0,2,0,4],[3,0,0,3,3,3],[0,0,2,0,0,0],[2,3,3,0,0,0],[2,0,0,0,0,3],[2,0,3,0,0,1],[0,0,0,0,0,2]],\"min_steps\":10},{\"id\":\"6025\",\"map\":[[4,0,2,0,0,0],[0,0,3,3,0,2],[3,3,0,0,0,3],[0,2,0,2,0,0],[0,0,0,0,3,0],[1,3,0,0,2,2],[0,3,0,0,0,3]],\"min_steps\":10},{\"id\":\"6002\",\"map\":[[0,0,3,3,4,2],[0,0,0,2,0,0],[2,3,3,2,0,0],[0,3,0,0,0,2],[0,0,0,3,2,2],[2,0,0,3,0,2],[1,3,2,0,0,0],[0,0,0,3,0,0]],\"min_steps\":11},{\"id\":\"6006\",\"map\":[[1,0,2,0,0,3],[0,0,0,0,3,0],[3,0,0,3,2,0],[2,3,0,0,0,3],[0,0,3,2,0,3],[0,2,0,3,0,0],[2,3,0,2,0,0],[0,4,0,2,0,0]],\"min_steps\":11},{\"id\":\"6009\",\"map\":[[4,3,0,0,3,0],[0,0,0,0,0,0],[3,3,0,2,0,2],[3,0,0,2,2,0],[2,3,2,0,0,0],[1,3,3,0,0,0],[2,0,0,0,0,0],[3,3,0,0,0,2]],\"min_steps\":11},{\"id\":\"6018\",\"map\":[[2,3,0,0,2,3],[2,0,0,3,0,4],[2,0,0,0,0,0],[0,3,2,0,2,3],[0,0,0,0,0,3],[2,0,3,3,2,3],[0,0,0,3,2,0],[2,3,1,3,0,0]],\"min_steps\":11},{\"id\":\"6026\",\"map\":[[0,1,0,3,0,4],[0,0,3,0,3,0],[2,2,3,2,0,0],[0,0,3,0,3,3],[2,0,0,0,0,2],[0,3,0,0,0,2],[0,0,0,0,0,3]],\"min_steps\":11},{\"id\":\"6027\",\"map\":[[2,1,3,0,0,0],[0,0,0,0,3,0],[3,3,0,0,0,0],[2,2,3,3,3,0],[0,2,0,0,0,0],[3,2,0,0,0,0],[0,4,0,2,3,0]],\"min_steps\":11},{\"id\":\"6031\",\"map\":[[0,1,0,3,0,4],[0,0,3,0,3,0],[2,2,3,2,0,0],[0,0,3,0,3,3],[2,0,0,0,0,2],[0,3,0,0,0,2],[0,0,0,0,0,3]],\"min_steps\":11},{\"id\":\"6003\",\"map\":[[0,2,2,0,0,4],[0,3,3,0,0,0],[3,2,0,0,0,0],[0,3,0,0,3,3],[0,2,0,3,0,0],[2,3,0,0,0,0],[0,2,3,0,0,0],[1,2,3,0,2,0]],\"min_steps\":12},{\"id\":\"6011\",\"map\":[[3,0,2,2,3,2],[1,0,0,0,0,3],[0,0,3,2,3,0],[3,0,3,0,0,0],[4,3,2,3,0,2],[0,0,2,0,2,3],[2,0,0,0,0,3],[0,0,0,2,0,3]],\"min_steps\":12},{\"id\":\"6014\",\"map\":[[4,3,0,0,0,0],[0,2,2,2,3,0],[0,3,0,0,0,0],[2,3,2,3,0,0],[3,3,0,0,0,3],[0,0,0,2,3,0],[0,3,2,0,2,2],[2,3,3,0,0,1]],\"min_steps\":12},{\"id\":\"6020\",\"map\":[[3,2,0,0,0,0],[4,0,2,0,2,0],[3,3,0,0,2,2],[0,0,3,0,2,0],[0,0,0,0,2,3],[0,2,3,3,0,0],[2,3,0,0,3,3],[1,3,3,2,0,0]],\"min_steps\":12},{\"id\":\"6021\",\"map\":[[4,3,0,0,0,0],[0,2,2,2,3,0],[0,3,0,0,0,0],[2,3,2,3,0,0],[3,3,0,0,0,3],[0,0,0,2,3,0],[0,3,2,0,2,2],[2,3,3,0,0,1]],\"min_steps\":12},{\"id\":\"6004\",\"map\":[[0,3,0,2,2,0],[0,0,0,0,0,2],[3,0,0,0,0,0],[0,3,0,0,0,0],[0,3,3,0,3,0],[2,0,0,0,3,2],[2,0,0,0,3,1],[4,3,0,2,3,2]],\"min_steps\":13},{\"id\":\"6005\",\"map\":[[2,2,4,2,3,0],[0,3,3,2,0,0],[3,0,0,3,0,2],[3,0,2,3,3,0],[0,0,0,0,0,0],[0,0,0,0,2,3],[3,2,0,0,0,1],[0,0,0,0,0,0]],\"min_steps\":13},{\"id\":\"6007\",\"map\":[[3,2,0,0,3,4],[0,2,0,0,3,0],[0,0,2,0,2,0],[2,0,0,3,0,3],[0,0,2,0,3,2],[0,2,3,3,0,1],[0,0,0,0,0,3],[0,0,0,3,0,0]],\"min_steps\":13},{\"id\":\"6010\",\"map\":[[0,3,1,0,0,0],[0,2,3,3,0,0],[2,0,0,3,0,0],[0,2,0,0,3,2],[3,0,0,0,0,2],[3,2,0,0,0,0],[4,0,0,3,2,0],[0,3,0,3,2,0]],\"min_steps\":13},{\"id\":\"6015\",\"map\":[[4,0,0,0,2,3],[0,0,3,0,0,3],[2,2,3,2,0,0],[3,0,0,0,3,2],[2,3,0,3,0,2],[0,0,3,0,2,3],[0,0,0,0,0,3],[1,2,2,3,0,0]],\"min_steps\":14},{\"id\":\"6019\",\"map\":[[4,0,0,0,2,3],[0,0,3,0,0,3],[2,2,3,2,0,0],[3,0,0,0,3,2],[2,3,0,3,0,2],[0,0,3,0,2,3],[0,0,0,0,0,3],[1,2,2,3,0,0]],\"min_steps\":14}],[{\"id\":\"7001\",\"map\":[[0,2,0,0,2,0],[3,3,0,2,0,4],[0,0,0,0,0,3],[0,0,0,0,3,2],[0,0,0,0,0,2],[3,3,0,0,0,2],[0,3,3,2,2,0],[0,3,2,2,0,3],[1,2,0,0,2,0]],\"min_steps\":9},{\"id\":\"7023\",\"map\":[[3,2,0,2,0,1],[0,3,3,2,3,3],[0,3,3,0,3,0],[0,2,2,2,0,3],[0,3,2,0,0,3],[0,0,0,0,2,0],[2,2,2,3,0,0],[2,0,3,0,3,0],[0,0,3,0,0,4]],\"min_steps\":9},{\"id\":\"7003\",\"map\":[[1,3,2,0,0,0],[0,0,0,2,0,0],[0,3,0,2,0,0],[3,3,3,2,0,3],[2,3,3,0,3,0],[0,0,0,0,0,2],[3,0,2,2,3,2],[4,2,0,0,2,0],[0,0,2,0,0,2]],\"min_steps\":10},{\"id\":\"7002\",\"map\":[[1,0,3,2,0,2],[0,3,0,0,0,2],[0,2,0,3,2,2],[0,3,0,0,0,0],[0,2,0,3,3,0],[3,2,2,0,0,3],[0,3,2,3,0,2],[0,0,0,0,0,0],[2,0,0,2,3,4]],\"min_steps\":11},{\"id\":\"7005\",\"map\":[[0,0,0,0,0,0],[0,0,0,3,2,4],[0,3,0,0,3,3],[3,3,0,2,0,3],[0,2,2,0,3,2],[0,0,3,0,2,0],[0,2,0,2,0,0],[3,0,0,2,2,0],[0,0,2,2,0,1]],\"min_steps\":11},{\"id\":\"7006\",\"map\":[[0,0,0,0,2,3],[3,2,0,0,0,0],[0,2,0,3,3,4],[0,0,0,2,2,3],[2,0,0,0,0,0],[0,0,0,0,3,0],[3,0,3,3,0,2],[3,0,2,2,0,2],[0,0,2,2,0,1]],\"min_steps\":11},{\"id\":\"7007\",\"map\":[[2,0,2,0,2,0],[0,0,2,0,3,2],[0,0,0,3,3,0],[0,2,0,0,3,2],[3,0,0,2,0,0],[3,3,0,0,0,2],[0,2,0,3,2,0],[0,2,3,0,0,0],[4,3,0,0,1,0]],\"min_steps\":11},{\"id\":\"7026\",\"map\":[[2,4,2,0,0,0],[0,3,3,0,3,0],[3,3,3,0,0,3],[2,0,3,0,0,2],[0,2,2,3,0,3],[1,0,2,0,2,0],[3,3,0,0,0,0],[2,0,0,0,3,2],[2,0,3,2,3,0]],\"min_steps\":11},{\"id\":\"7027\",\"map\":[[2,0,0,0,0,2],[0,0,3,3,2,3],[0,0,3,0,0,1],[0,3,0,3,3,3],[0,0,0,0,0,2],[3,3,2,0,0,2],[3,3,0,2,0,3],[0,3,2,2,2,0],[0,3,4,2,2,0]],\"min_steps\":11},{\"id\":\"7029\",\"map\":[[0,0,1,0,0,0],[3,3,0,0,3,2],[3,0,0,0,2,0],[0,2,0,2,2,0],[2,3,3,3,0,3],[3,2,2,3,0,0],[2,0,3,0,0,3],[3,2,0,0,0,3],[4,2,0,0,3,2]],\"min_steps\":11},{\"id\":\"7008\",\"map\":[[1,0,0,0,2,0],[3,3,2,0,3,0],[3,0,3,0,0,0],[0,0,3,0,0,3],[2,2,0,3,0,3],[2,0,2,0,0,0],[2,0,2,0,0,2],[2,0,0,2,0,0],[4,3,0,0,0,2]],\"min_steps\":12},{\"id\":\"7010\",\"map\":[[4,3,0,3,1,0],[0,0,3,3,0,0],[0,3,0,0,2,2],[2,0,3,0,0,2],[3,2,0,2,3,0],[0,0,0,0,0,0],[0,2,0,2,2,0],[0,2,0,3,0,2],[0,2,0,0,0,3]],\"min_steps\":12},{\"id\":\"7016\",\"map\":[[2,3,4,0,0,3],[0,3,2,2,3,1],[0,2,2,3,0,0],[3,0,3,0,2,0],[3,0,0,0,2,2],[0,0,3,3,0,0],[0,3,0,3,2,0],[0,0,3,0,3,2],[0,2,2,3,0,0]],\"min_steps\":12},{\"id\":\"7020\",\"map\":[[2,3,0,4,3,3],[3,3,0,0,3,0],[0,2,0,3,2,0],[0,3,0,0,0,2],[3,2,0,0,0,0],[0,0,3,2,0,3],[0,3,0,3,2,0],[3,2,2,0,0,2],[0,0,2,1,3,2]],\"min_steps\":12},{\"id\":\"7024\",\"map\":[[1,3,2,0,0,3],[2,3,2,0,0,0],[0,2,3,0,3,3],[3,0,0,2,0,3],[2,3,0,0,0,3],[3,3,0,0,0,0],[2,0,3,0,0,2],[0,0,2,0,2,2],[4,2,3,0,3,0]],\"min_steps\":12},{\"id\":\"7032\",\"map\":[[0,0,0,0,3,4],[0,0,3,3,3,2],[2,2,3,3,0,0],[0,0,3,2,0,0],[0,2,0,2,3,2],[0,2,3,0,0,3],[2,3,3,0,0,2],[1,0,3,0,3,2],[0,0,3,0,0,2]],\"min_steps\":12},{\"id\":\"7033\",\"map\":[[1,0,0,3,0,3],[3,3,2,0,2,0],[0,3,3,2,0,2],[3,2,0,3,0,0],[4,2,2,2,0,0],[0,3,0,0,0,0],[3,3,3,0,0,2],[3,0,3,2,0,3],[2,0,0,0,0,2]],\"min_steps\":12},{\"id\":\"7035\",\"map\":[[3,0,0,2,0,4],[3,0,2,3,3,3],[0,0,2,3,0,2],[3,0,3,3,3,0],[2,2,0,0,0,0],[2,2,3,0,0,0],[0,0,2,3,0,0],[0,2,0,3,2,3],[0,0,3,1,2,0]],\"min_steps\":12},{\"id\":\"7036\",\"map\":[[2,3,1,0,0,2],[0,3,0,0,0,0],[2,0,2,0,0,3],[0,0,3,3,0,3],[0,2,2,0,0,3],[0,3,2,3,3,0],[0,3,2,0,0,2],[0,3,2,0,2,3],[2,0,3,3,4,0]],\"min_steps\":12},{\"id\":\"7037\",\"map\":[[2,0,0,0,0,3],[0,2,3,0,2,2],[0,0,3,0,2,0],[0,2,2,0,0,0],[3,2,3,0,0,3],[0,0,3,3,0,3],[3,2,3,0,0,3],[0,0,3,3,2,0],[4,3,1,2,0,2]],\"min_steps\":12},{\"id\":\"7039\",\"map\":[[2,0,3,3,2,0],[0,0,0,0,2,3],[1,3,0,0,0,2],[0,2,3,2,2,2],[0,0,3,0,0,0],[0,3,0,0,3,0],[3,0,0,2,3,2],[2,0,3,0,2,3],[0,4,3,0,3,3]],\"min_steps\":12},{\"id\":\"7040\",\"map\":[[0,2,3,3,4,0],[0,2,0,0,3,2],[0,0,3,0,2,0],[3,0,2,0,0,3],[2,0,0,3,0,3],[3,3,0,2,2,0],[2,2,3,0,2,0],[1,3,0,0,2,3],[0,0,0,3,0,3]],\"min_steps\":12},{\"id\":\"7041\",\"map\":[[3,3,0,2,3,1],[0,3,3,2,0,2],[0,2,0,0,0,0],[0,0,0,0,0,0],[3,3,3,2,3,0],[0,3,3,2,3,2],[4,0,3,0,2,0],[2,2,2,0,0,0],[0,3,2,0,3,0]],\"min_steps\":12},{\"id\":\"7004\",\"map\":[[2,0,0,2,0,0],[0,3,0,0,0,1],[0,2,0,0,0,0],[0,0,0,0,2,0],[0,0,3,3,3,2],[0,0,0,3,2,3],[0,0,2,0,0,3],[0,2,3,2,2,4],[3,2,2,0,3,0]],\"min_steps\":13},{\"id\":\"7009\",\"map\":[[4,0,3,1,0,2],[0,2,3,3,3,0],[0,2,3,2,2,0],[3,0,3,0,0,2],[0,0,0,0,0,0],[3,2,0,0,2,0],[3,2,0,0,2,0],[0,0,2,2,2,0],[0,0,0,0,3,0]],\"min_steps\":13},{\"id\":\"7014\",\"map\":[[3,4,2,3,0,0],[2,3,0,3,0,0],[0,2,2,0,0,0],[0,3,3,0,3,3],[0,0,0,0,0,0],[3,2,0,0,2,2],[2,2,2,2,0,3],[0,0,3,3,0,3],[1,2,0,3,3,0]],\"min_steps\":13},{\"id\":\"7015\",\"map\":[[2,3,4,0,3,0],[1,2,3,2,3,0],[0,0,3,0,2,0],[2,0,0,3,0,0],[2,2,0,2,0,3],[0,0,2,0,0,0],[3,0,0,3,3,0],[0,0,3,0,2,3],[3,0,3,2,3,2]],\"min_steps\":13},{\"id\":\"7025\",\"map\":[[2,3,1,0,3,3],[0,0,2,3,2,0],[0,2,0,0,0,3],[0,3,0,0,0,3],[2,0,0,3,2,0],[0,0,2,3,0,2],[2,0,3,2,0,3],[3,3,0,0,3,3],[2,4,0,2,0,0]],\"min_steps\":13},{\"id\":\"7030\",\"map\":[[2,0,1,2,0,0],[0,2,3,3,0,2],[2,3,3,3,0,2],[3,0,0,2,2,0],[0,3,0,3,2,0],[0,0,2,0,2,3],[3,3,0,3,3,2],[4,3,0,0,0,0],[0,0,0,0,0,3]],\"min_steps\":13},{\"id\":\"7031\",\"map\":[[0,2,2,3,4,2],[3,3,0,0,2,2],[0,0,0,3,2,0],[0,3,0,0,3,3],[0,2,0,2,3,0],[2,3,0,0,0,0],[3,3,0,3,0,2],[0,0,2,3,3,3],[1,0,2,0,0,0]],\"min_steps\":13},{\"id\":\"7038\",\"map\":[[4,2,3,3,2,3],[0,3,0,2,3,0],[0,0,0,2,0,2],[3,3,2,3,0,0],[0,3,0,3,2,3],[0,2,2,2,0,0],[1,3,0,0,3,0],[2,0,0,0,3,2],[0,0,3,0,0,0]],\"min_steps\":13},{\"id\":\"7011\",\"map\":[[0,1,0,0,2,0],[3,0,3,3,2,3],[0,3,3,2,0,0],[0,0,2,0,3,3],[2,3,2,0,0,0],[3,2,2,3,3,0],[2,0,2,2,0,4],[0,2,0,3,0,0],[0,0,0,3,0,3]],\"min_steps\":14},{\"id\":\"7017\",\"map\":[[2,0,0,3,0,3],[4,3,0,2,0,3],[3,0,0,0,3,0],[2,0,0,2,0,0],[3,0,0,3,0,0],[2,3,0,2,2,2],[1,3,3,0,2,2],[0,3,0,0,3,0],[0,2,0,3,3,2]],\"min_steps\":14},{\"id\":\"7019\",\"map\":[[0,3,0,2,3,1],[0,3,0,2,0,2],[0,2,2,0,3,3],[0,0,3,2,0,3],[0,0,3,2,2,0],[2,2,3,0,2,2],[0,3,0,0,3,0],[3,0,0,3,3,0],[0,0,0,3,0,4]],\"min_steps\":14},{\"id\":\"7021\",\"map\":[[0,0,0,0,2,4],[3,0,2,0,0,0],[3,0,2,3,3,3],[2,0,3,3,3,0],[2,0,0,0,2,3],[3,3,0,0,0,2],[1,0,3,0,2,2],[2,2,0,2,0,0],[0,0,3,3,0,3]],\"min_steps\":14},{\"id\":\"7022\",\"map\":[[4,0,0,0,0,0],[0,0,0,0,3,2],[3,3,2,3,3,2],[2,0,0,0,0,2],[0,0,3,0,3,3],[2,0,2,3,2,1],[3,2,3,0,0,3],[2,0,0,3,2,2],[3,3,0,0,0,0]],\"min_steps\":15},{\"id\":\"7028\",\"map\":[[0,2,1,3,0,2],[0,3,3,3,0,2],[0,0,0,3,0,2],[3,0,0,3,2,4],[2,0,0,3,2,2],[2,2,3,0,0,3],[0,2,0,0,0,0],[0,3,3,3,2,0],[0,3,0,3,0,0]],\"min_steps\":16},{\"id\":\"7034\",\"map\":[[1,0,0,3,2,0],[0,2,2,3,3,0],[3,0,0,2,0,3],[2,3,2,2,0,3],[0,0,3,0,0,3],[3,0,0,0,3,0],[2,3,0,3,2,4],[0,3,0,0,0,3],[0,2,0,0,2,2]],\"min_steps\":16},{\"id\":\"7012\",\"map\":[[1,3,3,3,0,0],[0,3,0,2,0,0],[0,0,0,3,0,2],[3,0,0,3,2,3],[0,0,2,0,0,3],[0,0,2,3,2,0],[2,2,3,2,3,2],[0,3,0,2,0,2],[0,3,4,3,0,0]],\"min_steps\":17},{\"id\":\"7013\",\"map\":[[0,1,0,0,3,3],[0,2,0,3,0,0],[2,3,0,0,0,0],[0,0,0,3,0,3],[0,3,0,2,3,2],[2,0,3,3,2,0],[0,2,2,3,0,2],[2,3,2,0,3,0],[0,3,3,0,2,4]],\"min_steps\":17},{\"id\":\"7018\",\"map\":[[0,0,0,0,0,2],[1,0,3,3,0,2],[3,3,0,3,2,3],[0,3,0,2,0,0],[0,3,0,0,2,2],[3,0,0,2,3,0],[0,3,3,3,0,0],[2,0,3,0,0,2],[2,4,2,0,3,2]],\"min_steps\":17}]]\r\n\r\n\r\n this.LEVEL_INFO.unshift([{\"id\":\"0001\",\"map\":[[3, 2, 2, 0, 2],[0, 0, 3, 3, 0],[1, 3, 0, 3, 2],[3, 0, 2, 3, 4],[3, 2, 3, 3, 2]],\"min_steps\":4}]);\r\n \r\n\r\n \r\n \r\n }\r\n\r\n\r\n static Authentication(){\r\n cc.fx.GameTool.Authentication();\r\n }\r\n}\r\n\r\n"]} \ No newline at end of file +{"version":3,"sources":["assets\\Script\\module\\Config\\GameConfig.ts"],"names":[],"mappings":"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AAC,EAAC,EAAC,IAAI,EAAC,MAAM,EAAC,KAAK,EAAC,CAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,CAAC,EAAC,WAAW,EAAC,CAAC,EAAC,EAAC,EAAC,IAAI,EAAC,MAAM,EAAC,KAAK,EAAC,CAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,CAAC,EAAC,WAAW,EAAC,CAAC,EAAC,EAAC,EAAC,IAAI,EAAC,MAAM,EAAC,KAAK,EAAC,CAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,CAAC,EAAC,WAAW,EAAC,CAAC,EAAC,EAAC,EAAC,IAAI,EAAC,MAAM,EAAC,KAAK,EAAC,CAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,CAAC,EAAC,WAAW,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,IAAI,EAAC,MAAM,EAAC,KAAK,EAAC,CAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,CAAC,EAAC,WAAW,EAAC,CAAC,EAAC,EAAC,EAAC,IAAI,EAAC,MAAM,EAAC,KAAK,EAAC,CAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,CAAC,EAAC,WAAW,EAAC,CAAC,EAAC,EAAC,EAAC,IAAI,EAAC,MAAM,EAAC,KAAK,EAAC,CAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,CAAC,EAAC,WAAW,EAAC,CAAC,EAAC,EAAC,EAAC,IAAI,EAAC,MAAM,EAAC,KAAK,EAAC,CAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,CAAC,EAAC,WAAW,EAAC,CAAC,EAAC,EAAC,EAAC,IAAI,EAAC,MAAM,EAAC,KAAK,EAAC,CAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,CAAC,EAAC,WAAW,EAAC,CAAC,EAAC,EAAC,EAAC,IAAI,EAAC,MAAM,EAAC,KAAK,EAAC,CAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,CAAC,EAAC,WAAW,EAAC,CAAC,EAAC,EAAC,EAAC,IAAI,EAAC,MAAM,EAAC,KAAK,EAAC,CAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,CAAC,EAAC,WAAW,EAAC,CAAC,EAAC,EAAC,EAAC,IAAI,EAAC,MAAM,EAAC,KAAK,EAAC,CAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,CAAC,EAAC,WAAW,EAAC,CAAC,EAAC,EAAC,EAAC,IAAI,EAAC,MAAM,EAAC,KAAK,EAAC,CAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,CAAC,EAAC,WAAW,EAAC,CAAC,EAAC,EAAC,EAAC,IAAI,EAAC,MAAM,EAAC,KAAK,EAAC,CAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,CAAC,EAAC,WAAW,EAAC,CAAC,EAAC,EAAC,EAAC,IAAI,EAAC,MAAM,EAAC,KAAK,EAAC,CAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,CAAC,EAAC,WAAW,EAAC,CAAC,EAAC,EAAC,EAAC,IAAI,EAAC,MAAM,EAAC,KAAK,EAAC,CAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,CAAC,EAAC,WAAW,EAAC,CAAC,EAAC,EAAC,EAAC,IAAI,EAAC,MAAM,EAAC,KAAK,EAAC,CAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,CAAC,EAAC,WAAW,EAAC,CAAC,EAAC,EAAC,EAAC,IAAI,EAAC,MAAM,EAAC,KAAK,EAAC,CAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,CAAC,EAAC,WAAW,EAAC,CAAC,EAAC,EAAC,EAAC,IAAI,EAAC,MAAM,EAAC,KAAK,EAAC,CAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,CAAC,EAAC,WAAW,EAAC,CAAC,EAAC,EAAC,EAAC,IAAI,EAAC,MAAM,EAAC,KAAK,EAAC,CAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,CAAC,EAAC,WAAW,EAAC,CAAC,EAAC,EAAC,EAAC,IAAI,EAAC,MAAM,EAAC,KAAK,EAAC,CAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,CAAC,EAAC,WAAW,EAAC,CAAC,EAAC,EAAC,EAAC,IAAI,EAAC,MAAM,EAAC,KAAK,EAAC,CAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,CAAC,EAAC,WAAW,EAAC,CAAC,EAAC,EAAC,EAAC,IAAI,EAAC,MAAM,EAAC,KAAK,EAAC,CAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,CAAC,EAAC,WAAW,EAAC,CAAC,EAAC,EAAC,EAAC,IAAI,EAAC,MAAM,EAAC,KAAK,EAAC,CAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,CAAC,EAAC,WAAW,EAAC,CAAC,EAAC,EAAC,EAAC,IAAI,EAAC,MAAM,EAAC,KAAK,EAAC,CAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,CAAC,EAAC,WAAW,EAAC,CAAC,EAAC,EAAC,EAAC,IAAI,EAAC,MAAM,EAAC,KAAK,EAAC,CAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,CAAC,EAAC,WAAW,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,IAAI,EAAC,MAAM,EAAC,KAAK,EAAC,CAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,CAAC,EAAC,WAAW,EAAC,CAAC,EAAC,EAAC,EAAC,IAAI,EAAC,MAAM,EAAC,KAAK,EAAC,CAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,CAAC,EAAC,WAAW,EAAC,CAAC,EAAC,EAAC,EAAC,IAAI,EAAC,MAAM,EAAC,KAAK,EAAC,CAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,CAAC,EAAC,WAAW,EAAC,CAAC,EAAC,EAAC,EAAC,IAAI,EAAC,MAAM,EAAC,KAAK,EAAC,CAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,CAAC,EAAC,WAAW,EAAC,CAAC,EAAC,EAAC,EAAC,IAAI,EAAC,MAAM,EAAC,KAAK,EAAC,CAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,CAAC,EAAC,WAAW,EAAC,CAAC,EAAC,EAAC,EAAC,IAAI,EAAC,MAAM,EAAC,KAAK,EAAC,CAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,CAAC,EAAC,WAAW,EAAC,CAAC,EAAC,EAAC,EAAC,IAAI,EAAC,MAAM,EAAC,KAAK,EAAC,CAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,CAAC,EAAC,WAAW,EAAC,CAAC,EAAC,EAAC,EAAC,IAAI,EAAC,MAAM,EAAC,KAAK,EAAC,CAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,CAAC,EAAC,WAAW,EAAC,CAAC,EAAC,EAAC,EAAC,IAAI,EAAC,MAAM,EAAC,KAAK,EAAC,CAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,CAAC,EAAC,WAAW,EAAC,CAAC,EAAC,EAAC,EAAC,IAAI,EAAC,MAAM,EAAC,KAAK,EAAC,CAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,CAAC,EAAC,WAAW,EAAC,CAAC,EAAC,EAAC,EAAC,IAAI,EAAC,MAAM,EAAC,KAAK,EAAC,CAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,CAAC,EAAC,WAAW,EAAC,CAAC,EAAC,EAAC,EAAC,IAAI,EAAC,MAAM,EAAC,KAAK,EAAC,CAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,CAAC,EAAC,WAAW,EAAC,CAAC,EAAC,EAAC,EAAC,IAAI,EAAC,MAAM,EAAC,KAAK,EAAC,CAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,CAAC,EAAC,WAAW,EAAC,CAAC,EAAC,EAAC,EAAC,IAAI,EAAC,MAAM,EAAC,KAAK,EAAC,CAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,CAAC,EAAC,WAAW,EAAC,CAAC,EAAC,EAAC,EAAC,IAAI,EAAC,MAAM,EAAC,KAAK,EAAC,CAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,CAAC,EAAC,WAAW,EAAC,CAAC,EAAC,EAAC,EAAC,IAAI,EAAC,MAAM,EAAC,KAAK,EAAC,CAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,CAAC,EAAC,WAAW,EAAC,CAAC,EAAC,EAAC,EAAC,IAAI,EAAC,MAAM,EAAC,KAAK,EAAC,CAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,CAAC,EAAC,WAAW,EAAC,CAAC,EAAC,EAAC,EAAC,IAAI,EAAC,MAAM,EAAC,KAAK,EAAC,CAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,CAAC,EAAC,WAAW,EAAC,CAAC,EAAC,EAAC,EAAC,IAAI,EAAC,MAAM,EAAC,KAAK,EAAC,CAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,CAAC,EAAC,WAAW,EAAC,CAAC,EAAC,EAAC,EAAC,IAAI,EAAC,MAAM,EAAC,KAAK,EAAC,CAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,CAAC,EAAC,WAAW,EAAC,CAAC,EAAC,EAAC,EAAC,IAAI,EAAC,MAAM,EAAC,KAAK,EAAC,CAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,CAAC,EAAC,WAAW,EAAC,CAAC,EAAC,EAAC,EAAC,IAAI,EAAC,MAAM,EAAC,KAAK,EAAC,CAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,CAAC,EAAC,WAAW,EAAC,CAAC,EAAC,EAAC,EAAC,IAAI,EAAC,MAAM,EAAC,KAAK,EAAC,CAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,CAAC,EAAC,WAAW,EAAC,CAAC,EAAC,EAAC,EAAC,IAAI,EAAC,MAAM,EAAC,KAAK,EAAC,CAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,CAAC,EAAC,WAAW,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,IAAI,EAAC,MAAM,EAAC,KAAK,EAAC,CAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,CAAC,EAAC,WAAW,EAAC,CAAC,EAAC,EAAC,EAAC,IAAI,EAAC,MAAM,EAAC,KAAK,EAAC,CAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,CAAC,EAAC,WAAW,EAAC,CAAC,EAAC,EAAC,EAAC,IAAI,EAAC,MAAM,EAAC,KAAK,EAAC,CAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,CAAC,EAAC,WAAW,EAAC,CAAC,EAAC,EAAC,EAAC,IAAI,EAAC,MAAM,EAAC,KAAK,EAAC,CAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,CAAC,EAAC,WAAW,EAAC,CAAC,EAAC,EAAC,EAAC,IAAI,EAAC,MAAM,EAAC,KAAK,EAAC,CAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,CAAC,EAAC,WAAW,EAAC,CAAC,EAAC,EAAC,EAAC,IAAI,EAAC,MAAM,EAAC,KAAK,EAAC,CAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,CAAC,EAAC,WAAW,EAAC,CAAC,EAAC,EAAC,EAAC,IAAI,EAAC,MAAM,EAAC,KAAK,EAAC,CAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,CAAC,EAAC,WAAW,EAAC,CAAC,EAAC,EAAC,EAAC,IAAI,EAAC,MAAM,EAAC,KAAK,EAAC,CAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,CAAC,EAAC,WAAW,EAAC,CAAC,EAAC,EAAC,EAAC,IAAI,EAAC,MAAM,EAAC,KAAK,EAAC,CAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,CAAC,EAAC,WAAW,EAAC,CAAC,EAAC,EAAC,EAAC,IAAI,EAAC,MAAM,EAAC,KAAK,EAAC,CAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,CAAC,EAAC,WAAW,EAAC,CAAC,EAAC,EAAC,EAAC,IAAI,EAAC,MAAM,EAAC,KAAK,EAAC,CAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,CAAC,EAAC,WAAW,EAAC,CAAC,EAAC,EAAC,EAAC,IAAI,EAAC,MAAM,EAAC,KAAK,EAAC,CAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,CAAC,EAAC,WAAW,EAAC,CAAC,EAAC,EAAC,EAAC,IAAI,EAAC,MAAM,EAAC,KAAK,EAAC,CAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,CAAC,EAAC,WAAW,EAAC,CAAC,EAAC,EAAC,EAAC,IAAI,EAAC,MAAM,EAAC,KAAK,EAAC,CAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,CAAC,EAAC,WAAW,EAAC,CAAC,EAAC,EAAC,EAAC,IAAI,EAAC,MAAM,EAAC,KAAK,EAAC,CAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,CAAC,EAAC,WAAW,EAAC,CAAC,EAAC,EAAC,EAAC,IAAI,EAAC,MAAM,EAAC,KAAK,EAAC,CAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,CAAC,EAAC,WAAW,EAAC,CAAC,EAAC,EAAC,EAAC,IAAI,EAAC,MAAM,EAAC,KAAK,EAAC,CAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,CAAC,EAAC,WAAW,EAAC,CAAC,EAAC,EAAC,EAAC,IAAI,EAAC,MAAM,EAAC,KAAK,EAAC,CAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,CAAC,EAAC,WAAW,EAAC,CAAC,EAAC,EAAC,EAAC,IAAI,EAAC,MAAM,EAAC,KAAK,EAAC,CAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,CAAC,EAAC,WAAW,EAAC,CAAC,EAAC,EAAC,EAAC,IAAI,EAAC,MAAM,EAAC,KAAK,EAAC,CAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,CAAC,EAAC,WAAW,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,IAAI,EAAC,MAAM,EAAC,KAAK,EAAC,CAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,CAAC,EAAC,WAAW,EAAC,CAAC,EAAC,EAAC,EAAC,IAAI,EAAC,MAAM,EAAC,KAAK,EAAC,CAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,CAAC,EAAC,WAAW,EAAC,CAAC,EAAC,EAAC,EAAC,IAAI,EAAC,MAAM,EAAC,KAAK,EAAC,CAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,CAAC,EAAC,WAAW,EAAC,CAAC,EAAC,EAAC,EAAC,IAAI,EAAC,MAAM,EAAC,KAAK,EAAC,CAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,CAAC,EAAC,WAAW,EAAC,CAAC,EAAC,EAAC,EAAC,IAAI,EAAC,MAAM,EAAC,KAAK,EAAC,CAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,CAAC,EAAC,WAAW,EAAC,CAAC,EAAC,EAAC,EAAC,IAAI,EAAC,MAAM,EAAC,KAAK,EAAC,CAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,CAAC,EAAC,WAAW,EAAC,CAAC,EAAC,EAAC,EAAC,IAAI,EAAC,MAAM,EAAC,KAAK,EAAC,CAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,CAAC,EAAC,WAAW,EAAC,CAAC,EAAC,EAAC,EAAC,IAAI,EAAC,MAAM,EAAC,KAAK,EAAC,CAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,CAAC,EAAC,WAAW,EAAC,CAAC,EAAC,EAAC,EAAC,IAAI,EAAC,MAAM,EAAC,KAAK,EAAC,CAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,CAAC,EAAC,WAAW,EAAC,CAAC,EAAC,EAAC,EAAC,IAAI,EAAC,MAAM,EAAC,KAAK,EAAC,CAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,CAAC,EAAC,WAAW,EAAC,CAAC,EAAC,EAAC,EAAC,IAAI,EAAC,MAAM,EAAC,KAAK,EAAC,CAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,CAAC,EAAC,WAAW,EAAC,CAAC,EAAC,EAAC,EAAC,IAAI,EAAC,MAAM,EAAC,KAAK,EAAC,CAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,CAAC,EAAC,WAAW,EAAC,CAAC,EAAC,EAAC,EAAC,IAAI,EAAC,MAAM,EAAC,KAAK,EAAC,CAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,CAAC,EAAC,WAAW,EAAC,CAAC,EAAC,EAAC,EAAC,IAAI,EAAC,MAAM,EAAC,KAAK,EAAC,CAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,CAAC,EAAC,WAAW,EAAC,CAAC,EAAC,EAAC,EAAC,IAAI,EAAC,MAAM,EAAC,KAAK,EAAC,CAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,CAAC,EAAC,WAAW,EAAC,CAAC,EAAC,EAAC,EAAC,IAAI,EAAC,MAAM,EAAC,KAAK,EAAC,CAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,CAAC,EAAC,WAAW,EAAC,CAAC,EAAC,EAAC,EAAC,IAAI,EAAC,MAAM,EAAC,KAAK,EAAC,CAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,CAAC,EAAC,WAAW,EAAC,CAAC,EAAC,EAAC,EAAC,IAAI,EAAC,MAAM,EAAC,KAAK,EAAC,CAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,CAAC,EAAC,WAAW,EAAC,CAAC,EAAC,EAAC,EAAC,IAAI,EAAC,MAAM,EAAC,KAAK,EAAC,CAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,CAAC,EAAC,WAAW,EAAC,CAAC,EAAC,EAAC,EAAC,IAAI,EAAC,MAAM,EAAC,KAAK,EAAC,CAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,CAAC,EAAC,WAAW,EAAC,CAAC,EAAC,EAAC,EAAC,IAAI,EAAC,MAAM,EAAC,KAAK,EAAC,CAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,CAAC,EAAC,WAAW,EAAC,EAAE,EAAC,EAAC,EAAC,IAAI,EAAC,MAAM,EAAC,KAAK,EAAC,CAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,CAAC,EAAC,WAAW,EAAC,EAAE,EAAC,EAAC,EAAC,IAAI,EAAC,MAAM,EAAC,KAAK,EAAC,CAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,CAAC,EAAC,WAAW,EAAC,EAAE,EAAC,EAAC,EAAC,IAAI,EAAC,MAAM,EAAC,KAAK,EAAC,CAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,CAAC,EAAC,WAAW,EAAC,EAAE,EAAC,EAAC,EAAC,IAAI,EAAC,MAAM,EAAC,KAAK,EAAC,CAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,CAAC,EAAC,WAAW,EAAC,EAAE,EAAC,EAAC,EAAC,IAAI,EAAC,MAAM,EAAC,KAAK,EAAC,CAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,CAAC,EAAC,WAAW,EAAC,EAAE,EAAC,EAAC,EAAC,IAAI,EAAC,MAAM,EAAC,KAAK,EAAC,CAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,CAAC,EAAC,WAAW,EAAC,EAAE,EAAC,EAAC,EAAC,IAAI,EAAC,MAAM,EAAC,KAAK,EAAC,CAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,CAAC,EAAC,WAAW,EAAC,EAAE,EAAC,EAAC,EAAC,IAAI,EAAC,MAAM,EAAC,KAAK,EAAC,CAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,CAAC,EAAC,WAAW,EAAC,EAAE,EAAC,EAAC,EAAC,IAAI,EAAC,MAAM,EAAC,KAAK,EAAC,CAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,CAAC,EAAC,WAAW,EAAC,EAAE,EAAC,CAAC,EAAC,CAAC,EAAC,IAAI,EAAC,MAAM,EAAC,KAAK,EAAC,CAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,CAAC,EAAC,WAAW,EAAC,CAAC,EAAC,EAAC,EAAC,IAAI,EAAC,MAAM,EAAC,KAAK,EAAC,CAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,CAAC,EAAC,WAAW,EAAC,CAAC,EAAC,EAAC,EAAC,IAAI,EAAC,MAAM,EAAC,KAAK,EAAC,CAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,CAAC,EAAC,WAAW,EAAC,CAAC,EAAC,EAAC,EAAC,IAAI,EAAC,MAAM,EAAC,KAAK,EAAC,CAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,CAAC,EAAC,WAAW,EAAC,CAAC,EAAC,EAAC,EAAC,IAAI,EAAC,MAAM,EAAC,KAAK,EAAC,CAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,CAAC,EAAC,WAAW,EAAC,CAAC,EAAC,EAAC,EAAC,IAAI,EAAC,MAAM,EAAC,KAAK,EAAC,CAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,CAAC,EAAC,WAAW,EAAC,CAAC,EAAC,EAAC,EAAC,IAAI,EAAC,MAAM,EAAC,KAAK,EAAC,CAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,CAAC,EAAC,WAAW,EAAC,EAAE,EAAC,EAAC,EAAC,IAAI,EAAC,MAAM,EAAC,KAAK,EAAC,CAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,CAAC,EAAC,WAAW,EAAC,EAAE,EAAC,EAAC,EAAC,IAAI,EAAC,MAAM,EAAC,KAAK,EAAC,CAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,CAAC,EAAC,WAAW,EAAC,EAAE,EAAC,EAAC,EAAC,IAAI,EAAC,MAAM,EAAC,KAAK,EAAC,CAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,CAAC,EAAC,WAAW,EAAC,EAAE,EAAC,EAAC,EAAC,IAAI,EAAC,MAAM,EAAC,KAAK,EAAC,CAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,CAAC,EAAC,WAAW,EAAC,EAAE,EAAC,EAAC,EAAC,IAAI,EAAC,MAAM,EAAC,KAAK,EAAC,CAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,CAAC,EAAC,WAAW,EAAC,EAAE,EAAC,EAAC,EAAC,IAAI,EAAC,MAAM,EAAC,KAAK,EAAC,CAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,CAAC,EAAC,WAAW,EAAC,EAAE,EAAC,EAAC,EAAC,IAAI,EAAC,MAAM,EAAC,KAAK,EAAC,CAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,CAAC,EAAC,WAAW,EAAC,EAAE,EAAC,EAAC,EAAC,IAAI,EAAC,MAAM,EAAC,KAAK,EAAC,CAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,CAAC,EAAC,WAAW,EAAC,EAAE,EAAC,EAAC,EAAC,IAAI,EAAC,MAAM,EAAC,KAAK,EAAC,CAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,CAAC,EAAC,WAAW,EAAC,EAAE,EAAC,EAAC,EAAC,IAAI,EAAC,MAAM,EAAC,KAAK,EAAC,CAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,CAAC,EAAC,WAAW,EAAC,EAAE,EAAC,EAAC,EAAC,IAAI,EAAC,MAAM,EAAC,KAAK,EAAC,CAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,CAAC,EAAC,WAAW,EAAC,EAAE,EAAC,EAAC,EAAC,IAAI,EAAC,MAAM,EAAC,KAAK,EAAC,CAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,CAAC,EAAC,WAAW,EAAC,EAAE,EAAC,EAAC,EAAC,IAAI,EAAC,MAAM,EAAC,KAAK,EAAC,CAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,CAAC,EAAC,WAAW,EAAC,EAAE,EAAC,EAAC,EAAC,IAAI,EAAC,MAAM,EAAC,KAAK,EAAC,CAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,CAAC,EAAC,WAAW,EAAC,EAAE,EAAC,EAAC,EAAC,IAAI,EAAC,MAAM,EAAC,KAAK,EAAC,CAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,CAAC,EAAC,WAAW,EAAC,EAAE,EAAC,EAAC,EAAC,IAAI,EAAC,MAAM,EAAC,KAAK,EAAC,CAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,CAAC,EAAC,WAAW,EAAC,EAAE,EAAC,EAAC,EAAC,IAAI,EAAC,MAAM,EAAC,KAAK,EAAC,CAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,CAAC,EAAC,WAAW,EAAC,EAAE,EAAC,EAAC,EAAC,IAAI,EAAC,MAAM,EAAC,KAAK,EAAC,CAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,CAAC,EAAC,WAAW,EAAC,EAAE,EAAC,EAAC,EAAC,IAAI,EAAC,MAAM,EAAC,KAAK,EAAC,CAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,CAAC,EAAC,WAAW,EAAC,EAAE,EAAC,EAAC,EAAC,IAAI,EAAC,MAAM,EAAC,KAAK,EAAC,CAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,CAAC,EAAC,WAAW,EAAC,EAAE,EAAC,EAAC,EAAC,IAAI,EAAC,MAAM,EAAC,KAAK,EAAC,CAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,CAAC,EAAC,WAAW,EAAC,EAAE,EAAC,EAAC,EAAC,IAAI,EAAC,MAAM,EAAC,KAAK,EAAC,CAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,CAAC,EAAC,WAAW,EAAC,EAAE,EAAC,EAAC,EAAC,IAAI,EAAC,MAAM,EAAC,KAAK,EAAC,CAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,CAAC,EAAC,WAAW,EAAC,EAAE,EAAC,EAAC,EAAC,IAAI,EAAC,MAAM,EAAC,KAAK,EAAC,CAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,CAAC,EAAC,WAAW,EAAC,EAAE,EAAC,CAAC,EAAC,CAAC,EAAC,IAAI,EAAC,MAAM,EAAC,KAAK,EAAC,CAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,CAAC,EAAC,WAAW,EAAC,CAAC,EAAC,EAAC,EAAC,IAAI,EAAC,MAAM,EAAC,KAAK,EAAC,CAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,CAAC,EAAC,WAAW,EAAC,CAAC,EAAC,EAAC,EAAC,IAAI,EAAC,MAAM,EAAC,KAAK,EAAC,CAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,CAAC,EAAC,WAAW,EAAC,EAAE,EAAC,EAAC,EAAC,IAAI,EAAC,MAAM,EAAC,KAAK,EAAC,CAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,CAAC,EAAC,WAAW,EAAC,EAAE,EAAC,EAAC,EAAC,IAAI,EAAC,MAAM,EAAC,KAAK,EAAC,CAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,CAAC,EAAC,WAAW,EAAC,EAAE,EAAC,EAAC,EAAC,IAAI,EAAC,MAAM,EAAC,KAAK,EAAC,CAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,CAAC,EAAC,WAAW,EAAC,EAAE,EAAC,EAAC,EAAC,IAAI,EAAC,MAAM,EAAC,KAAK,EAAC,CAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,CAAC,EAAC,WAAW,EAAC,EAAE,EAAC,EAAC,EAAC,IAAI,EAAC,MAAM,EAAC,KAAK,EAAC,CAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,CAAC,EAAC,WAAW,EAAC,EAAE,EAAC,EAAC,EAAC,IAAI,EAAC,MAAM,EAAC,KAAK,EAAC,CAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,CAAC,EAAC,WAAW,EAAC,EAAE,EAAC,EAAC,EAAC,IAAI,EAAC,MAAM,EAAC,KAAK,EAAC,CAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,CAAC,EAAC,WAAW,EAAC,EAAE,EAAC,EAAC,EAAC,IAAI,EAAC,MAAM,EAAC,KAAK,EAAC,CAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,CAAC,EAAC,WAAW,EAAC,EAAE,EAAC,EAAC,EAAC,IAAI,EAAC,MAAM,EAAC,KAAK,EAAC,CAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,CAAC,EAAC,WAAW,EAAC,EAAE,EAAC,EAAC,EAAC,IAAI,EAAC,MAAM,EAAC,KAAK,EAAC,CAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,CAAC,EAAC,WAAW,EAAC,EAAE,EAAC,EAAC,EAAC,IAAI,EAAC,MAAM,EAAC,KAAK,EAAC,CAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,CAAC,EAAC,WAAW,EAAC,EAAE,EAAC,EAAC,EAAC,IAAI,EAAC,MAAM,EAAC,KAAK,EAAC,CAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,CAAC,EAAC,WAAW,EAAC,EAAE,EAAC,EAAC,EAAC,IAAI,EAAC,MAAM,EAAC,KAAK,EAAC,CAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,CAAC,EAAC,WAAW,EAAC,EAAE,EAAC,EAAC,EAAC,IAAI,EAAC,MAAM,EAAC,KAAK,EAAC,CAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,CAAC,EAAC,WAAW,EAAC,EAAE,EAAC,EAAC,EAAC,IAAI,EAAC,MAAM,EAAC,KAAK,EAAC,CAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,CAAC,EAAC,WAAW,EAAC,EAAE,EAAC,EAAC,EAAC,IAAI,EAAC,MAAM,EAAC,KAAK,EAAC,CAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,CAAC,EAAC,WAAW,EAAC,EAAE,EAAC,EAAC,EAAC,IAAI,EAAC,MAAM,EAAC,KAAK,EAAC,CAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,CAAC,EAAC,WAAW,EAAC,EAAE,EAAC,EAAC,EAAC,IAAI,EAAC,MAAM,EAAC,KAAK,EAAC,CAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,CAAC,EAAC,WAAW,EAAC,EAAE,EAAC,EAAC,EAAC,IAAI,EAAC,MAAM,EAAC,KAAK,EAAC,CAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,CAAC,EAAC,WAAW,EAAC,EAAE,EAAC,EAAC,EAAC,IAAI,EAAC,MAAM,EAAC,KAAK,EAAC,CAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,CAAC,EAAC,WAAW,EAAC,EAAE,EAAC,EAAC,EAAC,IAAI,EAAC,MAAM,EAAC,KAAK,EAAC,CAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,CAAC,EAAC,WAAW,EAAC,EAAE,EAAC,EAAC,EAAC,IAAI,EAAC,MAAM,EAAC,KAAK,EAAC,CAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,CAAC,EAAC,WAAW,EAAC,EAAE,EAAC,EAAC,EAAC,IAAI,EAAC,MAAM,EAAC,KAAK,EAAC,CAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,CAAC,EAAC,WAAW,EAAC,EAAE,EAAC,EAAC,EAAC,IAAI,EAAC,MAAM,EAAC,KAAK,EAAC,CAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,CAAC,EAAC,WAAW,EAAC,EAAE,EAAC,EAAC,EAAC,IAAI,EAAC,MAAM,EAAC,KAAK,EAAC,CAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,CAAC,EAAC,WAAW,EAAC,EAAE,EAAC,EAAC,EAAC,IAAI,EAAC,MAAM,EAAC,KAAK,EAAC,CAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,CAAC,EAAC,WAAW,EAAC,EAAE,EAAC,EAAC,EAAC,IAAI,EAAC,MAAM,EAAC,KAAK,EAAC,CAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,CAAC,EAAC,WAAW,EAAC,EAAE,EAAC,EAAC,EAAC,IAAI,EAAC,MAAM,EAAC,KAAK,EAAC,CAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,CAAC,EAAC,WAAW,EAAC,EAAE,EAAC,EAAC,EAAC,IAAI,EAAC,MAAM,EAAC,KAAK,EAAC,CAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,CAAC,EAAC,WAAW,EAAC,EAAE,EAAC,EAAC,EAAC,IAAI,EAAC,MAAM,EAAC,KAAK,EAAC,CAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,CAAC,EAAC,WAAW,EAAC,EAAE,EAAC,EAAC,EAAC,IAAI,EAAC,MAAM,EAAC,KAAK,EAAC,CAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,CAAC,EAAC,WAAW,EAAC,EAAE,EAAC,EAAC,EAAC,IAAI,EAAC,MAAM,EAAC,KAAK,EAAC,CAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,CAAC,EAAC,WAAW,EAAC,EAAE,EAAC,EAAC,EAAC,IAAI,EAAC,MAAM,EAAC,KAAK,EAAC,CAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,CAAC,EAAC,WAAW,EAAC,EAAE,EAAC,EAAC,EAAC,IAAI,EAAC,MAAM,EAAC,KAAK,EAAC,CAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,CAAC,EAAC,WAAW,EAAC,EAAE,EAAC,EAAC,EAAC,IAAI,EAAC,MAAM,EAAC,KAAK,EAAC,CAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,CAAC,EAAC,WAAW,EAAC,EAAE,EAAC,EAAC,EAAC,IAAI,EAAC,MAAM,EAAC,KAAK,EAAC,CAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,CAAC,EAAC,WAAW,EAAC,EAAE,EAAC,EAAC,EAAC,IAAI,EAAC,MAAM,EAAC,KAAK,EAAC,CAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,CAAC,EAAC,WAAW,EAAC,EAAE,EAAC,EAAC,EAAC,IAAI,EAAC,MAAM,EAAC,KAAK,EAAC,CAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,CAAC,EAAC,WAAW,EAAC,EAAE,EAAC,EAAC,EAAC,IAAI,EAAC,MAAM,EAAC,KAAK,EAAC,CAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,CAAC,EAAC,WAAW,EAAC,EAAE,EAAC,EAAC,EAAC,IAAI,EAAC,MAAM,EAAC,KAAK,EAAC,CAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,CAAC,EAAC,WAAW,EAAC,EAAE,EAAC,EAAC,EAAC,IAAI,EAAC,MAAM,EAAC,KAAK,EAAC,CAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,CAAC,EAAC,WAAW,EAAC,EAAE,EAAC,EAAC,EAAC,IAAI,EAAC,MAAM,EAAC,KAAK,EAAC,CAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,CAAC,EAAC,WAAW,EAAC,EAAE,EAAC,EAAC,EAAC,IAAI,EAAC,MAAM,EAAC,KAAK,EAAC,CAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,CAAC,EAAC,WAAW,EAAC,EAAE,EAAC,EAAC,EAAC,IAAI,EAAC,MAAM,EAAC,KAAK,EAAC,CAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,CAAC,EAAC,WAAW,EAAC,EAAE,EAAC,EAAC,EAAC,IAAI,EAAC,MAAM,EAAC,KAAK,EAAC,CAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,CAAC,EAAC,WAAW,EAAC,EAAE,EAAC,CAAC,CAAC,CAAA;QAG1tuB,IAAI,CAAC,UAAU,CAAC,OAAO,CAAC,CAAC,EAAC,IAAI,EAAC,MAAM,EAAC,KAAK,EAAC,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,EAAC,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,EAAC,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,EAAC,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,EAAC,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC,EAAC,WAAW,EAAC,CAAC,EAAC,CAAC,CAAC,CAAC;IAKnJ,CAAC;IAGM,yBAAc,GAArB;QACI,EAAE,CAAC,EAAE,CAAC,QAAQ,CAAC,cAAc,EAAE,CAAC;IACpC,CAAC;;IAtSD,0BAA0B;IACX,oBAAS,GAAgB,IAAI,CAAC;IAFpC,UAAU;QADtB,OAAO,CAAC,YAAY,CAAC;OACT,UAAU,CAwStB;IAAD,iBAAC;CAxSD,AAwSC,IAAA;AAxSY,gCAAU","file":"","sourceRoot":"/","sourcesContent":["import { WeChat } from \"../Share/share\";\r\nimport { GameTool } from \"../Tool/GameTool\";\r\n\r\n\r\nconst { ccclass, property } = cc._decorator;\r\n@ccclass('GameConfig')\r\nexport class GameConfig {\r\n //所有控制信息都通过GameAppStart内控制\r\n private static _instance : GameConfig = null;\r\n\r\n static GAME_DATA: any[];\r\n //关卡数据\r\n\r\n\r\n static LEVEL_INFO: { id: string; map: number[][]; min_steps: number}[][];\r\n static CUSTOM_INFO: {\r\n moveSpeed: number; //洪峰移动速度\r\n waitTime: number; //洪峰冲击倒计时\r\n fastPath: number; //最短路径\r\n }[];\r\n static TIME_INFO: {\r\n waterSpeed: number[]; //洪峰速度\r\n totalTime: number; //游戏总时长\r\n waterTime: number[]; //洪峰来的倒计时\r\n roadSpeed: number; //河道修筑速度\r\n ReinforceSpeed: number; //加固时间速度\r\n Xi_SoilSpeed: number;\r\n };\r\n //用于盛放埋点数据上传,每次上传后清空\r\n static CLICK_DATA: {\r\n type: number; //上传数据类型\r\n success: boolean; //此局游戏正确与否\r\n round: number; //回合数轮次\r\n getScore: number; //本轮得分,失败为0分\r\n cumulativeScore: number; //本剧游戏总计得分\r\n mapId: string; //地图ID\r\n difficulty: number; //地图难度\r\n optimizedSteps: number; //关卡最短步数\r\n usedSteps: number; //玩家修建总步数\r\n stepList: any[]; //U、D、L、R X 息壤 F 加固\r\n startTime: number; //从游戏开始到玩家操作的第一步截止时间 单位毫秒\r\n submitTime: number; //从第一步操作到提交时间,如果未提交为-1 单位毫秒\r\n duration: number; //游戏总用时(截止到提交) 单位毫秒\r\n drawingBack: number; //后退次数\r\n drawingReset: number; //清空次数\r\n timer: number; //游戏倒计时剩余时长 秒\r\n };\r\n static GM_INFO: {\r\n // isEnd: false,\r\n mean_Time: number; //平均放箭速度\r\n total: number; //总共对的个数\r\n currSeed: number; //用于随机数种子\r\n gameId: string; //游戏ID\r\n userId: number; //用户ID\r\n guide: boolean; //是否有引导\r\n url: string; //访问域名\r\n success: boolean; //用户游戏成功与否\r\n matchId: any; //用于埋点上传的ID\r\n custom: number; //用于测试跳关卡\r\n round: number; //回合数\r\n level: number; //具体游戏内进行到第几步 \r\n stepTimeList: number; //整局游戏用时,由于涉及场景切换,数据需要保留\r\n successList: any[]; //整局胜负\r\n fen: number; //小局得分\r\n score: number; //总得分\r\n igniteCount: number; //玩家总计成功点火数\r\n min_Steps: number; //每次上一把最小步数\r\n min_Time: number; //每一把上次距离洪峰到来时间\r\n };\r\n\r\n\r\n\r\n\r\n //游戏内信息\r\n\r\n\r\n\r\n static get Instance()\r\n {\r\n if (this._instance == null)\r\n {\r\n this._instance = new GameConfig();\r\n }\r\n return this._instance;\r\n }\r\n //getSeedRandom\r\n static init(Authentication){\r\n this.CLICK_init();\r\n this.LEVEL_INFO_init();\r\n this.GM_INFO_init();\r\n var self = this;\r\n // cc.resources.load('Json/CLICK_DATA', (err: any, res: cc.JsonAsset) => {\r\n // if (err) {\r\n // return;\r\n // }\r\n // let jsonData: object = res.json!;\r\n // self.CLICK_DATA = jsonData[\"data\"];\r\n // })\r\n // cc.resources.load('Json/LEVEL_INFO', (err: any, res: cc.JsonAsset) => {\r\n // if (err) {\r\n // return;\r\n // }\r\n \r\n // let jsonData: object = res.json!;\r\n // self.LEVEL_INFO = jsonData[\"data\"];\r\n // })\r\n // cc.resources.load('Json/GM_INFO', (err: any, res: cc.JsonAsset) => {\r\n // if (err) {\r\n // if(!Authentication) self.Authentication();\r\n // return;\r\n // }\r\n \r\n // let jsonData: object = res.json!;\r\n // self.GM_INFO = jsonData[\"data\"];\r\n // cc.fx.GameTool.getCustom(false);\r\n // if(!Authentication) self.Authentication();\r\n // })\r\n\r\n //GAME_DATA 废弃了,暂时不删除以防后面修改回 一整局传一次\r\n this.GAME_DATA = [\r\n ]\r\n this.CUSTOM_INFO = [\r\n //第一难度\r\n {\r\n moveSpeed: 0, //洪峰移动速度\r\n waitTime: 20, //洪峰冲击倒计时\r\n fastPath: 5 //最短路径\r\n },\r\n //第二难度\r\n {\r\n moveSpeed: 0, //洪峰移动速度\r\n waitTime: 20, //洪峰冲击倒计时\r\n fastPath: 5 //最短路径\r\n },\r\n //第三难度\r\n {\r\n moveSpeed: 0, //洪峰移动速度\r\n waitTime: 20, //洪峰冲击倒计时\r\n fastPath: 5 //最短路径\r\n },\r\n //第四难度\r\n {\r\n moveSpeed: 0, //洪峰移动速度\r\n waitTime: 20, //洪峰冲击倒计时\r\n fastPath: 5 //最短路径\r\n },\r\n //第五难度\r\n {\r\n moveSpeed: 0, //洪峰移动速度\r\n waitTime: 20, //洪峰冲击倒计时\r\n fastPath: 5 //最短路径\r\n },\r\n //第六难度\r\n {\r\n moveSpeed: 0, //洪峰移动速度\r\n waitTime: 20, //洪峰冲击倒计时\r\n fastPath: 5 //最短路径\r\n },\r\n //第七难度 \r\n {\r\n moveSpeed: 0, //洪峰移动速度\r\n waitTime: 20, //洪峰冲击倒计时\r\n fastPath: 5 //最短路径\r\n },\r\n //第八难度\r\n {\r\n moveSpeed: 0, //洪峰移动速度\r\n waitTime: 20, //洪峰冲击倒计时\r\n fastPath: 5 //最短路径\r\n },\r\n //第九难度\r\n {\r\n moveSpeed: 0, //洪峰移动速度\r\n waitTime: 20, //洪峰冲击倒计时\r\n fastPath: 5 //最短路径\r\n },\r\n //第十难度\r\n {\r\n moveSpeed: 0, //洪峰移动速度\r\n waitTime: 20, //洪峰冲击倒计时\r\n fastPath: 5 //最短路径\r\n } \r\n ]\r\n WeChat.setShare(location.href);\r\n if(!Authentication) self.Authentication();\r\n }\r\n \r\n //数据备用\r\n static GM_INFO_init() {\r\n this.GM_INFO = {\r\n // isEnd: false,\r\n mean_Time: 0, //平均放箭速度\r\n total: 0, //总共对的个数\r\n currSeed: 200000, //用于随机数种子\r\n gameId: \"100012\", //游戏ID\r\n userId: 0, //用户ID\r\n guide: false, //是否有引导\r\n url: \"https://api.sparkus.cn\",//访问域名\r\n success: false, //用户游戏成功与否\r\n matchId: null, //用于埋点上传的ID\r\n custom: 0, //用于测试跳关卡\r\n round:0, //回合数\r\n level: 0, //具体游戏内进行到第几步 \r\n stepTimeList:0, //整局游戏用时,由于涉及场景切换,数据需要保留\r\n successList:[], //整局胜负\r\n fen:0, //小局得分\r\n score:0, //总得分\r\n igniteCount: 0, //玩家总计成功点火数\r\n min_Steps:0, //每次上一把最小步数\r\n min_Time:0 //每一把上次距离洪峰到来时间\r\n };\r\n\r\n }\r\n static GM_INFO_SET(key,value) {\r\n this.GM_INFO[key] = value;\r\n }\r\n static CLICK_init() {\r\n this.CLICK_DATA =\r\n {\r\n type: 1, //上传数据类型\r\n success: false, //此局游戏正确与否\r\n round: 0, //回合数轮次\r\n getScore: 0, //本轮得分,失败为0分\r\n cumulativeScore: 0, //本剧游戏总计得分\r\n mapId: \"\", //地图ID\r\n difficulty: 0, //地图难度\r\n optimizedSteps: 0, //关卡最短步数\r\n usedSteps: 0, //玩家修建总步数\r\n stepList: [], //U、D、L、R X 息壤 F 加固\r\n startTime:-1, //从游戏开始到玩家操作的第一步截止时间 单位毫秒\r\n submitTime:-1, //从第一步操作到提交时间,如果未提交为-1 单位毫秒\r\n duration:0, //游戏总用时(截止到提交) 单位毫秒 如果未他移交则为时间上限\r\n drawingBack:0, //后退次数\r\n drawingReset:0, //清空次数\r\n timer: 0, //测评倒计时剩余时间 去秒\r\n }\r\n }\r\n\r\n static CLICK_SET(key,value) {\r\n this.CLICK_DATA[key] = value;\r\n }\r\n\r\n static LEVEL_INFO_init() {\r\n this.TIME_INFO = {\r\n waterSpeed:[0.3,0.25,0.2,0.18,0.16,0.14,0.12,0.1], //洪峰速度\r\n totalTime: 120, //游戏总时长\r\n waterTime:[10,12,14,16,18,20,20,20], //洪峰来的倒计时\r\n roadSpeed:0.2, //河道修筑速度\r\n ReinforceSpeed:0.2, //加固时间速度\r\n Xi_SoilSpeed:0.2, //息壤时间速度\r\n }\r\n /*\r\n moveSpeed: 0, //洪峰移动速度\r\n waitTime: 20, //洪峰冲击倒计时\r\n fastPath: 5 //最短路径\r\n */ \r\n // this.LEVEL_INFO = [\r\n // [ \r\n // {\r\n // \"id\": 1001,\r\n // \"map\": [\r\n // [0,0,0,0,0,0],\r\n // [0,0,0,0,0,4],\r\n // [0,0,3,0,3,0],\r\n // [0,0,0,0,0,0],\r\n // [0,0,0,3,0,0],\r\n // [0,0,0,0,0,0],\r\n // [0,0,2,0,0,0],\r\n // [0,0,0,0,0,0],\r\n // [1,0,0,0,0,0]\r\n // ]\r\n // },\r\n // {\r\n // \"id\": 1002,\r\n // \"map\": [\r\n // [0,0,0,0,0,0,0,0,4],\r\n // [0,0,0,0,0,0,0,0,0],\r\n // [0,0,0,0,0,0,0,0,0],\r\n // [0,0,0,0,0,0,0,0,0],\r\n // [0,0,0,0,0,0,0,0,0],\r\n // [0,1,0,0,0,0,0,0,0]\r\n // ]\r\n // }\r\n // ],\r\n\r\n \r\n // ]\r\n\r\n this.LEVEL_INFO = [[{\"id\":\"1001\",\"map\":[[0,4,0,0],[0,0,0,0],[0,0,0,0],[0,0,1,0]],\"min_steps\":3},{\"id\":\"1002\",\"map\":[[1,0,0,0],[0,0,0,4],[0,0,0,0],[0,0,0,0]],\"min_steps\":3},{\"id\":\"1004\",\"map\":[[1,0,0,0],[0,0,0,0],[0,0,0,0],[0,4,0,0]],\"min_steps\":3},{\"id\":\"1006\",\"map\":[[4,0,0,0],[0,0,0,0],[0,0,0,0],[0,1,0,0]],\"min_steps\":3},{\"id\":\"1003\",\"map\":[[1,0,0,0],[0,0,0,0],[0,0,0,0],[0,0,0,4]],\"min_steps\":4},{\"id\":\"1005\",\"map\":[[1,0,0,0],[0,0,0,0],[0,0,0,4],[0,0,0,0]],\"min_steps\":4},{\"id\":\"1007\",\"map\":[[0,4,0,0],[0,0,0,0],[0,0,0,0],[0,0,0,1]],\"min_steps\":4},{\"id\":\"1008\",\"map\":[[0,0,0,4],[0,0,0,0],[0,0,0,0],[1,0,0,0]],\"min_steps\":4}],[{\"id\":\"2001\",\"map\":[[0,0,0,0,1],[0,0,0,0,0],[0,0,3,0,3],[0,0,0,0,0],[4,0,0,0,3]],\"min_steps\":4},{\"id\":\"2002\",\"map\":[[0,1,0,0,0],[0,0,0,0,0],[3,3,0,0,4],[0,0,0,0,0],[3,0,0,0,0]],\"min_steps\":4},{\"id\":\"2009\",\"map\":[[0,3,0,0,4],[3,0,0,0,0],[0,0,0,0,0],[1,0,0,0,0],[0,3,0,0,0]],\"min_steps\":4},{\"id\":\"2010\",\"map\":[[0,0,0,0,1],[0,0,0,0,0],[0,0,0,0,0],[0,3,0,3,0],[4,0,3,0,0]],\"min_steps\":4},{\"id\":\"2011\",\"map\":[[4,3,1,0,0],[0,0,0,0,3],[0,0,0,3,0],[0,0,0,0,0],[0,0,0,0,0]],\"min_steps\":4},{\"id\":\"2021\",\"map\":[[0,0,0,1,0],[0,0,3,0,0],[0,0,0,3,3],[0,0,0,0,0],[0,4,0,0,0]],\"min_steps\":4},{\"id\":\"2004\",\"map\":[[1,0,0,0,0],[0,0,0,0,3],[3,0,0,0,0],[0,0,0,0,0],[0,0,0,0,4]],\"min_steps\":5},{\"id\":\"2012\",\"map\":[[0,3,0,4,0],[0,0,0,3,0],[1,0,3,0,0],[0,0,0,0,0],[0,0,0,0,0]],\"min_steps\":5},{\"id\":\"2013\",\"map\":[[0,0,0,0,0],[1,0,0,0,0],[0,0,0,3,3],[3,0,0,0,0],[0,0,0,4,0]],\"min_steps\":5},{\"id\":\"2014\",\"map\":[[3,0,1,0,0],[0,3,0,0,0],[0,0,0,0,0],[4,0,0,3,0],[0,0,0,0,0]],\"min_steps\":5},{\"id\":\"2015\",\"map\":[[3,0,0,0,1],[3,0,0,0,0],[0,0,0,0,0],[4,3,0,0,0],[3,0,0,0,0]],\"min_steps\":5},{\"id\":\"2016\",\"map\":[[0,0,0,0,0],[1,0,3,0,0],[3,0,0,0,3],[0,0,0,0,0],[0,0,0,0,4]],\"min_steps\":5},{\"id\":\"2017\",\"map\":[[0,3,0,0,0],[4,0,0,0,0],[0,0,0,0,0],[3,0,3,0,0],[3,0,0,0,1]],\"min_steps\":5},{\"id\":\"2018\",\"map\":[[0,3,4,3,3],[0,0,0,0,0],[0,0,0,0,0],[0,0,0,0,0],[0,0,3,0,1]],\"min_steps\":5},{\"id\":\"2019\",\"map\":[[3,0,0,4,0],[0,0,0,3,0],[0,0,0,0,0],[0,0,0,0,0],[1,0,3,0,0]],\"min_steps\":5},{\"id\":\"2020\",\"map\":[[4,0,3,0,1],[0,0,0,0,3],[0,0,0,0,0],[0,0,0,0,0],[0,0,3,0,0]],\"min_steps\":5},{\"id\":\"2003\",\"map\":[[1,0,0,3,0],[0,0,3,0,0],[0,0,0,0,0],[0,0,0,0,0],[0,3,0,4,0]],\"min_steps\":6},{\"id\":\"2005\",\"map\":[[0,3,0,0,0],[1,0,0,0,0],[0,0,0,3,0],[0,0,0,0,0],[0,3,0,4,0]],\"min_steps\":6},{\"id\":\"2006\",\"map\":[[0,1,0,0,0],[0,0,0,0,3],[0,0,0,0,3],[0,0,0,0,0],[0,0,0,3,4]],\"min_steps\":6},{\"id\":\"2007\",\"map\":[[3,0,0,0,1],[0,0,0,0,3],[0,0,0,0,0],[0,0,0,0,0],[4,3,0,0,0]],\"min_steps\":6},{\"id\":\"2008\",\"map\":[[3,4,0,0,0],[0,0,0,0,3],[0,0,0,3,1],[0,0,0,0,0],[0,0,0,0,0]],\"min_steps\":6},{\"id\":\"2022\",\"map\":[[0,0,0,0,0],[1,3,0,0,3],[0,0,0,0,0],[0,0,0,0,0],[0,0,3,4,0]],\"min_steps\":6}],[{\"id\":\"3001\",\"map\":[[3,0,2,3,4],[0,0,0,2,2],[2,3,3,3,3],[0,0,2,0,2],[1,0,2,3,0]],\"min_steps\":5},{\"id\":\"3002\",\"map\":[[3,0,3,2,0],[1,2,0,3,2],[2,3,0,0,4],[2,0,2,2,0],[3,3,0,3,0]],\"min_steps\":5},{\"id\":\"3003\",\"map\":[[0,2,3,3,4],[2,2,0,0,0],[1,3,3,3,2],[2,2,3,2,3],[0,0,0,0,0]],\"min_steps\":5},{\"id\":\"3004\",\"map\":[[3,2,2,1,0],[0,0,3,2,2],[3,0,2,3,0],[3,0,0,3,3],[0,2,4,0,2]],\"min_steps\":5},{\"id\":\"3005\",\"map\":[[3,0,3,0,0],[2,3,0,0,1],[0,2,2,2,3],[4,2,0,0,2],[3,3,0,3,2]],\"min_steps\":5},{\"id\":\"3008\",\"map\":[[3,3,3,0,1],[0,0,0,0,3],[2,2,3,2,2],[0,2,3,0,3],[4,2,2,0,0]],\"min_steps\":5},{\"id\":\"3009\",\"map\":[[1,0,3,3,2],[3,0,2,0,0],[0,3,3,2,4],[0,0,3,0,2],[2,2,2,0,3]],\"min_steps\":5},{\"id\":\"3010\",\"map\":[[3,0,2,0,4],[1,2,3,0,3],[2,0,3,2,0],[0,3,0,0,3],[2,0,2,3,2]],\"min_steps\":5},{\"id\":\"3006\",\"map\":[[2,0,2,2,0],[1,2,3,0,0],[3,3,0,3,2],[3,0,0,3,2],[2,0,3,0,4]],\"min_steps\":6},{\"id\":\"3007\",\"map\":[[1,2,0,3,3],[2,2,0,2,0],[2,3,2,0,3],[0,3,2,0,4],[0,0,3,0,3]],\"min_steps\":6},{\"id\":\"3011\",\"map\":[[2,3,0,1,0],[0,0,0,0,0],[3,0,0,0,3],[0,2,0,3,2],[4,3,3,2,2]],\"min_steps\":6},{\"id\":\"3012\",\"map\":[[0,2,1,0,3],[0,3,0,0,3],[3,2,3,2,0],[0,2,0,3,0],[2,0,0,0,4]],\"min_steps\":6},{\"id\":\"3013\",\"map\":[[0,2,1,0,3],[0,3,0,0,3],[3,2,3,2,0],[0,2,0,3,0],[2,0,0,0,4]],\"min_steps\":6},{\"id\":\"3014\",\"map\":[[1,0,3,3,4],[2,3,0,3,0],[0,2,2,0,0],[3,3,0,0,2],[2,0,0,0,0]],\"min_steps\":6},{\"id\":\"3015\",\"map\":[[2,3,0,0,0],[0,0,2,3,0],[4,0,3,0,3],[2,0,2,2,3],[0,3,0,0,1]],\"min_steps\":6},{\"id\":\"3016\",\"map\":[[3,0,2,0,2],[2,0,0,0,3],[0,2,3,0,1],[4,0,0,3,0],[3,3,0,0,2]],\"min_steps\":6},{\"id\":\"3017\",\"map\":[[0,3,0,0,2],[3,0,2,0,4],[1,3,3,0,0],[2,0,0,2,0],[3,2,3,0,0]],\"min_steps\":6},{\"id\":\"3018\",\"map\":[[4,2,0,0,0],[0,0,0,3,2],[0,3,0,0,3],[3,2,3,2,0],[3,0,2,1,0]],\"min_steps\":7},{\"id\":\"3019\",\"map\":[[0,4,0,3,2],[0,2,0,0,0],[3,0,3,0,2],[3,3,2,3,1],[2,0,0,0,0]],\"min_steps\":7},{\"id\":\"3020\",\"map\":[[0,2,0,1,0],[0,0,0,3,2],[3,0,3,3,3],[3,0,0,0,2],[0,2,2,4,0]],\"min_steps\":7},{\"id\":\"3021\",\"map\":[[3,2,0,2,1],[3,2,0,3,2],[3,0,0,2,3],[0,0,0,0,4],[0,0,3,0,0]],\"min_steps\":7},{\"id\":\"3022\",\"map\":[[2,0,2,2,2],[0,0,3,0,0],[3,0,3,0,0],[1,0,3,2,4],[0,0,3,3,0]],\"min_steps\":7},{\"id\":\"3023\",\"map\":[[1,2,0,2,0],[3,3,3,0,0],[0,2,3,2,0],[4,0,0,0,3],[0,0,2,0,3]],\"min_steps\":7},{\"id\":\"3024\",\"map\":[[1,0,3,0,3],[2,2,0,0,0],[0,3,0,3,0],[2,0,3,2,0],[2,3,0,4,0]],\"min_steps\":7}],[{\"id\":\"4001\",\"map\":[[1,3,0,0,2,0],[0,3,0,0,2,0],[0,0,2,0,3,4],[0,0,0,2,0,0],[3,3,0,0,2,0,3],[0,0,2,2,2,0]],\"min_steps\":5},{\"id\":\"4002\",\"map\":[[0,2,2,2,2,0],[1,0,0,0,2,0],[0,0,0,0,0,3],[0,0,0,0,2,0],[0,3,3,0,2,0],[3,0,0,4,2,0]],\"min_steps\":5},{\"id\":\"4003\",\"map\":[[0,0,0,0,0,0],[2,0,0,0,0,2],[0,3,3,3,2,4],[0,3,0,3,2,0],[0,0,0,0,0,3],[0,0,2,3,0,1]],\"min_steps\":6},{\"id\":\"4004\",\"map\":[[2,0,3,0,0,4],[0,2,3,3,0,0],[0,3,0,0,0,0],[3,0,0,0,2,2],[3,0,0,2,0,0],[1,0,0,3,0,0]],\"min_steps\":6},{\"id\":\"4006\",\"map\":[[4,3,0,3,0,0],[0,2,0,3,0,0],[3,0,0,0,3,2],[0,3,0,0,2,1],[0,0,2,0,0,0],[0,0,0,0,2,3]],\"min_steps\":7},{\"id\":\"4007\",\"map\":[[4,2,2,0,2,0],[0,3,0,2,0,0],[0,2,3,0,3,0],[0,0,3,0,0,3],[0,0,3,0,0,0],[0,0,0,3,0,1]],\"min_steps\":7},{\"id\":\"4014\",\"map\":[[0,0,3,0,2,2],[0,2,3,0,0,1],[0,3,3,0,0,3],[0,2,0,0,0,0],[0,0,0,3,3,0],[2,0,4,0,0,0]],\"min_steps\":7},{\"id\":\"4015\",\"map\":[[2,0,0,0,0,0],[0,0,0,0,3,1],[3,0,2,0,0,3],[2,0,0,2,3,0],[3,0,3,0,0,0],[2,0,0,3,4,0]],\"min_steps\":7},{\"id\":\"4005\",\"map\":[[1,0,0,0,0,2],[0,0,0,2,0,0],[3,2,0,0,0,0],[0,3,0,0,2,3],[0,0,3,3,0,0],[3,0,0,2,3,4]],\"min_steps\":8},{\"id\":\"4008\",\"map\":[[0,0,2,3,0,0],[0,3,0,2,3,2],[3,0,0,0,0,0],[0,3,0,0,3,4],[0,0,0,0,0,3],[0,2,0,2,0,1]],\"min_steps\":8},{\"id\":\"4009\",\"map\":[[0,3,3,0,0,4],[2,0,0,3,0,0],[2,0,0,3,0,0],[1,0,0,0,3,0],[0,0,2,3,0,2],[2,3,0,0,0,0]],\"min_steps\":8},{\"id\":\"4010\",\"map\":[[0,0,1,3,2,0],[3,0,0,0,3,2],[3,0,0,0,0,3],[2,0,0,0,0,0],[0,2,0,0,3,0],[0,2,0,3,4,0]],\"min_steps\":8},{\"id\":\"4011\",\"map\":[[1,0,0,0,0,0],[3,3,0,0,0,2],[0,0,0,3,0,2],[2,0,3,0,3,0],[2,0,3,0,0,3],[4,0,0,0,0,2]],\"min_steps\":8},{\"id\":\"4016\",\"map\":[[0,0,3,0,0,1],[2,3,0,0,3,0],[2,0,0,0,0,2],[0,3,0,0,0,0],[0,3,0,0,2,0],[0,4,3,0,2,3]],\"min_steps\":8},{\"id\":\"4017\",\"map\":[[1,2,3,0,3,2],[3,0,0,0,0,0],[0,0,0,0,0,3],[3,3,0,3,2,0],[0,2,0,0,0,0],[4,0,0,2,0,0]],\"min_steps\":8},{\"id\":\"4018\",\"map\":[[0,0,1,0,2,0],[0,0,0,0,0,0],[0,0,3,2,3,0],[3,0,0,3,0,0],[2,3,0,2,0,0],[4,2,0,3,3,0]],\"min_steps\":8},{\"id\":\"4012\",\"map\":[[2,2,3,0,2,0],[0,3,0,0,0,0],[0,0,0,0,3,4],[0,2,0,3,0,3],[0,0,0,0,0,0],[0,0,2,3,3,1]],\"min_steps\":9},{\"id\":\"4013\",\"map\":[[0,0,0,0,3,0],[4,2,0,3,0,0],[3,2,0,0,0,0],[1,3,0,3,0,0],[2,0,0,2,0,0],[3,0,0,3,2,0]],\"min_steps\":9},{\"id\":\"4019\",\"map\":[[3,4,0,0,0,2],[3,2,0,0,2,0],[0,3,0,3,0,2],[0,0,3,0,0,0],[0,0,0,0,3,0],[1,3,0,0,0,2]],\"min_steps\":9},{\"id\":\"4020\",\"map\":[[0,2,0,1,0,0],[2,3,0,0,2,0],[3,0,0,0,0,0],[0,3,3,0,0,3],[2,0,0,3,0,0],[4,3,0,0,0,2]],\"min_steps\":9}],[{\"id\":\"5001\",\"map\":[[1,0,0,0,0,0],[0,2,2,3,0,2],[3,2,0,0,3,3],[0,0,0,0,0,4],[0,0,0,2,2,0],[3,0,2,2,0,0]],\"min_steps\":7},{\"id\":\"5002\",\"map\":[[0,0,0,0,4,3],[3,2,3,0,0,0],[0,2,0,2,3,0],[2,2,0,0,0,0],[3,2,0,0,0,0],[3,0,0,2,0,3],[2,0,0,3,0,1]],\"min_steps\":7},{\"id\":\"5015\",\"map\":[[1,2,3,2,2,0],[3,0,0,0,0,3],[0,0,0,0,0,0],[0,0,0,0,0,2],[0,3,0,3,2,0],[0,0,0,0,0,0],[0,2,0,4,0,3]],\"min_steps\":7},{\"id\":\"5016\",\"map\":[[3,0,1,0,0,0],[0,2,0,2,0,0],[0,2,0,2,0,3],[0,0,0,0,0,0],[0,2,0,0,3,3],[0,0,0,0,2,3],[0,0,0,3,0,4]],\"min_steps\":7},{\"id\":\"5004\",\"map\":[[0,3,3,2,3,0],[2,0,2,0,3,0],[1,0,3,2,0,0],[3,3,0,0,0,2],[0,0,0,0,0,0],[0,2,0,0,0,0],[0,0,0,3,4,0]],\"min_steps\":8},{\"id\":\"5005\",\"map\":[[0,0,0,0,0,1],[0,0,2,0,2,0],[3,2,2,0,0,0],[3,0,0,3,0,0],[3,3,0,0,0,3],[4,3,0,0,0,0],[2,0,0,2,3,0]],\"min_steps\":8},{\"id\":\"5008\",\"map\":[[3,0,3,2,0,4],[0,3,0,2,0,2],[0,0,3,0,0,0],[2,0,0,2,0,0],[0,0,3,0,0,0],[0,0,0,3,0,0],[3,2,1,3,0,0]],\"min_steps\":8},{\"id\":\"5012\",\"map\":[[2,3,0,2,0,1],[2,0,0,0,0,0],[2,0,0,3,0,2],[3,0,3,0,0,3],[0,0,0,0,3,3],[3,0,0,0,2,0],[0,0,0,0,0,4]],\"min_steps\":8},{\"id\":\"5013\",\"map\":[[0,0,2,1,2,0],[0,3,0,0,0,0],[2,0,0,0,0,0],[0,0,0,3,0,0],[3,0,0,2,3,0],[3,3,3,2,0,2],[0,0,4,0,0,3]],\"min_steps\":8},{\"id\":\"5018\",\"map\":[[0,2,0,1,0,0],[2,0,0,3,0,0],[0,0,0,0,0,0],[3,0,0,0,0,0],[2,3,0,2,3,3],[2,0,0,0,0,2],[4,3,0,0,0,0]],\"min_steps\":8},{\"id\":\"5019\",\"map\":[[1,3,0,2,3,0],[0,0,0,0,0,2],[0,0,0,0,0,0],[0,0,2,0,0,2],[3,3,0,3,0,2],[4,0,2,0,0,0],[0,0,0,3,0,0]],\"min_steps\":8},{\"id\":\"5029\",\"map\":[[4,3,0,0,0,0],[2,0,0,3,0,2],[3,2,0,3,3,0],[2,0,0,3,0,0],[0,2,0,0,0,0],[2,0,0,0,0,0],[3,0,3,3,0,1]],\"min_steps\":8},{\"id\":\"5030\",\"map\":[[0,0,0,0,0,0],[0,0,2,3,2,0],[0,3,0,0,0,0],[2,2,0,3,0,0],[0,3,3,0,3,4],[0,0,2,0,0,3],[3,1,0,3,0,2]],\"min_steps\":8},{\"id\":\"5006\",\"map\":[[0,3,0,0,0,0],[1,0,0,0,3,0],[0,0,3,2,0,0],[3,0,0,2,2,0],[0,3,0,3,3,0],[0,2,0,0,0,0],[4,0,3,0,2,2]],\"min_steps\":9},{\"id\":\"5007\",\"map\":[[0,2,0,3,0,0],[1,2,0,2,0,0],[0,3,0,3,0,0],[3,0,0,0,0,3],[0,0,3,2,0,2],[4,0,0,3,0,3],[0,2,0,0,0,0]],\"min_steps\":9},{\"id\":\"5010\",\"map\":[[0,3,1,0,0,0],[0,2,3,3,0,0],[0,2,0,3,0,0],[0,2,0,2,0,3],[0,2,0,0,3,0],[0,3,0,0,0,0],[0,2,4,0,0,3]],\"min_steps\":9},{\"id\":\"5011\",\"map\":[[1,0,3,0,3,0],[0,2,0,0,0,0],[2,0,2,0,3,0],[0,3,2,0,0,0],[3,0,0,0,0,2],[4,0,3,0,0,0],[3,2,0,0,0,3]],\"min_steps\":9},{\"id\":\"5014\",\"map\":[[0,1,0,0,0,0],[2,0,2,0,0,2],[2,3,0,3,0,0],[0,3,0,0,0,3],[0,0,0,2,0,3],[0,0,3,0,3,0],[2,0,3,0,0,4]],\"min_steps\":9},{\"id\":\"5017\",\"map\":[[0,0,0,0,0,0],[1,2,3,0,0,2],[0,0,2,0,0,2],[3,0,2,3,0,0],[0,3,3,0,2,0],[0,0,0,0,0,0],[4,0,3,0,0,0]],\"min_steps\":9},{\"id\":\"5028\",\"map\":[[0,0,1,0,0,3],[3,0,0,0,3,4],[0,2,0,2,3,2],[0,3,2,3,3,0],[0,0,0,3,0,0],[0,0,3,0,0,2],[0,0,2,0,0,0]],\"min_steps\":9},{\"id\":\"5003\",\"map\":[[0,0,1,3,0,2],[0,3,3,0,0,0],[0,0,3,2,0,0],[0,0,3,0,0,0],[3,0,0,0,2,2],[0,0,2,3,0,0],[0,2,0,3,0,4]],\"min_steps\":10},{\"id\":\"5009\",\"map\":[[0,2,0,0,0,3],[0,0,3,3,3,4],[0,3,0,0,0,0],[0,3,2,0,0,0],[1,2,3,2,0,3],[2,0,0,0,0,0],[0,0,0,0,2,0]],\"min_steps\":10},{\"id\":\"5021\",\"map\":[[0,0,0,0,0,0],[0,0,0,0,3,0],[3,0,0,0,2,0],[2,0,0,2,3,0],[0,3,0,0,0,2],[0,2,3,0,0,0],[4,3,1,2,0,0]],\"min_steps\":10},{\"id\":\"5022\",\"map\":[[4,0,3,0,0,2],[0,0,0,0,2,0],[0,3,0,2,3,2],[3,0,3,0,3,0],[0,2,0,0,0,0],[0,3,0,3,0,3],[0,2,1,0,0,0]],\"min_steps\":10},{\"id\":\"5023\",\"map\":[[3,0,0,3,3,0],[0,0,3,0,0,3],[2,3,0,0,0,0],[2,2,0,0,2,0],[0,3,0,0,0,0],[2,0,3,0,0,4],[0,1,3,0,2,0]],\"min_steps\":10},{\"id\":\"5024\",\"map\":[[3,0,2,3,0,0],[4,2,0,0,0,3],[2,2,0,0,0,0],[0,0,3,0,0,2],[0,0,0,3,0,3],[0,3,3,0,2,0],[3,0,1,0,0,0]],\"min_steps\":10},{\"id\":\"5020\",\"map\":[[0,0,0,2,0,0],[0,3,0,0,0,3],[0,2,0,0,3,0],[2,0,0,2,3,4],[0,2,3,0,0,0],[0,0,0,3,0,0],[3,2,0,1,3,0]],\"min_steps\":11},{\"id\":\"5025\",\"map\":[[1,0,0,0,3,0],[0,0,0,3,3,2],[3,3,2,0,0,2],[0,0,0,0,0,3],[0,0,2,0,2,0],[0,0,0,0,3,4],[0,3,2,3,0,0]],\"min_steps\":11},{\"id\":\"5026\",\"map\":[[0,3,2,0,0,0],[0,0,2,3,3,0],[2,0,0,2,0,0],[3,2,0,0,3,2],[0,0,0,3,3,1],[0,0,3,0,0,3],[0,0,0,0,0,4]],\"min_steps\":11},{\"id\":\"5027\",\"map\":[[0,0,3,0,0,1],[0,0,0,0,0,3],[2,0,2,0,2,3],[0,0,3,3,0,3],[0,0,0,2,3,0],[0,0,0,2,0,3],[2,0,3,0,4,0]],\"min_steps\":11}],[{\"id\":\"6028\",\"map\":[[0,0,3,0,0,2],[1,3,2,2,0,3],[0,0,3,0,0,2],[0,0,0,0,0,0],[0,0,2,0,3,3],[3,3,3,0,0,0],[4,0,0,0,0,2]],\"min_steps\":8},{\"id\":\"6029\",\"map\":[[0,0,2,0,0,1],[3,2,3,0,0,3],[2,0,3,0,3,0],[3,3,0,0,0,0],[0,0,0,3,3,2],[0,0,0,0,0,2],[0,0,0,4,2,0]],\"min_steps\":8},{\"id\":\"6030\",\"map\":[[0,3,3,0,1,0],[2,3,0,0,3,0],[0,0,0,3,0,2],[0,0,3,0,2,0],[0,0,2,3,3,3],[0,0,0,0,0,0],[4,0,0,2,0,2]],\"min_steps\":8},{\"id\":\"6001\",\"map\":[[0,0,3,3,4,2],[0,0,0,2,0,0],[2,3,3,2,0,0],[0,3,0,0,0,2],[0,0,0,3,2,2],[2,0,0,3,0,2],[1,3,2,0,0,0],[0,0,0,3,0,0]],\"min_steps\":9},{\"id\":\"6012\",\"map\":[[3,0,0,0,2,0],[0,3,0,3,0,0],[0,3,0,0,0,3],[2,0,0,3,2,0],[3,2,2,2,0,0],[3,0,2,0,3,0],[1,2,3,0,2,0],[2,3,0,0,3,4]],\"min_steps\":9},{\"id\":\"6016\",\"map\":[[0,0,1,0,2,3],[0,3,2,0,2,0],[3,3,3,3,0,0],[3,0,0,0,0,0],[2,2,3,0,3,3],[0,0,2,0,2,0],[0,2,0,2,0,3],[3,0,2,0,0,4]],\"min_steps\":9},{\"id\":\"6008\",\"map\":[[0,0,2,0,3,4],[3,3,2,3,0,0],[0,0,0,0,0,3],[0,0,2,3,2,0],[0,0,2,0,3,2],[3,3,0,0,0,2],[0,3,0,0,0,0],[2,1,0,0,0,0]],\"min_steps\":10},{\"id\":\"6013\",\"map\":[[3,0,0,2,2,0],[0,2,0,3,0,2],[0,0,3,2,3,0],[0,3,0,0,3,0],[2,2,3,2,0,0],[0,0,3,3,0,0],[0,2,0,3,2,0],[4,3,3,0,1,0]],\"min_steps\":10},{\"id\":\"6017\",\"map\":[[4,0,0,0,0,3],[0,3,3,0,0,0],[3,0,2,2,0,0],[3,0,2,3,3,2],[3,2,0,2,3,3],[2,0,2,0,0,0],[0,0,0,0,0,3],[2,3,0,2,0,1]],\"min_steps\":10},{\"id\":\"6022\",\"map\":[[0,0,3,4,3,0],[0,3,0,2,2,0],[2,0,2,0,0,3],[0,0,0,0,0,0],[2,3,0,3,2,0],[0,3,0,0,0,0],[0,1,3,0,0,3]],\"min_steps\":10},{\"id\":\"6023\",\"map\":[[0,0,3,1,0,2],[0,0,2,3,0,0],[4,0,3,0,0,0],[2,0,3,0,0,3],[2,0,3,0,3,0],[0,0,0,0,0,0],[2,3,0,2,3,0]],\"min_steps\":10},{\"id\":\"6024\",\"map\":[[0,3,0,2,0,4],[3,0,0,3,3,3],[0,0,2,0,0,0],[2,3,3,0,0,0],[2,0,0,0,0,3],[2,0,3,0,0,1],[0,0,0,0,0,2]],\"min_steps\":10},{\"id\":\"6025\",\"map\":[[4,0,2,0,0,0],[0,0,3,3,0,2],[3,3,0,0,0,3],[0,2,0,2,0,0],[0,0,0,0,3,0],[1,3,0,0,2,2],[0,3,0,0,0,3]],\"min_steps\":10},{\"id\":\"6002\",\"map\":[[0,0,3,3,4,2],[0,0,0,2,0,0],[2,3,3,2,0,0],[0,3,0,0,0,2],[0,0,0,3,2,2],[2,0,0,3,0,2],[1,3,2,0,0,0],[0,0,0,3,0,0]],\"min_steps\":11},{\"id\":\"6006\",\"map\":[[1,0,2,0,0,3],[0,0,0,0,3,0],[3,0,0,3,2,0],[2,3,0,0,0,3],[0,0,3,2,0,3],[0,2,0,3,0,0],[2,3,0,2,0,0],[0,4,0,2,0,0]],\"min_steps\":11},{\"id\":\"6009\",\"map\":[[4,3,0,0,3,0],[0,0,0,0,0,0],[3,3,0,2,0,2],[3,0,0,2,2,0],[2,3,2,0,0,0],[1,3,3,0,0,0],[2,0,0,0,0,0],[3,3,0,0,0,2]],\"min_steps\":11},{\"id\":\"6018\",\"map\":[[2,3,0,0,2,3],[2,0,0,3,0,4],[2,0,0,0,0,0],[0,3,2,0,2,3],[0,0,0,0,0,3],[2,0,3,3,2,3],[0,0,0,3,2,0],[2,3,1,3,0,0]],\"min_steps\":11},{\"id\":\"6026\",\"map\":[[0,1,0,3,0,4],[0,0,3,0,3,0],[2,2,3,2,0,0],[0,0,3,0,3,3],[2,0,0,0,0,2],[0,3,0,0,0,2],[0,0,0,0,0,3]],\"min_steps\":11},{\"id\":\"6027\",\"map\":[[2,1,3,0,0,0],[0,0,0,0,3,0],[3,3,0,0,0,0],[2,2,3,3,3,0],[0,2,0,0,0,0],[3,2,0,0,0,0],[0,4,0,2,3,0]],\"min_steps\":11},{\"id\":\"6031\",\"map\":[[0,1,0,3,0,4],[0,0,3,0,3,0],[2,2,3,2,0,0],[0,0,3,0,3,3],[2,0,0,0,0,2],[0,3,0,0,0,2],[0,0,0,0,0,3]],\"min_steps\":11},{\"id\":\"6003\",\"map\":[[0,2,2,0,0,4],[0,3,3,0,0,0],[3,2,0,0,0,0],[0,3,0,0,3,3],[0,2,0,3,0,0],[2,3,0,0,0,0],[0,2,3,0,0,0],[1,2,3,0,2,0]],\"min_steps\":12},{\"id\":\"6011\",\"map\":[[3,0,2,2,3,2],[1,0,0,0,0,3],[0,0,3,2,3,0],[3,0,3,0,0,0],[4,3,2,3,0,2],[0,0,2,0,2,3],[2,0,0,0,0,3],[0,0,0,2,0,3]],\"min_steps\":12},{\"id\":\"6014\",\"map\":[[4,3,0,0,0,0],[0,2,2,2,3,0],[0,3,0,0,0,0],[2,3,2,3,0,0],[3,3,0,0,0,3],[0,0,0,2,3,0],[0,3,2,0,2,2],[2,3,3,0,0,1]],\"min_steps\":12},{\"id\":\"6020\",\"map\":[[3,2,0,0,0,0],[4,0,2,0,2,0],[3,3,0,0,2,2],[0,0,3,0,2,0],[0,0,0,0,2,3],[0,2,3,3,0,0],[2,3,0,0,3,3],[1,3,3,2,0,0]],\"min_steps\":12},{\"id\":\"6021\",\"map\":[[4,3,0,0,0,0],[0,2,2,2,3,0],[0,3,0,0,0,0],[2,3,2,3,0,0],[3,3,0,0,0,3],[0,0,0,2,3,0],[0,3,2,0,2,2],[2,3,3,0,0,1]],\"min_steps\":12},{\"id\":\"6004\",\"map\":[[0,3,0,2,2,0],[0,0,0,0,0,2],[3,0,0,0,0,0],[0,3,0,0,0,0],[0,3,3,0,3,0],[2,0,0,0,3,2],[2,0,0,0,3,1],[4,3,0,2,3,2]],\"min_steps\":13},{\"id\":\"6005\",\"map\":[[2,2,4,2,3,0],[0,3,3,2,0,0],[3,0,0,3,0,2],[3,0,2,3,3,0],[0,0,0,0,0,0],[0,0,0,0,2,3],[3,2,0,0,0,1],[0,0,0,0,0,0]],\"min_steps\":13},{\"id\":\"6007\",\"map\":[[3,2,0,0,3,4],[0,2,0,0,3,0],[0,0,2,0,2,0],[2,0,0,3,0,3],[0,0,2,0,3,2],[0,2,3,3,0,1],[0,0,0,0,0,3],[0,0,0,3,0,0]],\"min_steps\":13},{\"id\":\"6010\",\"map\":[[0,3,1,0,0,0],[0,2,3,3,0,0],[2,0,0,3,0,0],[0,2,0,0,3,2],[3,0,0,0,0,2],[3,2,0,0,0,0],[4,0,0,3,2,0],[0,3,0,3,2,0]],\"min_steps\":13},{\"id\":\"6015\",\"map\":[[4,0,0,0,2,3],[0,0,3,0,0,3],[2,2,3,2,0,0],[3,0,0,0,3,2],[2,3,0,3,0,2],[0,0,3,0,2,3],[0,0,0,0,0,3],[1,2,2,3,0,0]],\"min_steps\":14},{\"id\":\"6019\",\"map\":[[4,0,0,0,2,3],[0,0,3,0,0,3],[2,2,3,2,0,0],[3,0,0,0,3,2],[2,3,0,3,0,2],[0,0,3,0,2,3],[0,0,0,0,0,3],[1,2,2,3,0,0]],\"min_steps\":14}],[{\"id\":\"7001\",\"map\":[[0,2,0,0,2,0],[3,3,0,2,0,4],[0,0,0,0,0,3],[0,0,0,0,3,2],[0,0,0,0,0,2],[3,3,0,0,0,2],[0,3,3,2,2,0],[0,3,2,2,0,3],[1,2,0,0,2,0]],\"min_steps\":9},{\"id\":\"7023\",\"map\":[[3,2,0,2,0,1],[0,3,3,2,3,3],[0,3,3,0,3,0],[0,2,2,2,0,3],[0,3,2,0,0,3],[0,0,0,0,2,0],[2,2,2,3,0,0],[2,0,3,0,3,0],[0,0,3,0,0,4]],\"min_steps\":9},{\"id\":\"7003\",\"map\":[[1,3,2,0,0,0],[0,0,0,2,0,0],[0,3,0,2,0,0],[3,3,3,2,0,3],[2,3,3,0,3,0],[0,0,0,0,0,2],[3,0,2,2,3,2],[4,2,0,0,2,0],[0,0,2,0,0,2]],\"min_steps\":10},{\"id\":\"7002\",\"map\":[[1,0,3,2,0,2],[0,3,0,0,0,2],[0,2,0,3,2,2],[0,3,0,0,0,0],[0,2,0,3,3,0],[3,2,2,0,0,3],[0,3,2,3,0,2],[0,0,0,0,0,0],[2,0,0,2,3,4]],\"min_steps\":11},{\"id\":\"7005\",\"map\":[[0,0,0,0,0,0],[0,0,0,3,2,4],[0,3,0,0,3,3],[3,3,0,2,0,3],[0,2,2,0,3,2],[0,0,3,0,2,0],[0,2,0,2,0,0],[3,0,0,2,2,0],[0,0,2,2,0,1]],\"min_steps\":11},{\"id\":\"7006\",\"map\":[[0,0,0,0,2,3],[3,2,0,0,0,0],[0,2,0,3,3,4],[0,0,0,2,2,3],[2,0,0,0,0,0],[0,0,0,0,3,0],[3,0,3,3,0,2],[3,0,2,2,0,2],[0,0,2,2,0,1]],\"min_steps\":11},{\"id\":\"7007\",\"map\":[[2,0,2,0,2,0],[0,0,2,0,3,2],[0,0,0,3,3,0],[0,2,0,0,3,2],[3,0,0,2,0,0],[3,3,0,0,0,2],[0,2,0,3,2,0],[0,2,3,0,0,0],[4,3,0,0,1,0]],\"min_steps\":11},{\"id\":\"7026\",\"map\":[[2,4,2,0,0,0],[0,3,3,0,3,0],[3,3,3,0,0,3],[2,0,3,0,0,2],[0,2,2,3,0,3],[1,0,2,0,2,0],[3,3,0,0,0,0],[2,0,0,0,3,2],[2,0,3,2,3,0]],\"min_steps\":11},{\"id\":\"7027\",\"map\":[[2,0,0,0,0,2],[0,0,3,3,2,3],[0,0,3,0,0,1],[0,3,0,3,3,3],[0,0,0,0,0,2],[3,3,2,0,0,2],[3,3,0,2,0,3],[0,3,2,2,2,0],[0,3,4,2,2,0]],\"min_steps\":11},{\"id\":\"7029\",\"map\":[[0,0,1,0,0,0],[3,3,0,0,3,2],[3,0,0,0,2,0],[0,2,0,2,2,0],[2,3,3,3,0,3],[3,2,2,3,0,0],[2,0,3,0,0,3],[3,2,0,0,0,3],[4,2,0,0,3,2]],\"min_steps\":11},{\"id\":\"7008\",\"map\":[[1,0,0,0,2,0],[3,3,2,0,3,0],[3,0,3,0,0,0],[0,0,3,0,0,3],[2,2,0,3,0,3],[2,0,2,0,0,0],[2,0,2,0,0,2],[2,0,0,2,0,0],[4,3,0,0,0,2]],\"min_steps\":12},{\"id\":\"7010\",\"map\":[[4,3,0,3,1,0],[0,0,3,3,0,0],[0,3,0,0,2,2],[2,0,3,0,0,2],[3,2,0,2,3,0],[0,0,0,0,0,0],[0,2,0,2,2,0],[0,2,0,3,0,2],[0,2,0,0,0,3]],\"min_steps\":12},{\"id\":\"7016\",\"map\":[[2,3,4,0,0,3],[0,3,2,2,3,1],[0,2,2,3,0,0],[3,0,3,0,2,0],[3,0,0,0,2,2],[0,0,3,3,0,0],[0,3,0,3,2,0],[0,0,3,0,3,2],[0,2,2,3,0,0]],\"min_steps\":12},{\"id\":\"7020\",\"map\":[[2,3,0,4,3,3],[3,3,0,0,3,0],[0,2,0,3,2,0],[0,3,0,0,0,2],[3,2,0,0,0,0],[0,0,3,2,0,3],[0,3,0,3,2,0],[3,2,2,0,0,2],[0,0,2,1,3,2]],\"min_steps\":12},{\"id\":\"7024\",\"map\":[[1,3,2,0,0,3],[2,3,2,0,0,0],[0,2,3,0,3,3],[3,0,0,2,0,3],[2,3,0,0,0,3],[3,3,0,0,0,0],[2,0,3,0,0,2],[0,0,2,0,2,2],[4,2,3,0,3,0]],\"min_steps\":12},{\"id\":\"7032\",\"map\":[[0,0,0,0,3,4],[0,0,3,3,3,2],[2,2,3,3,0,0],[0,0,3,2,0,0],[0,2,0,2,3,2],[0,2,3,0,0,3],[2,3,3,0,0,2],[1,0,3,0,3,2],[0,0,3,0,0,2]],\"min_steps\":12},{\"id\":\"7033\",\"map\":[[1,0,0,3,0,3],[3,3,2,0,2,0],[0,3,3,2,0,2],[3,2,0,3,0,0],[4,2,2,2,0,0],[0,3,0,0,0,0],[3,3,3,0,0,2],[3,0,3,2,0,3],[2,0,0,0,0,2]],\"min_steps\":12},{\"id\":\"7035\",\"map\":[[3,0,0,2,0,4],[3,0,2,3,3,3],[0,0,2,3,0,2],[3,0,3,3,3,0],[2,2,0,0,0,0],[2,2,3,0,0,0],[0,0,2,3,0,0],[0,2,0,3,2,3],[0,0,3,1,2,0]],\"min_steps\":12},{\"id\":\"7036\",\"map\":[[2,3,1,0,0,2],[0,3,0,0,0,0],[2,0,2,0,0,3],[0,0,3,3,0,3],[0,2,2,0,0,3],[0,3,2,3,3,0],[0,3,2,0,0,2],[0,3,2,0,2,3],[2,0,3,3,4,0]],\"min_steps\":12},{\"id\":\"7037\",\"map\":[[2,0,0,0,0,3],[0,2,3,0,2,2],[0,0,3,0,2,0],[0,2,2,0,0,0],[3,2,3,0,0,3],[0,0,3,3,0,3],[3,2,3,0,0,3],[0,0,3,3,2,0],[4,3,1,2,0,2]],\"min_steps\":12},{\"id\":\"7039\",\"map\":[[2,0,3,3,2,0],[0,0,0,0,2,3],[1,3,0,0,0,2],[0,2,3,2,2,2],[0,0,3,0,0,0],[0,3,0,0,3,0],[3,0,0,2,3,2],[2,0,3,0,2,3],[0,4,3,0,3,3]],\"min_steps\":12},{\"id\":\"7040\",\"map\":[[0,2,3,3,4,0],[0,2,0,0,3,2],[0,0,3,0,2,0],[3,0,2,0,0,3],[2,0,0,3,0,3],[3,3,0,2,2,0],[2,2,3,0,2,0],[1,3,0,0,2,3],[0,0,0,3,0,3]],\"min_steps\":12},{\"id\":\"7041\",\"map\":[[3,3,0,2,3,1],[0,3,3,2,0,2],[0,2,0,0,0,0],[0,0,0,0,0,0],[3,3,3,2,3,0],[0,3,3,2,3,2],[4,0,3,0,2,0],[2,2,2,0,0,0],[0,3,2,0,3,0]],\"min_steps\":12},{\"id\":\"7004\",\"map\":[[2,0,0,2,0,0],[0,3,0,0,0,1],[0,2,0,0,0,0],[0,0,0,0,2,0],[0,0,3,3,3,2],[0,0,0,3,2,3],[0,0,2,0,0,3],[0,2,3,2,2,4],[3,2,2,0,3,0]],\"min_steps\":13},{\"id\":\"7009\",\"map\":[[4,0,3,1,0,2],[0,2,3,3,3,0],[0,2,3,2,2,0],[3,0,3,0,0,2],[0,0,0,0,0,0],[3,2,0,0,2,0],[3,2,0,0,2,0],[0,0,2,2,2,0],[0,0,0,0,3,0]],\"min_steps\":13},{\"id\":\"7014\",\"map\":[[3,4,2,3,0,0],[2,3,0,3,0,0],[0,2,2,0,0,0],[0,3,3,0,3,3],[0,0,0,0,0,0],[3,2,0,0,2,2],[2,2,2,2,0,3],[0,0,3,3,0,3],[1,2,0,3,3,0]],\"min_steps\":13},{\"id\":\"7015\",\"map\":[[2,3,4,0,3,0],[1,2,3,2,3,0],[0,0,3,0,2,0],[2,0,0,3,0,0],[2,2,0,2,0,3],[0,0,2,0,0,0],[3,0,0,3,3,0],[0,0,3,0,2,3],[3,0,3,2,3,2]],\"min_steps\":13},{\"id\":\"7025\",\"map\":[[2,3,1,0,3,3],[0,0,2,3,2,0],[0,2,0,0,0,3],[0,3,0,0,0,3],[2,0,0,3,2,0],[0,0,2,3,0,2],[2,0,3,2,0,3],[3,3,0,0,3,3],[2,4,0,2,0,0]],\"min_steps\":13},{\"id\":\"7030\",\"map\":[[2,0,1,2,0,0],[0,2,3,3,0,2],[2,3,3,3,0,2],[3,0,0,2,2,0],[0,3,0,3,2,0],[0,0,2,0,2,3],[3,3,0,3,3,2],[4,3,0,0,0,0],[0,0,0,0,0,3]],\"min_steps\":13},{\"id\":\"7031\",\"map\":[[0,2,2,3,4,2],[3,3,0,0,2,2],[0,0,0,3,2,0],[0,3,0,0,3,3],[0,2,0,2,3,0],[2,3,0,0,0,0],[3,3,0,3,0,2],[0,0,2,3,3,3],[1,0,2,0,0,0]],\"min_steps\":13},{\"id\":\"7038\",\"map\":[[4,2,3,3,2,3],[0,3,0,2,3,0],[0,0,0,2,0,2],[3,3,2,3,0,0],[0,3,0,3,2,3],[0,2,2,2,0,0],[1,3,0,0,3,0],[2,0,0,0,3,2],[0,0,3,0,0,0]],\"min_steps\":13},{\"id\":\"7011\",\"map\":[[0,1,0,0,2,0],[3,0,3,3,2,3],[0,3,3,2,0,0],[0,0,2,0,3,3],[2,3,2,0,0,0],[3,2,2,3,3,0],[2,0,2,2,0,4],[0,2,0,3,0,0],[0,0,0,3,0,3]],\"min_steps\":14},{\"id\":\"7017\",\"map\":[[2,0,0,3,0,3],[4,3,0,2,0,3],[3,0,0,0,3,0],[2,0,0,2,0,0],[3,0,0,3,0,0],[2,3,0,2,2,2],[1,3,3,0,2,2],[0,3,0,0,3,0],[0,2,0,3,3,2]],\"min_steps\":14},{\"id\":\"7019\",\"map\":[[0,3,0,2,3,1],[0,3,0,2,0,2],[0,2,2,0,3,3],[0,0,3,2,0,3],[0,0,3,2,2,0],[2,2,3,0,2,2],[0,3,0,0,3,0],[3,0,0,3,3,0],[0,0,0,3,0,4]],\"min_steps\":14},{\"id\":\"7021\",\"map\":[[0,0,0,0,2,4],[3,0,2,0,0,0],[3,0,2,3,3,3],[2,0,3,3,3,0],[2,0,0,0,2,3],[3,3,0,0,0,2],[1,0,3,0,2,2],[2,2,0,2,0,0],[0,0,3,3,0,3]],\"min_steps\":14},{\"id\":\"7022\",\"map\":[[4,0,0,0,0,0],[0,0,0,0,3,2],[3,3,2,3,3,2],[2,0,0,0,0,2],[0,0,3,0,3,3],[2,0,2,3,2,1],[3,2,3,0,0,3],[2,0,0,3,2,2],[3,3,0,0,0,0]],\"min_steps\":15},{\"id\":\"7028\",\"map\":[[0,2,1,3,0,2],[0,3,3,3,0,2],[0,0,0,3,0,2],[3,0,0,3,2,4],[2,0,0,3,2,2],[2,2,3,0,0,3],[0,2,0,0,0,0],[0,3,3,3,2,0],[0,3,0,3,0,0]],\"min_steps\":16},{\"id\":\"7034\",\"map\":[[1,0,0,3,2,0],[0,2,2,3,3,0],[3,0,0,2,0,3],[2,3,2,2,0,3],[0,0,3,0,0,3],[3,0,0,0,3,0],[2,3,0,3,2,4],[0,3,0,0,0,3],[0,2,0,0,2,2]],\"min_steps\":16},{\"id\":\"7012\",\"map\":[[1,3,3,3,0,0],[0,3,0,2,0,0],[0,0,0,3,0,2],[3,0,0,3,2,3],[0,0,2,0,0,3],[0,0,2,3,2,0],[2,2,3,2,3,2],[0,3,0,2,0,2],[0,3,4,3,0,0]],\"min_steps\":17},{\"id\":\"7013\",\"map\":[[0,1,0,0,3,3],[0,2,0,3,0,0],[2,3,0,0,0,0],[0,0,0,3,0,3],[0,3,0,2,3,2],[2,0,3,3,2,0],[0,2,2,3,0,2],[2,3,2,0,3,0],[0,3,3,0,2,4]],\"min_steps\":17},{\"id\":\"7018\",\"map\":[[0,0,0,0,0,2],[1,0,3,3,0,2],[3,3,0,3,2,3],[0,3,0,2,0,0],[0,3,0,0,2,2],[3,0,0,2,3,0],[0,3,3,3,0,0],[2,0,3,0,0,2],[2,4,2,0,3,2]],\"min_steps\":17},{\"id\":\"7042\",\"map\":[[1,2,0,0,3,0],[3,3,2,3,0,0],[0,0,2,0,2,2],[3,3,0,0,0,0],[3,0,3,3,0,3],[3,2,2,0,0,0],[4,2,3,0,2,2],[2,0,3,0,2,2],[2,0,3,0,3,2]],\"min_steps\":17},{\"id\":\"7043\",\"map\":[[0,0,3,0,1,0],[2,0,0,2,0,0],[3,0,3,0,2,2],[0,0,0,3,2,3],[2,3,2,3,2,3],[0,3,3,0,3,4],[0,3,3,2,3,0],[0,2,2,0,2,0],[2,2,0,0,3,2]],\"min_steps\":17},{\"id\":\"7044\",\"map\":[[0,0,1,3,0,4],[3,0,3,0,2,3],[2,2,3,2,3,0],[2,3,2,2,0,3],[0,3,0,0,3,0],[2,0,3,2,3,3],[0,3,2,2,3,0],[0,0,0,0,2,0],[2,0,2,2,0,0]],\"min_steps\":17},{\"id\":\"7045\",\"map\":[[2,3,2,0,0,3],[0,0,0,3,2,2],[3,0,0,3,0,0],[0,0,3,2,3,2],[2,3,2,3,3,1],[0,0,0,3,0,3],[3,2,0,0,2,0],[3,2,2,0,0,2],[0,4,0,3,2,2]],\"min_steps\":17},{\"id\":\"7046\",\"map\":[[0,3,0,2,0,0],[0,2,2,0,0,1],[0,0,3,3,3,2],[2,2,3,3,2,2],[3,3,3,0,2,3],[4,2,2,3,0,2],[0,0,3,2,0,2],[0,3,0,0,2,3],[0,0,0,3,0,0]],\"min_steps\":17},{\"id\":\"7047\",\"map\":[[3,2,4,3,2,0],[2,0,3,2,0,0],[2,3,3,2,3,0],[2,0,0,2,0,0],[2,3,0,0,0,0],[3,0,2,0,3,0],[2,2,3,0,2,0],[0,3,3,0,3,0],[1,2,3,2,0,3]],\"min_steps\":17},{\"id\":\"7048\",\"map\":[[2,0,3,4,2,2],[0,0,3,0,3,0],[2,0,0,2,3,3],[2,0,3,3,2,3],[0,0,0,0,0,0],[2,2,2,0,0,3],[3,3,3,3,2,2],[0,0,3,0,0,2],[3,1,2,0,2,0]],\"min_steps\":17}]]\r\n\r\n\r\n this.LEVEL_INFO.unshift([{\"id\":\"0001\",\"map\":[[3, 2, 2, 0, 2],[0, 0, 3, 3, 0],[1, 3, 0, 3, 2],[3, 0, 2, 3, 4],[3, 2, 3, 3, 2]],\"min_steps\":4}]);\r\n \r\n\r\n \r\n \r\n }\r\n\r\n\r\n static Authentication(){\r\n cc.fx.GameTool.Authentication();\r\n }\r\n}\r\n\r\n"]} \ No newline at end of file diff --git a/temp/quick-scripts/src/assets/Script/module/Sdk/DouyinEntranceView.js.map b/temp/quick-scripts/src/assets/Script/module/Sdk/DouyinEntranceView.js.map deleted file mode 100644 index d2438fc..0000000 --- a/temp/quick-scripts/src/assets/Script/module/Sdk/DouyinEntranceView.js.map +++ /dev/null @@ -1 +0,0 @@ -{"version":3,"sources":["assets\\Script\\module\\Sdk\\DouyinEntranceView.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,yBAAiD;AACjD,iDAAgD;AACxC,IAAA,OAAO,GAAe,eAAU,QAAzB,EAAE,QAAQ,GAAK,eAAU,SAAf,CAAgB;AAGzC;IAAwC,sCAAS;IAAjD;;IAuBA,CAAC;IAtBG,kCAAK,GAAL;IAEA,CAAC;IAED,mCAAM,GAAN,UAAO,SAAiB;IAExB,CAAC;IAED,yCAAY,GAAZ;QACI,IAAI,CAAC,IAAI,CAAC,MAAM,GAAG,KAAK,CAAC;IAC7B,CAAC;IAED,oDAAuB,GAAvB;QAEI,yBAAW,CAAC,gBAAgB,CAAC,iBAAiB,CAAC,UAAC,OAAgB;YAC5D,IAAI,OAAO,EAAE;gBACT,OAAO,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC;aACvB;iBAAM;gBACH,OAAO,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC;aACvB;QACL,CAAC,CAAC,CAAC;IACP,CAAC;IAtBQ,kBAAkB;QAD9B,OAAO,CAAC,oBAAoB,CAAC;OACjB,kBAAkB,CAuB9B;IAAD,yBAAC;CAvBD,AAuBC,CAvBuC,cAAS,GAuBhD;AAvBY,gDAAkB","file":"","sourceRoot":"/","sourcesContent":["import { _decorator, Component, Node } from 'cc';\r\nimport { MiniGameSdk } from './Sdk/MiniGameSdk';\r\nconst { ccclass, property } = _decorator;\r\n\r\n@ccclass('DouyinEntranceView')\r\nexport class DouyinEntranceView extends Component {\r\n start() {\r\n\r\n }\r\n\r\n update(deltaTime: number) {\r\n\r\n }\r\n\r\n onCloseClick() {\r\n this.node.active = false;\r\n }\r\n\r\n onNavigateToDouyinClick() {\r\n\r\n MiniGameSdk.BytedanceSidebar.navigateToSidebar((success: boolean) => { // 跳转到抖音侧边栏\r\n if (success) {\r\n console.log('跳转成功');\r\n } else {\r\n console.log('跳转失败');\r\n }\r\n });\r\n }\r\n}\r\n"]} \ No newline at end of file diff --git a/temp/quick-scripts/src/assets/Script/module/Sdk/Main.js.map b/temp/quick-scripts/src/assets/Script/module/Sdk/Main.js.map deleted file mode 100644 index 25a098c..0000000 --- a/temp/quick-scripts/src/assets/Script/module/Sdk/Main.js.map +++ /dev/null @@ -1 +0,0 @@ -{"version":3,"sources":["assets\\Script\\module\\Sdk\\Main.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,yBAAiD;AACjD,iDAAgD;AACxC,IAAA,OAAO,GAAe,eAAU,QAAzB,EAAE,QAAQ,GAAK,eAAU,SAAf,CAAgB;AAEzC,IAAK,SAEJ;AAFD,WAAK,SAAS;IACV,mDAAsC,CAAA;AAC1C,CAAC,EAFI,SAAS,KAAT,SAAS,QAEb;AAGD;IAA0B,wBAAS;IAAnC;;IAqSA,CAAC;IAjSG;;;;;;;;;OASG;IACH,oBAAK,GAAL;;QACI,WAAW;QACX,IAAI,CAAC,YAAY,CAAC,MAAM,GAAG,KAAK,CAAC;QAEjC,+BAA+B;QAC/B,IAAI,cAAc,SAAG,IAAI,CAAC,IAAI,CAAC,cAAc,CAAC,MAAM,CAAC,0CAAE,cAAc,CAAC,qBAAqB,CAAC,CAAC;QAC7F,IAAI,cAAc,EAAE;YAChB,OAAO;SACV;QAED,yBAAyB;QACzB,IAAI,yBAAW,CAAC,WAAW,EAAE,EAAE;YAC3B,cAAc;YACd,yBAAW,CAAC,gBAAgB,CAAC,YAAY,CAAC,UAAC,OAAgB;gBACvD,sBAAsB;gBACtB,cAAc,CAAC,MAAM,GAAG,OAAO,CAAC;YACpC,CAAC,CAAC,CAAC;SACN;aAAM;YACH,sBAAsB;YACtB,eAAe;YACf,cAAc,CAAC,MAAM,GAAG,IAAI,CAAC;SAChC;QAED,sBAAsB;QACtB,yBAAW,CAAC,gBAAgB,CAAC,iBAAiB,CAAC,UAAC,OAAgB;YAC5D,gBAAgB;YAChB,IAAI,OAAO,EAAE;gBACT,yBAAW,CAAC,GAAG,CAAC,SAAS,CAAC,OAAO,EAAE,CAAC,CAAC,CAAC;aACzC;QACL,CAAC,CAAC,CAAC;IACP,CAAC;IAED,qBAAM,GAAN,UAAO,SAAiB;IAExB,CAAC;IAED;;;;;;;;;;;OAWG;IACH,2BAAY,GAAZ;QACI,gBAAgB;QAChB,yBAAW,CAAC,aAAa,CAAC,QAAQ,CAAC,UAAU,CAAC,yBAAyB,CAAC,CAAC;QAEzE,cAAc;QACd,WAAW;QACX,yBAAW,CAAC,aAAa,CAAC,QAAQ,CAAC,UAAU,EAAE,CAAC;QAEhD,qBAAqB;QACrB,kBAAkB;QAClB,mHAAmH;QAEnH,qBAAqB;QACrB,WAAW;QACX,oGAAoG;IACxG,CAAC;IAED;;;;;;;;;OASG;IACH,2BAAY,GAAZ;QACI,yBAAW,CAAC,aAAa,CAAC,QAAQ,CAAC,UAAU,EAAE,CAAC;IACpD,CAAC;IAED;;;;;;OAMG;IACH,iCAAkB,GAAlB;QACI,yBAAW,CAAC,aAAa,CAAC,QAAQ,CAAC,gBAAgB,CAAC,yBAAyB,CAAC,CAAC;IACnF,CAAC;IAED;;;;;OAKG;IACH,2BAAY,GAAZ;QACI,gBAAgB;QAChB,yBAAW,CAAC,aAAa,CAAC,QAAQ,CAAC,UAAU,CAAC,SAAS,CAAC,UAAU,CAAC,CAAC;QACpE,eAAe;QACf,yBAAW,CAAC,aAAa,CAAC,QAAQ,CAAC,UAAU,CAAC,SAAS,CAAC,UAAU,CAAC,CAAC;IACxE,CAAC;IAED;;;;;;OAMG;IACH,2BAAY,GAAZ;QACI,yBAAW,CAAC,aAAa,CAAC,QAAQ,CAAC,UAAU,CAAC,SAAS,CAAC,UAAU,CAAC,CAAC;IACxE,CAAC;IAED;;;;;;;OAOG;IACH,0BAAW,GAAX;QACI,sBAAsB;QACtB,YAAY;QACZ,0BAA0B;QAC1B,+BAA+B;QAC/B,yBAAW,CAAC,aAAa,CAAC,QAAQ,CAAC,SAAS,CAAC,oBAAoB,EAAE,UAAC,GAA+B,EAAE,KAAa;YAC9G,cAAc;YACd,OAAO,CAAC,GAAG,CAAC,cAAc,EAAE,KAAK,CAAC,CAAC;YAEnC,sBAAsB;YACtB,QAAQ,GAAG,EAAE;gBACT,KAAK,yBAAW,CAAC,cAAc,CAAC,MAAM;oBAClC,mBAAmB;oBACnB,yBAAW,CAAC,GAAG,CAAC,SAAS,CAAC,aAAa,CAAC,CAAC;oBACzC,MAAM;gBACV,KAAK,yBAAW,CAAC,cAAc,CAAC,MAAM;oBAClC,oBAAoB;oBACpB,yBAAW,CAAC,GAAG,CAAC,SAAS,CAAC,aAAa,CAAC,CAAC;oBACzC,MAAM;gBACV,KAAK,yBAAW,CAAC,cAAc,CAAC,KAAK;oBACjC,kBAAkB;oBAClB,yBAAW,CAAC,GAAG,CAAC,SAAS,CAAC,cAAc,CAAC,CAAC;oBAC1C,MAAM;gBACV;oBACI,YAAY;oBACZ,MAAM;aACb;QACL,CAAC,CAAC,CAAC;IACP,CAAC;IAED;;;;;;;;OAQG;IACH,sBAAO,GAAP;QACI,yBAAW,CAAC,GAAG,CAAC,iBAAiB,CAAC,OAAO,CAAC,CAAC;IAC/C,CAAC;IAED;;;;;OAKG;IACH,0BAAW,GAAX;QACI,yBAAW,CAAC,GAAG,CAAC,SAAS,CAAC,WAAW,CAAC,CAAC;IAC3C,CAAC;IAED;;;;;;;;OAQG;IACH,yBAAU,GAAV;QACI,yBAAW,CAAC,GAAG,CAAC,OAAO,EAAE,CAAC;IAC9B,CAAC;IAED;;;;;;;;;;OAUG;IACH,uBAAQ,GAAR;QACI,yBAAW,CAAC,GAAG,CAAC,MAAM,EAAE,CAAC;IAC7B,CAAC;IAED;;;;OAIG;IACH,qBAAM,GAAN;QACI,yBAAW,CAAC,GAAG,CAAC,IAAI,EAAE,CAAC;IAC3B,CAAC;IAED;;;;;;;;OAQG;IACH,8BAAe,GAAf;QACI,yBAAW,CAAC,GAAG,CAAC,aAAa,EAAE,CAAC;IACpC,CAAC;IAED;;;;;;;OAOG;IACH,yBAAU,GAAV;QACI,yBAAW,CAAC,GAAG,CAAC,UAAU,CAAC,KAAK,CAAC,CAAC,CAAC,gBAAgB;IACvD,CAAC;IAED;;;;;OAKG;IACH,sCAAuB,GAAvB;QACI,IAAI,CAAC,YAAY,CAAC,MAAM,GAAG,IAAI,CAAC;IACpC,CAAC;IAED;;;;;OAKG;IACH,6BAAc,GAAd;QACI,uCAAuC;QACvC,yBAAW,CAAC,GAAG,CAAC,KAAK,CAAC,UAAC,IAAY,EAAE,aAAqB;YACtD,eAAe;YACf,OAAO,CAAC,GAAG,CAAC,2BAA2B,EAAE,IAAI,CAAC,CAAC;YAC/C,cAAc;YACd,OAAO,CAAC,GAAG,CAAC,2BAA2B,EAAE,aAAa,CAAC,CAAC;QAC5D,CAAC,CAAC,CAAC;IACP,CAAC;IAED;;;;;;OAMG;IACH,2BAAY,GAAZ;QACI,mCAAmC;QACnC,yBAAW,CAAC,QAAQ,CAAC,QAAQ,CAAC,MAAM,CAChC,yBAAW,CAAC,aAAa,CAAC,KAAK,EAC/B,EAAE,GAAG,EAAE,GAAG,EAAE,IAAI,EAAE,CAAC,EAAE,EACrB,EAAE,KAAK,EAAE,EAAE,EAAE,MAAM,EAAE,EAAE,EAAE,CAAC,CAAC;QAC/B,YAAY;QACZ,yBAAW,CAAC,QAAQ,CAAC,QAAQ,CAAC,IAAI,EAAE,CAAC;IACzC,CAAC;IAlSD;QADC,QAAQ,CAAC,SAAI,CAAC;8CACI;IAFV,IAAI;QADhB,OAAO,CAAC,MAAM,CAAC;OACH,IAAI,CAqShB;IAAD,WAAC;CArSD,AAqSC,CArSyB,cAAS,GAqSlC;AArSY,oBAAI","file":"","sourceRoot":"/","sourcesContent":["import { _decorator, Component, Node } from 'cc';\r\nimport { MiniGameSdk } from './Sdk/MiniGameSdk';\r\nconst { ccclass, property } = _decorator;\r\n\r\nenum EWechatAD {\r\n CUMSTOM_01 = 'adunit-f7c2417eb2c2e473'\r\n}\r\n\r\n@ccclass('Main')\r\nexport class Main extends Component {\r\n @property(Node)\r\n entranceView: Node;\r\n\r\n /**\r\n * 开始游戏前的初始化操作。\r\n * 主要负责检查并处理游戏入口按钮的激活状态,以及在特定环境下设置侧边栏的监听器。\r\n * \r\n * @remarks\r\n * 此方法首先将游戏入口视图设为非激活状态,以准备进行后续的检查和设置。\r\n * 如果当前环境是抖音小游戏,会检查是否存在侧边栏,并根据检查结果激活或禁用游戏入口按钮。\r\n * 对于非抖音小游戏环境,直接激活游戏入口按钮。\r\n * 此外,无论环境如何,都会设置一个监听器,以处理来自侧边栏的事件,如成功触发时显示奖励提示。\r\n */\r\n start() {\r\n // 禁用游戏入口视图\r\n this.entranceView.active = false;\r\n\r\n // 尝试获取游戏入口按钮,如果存在则直接返回,不进行后续操作\r\n let buttonEntrance = this.node.getChildByName('Btns')?.getChildByName('Button_EntranceView');\r\n if (buttonEntrance) {\r\n return;\r\n }\r\n\r\n // 如果是字节跳动小游戏环境,检查侧边栏是否存在\r\n if (MiniGameSdk.isBytedance()) {\r\n //抖音环境,检测侧边栏存在\r\n MiniGameSdk.BytedanceSidebar.checkSideBar((success: boolean) => {\r\n // 根据侧边栏存在性激活或禁用游戏入口按钮\r\n buttonEntrance.active = success;\r\n });\r\n } else {\r\n // 非抖音小游戏环境,直接激活游戏入口按钮\r\n // 非抖音环境,正常显示按钮\r\n buttonEntrance.active = true;\r\n }\r\n\r\n // 设置监听器,以处理来自侧边栏的交互事件\r\n MiniGameSdk.BytedanceSidebar.listenFromSidebar((success: boolean) => {\r\n // 如果交互成功,显示奖励提示\r\n if (success) {\r\n MiniGameSdk.API.showToast('侧边栏奖励', 5);\r\n }\r\n });\r\n }\r\n\r\n update(deltaTime: number) {\r\n\r\n }\r\n\r\n /**\r\n * 弹出广告横幅。\r\n * 此方法用于加载并显示广告横幅。它首先加载指定广告位的横幅广告,然后显示广告。\r\n * 加载广告和显示广告是通过MiniGameSdk.AdvertManager的实例方法来实现的。\r\n * \r\n * @remarks\r\n * 此方法提供了两种显示横幅广告的方式:\r\n * 1. 默认方式:调用showBanner方法显示广告,系统会自动选择显示位置。\r\n * 2. 指定位置方式:可以通过传入额外的参数来指定广告显示在屏幕的顶部或底部,或者通过坐标指定显示位置。\r\n * \r\n * 示例代码中注释掉了两种显示广告的具体方法,可以根据实际需求选择使用。\r\n */\r\n onShowBanner() {\r\n // 加载指定广告位的横幅广告。\r\n MiniGameSdk.AdvertManager.instance.loadBanner('adunit-4e7ef467e3eaab51');\r\n\r\n // 默认方式显示横幅广告。\r\n // 方法1:默认调用\r\n MiniGameSdk.AdvertManager.instance.showBanner();\r\n\r\n // 示例:指定屏幕底部正中显示横幅广告。\r\n // 方法2:指定屏幕顶部或底部正中\r\n // MiniGameSdk.AdvertManager.instance.showBanner('adunit-4e7ef467e3eaab51', MiniGameSdk.EAdBannerLocation.BOTTOM); \r\n\r\n // 示例:通过坐标指定位置显示横幅广告。\r\n // 方法2:指定坐标\r\n // MiniGameSdk.AdvertManager.instance.showBanner('adunit-4e7ef467e3eaab51', { top: 10, left: 10 }); \r\n }\r\n\r\n /**\r\n * 隐藏广告横幅的函数。\r\n * \r\n * 该函数调用MiniGameSdk.AdvertManager实例的方法,用于隐藏广告横幅。\r\n * 当需要暂时停止展示广告或用户主动请求隐藏广告时,可以调用此函数。\r\n * \r\n * @remarks\r\n * 此函数不接受任何参数,也不返回任何值。\r\n * 它单纯地触发广告横幅的隐藏操作,具体实现依赖于AdvertManager的实现。\r\n */\r\n onHideBanner() {\r\n MiniGameSdk.AdvertManager.instance.hideBanner();\r\n }\r\n\r\n /**\r\n * 显示插屏广告的函数。\r\n * \r\n * 此函数调用MiniGameSdk.AdvertManager实例的方法,以显示一个指定的插屏广告。\r\n * 它使用了硬编码的广告单元标识符,这意味着它专为特定的广告位设计。\r\n * 在实际应用中,可能需要根据应用的配置或用户的特定条件来动态选择广告单元标识符。\r\n */\r\n onShowInterstitial() {\r\n MiniGameSdk.AdvertManager.instance.showInterstitial('adunit-eadd67851d3050ad');\r\n }\r\n\r\n /**\r\n * 调用广告管理器加载并展示自定义广告。\r\n * 此方法首先通过广告管理器的实例加载指定的自定义广告单元,然后展示这个自定义广告。\r\n * 加载和展示广告是广告管理系统中的常见操作,这里通过两步分别完成加载和展示的过程,\r\n * 以确保广告在展示前正确且充分地被加载。\r\n */\r\n onShowCustom() {\r\n // 加载指定的自定义广告单元。\r\n MiniGameSdk.AdvertManager.instance.loadCustom(EWechatAD.CUMSTOM_01);\r\n // 展示已加载的自定义广告。\r\n MiniGameSdk.AdvertManager.instance.showCustom(EWechatAD.CUMSTOM_01);\r\n }\r\n\r\n /**\r\n * 隐藏自定义广告。\r\n * \r\n * 本函数调用MiniGameSdk.AdvertManager.instance.hideCustom()来隐藏自定义广告。\r\n * 这是对接广告管理系统的一部分,用于控制广告的显示与隐藏。\r\n * 在需要隐藏自定义广告的场景下,调用此函数即可实现相应功能。\r\n */\r\n onHideCustom() {\r\n MiniGameSdk.AdvertManager.instance.hideCustom(EWechatAD.CUMSTOM_01);\r\n }\r\n\r\n /**\r\n * 触发显示视频广告的函数。\r\n * 通过调用MiniGameSdk.AdvertManager.instance.showVideo方法,显示一个视频广告,并根据用户观看广告的情况执行相应的逻辑。\r\n * \r\n * @remarks\r\n * 此函数首先传入一个广告单元ID,用于标识要显示的视频广告。然后传入一个回调函数,该回调函数在用户观看广告后被调用,无论用户是完成了观看、拒绝了观看还是观看过程中发生了错误。\r\n * 回调函数接收两个参数:一个是用户观看广告的结果,另一个是用户观看的广告数量。根据观看结果的不同,显示不同的提示信息。\r\n */\r\n onShowVideo() {\r\n // 广告单元ID,用于标识要显示的视频广告\r\n // 广告单元ID的样例\r\n //抖音形如: 1re3nfqkmy81m4m8ge\r\n //微信形如: adunit-a7718f6e195e42fe\r\n MiniGameSdk.AdvertManager.instance.showVideo('1re3nfqkmy81m4m8ge', (res: MiniGameSdk.EAdVideoResult, count: number) => {\r\n // 输出用户观看的广告数量\r\n console.log('用户看的视频广告个数是:', count);\r\n\r\n // 根据用户观看广告的结果,执行不同的逻辑\r\n switch (res) {\r\n case MiniGameSdk.EAdVideoResult.ACCEPT:\r\n // 用户完成了广告观看,显示奖励提示\r\n MiniGameSdk.API.showToast('用户看完广告,可以奖励');\r\n break;\r\n case MiniGameSdk.EAdVideoResult.REJECT:\r\n // 用户拒绝了广告观看,显示不奖励提示\r\n MiniGameSdk.API.showToast('用户拒绝掉广告,不奖励');\r\n break;\r\n case MiniGameSdk.EAdVideoResult.ERROR:\r\n // 广告播放发生错误,显示错误提示\r\n MiniGameSdk.API.showToast('播放广告发生错误,不奖励');\r\n break;\r\n default:\r\n // 其他情况,不作处理\r\n break;\r\n }\r\n });\r\n }\r\n\r\n /**\r\n * 引导用户分享应用给朋友。\r\n * \r\n * 通过调用MiniGameSdk的API分享功能,向用户的朋友圈发送邀请,邀请他们一起玩游戏。\r\n * 这是一个重要的推广手段,可以增加应用的曝光度和用户量。\r\n * \r\n * @remarks\r\n * 此方法中调用的API依赖于特定的小游戏平台,因此在不同的平台上可能需要不同的实现。\r\n */\r\n onShare() {\r\n MiniGameSdk.API.shareAppToFriends('来玩游戏吧');\r\n }\r\n\r\n /**\r\n * 显示一个toast提示。\r\n * \r\n * 通过调用MiniGameSdk的API方法来显示一个简短的提示信息。toast是一种轻量级的提示方式,用于在界面上短暂地展示一些信息,不影响用户操作。\r\n * 这里使用了固定的提示文本 '这是一个toast',在实际应用中,可以根据需要动态设置提示文本。\r\n */\r\n onShowToast() {\r\n MiniGameSdk.API.showToast('这是一个toast');\r\n }\r\n\r\n /**\r\n * 触发设备振动功能。\r\n * \r\n * 该方法用于调用MiniGameSdk提供的API,以实现设备的振动功能。当需要提醒用户或提供触觉反馈时,可以调用此方法。\r\n * 例如,在游戏或应用中,当用户完成特定操作或发生特定事件时,可以通过振动给予用户反馈。\r\n * \r\n * @remarks\r\n * 此方法无参数,也不返回任何值。\r\n */\r\n onVirbrate() {\r\n MiniGameSdk.API.vibrate();\r\n }\r\n\r\n /**\r\n * 重新启动游戏实例。\r\n * \r\n * 此函数调用MiniGameSdk中的API重新启动游戏。重新启动操作可能是为了初始化游戏环境、重置游戏状态或处理其他需要重启的场景。\r\n * 调用此函数后,游戏将会重新开始,当前的游戏状态将会被清除。\r\n * \r\n * @remarks\r\n * 此函数不接受任何参数。\r\n * \r\n * @returns 无返回值。\r\n */\r\n onReboot() {\r\n MiniGameSdk.API.reboot();\r\n }\r\n\r\n /**\r\n * 当前函数用于在迷你游戏中实现退出功能。\r\n * 它调用了MiniGameSdk提供的API方法来触发退出操作。\r\n * 该方法通常在需要结束当前迷你游戏或返回到上一级菜单时被调用。\r\n */\r\n onExit() {\r\n MiniGameSdk.API.exit();\r\n }\r\n\r\n /**\r\n * 显示分享菜单。\r\n * \r\n * 通过调用MiniGameSdk的API方法,触发显示分享菜单的操作。此函数旨在提供一个统一的入口,\r\n * 以便在需要时轻松调用分享功能,而无需直接与具体的SDK接口交互。\r\n * \r\n * @remarks\r\n * 此方法不接受任何参数,也不返回任何值。\r\n */\r\n onShowShareMenu() {\r\n MiniGameSdk.API.showShareMenu();\r\n }\r\n\r\n /**\r\n * 导航到指定的小游戏。\r\n * \r\n * 本函数用于触发导航到一个特定的小游戏。这需要提供目标小游戏的ID,\r\n * 以便系统能够正确地将用户重定向到目标小游戏。\r\n * \r\n * 注意:这里的'xxx'是占位符,实际使用时需要替换为具体的小游戏ID。\r\n */\r\n onNavigate() {\r\n MiniGameSdk.API.navigateTo('xxx'); // xxx替换为你的小游戏id\r\n }\r\n\r\n /**\r\n * 激活字节跳动入口视图。\r\n * \r\n * 此方法用于将字节跳动入口视图设置为活跃状态。当需要在用户界面中显示字节跳动的入口时,\r\n * 可以调用此方法来激活相应的视图元素,使其对用户可见。\r\n */\r\n onBytedanceEntranceView() {\r\n this.entranceView.active = true;\r\n }\r\n\r\n /**\r\n * 请求登录代码\r\n * \r\n * 本函数用于触发小程序的登录流程,获取微信或头条等第三方平台的登录代码。\r\n * 这些代码可以用于后续的用户身份验证和数据同步流程。\r\n */\r\n onGetLoginCode() {\r\n // 调用MiniGameSdk的API登录方法,传入一个回调函数处理登录结果\r\n MiniGameSdk.API.login((code: string, anonymousCode: string) => {\r\n // 打印微信或头条的登录代码\r\n console.log('Wechat Or Bytedance Code:', code);\r\n // 打印头条的匿名登录代码\r\n console.log('Bytedance Anonymous Code:', anonymousCode);\r\n });\r\n }\r\n\r\n /**\r\n * 创建并显示游戏圈按钮\r\n * \r\n * 本函数通过调用MiniGameSdk的GameClub实例方法,实现游戏俱乐部的创建和显示。\r\n * 它首先配置俱乐部的图标类型和位置大小,然后创建俱乐部,最后显示俱乐部。\r\n * 这样做是为了在小游戏内创建并展示一个游戏俱乐部的图标,供玩家加入或互动。\r\n */\r\n onCreateClub() {\r\n // 配置俱乐部图标为绿色,设置图标的位置为顶部200像素,左侧0像素\r\n MiniGameSdk.GameClub.instance.create(\r\n MiniGameSdk.EGameClubIcon.GREEN,\r\n { top: 200, left: 0 },\r\n { width: 50, height: 50 });\r\n // 显示游戏俱乐部图标\r\n MiniGameSdk.GameClub.instance.show();\r\n }\r\n}\r\n"]} \ No newline at end of file diff --git a/temp/quick-scripts/src/assets/Script/module/Sdk/MiniGameSdk.js.map b/temp/quick-scripts/src/assets/Script/module/Sdk/MiniGameSdk.js.map deleted file mode 100644 index cfa82e1..0000000 --- a/temp/quick-scripts/src/assets/Script/module/Sdk/MiniGameSdk.js.map +++ /dev/null @@ -1 +0,0 @@ -{"version":3,"sources":["assets\\Script\\module\\Sdk\\MiniGameSdk.ts"],"names":[],"mappings":"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","file":"","sourceRoot":"/","sourcesContent":["/**\r\n * 小游戏平台SDK工具封装,目前只支持微信和抖音平台\r\n */\r\nexport namespace MiniGameSdk {\r\n\r\n interface ISize {\r\n width: number;\r\n height: number;\r\n }\r\n\r\n export interface IPosition {\r\n top: number;\r\n left: number;\r\n }\r\n\r\n export function isWechat(): boolean {\r\n //@ts-ignore\r\n return window.wx !== null && window.wx !== undefined;\r\n }\r\n\r\n export function isBytedance(): boolean {\r\n //@ts-ignore\r\n return window.tt !== null && window.tt !== undefined;\r\n }\r\n\r\n function getSysWinSize(): ISize {\r\n let sys: any;\r\n if (isWechat()) {\r\n // @ts-ignore\r\n sys = wx.getSystemInfoSync();\r\n } else if (isBytedance()) {\r\n // @ts-ignore\r\n sys = tt.getSystemInfoSync();\r\n }\r\n\r\n let size: ISize = { width: 0, height: 0 };\r\n if (sys) {\r\n size.width = sys.windowWidth;\r\n size.height = sys.windowHeight;\r\n }\r\n\r\n return size;\r\n }\r\n\r\n /**\r\n * 插屏广告。微信抖音都支持!\r\n */\r\n class ADInterstitial {\r\n private _adUid: string;\r\n private _interstitial: any;\r\n\r\n get aduid() {\r\n return this._adUid;\r\n }\r\n\r\n constructor(adUid: string) {\r\n this._adUid = adUid;\r\n }\r\n\r\n show() {\r\n // @ts-ignore\r\n if (isWechat() && !wx.createInterstitialAd) {\r\n console.warn('wechat unsupport interstitial AD!');\r\n this._interstitial = null;\r\n return;\r\n }\r\n\r\n // @ts-ignore\r\n if (isBytedance() && !tt.createInterstitialAd) {\r\n console.warn('bytedance unsupport interstitial AD!');\r\n this._interstitial = null;\r\n return;\r\n }\r\n\r\n\r\n if (this._interstitial) {\r\n this._interstitial.load();\r\n } else {\r\n if (isWechat()) {\r\n // @ts-ignore\r\n this._interstitial = wx.createInterstitialAd({ adUnitId: this._adUid });\r\n } else if (isBytedance()) {\r\n // @ts-ignore\r\n this._interstitial = tt.createInterstitialAd({ adUnitId: this._adUid });\r\n } else {\r\n this._interstitial = null;\r\n }\r\n\r\n this._interstitial?.onLoad(() => {\r\n console.log('load interstitial ad success');\r\n this._interstitial.show().catch((err: any) => {\r\n console.log('catch interstitial ad error:', err);\r\n });\r\n });\r\n\r\n this._interstitial?.onError((err: any) => {\r\n console.log('interstitial ad on error:', err);\r\n });\r\n }\r\n }\r\n destory() {\r\n this._interstitial?.destroy();\r\n }\r\n }\r\n\r\n class ADBanner {\r\n private _adUid: string;\r\n private _banner: any;\r\n\r\n get aduid() {\r\n return this._adUid;\r\n }\r\n\r\n /**\r\n * 抖音和微信都支持\r\n * 横幅广告。预估宽度默认为300,预估高度为140。如果你不确定就按默认值来。\r\n * @param adUid 广告UID,后端配置\r\n * @param isTop 是否在屏幕顶部展示。内部会自动居中计算位置。\r\n * @param bannerWidth 横幅广告的预估宽度。默认300\r\n * @param autoShow 广告加载完成后是否立刻显示,默认为不显示\r\n */\r\n constructor(adUid: string, param: boolean | IPosition, bannerWidth: number = 300, autoShow: boolean = false) {\r\n this._adUid = adUid;\r\n this.create(autoShow, bannerWidth, param); // 默认300比较合适\r\n }\r\n\r\n private create(autoShow: boolean, bannerWidth: number, param: boolean | IPosition) {\r\n if (!isWechat() && !isBytedance()) {\r\n this._banner = null;\r\n return;\r\n }\r\n\r\n this.destroy();\r\n\r\n let winSize = getSysWinSize();\r\n\r\n let height = bannerWidth * 0.4;\r\n let top = 0, left = 0;\r\n\r\n if (typeof param === \"boolean\") {\r\n left = (winSize.width - bannerWidth) / 2\r\n top = param ? 5 : (winSize.height - height);\r\n } else {\r\n left = param.left;\r\n top = param.top;\r\n }\r\n\r\n let params = {\r\n adUnitId: this._adUid,\r\n adIntervals: 30,// 自动刷新频率不能小于30秒\r\n style: { left: left, top: top, width: bannerWidth }\r\n }\r\n\r\n if (isWechat()) {\r\n // @ts-ignore\r\n this._banner = wx.createBannerAd(params);\r\n } else if (isBytedance()) {\r\n // @ts-ignore\r\n this._banner = tt.createBannerAd(params);\r\n } else {\r\n this._banner = null;\r\n }\r\n\r\n this._banner?.onError((err: any) => {\r\n console.log('ad banner error:', err);\r\n });\r\n\r\n this._banner?.onLoad(() => {\r\n autoShow && this._banner.show();\r\n });\r\n }\r\n\r\n show() {\r\n this._banner?.show();\r\n }\r\n\r\n hide() {\r\n this._banner?.hide();\r\n }\r\n\r\n destroy() {\r\n this._banner?.destroy();\r\n }\r\n }\r\n\r\n class ADCustom {\r\n private _adUid: string;\r\n private _adCustom: any;\r\n\r\n get aduid() {\r\n return this._adUid;\r\n }\r\n /**\r\n * 由于原生模板广告在微信服务后端可以定制宽度大小,个数,缩放比例等,所以位置调整要根据设置的宽度来定。抖音不支持!\r\n * @param adUid 广告UID,后端配置\r\n * @param top 从左上角开始,距离屏幕顶部的距离。注意:这个数据为设备屏幕宽度width。如果需要获取屏幕的像素,需要乘以设备像素比Pixel-Ratio,例如iPhone 13 Pro的Pixel-Ratio为3,像素为Width*3。\r\n * @param left 从左上角开始,距离屏幕最左边的距离。注意:这个数据为设备屏幕宽度width。如果需要获取屏幕的像素,需要乘以设备像素比Pixel-Ratio,例如iPhone 13 Pro的Pixel-Ratio为3,像素为Width*3。\r\n * @param scale 原生模板广告的尺寸,默认为1,即100%。此值在微信服务后端广告中获得,默认为100%,目前有100%,90%,80%三种,一般情况不用修改。若有修改,记得传入值,例如90%就传入0.9。\r\n */\r\n constructor(adUid: string, top: number = 0, left: number = 0, scale: number = 1.0) {\r\n this._adUid = adUid;\r\n this.createCustomAd(top, left, scale);\r\n }\r\n\r\n private createCustomAd(top: number, left: number, scale: number) {\r\n if (!isWechat()) { // only wechat support custom ad\r\n this._adCustom = null;\r\n console.log('Only wechat support Custom Ad');\r\n return;\r\n }\r\n\r\n this.destroy();\r\n // 原生模板5个应用宽度为375,若设置了缩放比例,则宽度也需要设置\r\n // let width = 375 * this._scale;\r\n // let newLeft = (sys.windowWidth - width) / 2;\r\n // let newTop = sys.windowHeight / 2; // 120是预估高度\r\n\r\n // @ts-ignore\r\n this._adCustom = wx.createCustomAd({\r\n adUnitId: this._adUid,\r\n style: { left: left, top: top, fixed: true }\r\n });\r\n\r\n this._adCustom?.onError((err: any) => {\r\n console.log('ad custom error:', err);\r\n });\r\n }\r\n show() {\r\n this._adCustom?.show();\r\n }\r\n\r\n hide() {\r\n this._adCustom?.hide();\r\n }\r\n\r\n destroy() {\r\n this._adCustom?.destroy();\r\n }\r\n }\r\n\r\n\r\n /**\r\n * 视频广告用户点击行为结果\r\n */\r\n export enum EAdVideoResult {\r\n /**\r\n * 用户看完了广告,游戏可发放奖励。\r\n */\r\n ACCEPT,\r\n\r\n /**\r\n * 用户中途关闭了广告,即未看完状态。不可发放奖励。\r\n */\r\n REJECT,\r\n\r\n /**\r\n * 广告组件内部发生了错误。不可发放奖励。\r\n */\r\n ERROR,\r\n }\r\n\r\n class ADVideo {\r\n private _adUid: string;\r\n private _adVideo: any = null;\r\n\r\n get aduid() {\r\n return this._adUid;\r\n }\r\n\r\n constructor(adUid: string) {\r\n this._adUid = adUid;\r\n }\r\n\r\n /**\r\n * 由于微信和抖音视频广告机制不同,微信可以看的视频广告个数只有0和1个,抖音平台则可以看0~maxVideoCount\r\n * @param onResult 两个参数:第一个res是EAdVideoResult定义,第二count是用户看了多少个视频广告。\r\n * @param target onResult的拥有者\r\n * @param maxVideoCount 可以连续看最大视频个数,可最大化商业效率。默认为3个。\r\n * @returns \r\n */\r\n show(onResult: (res: EAdVideoResult, count: number) => void, target?: any, maxVideoCount: number = 3): void {\r\n let callback = (state: EAdVideoResult, count: number) => {\r\n onResult?.call(target, state, count);\r\n }\r\n\r\n if (!isWechat() && !isBytedance()) {\r\n callback(EAdVideoResult.ACCEPT, 1);\r\n this._adVideo = null;\r\n return;\r\n }\r\n\r\n let onAdVideoClosed = (res: any) => {\r\n this._adVideo?.offClose(onAdVideoClosed);\r\n if (isWechat()) {\r\n if (res && res.isEnded || res === undefined) {\r\n callback(EAdVideoResult.ACCEPT, 1);\r\n } else {\r\n callback(EAdVideoResult.REJECT, 0);\r\n }\r\n } else if (isBytedance()) {\r\n let resConverted = res as { isEnded: boolean, count: number };\r\n if (resConverted && resConverted.count > 0) {\r\n callback(EAdVideoResult.ACCEPT, resConverted.count);\r\n } else {\r\n callback(EAdVideoResult.REJECT, 0);\r\n }\r\n }\r\n }\r\n\r\n this._adVideo?.offClose(onAdVideoClosed);\r\n\r\n if (isWechat()) {\r\n // @ts-ignore\r\n this._adVideo = wx.createRewardedVideoAd({\r\n adUnitId: this._adUid\r\n });\r\n } else if (isBytedance()) {\r\n // @ts-ignore\r\n this._adVideo = tt.createRewardedVideoAd({\r\n adUnitId: this._adUid,\r\n multiton: true,\r\n multitonRewardMsg: ['多1次奖励', '再多一次奖励', '再多一次奖励'],\r\n multitonRewardTimes: maxVideoCount,\r\n });\r\n } else {\r\n this._adVideo = null;\r\n }\r\n\r\n\r\n this._adVideo?.onLoad(() => {\r\n console.log('Ad load success');\r\n });\r\n\r\n this._adVideo?.onError((err: { errMsg: string, errCode: number }) => {\r\n console.log('Ad video error:', err);\r\n callback(EAdVideoResult.ERROR, 0);\r\n });\r\n\r\n this._adVideo?.onClose(onAdVideoClosed);\r\n\r\n this._adVideo?.show().catch(() => {\r\n this._adVideo?.load().then(() =>\r\n this._adVideo?.show()).catch((err: { errMsg: string, errCode: number }) => {\r\n console.log('Catch video ad error:', err);\r\n callback(EAdVideoResult.ERROR, 0);\r\n });\r\n });\r\n }\r\n\r\n destory() {\r\n this._adVideo?.destory();\r\n }\r\n }\r\n\r\n export enum EAdBannerLocation {\r\n /**\r\n * 屏幕顶部\r\n */\r\n TOP,\r\n\r\n /**\r\n * 屏幕底部\r\n */\r\n BOTTOM,\r\n }\r\n\r\n export class AdvertManager {\r\n\r\n private static _instance: AdvertManager;\r\n\r\n static get instance(): AdvertManager {\r\n if (!AdvertManager._instance) {\r\n AdvertManager._instance = new AdvertManager();\r\n }\r\n return AdvertManager._instance;\r\n }\r\n\r\n private _video: ADVideo;\r\n private _interstitial: ADInterstitial;\r\n private _banner: ADBanner;\r\n private _customs: Record = {};\r\n\r\n private constructor() {\r\n\r\n }\r\n\r\n /**\r\n * 预加载横幅广告,不会显示。只有你在调用showBanner时才会显示。\r\n * 可重复调用,但是会销毁上一次的实例。一般情况,全局有一个就行了,太多占用内存,而且没必要。\r\n * @param adUid 广告UID\r\n * @param location 位置有两种情况:1、可以传入枚举值,默认上方; 2、可以自定义位置传入IPosition,注意IPosition中的top和left跟平台的top,left是一致(没有乘以设备像素比ratio),需要开发者自己调试位置\r\n * @param scale 默认为跟屏幕一样的宽度,可以通过设置缩放比例来调整大小。当然,平台有规定最大或最小宽度,函数内部会自动计算。\r\n */\r\n public loadBanner(adUid: string, location: EAdBannerLocation | IPosition = EAdBannerLocation.TOP, scale: number = 1.0) {\r\n this._banner?.destroy();\r\n let size: ISize = getSysWinSize();\r\n // 当 style.width 小于 300 时,会取作 300。 当 style.width 大于屏幕宽度时,会取作屏幕宽度。\r\n let width = size.width * scale;\r\n width = width < 300 ? 300 : width; // 最小值矫正\r\n width = width > size.width ? size.width : width; //最大值矫正\r\n this._banner = typeof location === 'number' ? new ADBanner(adUid, location === EAdBannerLocation.TOP, width, false) : new ADBanner(adUid, location, width, false);\r\n }\r\n\r\n /**\r\n * 显示横幅广告\r\n */\r\n public showBanner() {\r\n if (this._banner) {\r\n this._banner.show();\r\n } else {\r\n console.warn('MiniGameSDK: banner is null, you must call loadBanner(...) first!');\r\n }\r\n }\r\n\r\n /**\r\n * 隐藏横幅广告\r\n */\r\n public hideBanner() {\r\n this._banner?.hide();\r\n }\r\n\r\n /**\r\n * 弹出插屏广告\r\n * @param adUid 广告单元id\r\n */\r\n public showInterstitial(adUid: string) {\r\n if (this._interstitial && this._interstitial.aduid === adUid) {\r\n this._interstitial.show();\r\n } else {\r\n this._interstitial?.destory();\r\n this._interstitial = new ADInterstitial(adUid);\r\n this._interstitial.show();\r\n }\r\n }\r\n\r\n /**\r\n * 加载原生模板广告,不会显示。只有你在调用showCustom时才会显示。\r\n * 由于原生模板广告在微信服务后端可以定制宽度大小,个数,缩放比例等,所以位置调整要根据设置的宽度来定。抖音不支持本函数,会调用无效!\r\n * @param adUid 广告ID\r\n * @param location 位置有两种情况:1、可以传入枚举值,默认上方; 2、可以自定义位置传入IPosition,注意IPosition中的top和left跟平台的top,left是一致(没有乘以设备像素比ratio),需要开发者自己调试位置\r\n * @param scale 缩放比例,默认是1,即不缩放。这个缩放并不是自己填,而是根据微信MP后台你配置的原生模板广告的缩放比例填,目前有100%,90%,80%三种,一般情况不用修改。若有后台修改,记得传入值,例如90%就传入0.9。\r\n */\r\n public loadCustom(adUid: string, location: IPosition = { top: 0, left: 0 }, scale: number = 1) {\r\n // this._custom?.destroy();\r\n // this._custom = new ADCustom(adUid, location.top, location.left, scale);\r\n if (this._customs[adUid]) {\r\n console.log(`${adUid} has been loaded.`);\r\n return;\r\n }\r\n\r\n this._customs[adUid] = new ADCustom(adUid, location.top, location.left, scale);\r\n }\r\n\r\n /**\r\n * 显示自定义广告。\r\n * @param adUid 广告的唯一标识符。使用此标识符来查找和显示特定的自定义广告。\r\n * \r\n * 此方法尝试根据提供的adUid显示一个自定义广告。如果给定的adUid对应的自定义广告已加载,\r\n * 则调用该广告的显示方法。如果广告未加载,则在控制台输出警告信息。\r\n */\r\n public showCustom(adUid: string) {\r\n if (this._customs[adUid]) {\r\n this._customs[adUid].show();\r\n } else {\r\n console.warn(`You have not load ${adUid} of Custom AD, can not show!`);\r\n }\r\n }\r\n\r\n /**\r\n * 隐藏指定的自定义广告单元\r\n * \r\n * 此方法用于隐藏通过广告单元标识符(adUid)指定的自定义广告。如果指定的广告单元已加载并显示,\r\n * 则将其隐藏;如果广告单元未加载,则在控制台输出警告信息。\r\n * \r\n * @param adUid 广告单元标识符,用于唯一标识一个自定义广告单元。\r\n */\r\n public hideCustom(adUid: string) {\r\n if (this._customs[adUid]) {\r\n this._customs[adUid].hide();\r\n } else {\r\n console.warn(`You have not load ${adUid} of Custom AD, can not hide!`);\r\n }\r\n }\r\n\r\n /**\r\n * 由于微信和抖音视频广告机制不同,微信可以看的视频广告个数只有0和1个,抖音平台则可以看0~maxVideoCount\r\n * @param adUid 广告ID。如果与上一次UID不同,则内部会重新创建实例。开发者完全不用关心这个细节。\r\n * @param onVideoResult 两个参数:第一个res是EAdVideoResult定义,第二count是用户看了多少个视频广告。 \r\n * @param target onVideoResult的拥有者\r\n * @param maxVideoCount 最大视频个数。默认是3,仅对抖音平台生效。微信平台看完视频count的结果永远是1或0\r\n */\r\n public showVideo(adUid: string, onVideoResult: (res: EAdVideoResult, count: number) => void, target?: any, maxVideoCount: number = 3) {\r\n if (this._video && this._video.aduid === adUid) {\r\n this._video.show(onVideoResult, target, maxVideoCount);\r\n } else {\r\n this._video?.destory();\r\n this._video = new ADVideo(adUid);\r\n this._video.show(onVideoResult, target, maxVideoCount);\r\n }\r\n }\r\n\r\n /**\r\n * 销毁内部所有实例,清空内存\r\n */\r\n public destroyAll() {\r\n this._banner?.destroy();\r\n this._banner = null;\r\n\r\n this._interstitial?.destory();\r\n this._interstitial = null;\r\n\r\n this._video?.destory();\r\n this._video = null;\r\n\r\n if (this._customs) {\r\n for (let val in this._customs) {\r\n this._customs[val]?.destroy();\r\n }\r\n this._customs = {};\r\n }\r\n }\r\n }\r\n\r\n export enum EGameClubIcon {\r\n /** 绿色图标 */\r\n GREEN = 'green',\r\n\r\n /** 红色图标 */\r\n WHITE = 'white',\r\n\r\n /** 有黑色圆角背景的白色图标 */\r\n DARK = 'dark',\r\n\r\n /** 有白色圆角背景的绿色图标 */\r\n LIGHT = 'light'\r\n }\r\n\r\n export class GameClub {\r\n private static _instance: GameClub;\r\n\r\n static get instance(): GameClub {\r\n if (!this._instance) {\r\n this._instance = new GameClub();\r\n }\r\n return this._instance;\r\n }\r\n\r\n private _club: any;\r\n\r\n private constructor() {\r\n\r\n }\r\n\r\n /**\r\n * 创建游戏圈按钮\r\n * @param icon \r\n * @param position \r\n * @param size \r\n * @param openLink \r\n */\r\n create(icon: EGameClubIcon = EGameClubIcon.GREEN, position: IPosition = { top: 0, left: 0 }, size: ISize = { width: 40, height: 40 }, openLink?: string) {\r\n if (isWechat()) {\r\n // @ts-ignore\r\n this._club = wx.createGameClubButton({\r\n icon: icon,\r\n style: {\r\n left: position.left,\r\n top: position.top,\r\n width: size.width,\r\n height: size.height\r\n },\r\n openlink: openLink\r\n });\r\n }\r\n }\r\n\r\n show() {\r\n this._club?.show();\r\n }\r\n\r\n hide() {\r\n this._club?.hide();\r\n }\r\n\r\n destory() {\r\n this._club?.destroy();\r\n }\r\n }\r\n\r\n\r\n /**\r\n * 振动类型\r\n */\r\n export enum EVirbrateType {\r\n /**\r\n * 短振动\r\n */\r\n SHORT,\r\n\r\n /**\r\n * 长振动\r\n */\r\n LONG\r\n }\r\n\r\n /**\r\n * 平台常用API合集\r\n */\r\n export class API {\r\n private static _loginCode: string = null;\r\n private static _loginAnonymousCode: string = null;\r\n private static _hasInitWechatCloudFunction: boolean = false;\r\n\r\n\r\n /**\r\n * 分享app给朋友,微信小游戏分享是没有onSuccess回调的。\r\n * @param title 标题\r\n * @param description 细节描述信息 \r\n * @param imageUrl 图片地址\r\n * @param query 查询信息\r\n * @param onSuccess 抖音会回调,微信不会回调\r\n */\r\n static shareAppToFriends(title: string, description: string = '', imageUrl?: string, query?: string, onSuccess?: () => void) {\r\n if (isWechat()) {\r\n try {\r\n //@ts-ignore\r\n wx.shareAppMessage({\r\n title: title,\r\n imageUrl: imageUrl,\r\n query: query,\r\n });\r\n } catch (err) {\r\n console.log(`share faild: ${err}`);\r\n }\r\n }\r\n\r\n if (isBytedance()) {\r\n //@ts-ignore\r\n tt.shareAppMessage({\r\n title: title,\r\n desc: description,\r\n imageUrl: imageUrl ?? '',\r\n query: query ?? '',\r\n success(res: any) {\r\n console.log('share success:', res);\r\n onSuccess?.();\r\n },\r\n fail(res: any) {\r\n console.log('share fail:', res);\r\n }\r\n });\r\n }\r\n }\r\n\r\n /**\r\n * 显示提示信息\r\n * @param title 标题\r\n * @param duration 时长(单位:秒)\r\n * @returns \r\n */\r\n static showToast(title: string, duration: number = 2) {\r\n if (isWechat()) {\r\n // @ts-ignore\r\n wx.showToast({\r\n title: title,\r\n icon: 'success',\r\n duration: duration * 1000\r\n });\r\n }\r\n\r\n if (isBytedance()) {\r\n //@ts-ignore\r\n tt.showToast({\r\n title: title,\r\n duration: duration * 1000,\r\n success(res: any) {\r\n console.log(`${res}`);\r\n },\r\n fail(res: any) {\r\n console.log(`showToast调用失败`);\r\n },\r\n });\r\n }\r\n }\r\n\r\n /**\r\n * 设备震动效果,默认为短震动。注意:可能一些机型不会生效,具体看平台方的说明\r\n * @param type MiniGameSdk.API.EVirbrateType\r\n */\r\n static vibrate(type: EVirbrateType = EVirbrateType.SHORT) {\r\n if (isWechat()) {\r\n switch (type) {\r\n case EVirbrateType.SHORT:\r\n //@ts-ignore\r\n wx.vibrateShort({\r\n success(res: any) {\r\n console.log('vibrate success:', res);\r\n },\r\n fail(res: any) {\r\n console.log('vibrateShort failed', res);\r\n },\r\n });\r\n break;\r\n case EVirbrateType.LONG:\r\n //@ts-ignore\r\n wx.vibrateLong({\r\n success(res: any) {\r\n console.log('vibrate success', res);\r\n },\r\n fail(res: any) {\r\n console.log(`vibrateLong failed`, res);\r\n },\r\n });\r\n break;\r\n default:\r\n break;\r\n }\r\n }\r\n\r\n if (isBytedance()) {\r\n switch (type) {\r\n case EVirbrateType.SHORT:\r\n //@ts-ignore\r\n tt.vibrateShort({\r\n success(res: any) {\r\n console.log('vibrate success:', res);\r\n },\r\n fail(res: any) {\r\n console.log('vibrateShort failed', res);\r\n },\r\n });\r\n break;\r\n case EVirbrateType.LONG:\r\n //@ts-ignore\r\n tt.vibrateLong({\r\n success(res: any) {\r\n console.log('vibrate success', res);\r\n },\r\n fail(res: any) {\r\n console.log(`vibrateLong failed`, res);\r\n },\r\n });\r\n break;\r\n default:\r\n break;\r\n }\r\n }\r\n }\r\n\r\n /**\r\n * 重启小游戏\r\n */\r\n static reboot() {\r\n if (isWechat()) {\r\n //@ts-ignore\r\n wx.restartMiniProgram({\r\n success: () => {\r\n console.log('restart success');\r\n },\r\n\r\n fail: () => {\r\n console.log('restart failed');\r\n }\r\n })\r\n }\r\n\r\n if (isBytedance()) {\r\n try {\r\n // @ts-ignore\r\n tt.restartMiniProgramSync();\r\n } catch (error) {\r\n console.log(`restartMiniProgramSync`, error);\r\n }\r\n }\r\n }\r\n\r\n /**\r\n * 退出小游戏\r\n */\r\n static exit() {\r\n if (isWechat()) {\r\n //@ts-ignore\r\n wx.exitMiniProgram({\r\n success: () => {\r\n console.log('exit success');\r\n },\r\n fail: () => {\r\n console.log('exit failed');\r\n }\r\n });\r\n }\r\n\r\n if (isBytedance()) {\r\n // @ts-ignore\r\n tt.exitMiniProgram({\r\n success(res: any) {\r\n console.log(\"exit success:\", res?.data);\r\n },\r\n fail(res: any) {\r\n console.log(\"exit fail:\", res?.errMsg);\r\n },\r\n });\r\n }\r\n }\r\n\r\n /**\r\n * 显示转发按钮。通常在刚进入游戏的时候调用。\r\n * 主要是打开平台“...”这个按钮里面的分享菜单,一般默认是关闭的,需要调用这个函数打开。可以让用户分享你的游戏入口。\r\n */\r\n static showShareMenu() {\r\n if (isWechat()) {\r\n //@ts-ignore\r\n wx.showShareMenu({\r\n withShareTicket: true,\r\n menus: ['shareAppMessage', 'shareTimeline'],\r\n success: () => { },\r\n fail: () => { },\r\n complete: () => { }\r\n });\r\n }\r\n\r\n if (isBytedance()) {\r\n //@ts-ignore\r\n tt.showShareMenu({\r\n success(res: any) {\r\n console.log(\"show menu is showing\");\r\n },\r\n fail(err: any) {\r\n console.log(\"showShareMenu:\", err.errMsg);\r\n },\r\n complete(res: any) {\r\n console.log(\"showShareMenu complete\");\r\n },\r\n });\r\n }\r\n }\r\n\r\n /**\r\n * 微信小游戏:跳转到另外一款小游戏\r\n * 抖音小游戏:跳转到指定的视频界面\r\n * @param targetId 微信小游戏appid或者视频界面\r\n */\r\n static navigateTo(targetId: string, onSuccess?: () => void) {\r\n if (isWechat()) {\r\n // @ts-ignore\r\n wx.navigateToMiniProgram({\r\n appId: targetId,\r\n extraData: {\r\n foo: 'bar'\r\n },\r\n envVersion: 'develop',\r\n success(res: any) {\r\n onSuccess?.();\r\n }\r\n });\r\n }\r\n\r\n if (isBytedance()) {\r\n // @ts-ignore\r\n tt.navigateToVideoView({\r\n videoId: targetId,\r\n success: (res: any) => {\r\n onSuccess?.();\r\n },\r\n fail: (err: any) => {\r\n console.log(\"bytedance navigateToVideoView fail\", err);\r\n },\r\n });\r\n }\r\n }\r\n\r\n\r\n /**\r\n * 小游戏平台登录功能。微信返回code,抖音返回code和anonymousCode。用于登录的凭证,需要把这个code传回你的服务器程序中去调用code2Session\r\n * @param callback (code, anonymousCode) 第一个参数为code,微信和抖音都支持;第二个参数为匿名设备ID,仅抖音支持,失败都返回null\r\n */\r\n static login(callback: (code: string, anonymousCode: string) => void) {\r\n let loginPlatform = () => {\r\n if (isWechat()) {\r\n //@ts-ignore\r\n wx.login({\r\n success: (res: { code: any; errMsg: any; }) => {\r\n if (res.code) {\r\n API._loginCode = res.code;\r\n API._loginAnonymousCode = null;\r\n callback?.(API._loginCode, API._loginAnonymousCode);\r\n } else {\r\n console.log('login error:', res.errMsg)\r\n }\r\n },\r\n\r\n fail: () => {\r\n API._loginCode = null;\r\n API._loginAnonymousCode = null;\r\n callback?.(API._loginCode, API._loginAnonymousCode);\r\n console.log('login fail')\r\n }\r\n });\r\n } else if (isBytedance()) {\r\n //@ts-ignore\r\n tt.login({\r\n force: true,\r\n success(res: any) {\r\n console.log(`login ${res.code} ${res.anonymousCode}`);\r\n if (res.code) {\r\n API._loginCode = res.code?.toString();\r\n API._loginAnonymousCode = res.anonymousCode?.toString();\r\n callback?.(API._loginCode, API._loginAnonymousCode);\r\n } else {\r\n console.log('login error:', res.errMsg)\r\n }\r\n },\r\n fail(res: any) {\r\n API._loginCode = null;\r\n API._loginAnonymousCode = null;\r\n callback?.(API._loginCode, API._loginAnonymousCode);\r\n console.log(`login fail`, res);\r\n },\r\n });\r\n } else {\r\n API._loginCode = null;\r\n API._loginAnonymousCode = null;\r\n callback?.(API._loginCode, API._loginAnonymousCode);\r\n console.log('not mini game platform, login codes are all null');\r\n }\r\n }\r\n\r\n\r\n\r\n if (!API._loginCode) {\r\n loginPlatform();\r\n } else {\r\n if (isWechat()) {\r\n //@ts-ignore\r\n wx.checkSession({\r\n success() {\r\n console.log(`session is valid, use current code:`, API._loginCode);\r\n callback?.(API._loginCode, API._loginAnonymousCode);\r\n },\r\n fail() {\r\n console.log(`session expired`);\r\n loginPlatform();\r\n }\r\n });\r\n } else if (isBytedance()) {\r\n //@ts-ignore\r\n tt.checkSession({\r\n success() {\r\n console.log(`session is valid, user current code: ${API._loginCode}, ${API._loginAnonymousCode}`);\r\n callback?.(API._loginCode, API._loginAnonymousCode);\r\n },\r\n fail() {\r\n console.log(`session expired`);\r\n loginPlatform();\r\n },\r\n });\r\n\r\n } else {\r\n console.log('not mini game platform, login null');\r\n callback?.(null, null);\r\n }\r\n }\r\n }\r\n\r\n /**\r\n * 调用微信云函数。由于参数需要自定义,所以为any,需要自行解释。函数只完成通道和处理一场的作用\r\n * @param callback 返回云函数调用结果。需要检查返回参数是否为空,失败的时候为空\r\n * @param name 云函数的名字\r\n * @param data 云函数的内容\r\n */\r\n static callWechatCloudFunction(callback: (res: any) => void, name: string, data: {}) {\r\n if (!isWechat()) {\r\n console.log('Not wechat platform, not support callWechatCloudFunction');\r\n return;\r\n }\r\n\r\n this.login((code: string, anonymousCode: string) => {\r\n if (!API._hasInitWechatCloudFunction) {\r\n //@ts-ignore\r\n wx.cloud.init();\r\n API._hasInitWechatCloudFunction = true;\r\n }\r\n //@ts-ignore\r\n wx.cloud.callFunction({\r\n name: name,\r\n data: data,\r\n success: (res: any) => callback?.(res),\r\n fail: (err: any) => {\r\n console.log('wechat cloud function error:', err);\r\n callback?.(null);\r\n }\r\n });\r\n });\r\n }\r\n\r\n /**\r\n * 存储用户信息,数据量不能大。可以考虑用于分数排行榜。用户之间可共享排行数据。\r\n * @param key \r\n * @param value \r\n */\r\n static setUserCloudStorage(key: string, value: string) {\r\n if (isWechat()) {\r\n // @ts-ignore\r\n wx.setUserCloudStorage({\r\n KVDataList: [{ key: key, value: value }],\r\n success: () => console.log(`set cloud storage success:${key}, value:${value}`),\r\n fail: (err: any) => console.log('set cloud storage error:', err)\r\n });\r\n }\r\n\r\n if (isBytedance()) {\r\n // @ts-ignore\r\n tt.setUserCloudStorage({\r\n KVDataList: [{ key: key, value: value, }],\r\n success: () => console.log(`set cloud storage success:${key}, value:${value}`),\r\n fail: (err: any) => console.log('set cloud storage error:', err)\r\n });\r\n }\r\n }\r\n }\r\n\r\n\r\n /**\r\n * 抖音侧边栏专属接口\r\n */\r\n export class BytedanceSidebar {\r\n /**\r\n * 本游戏在抖音环境下启动监控,需要放在全局环境中,保证能第一时间启动。因为可能监听抖音失败(抖音小游戏官方的说明)!\r\n * @param onResult 包含一个boolean参数的函数\r\n * @param target 上述函数的拥有者,如果是类的成员函数,需要传入this。普通或匿名函数忽略即可。\r\n */\r\n static listenFromSidebar(onResult: (success: boolean) => void, target?: any) {\r\n if (!isBytedance()) {\r\n onResult?.call(target, false);\r\n return;\r\n }\r\n // @ts-ignore\r\n tt.onShow((res: any) => {\r\n console.log('onShow launch res:', res);\r\n if (res.scene === '021036') {\r\n onResult?.call(target, true);\r\n console.log('launch from sidebar');\r\n } else {\r\n onResult?.call(target, false);\r\n console.log('NOT launch from douyin sidebar!');\r\n }\r\n });\r\n\r\n // @ts-ignore\r\n let options = tt.getLaunchOptionsSync();\r\n if (options && options.scene === '021036') {\r\n onResult?.call(target, true);\r\n }\r\n }\r\n\r\n /**\r\n * 检测抖音侧边栏是否存在\r\n * @param onResult 包含一个boolean参数的函数\r\n * @param target 上述函数的拥有者,如果是类的成员函数,需要传入this。普通或匿名函数忽略即可。\r\n * @returns \r\n */\r\n static checkSideBar(onResult: (success: boolean) => void, target?: any) {\r\n if (!isBytedance()) {\r\n onResult?.call(target, false);\r\n return;\r\n }\r\n\r\n //@ts-ignore\r\n tt.checkScene({\r\n scene: \"sidebar\",\r\n success: (res: any) => {\r\n console.log(\"check scene success: \", res.isExist);\r\n onResult?.call(target, res.isExist);\r\n\r\n },\r\n fail: (res: any) => {\r\n console.log(\"check scene fail:\", res);\r\n onResult?.call(target, false);\r\n }\r\n });\r\n }\r\n\r\n /**\r\n * 跳转到抖音侧边栏\r\n * @param onResult 包含一个boolean参数的函数\r\n * @param target 上述函数的拥有者,如果是类的成员函数,需要传入this。普通或匿名函数忽略即可。\r\n * @returns \r\n */\r\n static navigateToSidebar(onResult: (success: boolean) => void, target?: any) {\r\n if (!isBytedance()) {\r\n console.log(\"not douyin platform!\");\r\n onResult?.call(target, false);\r\n return;\r\n }\r\n\r\n // @ts-ignore\r\n tt.navigateToScene({\r\n scene: \"sidebar\",\r\n success: () => {\r\n console.log(\"navigate success\");\r\n onResult?.call(target, true);\r\n },\r\n fail: (res: any) => {\r\n console.log(\"navigate failed reason:\", res);\r\n onResult?.call(target, false);\r\n },\r\n });\r\n }\r\n }\r\n\r\n}"]} \ No newline at end of file diff --git a/temp/quick-scripts/src/assets/Script/module/Tool/GameTool.js b/temp/quick-scripts/src/assets/Script/module/Tool/GameTool.js index dd6b637..ba35173 100644 --- a/temp/quick-scripts/src/assets/Script/module/Tool/GameTool.js +++ b/temp/quick-scripts/src/assets/Script/module/Tool/GameTool.js @@ -15,14 +15,20 @@ var GameTool = { var name = "user_" + cc.fx.GameConfig.GM_INFO.gameId; var data = JSON.parse(localStorage.getItem(name)); if (data == "undifend" || data == null || data == "") { - var url = "https://api.sparkus.cn/api/user/auth/login?domain=hui32579WdYPsgYq&callback=" + location.href; - window.location.href = url; + var urlNow = window.location.href; + if (!this.containsTrain(urlNow)) { + var url = "https://api.sparkus.cn/api/user/auth/login?domain=hui32579WdYPsgYq&callback=" + location.href; + window.location.href = url; + } } else { cc.fx.StorageMessage.setStorage(name, data); cc.fx.GameConfig.GM_INFO.userId = parseInt(data.userId); } }, + containsTrain: function (str) { + return /from=train/i.test(str); + }, //埋点上传 setGameData: function () { //GAME_DATA 初始化 每次清零 @@ -37,7 +43,7 @@ var GameTool = { "matchId": matchId, "data": data }; - console.log("上传数据:", data); + // console.log("上传数据:",data); cc.fx.HttpUtil.uploadUserLogData(postData, function () { }); }, //上传排行榜 type为1 diff --git a/temp/quick-scripts/src/assets/Script/module/Tool/GameTool.js.map b/temp/quick-scripts/src/assets/Script/module/Tool/GameTool.js.map index 18de901..26bc4a7 100644 --- a/temp/quick-scripts/src/assets/Script/module/Tool/GameTool.js.map +++ b/temp/quick-scripts/src/assets/Script/module/Tool/GameTool.js.map @@ -1 +1 @@ -{"version":3,"sources":["assets\\Script\\module\\Tool\\GameTool.ts"],"names":[],"mappings":"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","file":"","sourceRoot":"/","sourcesContent":["\r\n//最大工具类 各种公共方法,以及处理上传,获取后端接口数据\r\nvar GameTool = {\r\n _startTime: 0,\r\n _endTime: 0,\r\n _totalTime: 0,\r\n //获取userId\r\n Authentication(){\r\n let name = \"user_\" + cc.fx.GameConfig.GM_INFO.gameId;\r\n var data = JSON.parse(localStorage.getItem(name));\r\n if(data == \"undifend\" || data==null || data == \"\"){\r\n let url = \"https://api.sparkus.cn/api/user/auth/login?domain=hui32579WdYPsgYq&callback=\"+location.href;\r\n window.location.href = url;\r\n }\r\n else{\r\n cc.fx.StorageMessage.setStorage(name,data);\r\n cc.fx.GameConfig.GM_INFO.userId = parseInt(data.userId);\r\n }\r\n },\r\n\r\n //埋点上传\r\n setGameData(){\r\n //GAME_DATA 初始化 每次清零\r\n cc.fx.GameConfig.GAME_DATA = [];\r\n cc.fx.GameConfig.GAME_DATA.push(cc.fx.GameConfig.CLICK_DATA);\r\n cc.fx.GameConfig.CLICK_init();\r\n let data = cc.fx.GameConfig.GAME_DATA;\r\n let matchId = this.getMatchId();\r\n let postData = {\r\n \"gameId\":cc.fx.GameConfig.GM_INFO.gameId,\r\n \"userId\":cc.fx.GameConfig.GM_INFO.userId,\r\n \"matchId\":matchId,\r\n \"data\": data\r\n };\r\n\r\n console.log(\"上传数据:\",data);\r\n cc.fx.HttpUtil.uploadUserLogData(postData,function(){})\r\n },\r\n //上传排行榜 type为1\r\n setRank(data){\r\n //GAME_DATA 初始化 每次清零\r\n let postData = {\r\n \"gameId\":cc.fx.GameConfig.GM_INFO.gameId,\r\n \"userId\":cc.fx.GameConfig.GM_INFO.userId,\r\n \"type\":1,\r\n \"score\": data.score,\r\n \"accuracy\": data.date,\r\n \"success\": cc.fx.GameConfig.GM_INFO.success\r\n };\r\n cc.fx.HttpUtil.rankData(1,function(){},postData);\r\n },\r\n //获取排行榜 type为2\r\n getRank(data,callback){\r\n let rankLength = data.length;\r\n let postData = {\r\n \"gameId\":cc.fx.GameConfig.GM_INFO.gameId,\r\n \"userId\":cc.fx.GameConfig.GM_INFO.userId,\r\n \"page\":1,\r\n \"pageSize\":rankLength\r\n }; \r\n //回调进getRankData\r\n cc.fx.HttpUtil.rankData(2,data =>{callback(data)},postData);\r\n },\r\n //获取matchId 用于上传每次点击数据里面记录id方便查询\r\n getMatchId (){\r\n let matchId = cc.sys.localStorage.getItem(\"matchId\");\r\n let tempId = matchId;\r\n if(matchId == \"undifend\" || matchId==null){\r\n matchId = this.setMatchId();\r\n }\r\n else{\r\n if(this.containsNanana(matchId) == true){\r\n matchId = this.setMatchId();\r\n }\r\n else{\r\n let char = parseInt(tempId.substring(10,tempId.length));\r\n if(cc.fx.GameConfig.GM_INFO.level == 1){\r\n char += 1;\r\n matchId = tempId.slice(0, 10) + char + \"\";\r\n if(this.containsNanana(matchId)) matchId = this.setMatchId();\r\n cc.fx.GameConfig.GM_INFO.matchId = matchId;\r\n cc.sys.localStorage.setItem(\"matchId\",matchId);\r\n }\r\n }\r\n }\r\n\r\n if(this.containsNanana(matchId) == true){\r\n matchId = this.setMatchId();\r\n }\r\n return matchId;\r\n },\r\n //检测matchId 如果有缓存以前的nanana数据清除\r\n containsNanana(str) {\r\n return /na/i.test(str);\r\n },\r\n //重新设置MatchId\r\n setMatchId (){\r\n // 定义包含可用字符的字符集\r\n const characters = 'abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789';\r\n // 创建一个数组以保存随机字符\r\n const uuidArray = [];\r\n // 循环10次 生成10位的UUID\r\n for (let i = 0; i < 10; i++) {\r\n // 生成随机索引,范围是字符集的长度\r\n const randomIndex = Math.floor(Math.random() * characters.length);\r\n // 从字符集中获取随机字符\r\n const randomChar = characters.charAt(randomIndex);\r\n // 将字符添加到数组中\r\n uuidArray.push(randomChar);\r\n }\r\n let data = uuidArray.join('') + 1 + \"\";\r\n cc.sys.localStorage.setItem(\"matchNumber\",1);\r\n cc.sys.localStorage.setItem(\"matchId\",data);\r\n cc.fx.GameConfig.GM_INFO.matchId = data;\r\n return data;\r\n },\r\n //截取名字\r\n subName(name,length){\r\n if(name.length > length){\r\n name = name.substring(0,length) + \"...\"\r\n }\r\n return name;\r\n },\r\n //设置头像\r\n setPic(node,pic){\r\n node.active = false;\r\n let url = pic;\r\n setTimeout(() => {\r\n fetch(url)\r\n .then(response => {\r\n return response.headers.get('Content-Length');\r\n })\r\n .then(errNo => {\r\n if(errNo == \"5093\"){\r\n node.active = true;\r\n }\r\n })\r\n .catch(error => {\r\n // console.error('Error fetching X-Info:', error);\r\n });\r\n }, 100);\r\n cc.assetManager.loadRemote(url, {ext:'.png'},(err, texture:cc.Texture2D) => {\r\n if(texture){\r\n node.active = true;\r\n node.getComponent(cc.Sprite).spriteFrame = new cc.SpriteFrame(texture);\r\n }\r\n else{\r\n console.log(err,texture)\r\n }\r\n })\r\n },\r\n //第一个参数把目标带进来处理,第二个参数为名字长度,不同场景不同需求\r\n //名字4短,小排行,名字6长,大排行\r\n getRankData(data,target,nameLength){\r\n target.listData = data.data.list;\r\n target.selfData = data.data.info;\r\n let rankData = [];\r\n let self = false;\r\n cc.fx.GameTool.setPic(target.selfNode.getChildByName(\"pic\").getChildByName(\"icon\"),target.selfData.pic);\r\n for(let i=0;i<=target.listData.length-1;i++){\r\n rankData.push({rank:(i+1), name:target.listData[i].nickName, total:target.listData[i].score,time:null, pic:target.listData[i].pic});\r\n if(cc.fx.GameConfig.GM_INFO.userId == target.listData[i].userId){\r\n self = true;\r\n target.rankNumber = i;\r\n target.selfNode.getChildByName(\"rankLab\").getComponent(cc.Label).string =(i+1) + \"\"; \r\n }\r\n if(i == (target.listData.length-1) && self == false){\r\n target.rankNumber = i;\r\n target.selfNode.getChildByName(\"rankLab\").getComponent(cc.Label).string = \"99+\"; \r\n }\r\n }\r\n cc.fx.GameTool.subName(target.selfData.nickName,nameLength);\r\n target.selfNode.getChildByName(\"nameLab\").getComponent(cc.Label).string = target.selfData.nickName;\r\n target.selfNode.getChildByName(\"totalLab\").getComponent(cc.Label).string = target.selfData.score;\r\n let timeTemp = cc.fx.GameTool.getTimeShenNong(target.selfData.totleTimes);\r\n // target.selfNode.getChildByName(\"timeLab\").getComponent(cc.Label).string = timeTemp + \"\";\r\n switch(target.selfNode.getChildByName(\"rankLab\").getComponent(cc.Label).string){\r\n case \"1\":\r\n target.selfNode.getChildByName(\"rank\").getChildByName(\"one\").active = true;\r\n break;\r\n case \"2\":\r\n target.selfNode.getChildByName(\"rank\").getChildByName(\"two\").active = true;\r\n break;\r\n case \"3\":\r\n target.selfNode.getChildByName(\"rank\").getChildByName(\"three\").active = true;\r\n break;\r\n }\r\n // 大排行\r\n if(nameLength == 6){\r\n target.rankList.setData(rankData);\r\n target.selfNode.opacity = 255;\r\n if(target.selfData.totalSunCount == 0) target.selfNode.opacity = 0;\r\n }\r\n },\r\n\r\n getSeedRandom: function (min, max) {//包含min 不包含max\r\n console.log(\"随机数:\",cc.fx.GameConfig.GM_INFO.currSeed);\r\n max = max || 1;\r\n min = min || 0;\r\n cc.fx.GameConfig.GM_INFO.currSeed = (cc.fx.GameConfig.GM_INFO.currSeed * 9301 + 49297) % 233280;\r\n let rnd = cc.fx.GameConfig.GM_INFO.currSeed / 233280.0;\r\n let tmp = min + rnd * (max - min);\r\n return parseInt(tmp);\r\n },\r\n //获取关卡配置的那个关卡数\r\n getCustom(type){\r\n let custom = cc.fx.StorageMessage.getStorage(cc.fx.storageType.storageTypeCustom);\r\n if(custom == \"undifend\" || custom==null || custom == \"\"){\r\n this.setCustom();\r\n }\r\n else{\r\n cc.fx.GameConfig.GM_INFO_SET(\"custom\",custom[0]);\r\n if(custom[0] != 0 || type == true){\r\n custom.shift();\r\n if(custom.length == 0){\r\n this.setCustom();\r\n }\r\n else cc.fx.StorageMessage.setStorage(cc.fx.storageType.storageTypeCustom,custom);\r\n }\r\n }\r\n },\r\n //本地没有存储到配置,或者配置用完,重新创建配置\r\n setCustom(){\r\n let arrayLength = cc.fx.GameConfig.LEVEL_INFO.length;\r\n let arrayList = [];\r\n for(let i=1; i Math.random() - 0.5);\r\n arrayList.unshift(0)\r\n cc.fx.GameConfig.GM_INFO_SET(\"custom\",arrayList[0]);\r\n cc.fx.StorageMessage.setStorage(cc.fx.storageType.storageTypeCustom,arrayList);\r\n },\r\n\r\n\r\n getSetScreenResolutionFlag: function () {\r\n let size = cc.winSize;\r\n let width = size.width;\r\n let height = size.height;\r\n if ((height / width) > (16.2 / 9)) return false;\r\n return true;\r\n },\r\n //判断全面屏适配\r\n setFit: function (canvas) {\r\n let flag = cc.fx.GameTool.getSetScreenResolutionFlag();\r\n if (flag) {\r\n \t// console.log(\"不是全面屏\");\r\n } else {\r\n \t// console.log(\"是全面屏\");\r\n }\r\n return flag;\r\n },\r\n //获取游戏信息\r\n getGameInfo: function(node){\r\n var jg = false;\r\n return jg;\r\n },\r\n //设置游戏信息\r\n setGameInfo: function(pd){\r\n \r\n },\r\n\r\n //打字机效果\r\n typingAni(label,text,cb,target){\r\n var self = target;\r\n var html = '';\r\n var arr = text.split('');\r\n var len = arr.length;\r\n var step = 0;\r\n self.func = ()=>{\r\n html += arr[step];\r\n label.string = html;\r\n if (++step == len) {\r\n self.unschedule(self.func);\r\n cb && cb();\r\n }\r\n }\r\n self.schedule(self.func,0.1, cc.macro.REPEAT_FOREVER, 0)\r\n },\r\n\r\n //输入秒,返回需要展示时间格式\r\n getTimeMargin:(second) => {\r\n let total = 0;\r\n total = second;\r\n let hour = 0;\r\n hour = parseInt((total / 3600) + \"\");//计算整数小时数\r\n let afterHour = total - hour * 60 * 60;//取得算出小时数后剩余的秒数\r\n let min = parseInt((afterHour / 60)+\"\");//计算整数分\r\n let m = \"\" + min; \r\n if(min < 10) m = \"0\"+min;\r\n let afterMin = total - hour * 60 * 60 - min * 60;//取得算出分后剩余的秒数\r\n let miao = afterMin + \"\";\r\n if(afterMin < 10) miao = \"0\" + afterMin;\r\n return m + ':' + miao\r\n },\r\n\r\n //输入秒,返回需要展示时间格式\r\n getTimeShenNong:(second) => {\r\n second = parseInt(second/1000+\"\");\r\n let total = 0;\r\n total = second;\r\n let min = 0;\r\n if(total > 60){\r\n min = parseInt((total / 60)+\"\");//计算整数分\r\n }\r\n let m = min + \"'\"; \r\n\r\n let afterMin = total - min * 60;//取得算出分后剩余的秒数\r\n let miao = afterMin + \"''\";\r\n return m + miao\r\n },\r\n\r\n //获取时间戳\r\n getTime(){\r\n const timestamp = (new Date().getTime())\r\n return timestamp;\r\n },\r\n pushLister:function () {\r\n \r\n },\r\n removeAllLister:function () {\r\n \r\n },\r\n\r\n};\r\nexport { GameTool };"]} \ No newline at end of file +{"version":3,"sources":["assets\\Script\\module\\Tool\\GameTool.ts"],"names":[],"mappings":"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","file":"","sourceRoot":"/","sourcesContent":["\r\n//最大工具类 各种公共方法,以及处理上传,获取后端接口数据\r\nvar GameTool = {\r\n _startTime: 0,\r\n _endTime: 0,\r\n _totalTime: 0,\r\n //获取userId\r\n Authentication(){\r\n let name = \"user_\" + cc.fx.GameConfig.GM_INFO.gameId;\r\n var data = JSON.parse(localStorage.getItem(name));\r\n if(data == \"undifend\" || data==null || data == \"\"){\r\n var urlNow = window.location.href;\r\n if(!this.containsTrain(urlNow)){\r\n let url = \"https://api.sparkus.cn/api/user/auth/login?domain=hui32579WdYPsgYq&callback=\"+location.href;\r\n window.location.href = url;\r\n }\r\n }\r\n else{\r\n cc.fx.StorageMessage.setStorage(name,data);\r\n cc.fx.GameConfig.GM_INFO.userId = parseInt(data.userId);\r\n }\r\n },\r\n\r\n containsTrain(str) {\r\n return /from=train/i.test(str);\r\n },\r\n\r\n //埋点上传\r\n setGameData(){\r\n //GAME_DATA 初始化 每次清零\r\n cc.fx.GameConfig.GAME_DATA = [];\r\n cc.fx.GameConfig.GAME_DATA.push(cc.fx.GameConfig.CLICK_DATA);\r\n cc.fx.GameConfig.CLICK_init();\r\n let data = cc.fx.GameConfig.GAME_DATA;\r\n let matchId = this.getMatchId();\r\n let postData = {\r\n \"gameId\":cc.fx.GameConfig.GM_INFO.gameId,\r\n \"userId\":cc.fx.GameConfig.GM_INFO.userId,\r\n \"matchId\":matchId,\r\n \"data\": data\r\n };\r\n\r\n // console.log(\"上传数据:\",data);\r\n cc.fx.HttpUtil.uploadUserLogData(postData,function(){})\r\n },\r\n //上传排行榜 type为1\r\n setRank(data){\r\n //GAME_DATA 初始化 每次清零\r\n let postData = {\r\n \"gameId\":cc.fx.GameConfig.GM_INFO.gameId,\r\n \"userId\":cc.fx.GameConfig.GM_INFO.userId,\r\n \"type\":1,\r\n \"score\": data.score,\r\n \"accuracy\": data.date,\r\n \"success\": cc.fx.GameConfig.GM_INFO.success\r\n };\r\n cc.fx.HttpUtil.rankData(1,function(){},postData);\r\n },\r\n //获取排行榜 type为2\r\n getRank(data,callback){\r\n let rankLength = data.length;\r\n let postData = {\r\n \"gameId\":cc.fx.GameConfig.GM_INFO.gameId,\r\n \"userId\":cc.fx.GameConfig.GM_INFO.userId,\r\n \"page\":1,\r\n \"pageSize\":rankLength\r\n }; \r\n //回调进getRankData\r\n cc.fx.HttpUtil.rankData(2,data =>{callback(data)},postData);\r\n },\r\n //获取matchId 用于上传每次点击数据里面记录id方便查询\r\n getMatchId (){\r\n let matchId = cc.sys.localStorage.getItem(\"matchId\");\r\n let tempId = matchId;\r\n if(matchId == \"undifend\" || matchId==null){\r\n matchId = this.setMatchId();\r\n }\r\n else{\r\n if(this.containsNanana(matchId) == true){\r\n matchId = this.setMatchId();\r\n }\r\n else{\r\n let char = parseInt(tempId.substring(10,tempId.length));\r\n if(cc.fx.GameConfig.GM_INFO.level == 1){\r\n char += 1;\r\n matchId = tempId.slice(0, 10) + char + \"\";\r\n if(this.containsNanana(matchId)) matchId = this.setMatchId();\r\n cc.fx.GameConfig.GM_INFO.matchId = matchId;\r\n cc.sys.localStorage.setItem(\"matchId\",matchId);\r\n }\r\n }\r\n }\r\n\r\n if(this.containsNanana(matchId) == true){\r\n matchId = this.setMatchId();\r\n }\r\n return matchId;\r\n },\r\n //检测matchId 如果有缓存以前的nanana数据清除\r\n containsNanana(str) {\r\n return /na/i.test(str);\r\n },\r\n //重新设置MatchId\r\n setMatchId (){\r\n // 定义包含可用字符的字符集\r\n const characters = 'abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789';\r\n // 创建一个数组以保存随机字符\r\n const uuidArray = [];\r\n // 循环10次 生成10位的UUID\r\n for (let i = 0; i < 10; i++) {\r\n // 生成随机索引,范围是字符集的长度\r\n const randomIndex = Math.floor(Math.random() * characters.length);\r\n // 从字符集中获取随机字符\r\n const randomChar = characters.charAt(randomIndex);\r\n // 将字符添加到数组中\r\n uuidArray.push(randomChar);\r\n }\r\n let data = uuidArray.join('') + 1 + \"\";\r\n cc.sys.localStorage.setItem(\"matchNumber\",1);\r\n cc.sys.localStorage.setItem(\"matchId\",data);\r\n cc.fx.GameConfig.GM_INFO.matchId = data;\r\n return data;\r\n },\r\n //截取名字\r\n subName(name,length){\r\n if(name.length > length){\r\n name = name.substring(0,length) + \"...\"\r\n }\r\n return name;\r\n },\r\n //设置头像\r\n setPic(node,pic){\r\n node.active = false;\r\n let url = pic;\r\n setTimeout(() => {\r\n fetch(url)\r\n .then(response => {\r\n return response.headers.get('Content-Length');\r\n })\r\n .then(errNo => {\r\n if(errNo == \"5093\"){\r\n node.active = true;\r\n }\r\n })\r\n .catch(error => {\r\n // console.error('Error fetching X-Info:', error);\r\n });\r\n }, 100);\r\n cc.assetManager.loadRemote(url, {ext:'.png'},(err, texture:cc.Texture2D) => {\r\n if(texture){\r\n node.active = true;\r\n node.getComponent(cc.Sprite).spriteFrame = new cc.SpriteFrame(texture);\r\n }\r\n else{\r\n console.log(err,texture)\r\n }\r\n })\r\n },\r\n //第一个参数把目标带进来处理,第二个参数为名字长度,不同场景不同需求\r\n //名字4短,小排行,名字6长,大排行\r\n getRankData(data,target,nameLength){\r\n target.listData = data.data.list;\r\n target.selfData = data.data.info;\r\n let rankData = [];\r\n let self = false;\r\n cc.fx.GameTool.setPic(target.selfNode.getChildByName(\"pic\").getChildByName(\"icon\"),target.selfData.pic);\r\n for(let i=0;i<=target.listData.length-1;i++){\r\n rankData.push({rank:(i+1), name:target.listData[i].nickName, total:target.listData[i].score,time:null, pic:target.listData[i].pic});\r\n if(cc.fx.GameConfig.GM_INFO.userId == target.listData[i].userId){\r\n self = true;\r\n target.rankNumber = i;\r\n target.selfNode.getChildByName(\"rankLab\").getComponent(cc.Label).string =(i+1) + \"\"; \r\n }\r\n if(i == (target.listData.length-1) && self == false){\r\n target.rankNumber = i;\r\n target.selfNode.getChildByName(\"rankLab\").getComponent(cc.Label).string = \"99+\"; \r\n }\r\n }\r\n cc.fx.GameTool.subName(target.selfData.nickName,nameLength);\r\n target.selfNode.getChildByName(\"nameLab\").getComponent(cc.Label).string = target.selfData.nickName;\r\n target.selfNode.getChildByName(\"totalLab\").getComponent(cc.Label).string = target.selfData.score;\r\n let timeTemp = cc.fx.GameTool.getTimeShenNong(target.selfData.totleTimes);\r\n // target.selfNode.getChildByName(\"timeLab\").getComponent(cc.Label).string = timeTemp + \"\";\r\n switch(target.selfNode.getChildByName(\"rankLab\").getComponent(cc.Label).string){\r\n case \"1\":\r\n target.selfNode.getChildByName(\"rank\").getChildByName(\"one\").active = true;\r\n break;\r\n case \"2\":\r\n target.selfNode.getChildByName(\"rank\").getChildByName(\"two\").active = true;\r\n break;\r\n case \"3\":\r\n target.selfNode.getChildByName(\"rank\").getChildByName(\"three\").active = true;\r\n break;\r\n }\r\n // 大排行\r\n if(nameLength == 6){\r\n target.rankList.setData(rankData);\r\n target.selfNode.opacity = 255;\r\n if(target.selfData.totalSunCount == 0) target.selfNode.opacity = 0;\r\n }\r\n },\r\n\r\n getSeedRandom: function (min, max) {//包含min 不包含max\r\n console.log(\"随机数:\",cc.fx.GameConfig.GM_INFO.currSeed);\r\n max = max || 1;\r\n min = min || 0;\r\n cc.fx.GameConfig.GM_INFO.currSeed = (cc.fx.GameConfig.GM_INFO.currSeed * 9301 + 49297) % 233280;\r\n let rnd = cc.fx.GameConfig.GM_INFO.currSeed / 233280.0;\r\n let tmp = min + rnd * (max - min);\r\n return parseInt(tmp);\r\n },\r\n //获取关卡配置的那个关卡数\r\n getCustom(type){\r\n let custom = cc.fx.StorageMessage.getStorage(cc.fx.storageType.storageTypeCustom);\r\n if(custom == \"undifend\" || custom==null || custom == \"\"){\r\n this.setCustom();\r\n }\r\n else{\r\n cc.fx.GameConfig.GM_INFO_SET(\"custom\",custom[0]);\r\n if(custom[0] != 0 || type == true){\r\n custom.shift();\r\n if(custom.length == 0){\r\n this.setCustom();\r\n }\r\n else cc.fx.StorageMessage.setStorage(cc.fx.storageType.storageTypeCustom,custom);\r\n }\r\n }\r\n },\r\n //本地没有存储到配置,或者配置用完,重新创建配置\r\n setCustom(){\r\n let arrayLength = cc.fx.GameConfig.LEVEL_INFO.length;\r\n let arrayList = [];\r\n for(let i=1; i Math.random() - 0.5);\r\n arrayList.unshift(0)\r\n cc.fx.GameConfig.GM_INFO_SET(\"custom\",arrayList[0]);\r\n cc.fx.StorageMessage.setStorage(cc.fx.storageType.storageTypeCustom,arrayList);\r\n },\r\n\r\n\r\n getSetScreenResolutionFlag: function () {\r\n let size = cc.winSize;\r\n let width = size.width;\r\n let height = size.height;\r\n if ((height / width) > (16.2 / 9)) return false;\r\n return true;\r\n },\r\n //判断全面屏适配\r\n setFit: function (canvas) {\r\n let flag = cc.fx.GameTool.getSetScreenResolutionFlag();\r\n if (flag) {\r\n \t// console.log(\"不是全面屏\");\r\n } else {\r\n \t// console.log(\"是全面屏\");\r\n }\r\n return flag;\r\n },\r\n //获取游戏信息\r\n getGameInfo: function(node){\r\n var jg = false;\r\n return jg;\r\n },\r\n //设置游戏信息\r\n setGameInfo: function(pd){\r\n \r\n },\r\n\r\n //打字机效果\r\n typingAni(label,text,cb,target){\r\n var self = target;\r\n var html = '';\r\n var arr = text.split('');\r\n var len = arr.length;\r\n var step = 0;\r\n self.func = ()=>{\r\n html += arr[step];\r\n label.string = html;\r\n if (++step == len) {\r\n self.unschedule(self.func);\r\n cb && cb();\r\n }\r\n }\r\n self.schedule(self.func,0.1, cc.macro.REPEAT_FOREVER, 0)\r\n },\r\n\r\n //输入秒,返回需要展示时间格式\r\n getTimeMargin:(second) => {\r\n let total = 0;\r\n total = second;\r\n let hour = 0;\r\n hour = parseInt((total / 3600) + \"\");//计算整数小时数\r\n let afterHour = total - hour * 60 * 60;//取得算出小时数后剩余的秒数\r\n let min = parseInt((afterHour / 60)+\"\");//计算整数分\r\n let m = \"\" + min; \r\n if(min < 10) m = \"0\"+min;\r\n let afterMin = total - hour * 60 * 60 - min * 60;//取得算出分后剩余的秒数\r\n let miao = afterMin + \"\";\r\n if(afterMin < 10) miao = \"0\" + afterMin;\r\n return m + ':' + miao\r\n },\r\n\r\n //输入秒,返回需要展示时间格式\r\n getTimeShenNong:(second) => {\r\n second = parseInt(second/1000+\"\");\r\n let total = 0;\r\n total = second;\r\n let min = 0;\r\n if(total > 60){\r\n min = parseInt((total / 60)+\"\");//计算整数分\r\n }\r\n let m = min + \"'\"; \r\n\r\n let afterMin = total - min * 60;//取得算出分后剩余的秒数\r\n let miao = afterMin + \"''\";\r\n return m + miao\r\n },\r\n\r\n //获取时间戳\r\n getTime(){\r\n const timestamp = (new Date().getTime())\r\n return timestamp;\r\n },\r\n pushLister:function () {\r\n \r\n },\r\n removeAllLister:function () {\r\n \r\n },\r\n\r\n};\r\nexport { GameTool };"]} \ No newline at end of file diff --git a/temp/startup.json b/temp/startup.json deleted file mode 100644 index d24d600..0000000 --- a/temp/startup.json +++ /dev/null @@ -1 +0,0 @@ -{"pid":20476} diff --git a/资源文件/images2/end_x.png b/资源文件/images2/end_x.png index faa585a84c53ae6026e7e9b0c8a0400152bb4771..07e01e17921ecf0d5740bc573ea3e80c7d6a14de 100644 GIT binary patch delta 3530 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 Wh$KX-aQ&HO0F*Jt=%wM^=>G%T9B+{T literal 37335 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 literal 37238 zcmb`Q3A|S0_Qy|U4wbPKPNSh-?Rkh~k197(8478?d+#@CIE@;JjFH@nD3M4CMUo*y z<}ndhGN;UBhzwEW|9#F7_qKaKZ|DBqd%KnM?EMVuS;KFw_1jl;KmOP~b~|9Vva+&0 zx^(t?@c%9OU%y>;;@4^WF1v~U+jVH?-XqG&>hCT7SEua88I8-zCbSsP>(r5_cKb(% zxMJ`TQBsjlj~Fv}C_i0Rc2uV^L!)?LIU_8%~$V~cf_rDS9`l+fXk( zYe465!_%JQj_(zZ8yMS3i%v(EA2p@}4;Y+|jLOFh9yDY`hcO*nR6e%@zZZYqzD0TE zkBl7Hv4taESbl1^?&V&^@U&b%!pOz4W|f=v5wf94s?n}okz~8QWVM&ooFsRUj1Ib4 zUj0uC-Znfbbm-xS)$ig@9b23=a^%ns?c0wYJ^F~z>Jb&g`?r^En`bEP6(z?{24$6Q2C=!=MBcoD&xLdalU51Pp z84ZckE`G-rOzMaM1CkE9WTkmCQFE~pDLG9_qg*5<5|dLRIkqiHQ{~EeG2X9;M~Mxr z8J{p-vsEj!TvPQuS(by)2_z{94Oh}_J5bfIX6y;W2XM`zLA85E5_c$63?CdJ69WcE z{nPeChxBhzzU6E>col;xhO=?(uKM@C@8WsghgTE^4B}sm=y9xD-X-u1**1)va)d1I z2iqVPmJT0qPMUR6Ir36GP^;cGXu#h`*p_d3$fgszeqbm@;Hk1@`;u=;zH4WV zaAh+zLf7@oAkZzvmpsRi{m_yGM6p%t2@;wru?XN|Ds zP_u$SGG#5W0?W58&oy=1w?o6x{EQKr=UJxdu+YG?Ek|?pKrxt+?Mi`bdl@4P$8lWQ zb6wvHY}>IklUEw5&;6aR{a!*s?77y5SgsrI?14HNtmH-&Q0^_X0084Fm1N zY&=Ibbyd}~RvrYV#{R3mCh3x6D4xpcNhm1Ya$VEfdR8pY)&tek*=1SbXjIj=b)KLa zzT(SL)(F!!WSM{IaCW|?WrYjk~=1H0zhMMk& zif>t_#EZ6`m7?)zF%^~~YldP=a=<3rY^*7VUWQyLhAtsYx@x$VYTG(1a1}kYG+DAe z+sK-g%k6PA+ve<5T@8$Y-9=S#{FZ6i8Rwy}>6&Z0zN2wb6{JM+6^#uxLe3+|xPxdz zG?``Tfoxc&gK&77Y6qSxxu)TnPR7c^5E1n~Uo~tU1sb@H@1asd{!-J-4B1r`$;9#W zt&r=Azeh71`A?_DV%|6esi)!(eLyH&hWy-BA?V)lhpGQlhG!!u>E=tm!GX zXZieDmn0+9RSq?4Ryry~F+xKq2ggN8hqj}lvAAHi<7ddO%EO#Ml^j`CRnx$3Se|4e z>MrV(nQgsSs^faTu3CyBu>#X}^)Pf5?vkfCcuN`jN=3zJzEFRvVFh-m8JZrtwu(x@ z4ryV=JA4D(=lJ}DAB0k%?~rAM7&uFJ<~*2IgX84vphf4vCV8DhA3kl z=l~U?toaUyr*pF{9h>HB29sri86ylHtt)5~=HM7yNZkuP%eGJrj^SkO6=!Sk)0$$3 zs*I4x2r^1ea}CeajI3Fi9!ro^;sNxQq4=IF2Z4qp>aH628U7U>obDK=V#$_jXs(Y5 zunCYINgO8bS;ji-P;x@xn;_k)R8vhLaF9`2KdW|#1qG)Lyhc}bSEdnkU}(}X|i2BGb_hUI!To(yNmA!V#X zJQ4fhn6m0>JUc`**a(iq*4!||PvjnWs>{}LF1F2b44hEeRPc2z{J;#&pkWLwiDL)? zTvAj4Yfx<@3M=RPSss}dIw+1nc5Hq+v;%|^BW2)SaS8cT#ySveu7hP_bqsu8TsPh- zBcC!Zu$tkQa49%)UEICEHbWIPZCN1(-Slwkvi1sNsXOc|f`?b3OEyx>wdC+*%Tufj zd#>w}?sJV)MUzYe`EcK`&03D>k~wKSVpLZJX|P6q6*bVBTC#7 z#mSFquiNG4{v-rJ>dEWXRhJ=o?4E#6zHcJhC7pcJl1f55;2QzN`~%9gld861`5~34V?^~C?azSw+Edo zg&1jFQSs)Op6+3xjSM@;gB?%UG&NN5V`U3(-@++(bWIBMtQd#jB*gF0@sKToJR2uW zb1-vw?qTKNd%!3d2nwE9uXjuVaxTsNACPV`W zaX5X8^GCa8MR#nKj9Rk-%?3_ou*4<{hm7D;b-j$e!lHpNsJct6im<4t2Z4cb#eB;l zAldpnEUdq)*iNVsa01FmzHg~GSe}oeC$h>IA&j565()truVOa7gxy(|lcSJyCSlnu9GxCpsDT130fTf_I2?d>d<^VtKfLG7gObsI~Q8 z*|Mq-EE1f7*;$|lj^ycF-Vm?OQnO+;TLDdBtBB@t*YRRq_Sp^b@`(`8j~VX}Sf9mP zOan*M$0!mw`ZjhaWcgWG1{WLX3b5QXO4z1Z@-(07htG_Hb9Z?1(LXd!S(- zEhWSEu>(alx!eTJC>5N0oH<7`Y@#ntSIM#L?RS)mosR6@jU1Jxru6u_d4`{Afg zNQ8oP8N3dANyO?CdKnfM5oNvgdEiq?fUn?04p&_vyfuiKE$$N#5~rRu091> z)^t!rO$S}UQ8pEnQpO0KGYi2n9AF#+ZRqGIb^-&iLc)p+?c*4_O#~8v0uw>$*crzQ z*b5D-O(d0Z<{(kH(+<)K{0oYV+eFwwc)(h~b29uZ$HJ8XKMo}elW7C40TAJ!0ZTd{ zaar#`Tj6@+smngln=LK}h;8T^zQDG#R?dtf0-CWR^c&GkW~IE3k!FMmT)dz z-NPoim_&RblmmZ9=z~L-vAekT01d*LHv|}=i2#Ye2zA0W&C0riVg#b41Hqj>`H z@qo80(|aJQ9KMy|Ww^wmsBr_wI^;5%XmsE6gvWqC>tsb<*bG!GF`mop98j-~LQ%n54Cb3LD-a3A&}4=8$iB(hD6-=ScR4^cs9ESB zSrJkxXhng03A9}@QP8TvU1yp~#tC9B36njPIav?e^$6?$T@}J8v>kZJ)^g=pgiPXU zGAV$DV6!DbJjU_N7kaUTEG9=L>rb9RD2Ck1`1E}E& zIKs9ORtBimt>1wSrMe~ z`XD!~-Nk^Y;A@1!isu0E>V|^oXRN~|ioy&s0mleKab;PLjk-dxuyz?E&?5j1c9gt0)4xK$ceCTMC9cOZA&B9!8`XZgG2OB7GSv($W5276}@*dkzL_K)Rf zoOytEg^~jbSMWi>-$-#9Kv9I?D19yC1OpB8Na8WDJnT8pn(2@tLZ@=K5dI8%4iF5e zZQC*trl#O58r;8tbM=HjBWKv!0P|wFCeCUQ`X-4#8U4xcbo3S%KSL4`RUw7M4&aZ9 z&;7*|kdskJlr#R zz%?Rj5V4j_96}_G9WfB+$~PNXXO2=3dQl;~mC0t|G2l&;lXP)W$8(11yhN&n%gY`t=x zY8atU6f4$`-U&!N;4+IS0iB(3<~YOPbzrC9bvVir@w32VOT zlzg0MS{g_Btyi**XQ7C(Q&vthlDKMKwwhORaXydWa#aq=cI1lINvLd81IN0m)zgkNc%caU$7zn!_x}Igy*mf!gMC1&nvf zRLv;L@Q1dsM%nTT*-8w(5Fx8o^RjYLo+Wcfb?lItM{|_?EIZ~3p|IpApRbZHE4Hj0 zwk%T96wlJiKz_C%6Lx|X#HQH=P0Qh-AoppM=1^O9YQ=duFJ*XZ+jv%#VpJn7rzL2I zN}WR*I?34xnSsD4g(M>;+{Ux=c{G=naE^ARF0^?}ZRIPDI69q<3 z?D^D^5;G}z?-Ln=!y4tvUn*^FZTB8XI*RnTkfRXC$Q96kD4x{H6_77QE2xnjW%#|> z`-O?HbnZ_MucA^HVzOo29$_~yMAQ}(_I*8tKQc5|1nZ~J9 zC|SP9sm5}Ql96JZL-t1R0C8 zV9L1A5l&d8Z&GWW17@X}X~MxJhKW>Zg&bWP9DteEaZl6);G^XI0#h#}s+Cg;y72GC zeu*oUH|)HwhrSYORsuX^#AiLJBkUcbBWMj6nfbBn1os>S!%ATDaBUl=ZJ%( zMuce8e^mQ&#IIbW$TSNm=r~PEf0jkS$NT?3Y=<6EqoAT!^JNk%gvCiBYzIF1|7JUMENvReC@d2FRnN*R+;ZYZD~*%XOp=oCw$7pHajdeu zDmz46i_RtL#+~o=^<8o6fuchrKr#yu%j=Kw>;`2?+{ zCg%U@`%|?B0hzUIlR>^S(sWR{zyqnaP0VxdOPXIdQ3Y0<- zb^!xt)u3d{gsD>ypb)1O3ROA>OhJTNv0}#&kp~51rSF%C50WTcnmo`%<=w_B$P=fL zOrlMXHVK=@I$U$xfvW}+xbUX_U5rE1*7k_%QY zjtdwji}Z3@vX5yZs1(Uz&eAGb1urZJ&s8B7w6Oss=}WysBxUl%h=?go4pnQ!c~Y_4 zdY;M^N-s*ckAz|59tv#L|L&Wx(bT~a4^bT;@En0-)>hwx8tYmCXV(ysOTtypadU{% z3S5W;zq3#%dG7@nAxAN`Bf)@BGo$4Q8D-%YCg8M$S82%@jD^t4kqz#f7Ai4OWVN<& z8b~!Rxz1LZEHt5`0J+c0#8#3-_+SBElzfM5DF%j6HFSmJTV2Q| zuSV2LbJb%?-8mP@E*Z}Or!AylUEqaLwa&4lJoiynu)<18%vUnLY8y#{Ge|5-tX!kN zY8i{#dE6WmPYHLvS|)%@2;~hR$$|zDlazdi>^OS^cYqins}Y3+@EJs!RM0@c zO2 zsd|+_l&)4Z4Jcs@*hESpAA=#MW~9bR9vCDpStcUQh}iZNKU%4liCX*75vN7d8z!4D zs7kNaI)02Svk+UtGy?4WkM}W(R2_5(DuaCGeZ+Xv03w1lNlgkdx#!X`WReI(qJ>I4 zy4p9XH69%m0Pm$3nGhM1DxaygIk3DeqxOV)PDyoC+BB97k4F?K1WJI&dddD*UQ;5H zW(xjSEQur$VO7L0a#{dH0r#Wyqf}YVlX;FgN&IN5M(%5i@#PH_>yZ~)*PkbsCkYbDzbY>mw-@oo|#gv$Mj$bsZy!%CDW zN##OXvVWhCfwIZ<0j*-UV+l0bN`UiG&8BduIly72UZ6?3U?~N;PlG3nE8NcxVA=dlr9C>46WPIyff~mxxN|Lnn92gi2rih!95-8?q`h<0+ zGRlf5I1uDWz~?3JJ#m_>iE;-*W3fhLfGL8o zz)pYz5Rg{wS8Z_s%5yLf1}Y*!$SR*jh7U&|1p=l(ijXKne~lVNL7GIvCq0x@lNz*= z%2cz{*e>E)dNV|K#@5TJ90nbc!2VcpmLRGy&7tm~qRhhEdoKTMcbB zj!mt(Os5tF;%HD!>7I5)iY3L`Y^s>y7=hh^MZ&-laOO```wM!68aDy^*Wn9%G;mlrkF zzMPfvD>l-n%sRwPCFkmF-#e*AcSH*cJ(b%tTfdUL3eFbWCt;RxVYf9~N|9{Z3#o^O zg@xYm(q}712Bu)au<1|9D!eQ9PAKsxD-Y>oHZw$h%SchA^k1h^;tu`yNYUlD0wH1JdAW)(Zn{~ig&3``}I(n92r*#x#_o$A)>EK&M0MwYlk|21+u z)~V7GL3h09P=vz^WkT({Ao2;JuYhf>hzx04ualZ)nt?^*a8_WkWrs3GdN6Xpt3erc zP)y=8Mg}1=uTiv3&GvT8wsaYyb{?1jM@tdmA;1sxk>GK5J~9C7?U=MuvG=A*fdCvV zo&-iz09K?6zZ0d=GL< z+Bgo~i`BD*VUI$8(Z-3T48z-S;yr;5B&H1^a^5(IC_e~pCM2}%TJtY#HhZ8;Ta0ibA*=l~J3h2H`O8~B=h zyd!eY#n$N|Eocx43wv*6YSt;5_32ln6XvgXx^Nb$u$qa+^lh(`Y<37g1UmGuk%IYw z4osR6-HcSpmUmL&ucXA~G;)GE=Vg&#BtRsqP2FE=08eBDh<}YvNT0yCOGyw|K}>8y zW>BIC!J>SPBHB1#Y;=e%!rA4{R7ynYcSiJF=P=b4XKBF`tFh zAHW(;a}27&tn;FMfch@bQusx5C8m9H+q0(U4)$OAd<1JD_s6EG9BKyzia>%5D6>2RDBnJr@k zdZ+o-yCm^Wp?pQ5BW;|;Mtby-!~P>W^{X|E57|bgnxqk}$jCUhBB}y%i9~q<1%m7^ zEjl90EwUE~MpgstmR+KggA#Jc%moOfNhIB2m*$*e3bhQWki=>cStjaae{0Cz6l{y#Dfkot3z!RJWa*+8ZU=BOK^=yEyOvEn?%tO zIaY&W-IQD?H2@i4(3bV;kZ$0TVnw#Zae_|+#s`A=V%CzxExcAZlWx_>%E*XfTPP5i zQZY|Ng%k=U2`}FEdIeC4(D#W*k={jL5dCtt^o)@7qdki9<4kaG%UYpR!%d4@I;9a06OFPyaK2ceU7xZ~&*23|qPVCV>njTB5Zw6|5CjEK!k^AT0(z61>!K1r1w zpb(oaf>DMZd%TJw?@U00W2!3Quc3%r0dWO!qMDTY0fRIrcehB)L9GJAAm5;YQs_m< zN*okVrFMs%pvYRQM$!ws{Ugav(x?Q7y9Mf@CFJoUvRhb8QRAM+vneLSTuXztSEojn zU^Jln7uFpVEiJG`yi83MoMBY$0D6eE{x{YAw)Yr*Dy|I#pgO8zyFAuc@>f*E(@!L>>aG9C#6+&Yp^e>(se2P#I@)O@l}HDjp_0r9gWu)D^&axD2pWxPsuu|pS)fq8YF)o(Vs?# zqQTYEA}gQEr!-`ciKp5ZYAUM3w>@*(6Cme+s`8XCr95YZYv43C{}3Jwz2CSEI|O+_<1Y#rbq z)m{+1We!x?Fd$ok0ino@vB+?WY|;HhKv32~%Lbc3h_hH^B(4lC)m9FoVS$r^GmvlR zm?W}axHEZb*@}!#IA1kSUQDM}34x~JMYOO%&redE9xExUO>fIi6%ZkWm#$oyNZm237IZg$PoUTF{CVl z*%D@3v)H*p7gyVn&|nEBg_@fuI2#~Afg77flcKZriEI=&QENOPyphtPH0W1rJ6pKt zRA{Au41^y8wV?yq1j%@TT%dW1>@9p@vLNcK(M?9q4u2?}a%<;ikh`0lkZeweY?9K80{R`BH>j%AfFHLyS5hx z5_HV99Z5J!_Oxb~Y}kDupkjr9ZG48H$U0#T7bJc76J#2<2c3f+kdfpFw|}JI^@LEj zX10Qd%!8a4sz_KVog!W>?On7Vi3(L}pK@A(K8HMN8*N5ql@^g>Q;V&Y>x}2jM?4@@ ztMn-_HH2Fv0YtW|h)yDK-UBEJwt)%HxqS6#^Z!RuC~ z2L(<*L!JUKtwU8)tTLcYO*52%Di>Ep|_#l;qw2DZ)jibya3BKjZcUIyMC1q%Vf#KB$3;z4wmV}@KM#I(x zUXGBnLxNM3;D(@^5=El!BIgP5HiiDQ197bQ45>{;3spw+4uYc=Qlr3hitI0b1#}P8 zyHi6(Y>msE&jV3`K~PJ|KXz6TWQ{~XLWO_AHSQ=Vm^8utJ!{5a>_{ zO}EMsLC@_4MPhQkI7GID;)0rr95SYCDWA)MX%lAlBC{2a71ZURHCrMed|qHM-yqkQ zQMFWaDlUkOPnrynldk&h@#cuP;K8&Z@fCcP+k_J z9u@4XVxTyc(&LHhk;H1-JrWd_o@72l1Q95#l@!GAeGfjM#+N@th_LPR^iX54NW!A= z*Ljv^OCfjUylsK@ZKrq6ydW;60gI2Ki5+t3^Mac=3@B<4AkDUCOQwNzE)_%22?}iu zPbPex_(^2HK|71wGCs;8NY6>I@J%6cS4z&N@pTq_F~M!Qy*`8ZUL4^dkUp`tSSK{1 z!eNH$5)sMzm{`qS@dLiY;PUZ@8taRHZTs-_@(CTmP*`M#LY1$OfrdlYD&EP*Uih3B z8RbB+$WRyY7Xo@#`JMxG@DzLl?7@C1i&O@6hVaB@eRQE_wveidZ(@qCtyM)JFsQ>p zt58}2t7R53>6VeSJ=SuhaOK381n3^BvD>BTAyk+6yd;|hi7mBO@E5Cm>4K_HsFnD7 z+qUy#>Ybt9g5wP@1Ew7s zHs~2MXljRd6(XmshM*d0fI2UN8;INrjQCVF&{R)LqeVL;{{n`vRL^Qn+AAz)I_UVgkM8>7X%x5H4n&GMEZflsi&Y*o&=A`L>Zu`I-s?{$*D6d*m5!CHm?{I z1JLw>JcDE=v`s{$=|$s(1X)g=KD#3OO?d(8SM(>*Pl9hoNe6Z7P_y6?fa%h~kwqm~ zv+g{N5ae!YuHdJ^l0+X}!IEf5r8k1ay5L{h_E|%RWmCY*InfryX!_o0JEcUO4>?hK z0Bf33MBC8EmWP&rj@4MAdpi&F2fgHQfUt>tD}z3bEJCuHna6aX)4HdFg3K!`bgg#9vu`q32;!c(NL8^ssnea zXyYXJDlm7Qz>?xgI$k1((u(XF=~<0}3AU+{iI%oQc1`p*&~&5ZZBifGsvN2;B3J0~ zFA#XdbmbAnAm;GtyY{|Z@2TmDyX>_4>|J-9JYaC^uex8OwOM22_BQ9d zS?>lVw_?`xf}7v_)>p>N-Q%Su-#6~l$BRGN=c1%(^wF7%?s;ioljG*E9(Y>Yj`y7W z*dL#K_}Hcg`Ys)~;(_07p!`I+|9?lGGWJsOIIJ-u+H31AOGsgvab72u6tXZOOI)Eb?(9) zF08X=(GJgFRk!QTle_diU}4#v*Y?xwvvzrSml->bt8-xUIbZK|-Gb!q3CGnv?1Ht+ z#~x>{>NEUBHP`=_Cq`{tFI~N}HQ}|gPEs9z;`t-{H|yTv(do;FC|#sWCp3NiiSZjQ z+T;1-U)}J=?6#Xf{`vDsr%hyp=J_jqdOWcbZ*+z0o;ne(sev1a#M*F0Zu{}Y~Ac<&c22cNz6yncSC3S-t6>ATIw zzH6KkJn{4TBM%8DetPc3Pc?3MV8yE7fKP6p^OXGD)IG}jH#Fw{`p6&S&+mP~PtV@7 zve$K=zoqrsua~#s#7oY9b;^Vm118tG{a*FN=h|IRZ^llSb$Mr>uBT5wdP4q=&*zUC zc)-=IpHAw1K62XO2TJnTZY_7e>EJJSex~fSwPzeO+wFAD#Kn6x@3{ZlcfIsg*Ral{ z@>U~*i$0lu(vC;R-hI7pX!OvFS9V|fr@pkTpVY5#iE>(pKO%bou`6H*X&K^bJY>-!7kCc>7U(@POWZyUlySnBV*T zCuS|FGwY=x{p73LzIf9~9o}x)_ouu#anA$(JpZA)@{galxa`zPPhT;& z?sfmH=yCeoX5W|n^7c(_519PWj*QLh{x#zTHO9oFLc+Y)K=YQ>R%b3|;mmhP=x>N7CZ^5j2L%;1gdijsd zn|)FD)_*>?XU`7Fqx&^}@cI!K?sjYAg@adj|FGYi*WcB-*9FlDryRHG)&=#x8Bl*@ ztIdNA0plN44o6ZT%WOYq?jNLG_-|ByQ zUY(ye@au(ZPPO_CitoSi!NE=2-q`xqc85(r>6ke)?%uIS&s}zWZqMuL=v@#0bK{qb zI=%7D)MhJ(u6yzEbIo<%9X)C2jXign7WMvU`3(zZ+;ZB0Z{Exsy(`ZAZr=Q#&ze$k z&h9%mTz1{AlUsgpT&v#7ZkO*d>+WTr-TTKM>v99NKBw*aY0n*+Hz?b`;fF^p89REz ziL+ZYT_&zV%M;!*IzHU$-Wx8tba|au!lj44`cU(I9@^=?qk7*vsL#X0zuj%a8Ra8C z{bJ`Mmi*TL+}~epc>Ib6Gs?zI=<@Ec&lkDpTD?2W`?UZ2r*C*`U-N^$GvnWWyXNV= zhb!@<(+?{@`I5WNob>wdcjtaSVqM4i9j_`s=hgb>KHBG;W(Taj{+LHE+|&PHpP>8X zcID^(_}zE2_qcw?m0aU#yB7}MYh@?<$oGEf`{L`n?y&deWpc|EJ)QT?YyD{M=LK(w z?HYXY{crvIz(M0bzG}h6-(I}&hGq{mwJuv@bUia{^uv_;FO8Y|*()FJ|K$DOJodt> z{hQU_`H9V+ymrom4c30rs_s(_8=kc6_PYnwai9I-j{%P_TRb>^e(^Kc+`0MwKdrad z-#qoZmg7IUW|-a2RGXanO8Ke*&-M7?mIG$q{_=pPr!3p|jh0V$>$LXQFMe^xyLG>; zbNtey@3`vP`^tAYaq};aExCU6>8FibeeXXT9QgYS3)FjtFI+fd>DaNCe!8gea%<&< z_x`y2&=pUx>xYzmUGd9;Kkq$Z=RLb#@sF1_PT6JVQR(Sz(lvt?Pfb3{-F(Z}_l#Nl z`f-=N8@9e-+4@P%j~X*~$t#PFzT};Gk$vh;QUyEZwb}c`M>ak4)a5g}m(BV~E}z?@ zMfg~ci9^piyJ72bXPl$7TX%n>=5r?=3UvqJTu6K>>^8JbB zg*ThDDmT~MJ!;_Crc>nrQFnVt0N-*&>j^CxNR-tTnhA5Xk`_FLn2df~_h z2Q^*$&c=$4H@8|;f9~Rg?|Sr%M@24%|3& z;Lqdg4PA2S^yk-)U!>1}c6vPeype6*skpk|>0KWjlH2sdru~lo-fY_TiJ#A2@yxir z?!K>Km+$tyA-OHC`_9-~7q58f!^69d7r z)6Y-MS-5%4wMV^}yYj$;X3O=zx@OJ&-S++Zmh_i5I?da(@{b!^@7VV3F&p<>yknbv z?rnbk&BNkdmh|0}zV>v*y=_}QTX^fkfd`+psn3JUHr(~+@P5JA59@wXzU&@zgW#e&mqw7{&IRDg{Etkz5KYs96<8E4c z_eof%^B#WifL+h(b5WC?*9!C3wD+ptubkD{xqiideII=1-8I9`o+EC3uTM{F|M-Z! z_WjGxUVqgW8((by))B)$xNeF)&;%6FTFkU{#&hcuQ~ga8>W5q z+uDl;t@!$u-A6T_Jp0UxCiU(z=U&K-Q(w67t0%6x6b2+_7=O(znllcf`W}{g&L% z|9-r*;~BYu(;j>4r+=;8d~Dy2kG$Rasgs%G7{G7*o-^>)b=G zJgM&VfBjSuF7+F=d9;4xcZZ$z<&Tek@&0LRXI50y8H%)hQFqplXP-Ou+(r90KKJCZ z(~dm$<0A*&XTINZ@3J4RogOW<)+d9foVTF)p$qCQY}|VGPvO{A3+Mg%`6E#)6vXg8UxoIm}gr@9_CWN5o)zkWGLYS`?SH=IlESv%)SZ|}{| zp5gqtHrR9ZyB~I6vd2?z{PxJqNpF1cYgzxJpWJKlu`T1C%|H2c$|r5+eDvF1xzYEu z>r-E9IAixExO6AIzhA#kyZ(CZxXrIWx@hhT*9R;AJb#e({Rf+me)7F^>EK)5U;V|O zcU`XRbMQ=K+~9qeJksdsm)9e*`r+>njXGa`(55hT*Hx{N_C~|KlB1_CxvA`x*Osh4cfr^%ewe!O!exz* zTmR6>Pt;#CXx%$w8~*0Y& zx5cY^J$%U@<2UzNJa^wu+vLAP5x)F;{f5)lJn>=FaZJxH55>-jCokFaxxMNRdjHga z4>G3r-Q4Bp$;RcT=*{QGMsOII&~z_Qy0ns^Mwx{JP}l zH-{dzlJKwFMQvZ(rQ)QneNX8(xiy~c%tuGe6b54UgFBBqa&g6>6{kM<&Lf}S`{$hd zpMUrtFRXv_<{!@s_kJBEHD}5WvmU5-`RwPqD~&r3oh&sxuJ5{)S2jEPmkqzYzw@X+ zHcvZYJi6%oTucAzgMP)MzU-UbuiRG96=8?O6D zsK}MCy(Fl>7VAV z95gvN(Mg;1-)F!HZ{EGUZ17VT)O&KLf3|$?=&^q;yW{B2$L}|4K?W3f)3vgTQPXfK@(0`{?CUxE`D-dyB142wtjktw145Z<*lBX z^w^7SS~!oby!+>?zC6E4+05(4Z~E-9Vc*T)>4eR{AM@E+`_*}Hmy3o>8?|B=Tj2G<$5T<9p^?<-d8Y)eQ~1e6jkjR(oIbaZ~@{4ej3j=(-)$Hbgk;Mqler#v}t^_??j9OzBHr)FTHFDH*Xany{~>rU!_&R(m%e{_E8>~jjw^+>y3QF!^uS8)%2 zJbB~#qm*IEwAY+=kMvnEzt!wF1|0v?&#!b?*X@EaSB^eo;1``=Twd?-o39=IUhD3y zA3ST)hI`h({W}(D;>-0nPP%{6y7Pbd^=Q9?c~R%1&bWF?*Tb3|*<$IGy{~${9p2R9 z&4qi{&0IP2g%KBazoU8gp3RS+x0l(Z!791aLF;?9AE`Av_tE7mmi+i@Q{1RlAHQ@~ z_lq8R*}UtFYbG{-ZbxVTwph(@!6ogVZ+g={ji>y6)%3Fbebd)9+4<0O&VFL_=6S#T zu=D2o{y2Eg4PPJstaVuHc*-6<4*I0YdG&Ystmm>ht@2L~J!afDUp=~Gcw93)r?)@s z^yG%2Paf2!(bx6v8a<`YhJiOf6gKR7RGSN~nex)qX}Oih#d|jj&bU54`FMLy^2T8= zPyD(0@JCv%AA3X#yLZ=TzI^rM+b+)?wD=iww?dz~))k$*w++ua_ML;TKX_*S$+xu~ zCYc)t%vkimq$}@iIdhor_Gx|N7l(IMhOPKMm^z?GU-@T!!cQX(zp2s9KY!~Vte&@G z+S=JqufA~lJ?Gu^)CYIgy{Sv%#aDm*!yhla)>|ta)acK*o<6nF@{x7&8!q{D#Hede zd8OTczb>v5j&FM34$UvU^}LxETW<{e))d;wtpFU#`;6*F5O|^WsA)=yI$M%I)9|x_J;YdJaAvD15dsE+5R{7 zoH4lVleeE)fAXZ=7kqZwGrJr#J3nIOnftl@3)1tq-s+_)tf$rK!8jS4fS9XRjd4=#GATkFg3d~?$q7i?Ued+ENk>pACP@+VHrEgYIp!SNSaUex>8{ zA0PkH)2lB3wrP0v+#g>WcS^lyx)J>qYW?G^>F=$5d-J%cKt~QOu2v2)%}L= z-D>dC-WzXllLOv-|aSFGDStT1)`oVq`DT5-Y^<1am=-CJe+(GtSI5|lG diff --git a/资源文件/images2/start_x.png b/资源文件/images2/start_x.png index 7ecb05d6afb4c9755035fca045269b73492155f2..b09ab2ff74d994a1d89b7f7711058729a0176057 100644 GIT binary patch delta 3030 zcmZ`*Sv=GW1N~dF3?f-WhKrQaV06bmV`l6-*}Ae*B-_{`f5ui!_N;?RiewjMU$aaj zOED_T*mZ3oWQeba@AW>Mb6(Clzu$Q~ZweX9MGYRCndovsEqZ8%Cv1@ZR{1qB5dOhrj0BZ^5Bs&fO2f@>?o|I=i{ z47>gRrW^ldl7t50EZjX*-F#hxeBAHj^f4Nep+0`{Zg<^O|DXN)KeN{}pixK=hT#9R z5|XcvL0N@rzyadD**#2aI(wmZ)eNfEohF~Kj<&t_N)K(=(a}zKA%~7 zE;RHkI|Lf1%$zYlWg2%k&%5_`G&jeBE8`)X12>O{Sbk5u391P%is-+-dJ7eU?@MJ6 ze$3>F`9a}qg}SO%e7fQ!mQVVQ_mC8q>C^3ia#y`>$coSafU!@^{2&KeFcUA5VD>{3 zm7T^e4(U~XdR6wO*@c;&B`l4_?}?Kri?o#76cA~Y=$QfvpD_LL`E+;8?h0&gpK>czjD06-5dd# zgJ@H<_{I}`BNC_x7WWB8@n(rd`0gR=TaxJEku zT25N4Ij%A1cro=MZ5i-+{GG=}s3;wS&H48Ski_<@VJ=Bvb}j{yI2Gs1t5>(NL-L@NhQ& zIJI<88GFX1lbvV! zuGPoqO{2R(Rh@I{hcd5+S4C0&R_S6tTe~UZZy(z|2?MQ z@fHs*st3|bc-kKyLjEcY(?^%B3TaTMum28yG4!2)NKJI?pl7P7t(ZC_c(<;OgonO? z$+cFp8%uldZ7+MetB5K$EfOd>1pS&$kg0#k17{!g1T+{_*Imuqm zsUJ__8URLpqp_4~zaG3&T-xYskY8ZqTU$EWslfOIXY)1$+^M$KBSJaLucAOg+_@+t zzOQ!8ObU41v?SV;=Q|V1?}L=a@ua4OJ9lqqRh~GmUH!(m zA;@;caXj?ju*A73_U`VV>${=!rut|(nC2z}ay6{1zW#kk&>f*}XbNN7=F0_1mv^v- z8YxJmP8ch&y?R(R9pSJ=L;eH_fm)b|Seau@<%`ip^$A|Hg8F0G^V@-_QUxW>{y=;YGSv}wvD{&g@TTv~z6N<@Lxn5!)yY0n*g0RHt45BHb=?wBk&tG%H2VFB!`?2R>E^$7ntLNYqB! z03%fi3IJ+knE!Sdqp^j@UW|F^7VYxeWumuD0$sw@ea&#Y9F<#I`}QH|`n|3CcNOEC zW$}yKgnb-$@4N9@b8hMhpLz$exdyIZQl_Zr?tU0m;`)R~uHzNu#=mS0>DKgt+D&f`Jr$CO7 z*j^M&>NuwA{2KpZ+cUSL!JZzR(1utjdgco~G{J02N}G4vUR03vzH^A6m>&!_S2+J>oN=w1UKUt3}T z9qgLOO5S9lVxzqXETnDHO-PJP=JKnR1y)2~`lZH-gzzJRa0Ur|77IeXCdMY{uow;l+ABwq@d7?H@4l@@P`ra zg7)d;_t|S+-(yx_4@|i2KfosxORb;k%f(H|-Y$bZYew6Rre#G8#KgtvJs#q&YwjGF zI6EJ%w4HqrdeemZOe@&c^(TQ8OxHvLBQ`V~-x!{gP*dHZ{+#RrZg{oKe`?Akv96+% zimOpS8OF(1{rOM_3t>Subt;|9xBS|3Z`Lm$;_3M}_RR$}7f%G2AUiNUN|+z1H+9in ziXFK4Q&RrEJJ9?3dkF|YvCDdMTW$}Pn|=M~V$nqaE5o$&tyMX;O) literal 36660 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 diff --git a/资源文件/images2/start_y.png b/资源文件/images2/start_y.png index 5fe5d0c2620cc69ee56e16095988a7302a65c272..19a8848df93b724febf1b8573029704a08a54652 100644 GIT binary patch delta 3015 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 b%jUFsr{nPb-r4=;694oM2K#rr!_NFagLvsc diff --git a/资源文件/大禹修水存图7.29/over.png b/资源文件/大禹修水存图7.29/修水失败字.png similarity index 100% rename from 资源文件/大禹修水存图7.29/over.png rename to 资源文件/大禹修水存图7.29/修水失败字.png diff --git a/资源文件/大禹修水存图7.29/finishi.png b/资源文件/大禹修水存图7.29/修水完成字.png similarity index 100% rename from 资源文件/大禹修水存图7.29/finishi.png rename to 资源文件/大禹修水存图7.29/修水完成字.png diff --git a/资源文件/大禹修水存图7.29/yes.png b/资源文件/大禹修水存图7.29/修水成功字.png similarity index 100% rename from 资源文件/大禹修水存图7.29/yes.png rename to 资源文件/大禹修水存图7.29/修水成功字.png diff --git a/资源文件/大禹修水存图7.29/again.png b/资源文件/大禹修水存图7.29/再试一次按钮.png similarity index 100% rename from 资源文件/大禹修水存图7.29/again.png rename to 资源文件/大禹修水存图7.29/再试一次按钮.png diff --git a/资源文件/大禹修水存图7.29/大禹治水结算界面字号.jpg b/资源文件/大禹修水存图7.29/大禹治水结算界面字号.jpg new file mode 100644 index 0000000000000000000000000000000000000000..594716663bbd5e704bbac9415f7b1764727e6218 GIT binary patch literal 137442 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%0D2Y0Gl47)Bh@j29gQ1oIu>qQNW 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�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Ð*391kZ+ zkwG;dK>WQuU85;+hup&NRkHKV6$PxkQSCOHq zpgu+x@g%UqkvYsa)+GbY5rj>L&Kk-b0Je}-77sL_0#W1(J#d23ltU3nF)3V}7(*sg$*~eXA83OR0UQ?TLl}%K zWLn$@l|s{yc8j1hoUU5^7d!$VBE(RURPdofC|t(8-{61YxJyUc(W&FdN|&E>705@k)lF%V&@zR8q4P zmWxmkj}pu0s|Zr~(>RrrgN`jj2k>1hQYTNIf{?CN4CnjtsaSCW!m1ZixEwqF6)Bkv zgE$9RAE7s3W!mu(CCOA6!Qp5>z>5Shiv_Y#p)#cI~KTrc?fp!Bha3&+5O#~^)I3AI~VAAn+MN5SK_wYndJ%&FQkH;|?EF6;#m_V-J z;J{NDMIGpfzXM)zWgUiy0&C(#7-PUkC$_BFHcDp^i8xSZmFeB#S&$qCbL8APIL#3q zKt~6{SWIWxb73No3GrcsLUS05Kn6puXd%BHMtPDH!-uyhemp@&0vM=(5G)wTx}kd_ zgu!J(07fc?@d6RxgN`sV0wC;aMO*NDq*R3`Mg-I%U_2xoFb!{`2r~gHp{tSSlcD_x zQV`^-@cH^A0Z>B1r*O5d6lrYW;PD)PmK~puj8@21PL2#yD>yzv5oxb zB``h%p~R{_{SkZtbiVIIL$Zv$sCo&wqV0%$7~K-QN6!Jvh)(52?-aK&}1CenlS%#i%VgpVU$0o<;%Kpb0!^oCMm9 V%pEcZji$;`#8luPzU|lh{|BH@oYMdR literal 0 HcmV?d00001 diff --git a/资源文件/大禹修水存图7.29/alertBg.png b/资源文件/大禹修水存图7.29/弹出底板.png similarity index 100% rename from 资源文件/大禹修水存图7.29/alertBg.png rename to 资源文件/大禹修水存图7.29/弹出底板.png diff --git a/资源文件/大禹修水存图7.29/totalScore.png b/资源文件/大禹修水存图7.29/总的分.png similarity index 100% rename from 资源文件/大禹修水存图7.29/totalScore.png rename to 资源文件/大禹修水存图7.29/总的分.png diff --git a/资源文件/大禹修水存图7.29/numberBg.png b/资源文件/大禹修水存图7.29/数字底.png similarity index 100% rename from 资源文件/大禹修水存图7.29/numberBg.png rename to 资源文件/大禹修水存图7.29/数字底.png diff --git a/资源文件/大禹修水存图7.29/rank_Btn.png b/资源文件/大禹修水存图7.29/查看排行按钮.png similarity index 100% rename from 资源文件/大禹修水存图7.29/rank_Btn.png rename to 资源文件/大禹修水存图7.29/查看排行按钮.png