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 0000000..321db3a Binary files /dev/null and b/assets/res/btn.png differ diff --git a/assets/res/btn.png.meta b/assets/res/btn.png.meta new file mode 100644 index 0000000..b0a98ee --- /dev/null +++ b/assets/res/btn.png.meta @@ -0,0 +1,38 @@ +{ + "ver": "2.3.7", + "uuid": "af424dfb-ef89-4f3e-b330-84d64db660ff", + "importer": "texture", + "type": "sprite", + "wrapMode": "clamp", + "filterMode": "bilinear", + "premultiplyAlpha": false, + "genMipmaps": false, + "packable": true, + "width": 269, + "height": 74, + "platformSettings": {}, + "subMetas": { + "btn": { + "ver": "1.0.6", + "uuid": "1b982a20-7926-44fc-80aa-d96fa01d06ae", + "importer": "sprite-frame", + "rawTextureUuid": "af424dfb-ef89-4f3e-b330-84d64db660ff", + "trimType": "auto", + "trimThreshold": 1, + "rotated": false, + "offsetX": 0, + "offsetY": 0, + "trimX": 0, + "trimY": 0, + "width": 269, + "height": 74, + "rawWidth": 269, + "rawHeight": 74, + "borderTop": 0, + "borderBottom": 0, + "borderLeft": 0, + "borderRight": 0, + "subMetas": {} + } + } +} \ No newline at end of file diff --git a/build-templates/web-mobile/index.html b/build-templates/web-mobile/index.html index 6fd23cb..f097fd9 100644 --- a/build-templates/web-mobile/index.html +++ b/build-templates/web-mobile/index.html @@ -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.js', function () { if (CC_PHYSICS_BUILTIN || CC_PHYSICS_CANNON) { diff --git a/build/WaterControl.zip b/build/WaterControl.zip index c9ccb81..2e1021d 100644 Binary files a/build/WaterControl.zip and b/build/WaterControl.zip differ diff --git a/build/WaterControl/assets/main/config.a3c5f.json b/build/WaterControl/assets/main/config.a3c5f.json deleted file mode 100644 index 0a2fca5..0000000 --- a/build/WaterControl/assets/main/config.a3c5f.json +++ /dev/null @@ -1 +0,0 @@ -{"paths":{},"types":[],"uuids":["29FYIk+N1GYaeWH/q1NxQO","2dL3kvpAxJu6GJ7RdqJG5J","2fyp3mEEVIdbl+app823Pa","4bnFp+xkVIpJrKXfOBzk71","4er1GLNexCYpKNTUl8Pygw","61cyPdEfRN047sDK9rO0W5","71VhFCTINJM6/Ky3oX9nBT","9cCAYtTPFLbqi6SjiBzH59","9cGJu2Po1E0Ig5JOShYLbd","a2MjXRFdtLlYQ5ouAFv/+R","b4P/PCArtIdIH38t6mlw8Y","d608qFRoFHwbXd0Dap056i","d8HsitJHxOYqo801xBk8ev","e8Ueib+qJEhL6mXAHdnwbi","e97GVMl6JHh5Ml5qEDdSGa","f0BIwQ8D5Ml7nTNQbh1YlS","02delMVqdBD70a/HSD99FK","02+qdP/LNMYprXxb2rzSoK","038X5XEVhLvKkpcE4sjxvI","08nl3uyqJJA7uoE3GvzFXX","09bYkL1mtAM5O2O8+V7qHc","0dYUDhpatFq6MgzYbrj9Ao","12h4oyoGNCtLIznkGQVMCE","13N/YjxRlBvJuJQONzZgQf","15Px8zkb9PNqM/8EKhh8Au","1dNha+sbhOcIXHxXv/DvKd","35noyLK/VOjrkOp2VPgfL5","3d1+VYOqRFMru62rlaVFw5","47ZX8FJD5PKqMtIAYx8cJS","5cO7kybDxGj4ipyMYdRYZB","5c+BT+UBxHhrClg8pgvwdu","5fDWUEFjZBRI2eMjZLlvjR","5f5dyqtRNNxaFmVzYns6FZ","61voSiLytCdKbvQdUslVWv","67jm/DIIFDxIZZJwIYExU4","72w0D96+tCzqgcxJNILv57","73N8EX9n1McabSpjwsAUFl","735++tg/NFuq8LAKT3Dq0y","75rGnU/uhK8bMsTI+rC297","76pgt/TFZD470MIGj+PmEU","7akOdsN/hPjITp8Fs0r+SB","84TEhnwUZPfYYtQ7rcSIdl","86RTsIyV1N174519l+P5Pb","8d6VAk+VtOSYLmKMYTu7Gp","906d84Zp1AyY2/IlNF6g7B","93rh8qRmZNwqSgRWn/HV4y","94fy1KWrtGzauS1WYYJj5t","95F5lEPqJBRb7AzhyuehSX","950i/nfQFMA706M0J42z2S","98MGN85ONN9Y1R/Em31xW0","9aAAqt7OBB9JisjAQY9UAn","9ajTxyRMRHBaydTBGlDSk1","9bvaMerUlDyary99mJa6xp","9ekcNRvRdEa7dzO3Ff5rpI","9fAapsHpVHi71EfwJl8ns5","a370KkqyVJLbbINtFmyZoV","a39q6sihlPfb0M5TnFO2VM","a8Z+I8DLJOTItWbXZ7o+On","ab1P7uwLFP0LwHkn9ME+r+","b2Jo5hfNdP3IxDaDbBBpRD","b3zo/554xPt4CdlPazRDpG","b67eQ8r1FMH4Sc4NPX9Pm9","b7ZgPiwWZM6a83QXze3eEu","b8DySHAFpJKL3lBPpBrtpx","b9JgB6PD5JgbHAY4hk38iS","bcEK9sCkJI4p6KlRiOXup5","bew0UnUvBFRbiViMzq4tm1","c0HHeDVMpCarROFz9NuoqK","c2TGyr0HlFNI+U5EHVCc9G","c4hq8w+RNMJYisEFc7WjmI","c5bTdQ6p5KJY7kyiMGyG9+","c9MNZOJwdHT7aRYiDiky3d","caMzEruwxDTbLoqA7DEd3/","cd0Te7CUhF2IPZcu9Ump28","cfqcs4X2pESrBI8GS67vAW","d1VSe4M39DrLKWwnZb3BZL","d5BkUa/nxBx5+b0q2RfGhs","d5OjVl+DNCYZB21IIypRPF","dbBrjVZzVM4IdI7f4G6f0w","ddqDlhAkZLWIL1y8avBH5u","e0b3wP+fNDrJPw/uXtbPAm","e4mOksb1lGdYpf3qDPlJ1m","e8GI4uyrpF67GYzhTP5An/","ecpdLyjvZBwrvm+cedCcQy","ed15lxBRBEnpnPnF2neaVF","ed8zUHEbVGj5LsmjJJ84R5","f0l6cmN0VCqJo0uIRJdK4X","f2XLSzyLBDmY65+MMcVh/R","f7bzZZX0lHQ4pY2wrfzNRV","fbFdFD+0hProkh5fAFST+s","fcnzeeqxVHkq3OZWAMR5PH","ffqy1jFwBIIY2Vn01HF6ob"],"scenes":{"db://assets/Scene/GameScene.fire":4,"db://assets/Scene/LoadScene.fire":7,"db://assets/Scene/OverScene.fire":3,"db://assets/Scene/RankScene.fire":1},"redirect":[16,0,17,1,18,1,19,1,20,1,21,1,22,1,23,1,24,1,26,1,27,1,30,1,31,1,33,1,34,1,35,1,36,1,37,1,38,1,39,1,41,1,42,1,43,1,44,1,45,1,46,1,47,1,48,1,49,1,50,1,51,1,54,1,56,1,57,1,58,1,59,1,60,1,61,1,62,1,63,1,64,1,65,1,66,1,67,1,68,1,69,1,70,1,72,1,73,1,74,1,75,1,76,1,77,1,78,1,79,1,80,1,81,1,82,1,83,0,84,1,85,1,86,1,87,1,88,1,89,1,90,1,91,1],"deps":["internal","resources"],"packs":{"02989e146":[0,7,14,15],"05f26e7ec":[2,5,6,8,10,11,12,13],"074944b20":[25,1,29,32,52],"0d9744cd3":[0,28,4,40,53,9,55,71,14,15],"0f2adc401":[3,9]},"name":"main","importBase":"import","nativeBase":"native","debug":false,"isZip":false,"encrypted":false,"versions":{"import":["02989e146","571a0","05f26e7ec","fc990","074944b20","3f156","0d9744cd3","fe13e","0f2adc401","653a1"],"native":[2,"6e8cb",5,"6d707",6,"c06a9",8,"3814e",10,"83fcc",11,"d55c2",12,"cdbc9",13,"90cf4"]}} \ No newline at end of file diff --git a/build/WaterControl/assets/main/config.cc0e7.json b/build/WaterControl/assets/main/config.cc0e7.json new file mode 100644 index 0000000..d199ee4 --- /dev/null +++ b/build/WaterControl/assets/main/config.cc0e7.json @@ -0,0 +1 @@ +{"paths":{},"types":[],"uuids":["29FYIk+N1GYaeWH/q1NxQO","2dL3kvpAxJu6GJ7RdqJG5J","2fyp3mEEVIdbl+app823Pa","4bnFp+xkVIpJrKXfOBzk71","4er1GLNexCYpKNTUl8Pygw","61cyPdEfRN047sDK9rO0W5","71VhFCTINJM6/Ky3oX9nBT","9cCAYtTPFLbqi6SjiBzH59","9cGJu2Po1E0Ig5JOShYLbd","a2MjXRFdtLlYQ5ouAFv/+R","afQk3774lPPrMwhNZNtmD/","b4P/PCArtIdIH38t6mlw8Y","d608qFRoFHwbXd0Dap056i","d8HsitJHxOYqo801xBk8ev","e8Ueib+qJEhL6mXAHdnwbi","e97GVMl6JHh5Ml5qEDdSGa","f0BIwQ8D5Ml7nTNQbh1YlS","02delMVqdBD70a/HSD99FK","02+qdP/LNMYprXxb2rzSoK","038X5XEVhLvKkpcE4sjxvI","08nl3uyqJJA7uoE3GvzFXX","09bYkL1mtAM5O2O8+V7qHc","0dYUDhpatFq6MgzYbrj9Ao","12h4oyoGNCtLIznkGQVMCE","13N/YjxRlBvJuJQONzZgQf","15Px8zkb9PNqM/8EKhh8Au","1bmCogeSZE/ICq2W+gHQau","1dNha+sbhOcIXHxXv/DvKd","35noyLK/VOjrkOp2VPgfL5","3d1+VYOqRFMru62rlaVFw5","47ZX8FJD5PKqMtIAYx8cJS","5cO7kybDxGj4ipyMYdRYZB","5c+BT+UBxHhrClg8pgvwdu","5fDWUEFjZBRI2eMjZLlvjR","5f5dyqtRNNxaFmVzYns6FZ","61voSiLytCdKbvQdUslVWv","67jm/DIIFDxIZZJwIYExU4","72w0D96+tCzqgcxJNILv57","73N8EX9n1McabSpjwsAUFl","735++tg/NFuq8LAKT3Dq0y","75rGnU/uhK8bMsTI+rC297","76pgt/TFZD470MIGj+PmEU","7akOdsN/hPjITp8Fs0r+SB","84TEhnwUZPfYYtQ7rcSIdl","86RTsIyV1N174519l+P5Pb","8d6VAk+VtOSYLmKMYTu7Gp","906d84Zp1AyY2/IlNF6g7B","93rh8qRmZNwqSgRWn/HV4y","94fy1KWrtGzauS1WYYJj5t","95F5lEPqJBRb7AzhyuehSX","950i/nfQFMA706M0J42z2S","98MGN85ONN9Y1R/Em31xW0","9aAAqt7OBB9JisjAQY9UAn","9ajTxyRMRHBaydTBGlDSk1","9bvaMerUlDyary99mJa6xp","9ekcNRvRdEa7dzO3Ff5rpI","9fAapsHpVHi71EfwJl8ns5","a370KkqyVJLbbINtFmyZoV","a39q6sihlPfb0M5TnFO2VM","a8Z+I8DLJOTItWbXZ7o+On","ab1P7uwLFP0LwHkn9ME+r+","b2Jo5hfNdP3IxDaDbBBpRD","b3zo/554xPt4CdlPazRDpG","b67eQ8r1FMH4Sc4NPX9Pm9","b7ZgPiwWZM6a83QXze3eEu","b8DySHAFpJKL3lBPpBrtpx","b9JgB6PD5JgbHAY4hk38iS","bcEK9sCkJI4p6KlRiOXup5","bew0UnUvBFRbiViMzq4tm1","c0HHeDVMpCarROFz9NuoqK","c2TGyr0HlFNI+U5EHVCc9G","c4hq8w+RNMJYisEFc7WjmI","c5bTdQ6p5KJY7kyiMGyG9+","c9MNZOJwdHT7aRYiDiky3d","caMzEruwxDTbLoqA7DEd3/","cd0Te7CUhF2IPZcu9Ump28","cfqcs4X2pESrBI8GS67vAW","d1VSe4M39DrLKWwnZb3BZL","d5BkUa/nxBx5+b0q2RfGhs","d5OjVl+DNCYZB21IIypRPF","dbBrjVZzVM4IdI7f4G6f0w","ddqDlhAkZLWIL1y8avBH5u","e0b3wP+fNDrJPw/uXtbPAm","e4mOksb1lGdYpf3qDPlJ1m","e8GI4uyrpF67GYzhTP5An/","ecpdLyjvZBwrvm+cedCcQy","ed15lxBRBEnpnPnF2neaVF","ed8zUHEbVGj5LsmjJJ84R5","f0l6cmN0VCqJo0uIRJdK4X","f2XLSzyLBDmY65+MMcVh/R","f7bzZZX0lHQ4pY2wrfzNRV","fbFdFD+0hProkh5fAFST+s","fcnzeeqxVHkq3OZWAMR5PH","ffqy1jFwBIIY2Vn01HF6ob"],"scenes":{"db://assets/Scene/GameScene.fire":4,"db://assets/Scene/LoadScene.fire":7,"db://assets/Scene/OverScene.fire":3,"db://assets/Scene/RankScene.fire":1},"redirect":[17,0,18,1,19,1,20,1,21,1,22,1,23,1,24,1,25,1,28,1,29,1,32,1,33,1,35,1,36,1,37,1,38,1,39,1,40,1,41,1,43,1,44,1,45,1,46,1,47,1,48,1,49,1,50,1,51,1,52,1,53,1,56,1,58,1,59,1,60,1,61,1,62,1,63,1,64,1,65,1,66,1,67,1,68,1,69,1,70,1,71,1,72,1,74,1,75,1,76,1,77,1,78,1,79,1,80,1,81,1,82,1,83,1,84,1,85,0,86,1,87,1,88,1,89,1,90,1,91,1,92,1,93,1],"deps":["internal","resources"],"packs":{"02989e146":[0,7,15,16],"074944b20":[27,1,31,34,54],"0961e988d":[26,3,9],"09f72cf20":[2,5,6,8,10,11,12,13,14],"0d9744cd3":[0,30,4,42,55,9,57,73,15,16]},"name":"main","importBase":"import","nativeBase":"native","debug":false,"isZip":false,"encrypted":false,"versions":{"import":["02989e146","19252","074944b20","3f156","0961e988d","85980","09f72cf20","e3c82","0d9744cd3","310b1"],"native":[2,"6e8cb",5,"6d707",6,"c06a9",8,"3814e",10,"65542",11,"83fcc",12,"d55c2",13,"cdbc9",14,"90cf4"]}} \ No newline at end of file diff --git a/build/WaterControl/assets/main/import/02/02989e146.571a0.json b/build/WaterControl/assets/main/import/02/02989e146.19252.json similarity index 98% rename from build/WaterControl/assets/main/import/02/02989e146.571a0.json rename to build/WaterControl/assets/main/import/02/02989e146.19252.json index b42981c..c833d09 100644 --- a/build/WaterControl/assets/main/import/02/02989e146.571a0.json +++ b/build/WaterControl/assets/main/import/02/02989e146.19252.json @@ -1 +1 @@ -[1,["ecpdLyjvZBwrvm+cedCcQy","f0BIwQ8D5Ml7nTNQbh1YlS","e97GVMl6JHh5Ml5qEDdSGa","29FYIk+N1GYaeWH/q1NxQO","71VhFCTINJM6/Ky3oX9nBT","c4hq8w+RNMJYisEFc7WjmI","9ajTxyRMRHBaydTBGlDSk1","735++tg/NFuq8LAKT3Dq0y","bew0UnUvBFRbiViMzq4tm1","95F5lEPqJBRb7AzhyuehSX","038X5XEVhLvKkpcE4sjxvI","94fy1KWrtGzauS1WYYJj5t","cd0Te7CUhF2IPZcu9Ump28","35noyLK/VOjrkOp2VPgfL5","b67eQ8r1FMH4Sc4NPX9Pm9","b4P/PCArtIdIH38t6mlw8Y","e8Ueib+qJEhL6mXAHdnwbi"],["node","_textureSetter","_spriteFrame","_parent","_N$pressedSprite","_N$hoverSprite","_N$disabledSprite","testVersion","_N$target","scene","chehui","jineng","qingkong","fangxiang","build","win","lose","_N$normalSprite"],[["cc.Node",["_name","_id","_objFlags","_components","_contentSize","_trs","_parent","_children","_color"],0,9,5,7,1,2,5],["cc.Widget",["_alignFlags","alignMode","_right","_bottom","_originalWidth","_originalHeight","_left","_top","node"],-5,1],"cc.SpriteFrame",["cc.Button",["_N$transition","zoomScale","node","clickEvents","_N$normalColor","_N$pressedColor","_N$disabledColor","_N$target","_N$pressedSprite","_N$hoverSprite","_N$disabledSprite","_N$normalSprite"],1,1,9,5,5,5,1,6,6,6,6],["cc.Sprite",["_type","node","_materials","_spriteFrame"],2,1,3,6],["cc.SceneAsset",["_name","asyncLoadAssets"],1],["cc.Node",["_name","_parent","_components","_contentSize","_trs"],2,1,12,5,7],["cc.Canvas",["_fitWidth","_fitHeight","node","_designResolution"],1,1,5],["454adgphRpA6oq5lB6Cg1fK",["clientTestVersion","node","testVersion"],2,1,1],["cc.ClickEvent",["_componentId","handler","target"],1,1],["cc.Scene",["_name","_active","autoReleaseAssets","_children","_anchorPoint","_trs"],0,2,5,7],["cc.Camera",["_clearFlags","_depth","node"],1,1],["5c9b8FZiaNLMrMDs9T3rByf",["node"],3,1],["cc.Label",["_string","_fontSize","_lineHeight","_N$horizontalAlign","_N$verticalAlign","node","_materials"],-2,1,3],["58403/n16JCa5sZhNMjZzGo",["node","chehui","jineng","qingkong","fangxiang","build","win","lose"],3,1,6,6,6,6,6,6,6]],[[0,0,6,3,4,5,2],[13,0,1,2,3,4,5,6,6],[1,0,2,3,8,4],[9,0,1,2,3],[4,0,1,2,3,2],[5,0,1,3],[0,0,1,7,3,4,5,3],[0,0,6,7,3,8,4,5,2],[0,0,2,3,4,5,3],[0,0,6,3,4,2],[0,0,6,7,3,4,5,2],[0,0,1,6,3,3],[6,0,1,2,3,4,2],[7,0,1,2,3,3],[1,0,8,2],[1,1,0,6,2,7,3,4,5,8,9],[1,1,0,4,5,8,5],[8,0,1,2,2],[3,1,0,2,3,4,5,6,7,8,9,10,3],[3,0,2,3,4,5,6,7,11,8,9,10,2],[4,1,2,3,1],[10,0,1,2,3,4,5,4],[11,0,1,2,3],[12,0,1],[14,0,1,2,3,4,5,6,7,1]],[[[{"name":"default_btn_disabled","rect":[0,0,40,40],"offset":[0,0],"originalSize":[40,40],"capInsets":[12,12,12,12]}],[2],0,[0],[1],[4]],[[[5,"LoadScene",null],[6,"Canvas","a5esZu+45LA5mBpvttspPD",[-5,-6,-7,-8,-9,-10],[[13,true,false,-1,[5,750,1334]],[14,45,-2],[17,"1.1.5",-4,-3]],[5,750,1334],[375,667,0,0,0,0,1,1,1,1]],[7,"Rank",1,[-13,-14],[[18,1.1,3,-12,[[3,"454adgphRpA6oq5lB6Cg1fK","openRank",1]],[4,4293322470],[4,4291348680],[4,3363338360],-11,12,13,14]],[4,4278190314],[5,100,40],[258.955,-476.544,0,0,0,0,1,1,1,1]],[0,"Background",2,[[4,1,-15,[9],10],[15,0,45,-1,-1,-31,-31,100,40,-16]],[5,102,102],[0,0,0,0,0,0,1,1,1,0]],[8,"Background",512,[[4,1,-17,[17],18],[16,0,45,100,40,-18]],[5,513,137],[0,0,0,0,0,0,1,1,1,0]],[21,"New Node",false,true,[-19,1],[0,0,0],[0,0,0,0,0,0,1,1,1,1]],[9,"Main Camera",1,[[22,7,-1,-20],[23,-21]],[5,960,640]],[12,"New Label",1,[[-22,[2,36,4.176999999999964,1.3799999999999955,-23]],1,4],[5,66.72,37.8],[337.463,-646.72,0,0,0,0,1,1,1,1]],[0,"version",1,[[1,"版本号:",30,30,1,1,-24,[16]],[2,36,74.243,2.282000000000039,-25]],[5,98.33,37.8],[251.592,-645.818,0,0,0,0,1,1,1,1]],[10,"New Button",1,[4],[[19,3,-26,[[3,"454adgphRpA6oq5lB6Cg1fK","startGame",1]],[4,4293322470],[4,4291348680],[4,3363338360],4,19,20,21,22]],[5,513,137],[0,-313.512,0,0,0,0,1,1,1,1]],[11,"GameData","2dMM3dYbVDG6vnNZZa8IqA",5,[[24,-27,0,1,2,3,4,5,6]]],[0,"New Sprite",1,[[20,-28,[7],8]],[5,750,1660],[0,0,0,0,0,0,1,1,1,0]],[0,"New Label",2,[[1,"排 行",23,23,1,1,-29,[11]]],[5,52.39,28.98],[0.402,-49.341,0,0,0,0,1,1,1,1]],[1,"0.0.0",30,30,1,1,7,[15]]],0,[0,0,1,0,0,1,0,7,13,0,0,1,0,-1,6,0,-2,11,0,-3,2,0,-4,7,0,-5,8,0,-6,9,0,8,3,0,0,2,0,-1,3,0,-2,12,0,0,3,0,0,3,0,0,4,0,0,4,0,-1,10,0,0,6,0,0,6,0,-1,13,0,0,7,0,0,8,0,0,8,0,0,9,0,0,10,0,0,11,0,0,12,0,9,5,1,3,5,4,3,9,29],[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0],[10,11,12,13,14,15,16,-1,2,-1,2,-1,4,5,6,-1,-1,-1,2,17,4,5,6],[5,6,7,8,9,10,11,0,12,0,13,0,2,1,3,0,0,0,14,1,2,1,3]],[[{"name":"default_btn_pressed","rect":[0,0,40,40],"offset":[0,0],"originalSize":[40,40],"capInsets":[12,12,12,12]}],[2],0,[0],[1],[15]],[[{"name":"default_btn_normal","rect":[0,0,40,40],"offset":[0,0],"originalSize":[40,40],"capInsets":[12,12,12,12]}],[2],0,[0],[1],[16]]]] \ No newline at end of file +[1,["ecpdLyjvZBwrvm+cedCcQy","f0BIwQ8D5Ml7nTNQbh1YlS","e97GVMl6JHh5Ml5qEDdSGa","29FYIk+N1GYaeWH/q1NxQO","71VhFCTINJM6/Ky3oX9nBT","c4hq8w+RNMJYisEFc7WjmI","9ajTxyRMRHBaydTBGlDSk1","735++tg/NFuq8LAKT3Dq0y","bew0UnUvBFRbiViMzq4tm1","95F5lEPqJBRb7AzhyuehSX","038X5XEVhLvKkpcE4sjxvI","94fy1KWrtGzauS1WYYJj5t","cd0Te7CUhF2IPZcu9Ump28","35noyLK/VOjrkOp2VPgfL5","b67eQ8r1FMH4Sc4NPX9Pm9","b4P/PCArtIdIH38t6mlw8Y","e8Ueib+qJEhL6mXAHdnwbi"],["node","_textureSetter","_spriteFrame","_parent","_N$pressedSprite","_N$hoverSprite","_N$disabledSprite","testVersion","_N$target","scene","chehui","jineng","qingkong","fangxiang","build","win","lose","_N$normalSprite"],[["cc.Node",["_name","_id","_objFlags","_components","_contentSize","_trs","_parent","_children","_color"],0,9,5,7,1,2,5],["cc.Widget",["_alignFlags","alignMode","_right","_bottom","_originalWidth","_originalHeight","_left","_top","node"],-5,1],"cc.SpriteFrame",["cc.Button",["_N$transition","zoomScale","node","clickEvents","_N$normalColor","_N$pressedColor","_N$disabledColor","_N$target","_N$pressedSprite","_N$hoverSprite","_N$disabledSprite","_N$normalSprite"],1,1,9,5,5,5,1,6,6,6,6],["cc.Sprite",["_type","node","_materials","_spriteFrame"],2,1,3,6],["cc.SceneAsset",["_name","asyncLoadAssets"],1],["cc.Node",["_name","_parent","_components","_contentSize","_trs"],2,1,12,5,7],["cc.Canvas",["_fitWidth","_fitHeight","node","_designResolution"],1,1,5],["454adgphRpA6oq5lB6Cg1fK",["clientTestVersion","node","testVersion"],2,1,1],["cc.ClickEvent",["_componentId","handler","target"],1,1],["cc.Scene",["_name","_active","autoReleaseAssets","_children","_anchorPoint","_trs"],0,2,5,7],["cc.Camera",["_clearFlags","_depth","node"],1,1],["5c9b8FZiaNLMrMDs9T3rByf",["node"],3,1],["cc.Label",["_string","_fontSize","_lineHeight","_N$horizontalAlign","_N$verticalAlign","node","_materials"],-2,1,3],["58403/n16JCa5sZhNMjZzGo",["node","chehui","jineng","qingkong","fangxiang","build","win","lose"],3,1,6,6,6,6,6,6,6]],[[0,0,6,3,4,5,2],[13,0,1,2,3,4,5,6,6],[1,0,2,3,8,4],[9,0,1,2,3],[4,0,1,2,3,2],[5,0,1,3],[0,0,1,7,3,4,5,3],[0,0,6,7,3,8,4,5,2],[0,0,2,3,4,5,3],[0,0,6,3,4,2],[0,0,6,7,3,4,5,2],[0,0,1,6,3,3],[6,0,1,2,3,4,2],[7,0,1,2,3,3],[1,0,8,2],[1,1,0,6,2,7,3,4,5,8,9],[1,1,0,4,5,8,5],[8,0,1,2,2],[3,1,0,2,3,4,5,6,7,8,9,10,3],[3,0,2,3,4,5,6,7,11,8,9,10,2],[4,1,2,3,1],[10,0,1,2,3,4,5,4],[11,0,1,2,3],[12,0,1],[14,0,1,2,3,4,5,6,7,1]],[[[{"name":"default_btn_disabled","rect":[0,0,40,40],"offset":[0,0],"originalSize":[40,40],"capInsets":[12,12,12,12]}],[2],0,[0],[1],[4]],[[[5,"LoadScene",null],[6,"Canvas","a5esZu+45LA5mBpvttspPD",[-5,-6,-7,-8,-9,-10],[[13,true,false,-1,[5,750,1334]],[14,45,-2],[17,"1.2.9",-4,-3]],[5,750,1334],[375,667,0,0,0,0,1,1,1,1]],[7,"Rank",1,[-13,-14],[[18,1.1,3,-12,[[3,"454adgphRpA6oq5lB6Cg1fK","openRank",1]],[4,4293322470],[4,4291348680],[4,3363338360],-11,12,13,14]],[4,4278190314],[5,100,40],[258.955,-476.544,0,0,0,0,1,1,1,1]],[0,"Background",2,[[4,1,-15,[9],10],[15,0,45,-1,-1,-31,-31,100,40,-16]],[5,102,102],[0,0,0,0,0,0,1,1,1,0]],[8,"Background",512,[[4,1,-17,[17],18],[16,0,45,100,40,-18]],[5,513,137],[0,0,0,0,0,0,1,1,1,0]],[21,"New Node",false,true,[-19,1],[0,0,0],[0,0,0,0,0,0,1,1,1,1]],[9,"Main Camera",1,[[22,7,-1,-20],[23,-21]],[5,960,640]],[12,"New Label",1,[[-22,[2,36,4.176999999999964,1.3799999999999955,-23]],1,4],[5,66.72,37.8],[337.463,-646.72,0,0,0,0,1,1,1,1]],[0,"version",1,[[1,"版本号:",30,30,1,1,-24,[16]],[2,36,74.243,2.282000000000039,-25]],[5,98.33,37.8],[251.592,-645.818,0,0,0,0,1,1,1,1]],[10,"New Button",1,[4],[[19,3,-26,[[3,"454adgphRpA6oq5lB6Cg1fK","startGame",1]],[4,4293322470],[4,4291348680],[4,3363338360],4,19,20,21,22]],[5,513,137],[0,-313.512,0,0,0,0,1,1,1,1]],[11,"GameData","2dMM3dYbVDG6vnNZZa8IqA",5,[[24,-27,0,1,2,3,4,5,6]]],[0,"New Sprite",1,[[20,-28,[7],8]],[5,750,1660],[0,0,0,0,0,0,1,1,1,0]],[0,"New Label",2,[[1,"排 行",23,23,1,1,-29,[11]]],[5,52.39,28.98],[0.402,-49.341,0,0,0,0,1,1,1,1]],[1,"0.0.0",30,30,1,1,7,[15]]],0,[0,0,1,0,0,1,0,7,13,0,0,1,0,-1,6,0,-2,11,0,-3,2,0,-4,7,0,-5,8,0,-6,9,0,8,3,0,0,2,0,-1,3,0,-2,12,0,0,3,0,0,3,0,0,4,0,0,4,0,-1,10,0,0,6,0,0,6,0,-1,13,0,0,7,0,0,8,0,0,8,0,0,9,0,0,10,0,0,11,0,0,12,0,9,5,1,3,5,4,3,9,29],[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0],[10,11,12,13,14,15,16,-1,2,-1,2,-1,4,5,6,-1,-1,-1,2,17,4,5,6],[5,6,7,8,9,10,11,0,12,0,13,0,2,1,3,0,0,0,14,1,2,1,3]],[[{"name":"default_btn_pressed","rect":[0,0,40,40],"offset":[0,0],"originalSize":[40,40],"capInsets":[12,12,12,12]}],[2],0,[0],[1],[15]],[[{"name":"default_btn_normal","rect":[0,0,40,40],"offset":[0,0],"originalSize":[40,40],"capInsets":[12,12,12,12]}],[2],0,[0],[1],[16]]]] \ No newline at end of file diff --git a/build/WaterControl/assets/main/import/09/0961e988d.85980.json b/build/WaterControl/assets/main/import/09/0961e988d.85980.json new file mode 100644 index 0000000..9f0ec77 --- /dev/null +++ b/build/WaterControl/assets/main/import/09/0961e988d.85980.json @@ -0,0 +1 @@ +[1,["ecpdLyjvZBwrvm+cedCcQy","950i/nfQFMA706M0J42z2S","afQk3774lPPrMwhNZNtmD/","75rGnU/uhK8bMsTI+rC297","a2MjXRFdtLlYQ5ouAFv/+R","09bYkL1mtAM5O2O8+V7qHc","9fAapsHpVHi71EfwJl8ns5","ed15lxBRBEnpnPnF2neaVF","caMzEruwxDTbLoqA7DEd3/","8d6VAk+VtOSYLmKMYTu7Gp","a39q6sihlPfb0M5TnFO2VM","1bmCogeSZE/ICq2W+gHQau","d1VSe4M39DrLKWwnZb3BZL","67jm/DIIFDxIZZJwIYExU4","93rh8qRmZNwqSgRWn/HV4y","f2XLSzyLBDmY65+MMcVh/R","02delMVqdBD70a/HSD99FK"],["node","_spriteFrame","_N$target","_N$file","_textureSetter","five","four","three","two","one","selfNode","time","count","scene","_parent"],[["cc.Node",["_name","_active","_opacity","_id","_contentSize","_parent","_components","_trs","_children","_color"],-1,5,1,9,7,2,5],["cc.Label",["_fontSize","_lineHeight","_string","_N$verticalAlign","_N$horizontalAlign","_isSystemFontUsed","node","_materials","_N$file"],-3,1,3,6],["cc.Sprite",["_sizeMode","node","_materials","_spriteFrame"],2,1,3,6],"cc.SpriteFrame",["cc.Node",["_name","_parent","_components","_color","_contentSize","_trs","_anchorPoint"],2,1,2,5,5,7,5],["cc.Widget",["_alignFlags","_originalWidth","_originalHeight","node"],0,1],["cc.SceneAsset",["_name","asyncLoadAssets"],1],["cc.Canvas",["_fitWidth","_fitHeight","node","_designResolution"],1,1,5],["805c6nf399HWZeuWnNB9CTH",["node","count","time","selfNode","one","two","three","four","five"],3,1,1,1,1,1,1,1,1,1],["cc.Button",["zoomScale","_N$transition","node","clickEvents","_N$target"],1,1,9,1],["cc.ClickEvent",["_componentId","handler","target"],1,1],["cc.Mask",["_type","_segments","_N$alphaThreshold","node","_materials"],0,1,3],["cc.Scene",["_name","_active","autoReleaseAssets","_children","_anchorPoint","_trs"],0,2,5,7],["cc.Camera",["_clearFlags","_depth","node"],1,1]],[[0,0,5,6,9,4,7,2],[0,0,5,6,4,7,2],[1,0,1,4,3,6,7,5],[2,1,2,3,1],[2,0,1,2,2],[0,0,5,6,4,2],[0,0,5,8,7,2],[0,0,5,8,6,4,7,2],[11,0,1,2,3,4,4],[2,0,1,2,3,2],[0,0,1,5,6,4,3],[2,1,2,1],[9,0,1,2,3,4,3],[10,0,1,2,3],[1,2,0,1,4,3,6,7,6],[1,2,0,1,6,7,4],[6,0,1,3],[0,0,3,8,6,4,7,3],[0,0,5,8,6,4,2],[0,0,1,5,6,4,7,3],[0,0,2,5,8,4,7,3],[0,0,2,5,6,9,4,3],[4,0,1,2,3,4,5,2],[4,0,1,2,3,4,6,5,2],[7,0,1,2,3,3],[5,0,3,2],[5,0,1,2,3,4],[8,0,1,2,3,4,5,6,7,8,1],[12,0,1,2,3,4,5,4],[13,0,1,2,3],[1,2,0,1,5,4,3,6,7,8,7],[1,2,0,1,5,4,3,6,7,7],[1,2,0,1,5,3,6,7,6]],[[[{"name":"btn","rect":[0,0,269,74],"offset":[0,0],"originalSize":[269,74],"capInsets":[0,0,0,0]}],[3],0,[0],[4],[2]],[[[16,"OverScene",null],[17,"Canvas","a5esZu+45LA5mBpvttspPD",[-12,-13,-14,-15,-16,-17,-18,-19,-20,-21,-22,-23,-24,-25,-26,-27],[[24,true,false,-1,[5,750,1334]],[25,45,-2],[27,-11,-10,-9,-8,-7,-6,-5,-4,-3]],[5,750,1334],[375,667,0,0,0,0,1,1,1,1]],[6,"self",1,[-28,-29,-30,-31,-32,-33],[-284.416,-149.727,0,0,0,0,1,1,1,1]],[6,"four",1,[-34,-35,-36,-37,-38],[210,-149.727,0,0,0,0,1,1,1,1]],[6,"five",1,[-39,-40,-41,-42,-43],[320,-149.727,0,0,0,0,1,1,1,1]],[18,"alertBg",1,[-45,-46,-47,-48],[[3,-44,[12],13]],[5,746,1123]],[6,"one",1,[-49,-50,-51,-52],[-120,-149.727,0,0,0,0,1,1,1,1]],[6,"two",1,[-53,-54,-55,-56],[-10,-149.727,0,0,0,0,1,1,1,1]],[6,"three",1,[-57,-58,-59,-60],[100,-149.727,0,0,0,0,1,1,1,1]],[1,"again",1,[[3,-61,[14],15],[12,1.1,3,-63,[[13,"805c6nf399HWZeuWnNB9CTH","again",1]],-62]],[5,269,74],[170,-402.162,0,0,0,0,1,1,1,0]],[1,"back",1,[[3,-64,[16],17],[12,1.1,3,-66,[[13,"805c6nf399HWZeuWnNB9CTH","openRank",1]],-65]],[5,269,74],[-170,-402.162,0,0,0,0,1,1,1,0]],[19,"finishi",false,1,[[3,-67,[18],19],[12,1.1,3,-69,[[13,"805c6nf399HWZeuWnNB9CTH","jumpFinishi",1]],-68]],[5,269,74],[0,-402.162,0,0,0,0,1,1,1,0]],[20,"rank",0,2,[-70,-71,-72],[5,40,36],[-261.233,62,0,0,0,0,1,1,1,1]],[21,"New Sprite(Splash)",150,1,[[9,0,-73,[2],3],[26,45,100,100,-74]],[4,4278190080],[5,750,1334]],[7,"pic",2,[-76],[[8,1,60,0,-75,[25]]],[5,64,64],[-15.492,0,0,0,0,0,1,1,1,1]],[7,"pic",6,[-78],[[8,1,60,0,-77,[34]]],[5,64,64],[-15.492,0,0,0,0,0,1,1,1,1]],[7,"pic",7,[-80],[[8,1,60,0,-79,[40]]],[5,64,64],[-15.492,0,0,0,0,0,1,1,1,1]],[7,"pic",8,[-82],[[8,1,60,0,-81,[46]]],[5,64,64],[-15.492,0,0,0,0,0,1,1,1,1]],[7,"pic",3,[-84],[[8,1,60,0,-83,[52]]],[5,64,64],[-15.492,0,0,0,0,0,1,1,1,1]],[7,"pic",4,[-86],[[8,1,60,0,-85,[58]]],[5,64,64],[-15.492,0,0,0,0,0,1,1,1,1]],[28,"New Node",false,true,[1],[0,0,0],[0,0,0,0,0,0,1,1,1,1]],[5,"Main Camera",1,[[29,7,-1,-87]],[5,960,640]],[5,"bg",1,[[3,-88,[0],1]],[5,750,1660]],[1,"New Sprite",5,[[3,-89,[4],5]],[5,562,177],[0,351.477,0,0,0,0,1,1,1,1]],[1,"New Sprite",5,[[3,-90,[6],7]],[5,332,28],[0,152.837,0,0,0,0,1,1,1,1]],[0,"time",5,[[30,"准确率",30,30,false,1,1,-91,[8],9]],[4,4283538379],[5,90,37.8],[-52.995,201.692,0,0,0,0,1,1,1,1]],[1,"New Sprite",5,[[3,-92,[10],11]],[5,156,156],[-4,46.407,0,0,0,0,1,1,1,1]],[22,"count",1,[-93],[4,4283594400],[5,52.63,108.36],[-4.006,48.952,0,0,0,0,1,1,1,1]],[31,"0",86,86,false,1,1,27,[20]],[23,"time",1,[-94],[4,4283538379],[5,51.2,40.32],[0,0,0.5],[8.597,200.854,0,0,0,0,1,1,1,1]],[32,"0%",32,32,false,1,29,[21]],[1,"New Node",1,[[3,-95,[22],23]],[5,6,134],[-227.685,-154.877,0,0,0,0,1,1,1,1]],[5,"icon",14,[[4,0,-96,[24]]],[5,64,64]],[1,"rankBg",2,[[4,0,-97,[26]]],[5,48,48],[-50,22.554,0,0,0,0,1,1,1,1]],[0,"totalLab",2,[[2,25,25,1,1,-98,[27]]],[4,4283594400],[5,0,31.5],[-15.492,57.175,0,0,0,0,1,1,1,1]],[0,"nameLab",2,[[14,"我",21,21,1,1,-99,[28]]],[4,4282467672],[5,21,26.46],[-15.492,-59.683,0,0,0,0,1,1,1,1]],[0,"rankLab",2,[[14,"99+",20,20,1,1,-100,[29]]],[4,4278190080],[5,33.93,25.2],[-49.908,22.457,0,0,0,0,1,1,1,1]],[10,"one",false,12,[[11,-101,[30]]],[5,66,66]],[10,"two",false,12,[[11,-102,[31]]],[5,66,66]],[10,"three",false,12,[[11,-103,[32]]],[5,66,66]],[5,"icon",15,[[4,0,-104,[33]]],[5,64,64]],[1,"rankBg",6,[[9,0,-105,[35],36]],[5,48,48],[-50,22.554,0,0,0,0,1,1,1,1]],[0,"total",6,[[2,25,25,1,1,-106,[37]]],[4,4283594400],[5,0,31.5],[-15.492,57.175,0,0,0,0,1,1,1,1]],[0,"name",6,[[2,21,21,1,1,-107,[38]]],[4,4282467672],[5,0,26.46],[-15.492,-59.683,0,0,0,0,1,1,1,1]],[5,"icon",16,[[4,0,-108,[39]]],[5,64,64]],[1,"rankBg",7,[[9,0,-109,[41],42]],[5,48,48],[-50,22.554,0,0,0,0,1,1,1,1]],[0,"total",7,[[2,25,25,1,1,-110,[43]]],[4,4283594400],[5,0,31.5],[-15.492,57.175,0,0,0,0,1,1,1,1]],[0,"name",7,[[2,21,21,1,1,-111,[44]]],[4,4282467672],[5,0,26.46],[-15.492,-59.683,0,0,0,0,1,1,1,1]],[5,"icon",17,[[4,0,-112,[45]]],[5,64,64]],[1,"rankBg",8,[[9,0,-113,[47],48]],[5,48,48],[-50,22.554,0,0,0,0,1,1,1,1]],[0,"total",8,[[2,25,25,1,1,-114,[49]]],[4,4283594400],[5,0,31.5],[-15.492,57.175,0,0,0,0,1,1,1,1]],[0,"name",8,[[2,21,21,1,1,-115,[50]]],[4,4282467672],[5,0,26.46],[-15.492,-59.683,0,0,0,0,1,1,1,1]],[5,"icon",18,[[4,0,-116,[51]]],[5,64,64]],[1,"rankBg",3,[[4,0,-117,[53]]],[5,48,48],[-50,22.554,0,0,0,0,1,1,1,1]],[0,"total",3,[[2,25,25,1,1,-118,[54]]],[4,4283594400],[5,0,31.5],[-15.492,57.175,0,0,0,0,1,1,1,1]],[0,"name",3,[[2,21,21,1,1,-119,[55]]],[4,4282467672],[5,0,26.46],[-15.492,-59.683,0,0,0,0,1,1,1,1]],[0,"rank",3,[[15,"4",20,20,-120,[56]]],[4,4278190080],[5,11.12,25.2],[-49.996,19.305,0,0,0,0,1,1,1,1]],[5,"icon",19,[[4,0,-121,[57]]],[5,64,64]],[1,"rankBg",4,[[4,0,-122,[59]]],[5,48,48],[-50,22.554,0,0,0,0,1,1,1,1]],[0,"total",4,[[2,25,25,1,1,-123,[60]]],[4,4283594400],[5,0,31.5],[-15.492,57.175,0,0,0,0,1,1,1,1]],[0,"name",4,[[2,21,21,1,1,-124,[61]]],[4,4282467672],[5,0,26.46],[-15.492,-59.683,0,0,0,0,1,1,1,1]],[0,"rank",4,[[15,"5",20,20,-125,[62]]],[4,4278190080],[5,11.12,25.2],[-49.996,19.305,0,0,0,0,1,1,1,1]]],0,[0,0,1,0,0,1,0,5,4,0,6,3,0,7,8,0,8,7,0,9,6,0,10,2,0,11,30,0,12,28,0,0,1,0,-1,21,0,-2,22,0,-3,13,0,-4,5,0,-5,9,0,-6,10,0,-7,11,0,-8,27,0,-9,29,0,-10,31,0,-11,2,0,-12,6,0,-13,7,0,-14,8,0,-15,3,0,-16,4,0,-1,14,0,-2,33,0,-3,34,0,-4,35,0,-5,36,0,-6,12,0,-1,18,0,-2,53,0,-3,54,0,-4,55,0,-5,56,0,-1,19,0,-2,58,0,-3,59,0,-4,60,0,-5,61,0,0,5,0,-1,23,0,-2,24,0,-3,25,0,-4,26,0,-1,15,0,-2,41,0,-3,42,0,-4,43,0,-1,16,0,-2,45,0,-3,46,0,-4,47,0,-1,17,0,-2,49,0,-3,50,0,-4,51,0,0,9,0,2,9,0,0,9,0,0,10,0,2,10,0,0,10,0,0,11,0,2,11,0,0,11,0,-1,37,0,-2,38,0,-3,39,0,0,13,0,0,13,0,0,14,0,-1,32,0,0,15,0,-1,40,0,0,16,0,-1,44,0,0,17,0,-1,48,0,0,18,0,-1,52,0,0,19,0,-1,57,0,0,21,0,0,22,0,0,23,0,0,24,0,0,25,0,0,26,0,-1,28,0,-1,30,0,0,31,0,0,32,0,0,33,0,0,34,0,0,35,0,0,36,0,0,37,0,0,38,0,0,39,0,0,40,0,0,41,0,0,42,0,0,43,0,0,44,0,0,45,0,0,46,0,0,47,0,0,48,0,0,49,0,0,50,0,0,51,0,0,52,0,0,53,0,0,54,0,0,55,0,0,56,0,0,57,0,0,58,0,0,59,0,0,60,0,0,61,0,13,20,1,14,20,125],[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,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,28,30],[-1,1,-1,1,-1,1,-1,1,-1,3,-1,1,-1,1,-1,1,-1,1,-1,1,-1,-1,-1,1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,1,-1,-1,-1,-1,-1,1,-1,-1,-1,-1,-1,1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,3,3],[0,3,0,4,0,5,0,6,0,1,0,7,0,8,0,9,0,10,0,11,0,0,0,12,0,0,0,0,0,0,0,0,0,0,0,0,13,0,0,0,0,0,14,0,0,0,0,0,15,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1]],[[{"name":"default_sprite_splash","rect":[0,0,2,2],"offset":[0,0],"originalSize":[2,2],"capInsets":[0,0,0,0]}],[3],0,[0],[4],[16]]]] \ No newline at end of file diff --git a/build/WaterControl/assets/main/import/05/05f26e7ec.fc990.json b/build/WaterControl/assets/main/import/09/09f72cf20.e3c82.json similarity index 84% rename from build/WaterControl/assets/main/import/05/05f26e7ec.fc990.json rename to build/WaterControl/assets/main/import/09/09f72cf20.e3c82.json index 40dae61..75c3637 100644 --- a/build/WaterControl/assets/main/import/05/05f26e7ec.fc990.json +++ b/build/WaterControl/assets/main/import/09/09f72cf20.e3c82.json @@ -1 +1 @@ -{"type":"cc.Texture2D","data":"0,9729,9729,33071,33071,0,0,1|0,9729,9729,33071,33071,0,0,1|0,9729,9729,33071,33071,0,0,1|0,9729,9729,33071,33071,0,0,1|0,9729,9729,33071,33071,0,0,1|0,9729,9729,33071,33071,0,0,1|0,9729,9729,33071,33071,0,0,1|0,9729,9729,33071,33071,0,0,1"} \ No newline at end of file +{"type":"cc.Texture2D","data":"0,9729,9729,33071,33071,0,0,1|0,9729,9729,33071,33071,0,0,1|0,9729,9729,33071,33071,0,0,1|0,9729,9729,33071,33071,0,0,1|0,9729,9729,33071,33071,0,0,1|0,9729,9729,33071,33071,0,0,1|0,9729,9729,33071,33071,0,0,1|0,9729,9729,33071,33071,0,0,1|0,9729,9729,33071,33071,0,0,1"} \ No newline at end of file diff --git a/build/WaterControl/assets/main/import/0d/0d9744cd3.310b1.json b/build/WaterControl/assets/main/import/0d/0d9744cd3.310b1.json new file mode 100644 index 0000000..70aea58 --- /dev/null +++ b/build/WaterControl/assets/main/import/0d/0d9744cd3.310b1.json @@ -0,0 +1 @@ +[1,["ecpdLyjvZBwrvm+cedCcQy","a2MjXRFdtLlYQ5ouAFv/+R","950i/nfQFMA706M0J42z2S","b3zo/554xPt4CdlPazRDpG","e8GI4uyrpF67GYzhTP5An/","f0BIwQ8D5Ml7nTNQbh1YlS","e97GVMl6JHh5Ml5qEDdSGa","29FYIk+N1GYaeWH/q1NxQO","08nl3uyqJJA7uoE3GvzFXX","c2TGyr0HlFNI+U5EHVCc9G","b9JgB6PD5JgbHAY4hk38iS","09bYkL1mtAM5O2O8+V7qHc","c0HHeDVMpCarROFz9NuoqK","e0b3wP+fNDrJPw/uXtbPAm","b7ZgPiwWZM6a83QXze3eEu","e4mOksb1lGdYpf3qDPlJ1m","61voSiLytCdKbvQdUslVWv","15Px8zkb9PNqM/8EKhh8Au","a8Z+I8DLJOTItWbXZ7o+On","71VhFCTINJM6/Ky3oX9nBT","86RTsIyV1N174519l+P5Pb","75rGnU/uhK8bMsTI+rC297","bcEK9sCkJI4p6KlRiOXup5","72w0D96+tCzqgcxJNILv57","fcnzeeqxVHkq3OZWAMR5PH","13N/YjxRlBvJuJQONzZgQf","ddqDlhAkZLWIL1y8avBH5u","cfqcs4X2pESrBI8GS67vAW","d5OjVl+DNCYZB21IIypRPF","73N8EX9n1McabSpjwsAUFl","3d1+VYOqRFMru62rlaVFw5","b2Jo5hfNdP3IxDaDbBBpRD","47ZX8FJD5PKqMtIAYx8cJS","7akOdsN/hPjITp8Fs0r+SB","9ekcNRvRdEa7dzO3Ff5rpI","ffqy1jFwBIIY2Vn01HF6ob","12h4oyoGNCtLIznkGQVMCE","fbFdFD+0hProkh5fAFST+s","dbBrjVZzVM4IdI7f4G6f0w","906d84Zp1AyY2/IlNF6g7B","ed8zUHEbVGj5LsmjJJ84R5","c9MNZOJwdHT7aRYiDiky3d","b8DySHAFpJKL3lBPpBrtpx","c5bTdQ6p5KJY7kyiMGyG9+","02delMVqdBD70a/HSD99FK","9cGJu2Po1E0Ig5JOShYLbd","02+qdP/LNMYprXxb2rzSoK","5fDWUEFjZBRI2eMjZLlvjR","a370KkqyVJLbbINtFmyZoV","76pgt/TFZD470MIGj+PmEU","d5BkUa/nxBx5+b0q2RfGhs","5c+BT+UBxHhrClg8pgvwdu","84TEhnwUZPfYYtQ7rcSIdl","ab1P7uwLFP0LwHkn9ME+r+","f7bzZZX0lHQ4pY2wrfzNRV","98MGN85ONN9Y1R/Em31xW0","b4P/PCArtIdIH38t6mlw8Y","e8Ueib+qJEhL6mXAHdnwbi"],["node","_spriteFrame","_N$file","_N$target","_parent","_textureSetter","_N$normalSprite","_N$pressedSprite","_N$hoverSprite","_N$disabledSprite","root","data","Map","Countdown","Time","scene","tip","reinforce","soil","Block","UI"],[["cc.Node",["_name","_active","_opacity","_id","_objFlags","_components","_contentSize","_parent","_trs","_prefab","_children","_color","_anchorPoint","_eulerAngles"],-2,9,5,1,7,4,2,5,5,5],["cc.Widget",["_alignFlags","_originalWidth","_originalHeight","_bottom","_left","_top","_right","_enabled","node"],-5,1],["cc.Sprite",["_type","_sizeMode","_fillType","_fillRange","node","_materials","_spriteFrame"],-1,1,3,6],["cc.Label",["_N$horizontalAlign","_N$verticalAlign","_string","_isSystemFontUsed","_lineHeight","_fontSize","node","_materials","_N$file"],-3,1,3,6],"cc.SpriteFrame",["cc.PrefabInfo",["fileId","root","asset"],2,1,1],["cc.Button",["_N$transition","zoomScale","node","clickEvents","_N$target","_N$normalColor","_N$pressedColor","_N$disabledColor","_N$normalSprite","_N$pressedSprite","_N$hoverSprite","_N$disabledSprite"],1,1,9,1,5,5,5,6,6,6,6],["cc.ClickEvent",["_componentId","handler","customEventData","target"],0,1],["cc.Prefab",["_name"],2],["cc.Node",["_name","_children","_components","_contentSize"],2,12,9,5],["cc.Node",["_name","_parent","_components","_color","_contentSize","_trs"],2,1,2,5,5,7],["cc.SceneAsset",["_name","asyncLoadAssets"],1],["e35abcX5VRAoItO6mgFcYyX",["node","Map","tip","reinforce","soil"],3,1,1,6,6,6],["b0432BA295DjIOcuitdGKO1",["node","Map","Time","Countdown","Guide","Block"],3,1,1,1,1,1,6],["3bad2uyOw5MzLq3b5g9aHn2",["node"],3,1],["cc.Canvas",["_fitWidth","_fitHeight","node","_designResolution"],1,1,5],["cc.BlockInputEvents",["node"],3,1],["81171JxkddO6ZzuXLu/FZen",["node"],3,1],["2234assp7RIvpDgrnqljp2R",["node"],3,1],["cc.Mask",["node","_materials"],3,1,3],["cc.Scene",["_name","_active","autoReleaseAssets","_children","_anchorPoint","_trs"],0,2,5,7],["cc.Camera",["_clearFlags","_depth","node"],1,1],["c58deN2u1NGZL8nJwvnu1PR",["node","UI"],3,1,6]],[[2,1,4,5,6,2],[16,0,1],[0,0,2,7,5,11,6,12,8,3],[17,0,1],[2,4,5,6,1],[0,0,7,5,6,8,2],[1,0,5,3,1,2,8,6],[5,0,1,2,2],[1,0,4,6,3,1,2,8,7],[3,2,4,3,0,1,6,7,8,6],[0,0,7,10,5,6,8,2],[0,0,7,5,11,6,8,2],[1,0,8,2],[0,0,1,7,10,5,6,3],[2,0,1,4,5,6,3],[0,0,7,5,11,6,2],[1,0,6,3,1,2,8,6],[0,0,2,7,5,11,6,8,3],[1,0,4,6,1,2,8,6],[0,0,1,7,5,9,6,3],[3,2,0,1,6,7,4],[3,2,5,4,3,0,1,6,7,8,7],[0,0,1,2,7,5,11,6,12,8,4],[0,0,7,5,9,6,8,2],[2,0,4,5,6,2],[7,0,1,2,3,4],[0,0,4,7,5,6,8,3],[2,0,2,3,4,5,6,4],[6,0,2,3,5,6,7,4,8,9,10,11,2],[8,0,2],[5,1,2,1],[1,0,4,6,5,3,1,2,8,8],[1,0,1,2,8,4],[1,0,3,1,2,8,5],[6,1,0,2,3,4,3],[19,0,1,1],[0,0,5,9,6,8,2],[0,0,7,5,6,2],[0,0,1,7,5,6,8,3],[0,0,10,5,9,6,2],[0,0,1,7,10,5,9,6,3],[2,4,5,1],[2,0,2,4,5,6,3],[7,0,1,3,3],[0,0,2,7,5,11,6,3],[0,0,1,7,5,9,6,8,3],[10,0,1,2,3,4,5,2],[1,0,4,3,1,2,8,6],[1,0,5,1,2,8,5],[0,0,10,5,6,8,2],[0,0,10,5,6,2],[0,0,7,2],[0,0,3,10,5,6,8,3],[0,0,2,7,10,5,6,3],[0,0,7,5,6,12,8,2],[0,0,1,7,10,6,3],[0,0,7,10,5,9,2],[0,0,7,10,5,9,6,2],[0,0,7,5,9,6,2],[0,0,1,2,7,5,9,6,4],[0,0,7,5,9,6,8,13,2],[0,0,1,2,7,5,9,11,6,4],[0,0,7,5,9,2],[0,0,2,7,5,9,6,3],[9,0,1,2,3,2],[2,0,1,2,3,4,5,6,5],[11,0,1,3],[1,0,1,8,3],[1,0,5,8,3],[1,0,3,8,3],[1,7,0,1,8,4],[1,0,4,2,8,4],[12,0,1,2,3,4,1],[13,0,1,2,3,4,5,1],[14,0,1],[15,0,1,2,3,3],[18,0,1],[20,0,1,2,3,4,5,4],[21,0,1,2,3],[3,3,0,1,6,7,4],[3,2,5,4,3,0,1,6,7,7],[3,2,3,0,1,6,7,8,5],[22,0,1,1]],[[[{"name":"default_btn_disabled","rect":[0,0,40,40],"offset":[0,0],"originalSize":[40,40],"capInsets":[12,12,12,12]}],[4],0,[0],[5],[19]],[[[29,"mapTip"],[36,"mapTip",[[4,-2,[0],1]],[30,-1,0],[5,46,46],[0,0,0,0,0,0,1,1,1,0]]],0,[0,10,1,0,0,1,0,11,1,2],[0,0],[-1,1],[0,20]],[[[66,"GameScene",null],[49,"Control",[-4,-5,-6,-7,-8,-9,-10,-11,-12,-13,-14,-15,-16,-17,-18,-19,-20,-21],[[67,44,750,-1],[72,-3,-2,57,58,59]],[5,750,350],[0,-492,0,0,0,0,1,1,1,1]],[50,"Guide",[-23,-24,-25,-26,-27,-28,-29,-30,-31,-32,-33,-34,-35,-36,-37,-38,-39],[[12,45,-22]],[5,750,1334]],[64,"GameNode",[[-45,-46,1,-47,[51,"Win",-48],-49,-50,2,-51],1,1,1,1,4,1,1,1,1],[[73,-43,-42,-41,-40,2,414],[12,45,-44]],[5,750,1334]],[13,"eleven",false,2,[-53,-54,-55,-56,-57,-58,-59,-60,-61,-62],[[12,45,-52]],[5,750,1334]],[10,"Top",3,[-64,-65,-66,-67,-68,-69,-70,-71,-72],[[68,41,20,-63]],[5,750,0],[0,647,0,0,0,0,1,1,1,1]],[13,"five",false,2,[-74,-75,-76,-77,-78,-79,-80,-81],[[12,45,-73]],[5,750,1334]],[13,"six",false,2,[-83,-84,-85,-86,-87,-88,-89,-90],[[12,45,-82]],[5,750,1334]],[13,"eight",false,2,[-92,-93,-94,-95,-96,-97,-98,-99],[[12,45,-91]],[5,750,1334]],[13,"nine",false,2,[-101,-102,-103,-104,-105,-106,-107,-108],[[12,45,-100]],[5,750,1334]],[13,"twelve",false,2,[-110,-111,-112,-113,-114,-115,-116,-117],[[12,45,-109]],[5,750,1334]],[13,"fourteen",false,2,[-119,-120,-121,-122,-123,-124,-125,-126],[[12,45,-118]],[5,750,1334]],[13,"four",false,2,[-128,-129,-130,-131,-132,-133,-134],[[12,45,-127]],[5,750,1334]],[13,"seven",false,2,[-136,-137,-138,-139,-140,-141,-142],[[12,45,-135]],[5,750,1334]],[13,"ten",false,2,[-144,-145,-146,-147,-148,-149,-150],[[12,45,-143]],[5,750,1334]],[13,"thirteen",false,2,[-152,-153,-154,-155,-156,-157,-158],[[12,45,-151]],[5,750,1334]],[13,"sixteen",false,2,[-160,-161,-162,-163,-164,-165,-166],[[12,45,-159]],[5,750,1334]],[13,"one",false,2,[-168,-169,-170,-171,-172,-173],[[12,45,-167]],[5,750,1334]],[13,"two",false,2,[-175,-176,-177,-178,-179,-180],[[12,45,-174]],[5,750,1334]],[13,"three",false,2,[-182,-183,-184,-185,-186,-187],[[12,45,-181]],[5,750,1334]],[13,"fiveteen",false,2,[-189,-190,-191,-192,-193,-194],[[12,45,-188]],[5,750,1334]],[13,"Window",false,3,[-197,-198,-199,-200],[[12,45,-195],[74,-196]],[5,750,1334]],[13,"last",false,2,[-202,-203,-204,-205],[[12,45,-201]],[5,750,1334]],[52,"Canvas","a5esZu+45LA5mBpvttspPD",[-208,3],[[75,true,false,-206,[5,750,1334]],[12,45,-207]],[5,750,1334],[375,667,0,0,0,0,1,1,1,1]],[22,"sp",false,0,17,[[0,0,-209,[88],89],[6,40,-278,-388,750,2000,-210],[1,-211],[3,-212]],[4,4278190080],[5,750,380],[0,0.5,1],[0,100,0,0,0,0,1,1,1,1]],[10,"bg",17,[-214,-215,-216],[[14,1,0,-213,[96],97]],[5,600,200],[3.399,322.211,0,0,0,0,1,1,1,1]],[2,"touch",0,17,[[0,0,-217,[98],99],[18,45,3,-3,610,110,-218],[1,-219],[3,-220]],[4,4278190080],[5,750,1334],[0,0.5037653333333333,0.5],[5.823999999999955,0,0,0,0,0,1,1,1,1]],[22,"sp",false,0,18,[[0,0,-221,[105],106],[6,40,-278,-388,750,2000,-222],[1,-223],[3,-224]],[4,4278190080],[5,750,380],[0,0.5,1],[0,100,0,0,0,0,1,1,1,1]],[2,"touch",0,18,[[0,0,-225,[113],114],[18,45,3,-3,610,110,-226],[1,-227],[3,-228]],[4,4278190080],[5,750,1334],[0,0.5037653333333333,0.5],[5.823999999999955,0,0,0,0,0,1,1,1,1]],[22,"sp",false,0,19,[[0,0,-229,[120],121],[6,40,-278,-388,750,2000,-230],[1,-231],[3,-232]],[4,4278190080],[5,750,380],[0,0.5,1],[0,100,0,0,0,0,1,1,1,1]],[2,"touch",0,19,[[0,0,-233,[128],129],[18,45,3,-3,610,110,-234],[1,-235],[3,-236]],[4,4278190080],[5,750,1334],[0,0.5037653333333333,0.5],[5.823999999999955,0,0,0,0,0,1,1,1,1]],[2,"touch",0,12,[[0,0,-237,[145],146],[18,45,3,-3,610,110,-238],[1,-239],[3,-240]],[4,4278190080],[5,750,1334],[0,0.5037653333333333,0.5],[5.823999999999955,0,0,0,0,0,1,1,1,1]],[2,"New Sprite(Splash)",150,6,[[0,0,-241,[148],149],[6,40,-533,-133,750,2000,-242],[1,-243],[3,-244]],[4,4278190080],[5,750,2000],[0,0.5,0],[0,329.391,0,0,0,0,1,1,1,1]],[2,"sp",150,6,[[0,0,-245,[150],151],[6,40,-278,-388,750,2000,-246],[1,-247],[3,-248]],[4,4278190080],[5,750,379.523],[0,0.5,1],[0,99.323,0,0,0,0,1,1,1,1]],[2,"New Sprite(Splash)",150,6,[[0,0,-249,[152],153],[16,8,278.699,766.323,165,110,-250],[1,-251],[3,-252]],[4,4278190080],[5,75,230],[0,0,0.5],[-375,214.32299999999998,0,0,0,0,1,1,1,1]],[2,"New Sprite(Splash)",150,6,[[0,0,-253,[154],155],[8,8,310,278.699,766.323,165,110,-254],[1,-255],[3,-256]],[4,4278190080],[5,450,230],[0,0,0.5],[-65,214.323,0,0,0,0,1,1,1,1]],[2,"New Sprite(Splash)",150,6,[[0,0,-257,[156],157],[6,44,-278,-418.18399999999997,750,2000,-258],[1,-259],[3,-260]],[4,4278190080],[5,750,700],[0,0.5,1],[0,-385.18399999999997,0,0,0,0,1,1,1,1]],[2,"New Sprite(Splash)",150,6,[[0,0,-261,[158],159],[16,12,278.699,281.8,165,110,-262],[1,-263],[3,-264]],[4,4278190080],[5,93,105],[0,0,0.5],[-375,-332.7,0,0,0,0,1,1,1,1]],[2,"New Sprite(Splash)",150,6,[[0,0,-265,[160],161],[8,12,219.021,278.699,281.8,165,110,-266],[1,-267],[3,-268]],[4,4278190080],[5,600,105],[0,0,0.5],[-155.979,-332.7,0,0,0,0,1,1,1,1]],[10,"bg",6,[-270,-271,-272],[[14,1,0,-269,[168],169]],[5,500,200],[32.808,-108.477,0,0,0,0,1,1,1,1]],[2,"New Sprite(Splash)",150,7,[[0,0,-273,[170],171],[6,40,-533,-133,750,2000,-274],[1,-275],[3,-276]],[4,4278190080],[5,750,2000],[0,0.5,0],[0,450,0,0,0,0,1,1,1,1]],[2,"sp",150,7,[[0,0,-277,[172],173],[6,40,-278,-388,750,2000,-278],[1,-279],[3,-280]],[4,4278190080],[5,750,454],[0,0.5,1],[0,99.323,0,0,0,0,1,1,1,1]],[2,"New Sprite(Splash)",150,7,[[0,0,-281,[174],175],[16,8,278.699,766.323,165,110,-282],[1,-283],[3,-284]],[4,4278190080],[5,75,350.5],[0,0,0.5],[-375,274.6,0,0,0,0,1,1,1,1]],[2,"New Sprite(Splash)",150,7,[[0,0,-285,[176],177],[8,8,423.656,278.699,766.323,165,110,-286],[1,-287],[3,-288]],[4,4278190080],[5,450,350.5],[0,0,0.5],[48.656000000000006,274.6,0,0,0,0,1,1,1,1]],[2,"New Sprite(Splash)",150,7,[[0,0,-289,[178],179],[6,44,-278,-492.62799999999993,750,2000,-290],[1,-291],[3,-292]],[4,4278190080],[5,750,700],[0,0.5,1],[0,-459.62799999999993,0,0,0,0,1,1,1,1]],[2,"New Sprite(Splash)",150,7,[[0,0,-293,[180],181],[16,12,278.699,207.3,165,110,-294],[1,-295],[3,-296]],[4,4278190080],[5,190,105],[0,0,0.5],[-375,-407.2,0,0,0,0,1,1,1,1]],[2,"New Sprite(Splash)",150,7,[[0,0,-297,[182],183],[8,12,295.071,278.699,207.3,165,110,-298],[1,-299],[3,-300]],[4,4278190080],[5,520,105],[0,0,0.5],[-79.92899999999997,-407.2,0,0,0,0,1,1,1,1]],[10,"bg",7,[-302,-303,-304],[[14,1,0,-301,[190],191]],[5,650,140],[32.808,-183.311,0,0,0,0,1,1,1,1]],[2,"touch",0,13,[[0,0,-305,[206],207],[18,45,3,-3,610,110,-306],[1,-307],[3,-308]],[4,4278190080],[5,750,1334],[0,0.5037653333333333,0.5],[5.823999999999955,0,0,0,0,0,1,1,1,1]],[2,"touch",0,8,[[0,0,-309,[225],226],[18,45,3,-3,610,110,-310],[1,-311],[3,-312]],[4,4278190080],[5,750,1334],[0,0.5037653333333333,0.5],[5.823999999999955,0,0,0,0,0,1,1,1,1]],[2,"touch",0,9,[[0,0,-313,[244],245],[18,45,3,-3,610,110,-314],[1,-315],[3,-316]],[4,4278190080],[5,750,1334],[0,0.5037653333333333,0.5],[5.823999999999955,0,0,0,0,0,1,1,1,1]],[2,"New Sprite(Splash)",150,14,[[0,0,-317,[247],248],[6,40,-533,-133,750,2000,-318],[1,-319],[3,-320]],[4,4278190080],[5,750,2000],[0,0.5,0],[0,447.786,0,0,0,0,1,1,1,1]],[2,"sp",150,14,[[0,0,-321,[249],250],[31,40,1.4765966227514582e-14,-1.4765966227514582e-14,-278,-388,750,2000,-322],[1,-323],[3,-324]],[4,4278190080],[5,750,775],[0,0.5,1],[0,218.4,0,0,0,0,1,1,1,1]],[2,"New Sprite(Splash)",150,14,[[0,0,-325,[251],252],[8,8,-12.992000000000019,278.699,766.323,165,110,-326],[1,-327],[3,-328]],[4,4278190080],[5,200,230],[0,1,0.5],[-187.99200000000002,333.087,0,0,0,0,1,1,1,1]],[2,"New Sprite(Splash)",150,14,[[0,0,-329,[253],254],[8,8,422.008,278.699,766.323,165,110,-330],[1,-331],[3,-332]],[4,4278190080],[5,450,230],[0,0,0.5],[47.00799999999998,333.087,0,0,0,0,1,1,1,1]],[2,"New Sprite(Splash)",150,14,[[0,0,-333,[255],256],[8,12,-37.70800000000003,278.699,-1.6380000000000905,165,110,-334],[1,-335],[3,-336]],[4,4278190080],[5,75,112],[0,0,0.5],[-412.708,-612.6380000000001,0,0,0,0,1,1,1,1]],[2,"New Sprite(Splash)",150,14,[[0,0,-337,[257],258],[8,12,169.438,278.699,-1.6380000000000905,165,110,-338],[1,-339],[3,-340]],[4,4278190080],[5,580,112],[0,0,0.5],[-205.562,-612.6380000000001,0,0,0,0,1,1,1,1]],[10,"bg",14,[-342,-343,-344],[[14,1,0,-341,[265],266]],[5,500,140],[-73.955,-408.443,0,0,0,0,1,1,1,1]],[10,"bg",4,[-347,-348],[[14,1,0,-345,[285],286],[69,4,364.373,-346]],[5,500,140],[25.763,-232.627,0,0,0,0,1,1,1,1]],[2,"touch",0,4,[[0,0,-349,[287],288],[18,45,3,-3,610,110,-350],[1,-351],[3,-352]],[4,4278190080],[5,750,1334],[0,0.5037653333333333,0.5],[5.823999999999955,0,0,0,0,0,1,1,1,1]],[2,"New Sprite(Splash)",150,10,[[0,0,-353,[290],291],[6,40,-533,-133,750,2000,-354],[1,-355],[3,-356]],[4,4278190080],[5,750,2000],[0,0.5,0],[0,447.786,0,0,0,0,1,1,1,1]],[2,"sp",150,10,[[0,0,-357,[292],293],[31,40,1.4765966227514582e-14,-1.4765966227514582e-14,-278,-388,750,2000,-358],[1,-359],[3,-360]],[4,4278190080],[5,750,498.5],[0,0.5,1],[0,218.4,0,0,0,0,1,1,1,1]],[2,"New Sprite(Splash)",150,10,[[0,0,-361,[294],295],[8,8,-12.99199999999999,278.699,766.323,165,110,-362],[1,-363],[3,-364]],[4,4278190080],[5,200,230],[0,1,0.5],[-187.99199999999996,333.087,0,0,0,0,1,1,1,1]],[2,"New Sprite(Splash)",150,10,[[0,0,-365,[296],297],[8,8,422.008,278.699,766.323,165,110,-366],[1,-367],[3,-368]],[4,4278190080],[5,450,230],[0,0,0.5],[47.00799999999998,333.087,0,0,0,0,1,1,1,1]],[2,"New Sprite(Splash)",150,10,[[0,0,-369,[298],299],[6,44,-278,-418.18399999999997,750,2000,-370],[1,-371],[3,-372]],[4,4278190080],[5,750,700],[0,0.5,1],[0,-385.18399999999997,0,0,0,0,1,1,1,1]],[2,"New Sprite(Splash)",150,10,[[0,0,-373,[300],301],[16,12,278.699,281.8,165,110,-374],[1,-375],[3,-376]],[4,4278190080],[5,95,105],[0,0,0.5],[-375,-332.7,0,0,0,0,1,1,1,1]],[2,"New Sprite(Splash)",150,10,[[0,0,-377,[302],303],[8,12,220.132,278.699,281.8,165,110,-378],[1,-379],[3,-380]],[4,4278190080],[5,600,105],[0,0,0.5],[-154.868,-332.7,0,0,0,0,1,1,1,1]],[10,"bg",10,[-382,-383,-384],[[14,1,0,-381,[310],311]],[5,450,170],[32.808,-108.477,0,0,0,0,1,1,1,1]],[2,"New Sprite(Splash)",150,15,[[0,0,-385,[312],313],[6,40,-533,-133,750,2000,-386],[1,-387],[3,-388]],[4,4278190080],[5,750,2000],[0,0.5,0],[0,449.78,0,0,0,0,1,1,1,1]],[2,"sp",150,15,[[0,0,-389,[314],315],[6,40,-278,-388,750,2000,-390],[1,-391],[3,-392]],[4,4278190080],[5,750,890],[0,0.5,1],[0,334.849,0,0,0,0,1,1,1,1]],[2,"New Sprite(Splash)",150,15,[[0,0,-393,[316],317],[16,8,278.699,766.323,165,110,-394],[1,-395],[3,-396]],[4,4278190080],[5,75,115],[0,0,0.5],[-375,392.3,0,0,0,0,1,1,1,1]],[2,"New Sprite(Splash)",150,15,[[0,0,-397,[318],319],[8,8,652.483,278.699,766.323,165,110,-398],[1,-399],[3,-400]],[4,4278190080],[5,450,115],[0,0,0.5],[277.48299999999995,392.3,0,0,0,0,1,1,1,1]],[2,"New Sprite(Splash)",150,15,[[0,0,-401,[320],321],[8,12,-4.496000000000009,278.699,-0.21699999999998454,165,110,-402],[1,-403],[3,-404]],[4,4278190080],[5,170,112],[0,1,1],[-209.49599999999998,-555.217,0,0,0,0,1,1,1,1]],[2,"New Sprite(Splash)",150,15,[[0,0,-405,[322],323],[8,12,295.085,278.699,-0.21699999999998454,165,110,-406],[1,-407],[3,-408]],[4,4278190080],[5,520,112],[0,0,1],[-79.91500000000002,-555.217,0,0,0,0,1,1,1,1]],[10,"bg",15,[-410,-411,-412],[[14,1,0,-409,[330],331]],[5,700,350],[2.071,-305.447,0,0,0,0,1,1,1,1]],[2,"New Sprite(Splash)",150,11,[[0,0,-413,[332],333],[6,40,-533,-133,750,2000,-414],[1,-415],[3,-416]],[4,4278190080],[5,750,2000],[0,0.5,0],[0,449.78,0,0,0,0,1,1,1,1]],[2,"sp",150,11,[[0,0,-417,[334],335],[6,40,-278,-388,750,2000,-418],[1,-419],[3,-420]],[4,4278190080],[5,750,689.8],[0,0.5,1],[0,334.849,0,0,0,0,1,1,1,1]],[2,"New Sprite(Splash)",150,11,[[0,0,-421,[336],337],[16,8,278.699,766.323,165,110,-422],[1,-423],[3,-424]],[4,4278190080],[5,75,115],[0,0,0.5],[-375,392.3,0,0,0,0,1,1,1,1]],[2,"New Sprite(Splash)",150,11,[[0,0,-425,[338],339],[8,8,652.483,278.699,766.323,165,110,-426],[1,-427],[3,-428]],[4,4278190080],[5,450,115],[0,0,0.5],[277.48299999999995,392.3,0,0,0,0,1,1,1,1]],[2,"New Sprite(Splash)",150,11,[[0,0,-429,[340],341],[6,44,-278,-492.62799999999993,750,2000,-430],[1,-431],[3,-432]],[4,4278190080],[5,750,700],[0,0.5,1],[0,-459.62799999999993,0,0,0,0,1,1,1,1]],[2,"New Sprite(Splash)",150,11,[[0,0,-433,[342],343],[16,12,278.699,207.3,165,110,-434],[1,-435],[3,-436]],[4,4278190080],[5,190,105],[0,0,0.5],[-375,-407.2,0,0,0,0,1,1,1,1]],[2,"New Sprite(Splash)",150,11,[[0,0,-437,[344],345],[8,12,295.071,278.699,207.3,165,110,-438],[1,-439],[3,-440]],[4,4278190080],[5,520,105],[0,0,0.5],[-79.92899999999997,-407.2,0,0,0,0,1,1,1,1]],[10,"bg",11,[-442,-443,-444],[[14,1,0,-441,[352],353]],[5,550,180],[24.494,-184.888,0,0,0,0,1,1,1,1]],[2,"New Sprite(Splash)",150,20,[[0,0,-445,[354],355],[6,40,-533,-133,750,2000,-446],[1,-447],[3,-448]],[4,4278190080],[5,750,2000],[0,0.5,0],[0,449.78,0,0,0,0,1,1,1,1]],[2,"sp",150,20,[[0,0,-449,[356],357],[6,44,-278,110.529,750,2000,-450],[1,-451],[3,-452]],[4,4278190080],[5,750,415],[0,0.5,0],[0,-556.471,0,0,0,0,1,1,1,1]],[2,"New Sprite(Splash)",150,20,[[0,0,-453,[358],359],[16,8,278.699,766.323,165,110,-454],[1,-455],[3,-456]],[4,4278190080],[5,540,115],[0,0,0.5],[-375,392.3,0,0,0,0,1,1,1,1]],[2,"New Sprite(Splash)",150,20,[[0,0,-457,[360],361],[8,12,-4.496000000000009,278.699,-1.3999999999999773,165,110,-458],[1,-459],[3,-460]],[4,4278190080],[5,170,112],[0,1,1],[-209.49599999999998,-556.4,0,0,0,0,1,1,1,1]],[2,"New Sprite(Splash)",150,20,[[0,0,-461,[362],363],[8,12,295.085,278.699,-1.3999999999999773,165,110,-462],[1,-463],[3,-464]],[4,4278190080],[5,520,112],[0,0,1],[-79.91500000000002,-556.4,0,0,0,0,1,1,1,1]],[10,"bg",20,[-466,-467,-468],[[14,1,0,-465,[370],371]],[5,680,200],[2.071,-365.303,0,0,0,0,1,1,1,1]],[2,"New Sprite(Splash)",150,16,[[0,0,-469,[372],373],[6,40,-533,-133,750,2000,-470],[1,-471],[3,-472]],[4,4278190080],[5,750,2000],[0,0.5,0],[0,449.78,0,0,0,0,1,1,1,1]],[2,"sp",150,16,[[0,0,-473,[374],375],[6,44,-278,218.625,750,2000,-474],[1,-475],[3,-476]],[4,4278190080],[5,750,430],[0,0.5,0],[0,-448.375,0,0,0,0,1,1,1,1]],[2,"New Sprite(Splash)",150,16,[[0,0,-477,[376],377],[16,8,278.699,766.323,165,110,-478],[1,-479],[3,-480]],[4,4278190080],[5,540,115],[0,0,0.5],[-375,392.3,0,0,0,0,1,1,1,1]],[2,"New Sprite(Splash)",150,16,[[0,0,-481,[378],379],[8,12,-0.3629999999999711,278.699,-781.3,165,110,-482],[1,-483],[3,-484]],[4,4278190080],[5,100,1000],[0,1,1],[-275.36299999999994,-448.29999999999995,0,0,0,0,1,1,1,1]],[2,"New Sprite(Splash)",150,16,[[0,0,-485,[380],381],[8,12,216.115,278.699,-781.3,165,110,-486],[1,-487],[3,-488]],[4,4278190080],[5,540,1000],[0,0,1],[-158.885,-448.29999999999995,0,0,0,0,1,1,1,1]],[2,"New Sprite(Splash)",150,16,[[0,0,-489,[382],383],[8,12,99.6,278.699,-885.9709999999999,165,110,-490],[1,-491],[3,-492]],[4,4278190080],[5,116.5,1000],[0,1,1],[-158.89999999999998,-552.971,0,0,0,0,1,1,1,1]],[10,"bg",16,[-494,-495,-496],[[14,1,0,-493,[390],391]],[5,600,180],[9.265,-273.26,0,0,0,0,1,1,1,1]],[2,"New Sprite(Splash)",150,22,[[0,0,-497,[392],393],[6,40,-533,-133,750,2000,-498],[1,-499],[3,-500]],[4,4278190080],[5,750,2000],[0,0.5,0],[0,449.78,0,0,0,0,1,1,1,1]],[2,"sp",150,22,[[0,0,-501,[394],395],[6,44,-278,108.43899999999996,750,2000,-502],[1,-503],[3,-504]],[4,4278190080],[5,750,420],[0,0.5,0],[0,-558.561,0,0,0,0,1,1,1,1]],[2,"New Sprite(Splash)",150,22,[[0,0,-505,[396],397],[8,12,-22.49899999999998,278.699,-891.4719999999999,165,110,-506],[1,-507],[3,-508]],[4,4278190080],[5,500,1000],[0,1,1],[102.50100000000003,-558.4719999999998,0,0,0,0,1,1,1,1]],[10,"bg",22,[-510,-511,-512],[[14,1,0,-509,[404],405]],[5,600,180],[24.669,-385.571,0,0,0,0,1,1,1,1]],[5,"Map",3,[[76,-513],[70,false,40,576,-514]],[5,576,864],[0,128,0,0,0,0,1,1,1,1]],[5,"btn_Down",1,[[4,-515,[6],7],[34,1.1,3,-517,[[25,"e35abcX5VRAoItO6mgFcYyX","btn_Click","down",1]],-516]],[5,84,84],[-217.617,-4.266,0,0,0,0,1,1,1,0]],[5,"btn_Up",1,[[4,-518,[8],9],[34,1.1,3,-520,[[25,"e35abcX5VRAoItO6mgFcYyX","btn_Click","up",1]],-519]],[5,84,84],[-219.289,155.813,0,0,0,0,1,1,1,0]],[5,"btn_Left",1,[[4,-521,[10],11],[34,1.1,3,-523,[[25,"e35abcX5VRAoItO6mgFcYyX","btn_Click","left",1]],-522]],[5,84,84],[-297.337,77.284,0,0,0,0,1,1,1,0]],[5,"btn_Right",1,[[4,-524,[12],13],[34,1.1,3,-526,[[25,"e35abcX5VRAoItO6mgFcYyX","btn_Click","right",1]],-525]],[5,84,84],[-136.072,80.626,0,0,0,0,1,1,1,0]],[53,"Over",0,3,[-528,-529],[[18,45,79.25,79.25,116,640,-527]],[5,591.5,1334]],[10,"bg",18,[-531,-532],[[14,1,0,-530,[111],112]],[5,600,200],[-24.872,377.089,0,0,0,0,1,1,1,1]],[10,"bg",19,[-534,-535],[[14,1,0,-533,[126],127]],[5,500,200],[84.698,-201.289,0,0,0,0,1,1,1,1]],[17,"New Sprite(Splash)",150,12,[[0,0,-536,[133],134],[32,44,165,110,-537],[1,-538]],[4,4278190080],[5,750,110],[0,-612,0,0,0,0,1,1,1,1]],[2,"New Sprite(Splash)",150,12,[[0,0,-539,[135],136],[47,44,320,110.10000000000002,165,110,-540],[1,-541]],[4,4278190080],[5,430,289.9],[0,0.5,0],[160,-556.9,0,0,0,0,1,1,1,1]],[22,"sp",false,0,12,[[0,0,-542,[137],138],[6,40,-278,-388,750,2000,-543],[1,-544]],[4,4278190080],[5,750,380],[0,0.5,1],[0,100,0,0,0,0,1,1,1,1]],[10,"bg",12,[-546,-547],[[14,1,0,-545,[143],144]],[5,500,200],[43.765,-83.824,0,0,0,0,1,1,1,1]],[17,"New Sprite(Splash)",150,13,[[0,0,-548,[192],193],[33,45,350,750,2000,-549],[1,-550]],[4,4278190080],[5,750,984],[0,175,0,0,0,0,1,1,1,1]],[17,"New Sprite(Splash)",150,13,[[0,0,-551,[194],195],[32,44,165,110,-552],[1,-553]],[4,4278190080],[5,750,150],[0,-592,0,0,0,0,1,1,1,1]],[2,"New Sprite(Splash)",150,13,[[0,0,-554,[196],197],[16,44,450,150,165,110,-555],[1,-556]],[4,4278190080],[5,300,200],[0,0.5,0],[-225,-517,0,0,0,0,1,1,1,1]],[22,"sp",false,0,13,[[0,0,-557,[198],199],[6,40,-278,-388,750,2000,-558],[1,-559]],[4,4278190080],[5,750,380],[0,0.5,1],[0,100,0,0,0,0,1,1,1,1]],[10,"bg",13,[-561,-562],[[14,1,0,-560,[204],205]],[5,620,140],[34.377,-165.9,0,0,0,0,1,1,1,1]],[17,"New Sprite(Splash)",150,8,[[0,0,-563,[209],210],[33,45,350,750,2000,-564],[1,-565]],[4,4278190080],[5,750,984],[0,175,0,0,0,0,1,1,1,1]],[17,"New Sprite(Splash)",150,8,[[0,0,-566,[211],212],[32,44,165,110,-567],[1,-568]],[4,4278190080],[5,750,150],[0,-592,0,0,0,0,1,1,1,1]],[2,"New Sprite(Splash)",150,8,[[0,0,-569,[213],214],[16,44,450,150,165,110,-570],[1,-571]],[4,4278190080],[5,300,200],[0,0.5,0],[-225,-517,0,0,0,0,1,1,1,1]],[2,"New Sprite(Splash)",0,8,[[0,0,-572,[215],216],[8,44,299.169,0.8310000000000173,150,165,110,-573],[1,-574]],[4,4278190080],[5,450,200],[0,0.5,0],[149.16899999999998,-517,0,0,0,0,1,1,1,1]],[22,"sp",false,0,8,[[0,0,-575,[217],218],[6,40,-278,-388,750,2000,-576],[1,-577]],[4,4278190080],[5,750,380],[0,0.5,1],[0,100,0,0,0,0,1,1,1,1]],[10,"bg",8,[-579,-580],[[14,1,0,-578,[223],224]],[5,540,180],[59.611,-154.987,0,0,0,0,1,1,1,1]],[2,"New Sprite(Splash)",150,9,[[0,0,-581,[228],229],[6,40,-533,-133,750,2000,-582],[1,-583]],[4,4278190080],[5,750,2000],[0,0.5,0],[0,447.786,0,0,0,0,1,1,1,1]],[2,"sp",150,9,[[0,0,-584,[230],231],[31,40,1.4765966227514582e-14,-1.4765966227514582e-14,-278,-388,750,2000,-585],[1,-586]],[4,4278190080],[5,750,778.8],[0,0.5,1],[0,218.4,0,0,0,0,1,1,1,1]],[2,"New Sprite(Splash)",150,9,[[0,0,-587,[232],233],[8,8,-12.992000000000019,278.699,766.323,165,110,-588],[1,-589]],[4,4278190080],[5,200,230],[0,1,0.5],[-187.99200000000002,333.087,0,0,0,0,1,1,1,1]],[2,"New Sprite(Splash)",150,9,[[0,0,-590,[234],235],[8,8,422.008,278.699,766.323,165,110,-591],[1,-592]],[4,4278190080],[5,450,230],[0,0,0.5],[47.00799999999998,333.087,0,0,0,0,1,1,1,1]],[2,"New Sprite(Splash)",150,9,[[0,0,-593,[236],237],[16,12,278.699,1.4879999999999995,165,110,-594],[1,-595]],[4,4278190080],[5,750,105],[0,0,0.5],[-375,-613.012,0,0,0,0,1,1,1,1]],[10,"bg",9,[-597,-598],[[14,1,0,-596,[242],243]],[5,560,200],[47.854,18.216,0,0,0,0,1,1,1,1]],[2,"New Sprite(Splash)",150,4,[[0,0,-599,[267],268],[6,40,-533,-133,750,2000,-600],[1,-601]],[4,4278190080],[5,750,2000],[0,0.5,0],[0,447.786,0,0,0,0,1,1,1,1]],[2,"sp",150,4,[[0,0,-602,[269],270],[31,40,1.4765966227514582e-14,-1.4765966227514582e-14,-278,-388,750,2000,-603],[1,-604]],[4,4278190080],[5,750,640],[0,0.5,1],[0,218.4,0,0,0,0,1,1,1,1]],[2,"New Sprite(Splash)",150,4,[[0,0,-605,[271],272],[8,8,-12.992000000000019,278.699,766.323,165,110,-606],[1,-607]],[4,4278190080],[5,200,230],[0,1,0.5],[-187.99200000000002,333.087,0,0,0,0,1,1,1,1]],[2,"New Sprite(Splash)",150,4,[[0,0,-608,[273],274],[8,8,422.008,278.699,766.323,165,110,-609],[1,-610]],[4,4278190080],[5,450,230],[0,0,0.5],[47.00799999999998,333.087,0,0,0,0,1,1,1,1]],[2,"New Sprite(Splash)",150,4,[[0,0,-611,[275],276],[8,12,-23.430000000000007,278.699,165.2,165,110,-612],[1,-613]],[4,4278190080],[5,350,80],[0,1,0.5],[-48.43000000000001,-461.8,0,0,0,0,1,1,1,1]],[2,"New Sprite(Splash)",150,4,[[0,0,-614,[277],278],[8,12,538.958,278.699,165.2,165,110,-615],[1,-616]],[4,4278190080],[5,580,80],[0,0,0.5],[163.95799999999997,-461.8,0,0,0,0,1,1,1,1]],[2,"New Sprite(Splash)",150,4,[[0,0,-617,[279],280],[6,44,-278,-534.8,750,2000,-618],[1,-619]],[4,4278190080],[5,750,700],[0,0.5,1],[0,-501.79999999999995,0,0,0,0,1,1,1,1]],[44,"New Sprite(Splash)",180,21,[[0,0,-620,[406],407],[32,45,100,100,-621],[1,-622]],[4,4278190080],[5,750,1334]],[54,"show_Map",1,[[35,-623,[16]]],[5,400,230],[0,0,1],[-49.859,67.992,0,0,0,0,1,1,1,1]],[10,"xiRang",1,[-626],[[28,3,-625,[[25,"e35abcX5VRAoItO6mgFcYyX","btn_Click","soil",1]],[4,4293322470],[4,4291348680],[4,3363338360],-624,19,20,21,22]],[5,72,72],[-147.124,-107.225,0,0,0,0,1,1.2,1.2,1]],[26,"Background",512,138,[[24,1,-627,[17],18]],[5,72,72],[0,0,0,0,0,0,1,1,1,0]],[10,"JiaGu",1,[-630],[[28,3,-629,[[25,"e35abcX5VRAoItO6mgFcYyX","btn_Click","reinforce",1]],[4,4293322470],[4,4291348680],[4,3363338360],-628,25,26,27,28]],[5,72,72],[-270.035,-107.225,0,0,0,0,1,1.2,1.2,1]],[26,"Background",512,140,[[24,1,-631,[23],24]],[5,72,72],[0,0,0,0,0,0,1,1,1,0]],[10,"StartBtn",1,[-634],[[28,3,-633,[[43,"e35abcX5VRAoItO6mgFcYyX","start_Click",1]],[4,4293322470],[4,4291348680],[4,3363338360],-632,31,32,33,34]],[5,218,60],[242.147,-123.76,0,0,0,0,1,1,1,1]],[26,"Background",512,142,[[24,1,-635,[29],30]],[5,218,60],[0,0,0,0,0,0,1,1,1,0]],[10,"backBtn",1,[-638],[[28,3,-637,[[43,"e35abcX5VRAoItO6mgFcYyX","back_Click",1]],[4,4293322470],[4,4291348680],[4,3363338360],-636,37,38,39,40]],[5,72,72],[286.642,122.944,0,0,0,0,1,1,1,1]],[26,"Background",512,144,[[24,1,-639,[35],36]],[5,72,72],[0,0,0,0,0,0,1,1,1,0]],[10,"deleteBtn",1,[-642],[[28,3,-641,[[43,"e35abcX5VRAoItO6mgFcYyX","removeAllTip",1]],[4,4293322470],[4,4291348680],[4,3363338360],-640,43,44,45,46]],[5,72,72],[199.433,122.944,0,0,0,0,1,1,1,1]],[26,"Background",512,146,[[24,1,-643,[41],42]],[5,72,72],[0,0,0,0,0,0,1,1,1,0]],[5,"New Sprite",105,[[0,0,-644,[76],77],[71,13,-80.62799999999999,640,-645]],[5,116,1334],[-318.378,0,0,0,0,0,1,-1,1,1]],[5,"New Sprite",105,[[0,0,-646,[78],79],[18,37,-80.62799999999996,-80.62999999999997,116,640,-647]],[5,116,1334],[318.38,0,0,0,0,0,1,1,1,1]],[55,"GameOver",false,3,[-648,-649],[5,40,36]],[44,"New Sprite(Splash)",10,150,[[0,0,-650,[80],81],[1,-651]],[4,4278190080],[5,750,2000]],[17,"New Sprite(Splash)",150,17,[[0,0,-652,[84],85],[48,45,110,750,2000,-653]],[4,4278190080],[5,750,1224],[0,-55,0,0,0,0,1,1,1,1]],[17,"New Sprite(Splash)",150,17,[[0,0,-654,[86],87],[47,9,140,-383,750,2000,-655]],[4,4278190080],[5,610,110],[70,612,0,0,0,0,1,1,1,1]],[17,"New Sprite(Splash)",150,18,[[0,0,-656,[101],102],[48,45,110,750,2000,-657]],[4,4278190080],[5,750,1224],[0,-55,0,0,0,0,1,1,1,1]],[17,"New Sprite(Splash)",150,18,[[0,0,-658,[103],104],[33,9,-383,750,2000,-659]],[4,4278190080],[5,165,110],[-292.5,612,0,0,0,0,1,1,1,1]],[2,"New Sprite(Splash)",150,19,[[0,0,-660,[116],117],[6,40,-278,-388,750,2000,-661]],[4,4278190080],[5,750,2000],[0,0.5,1],[0,-24.247,0,0,0,0,1,1,1,1]],[2,"New Sprite(Splash)",150,19,[[0,0,-662,[118],119],[6,40,-1825.422,-383,750,2000,-663]],[4,4278190080],[5,750,2000],[0,0.5,0],[0,492.422,0,0,0,0,1,1,1,1]],[17,"New Sprite(Splash)",150,12,[[0,0,-664,[131],132],[33,45,400,750,2000,-665]],[4,4278190080],[5,750,934],[0,200,0,0,0,0,1,1,1,1]],[77,"New Node",false,true,[23],[0,0,0],[0,0,0,0,0,0,1,1,1,1]],[37,"Main Camera",23,[[78,7,-1,-666]],[5,960,640]],[37,"bg",3,[[4,-667,[0],1]],[5,750,1660]],[37,"bg",1,[[0,0,-668,[2],3]],[5,750,350]],[5,"New Sprite",1,[[4,-669,[4],5]],[5,258,258],[-216.426,75.521,0,0,0,0,1,1,1,1]],[5,"Line",1,[[4,-670,[14],15]],[5,412,6],[150.379,70.591,0,0,0,0,1,1,1,1]],[11,"New Label",1,[[21,"图纸",30,30,false,1,1,-671,[47],48]],[4,4282812591],[5,60,37.8],[0.779,106.058,0,0,0,0,1,1,1,1]],[11,"New Label",1,[[21,"撤回",22,22,false,1,1,-672,[49],50]],[4,4282278536],[5,44,27.72],[286.411,84.785,0,0,0,0,1,1,1,1]],[11,"New Label",1,[[21,"清空",22,22,false,1,1,-673,[51],52]],[4,4282278536],[5,44,27.72],[198.681,84.785,0,0,0,0,1,1,1,1]],[11,"New Label",1,[[21,"息壤",22,22,false,1,1,-674,[53],54]],[4,4282278536],[5,44,27.72],[-148.207,-158.901,0,0,0,0,1,1.2,1.2,1]],[11,"New Label",1,[[21,"加固",22,22,false,1,1,-675,[55],56]],[4,4282278536],[5,44,27.72],[-269.775,-158.901,0,0,0,0,1,1.2,1.2,1]],[5,"bg",5,[[4,-676,[60],61]],[5,744,80],[0,-39.556,0,0,0,0,1,1,1,1]],[5,"progressBg",5,[[4,-677,[62],63]],[5,500,18],[84.706,-63.438,0,0,0,0,1,1,1,1]],[5,"progress",5,[[24,3,-678,[64],65]],[5,500,18],[84.706,-63.438,0,0,0,0,1,1,1,1]],[5,"head",5,[[4,-679,[66],67]],[5,49,32],[-180,-54.557,0,0,0,0,1,1,1,1]],[11,"New Label",5,[[21,"总时间",25,25,false,1,1,-680,[68],69]],[4,4290499309],[5,75,31.5],[-308.155,-19.072,0,0,0,0,1,1,1,1]],[46,"totalTime",5,[-681],[4,4292341503],[5,0,50.4],[-307.209,-54.662,0,0,0,0,1,1,1,1]],[79,false,1,1,175,[70]],[11,"Label",5,[[21,"距离洪峰到来",25,25,false,1,1,-682,[71],72]],[4,4292341503],[5,150,31.5],[41.191,-23.201,0,0,0,0,1,1,1,1]],[46,"time",5,[-683],[4,4292341503],[5,69.7,31.5],[161.092,-23.29,0,0,0,0,1,1,1,1]],[80,"00:00",25,25,false,1,1,178,[73]],[11,"id",5,[[81,"1001",false,1,1,-684,[74],75]],[4,4278255615],[5,86,50.4],[-109.883,-23.96,0,0,0,0,1,1,1,1]],[5,"New Sprite",150,[[4,-685,[82],83]],[5,562,177],[0,85.354,0,0,0,0,1,1,1,1]],[5,"point",25,[[4,-686,[90],91]],[5,102,76],[-213.6,123.98,0,0,0,0,1,1,-1,1]],[15,"content",25,[[9,"这里是一局游戏的总时间,\n倒计时结束后本局自动结束",60,false,1,1,-687,[92],93]],[4,4278190080],[5,480,135.6]],[15,"content",25,[[9,"这里是一局游戏的总时间,\n倒计时结束后本局自动结束",60,false,1,1,-688,[94],95]],[4,4278190080],[5,480,135.6]],[5,"ping",17,[[20,"点击屏幕继续",1,1,-689,[100]]],[5,240,50.4],[0,137.668,0,0,0,0,1,1,1,1]],[5,"point",106,[[4,-690,[107],108]],[5,102,76],[14.227,125.643,0,0,0,0,1,-1,-1,1]],[15,"content",106,[[9,"这里是每轮的时间,洪峰来临\n前没有开始修建就会失败哦",60,false,1,1,-691,[109],110]],[4,4278190080],[5,520,135.6]],[5,"ping",18,[[20,"点击屏幕继续",1,1,-692,[115]]],[5,240,50.4],[0,171.099,0,0,0,0,1,1,1,1]],[5,"point",107,[[4,-693,[122],123]],[5,102,76],[94.05,125.643,0,0,0,0,1,-1,-1,1]],[15,"content",107,[[9,"你的目标是将洪水从\n源头引入入海口",60,false,1,1,-694,[124],125]],[4,4278190080],[5,360,135.6]],[5,"ping",19,[[20,"点击屏幕继续",1,1,-695,[130]]],[5,240,50.4],[0,-404.743,0,0,0,0,1,1,1,1]],[5,"point",111,[[4,-696,[139],140]],[5,102,76],[-180.645,-121.841,0,0,0,0,1,1,1,1]],[15,"content",111,[[9,"点击方向键来规划\n修建的方向",60,false,1,1,-697,[141],142]],[4,4278190080],[5,320,135.6]],[5,"ping",12,[[20,"点击屏幕继续",1,1,-698,[147]]],[5,240,50.4],[0,103.343,0,0,0,0,1,1,1,1]],[5,"point",39,[[4,-699,[162],163]],[5,102,76],[-180.645,-121.841,0,0,0,0,1,1,1,1]],[15,"content",39,[[9,"修建到山峰上会导致\n直接失败, \n避开它吧",60,false,1,1,-700,[164],165]],[4,4282071882],[5,365.7,195.6]],[11,"content",39,[[9,"\n 点击“上”\n",60,false,1,1,-701,[166],167]],[4,4282795731],[5,401.21,195.6],[6.279,0,0,0,0,0,1,1,1,1]],[5,"point",47,[[4,-702,[184],185]],[5,102,76],[-77.541,-95.233,0,0,0,0,1,1,1,1]],[15,"content",47,[[9,"再点击\"右\"右避开上面的山峰吧",60,false,1,1,-703,[186],187]],[4,4278190080],[5,558.72,75.6]],[11,"content",47,[[9,"点击\"右\"",60,false,1,1,-704,[188],189]],[4,4282795731],[5,158.72,75.6],[-159.814,0,0,0,0,0,1,1,1,1]],[5,"point",116,[[4,-705,[200],201]],[5,102,76],[18.51,-91.907,0,0,0,0,1,-1,1,1]],[15,"content",116,[[9,"记录下的路线会显示在图纸里",60,false,1,1,-706,[202],203]],[4,4278190080],[5,520,75.6]],[5,"ping",13,[[20,"点击屏幕继续",1,1,-707,[208]]],[5,240,50.4],[0,-10.359,0,0,0,0,1,1,1,1]],[5,"point",122,[[4,-708,[219],220]],[5,102,76],[69.424,-108.149,0,0,0,0,1,-1,1,1]],[15,"content",122,[[9,"这里可以清空图纸或是\n返回上一步",60,false,1,1,-709,[221],222]],[4,4278190080],[5,400,135.6]],[5,"ping",8,[[20,"点击屏幕继续",1,1,-710,[227]]],[5,240,50.4],[0,30.402,0,0,0,0,1,1,1,1]],[5,"point",128,[[4,-711,[238],239]],[5,102,76],[-44.171,123.98,0,0,0,0,1,1,-1,1]],[15,"content",128,[[9,"遇到湿地时,需要先加固\n地面才可以通过",60,false,1,1,-712,[240],241]],[4,4278190080],[5,440,135.6]],[5,"ping",9,[[20,"点击屏幕继续",1,1,-713,[246]]],[5,240,50.4],[0,-156.24,0,0,0,0,1,1,1,1]],[5,"point",57,[[4,-714,[259],260]],[5,102,76],[-77.541,-95.233,0,0,0,0,1,1,1,1]],[15,"content",57,[[9,"点击“加固”进行加固",60,false,1,1,-715,[261],262]],[4,4278190080],[5,400,75.6]],[11,"content",57,[[9,"点击“加固”",60,false,1,1,-716,[263],264]],[4,4282795731],[5,240,75.6],[-79.936,0,0,0,0,0,1,1,1,1]],[5,"point",58,[[4,-717,[281],282]],[5,102,76],[-73.314,-95.233,0,0,0,0,1,-1,1,1]],[15,"content",58,[[9,"加固也会显示在图纸中",60,false,1,1,-718,[283],284]],[4,4278190080],[5,400,75.6]],[5,"ping",4,[[20,"点击屏幕继续",1,1,-719,[289]]],[5,240,50.4],[0,-72.573,0,0,0,0,1,1,1,1]],[5,"point",67,[[4,-720,[304],305]],[5,102,76],[-180.645,-107.751,0,0,0,0,1,1,1,1]],[15,"content",67,[[9,"加固后就可以正常\n通过了, 点击\"上\"",60,false,1,1,-721,[306],307]],[4,4278190080],[5,320,135.6]],[11,"content",67,[[9,"\n 点击\"上\"",60,false,1,1,-722,[308],309]],[4,4282795731],[5,170.56,135.6],[67.817,0,0,0,0,0,1,1,1,1]],[5,"point",74,[[4,-723,[324],325]],[5,102,76],[-86.079,-195.914,0,0,0,0,1,1,1,1]],[11,"content",74,[[9,"使用大禹的宝物\"息壤\",堤坝便会\n自动向选的的方向自动生长,除非\n下一个是山峰或边界,息壤还会把\n经过的湿地变成平原,无需加固\n点击\"息壤\"\n",60,false,1,1,-724,[326],327]],[4,4278190080],[5,600,375.6],[0,-27.851,0,0,0,0,1,1,1,1]],[11,"content",74,[[9,"\n点击\"息壤\"\n",60,false,1,1,-725,[328],329]],[4,4282795731],[5,198.72,195.6],[0,-118.247,0,0,0,0,1,1,1,1]],[5,"point",82,[[4,-726,[346],347]],[5,102,76],[-87.48,-117.248,0,0,0,0,1,1,1,1]],[11,"content",82,[[9,"使用息壤后,点击\"右\"\n选中方向, 息壤即可生效",60,false,1,1,-727,[348],349]],[4,4278190080],[5,425.44,135.6],[0,-2.625,0,0,0,0,1,1,1,1]],[11,"content",82,[[9,"点击\"右\"\n",60,false,1,1,-728,[350],351]],[4,4282795731],[5,158.72,135.6],[120.074,-2.625,0,0,0,0,1,1,1,1]],[5,"point",88,[[4,-729,[364],365]],[5,102,76],[-75.229,-126.233,0,0,0,0,1,1,1,1]],[11,"content",88,[[9,"息壤遇到入海口时也会自动停下\n点击\"息壤\", 快试试吧",60,false,1,1,-730,[366],367]],[4,4278190080],[5,560,135.6],[0,-6.151,0,0,0,0,1,1,1,1]],[11,"content",88,[[9,"\n点击\"息壤\", ",60,false,1,1,-731,[368],369]],[4,4282795731],[5,224.16,135.6],[-80.05,-6.151,0,0,0,0,1,1,1,1]],[5,"point",95,[[4,-732,[384],385]],[5,102,76],[-159.764,-119.831,0,0,0,0,1,1,1,1]],[11,"content",95,[[9,"使用息壤后,向下引入入海口\n点击\"下\"",60,false,1,1,-733,[386],387]],[4,4278190080],[5,520,135.6],[0,2.842,0,0,0,0,1,1,1,1]],[11,"content",95,[[9,"\n点击\"下\"",60,false,1,1,-734,[388],389]],[4,4282795731],[5,158.72,135.6],[0,2.842,0,0,0,0,1,1,1,1]],[5,"point",99,[[4,-735,[398],399]],[5,102,76],[150.517,-114.998,0,0,0,0,1,-1,1,1]],[11,"content",99,[[9,"开始修建堤坝来引导\n洪水吧, 点击\"开始修建\"",60,false,1,1,-736,[400],401]],[4,4278190080],[5,424.16,135.6],[0,-2.302,0,0,0,0,1,1,1,1]],[11,"content",99,[[9,"\n点击\"开始修建\"",60,false,1,1,-737,[402],403]],[4,4282795731],[5,278.72,135.6],[73.384,-2.302,0,0,0,0,1,1,1,1]],[38,"win",false,21,[[4,-738,[408],409]],[5,742,222],[0,101.865,0,0,0,0,1,1,1,1]],[38,"lose",false,21,[[4,-739,[410],411]],[5,696,193],[0,101.865,0,0,0,0,1,1,1,1]],[38,"finishi",false,21,[[4,-740,[412],413]],[5,562,177],[0,101.865,0,0,0,0,1,1,1,1]]],0,[0,0,1,0,12,137,0,0,1,0,-1,162,0,-2,163,0,-3,101,0,-4,102,0,-5,103,0,-6,104,0,-7,164,0,-8,137,0,-9,138,0,-10,140,0,-11,142,0,-12,144,0,-13,146,0,-14,165,0,-15,166,0,-16,167,0,-17,168,0,-18,169,0,0,2,0,-1,17,0,-2,18,0,-3,19,0,-4,12,0,-5,6,0,-6,7,0,-7,13,0,-8,8,0,-9,9,0,-10,14,0,-11,4,0,-12,10,0,-13,15,0,-14,11,0,-15,20,0,-16,16,0,-17,22,0,13,179,0,14,176,0,12,100,0,0,3,0,0,3,0,-1,161,0,-2,100,0,-4,5,0,4,3,0,-6,105,0,-7,150,0,-9,21,0,0,4,0,-1,129,0,-2,130,0,-3,131,0,-4,132,0,-5,133,0,-6,134,0,-7,135,0,-8,58,0,-9,59,0,-10,215,0,0,5,0,-1,170,0,-2,171,0,-3,172,0,-4,173,0,-5,174,0,-6,175,0,-7,177,0,-8,178,0,-9,180,0,0,6,0,-1,32,0,-2,33,0,-3,34,0,-4,35,0,-5,36,0,-6,37,0,-7,38,0,-8,39,0,0,7,0,-1,40,0,-2,41,0,-3,42,0,-4,43,0,-5,44,0,-6,45,0,-7,46,0,-8,47,0,0,8,0,-1,117,0,-2,118,0,-3,119,0,-4,120,0,-5,121,0,-6,122,0,-7,49,0,-8,206,0,0,9,0,-1,123,0,-2,124,0,-3,125,0,-4,126,0,-5,127,0,-6,128,0,-7,50,0,-8,209,0,0,10,0,-1,60,0,-2,61,0,-3,62,0,-4,63,0,-5,64,0,-6,65,0,-7,66,0,-8,67,0,0,11,0,-1,75,0,-2,76,0,-3,77,0,-4,78,0,-5,79,0,-6,80,0,-7,81,0,-8,82,0,0,12,0,-1,158,0,-2,108,0,-3,109,0,-4,110,0,-5,111,0,-6,31,0,-7,194,0,0,13,0,-1,112,0,-2,113,0,-3,114,0,-4,115,0,-5,116,0,-6,48,0,-7,203,0,0,14,0,-1,51,0,-2,52,0,-3,53,0,-4,54,0,-5,55,0,-6,56,0,-7,57,0,0,15,0,-1,68,0,-2,69,0,-3,70,0,-4,71,0,-5,72,0,-6,73,0,-7,74,0,0,16,0,-1,89,0,-2,90,0,-3,91,0,-4,92,0,-5,93,0,-6,94,0,-7,95,0,0,17,0,-1,152,0,-2,153,0,-3,24,0,-4,25,0,-5,26,0,-6,185,0,0,18,0,-1,154,0,-2,155,0,-3,27,0,-4,106,0,-5,28,0,-6,188,0,0,19,0,-1,156,0,-2,157,0,-3,29,0,-4,107,0,-5,30,0,-6,191,0,0,20,0,-1,83,0,-2,84,0,-3,85,0,-4,86,0,-5,87,0,-6,88,0,0,21,0,0,21,0,-1,136,0,-2,234,0,-3,235,0,-4,236,0,0,22,0,-1,96,0,-2,97,0,-3,98,0,-4,99,0,0,23,0,0,23,0,-1,160,0,0,24,0,0,24,0,0,24,0,0,24,0,0,25,0,-1,182,0,-2,183,0,-3,184,0,0,26,0,0,26,0,0,26,0,0,26,0,0,27,0,0,27,0,0,27,0,0,27,0,0,28,0,0,28,0,0,28,0,0,28,0,0,29,0,0,29,0,0,29,0,0,29,0,0,30,0,0,30,0,0,30,0,0,30,0,0,31,0,0,31,0,0,31,0,0,31,0,0,32,0,0,32,0,0,32,0,0,32,0,0,33,0,0,33,0,0,33,0,0,33,0,0,34,0,0,34,0,0,34,0,0,34,0,0,35,0,0,35,0,0,35,0,0,35,0,0,36,0,0,36,0,0,36,0,0,36,0,0,37,0,0,37,0,0,37,0,0,37,0,0,38,0,0,38,0,0,38,0,0,38,0,0,39,0,-1,195,0,-2,196,0,-3,197,0,0,40,0,0,40,0,0,40,0,0,40,0,0,41,0,0,41,0,0,41,0,0,41,0,0,42,0,0,42,0,0,42,0,0,42,0,0,43,0,0,43,0,0,43,0,0,43,0,0,44,0,0,44,0,0,44,0,0,44,0,0,45,0,0,45,0,0,45,0,0,45,0,0,46,0,0,46,0,0,46,0,0,46,0,0,47,0,-1,198,0,-2,199,0,-3,200,0,0,48,0,0,48,0,0,48,0,0,48,0,0,49,0,0,49,0,0,49,0,0,49,0,0,50,0,0,50,0,0,50,0,0,50,0,0,51,0,0,51,0,0,51,0,0,51,0,0,52,0,0,52,0,0,52,0,0,52,0,0,53,0,0,53,0,0,53,0,0,53,0,0,54,0,0,54,0,0,54,0,0,54,0,0,55,0,0,55,0,0,55,0,0,55,0,0,56,0,0,56,0,0,56,0,0,56,0,0,57,0,-1,210,0,-2,211,0,-3,212,0,0,58,0,0,58,0,-1,213,0,-2,214,0,0,59,0,0,59,0,0,59,0,0,59,0,0,60,0,0,60,0,0,60,0,0,60,0,0,61,0,0,61,0,0,61,0,0,61,0,0,62,0,0,62,0,0,62,0,0,62,0,0,63,0,0,63,0,0,63,0,0,63,0,0,64,0,0,64,0,0,64,0,0,64,0,0,65,0,0,65,0,0,65,0,0,65,0,0,66,0,0,66,0,0,66,0,0,66,0,0,67,0,-1,216,0,-2,217,0,-3,218,0,0,68,0,0,68,0,0,68,0,0,68,0,0,69,0,0,69,0,0,69,0,0,69,0,0,70,0,0,70,0,0,70,0,0,70,0,0,71,0,0,71,0,0,71,0,0,71,0,0,72,0,0,72,0,0,72,0,0,72,0,0,73,0,0,73,0,0,73,0,0,73,0,0,74,0,-1,219,0,-2,220,0,-3,221,0,0,75,0,0,75,0,0,75,0,0,75,0,0,76,0,0,76,0,0,76,0,0,76,0,0,77,0,0,77,0,0,77,0,0,77,0,0,78,0,0,78,0,0,78,0,0,78,0,0,79,0,0,79,0,0,79,0,0,79,0,0,80,0,0,80,0,0,80,0,0,80,0,0,81,0,0,81,0,0,81,0,0,81,0,0,82,0,-1,222,0,-2,223,0,-3,224,0,0,83,0,0,83,0,0,83,0,0,83,0,0,84,0,0,84,0,0,84,0,0,84,0,0,85,0,0,85,0,0,85,0,0,85,0,0,86,0,0,86,0,0,86,0,0,86,0,0,87,0,0,87,0,0,87,0,0,87,0,0,88,0,-1,225,0,-2,226,0,-3,227,0,0,89,0,0,89,0,0,89,0,0,89,0,0,90,0,0,90,0,0,90,0,0,90,0,0,91,0,0,91,0,0,91,0,0,91,0,0,92,0,0,92,0,0,92,0,0,92,0,0,93,0,0,93,0,0,93,0,0,93,0,0,94,0,0,94,0,0,94,0,0,94,0,0,95,0,-1,228,0,-2,229,0,-3,230,0,0,96,0,0,96,0,0,96,0,0,96,0,0,97,0,0,97,0,0,97,0,0,97,0,0,98,0,0,98,0,0,98,0,0,98,0,0,99,0,-1,231,0,-2,232,0,-3,233,0,0,100,0,0,100,0,0,101,0,3,101,0,0,101,0,0,102,0,3,102,0,0,102,0,0,103,0,3,103,0,0,103,0,0,104,0,3,104,0,0,104,0,0,105,0,-1,148,0,-2,149,0,0,106,0,-1,186,0,-2,187,0,0,107,0,-1,189,0,-2,190,0,0,108,0,0,108,0,0,108,0,0,109,0,0,109,0,0,109,0,0,110,0,0,110,0,0,110,0,0,111,0,-1,192,0,-2,193,0,0,112,0,0,112,0,0,112,0,0,113,0,0,113,0,0,113,0,0,114,0,0,114,0,0,114,0,0,115,0,0,115,0,0,115,0,0,116,0,-1,201,0,-2,202,0,0,117,0,0,117,0,0,117,0,0,118,0,0,118,0,0,118,0,0,119,0,0,119,0,0,119,0,0,120,0,0,120,0,0,120,0,0,121,0,0,121,0,0,121,0,0,122,0,-1,204,0,-2,205,0,0,123,0,0,123,0,0,123,0,0,124,0,0,124,0,0,124,0,0,125,0,0,125,0,0,125,0,0,126,0,0,126,0,0,126,0,0,127,0,0,127,0,0,127,0,0,128,0,-1,207,0,-2,208,0,0,129,0,0,129,0,0,129,0,0,130,0,0,130,0,0,130,0,0,131,0,0,131,0,0,131,0,0,132,0,0,132,0,0,132,0,0,133,0,0,133,0,0,133,0,0,134,0,0,134,0,0,134,0,0,135,0,0,135,0,0,135,0,0,136,0,0,136,0,0,136,0,0,137,0,3,139,0,0,138,0,-1,139,0,0,139,0,3,141,0,0,140,0,-1,141,0,0,141,0,3,143,0,0,142,0,-1,143,0,0,143,0,3,145,0,0,144,0,-1,145,0,0,145,0,3,147,0,0,146,0,-1,147,0,0,147,0,0,148,0,0,148,0,0,149,0,0,149,0,-1,151,0,-2,181,0,0,151,0,0,151,0,0,152,0,0,152,0,0,153,0,0,153,0,0,154,0,0,154,0,0,155,0,0,155,0,0,156,0,0,156,0,0,157,0,0,157,0,0,158,0,0,158,0,0,160,0,0,161,0,0,162,0,0,163,0,0,164,0,0,165,0,0,166,0,0,167,0,0,168,0,0,169,0,0,170,0,0,171,0,0,172,0,0,173,0,0,174,0,-1,176,0,0,177,0,-1,179,0,0,180,0,0,181,0,0,182,0,0,183,0,0,184,0,0,185,0,0,186,0,0,187,0,0,188,0,0,189,0,0,190,0,0,191,0,0,192,0,0,193,0,0,194,0,0,195,0,0,196,0,0,197,0,0,198,0,0,199,0,0,200,0,0,201,0,0,202,0,0,203,0,0,204,0,0,205,0,0,206,0,0,207,0,0,208,0,0,209,0,0,210,0,0,211,0,0,212,0,0,213,0,0,214,0,0,215,0,0,216,0,0,217,0,0,218,0,0,219,0,0,220,0,0,221,0,0,222,0,0,223,0,0,224,0,0,225,0,0,226,0,0,227,0,0,228,0,0,229,0,0,230,0,0,231,0,0,232,0,0,233,0,0,234,0,0,235,0,0,236,0,15,159,1,4,3,2,4,3,3,4,23,23,4,159,740],[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,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,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,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,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,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,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,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,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,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,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,0,0,0,0,0,0,0,0,176,179],[-1,1,-1,1,-1,1,-1,1,-1,1,-1,1,-1,1,-1,1,-1,-1,1,6,7,8,9,-1,1,6,7,8,9,-1,1,6,7,8,9,-1,1,6,7,8,9,-1,1,6,7,8,9,-1,2,-1,2,-1,2,-1,2,-1,2,16,17,18,-1,1,-1,1,-1,1,-1,1,-1,2,-1,-1,2,-1,-1,2,-1,1,-1,1,-1,1,-1,1,-1,1,-1,1,-1,1,-1,1,-1,2,-1,2,-1,1,-1,1,-1,-1,1,-1,1,-1,1,-1,1,-1,2,-1,1,-1,1,-1,-1,1,-1,1,-1,1,-1,1,-1,2,-1,1,-1,1,-1,-1,1,-1,1,-1,1,-1,1,-1,1,-1,2,-1,1,-1,1,-1,-1,1,-1,1,-1,1,-1,1,-1,1,-1,1,-1,1,-1,1,-1,2,-1,2,-1,1,-1,1,-1,1,-1,1,-1,1,-1,1,-1,1,-1,1,-1,1,-1,2,-1,2,-1,1,-1,1,-1,1,-1,1,-1,1,-1,1,-1,2,-1,1,-1,1,-1,-1,1,-1,1,-1,1,-1,1,-1,1,-1,1,-1,2,-1,1,-1,1,-1,-1,1,-1,1,-1,1,-1,1,-1,1,-1,1,-1,2,-1,1,-1,1,-1,-1,1,-1,1,-1,1,-1,1,-1,1,-1,1,-1,1,-1,2,-1,2,-1,1,-1,1,-1,1,-1,1,-1,1,-1,1,-1,1,-1,1,-1,1,-1,2,-1,1,-1,1,-1,-1,1,-1,1,-1,1,-1,1,-1,1,-1,1,-1,1,-1,1,-1,2,-1,2,-1,1,-1,1,-1,1,-1,1,-1,1,-1,1,-1,1,-1,1,-1,2,-1,2,-1,1,-1,1,-1,1,-1,1,-1,1,-1,1,-1,1,-1,1,-1,1,-1,2,-1,2,-1,1,-1,1,-1,1,-1,1,-1,1,-1,1,-1,1,-1,2,-1,2,-1,1,-1,1,-1,1,-1,1,-1,1,-1,1,-1,1,-1,1,-1,2,-1,2,-1,1,-1,1,-1,1,-1,1,-1,1,-1,2,-1,2,-1,1,-1,1,-1,1,-1,1,-1,1,19,2,2],[0,21,0,22,0,23,0,24,0,25,0,26,0,27,0,28,0,0,29,5,6,5,7,0,9,9,6,5,7,0,30,5,6,5,7,0,8,8,6,5,7,0,31,8,6,5,7,0,2,0,2,0,2,0,2,0,2,32,33,34,0,35,0,36,0,37,0,38,0,2,0,0,2,0,0,2,0,10,0,10,0,1,0,11,0,1,0,1,0,1,0,3,0,2,0,2,0,4,0,1,0,0,1,0,1,0,1,0,3,0,2,0,4,0,1,0,0,1,0,1,0,1,0,3,0,2,0,4,0,1,0,0,1,0,1,0,1,0,1,0,3,0,2,0,4,0,1,0,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,3,0,2,0,2,0,4,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,3,0,2,0,2,0,4,0,1,0,1,0,1,0,1,0,3,0,2,0,4,0,1,0,0,1,0,1,0,1,0,1,0,1,0,3,0,2,0,4,0,1,0,0,1,0,1,0,1,0,1,0,1,0,3,0,2,0,4,0,1,0,0,1,0,1,0,1,0,1,0,1,0,1,0,3,0,2,0,2,0,4,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,3,0,2,0,4,0,1,0,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,3,0,2,0,2,0,4,0,1,0,1,0,1,0,1,0,1,0,1,0,3,0,2,0,2,0,4,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,3,0,2,0,2,0,4,0,1,0,1,0,1,0,1,0,1,0,3,0,2,0,2,0,4,0,1,0,1,0,1,0,1,0,1,0,1,0,3,0,2,0,2,0,4,0,1,0,1,0,1,0,3,0,2,0,2,0,4,0,1,0,39,0,40,0,11,41,2,2]],[[[29,"reinforce"],[36,"reinforce",[[4,-2,[0],1]],[30,-1,0],[5,46,46],[0,0,0,0,0,0,1,1,1,0]]],0,[0,10,1,0,0,1,0,11,1,2],[0,0],[-1,1],[0,42]],[[[29,"soil"],[36,"soil",[[4,-2,[0],1]],[30,-1,0],[5,46,46],[0,0,0,0,0,0,1,1,1,0]]],0,[0,10,1,0,0,1,0,11,1,2],[0,0],[-1,1],[0,43]],[[{"name":"default_sprite_splash","rect":[0,0,2,2],"offset":[0,0],"originalSize":[2,2],"capInsets":[0,0,0,0]}],[4],0,[0],[5],[44]],[[{"name":"block","rect":[0,0,96,96],"offset":[0,0],"originalSize":[96,96],"capInsets":[0,0,0,0]}],[4],0,[0],[5],[45]],[[[29,"Block"],[39,"Block",[-4,-5,-6,-7,-8,-9,-10,-11,-12,-13,-14,-15,-16,-17,-18,-19],[[0,0,-2,[52],53],[82,-3,54]],[30,-1,0],[5,96,96]],[39,"wave",[-21,-22,-23],[[35,-20,[19]]],[7,"0cYASDpipJSLMjXqt7x67T",1,0],[5,96,96]],[39,"wave",[-25,-26,-27],[[35,-24,[33]]],[7,"88lwocuPBOz4+Ox3FYCDNN",1,0],[5,96,96]],[56,"sp",1,[-29,-30,-31],[[41,-28,[45]]],[7,"96hwYYVvZIeJFUaZYzJVKS",1,0]],[40,"vertical",false,1,[2],[[27,3,1,1,-32,[20],21]],[7,"1cW1eKjG1IzrE0Me3F5dzp",1,0],[5,96,96]],[40,"turn",false,1,[-34],[[27,3,2,0.25,-33,[25],26]],[7,"0en916QFNENrq/dQ8DeOiU",1,0],[5,96,96]],[57,"wave",6,[-36],[[35,-35,[24]]],[7,"b4SpNjxy5Ex6kG6+frg46R",1,0],[5,96,96]],[40,"horizontal",false,1,[3],[[27,3,1,1,-37,[34],35]],[7,"35xKcSVUZLopFFdXxCEm5O",1,0],[5,96,96]],[19,"turnStart",false,1,[[27,3,2,0.25,-38,[0],1]],[7,"91pygXpylIc6WIV3bc0sSU",1,0],[5,96,96]],[19,"waterStart",false,1,[[27,3,2,0.25,-39,[2],3]],[7,"561W77CSNGgo1dunNDNXCV",1,0],[5,96,96]],[58,"bg",1,[[41,-40,[4]]],[7,"f0HOqitqhA5L0HdoWHNWLD",1,0],[5,96,96]],[59,"Reinforce",false,0,1,[[65,3,0,1,1,-41,[5],6]],[7,"ealb3tvB5Ah4BpqMMGDc8e",1,0],[5,96,96]],[19,"vertical2",false,1,[[42,3,1,-42,[7],8]],[7,"59m0Fk9O9EjJ2NMsw4izxI",1,0],[5,96,96]],[19,"turn2",false,1,[[42,3,2,-43,[9],10]],[7,"d5D4goRj5NHYJ9Ls2YiLkA",1,0],[5,96,96]],[19,"horizontal2",false,1,[[42,3,1,-44,[11],12]],[7,"01QtN2Wm5KnJ0u3PlL426T",1,0],[5,96,96]],[23,"water1",2,[[4,-45,[13],14]],[7,"3atxfFT/lFmoEESIaENWyu",1,0],[5,8,128],[-10.489,-120,0,0,0,0,1,1,1,1]],[23,"water2",2,[[4,-46,[15],16]],[7,"d2RG+tOc9Hnb3S1yq4VwF7",1,0],[5,8,118],[3.012,-120,0,0,0,0,1,1,1,1]],[23,"water3",2,[[4,-47,[17],18]],[7,"95QDseWl5JJLHpB27vuHEm",1,0],[5,24,138],[12.416,-120,0,0,0,0,1,1,1,1]],[60,"water",7,[[4,-48,[22],23]],[7,"d5esRVVMdDD6BhyBqsGFcI",1,0],[5,179,179],[-48,-48,0,0,0,0.17364817766693033,0.984807753012208,1,1,1],[1,0,0,20]],[23,"water1",3,[[4,-49,[27],28]],[7,"4fbsAmb2xL9Z5ru7uF0kbu",1,0],[5,8,128],[-10.489,-120,0,0,0,0,1,1,1,1]],[23,"water2",3,[[4,-50,[29],30]],[7,"a1XbxIz/pDM5yEnPY4GVrB",1,0],[5,8,118],[3.012,-120,0,0,0,0,1,1,1,1]],[23,"water3",3,[[4,-51,[31],32]],[7,"3aiOLofOhI6LU6NH1etq12",1,0],[5,24,138],[12.416,-120,0,0,0,0,1,1,1,1]],[19,"tip",false,1,[[4,-52,[36],37]],[7,"b2Xfw7RPZMhrj9rvQnCwPq",1,0],[5,96,96]],[61,"Xi_Soil",false,0,1,[[0,0,-53,[38],39]],[7,"c1rnBrwplFLLvmPviKv2Ng",1,0],[4,4278255615],[5,100,100]],[45,"start",false,4,[[4,-54,[40],41]],[7,"b9arqz+uVOoLBKt3S+yI2K",1,0],[5,96,36],[0,-24.891,0,0,0,0,1,1,1,1]],[45,"end",false,4,[[4,-55,[42],43]],[7,"7e0oRK9FRIQo7GCUOlzQGX",1,0],[5,96,36],[0,20,0,0,0,0,1,1,1,1]],[62,"bg",4,[[41,-56,[44]]],[7,"84LEMr+CxNAYuAy0aJ2ERx",1,0]],[19,"tipWin",false,1,[[4,-57,[46],47]],[7,"15EUeQXjhK4bdrggtx0Sa9",1,0],[5,96,96]],[19,"tipLose",false,1,[[4,-58,[48],49]],[7,"78nuMNK0FERLGID3pg8G25",1,0],[5,96,96]],[63,"End",0,1,[[0,0,-59,[50],51]],[7,"7fDhDY4o1GZ5hR6AtMMfnm",1,0],[5,100,100]]],0,[0,10,1,0,0,1,0,0,1,0,-1,9,0,-2,10,0,-3,11,0,-4,12,0,-5,13,0,-6,14,0,-7,15,0,-8,5,0,-9,6,0,-10,8,0,-11,23,0,-12,24,0,-13,4,0,-14,28,0,-15,29,0,-16,30,0,0,2,0,-1,16,0,-2,17,0,-3,18,0,0,3,0,-1,20,0,-2,21,0,-3,22,0,0,4,0,-1,25,0,-2,26,0,-3,27,0,0,5,0,0,6,0,-1,7,0,0,7,0,-1,19,0,0,8,0,0,9,0,0,10,0,0,11,0,0,12,0,0,13,0,0,14,0,0,15,0,0,16,0,0,17,0,0,18,0,0,19,0,0,20,0,0,21,0,0,22,0,0,23,0,0,24,0,0,25,0,0,26,0,0,27,0,0,28,0,0,29,0,0,30,0,11,1,2,4,5,3,4,8,59],[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,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0],[-1,1,-1,1,-1,-1,1,-1,1,-1,1,-1,1,-1,1,-1,1,-1,1,-1,-1,1,-1,1,-1,-1,1,-1,1,-1,1,-1,1,-1,-1,1,-1,1,-1,1,-1,1,-1,1,-1,-1,-1,1,-1,1,-1,1,-1,1,20],[0,12,0,13,0,0,46,0,14,0,12,0,14,0,15,0,16,0,17,0,0,18,0,47,0,0,13,0,15,0,16,0,17,0,0,18,0,48,0,1,0,49,0,50,0,0,0,51,0,52,0,53,0,54,55]],[[{"name":"default_btn_pressed","rect":[0,0,40,40],"offset":[0,0],"originalSize":[40,40],"capInsets":[12,12,12,12]}],[4],0,[0],[5],[56]],[[{"name":"default_btn_normal","rect":[0,0,40,40],"offset":[0,0],"originalSize":[40,40],"capInsets":[12,12,12,12]}],[4],0,[0],[5],[57]]]] \ No newline at end of file diff --git a/build/WaterControl/assets/main/import/0d/0d9744cd3.fe13e.json b/build/WaterControl/assets/main/import/0d/0d9744cd3.fe13e.json deleted file mode 100644 index 8f645a4..0000000 --- a/build/WaterControl/assets/main/import/0d/0d9744cd3.fe13e.json +++ /dev/null @@ -1 +0,0 @@ -[1,["ecpdLyjvZBwrvm+cedCcQy","a2MjXRFdtLlYQ5ouAFv/+R","950i/nfQFMA706M0J42z2S","b3zo/554xPt4CdlPazRDpG","e8GI4uyrpF67GYzhTP5An/","f0BIwQ8D5Ml7nTNQbh1YlS","e97GVMl6JHh5Ml5qEDdSGa","29FYIk+N1GYaeWH/q1NxQO","08nl3uyqJJA7uoE3GvzFXX","c2TGyr0HlFNI+U5EHVCc9G","b9JgB6PD5JgbHAY4hk38iS","09bYkL1mtAM5O2O8+V7qHc","c0HHeDVMpCarROFz9NuoqK","e0b3wP+fNDrJPw/uXtbPAm","b7ZgPiwWZM6a83QXze3eEu","e4mOksb1lGdYpf3qDPlJ1m","61voSiLytCdKbvQdUslVWv","15Px8zkb9PNqM/8EKhh8Au","a8Z+I8DLJOTItWbXZ7o+On","71VhFCTINJM6/Ky3oX9nBT","86RTsIyV1N174519l+P5Pb","75rGnU/uhK8bMsTI+rC297","bcEK9sCkJI4p6KlRiOXup5","72w0D96+tCzqgcxJNILv57","fcnzeeqxVHkq3OZWAMR5PH","13N/YjxRlBvJuJQONzZgQf","ddqDlhAkZLWIL1y8avBH5u","cfqcs4X2pESrBI8GS67vAW","d5OjVl+DNCYZB21IIypRPF","73N8EX9n1McabSpjwsAUFl","3d1+VYOqRFMru62rlaVFw5","b2Jo5hfNdP3IxDaDbBBpRD","47ZX8FJD5PKqMtIAYx8cJS","7akOdsN/hPjITp8Fs0r+SB","9ekcNRvRdEa7dzO3Ff5rpI","ffqy1jFwBIIY2Vn01HF6ob","12h4oyoGNCtLIznkGQVMCE","fbFdFD+0hProkh5fAFST+s","dbBrjVZzVM4IdI7f4G6f0w","906d84Zp1AyY2/IlNF6g7B","ed8zUHEbVGj5LsmjJJ84R5","c9MNZOJwdHT7aRYiDiky3d","b8DySHAFpJKL3lBPpBrtpx","c5bTdQ6p5KJY7kyiMGyG9+","02delMVqdBD70a/HSD99FK","9cGJu2Po1E0Ig5JOShYLbd","02+qdP/LNMYprXxb2rzSoK","5fDWUEFjZBRI2eMjZLlvjR","a370KkqyVJLbbINtFmyZoV","76pgt/TFZD470MIGj+PmEU","d5BkUa/nxBx5+b0q2RfGhs","5c+BT+UBxHhrClg8pgvwdu","84TEhnwUZPfYYtQ7rcSIdl","ab1P7uwLFP0LwHkn9ME+r+","f7bzZZX0lHQ4pY2wrfzNRV","98MGN85ONN9Y1R/Em31xW0","b4P/PCArtIdIH38t6mlw8Y","e8Ueib+qJEhL6mXAHdnwbi"],["node","_spriteFrame","_N$file","_N$target","_parent","_textureSetter","_N$normalSprite","_N$pressedSprite","_N$hoverSprite","_N$disabledSprite","root","data","Map","Countdown","Time","scene","tip","reinforce","soil","Block","UI"],[["cc.Node",["_name","_active","_opacity","_id","_objFlags","_components","_contentSize","_parent","_trs","_prefab","_children","_color","_anchorPoint","_eulerAngles"],-2,9,5,1,7,4,2,5,5,5],["cc.Widget",["_alignFlags","_originalWidth","_originalHeight","_bottom","_left","_top","_right","_enabled","node"],-5,1],["cc.Sprite",["_sizeMode","_type","_fillType","_fillRange","_enabled","node","_materials","_spriteFrame"],-2,1,3,6],["cc.Label",["_N$horizontalAlign","_N$verticalAlign","_string","_isSystemFontUsed","_lineHeight","_fontSize","node","_materials","_N$file"],-3,1,3,6],"cc.SpriteFrame",["cc.PrefabInfo",["fileId","root","asset"],2,1,1],["cc.Button",["_N$transition","zoomScale","node","clickEvents","_N$target","_N$normalColor","_N$pressedColor","_N$disabledColor","_N$normalSprite","_N$pressedSprite","_N$hoverSprite","_N$disabledSprite"],1,1,9,1,5,5,5,6,6,6,6],["cc.ClickEvent",["_componentId","handler","customEventData","target"],0,1],["cc.Prefab",["_name"],2],["cc.Node",["_name","_children","_components","_contentSize"],2,12,9,5],["cc.Node",["_name","_parent","_components","_color","_contentSize","_trs"],2,1,2,5,5,7],["cc.SceneAsset",["_name","asyncLoadAssets"],1],["e35abcX5VRAoItO6mgFcYyX",["node","Map","tip","reinforce","soil"],3,1,1,6,6,6],["b0432BA295DjIOcuitdGKO1",["node","Map","Time","Countdown","Guide","Block"],3,1,1,1,1,1,6],["3bad2uyOw5MzLq3b5g9aHn2",["node"],3,1],["cc.Canvas",["_fitWidth","_fitHeight","node","_designResolution"],1,1,5],["cc.BlockInputEvents",["node"],3,1],["81171JxkddO6ZzuXLu/FZen",["node"],3,1],["2234assp7RIvpDgrnqljp2R",["node"],3,1],["cc.Scene",["_name","_active","autoReleaseAssets","_children","_anchorPoint","_trs"],0,2,5,7],["cc.Camera",["_clearFlags","_depth","node"],1,1],["c58deN2u1NGZL8nJwvnu1PR",["node","UI"],3,1,6],["cc.Mask",["node","_materials"],3,1,3]],[[2,0,5,6,7,2],[16,0,1],[0,0,2,7,5,11,6,12,8,3],[17,0,1],[2,5,6,7,1],[0,0,7,5,6,8,2],[1,0,5,3,1,2,8,6],[5,0,1,2,2],[1,0,4,6,3,1,2,8,7],[0,0,7,10,5,6,8,2],[1,0,8,2],[0,0,1,7,10,5,6,3],[3,2,4,3,0,1,6,7,8,6],[2,1,0,5,6,7,3],[0,0,7,5,11,6,8,2],[0,0,7,5,11,6,2],[1,0,6,3,1,2,8,6],[0,0,2,7,5,11,6,8,3],[1,0,4,6,1,2,8,6],[0,0,1,7,5,9,6,3],[3,2,0,1,6,7,4],[3,2,5,4,3,0,1,6,7,8,7],[0,0,1,2,7,5,11,6,12,8,4],[0,0,7,5,9,6,8,2],[2,1,5,6,7,2],[7,0,1,2,3,4],[0,0,4,7,5,6,8,3],[2,1,2,3,5,6,7,4],[6,0,2,3,5,6,7,4,8,9,10,11,2],[8,0,2],[5,1,2,1],[1,0,4,6,5,3,1,2,8,8],[1,0,1,2,8,4],[1,0,3,1,2,8,5],[6,1,0,2,3,4,3],[0,0,5,9,6,8,2],[0,0,7,5,6,2],[0,0,1,7,5,6,8,3],[0,0,10,5,9,6,2],[2,5,6,1],[2,1,2,5,6,7,3],[7,0,1,3,3],[22,0,1,1],[0,0,2,7,5,11,6,3],[0,0,1,7,10,5,9,6,3],[0,0,1,7,5,9,6,8,3],[10,0,1,2,3,4,5,2],[1,0,4,3,1,2,8,6],[1,0,5,1,2,8,5],[0,0,10,5,6,8,2],[0,0,10,5,6,2],[0,0,7,2],[0,0,3,10,5,6,8,3],[0,0,2,7,10,5,6,3],[0,0,7,5,6,12,8,2],[0,0,1,7,10,6,3],[0,0,7,10,5,9,2],[0,0,7,10,5,9,6,2],[0,0,1,7,10,5,9,6,8,13,3],[0,0,7,5,9,6,2],[0,0,1,2,7,5,9,6,4],[0,0,1,2,7,5,9,11,6,4],[0,0,7,5,9,6,8,13,2],[0,0,7,5,9,2],[0,0,2,7,5,9,6,3],[9,0,1,2,3,2],[2,4,0,5,6,7,3],[2,1,0,2,3,5,6,7,5],[2,0,5,6,2],[11,0,1,3],[1,0,1,8,3],[1,0,5,8,3],[1,0,3,8,3],[1,7,0,1,8,4],[1,0,4,2,8,4],[12,0,1,2,3,4,1],[13,0,1,2,3,4,5,1],[14,0,1],[15,0,1,2,3,3],[18,0,1],[19,0,1,2,3,4,5,4],[20,0,1,2,3],[3,3,0,1,6,7,4],[3,2,5,4,3,0,1,6,7,7],[3,2,3,0,1,6,7,8,5],[21,0,1,1]],[[[{"name":"default_btn_disabled","rect":[0,0,40,40],"offset":[0,0],"originalSize":[40,40],"capInsets":[12,12,12,12]}],[4],0,[0],[5],[19]],[[[29,"mapTip"],[35,"mapTip",[[4,-2,[0],1]],[30,-1,0],[5,46,46],[0,0,0,0,0,0,1,1,1,0]]],0,[0,10,1,0,0,1,0,11,1,2],[0,0],[-1,1],[0,20]],[[[69,"GameScene",null],[49,"Control",[-4,-5,-6,-7,-8,-9,-10,-11,-12,-13,-14,-15,-16,-17,-18,-19,-20,-21],[[70,44,750,-1],[75,-3,-2,58,59,60]],[5,750,350],[0,-492,0,0,0,0,1,1,1,1]],[50,"Guide",[-23,-24,-25,-26,-27,-28,-29,-30,-31,-32,-33,-34,-35,-36,-37,-38,-39],[[10,45,-22]],[5,750,1334]],[65,"GameNode",[[-45,-46,1,-47,[51,"Win",-48],-49,-50,2,-51],1,1,1,1,4,1,1,1,1],[[76,-43,-42,-41,-40,2,397],[10,45,-44]],[5,750,1334]],[11,"eleven",false,2,[-53,-54,-55,-56,-57,-58,-59,-60,-61,-62],[[10,45,-52]],[5,750,1334]],[9,"Top",3,[-64,-65,-66,-67,-68,-69,-70,-71,-72],[[71,41,20,-63]],[5,750,0],[0,647,0,0,0,0,1,1,1,1]],[11,"five",false,2,[-74,-75,-76,-77,-78,-79,-80,-81],[[10,45,-73]],[5,750,1334]],[11,"six",false,2,[-83,-84,-85,-86,-87,-88,-89,-90],[[10,45,-82]],[5,750,1334]],[11,"eight",false,2,[-92,-93,-94,-95,-96,-97,-98,-99],[[10,45,-91]],[5,750,1334]],[11,"nine",false,2,[-101,-102,-103,-104,-105,-106,-107,-108],[[10,45,-100]],[5,750,1334]],[11,"twelve",false,2,[-110,-111,-112,-113,-114,-115,-116,-117],[[10,45,-109]],[5,750,1334]],[11,"fourteen",false,2,[-119,-120,-121,-122,-123,-124,-125,-126],[[10,45,-118]],[5,750,1334]],[11,"four",false,2,[-128,-129,-130,-131,-132,-133,-134],[[10,45,-127]],[5,750,1334]],[11,"seven",false,2,[-136,-137,-138,-139,-140,-141,-142],[[10,45,-135]],[5,750,1334]],[11,"ten",false,2,[-144,-145,-146,-147,-148,-149,-150],[[10,45,-143]],[5,750,1334]],[11,"thirteen",false,2,[-152,-153,-154,-155,-156,-157,-158],[[10,45,-151]],[5,750,1334]],[11,"sixteen",false,2,[-160,-161,-162,-163,-164,-165,-166],[[10,45,-159]],[5,750,1334]],[11,"one",false,2,[-168,-169,-170,-171,-172,-173],[[10,45,-167]],[5,750,1334]],[11,"two",false,2,[-175,-176,-177,-178,-179,-180],[[10,45,-174]],[5,750,1334]],[11,"three",false,2,[-182,-183,-184,-185,-186,-187],[[10,45,-181]],[5,750,1334]],[11,"fiveteen",false,2,[-189,-190,-191,-192,-193,-194],[[10,45,-188]],[5,750,1334]],[11,"Window",false,3,[-197,-198,-199,-200],[[10,45,-195],[77,-196]],[5,750,1334]],[11,"last",false,2,[-202,-203,-204,-205],[[10,45,-201]],[5,750,1334]],[52,"Canvas","a5esZu+45LA5mBpvttspPD",[-208,3],[[78,true,false,-206,[5,750,1334]],[10,45,-207]],[5,750,1334],[375,667,0,0,0,0,1,1,1,1]],[22,"sp",false,0,17,[[0,0,-209,[89],90],[6,40,-278,-388,750,2000,-210],[1,-211],[3,-212]],[4,4278190080],[5,750,380],[0,0.5,1],[0,100,0,0,0,0,1,1,1,1]],[9,"bg",17,[-214,-215,-216],[[13,1,0,-213,[97],98]],[5,600,200],[3.399,322.211,0,0,0,0,1,1,1,1]],[2,"touch",0,17,[[0,0,-217,[99],100],[18,45,3,-3,610,110,-218],[1,-219],[3,-220]],[4,4278190080],[5,750,1334],[0,0.5037653333333333,0.5],[5.823999999999955,0,0,0,0,0,1,1,1,1]],[22,"sp",false,0,18,[[0,0,-221,[106],107],[6,40,-278,-388,750,2000,-222],[1,-223],[3,-224]],[4,4278190080],[5,750,380],[0,0.5,1],[0,100,0,0,0,0,1,1,1,1]],[2,"touch",0,18,[[0,0,-225,[114],115],[18,45,3,-3,610,110,-226],[1,-227],[3,-228]],[4,4278190080],[5,750,1334],[0,0.5037653333333333,0.5],[5.823999999999955,0,0,0,0,0,1,1,1,1]],[22,"sp",false,0,19,[[0,0,-229,[121],122],[6,40,-278,-388,750,2000,-230],[1,-231],[3,-232]],[4,4278190080],[5,750,380],[0,0.5,1],[0,100,0,0,0,0,1,1,1,1]],[2,"touch",0,19,[[0,0,-233,[129],130],[18,45,3,-3,610,110,-234],[1,-235],[3,-236]],[4,4278190080],[5,750,1334],[0,0.5037653333333333,0.5],[5.823999999999955,0,0,0,0,0,1,1,1,1]],[2,"touch",0,12,[[0,0,-237,[146],147],[18,45,3,-3,610,110,-238],[1,-239],[3,-240]],[4,4278190080],[5,750,1334],[0,0.5037653333333333,0.5],[5.823999999999955,0,0,0,0,0,1,1,1,1]],[2,"New Sprite(Splash)",150,6,[[0,0,-241,[149],150],[6,40,-533,-133,750,2000,-242],[1,-243],[3,-244]],[4,4278190080],[5,750,2000],[0,0.5,0],[0,329.391,0,0,0,0,1,1,1,1]],[2,"sp",150,6,[[0,0,-245,[151],152],[6,40,-278,-388,750,2000,-246],[1,-247],[3,-248]],[4,4278190080],[5,750,379.523],[0,0.5,1],[0,99.323,0,0,0,0,1,1,1,1]],[2,"New Sprite(Splash)",150,6,[[0,0,-249,[153],154],[16,8,278.699,766.323,165,110,-250],[1,-251],[3,-252]],[4,4278190080],[5,75,230],[0,0,0.5],[-375,214.32299999999998,0,0,0,0,1,1,1,1]],[2,"New Sprite(Splash)",150,6,[[0,0,-253,[155],156],[8,8,310,278.699,766.323,165,110,-254],[1,-255],[3,-256]],[4,4278190080],[5,450,230],[0,0,0.5],[-65,214.323,0,0,0,0,1,1,1,1]],[2,"New Sprite(Splash)",150,6,[[0,0,-257,[157],158],[6,44,-278,-418.18399999999997,750,2000,-258],[1,-259],[3,-260]],[4,4278190080],[5,750,700],[0,0.5,1],[0,-385.18399999999997,0,0,0,0,1,1,1,1]],[2,"New Sprite(Splash)",150,6,[[0,0,-261,[159],160],[16,12,278.699,281.8,165,110,-262],[1,-263],[3,-264]],[4,4278190080],[5,93,105],[0,0,0.5],[-375,-332.7,0,0,0,0,1,1,1,1]],[2,"New Sprite(Splash)",150,6,[[0,0,-265,[161],162],[8,12,219.021,278.699,281.8,165,110,-266],[1,-267],[3,-268]],[4,4278190080],[5,600,105],[0,0,0.5],[-155.979,-332.7,0,0,0,0,1,1,1,1]],[2,"New Sprite(Splash)",150,7,[[0,0,-269,[169],170],[6,40,-533,-133,750,2000,-270],[1,-271],[3,-272]],[4,4278190080],[5,750,2000],[0,0.5,0],[0,450,0,0,0,0,1,1,1,1]],[2,"sp",150,7,[[0,0,-273,[171],172],[6,40,-278,-388,750,2000,-274],[1,-275],[3,-276]],[4,4278190080],[5,750,454],[0,0.5,1],[0,99.323,0,0,0,0,1,1,1,1]],[2,"New Sprite(Splash)",150,7,[[0,0,-277,[173],174],[16,8,278.699,766.323,165,110,-278],[1,-279],[3,-280]],[4,4278190080],[5,75,350.5],[0,0,0.5],[-375,274.6,0,0,0,0,1,1,1,1]],[2,"New Sprite(Splash)",150,7,[[0,0,-281,[175],176],[8,8,423.656,278.699,766.323,165,110,-282],[1,-283],[3,-284]],[4,4278190080],[5,450,350.5],[0,0,0.5],[48.656000000000006,274.6,0,0,0,0,1,1,1,1]],[2,"New Sprite(Splash)",150,7,[[0,0,-285,[177],178],[6,44,-278,-492.62799999999993,750,2000,-286],[1,-287],[3,-288]],[4,4278190080],[5,750,700],[0,0.5,1],[0,-459.62799999999993,0,0,0,0,1,1,1,1]],[2,"New Sprite(Splash)",150,7,[[0,0,-289,[179],180],[16,12,278.699,207.3,165,110,-290],[1,-291],[3,-292]],[4,4278190080],[5,190,105],[0,0,0.5],[-375,-407.2,0,0,0,0,1,1,1,1]],[2,"New Sprite(Splash)",150,7,[[0,0,-293,[181],182],[8,12,295.071,278.699,207.3,165,110,-294],[1,-295],[3,-296]],[4,4278190080],[5,520,105],[0,0,0.5],[-79.92899999999997,-407.2,0,0,0,0,1,1,1,1]],[2,"touch",0,13,[[0,0,-297,[203],204],[18,45,3,-3,610,110,-298],[1,-299],[3,-300]],[4,4278190080],[5,750,1334],[0,0.5037653333333333,0.5],[5.823999999999955,0,0,0,0,0,1,1,1,1]],[2,"touch",0,8,[[0,0,-301,[222],223],[18,45,3,-3,610,110,-302],[1,-303],[3,-304]],[4,4278190080],[5,750,1334],[0,0.5037653333333333,0.5],[5.823999999999955,0,0,0,0,0,1,1,1,1]],[2,"touch",0,9,[[0,0,-305,[241],242],[18,45,3,-3,610,110,-306],[1,-307],[3,-308]],[4,4278190080],[5,750,1334],[0,0.5037653333333333,0.5],[5.823999999999955,0,0,0,0,0,1,1,1,1]],[2,"New Sprite(Splash)",150,14,[[0,0,-309,[244],245],[6,40,-533,-133,750,2000,-310],[1,-311],[3,-312]],[4,4278190080],[5,750,2000],[0,0.5,0],[0,447.786,0,0,0,0,1,1,1,1]],[2,"sp",150,14,[[0,0,-313,[246],247],[31,40,1.4765966227514582e-14,-1.4765966227514582e-14,-278,-388,750,2000,-314],[1,-315],[3,-316]],[4,4278190080],[5,750,775],[0,0.5,1],[0,218.4,0,0,0,0,1,1,1,1]],[2,"New Sprite(Splash)",150,14,[[0,0,-317,[248],249],[8,8,-12.992000000000019,278.699,766.323,165,110,-318],[1,-319],[3,-320]],[4,4278190080],[5,200,230],[0,1,0.5],[-187.99200000000002,333.087,0,0,0,0,1,1,1,1]],[2,"New Sprite(Splash)",150,14,[[0,0,-321,[250],251],[8,8,422.008,278.699,766.323,165,110,-322],[1,-323],[3,-324]],[4,4278190080],[5,450,230],[0,0,0.5],[47.00799999999998,333.087,0,0,0,0,1,1,1,1]],[2,"New Sprite(Splash)",150,14,[[0,0,-325,[252],253],[8,12,-37.70800000000003,278.699,-1.6380000000000905,165,110,-326],[1,-327],[3,-328]],[4,4278190080],[5,75,112],[0,0,0.5],[-412.708,-612.6380000000001,0,0,0,0,1,1,1,1]],[2,"New Sprite(Splash)",150,14,[[0,0,-329,[254],255],[8,12,169.438,278.699,-1.6380000000000905,165,110,-330],[1,-331],[3,-332]],[4,4278190080],[5,580,112],[0,0,0.5],[-205.562,-612.6380000000001,0,0,0,0,1,1,1,1]],[9,"bg",4,[-335,-336],[[13,1,0,-333,[280],281],[72,4,364.373,-334]],[5,500,140],[25.763,-232.627,0,0,0,0,1,1,1,1]],[2,"touch",0,4,[[0,0,-337,[282],283],[18,45,3,-3,610,110,-338],[1,-339],[3,-340]],[4,4278190080],[5,750,1334],[0,0.5037653333333333,0.5],[5.823999999999955,0,0,0,0,0,1,1,1,1]],[2,"New Sprite(Splash)",150,10,[[0,0,-341,[285],286],[6,40,-533,-133,750,2000,-342],[1,-343],[3,-344]],[4,4278190080],[5,750,2000],[0,0.5,0],[0,447.786,0,0,0,0,1,1,1,1]],[2,"sp",150,10,[[0,0,-345,[287],288],[31,40,1.4765966227514582e-14,-1.4765966227514582e-14,-278,-388,750,2000,-346],[1,-347],[3,-348]],[4,4278190080],[5,750,498.5],[0,0.5,1],[0,218.4,0,0,0,0,1,1,1,1]],[2,"New Sprite(Splash)",150,10,[[0,0,-349,[289],290],[8,8,-12.99199999999999,278.699,766.323,165,110,-350],[1,-351],[3,-352]],[4,4278190080],[5,200,230],[0,1,0.5],[-187.99199999999996,333.087,0,0,0,0,1,1,1,1]],[2,"New Sprite(Splash)",150,10,[[0,0,-353,[291],292],[8,8,422.008,278.699,766.323,165,110,-354],[1,-355],[3,-356]],[4,4278190080],[5,450,230],[0,0,0.5],[47.00799999999998,333.087,0,0,0,0,1,1,1,1]],[2,"New Sprite(Splash)",150,10,[[0,0,-357,[293],294],[6,44,-278,-418.18399999999997,750,2000,-358],[1,-359],[3,-360]],[4,4278190080],[5,750,700],[0,0.5,1],[0,-385.18399999999997,0,0,0,0,1,1,1,1]],[2,"New Sprite(Splash)",150,10,[[0,0,-361,[295],296],[16,12,278.699,281.8,165,110,-362],[1,-363],[3,-364]],[4,4278190080],[5,95,105],[0,0,0.5],[-375,-332.7,0,0,0,0,1,1,1,1]],[2,"New Sprite(Splash)",150,10,[[0,0,-365,[297],298],[8,12,220.132,278.699,281.8,165,110,-366],[1,-367],[3,-368]],[4,4278190080],[5,600,105],[0,0,0.5],[-154.868,-332.7,0,0,0,0,1,1,1,1]],[2,"New Sprite(Splash)",150,15,[[0,0,-369,[305],306],[6,40,-533,-133,750,2000,-370],[1,-371],[3,-372]],[4,4278190080],[5,750,2000],[0,0.5,0],[0,449.78,0,0,0,0,1,1,1,1]],[2,"sp",150,15,[[0,0,-373,[307],308],[6,40,-278,-388,750,2000,-374],[1,-375],[3,-376]],[4,4278190080],[5,750,890],[0,0.5,1],[0,334.849,0,0,0,0,1,1,1,1]],[2,"New Sprite(Splash)",150,15,[[0,0,-377,[309],310],[16,8,278.699,766.323,165,110,-378],[1,-379],[3,-380]],[4,4278190080],[5,75,115],[0,0,0.5],[-375,392.3,0,0,0,0,1,1,1,1]],[2,"New Sprite(Splash)",150,15,[[0,0,-381,[311],312],[8,8,652.483,278.699,766.323,165,110,-382],[1,-383],[3,-384]],[4,4278190080],[5,450,115],[0,0,0.5],[277.48299999999995,392.3,0,0,0,0,1,1,1,1]],[2,"New Sprite(Splash)",150,15,[[0,0,-385,[313],314],[8,12,-4.496000000000009,278.699,-0.21699999999998454,165,110,-386],[1,-387],[3,-388]],[4,4278190080],[5,170,112],[0,1,1],[-209.49599999999998,-555.217,0,0,0,0,1,1,1,1]],[2,"New Sprite(Splash)",150,15,[[0,0,-389,[315],316],[8,12,295.085,278.699,-0.21699999999998454,165,110,-390],[1,-391],[3,-392]],[4,4278190080],[5,520,112],[0,0,1],[-79.91500000000002,-555.217,0,0,0,0,1,1,1,1]],[2,"New Sprite(Splash)",150,11,[[0,0,-393,[323],324],[6,40,-533,-133,750,2000,-394],[1,-395],[3,-396]],[4,4278190080],[5,750,2000],[0,0.5,0],[0,449.78,0,0,0,0,1,1,1,1]],[2,"sp",150,11,[[0,0,-397,[325],326],[6,40,-278,-388,750,2000,-398],[1,-399],[3,-400]],[4,4278190080],[5,750,689.8],[0,0.5,1],[0,334.849,0,0,0,0,1,1,1,1]],[2,"New Sprite(Splash)",150,11,[[0,0,-401,[327],328],[16,8,278.699,766.323,165,110,-402],[1,-403],[3,-404]],[4,4278190080],[5,75,115],[0,0,0.5],[-375,392.3,0,0,0,0,1,1,1,1]],[2,"New Sprite(Splash)",150,11,[[0,0,-405,[329],330],[8,8,652.483,278.699,766.323,165,110,-406],[1,-407],[3,-408]],[4,4278190080],[5,450,115],[0,0,0.5],[277.48299999999995,392.3,0,0,0,0,1,1,1,1]],[2,"New Sprite(Splash)",150,11,[[0,0,-409,[331],332],[6,44,-278,-492.62799999999993,750,2000,-410],[1,-411],[3,-412]],[4,4278190080],[5,750,700],[0,0.5,1],[0,-459.62799999999993,0,0,0,0,1,1,1,1]],[2,"New Sprite(Splash)",150,11,[[0,0,-413,[333],334],[16,12,278.699,207.3,165,110,-414],[1,-415],[3,-416]],[4,4278190080],[5,190,105],[0,0,0.5],[-375,-407.2,0,0,0,0,1,1,1,1]],[2,"New Sprite(Splash)",150,11,[[0,0,-417,[335],336],[8,12,295.071,278.699,207.3,165,110,-418],[1,-419],[3,-420]],[4,4278190080],[5,520,105],[0,0,0.5],[-79.92899999999997,-407.2,0,0,0,0,1,1,1,1]],[2,"New Sprite(Splash)",150,20,[[0,0,-421,[343],344],[6,40,-533,-133,750,2000,-422],[1,-423],[3,-424]],[4,4278190080],[5,750,2000],[0,0.5,0],[0,449.78,0,0,0,0,1,1,1,1]],[2,"sp",150,20,[[0,0,-425,[345],346],[6,44,-278,110.529,750,2000,-426],[1,-427],[3,-428]],[4,4278190080],[5,750,415],[0,0.5,0],[0,-556.471,0,0,0,0,1,1,1,1]],[2,"New Sprite(Splash)",150,20,[[0,0,-429,[347],348],[16,8,278.699,766.323,165,110,-430],[1,-431],[3,-432]],[4,4278190080],[5,540,115],[0,0,0.5],[-375,392.3,0,0,0,0,1,1,1,1]],[2,"New Sprite(Splash)",150,20,[[0,0,-433,[349],350],[8,12,-4.496000000000009,278.699,-1.3999999999999773,165,110,-434],[1,-435],[3,-436]],[4,4278190080],[5,170,112],[0,1,1],[-209.49599999999998,-556.4,0,0,0,0,1,1,1,1]],[2,"New Sprite(Splash)",150,20,[[0,0,-437,[351],352],[8,12,295.085,278.699,-1.3999999999999773,165,110,-438],[1,-439],[3,-440]],[4,4278190080],[5,520,112],[0,0,1],[-79.91500000000002,-556.4,0,0,0,0,1,1,1,1]],[2,"New Sprite(Splash)",150,16,[[0,0,-441,[359],360],[6,40,-533,-133,750,2000,-442],[1,-443],[3,-444]],[4,4278190080],[5,750,2000],[0,0.5,0],[0,449.78,0,0,0,0,1,1,1,1]],[2,"sp",150,16,[[0,0,-445,[361],362],[6,44,-278,218.625,750,2000,-446],[1,-447],[3,-448]],[4,4278190080],[5,750,430],[0,0.5,0],[0,-448.375,0,0,0,0,1,1,1,1]],[2,"New Sprite(Splash)",150,16,[[0,0,-449,[363],364],[16,8,278.699,766.323,165,110,-450],[1,-451],[3,-452]],[4,4278190080],[5,540,115],[0,0,0.5],[-375,392.3,0,0,0,0,1,1,1,1]],[2,"New Sprite(Splash)",150,16,[[0,0,-453,[365],366],[8,12,-0.3629999999999711,278.699,-781.3,165,110,-454],[1,-455],[3,-456]],[4,4278190080],[5,100,1000],[0,1,1],[-275.36299999999994,-448.29999999999995,0,0,0,0,1,1,1,1]],[2,"New Sprite(Splash)",150,16,[[0,0,-457,[367],368],[8,12,216.115,278.699,-781.3,165,110,-458],[1,-459],[3,-460]],[4,4278190080],[5,540,1000],[0,0,1],[-158.885,-448.29999999999995,0,0,0,0,1,1,1,1]],[2,"New Sprite(Splash)",150,16,[[0,0,-461,[369],370],[8,12,99.6,278.699,-885.9709999999999,165,110,-462],[1,-463],[3,-464]],[4,4278190080],[5,116.5,1000],[0,1,1],[-158.89999999999998,-552.971,0,0,0,0,1,1,1,1]],[2,"New Sprite(Splash)",150,22,[[0,0,-465,[377],378],[6,40,-533,-133,750,2000,-466],[1,-467],[3,-468]],[4,4278190080],[5,750,2000],[0,0.5,0],[0,449.78,0,0,0,0,1,1,1,1]],[2,"sp",150,22,[[0,0,-469,[379],380],[6,44,-278,108.43899999999996,750,2000,-470],[1,-471],[3,-472]],[4,4278190080],[5,750,420],[0,0.5,0],[0,-558.561,0,0,0,0,1,1,1,1]],[2,"New Sprite(Splash)",150,22,[[0,0,-473,[381],382],[8,12,-22.49899999999998,278.699,-891.4719999999999,165,110,-474],[1,-475],[3,-476]],[4,4278190080],[5,500,1000],[0,1,1],[102.50100000000003,-558.4719999999998,0,0,0,0,1,1,1,1]],[5,"Map",3,[[79,-477],[73,false,40,576,-478]],[5,576,864],[0,128,0,0,0,0,1,1,1,1]],[5,"btn_Down",1,[[4,-479,[6],7],[34,1.1,3,-481,[[25,"e35abcX5VRAoItO6mgFcYyX","btn_Click","down",1]],-480]],[5,84,84],[-217.617,-4.266,0,0,0,0,1,1,1,0]],[5,"btn_Up",1,[[4,-482,[8],9],[34,1.1,3,-484,[[25,"e35abcX5VRAoItO6mgFcYyX","btn_Click","up",1]],-483]],[5,84,84],[-219.289,155.813,0,0,0,0,1,1,1,0]],[5,"btn_Left",1,[[4,-485,[10],11],[34,1.1,3,-487,[[25,"e35abcX5VRAoItO6mgFcYyX","btn_Click","left",1]],-486]],[5,84,84],[-297.337,77.284,0,0,0,0,1,1,1,0]],[5,"btn_Right",1,[[4,-488,[12],13],[34,1.1,3,-490,[[25,"e35abcX5VRAoItO6mgFcYyX","btn_Click","right",1]],-489]],[5,84,84],[-136.072,80.626,0,0,0,0,1,1,1,0]],[53,"Over",0,3,[-492,-493],[[18,45,79.25,79.25,116,640,-491]],[5,591.5,1334]],[9,"bg",18,[-495,-496],[[13,1,0,-494,[112],113]],[5,600,200],[-24.872,377.089,0,0,0,0,1,1,1,1]],[9,"bg",19,[-498,-499],[[13,1,0,-497,[127],128]],[5,500,200],[84.698,-201.289,0,0,0,0,1,1,1,1]],[17,"New Sprite(Splash)",150,12,[[0,0,-500,[134],135],[32,44,165,110,-501],[1,-502]],[4,4278190080],[5,750,110],[0,-612,0,0,0,0,1,1,1,1]],[2,"New Sprite(Splash)",150,12,[[0,0,-503,[136],137],[47,44,320,110.10000000000002,165,110,-504],[1,-505]],[4,4278190080],[5,430,289.9],[0,0.5,0],[160,-556.9,0,0,0,0,1,1,1,1]],[22,"sp",false,0,12,[[0,0,-506,[138],139],[6,40,-278,-388,750,2000,-507],[1,-508]],[4,4278190080],[5,750,380],[0,0.5,1],[0,100,0,0,0,0,1,1,1,1]],[9,"bg",12,[-510,-511],[[13,1,0,-509,[144],145]],[5,500,200],[43.765,-83.824,0,0,0,0,1,1,1,1]],[9,"bg",6,[-513,-514],[[13,1,0,-512,[167],168]],[5,500,200],[32.808,-108.477,0,0,0,0,1,1,1,1]],[9,"bg",7,[-516,-517],[[13,1,0,-515,[187],188]],[5,600,140],[32.808,-183.311,0,0,0,0,1,1,1,1]],[17,"New Sprite(Splash)",150,13,[[0,0,-518,[189],190],[33,45,350,750,2000,-519],[1,-520]],[4,4278190080],[5,750,984],[0,175,0,0,0,0,1,1,1,1]],[17,"New Sprite(Splash)",150,13,[[0,0,-521,[191],192],[32,44,165,110,-522],[1,-523]],[4,4278190080],[5,750,150],[0,-592,0,0,0,0,1,1,1,1]],[2,"New Sprite(Splash)",150,13,[[0,0,-524,[193],194],[16,44,450,150,165,110,-525],[1,-526]],[4,4278190080],[5,300,200],[0,0.5,0],[-225,-517,0,0,0,0,1,1,1,1]],[22,"sp",false,0,13,[[0,0,-527,[195],196],[6,40,-278,-388,750,2000,-528],[1,-529]],[4,4278190080],[5,750,380],[0,0.5,1],[0,100,0,0,0,0,1,1,1,1]],[9,"bg",13,[-531,-532],[[13,1,0,-530,[201],202]],[5,620,140],[34.377,-165.9,0,0,0,0,1,1,1,1]],[17,"New Sprite(Splash)",150,8,[[0,0,-533,[206],207],[33,45,350,750,2000,-534],[1,-535]],[4,4278190080],[5,750,984],[0,175,0,0,0,0,1,1,1,1]],[17,"New Sprite(Splash)",150,8,[[0,0,-536,[208],209],[32,44,165,110,-537],[1,-538]],[4,4278190080],[5,750,150],[0,-592,0,0,0,0,1,1,1,1]],[2,"New Sprite(Splash)",150,8,[[0,0,-539,[210],211],[16,44,450,150,165,110,-540],[1,-541]],[4,4278190080],[5,300,200],[0,0.5,0],[-225,-517,0,0,0,0,1,1,1,1]],[2,"New Sprite(Splash)",0,8,[[0,0,-542,[212],213],[8,44,299.169,0.8310000000000173,150,165,110,-543],[1,-544]],[4,4278190080],[5,450,200],[0,0.5,0],[149.16899999999998,-517,0,0,0,0,1,1,1,1]],[22,"sp",false,0,8,[[0,0,-545,[214],215],[6,40,-278,-388,750,2000,-546],[1,-547]],[4,4278190080],[5,750,380],[0,0.5,1],[0,100,0,0,0,0,1,1,1,1]],[9,"bg",8,[-549,-550],[[13,1,0,-548,[220],221]],[5,540,180],[59.611,-154.987,0,0,0,0,1,1,1,1]],[2,"New Sprite(Splash)",150,9,[[0,0,-551,[225],226],[6,40,-533,-133,750,2000,-552],[1,-553]],[4,4278190080],[5,750,2000],[0,0.5,0],[0,447.786,0,0,0,0,1,1,1,1]],[2,"sp",150,9,[[0,0,-554,[227],228],[31,40,1.4765966227514582e-14,-1.4765966227514582e-14,-278,-388,750,2000,-555],[1,-556]],[4,4278190080],[5,750,778.8],[0,0.5,1],[0,218.4,0,0,0,0,1,1,1,1]],[2,"New Sprite(Splash)",150,9,[[0,0,-557,[229],230],[8,8,-12.992000000000019,278.699,766.323,165,110,-558],[1,-559]],[4,4278190080],[5,200,230],[0,1,0.5],[-187.99200000000002,333.087,0,0,0,0,1,1,1,1]],[2,"New Sprite(Splash)",150,9,[[0,0,-560,[231],232],[8,8,422.008,278.699,766.323,165,110,-561],[1,-562]],[4,4278190080],[5,450,230],[0,0,0.5],[47.00799999999998,333.087,0,0,0,0,1,1,1,1]],[2,"New Sprite(Splash)",150,9,[[0,0,-563,[233],234],[16,12,278.699,1.4879999999999995,165,110,-564],[1,-565]],[4,4278190080],[5,750,105],[0,0,0.5],[-375,-613.012,0,0,0,0,1,1,1,1]],[9,"bg",9,[-567,-568],[[13,1,0,-566,[239],240]],[5,560,200],[47.854,18.216,0,0,0,0,1,1,1,1]],[9,"bg",14,[-570,-571],[[13,1,0,-569,[260],261]],[5,450,140],[-73.955,-408.443,0,0,0,0,1,1,1,1]],[2,"New Sprite(Splash)",150,4,[[0,0,-572,[262],263],[6,40,-533,-133,750,2000,-573],[1,-574]],[4,4278190080],[5,750,2000],[0,0.5,0],[0,447.786,0,0,0,0,1,1,1,1]],[2,"sp",150,4,[[0,0,-575,[264],265],[31,40,1.4765966227514582e-14,-1.4765966227514582e-14,-278,-388,750,2000,-576],[1,-577]],[4,4278190080],[5,750,640],[0,0.5,1],[0,218.4,0,0,0,0,1,1,1,1]],[2,"New Sprite(Splash)",150,4,[[0,0,-578,[266],267],[8,8,-12.992000000000019,278.699,766.323,165,110,-579],[1,-580]],[4,4278190080],[5,200,230],[0,1,0.5],[-187.99200000000002,333.087,0,0,0,0,1,1,1,1]],[2,"New Sprite(Splash)",150,4,[[0,0,-581,[268],269],[8,8,422.008,278.699,766.323,165,110,-582],[1,-583]],[4,4278190080],[5,450,230],[0,0,0.5],[47.00799999999998,333.087,0,0,0,0,1,1,1,1]],[2,"New Sprite(Splash)",150,4,[[0,0,-584,[270],271],[8,12,-23.430000000000007,278.699,165.2,165,110,-585],[1,-586]],[4,4278190080],[5,350,80],[0,1,0.5],[-48.43000000000001,-461.8,0,0,0,0,1,1,1,1]],[2,"New Sprite(Splash)",150,4,[[0,0,-587,[272],273],[8,12,538.958,278.699,165.2,165,110,-588],[1,-589]],[4,4278190080],[5,580,80],[0,0,0.5],[163.95799999999997,-461.8,0,0,0,0,1,1,1,1]],[2,"New Sprite(Splash)",150,4,[[0,0,-590,[274],275],[6,44,-278,-534.8,750,2000,-591],[1,-592]],[4,4278190080],[5,750,700],[0,0.5,1],[0,-501.79999999999995,0,0,0,0,1,1,1,1]],[9,"bg",10,[-594,-595],[[13,1,0,-593,[303],304]],[5,450,170],[32.808,-108.477,0,0,0,0,1,1,1,1]],[9,"bg",15,[-597,-598],[[13,1,0,-596,[321],322]],[5,700,300],[2.071,-336.475,0,0,0,0,1,1,1,1]],[9,"bg",11,[-600,-601],[[13,1,0,-599,[341],342]],[5,500,200],[24.494,-184.888,0,0,0,0,1,1,1,1]],[9,"bg",20,[-603,-604],[[13,1,0,-602,[357],358]],[5,680,200],[2.071,-365.303,0,0,0,0,1,1,1,1]],[9,"bg",16,[-606,-607],[[13,1,0,-605,[375],376]],[5,600,140],[9.265,-304.15,0,0,0,0,1,1,1,1]],[9,"bg",22,[-609,-610],[[13,1,0,-608,[387],388]],[5,600,140],[24.669,-385.571,0,0,0,0,1,1,1,1]],[43,"New Sprite(Splash)",180,21,[[0,0,-611,[389],390],[32,45,100,100,-612],[1,-613]],[4,4278190080],[5,750,1334]],[54,"show_Map",1,[[66,false,0,-614,[16],17]],[5,400,230],[0,0,1],[-49.859,67.992,0,0,0,0,1,1,1,1]],[9,"xiRang",1,[-617],[[28,3,-616,[[25,"e35abcX5VRAoItO6mgFcYyX","btn_Click","soil",1]],[4,4293322470],[4,4291348680],[4,3363338360],-615,20,21,22,23]],[5,72,72],[-147.124,-107.225,0,0,0,0,1,1.2,1.2,1]],[26,"Background",512,138,[[24,1,-618,[18],19]],[5,72,72],[0,0,0,0,0,0,1,1,1,0]],[9,"JiaGu",1,[-621],[[28,3,-620,[[25,"e35abcX5VRAoItO6mgFcYyX","btn_Click","reinforce",1]],[4,4293322470],[4,4291348680],[4,3363338360],-619,26,27,28,29]],[5,72,72],[-270.035,-107.225,0,0,0,0,1,1.2,1.2,1]],[26,"Background",512,140,[[24,1,-622,[24],25]],[5,72,72],[0,0,0,0,0,0,1,1,1,0]],[9,"StartBtn",1,[-625],[[28,3,-624,[[41,"e35abcX5VRAoItO6mgFcYyX","start_Click",1]],[4,4293322470],[4,4291348680],[4,3363338360],-623,32,33,34,35]],[5,218,60],[242.147,-123.76,0,0,0,0,1,1,1,1]],[26,"Background",512,142,[[24,1,-626,[30],31]],[5,218,60],[0,0,0,0,0,0,1,1,1,0]],[9,"backBtn",1,[-629],[[28,3,-628,[[41,"e35abcX5VRAoItO6mgFcYyX","back_Click",1]],[4,4293322470],[4,4291348680],[4,3363338360],-627,38,39,40,41]],[5,72,72],[286.642,122.944,0,0,0,0,1,1,1,1]],[26,"Background",512,144,[[24,1,-630,[36],37]],[5,72,72],[0,0,0,0,0,0,1,1,1,0]],[9,"deleteBtn",1,[-633],[[28,3,-632,[[41,"e35abcX5VRAoItO6mgFcYyX","removeAllTip",1]],[4,4293322470],[4,4291348680],[4,3363338360],-631,44,45,46,47]],[5,72,72],[199.433,122.944,0,0,0,0,1,1,1,1]],[26,"Background",512,146,[[24,1,-634,[42],43]],[5,72,72],[0,0,0,0,0,0,1,1,1,0]],[5,"New Sprite",96,[[0,0,-635,[77],78],[74,13,-80.62799999999999,640,-636]],[5,116,1334],[-318.378,0,0,0,0,0,1,-1,1,1]],[5,"New Sprite",96,[[0,0,-637,[79],80],[18,37,-80.62799999999996,-80.62999999999997,116,640,-638]],[5,116,1334],[318.38,0,0,0,0,0,1,1,1,1]],[55,"GameOver",false,3,[-639,-640],[5,40,36]],[43,"New Sprite(Splash)",10,150,[[0,0,-641,[81],82],[1,-642]],[4,4278190080],[5,750,2000]],[17,"New Sprite(Splash)",150,17,[[0,0,-643,[85],86],[48,45,110,750,2000,-644]],[4,4278190080],[5,750,1224],[0,-55,0,0,0,0,1,1,1,1]],[17,"New Sprite(Splash)",150,17,[[0,0,-645,[87],88],[47,9,140,-383,750,2000,-646]],[4,4278190080],[5,610,110],[70,612,0,0,0,0,1,1,1,1]],[17,"New Sprite(Splash)",150,18,[[0,0,-647,[102],103],[48,45,110,750,2000,-648]],[4,4278190080],[5,750,1224],[0,-55,0,0,0,0,1,1,1,1]],[17,"New Sprite(Splash)",150,18,[[0,0,-649,[104],105],[33,9,-383,750,2000,-650]],[4,4278190080],[5,165,110],[-292.5,612,0,0,0,0,1,1,1,1]],[2,"New Sprite(Splash)",150,19,[[0,0,-651,[117],118],[6,40,-278,-388,750,2000,-652]],[4,4278190080],[5,750,2000],[0,0.5,1],[0,-24.247,0,0,0,0,1,1,1,1]],[2,"New Sprite(Splash)",150,19,[[0,0,-653,[119],120],[6,40,-1825.422,-383,750,2000,-654]],[4,4278190080],[5,750,2000],[0,0.5,0],[0,492.422,0,0,0,0,1,1,1,1]],[17,"New Sprite(Splash)",150,12,[[0,0,-655,[132],133],[33,45,400,750,2000,-656]],[4,4278190080],[5,750,934],[0,200,0,0,0,0,1,1,1,1]],[80,"New Node",false,true,[23],[0,0,0],[0,0,0,0,0,0,1,1,1,1]],[36,"Main Camera",23,[[81,7,-1,-657]],[5,960,640]],[36,"bg",3,[[4,-658,[0],1]],[5,750,1660]],[36,"bg",1,[[0,0,-659,[2],3]],[5,750,350]],[5,"New Sprite",1,[[4,-660,[4],5]],[5,258,258],[-216.426,75.521,0,0,0,0,1,1,1,1]],[5,"Line",1,[[4,-661,[14],15]],[5,412,6],[150.379,70.591,0,0,0,0,1,1,1,1]],[14,"New Label",1,[[21,"图纸",30,30,false,1,1,-662,[48],49]],[4,4282812591],[5,60,37.8],[0.779,106.058,0,0,0,0,1,1,1,1]],[14,"New Label",1,[[21,"撤回",22,22,false,1,1,-663,[50],51]],[4,4282278536],[5,44,27.72],[286.411,84.785,0,0,0,0,1,1,1,1]],[14,"New Label",1,[[21,"清空",22,22,false,1,1,-664,[52],53]],[4,4282278536],[5,44,27.72],[198.681,84.785,0,0,0,0,1,1,1,1]],[14,"New Label",1,[[21,"息壤",22,22,false,1,1,-665,[54],55]],[4,4282278536],[5,44,27.72],[-148.207,-158.901,0,0,0,0,1,1.2,1.2,1]],[14,"New Label",1,[[21,"加固",22,22,false,1,1,-666,[56],57]],[4,4282278536],[5,44,27.72],[-269.775,-158.901,0,0,0,0,1,1.2,1.2,1]],[5,"bg",5,[[4,-667,[61],62]],[5,744,80],[0,-39.556,0,0,0,0,1,1,1,1]],[5,"progressBg",5,[[4,-668,[63],64]],[5,500,18],[84.706,-63.438,0,0,0,0,1,1,1,1]],[5,"progress",5,[[24,3,-669,[65],66]],[5,500,18],[84.706,-63.438,0,0,0,0,1,1,1,1]],[5,"head",5,[[4,-670,[67],68]],[5,49,32],[-180,-54.557,0,0,0,0,1,1,1,1]],[14,"New Label",5,[[21,"总时间",25,25,false,1,1,-671,[69],70]],[4,4290499309],[5,75,31.5],[-308.155,-19.072,0,0,0,0,1,1,1,1]],[46,"totalTime",5,[-672],[4,4292341503],[5,0,50.4],[-307.209,-54.662,0,0,0,0,1,1,1,1]],[82,false,1,1,175,[71]],[14,"Label",5,[[21,"距离洪峰到来",25,25,false,1,1,-673,[72],73]],[4,4292341503],[5,150,31.5],[41.191,-23.201,0,0,0,0,1,1,1,1]],[46,"time",5,[-674],[4,4292341503],[5,69.7,31.5],[161.092,-23.29,0,0,0,0,1,1,1,1]],[83,"00:00",25,25,false,1,1,178,[74]],[14,"id",5,[[84,"1001",false,1,1,-675,[75],76]],[4,4278255615],[5,86,50.4],[-109.883,-23.96,0,0,0,0,1,1,1,1]],[5,"New Sprite",150,[[4,-676,[83],84]],[5,562,177],[0,85.354,0,0,0,0,1,1,1,1]],[5,"point",25,[[4,-677,[91],92]],[5,102,76],[-213.6,123.98,0,0,0,0,1,1,-1,1]],[15,"content",25,[[12,"这里是一局游戏的总时间,\n倒计时结束后本局自动结束",60,false,1,1,-678,[93],94]],[4,4278190080],[5,480,135.6]],[15,"content",25,[[12,"这里是一局游戏的总时间,\n倒计时结束后本局自动结束",60,false,1,1,-679,[95],96]],[4,4278190080],[5,480,135.6]],[5,"ping",17,[[20,"点击屏幕继续",1,1,-680,[101]]],[5,240,50.4],[0,137.668,0,0,0,0,1,1,1,1]],[5,"point",97,[[4,-681,[108],109]],[5,102,76],[14.227,125.643,0,0,0,0,1,-1,-1,1]],[15,"content",97,[[12,"这里是每轮的时间,洪峰来临\n前没有开始修建就会失败哦",60,false,1,1,-682,[110],111]],[4,4278190080],[5,520,135.6]],[5,"ping",18,[[20,"点击屏幕继续",1,1,-683,[116]]],[5,240,50.4],[0,171.099,0,0,0,0,1,1,1,1]],[5,"point",98,[[4,-684,[123],124]],[5,102,76],[94.05,125.643,0,0,0,0,1,-1,-1,1]],[15,"content",98,[[12,"你的目标是将洪水从\n源头引入入海口",60,false,1,1,-685,[125],126]],[4,4278190080],[5,360,135.6]],[5,"ping",19,[[20,"点击屏幕继续",1,1,-686,[131]]],[5,240,50.4],[0,-404.743,0,0,0,0,1,1,1,1]],[5,"point",102,[[4,-687,[140],141]],[5,102,76],[-180.645,-121.841,0,0,0,0,1,1,1,1]],[15,"content",102,[[12,"点击方向键来规划\n修建的方向",60,false,1,1,-688,[142],143]],[4,4278190080],[5,320,135.6]],[5,"ping",12,[[20,"点击屏幕继续",1,1,-689,[148]]],[5,240,50.4],[0,103.343,0,0,0,0,1,1,1,1]],[5,"point",103,[[4,-690,[163],164]],[5,102,76],[-180.645,-121.841,0,0,0,0,1,1,1,1]],[15,"content",103,[[12,"修建到山峰上会导致\n直接失败,避开它吧",60,false,1,1,-691,[165],166]],[4,4278190080],[5,360,135.6]],[5,"point",104,[[4,-692,[183],184]],[5,102,76],[-77.541,-95.233,0,0,0,0,1,1,1,1]],[15,"content",104,[[12,"再向右避开上面的山峰吧",60,false,1,1,-693,[185],186]],[4,4278190080],[5,440,75.6]],[5,"point",109,[[4,-694,[197],198]],[5,102,76],[18.51,-91.907,0,0,0,0,1,-1,1,1]],[15,"content",109,[[12,"记录下的路线会显示在图纸里",60,false,1,1,-695,[199],200]],[4,4278190080],[5,520,75.6]],[5,"ping",13,[[20,"点击屏幕继续",1,1,-696,[205]]],[5,240,50.4],[0,-10.359,0,0,0,0,1,1,1,1]],[5,"point",115,[[4,-697,[216],217]],[5,102,76],[69.424,-108.149,0,0,0,0,1,-1,1,1]],[15,"content",115,[[12,"这里可以清空图纸或是\n返回上一步",60,false,1,1,-698,[218],219]],[4,4278190080],[5,400,135.6]],[5,"ping",8,[[20,"点击屏幕继续",1,1,-699,[224]]],[5,240,50.4],[0,30.402,0,0,0,0,1,1,1,1]],[5,"point",121,[[4,-700,[235],236]],[5,102,76],[-44.171,123.98,0,0,0,0,1,1,-1,1]],[15,"content",121,[[12,"遇到湿地时,需要先加固\n地面才可以通过",60,false,1,1,-701,[237],238]],[4,4278190080],[5,440,135.6]],[5,"ping",9,[[20,"点击屏幕继续",1,1,-702,[243]]],[5,240,50.4],[0,-156.24,0,0,0,0,1,1,1,1]],[5,"point",122,[[4,-703,[256],257]],[5,102,76],[-77.541,-95.233,0,0,0,0,1,1,1,1]],[15,"content",122,[[12,"点击这里进行加固",60,false,1,1,-704,[258],259]],[4,4278190080],[5,320,75.6]],[5,"point",55,[[4,-705,[276],277]],[5,102,76],[-73.314,-95.233,0,0,0,0,1,-1,1,1]],[15,"content",55,[[12,"加固也会显示在图纸中",60,false,1,1,-706,[278],279]],[4,4278190080],[5,400,75.6]],[5,"ping",4,[[20,"点击屏幕继续",1,1,-707,[284]]],[5,240,50.4],[0,-72.573,0,0,0,0,1,1,1,1]],[5,"point",130,[[4,-708,[299],300]],[5,102,76],[-180.645,-107.751,0,0,0,0,1,1,1,1]],[15,"content",130,[[12,"加固后就可以正常\n通过了",60,false,1,1,-709,[301],302]],[4,4278190080],[5,320,135.6]],[5,"point",131,[[4,-710,[317],318]],[5,102,76],[-86.079,-178.677,0,0,0,0,1,1,1,1]],[14,"content",131,[[12,"使用大禹的宝物\"息壤\",堤坝便会\n自动向选的的方向自动生长,除非\n下一个是山峰或边界,息壤还会把\n经过的湿地变成平原,无需加固\n",60,false,1,1,-711,[319],320]],[4,4278190080],[5,600,315.6],[0,-27.851,0,0,0,0,1,1,1,1]],[5,"point",132,[[4,-712,[337],338]],[5,102,76],[-87.48,-122.62,0,0,0,0,1,1,1,1]],[14,"content",132,[[12,"使用息壤后,选中方向\n息壤即可生效",60,false,1,1,-713,[339],340]],[4,4278190080],[5,400,135.6],[0,-2.625,0,0,0,0,1,1,1,1]],[5,"point",133,[[4,-714,[353],354]],[5,102,76],[-75.229,-126.233,0,0,0,0,1,1,1,1]],[14,"content",133,[[12,"息壤遇到入海口时也会自动停下\n快试试吧",60,false,1,1,-715,[355],356]],[4,4278190080],[5,560,135.6],[0,-6.151,0,0,0,0,1,1,1,1]],[5,"point",134,[[4,-716,[371],372]],[5,102,76],[-159.764,-95.656,0,0,0,0,1,1,1,1]],[14,"content",134,[[12,"使用息壤后,向下引入入海口",60,false,1,1,-717,[373],374]],[4,4278190080],[5,520,75.6],[0,2.842,0,0,0,0,1,1,1,1]],[5,"point",135,[[4,-718,[383],384]],[5,102,76],[150.517,-95.656,0,0,0,0,1,-1,1,1]],[14,"content",135,[[12,"开始修建堤坝来引导\n洪水吧",60,false,1,1,-719,[385],386]],[4,4278190080],[5,360,135.6],[0,-2.302,0,0,0,0,1,1,1,1]],[37,"win",false,21,[[4,-720,[391],392]],[5,742,222],[0,101.865,0,0,0,0,1,1,1,1]],[37,"lose",false,21,[[4,-721,[393],394]],[5,696,193],[0,101.865,0,0,0,0,1,1,1,1]],[37,"finishi",false,21,[[4,-722,[395],396]],[5,562,177],[0,101.865,0,0,0,0,1,1,1,1]]],0,[0,0,1,0,12,137,0,0,1,0,-1,162,0,-2,163,0,-3,92,0,-4,93,0,-5,94,0,-6,95,0,-7,164,0,-8,137,0,-9,138,0,-10,140,0,-11,142,0,-12,144,0,-13,146,0,-14,165,0,-15,166,0,-16,167,0,-17,168,0,-18,169,0,0,2,0,-1,17,0,-2,18,0,-3,19,0,-4,12,0,-5,6,0,-6,7,0,-7,13,0,-8,8,0,-9,9,0,-10,14,0,-11,4,0,-12,10,0,-13,15,0,-14,11,0,-15,20,0,-16,16,0,-17,22,0,13,179,0,14,176,0,12,91,0,0,3,0,0,3,0,-1,161,0,-2,91,0,-4,5,0,4,3,0,-6,96,0,-7,150,0,-9,21,0,0,4,0,-1,123,0,-2,124,0,-3,125,0,-4,126,0,-5,127,0,-6,128,0,-7,129,0,-8,55,0,-9,56,0,-10,212,0,0,5,0,-1,170,0,-2,171,0,-3,172,0,-4,173,0,-5,174,0,-6,175,0,-7,177,0,-8,178,0,-9,180,0,0,6,0,-1,32,0,-2,33,0,-3,34,0,-4,35,0,-5,36,0,-6,37,0,-7,38,0,-8,103,0,0,7,0,-1,39,0,-2,40,0,-3,41,0,-4,42,0,-5,43,0,-6,44,0,-7,45,0,-8,104,0,0,8,0,-1,110,0,-2,111,0,-3,112,0,-4,113,0,-5,114,0,-6,115,0,-7,47,0,-8,204,0,0,9,0,-1,116,0,-2,117,0,-3,118,0,-4,119,0,-5,120,0,-6,121,0,-7,48,0,-8,207,0,0,10,0,-1,57,0,-2,58,0,-3,59,0,-4,60,0,-5,61,0,-6,62,0,-7,63,0,-8,130,0,0,11,0,-1,70,0,-2,71,0,-3,72,0,-4,73,0,-5,74,0,-6,75,0,-7,76,0,-8,132,0,0,12,0,-1,158,0,-2,99,0,-3,100,0,-4,101,0,-5,102,0,-6,31,0,-7,194,0,0,13,0,-1,105,0,-2,106,0,-3,107,0,-4,108,0,-5,109,0,-6,46,0,-7,201,0,0,14,0,-1,49,0,-2,50,0,-3,51,0,-4,52,0,-5,53,0,-6,54,0,-7,122,0,0,15,0,-1,64,0,-2,65,0,-3,66,0,-4,67,0,-5,68,0,-6,69,0,-7,131,0,0,16,0,-1,82,0,-2,83,0,-3,84,0,-4,85,0,-5,86,0,-6,87,0,-7,134,0,0,17,0,-1,152,0,-2,153,0,-3,24,0,-4,25,0,-5,26,0,-6,185,0,0,18,0,-1,154,0,-2,155,0,-3,27,0,-4,97,0,-5,28,0,-6,188,0,0,19,0,-1,156,0,-2,157,0,-3,29,0,-4,98,0,-5,30,0,-6,191,0,0,20,0,-1,77,0,-2,78,0,-3,79,0,-4,80,0,-5,81,0,-6,133,0,0,21,0,0,21,0,-1,136,0,-2,225,0,-3,226,0,-4,227,0,0,22,0,-1,88,0,-2,89,0,-3,90,0,-4,135,0,0,23,0,0,23,0,-1,160,0,0,24,0,0,24,0,0,24,0,0,24,0,0,25,0,-1,182,0,-2,183,0,-3,184,0,0,26,0,0,26,0,0,26,0,0,26,0,0,27,0,0,27,0,0,27,0,0,27,0,0,28,0,0,28,0,0,28,0,0,28,0,0,29,0,0,29,0,0,29,0,0,29,0,0,30,0,0,30,0,0,30,0,0,30,0,0,31,0,0,31,0,0,31,0,0,31,0,0,32,0,0,32,0,0,32,0,0,32,0,0,33,0,0,33,0,0,33,0,0,33,0,0,34,0,0,34,0,0,34,0,0,34,0,0,35,0,0,35,0,0,35,0,0,35,0,0,36,0,0,36,0,0,36,0,0,36,0,0,37,0,0,37,0,0,37,0,0,37,0,0,38,0,0,38,0,0,38,0,0,38,0,0,39,0,0,39,0,0,39,0,0,39,0,0,40,0,0,40,0,0,40,0,0,40,0,0,41,0,0,41,0,0,41,0,0,41,0,0,42,0,0,42,0,0,42,0,0,42,0,0,43,0,0,43,0,0,43,0,0,43,0,0,44,0,0,44,0,0,44,0,0,44,0,0,45,0,0,45,0,0,45,0,0,45,0,0,46,0,0,46,0,0,46,0,0,46,0,0,47,0,0,47,0,0,47,0,0,47,0,0,48,0,0,48,0,0,48,0,0,48,0,0,49,0,0,49,0,0,49,0,0,49,0,0,50,0,0,50,0,0,50,0,0,50,0,0,51,0,0,51,0,0,51,0,0,51,0,0,52,0,0,52,0,0,52,0,0,52,0,0,53,0,0,53,0,0,53,0,0,53,0,0,54,0,0,54,0,0,54,0,0,54,0,0,55,0,0,55,0,-1,210,0,-2,211,0,0,56,0,0,56,0,0,56,0,0,56,0,0,57,0,0,57,0,0,57,0,0,57,0,0,58,0,0,58,0,0,58,0,0,58,0,0,59,0,0,59,0,0,59,0,0,59,0,0,60,0,0,60,0,0,60,0,0,60,0,0,61,0,0,61,0,0,61,0,0,61,0,0,62,0,0,62,0,0,62,0,0,62,0,0,63,0,0,63,0,0,63,0,0,63,0,0,64,0,0,64,0,0,64,0,0,64,0,0,65,0,0,65,0,0,65,0,0,65,0,0,66,0,0,66,0,0,66,0,0,66,0,0,67,0,0,67,0,0,67,0,0,67,0,0,68,0,0,68,0,0,68,0,0,68,0,0,69,0,0,69,0,0,69,0,0,69,0,0,70,0,0,70,0,0,70,0,0,70,0,0,71,0,0,71,0,0,71,0,0,71,0,0,72,0,0,72,0,0,72,0,0,72,0,0,73,0,0,73,0,0,73,0,0,73,0,0,74,0,0,74,0,0,74,0,0,74,0,0,75,0,0,75,0,0,75,0,0,75,0,0,76,0,0,76,0,0,76,0,0,76,0,0,77,0,0,77,0,0,77,0,0,77,0,0,78,0,0,78,0,0,78,0,0,78,0,0,79,0,0,79,0,0,79,0,0,79,0,0,80,0,0,80,0,0,80,0,0,80,0,0,81,0,0,81,0,0,81,0,0,81,0,0,82,0,0,82,0,0,82,0,0,82,0,0,83,0,0,83,0,0,83,0,0,83,0,0,84,0,0,84,0,0,84,0,0,84,0,0,85,0,0,85,0,0,85,0,0,85,0,0,86,0,0,86,0,0,86,0,0,86,0,0,87,0,0,87,0,0,87,0,0,87,0,0,88,0,0,88,0,0,88,0,0,88,0,0,89,0,0,89,0,0,89,0,0,89,0,0,90,0,0,90,0,0,90,0,0,90,0,0,91,0,0,91,0,0,92,0,3,92,0,0,92,0,0,93,0,3,93,0,0,93,0,0,94,0,3,94,0,0,94,0,0,95,0,3,95,0,0,95,0,0,96,0,-1,148,0,-2,149,0,0,97,0,-1,186,0,-2,187,0,0,98,0,-1,189,0,-2,190,0,0,99,0,0,99,0,0,99,0,0,100,0,0,100,0,0,100,0,0,101,0,0,101,0,0,101,0,0,102,0,-1,192,0,-2,193,0,0,103,0,-1,195,0,-2,196,0,0,104,0,-1,197,0,-2,198,0,0,105,0,0,105,0,0,105,0,0,106,0,0,106,0,0,106,0,0,107,0,0,107,0,0,107,0,0,108,0,0,108,0,0,108,0,0,109,0,-1,199,0,-2,200,0,0,110,0,0,110,0,0,110,0,0,111,0,0,111,0,0,111,0,0,112,0,0,112,0,0,112,0,0,113,0,0,113,0,0,113,0,0,114,0,0,114,0,0,114,0,0,115,0,-1,202,0,-2,203,0,0,116,0,0,116,0,0,116,0,0,117,0,0,117,0,0,117,0,0,118,0,0,118,0,0,118,0,0,119,0,0,119,0,0,119,0,0,120,0,0,120,0,0,120,0,0,121,0,-1,205,0,-2,206,0,0,122,0,-1,208,0,-2,209,0,0,123,0,0,123,0,0,123,0,0,124,0,0,124,0,0,124,0,0,125,0,0,125,0,0,125,0,0,126,0,0,126,0,0,126,0,0,127,0,0,127,0,0,127,0,0,128,0,0,128,0,0,128,0,0,129,0,0,129,0,0,129,0,0,130,0,-1,213,0,-2,214,0,0,131,0,-1,215,0,-2,216,0,0,132,0,-1,217,0,-2,218,0,0,133,0,-1,219,0,-2,220,0,0,134,0,-1,221,0,-2,222,0,0,135,0,-1,223,0,-2,224,0,0,136,0,0,136,0,0,136,0,0,137,0,3,139,0,0,138,0,-1,139,0,0,139,0,3,141,0,0,140,0,-1,141,0,0,141,0,3,143,0,0,142,0,-1,143,0,0,143,0,3,145,0,0,144,0,-1,145,0,0,145,0,3,147,0,0,146,0,-1,147,0,0,147,0,0,148,0,0,148,0,0,149,0,0,149,0,-1,151,0,-2,181,0,0,151,0,0,151,0,0,152,0,0,152,0,0,153,0,0,153,0,0,154,0,0,154,0,0,155,0,0,155,0,0,156,0,0,156,0,0,157,0,0,157,0,0,158,0,0,158,0,0,160,0,0,161,0,0,162,0,0,163,0,0,164,0,0,165,0,0,166,0,0,167,0,0,168,0,0,169,0,0,170,0,0,171,0,0,172,0,0,173,0,0,174,0,-1,176,0,0,177,0,-1,179,0,0,180,0,0,181,0,0,182,0,0,183,0,0,184,0,0,185,0,0,186,0,0,187,0,0,188,0,0,189,0,0,190,0,0,191,0,0,192,0,0,193,0,0,194,0,0,195,0,0,196,0,0,197,0,0,198,0,0,199,0,0,200,0,0,201,0,0,202,0,0,203,0,0,204,0,0,205,0,0,206,0,0,207,0,0,208,0,0,209,0,0,210,0,0,211,0,0,212,0,0,213,0,0,214,0,0,215,0,0,216,0,0,217,0,0,218,0,0,219,0,0,220,0,0,221,0,0,222,0,0,223,0,0,224,0,0,225,0,0,226,0,0,227,0,15,159,1,4,3,2,4,3,3,4,23,23,4,159,722],[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,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,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,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,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,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,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,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,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,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,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,176,179],[-1,1,-1,1,-1,1,-1,1,-1,1,-1,1,-1,1,-1,1,-1,1,-1,1,6,7,8,9,-1,1,6,7,8,9,-1,1,6,7,8,9,-1,1,6,7,8,9,-1,1,6,7,8,9,-1,2,-1,2,-1,2,-1,2,-1,2,16,17,18,-1,1,-1,1,-1,1,-1,1,-1,2,-1,-1,2,-1,-1,2,-1,1,-1,1,-1,1,-1,1,-1,1,-1,1,-1,1,-1,1,-1,2,-1,2,-1,1,-1,1,-1,-1,1,-1,1,-1,1,-1,1,-1,2,-1,1,-1,1,-1,-1,1,-1,1,-1,1,-1,1,-1,2,-1,1,-1,1,-1,-1,1,-1,1,-1,1,-1,1,-1,1,-1,2,-1,1,-1,1,-1,-1,1,-1,1,-1,1,-1,1,-1,1,-1,1,-1,1,-1,1,-1,2,-1,1,-1,1,-1,1,-1,1,-1,1,-1,1,-1,1,-1,1,-1,1,-1,2,-1,1,-1,1,-1,1,-1,1,-1,1,-1,1,-1,2,-1,1,-1,1,-1,-1,1,-1,1,-1,1,-1,1,-1,1,-1,1,-1,2,-1,1,-1,1,-1,-1,1,-1,1,-1,1,-1,1,-1,1,-1,1,-1,2,-1,1,-1,1,-1,-1,1,-1,1,-1,1,-1,1,-1,1,-1,1,-1,1,-1,2,-1,1,-1,1,-1,1,-1,1,-1,1,-1,1,-1,1,-1,1,-1,1,-1,2,-1,1,-1,1,-1,-1,1,-1,1,-1,1,-1,1,-1,1,-1,1,-1,1,-1,1,-1,2,-1,1,-1,1,-1,1,-1,1,-1,1,-1,1,-1,1,-1,1,-1,2,-1,1,-1,1,-1,1,-1,1,-1,1,-1,1,-1,1,-1,1,-1,1,-1,2,-1,1,-1,1,-1,1,-1,1,-1,1,-1,1,-1,1,-1,2,-1,1,-1,1,-1,1,-1,1,-1,1,-1,1,-1,1,-1,1,-1,2,-1,1,-1,1,-1,1,-1,1,-1,1,-1,2,-1,1,-1,1,-1,1,-1,1,-1,1,19,2,2],[0,21,0,22,0,23,0,24,0,25,0,26,0,27,0,28,0,1,0,29,5,6,5,7,0,9,9,6,5,7,0,30,5,6,5,7,0,8,8,6,5,7,0,31,8,6,5,7,0,2,0,2,0,2,0,2,0,2,32,33,34,0,35,0,36,0,37,0,38,0,2,0,0,2,0,0,2,0,10,0,10,0,1,0,11,0,1,0,1,0,1,0,3,0,2,0,2,0,4,0,1,0,0,1,0,1,0,1,0,3,0,2,0,4,0,1,0,0,1,0,1,0,1,0,3,0,2,0,4,0,1,0,0,1,0,1,0,1,0,1,0,3,0,2,0,4,0,1,0,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,3,0,2,0,4,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,3,0,2,0,4,0,1,0,1,0,1,0,1,0,3,0,2,0,4,0,1,0,0,1,0,1,0,1,0,1,0,1,0,3,0,2,0,4,0,1,0,0,1,0,1,0,1,0,1,0,1,0,3,0,2,0,4,0,1,0,0,1,0,1,0,1,0,1,0,1,0,1,0,3,0,2,0,4,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,3,0,2,0,4,0,1,0,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,3,0,2,0,4,0,1,0,1,0,1,0,1,0,1,0,1,0,3,0,2,0,4,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,3,0,2,0,4,0,1,0,1,0,1,0,1,0,1,0,3,0,2,0,4,0,1,0,1,0,1,0,1,0,1,0,1,0,3,0,2,0,4,0,1,0,1,0,1,0,3,0,2,0,4,0,1,0,39,0,40,0,11,41,2,2]],[[[29,"reinforce"],[35,"reinforce",[[4,-2,[0],1]],[30,-1,0],[5,46,46],[0,0,0,0,0,0,1,1,1,0]]],0,[0,10,1,0,0,1,0,11,1,2],[0,0],[-1,1],[0,42]],[[[29,"soil"],[35,"soil",[[4,-2,[0],1]],[30,-1,0],[5,46,46],[0,0,0,0,0,0,1,1,1,0]]],0,[0,10,1,0,0,1,0,11,1,2],[0,0],[-1,1],[0,43]],[[{"name":"default_sprite_splash","rect":[0,0,2,2],"offset":[0,0],"originalSize":[2,2],"capInsets":[0,0,0,0]}],[4],0,[0],[5],[44]],[[{"name":"block","rect":[0,0,96,96],"offset":[0,0],"originalSize":[96,96],"capInsets":[0,0,0,0]}],[4],0,[0],[5],[45]],[[[29,"Block"],[38,"Block",[-4,-5,-6,-7,-8,-9,-10,-11,-12,-13,-14,-15,-16,-17,-18,-19],[[0,0,-2,[51],52],[85,-3,53]],[30,-1,0],[5,96,96]],[38,"wave",[-21,-22,-23],[[42,-20,[20]]],[7,"0cYASDpipJSLMjXqt7x67T",1,0],[5,96,96]],[38,"wave",[-25,-26,-27],[[42,-24,[34]]],[7,"88lwocuPBOz4+Ox3FYCDNN",1,0],[5,96,96]],[56,"sp",1,[-29,-30,-31],[[39,-28,[44]]],[7,"96hwYYVvZIeJFUaZYzJVKS",1,0]],[44,"vertical",false,1,[2],[[40,3,1,-32,[21],22]],[7,"1cW1eKjG1IzrE0Me3F5dzp",1,0],[5,96,96]],[44,"turn",false,1,[-34],[[27,3,2,0.25,-33,[26],27]],[7,"0en916QFNENrq/dQ8DeOiU",1,0],[5,96,96]],[57,"wave",6,[-36],[[42,-35,[25]]],[7,"b4SpNjxy5Ex6kG6+frg46R",1,0],[5,96,96]],[58,"horizontal",false,1,[3],[[40,3,1,-37,[35],36]],[7,"35xKcSVUZLopFFdXxCEm5O",1,0],[5,96,96],[0,0,0,0,0,0.7071067811865475,0.7071067811865476,1,1,1],[1,0,0,90]],[19,"turnStart",false,1,[[27,3,2,0.25,-38,[0],1]],[7,"91pygXpylIc6WIV3bc0sSU",1,0],[5,96,96]],[19,"waterStart",false,1,[[27,3,2,0.25,-39,[2],3]],[7,"561W77CSNGgo1dunNDNXCV",1,0],[5,96,96]],[59,"bg",1,[[39,-40,[4]]],[7,"f0HOqitqhA5L0HdoWHNWLD",1,0],[5,96,96]],[60,"Reinforce",false,0,1,[[67,3,0,1,1,-41,[5],6]],[7,"ealb3tvB5Ah4BpqMMGDc8e",1,0],[5,96,96]],[61,"Xi_Soil",false,0,1,[[68,0,-42,[7]]],[7,"c1rnBrwplFLLvmPviKv2Ng",1,0],[4,4278255615],[5,100,100]],[19,"vertical2",false,1,[[27,3,1,1,-43,[8],9]],[7,"59m0Fk9O9EjJ2NMsw4izxI",1,0],[5,96,96]],[19,"turn2",false,1,[[27,3,2,0.25,-44,[10],11]],[7,"d5D4goRj5NHYJ9Ls2YiLkA",1,0],[5,96,96]],[19,"horizontal2",false,1,[[40,3,1,-45,[12],13]],[7,"01QtN2Wm5KnJ0u3PlL426T",1,0],[5,96,96]],[23,"water1",2,[[4,-46,[14],15]],[7,"3atxfFT/lFmoEESIaENWyu",1,0],[5,8,128],[-10.489,-120,0,0,0,0,1,1,1,1]],[23,"water2",2,[[4,-47,[16],17]],[7,"d2RG+tOc9Hnb3S1yq4VwF7",1,0],[5,8,118],[3.012,-120,0,0,0,0,1,1,1,1]],[23,"water3",2,[[4,-48,[18],19]],[7,"95QDseWl5JJLHpB27vuHEm",1,0],[5,24,138],[12.416,-120,0,0,0,0,1,1,1,1]],[62,"water",7,[[4,-49,[23],24]],[7,"d5esRVVMdDD6BhyBqsGFcI",1,0],[5,179,179],[-48,-48,0,0,0,0.17364817766693033,0.984807753012208,1,1,1],[1,0,0,20]],[23,"water1",3,[[4,-50,[28],29]],[7,"4fbsAmb2xL9Z5ru7uF0kbu",1,0],[5,8,128],[-10.489,-120,0,0,0,0,1,1,1,1]],[23,"water2",3,[[4,-51,[30],31]],[7,"a1XbxIz/pDM5yEnPY4GVrB",1,0],[5,8,118],[3.012,-120,0,0,0,0,1,1,1,1]],[23,"water3",3,[[4,-52,[32],33]],[7,"3aiOLofOhI6LU6NH1etq12",1,0],[5,24,138],[12.416,-120,0,0,0,0,1,1,1,1]],[19,"tip",false,1,[[4,-53,[37],38]],[7,"b2Xfw7RPZMhrj9rvQnCwPq",1,0],[5,96,96]],[45,"start",false,4,[[4,-54,[39],40]],[7,"b9arqz+uVOoLBKt3S+yI2K",1,0],[5,96,36],[0,-72,0,0,0,0,1,1,1,1]],[45,"end",false,4,[[4,-55,[41],42]],[7,"7e0oRK9FRIQo7GCUOlzQGX",1,0],[5,96,36],[0,-72,0,0,0,0,1,1,1,1]],[63,"bg",4,[[39,-56,[43]]],[7,"84LEMr+CxNAYuAy0aJ2ERx",1,0]],[19,"tipWin",false,1,[[4,-57,[45],46]],[7,"15EUeQXjhK4bdrggtx0Sa9",1,0],[5,96,96]],[19,"tipLose",false,1,[[4,-58,[47],48]],[7,"78nuMNK0FERLGID3pg8G25",1,0],[5,96,96]],[64,"End",0,1,[[0,0,-59,[49],50]],[7,"7fDhDY4o1GZ5hR6AtMMfnm",1,0],[5,100,100]]],0,[0,10,1,0,0,1,0,0,1,0,-1,9,0,-2,10,0,-3,11,0,-4,12,0,-5,13,0,-6,14,0,-7,15,0,-8,16,0,-9,5,0,-10,6,0,-11,8,0,-12,24,0,-13,4,0,-14,28,0,-15,29,0,-16,30,0,0,2,0,-1,17,0,-2,18,0,-3,19,0,0,3,0,-1,21,0,-2,22,0,-3,23,0,0,4,0,-1,25,0,-2,26,0,-3,27,0,0,5,0,0,6,0,-1,7,0,0,7,0,-1,20,0,0,8,0,0,9,0,0,10,0,0,11,0,0,12,0,0,13,0,0,14,0,0,15,0,0,16,0,0,17,0,0,18,0,0,19,0,0,20,0,0,21,0,0,22,0,0,23,0,0,24,0,0,25,0,0,26,0,0,27,0,0,28,0,0,29,0,0,30,0,11,1,2,4,5,3,4,8,59],[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,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0],[-1,1,-1,1,-1,-1,1,-1,-1,1,-1,1,-1,1,-1,1,-1,1,-1,1,-1,-1,1,-1,1,-1,-1,1,-1,1,-1,1,-1,1,-1,-1,1,-1,1,-1,1,-1,1,-1,-1,-1,1,-1,1,-1,1,-1,1,20],[0,12,0,13,0,0,46,0,0,14,0,12,0,14,0,15,0,16,0,17,0,0,18,0,47,0,0,13,0,15,0,16,0,17,0,0,18,0,48,0,49,0,50,0,0,0,51,0,52,0,53,0,54,55]],[[{"name":"default_btn_pressed","rect":[0,0,40,40],"offset":[0,0],"originalSize":[40,40],"capInsets":[12,12,12,12]}],[4],0,[0],[5],[56]],[[{"name":"default_btn_normal","rect":[0,0,40,40],"offset":[0,0],"originalSize":[40,40],"capInsets":[12,12,12,12]}],[4],0,[0],[5],[57]]]] \ No newline at end of file diff --git a/build/WaterControl/assets/main/import/0f/0f2adc401.653a1.json b/build/WaterControl/assets/main/import/0f/0f2adc401.653a1.json deleted file mode 100644 index 9403346..0000000 --- a/build/WaterControl/assets/main/import/0f/0f2adc401.653a1.json +++ /dev/null @@ -1 +0,0 @@ -[1,["ecpdLyjvZBwrvm+cedCcQy","950i/nfQFMA706M0J42z2S","75rGnU/uhK8bMsTI+rC297","a2MjXRFdtLlYQ5ouAFv/+R","09bYkL1mtAM5O2O8+V7qHc","9fAapsHpVHi71EfwJl8ns5","ed15lxBRBEnpnPnF2neaVF","caMzEruwxDTbLoqA7DEd3/","8d6VAk+VtOSYLmKMYTu7Gp","a39q6sihlPfb0M5TnFO2VM","d1VSe4M39DrLKWwnZb3BZL","67jm/DIIFDxIZZJwIYExU4","93rh8qRmZNwqSgRWn/HV4y","f2XLSzyLBDmY65+MMcVh/R","02delMVqdBD70a/HSD99FK"],["node","_spriteFrame","_N$file","_N$target","five","four","three","two","one","selfNode","time","count","scene","_parent","_textureSetter"],[["cc.Node",["_name","_opacity","_id","_active","_contentSize","_parent","_components","_trs","_children","_color"],-1,5,1,9,7,2,5],["cc.Label",["_fontSize","_lineHeight","_string","_N$verticalAlign","_N$horizontalAlign","_isSystemFontUsed","node","_materials","_N$file"],-3,1,3,6],["cc.Sprite",["_sizeMode","node","_materials","_spriteFrame"],2,1,3,6],["cc.Node",["_name","_parent","_components","_color","_contentSize","_trs","_anchorPoint"],2,1,2,5,5,7,5],["cc.Widget",["_alignFlags","_originalWidth","_originalHeight","node"],0,1],"cc.SpriteFrame",["cc.SceneAsset",["_name","asyncLoadAssets"],1],["cc.Canvas",["_fitWidth","_fitHeight","node","_designResolution"],1,1,5],["805c6nf399HWZeuWnNB9CTH",["node","count","time","selfNode","one","two","three","four","five"],3,1,1,1,1,1,1,1,1,1],["cc.Button",["zoomScale","_N$transition","node","clickEvents","_N$target"],1,1,9,1],["cc.ClickEvent",["_componentId","handler","target"],1,1],["cc.Mask",["_type","_segments","_N$alphaThreshold","node","_materials"],0,1,3],["cc.Scene",["_name","_active","autoReleaseAssets","_children","_anchorPoint","_trs"],0,2,5,7],["cc.Camera",["_clearFlags","_depth","node"],1,1]],[[0,0,5,6,9,4,7,2],[0,0,5,6,4,7,2],[1,0,1,4,3,6,7,5],[2,0,1,2,2],[0,0,5,6,4,2],[2,1,2,3,1],[0,0,5,8,7,2],[0,0,5,8,6,4,7,2],[11,0,1,2,3,4,4],[2,0,1,2,3,2],[0,0,3,5,6,4,3],[2,1,2,1],[9,0,1,2,3,4,3],[10,0,1,2,3],[1,2,0,1,4,3,6,7,6],[1,2,0,1,6,7,4],[6,0,1,3],[0,0,2,8,6,4,7,3],[0,0,5,8,6,4,2],[0,0,1,5,8,4,7,3],[0,0,1,5,6,9,4,3],[3,0,1,2,3,4,5,2],[3,0,1,2,3,4,6,5,2],[7,0,1,2,3,3],[4,0,3,2],[4,0,1,2,3,4],[8,0,1,2,3,4,5,6,7,8,1],[12,0,1,2,3,4,5,4],[13,0,1,2,3],[1,2,0,1,5,4,3,6,7,8,7],[1,2,0,1,5,4,3,6,7,7],[1,2,0,1,5,3,6,7,6]],[[[[16,"OverScene",null],[17,"Canvas","a5esZu+45LA5mBpvttspPD",[-12,-13,-14,-15,-16,-17,-18,-19,-20,-21,-22,-23,-24,-25,-26],[[23,true,false,-1,[5,750,1334]],[24,45,-2],[26,-11,-10,-9,-8,-7,-6,-5,-4,-3]],[5,750,1334],[375,667,0,0,0,0,1,1,1,1]],[6,"self",1,[-27,-28,-29,-30,-31,-32],[-284.416,-149.727,0,0,0,0,1,1,1,1]],[6,"four",1,[-33,-34,-35,-36,-37],[210,-149.727,0,0,0,0,1,1,1,1]],[6,"five",1,[-38,-39,-40,-41,-42],[320,-149.727,0,0,0,0,1,1,1,1]],[18,"alertBg",1,[-44,-45,-46,-47],[[5,-43,[12],13]],[5,746,1123]],[6,"one",1,[-48,-49,-50,-51],[-120,-149.727,0,0,0,0,1,1,1,1]],[6,"two",1,[-52,-53,-54,-55],[-10,-149.727,0,0,0,0,1,1,1,1]],[6,"three",1,[-56,-57,-58,-59],[100,-149.727,0,0,0,0,1,1,1,1]],[1,"again",1,[[5,-60,[14],15],[12,1.1,3,-62,[[13,"805c6nf399HWZeuWnNB9CTH","again",1]],-61]],[5,269,74],[170,-402.162,0,0,0,0,1,1,1,0]],[1,"back",1,[[5,-63,[16],17],[12,1.1,3,-65,[[13,"805c6nf399HWZeuWnNB9CTH","openRank",1]],-64]],[5,269,74],[-170,-402.162,0,0,0,0,1,1,1,0]],[19,"rank",0,2,[-66,-67,-68],[5,40,36],[-261.233,62,0,0,0,0,1,1,1,1]],[20,"New Sprite(Splash)",150,1,[[9,0,-69,[2],3],[25,45,100,100,-70]],[4,4278190080],[5,750,1334]],[7,"pic",2,[-72],[[8,1,60,0,-71,[23]]],[5,64,64],[-15.492,0,0,0,0,0,1,1,1,1]],[7,"pic",6,[-74],[[8,1,60,0,-73,[32]]],[5,64,64],[-15.492,0,0,0,0,0,1,1,1,1]],[7,"pic",7,[-76],[[8,1,60,0,-75,[38]]],[5,64,64],[-15.492,0,0,0,0,0,1,1,1,1]],[7,"pic",8,[-78],[[8,1,60,0,-77,[44]]],[5,64,64],[-15.492,0,0,0,0,0,1,1,1,1]],[7,"pic",3,[-80],[[8,1,60,0,-79,[50]]],[5,64,64],[-15.492,0,0,0,0,0,1,1,1,1]],[7,"pic",4,[-82],[[8,1,60,0,-81,[56]]],[5,64,64],[-15.492,0,0,0,0,0,1,1,1,1]],[27,"New Node",false,true,[1],[0,0,0],[0,0,0,0,0,0,1,1,1,1]],[4,"Main Camera",1,[[28,7,-1,-83]],[5,960,640]],[4,"bg",1,[[5,-84,[0],1]],[5,750,1660]],[1,"New Sprite",5,[[5,-85,[4],5]],[5,562,177],[0,351.477,0,0,0,0,1,1,1,1]],[1,"New Sprite",5,[[5,-86,[6],7]],[5,332,28],[0,152.837,0,0,0,0,1,1,1,1]],[0,"time",5,[[29,"准确率",30,30,false,1,1,-87,[8],9]],[4,4283538379],[5,90,37.8],[-52.995,201.692,0,0,0,0,1,1,1,1]],[1,"New Sprite",5,[[5,-88,[10],11]],[5,156,156],[-4,46.407,0,0,0,0,1,1,1,1]],[21,"count",1,[-89],[4,4283594400],[5,52.63,108.36],[-4.006,48.952,0,0,0,0,1,1,1,1]],[30,"0",86,86,false,1,1,26,[18]],[22,"time",1,[-90],[4,4283538379],[5,51.2,40.32],[0,0,0.5],[8.597,200.854,0,0,0,0,1,1,1,1]],[31,"0%",32,32,false,1,28,[19]],[1,"New Node",1,[[5,-91,[20],21]],[5,6,134],[-227.685,-154.877,0,0,0,0,1,1,1,1]],[4,"icon",13,[[3,0,-92,[22]]],[5,64,64]],[1,"rankBg",2,[[3,0,-93,[24]]],[5,48,48],[-50,22.554,0,0,0,0,1,1,1,1]],[0,"totalLab",2,[[2,25,25,1,1,-94,[25]]],[4,4283594400],[5,0,31.5],[-15.492,57.175,0,0,0,0,1,1,1,1]],[0,"nameLab",2,[[14,"我",21,21,1,1,-95,[26]]],[4,4282467672],[5,21,26.46],[-15.492,-59.683,0,0,0,0,1,1,1,1]],[0,"rankLab",2,[[14,"99+",20,20,1,1,-96,[27]]],[4,4278190080],[5,33.93,25.2],[-49.908,22.457,0,0,0,0,1,1,1,1]],[10,"one",false,11,[[11,-97,[28]]],[5,66,66]],[10,"two",false,11,[[11,-98,[29]]],[5,66,66]],[10,"three",false,11,[[11,-99,[30]]],[5,66,66]],[4,"icon",14,[[3,0,-100,[31]]],[5,64,64]],[1,"rankBg",6,[[9,0,-101,[33],34]],[5,48,48],[-50,22.554,0,0,0,0,1,1,1,1]],[0,"total",6,[[2,25,25,1,1,-102,[35]]],[4,4283594400],[5,0,31.5],[-15.492,57.175,0,0,0,0,1,1,1,1]],[0,"name",6,[[2,21,21,1,1,-103,[36]]],[4,4282467672],[5,0,26.46],[-15.492,-59.683,0,0,0,0,1,1,1,1]],[4,"icon",15,[[3,0,-104,[37]]],[5,64,64]],[1,"rankBg",7,[[9,0,-105,[39],40]],[5,48,48],[-50,22.554,0,0,0,0,1,1,1,1]],[0,"total",7,[[2,25,25,1,1,-106,[41]]],[4,4283594400],[5,0,31.5],[-15.492,57.175,0,0,0,0,1,1,1,1]],[0,"name",7,[[2,21,21,1,1,-107,[42]]],[4,4282467672],[5,0,26.46],[-15.492,-59.683,0,0,0,0,1,1,1,1]],[4,"icon",16,[[3,0,-108,[43]]],[5,64,64]],[1,"rankBg",8,[[9,0,-109,[45],46]],[5,48,48],[-50,22.554,0,0,0,0,1,1,1,1]],[0,"total",8,[[2,25,25,1,1,-110,[47]]],[4,4283594400],[5,0,31.5],[-15.492,57.175,0,0,0,0,1,1,1,1]],[0,"name",8,[[2,21,21,1,1,-111,[48]]],[4,4282467672],[5,0,26.46],[-15.492,-59.683,0,0,0,0,1,1,1,1]],[4,"icon",17,[[3,0,-112,[49]]],[5,64,64]],[1,"rankBg",3,[[3,0,-113,[51]]],[5,48,48],[-50,22.554,0,0,0,0,1,1,1,1]],[0,"total",3,[[2,25,25,1,1,-114,[52]]],[4,4283594400],[5,0,31.5],[-15.492,57.175,0,0,0,0,1,1,1,1]],[0,"name",3,[[2,21,21,1,1,-115,[53]]],[4,4282467672],[5,0,26.46],[-15.492,-59.683,0,0,0,0,1,1,1,1]],[0,"rank",3,[[15,"4",20,20,-116,[54]]],[4,4278190080],[5,11.12,25.2],[-49.996,19.305,0,0,0,0,1,1,1,1]],[4,"icon",18,[[3,0,-117,[55]]],[5,64,64]],[1,"rankBg",4,[[3,0,-118,[57]]],[5,48,48],[-50,22.554,0,0,0,0,1,1,1,1]],[0,"total",4,[[2,25,25,1,1,-119,[58]]],[4,4283594400],[5,0,31.5],[-15.492,57.175,0,0,0,0,1,1,1,1]],[0,"name",4,[[2,21,21,1,1,-120,[59]]],[4,4282467672],[5,0,26.46],[-15.492,-59.683,0,0,0,0,1,1,1,1]],[0,"rank",4,[[15,"5",20,20,-121,[60]]],[4,4278190080],[5,11.12,25.2],[-49.996,19.305,0,0,0,0,1,1,1,1]]],0,[0,0,1,0,0,1,0,4,4,0,5,3,0,6,8,0,7,7,0,8,6,0,9,2,0,10,29,0,11,27,0,0,1,0,-1,20,0,-2,21,0,-3,12,0,-4,5,0,-5,9,0,-6,10,0,-7,26,0,-8,28,0,-9,30,0,-10,2,0,-11,6,0,-12,7,0,-13,8,0,-14,3,0,-15,4,0,-1,13,0,-2,32,0,-3,33,0,-4,34,0,-5,35,0,-6,11,0,-1,17,0,-2,52,0,-3,53,0,-4,54,0,-5,55,0,-1,18,0,-2,57,0,-3,58,0,-4,59,0,-5,60,0,0,5,0,-1,22,0,-2,23,0,-3,24,0,-4,25,0,-1,14,0,-2,40,0,-3,41,0,-4,42,0,-1,15,0,-2,44,0,-3,45,0,-4,46,0,-1,16,0,-2,48,0,-3,49,0,-4,50,0,0,9,0,3,9,0,0,9,0,0,10,0,3,10,0,0,10,0,-1,36,0,-2,37,0,-3,38,0,0,12,0,0,12,0,0,13,0,-1,31,0,0,14,0,-1,39,0,0,15,0,-1,43,0,0,16,0,-1,47,0,0,17,0,-1,51,0,0,18,0,-1,56,0,0,20,0,0,21,0,0,22,0,0,23,0,0,24,0,0,25,0,-1,27,0,-1,29,0,0,30,0,0,31,0,0,32,0,0,33,0,0,34,0,0,35,0,0,36,0,0,37,0,0,38,0,0,39,0,0,40,0,0,41,0,0,42,0,0,43,0,0,44,0,0,45,0,0,46,0,0,47,0,0,48,0,0,49,0,0,50,0,0,51,0,0,52,0,0,53,0,0,54,0,0,55,0,0,56,0,0,57,0,0,58,0,0,59,0,0,60,0,12,19,1,13,19,121],[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,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,27,29],[-1,1,-1,1,-1,1,-1,1,-1,2,-1,1,-1,1,-1,1,-1,1,-1,-1,-1,1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,1,-1,-1,-1,-1,-1,1,-1,-1,-1,-1,-1,1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,2,2],[0,2,0,3,0,4,0,5,0,1,0,6,0,7,0,8,0,9,0,0,0,10,0,0,0,0,0,0,0,0,0,0,0,0,11,0,0,0,0,0,12,0,0,0,0,0,13,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1]],[[{"name":"default_sprite_splash","rect":[0,0,2,2],"offset":[0,0],"originalSize":[2,2],"capInsets":[0,0,0,0]}],[5],0,[0],[14],[14]]]] \ No newline at end of file diff --git a/build/WaterControl/assets/main/index.a3c5f.js b/build/WaterControl/assets/main/index.a3c5f.js deleted file mode 100644 index 13e600d..0000000 --- a/build/WaterControl/assets/main/index.a3c5f.js +++ /dev/null @@ -1 +0,0 @@ -window.__require=function t(e,i,n){function o(a,s){if(!i[a]){if(!e[a]){var c=a.split("/");if(c=c[c.length-1],!e[c]){var h="function"==typeof __require&&__require;if(!s&&h)return h(c,!0);if(r)return r(c,!0);throw new Error("Cannot find module '"+a+"'")}a=c}var p=i[a]={exports:{}};e[a][0].call(p.exports,function(t){return o(e[a][1][t]||t)},p,p.exports,t,e,i,n)}return i[a].exports}for(var r="function"==typeof __require&&__require,a=0;a=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] - + - + @@ -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 0000000..321db3a Binary files /dev/null and b/library/imports/af/af424dfb-ef89-4f3e-b330-84d64db660ff.png differ diff --git a/library/imports/b0/b0432040-dbde-438c-839c-ba2b5d18a3b5.js b/library/imports/b0/b0432040-dbde-438c-839c-ba2b5d18a3b5.js index 7cf0068..acb95d6 100644 --- a/library/imports/b0/b0432040-dbde-438c-839c-ba2b5d18a3b5.js +++ b/library/imports/b0/b0432040-dbde-438c-839c-ba2b5d18a3b5.js @@ -46,14 +46,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"); @@ -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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N0MsTUFBTSxHQUFHLElBQUksQ0FBQyxJQUFJLENBQUMsY0FBYyxDQUFDLFdBQVcsQ0FBQyxDQUFDO1FBQy9DLElBQUcsTUFBTSxDQUFDLElBQUksSUFBSSxVQUFVLEVBQUM7WUFDekIsSUFBSSxRQUFNLEdBQUcsTUFBTSxDQUFDLGNBQWMsQ0FBQyxNQUFNLENBQUMsQ0FBQyxjQUFjLENBQUMsUUFBUSxDQUFDLENBQUM7WUFDcEUsSUFBSSxRQUFNLEdBQUcsTUFBTSxDQUFDLGNBQWMsQ0FBQyxNQUFNLENBQUMsQ0FBQyxjQUFjLENBQUMsUUFBUSxDQUFDLENBQUM7WUFDcEUsSUFBSSxRQUFNLEdBQUcsTUFBTSxDQUFDLGNBQWMsQ0FBQyxNQUFNLENBQUMsQ0FBQyxjQUFjLENBQUMsUUFBUSxDQUFDLENBQUM7WUFDcEUsSUFBSSxTQUFTLEdBQUcsSUFBSSxDQUFDO1lBQ3JCLFFBQU0sQ0FBQyxTQUFTLENBQUMsRUFBRSxDQUFDLFFBQVEsQ0FBQyxFQUFFLENBQUMsTUFBTSxDQUFDLEdBQUcsRUFBQyxFQUFFLENBQUMsRUFBRSxDQUFDLFFBQU0sQ0FBQyxDQUFDLEVBQUMsR0FBRyxDQUFDLENBQUMsRUFBQyxFQUFFLENBQUMsU0FBUyxDQUFDLFNBQVMsQ0FBQyxFQUN2RixFQUFFLENBQUMsUUFBUSxDQUFDO2dCQUNSLFFBQU0sQ0FBQyxDQUFDLEdBQUcsQ0FBQyxHQUFHLENBQUE7WUFDbkIsQ0FBQyxDQUFDLENBQUMsQ0FBQyxhQUFhLEVBQUUsQ0FBQyxDQUFDO1lBQ3JCLFFBQU0sQ0FBQyxTQUFTLENBQUMsRUFBRSxDQUFDLFFBQVEsQ0FBQyxFQUFFLENBQUMsTUFBTSxDQUFDLEdBQUcsRUFBQyxFQUFFLENBQUMsRUFBRSxDQUFDLFFBQU0sQ0FBQyxDQUFDLEVBQUMsR0FBRyxDQUFDLENBQUMsRUFBQyxFQUFFLENBQUMsU0FBUyxDQUFDLFNBQVMsQ0FBQyxFQUN2RixFQUFFLENBQUMsUUFBUSxDQUFDO2dCQUNSLFFBQU0sQ0FBQyxDQUFDLEdBQUcsQ0FBQyxHQUFHLENBQUE7WUFDbkIsQ0FBQyxDQUFD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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= -//------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,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbImFzc2V0c1xcU2NyaXB0XFxDb250cm9sTWFuYWdlci50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7Ozs7Ozs7O0FBQUEsb0JBQW9CO0FBQ3BCLHdFQUF3RTtBQUN4RSxtQkFBbUI7QUFDbkIsa0ZBQWtGO0FBQ2xGLDhCQUE4QjtBQUM5QixrRkFBa0Y7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OztBQUU1RSxJQUFBLEtBQXNCLEVBQUUsQ0FBQyxVQUFVLEVBQWxDLE9BQU8sYUFBQSxFQUFFLFFBQVEsY0FBaUIsQ0FBQztBQUcxQztJQUFzQyw0QkFBWTtJQUFsRDtRQUFBLHFFQWdKQztRQTdJRyxTQUFHLEdBQVksSUFBSSxDQUFDO1FBRXBCLFNBQUcsR0FBYyxJQUFJLENBQUM7UUFFdEIsZUFBUyxHQUFjLElBQUksQ0FBQztRQUU1QixVQUFJLEdBQWMsSUFBSSxDQUFDOztRQXNJdkIsaUJBQWlCO0lBQ3JCLENBQUM7SUEvSEcsd0JBQXdCO0lBRXhCLGVBQWU7SUFFZix3QkFBSyxHQUFMO1FBQ0ksSUFBSSxDQUFDLFFBQVEsR0FBRyxFQUFFLENBQUM7UUFDbkIsSUFBSSxDQUFDLFlBQVksR0FBRyxFQUFFLENBQUM7UUFDdkIsSUFBSSxDQUFDLFFBQVEsR0FBRyxJQUFJLENBQUM7UUFDckIsSUFBSSxDQUFDLFNBQVMsR0FBRyxLQUFLLENBQUM7UUFDdkIsSUFBSSxDQUFDLElBQUksR0FBRyxLQUFLLENBQUM7SUFDdEIsQ0FBQztJQUVELDhCQUFXLEdBQVgsVUFBWSxHQUFHO1FBQ1gsR0FBRyxDQUFDLFdBQVcsQ0FBQyxFQUFFLEVBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQztRQUN4QixJQUFHLElBQUksQ0FBQyxRQUFRLENBQUMsTUFBTSxHQUFHLENBQUMsRUFBQztZQUN4QixJQUFJLE1BQU0sR0FBRyxJQUFJLENBQUMsUUFBUSxDQUFDLE1BQU0sR0FBQyxDQUFDLENBQUM7WUFDcEMsSUFBSSxJQUFJLEdBQUcsSUFBSSxDQUFDLElBQUksQ0FBQyxNQUFN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UUFBUSxDQUFDLEVBQUUsQ0FBQyxNQUFNLENBQUM7K0NBQ1E7SUFFNUI7UUFEQyxRQUFRLENBQUMsRUFBRSxDQUFDLE1BQU0sQ0FBQzswQ0FDRztJQVROLFFBQVE7UUFENUIsT0FBTztPQUNhLFFBQVEsQ0FnSjVCO0lBQUQsZUFBQztDQWhKRCxBQWdKQyxDQWhKcUMsRUFBRSxDQUFDLFNBQVMsR0FnSmpEO2tCQWhKb0IsUUFBUSIsImZpbGUiOiIiLCJzb3VyY2VSb290IjoiLyIsInNvdXJjZXNDb250ZW50IjpbIi8vIExlYXJuIFR5cGVTY3JpcHQ6XHJcbi8vICAtIGh0dHBzOi8vZG9jcy5jb2Nvcy5jb20vY3JlYXRvci9tYW51YWwvZW4vc2NyaXB0aW5nL3R5cGVzY3JpcHQuaHRtbFxyXG4vLyBMZWFybiBBdHRyaWJ1dGU6XHJcbi8vICAtIGh0dHBzOi8vZG9jcy5jb2Nvcy5jb20vY3JlYXRvci9tYW51YWwvZW4vc2NyaXB0aW5nL3JlZmVyZW5jZS9hdHRyaWJ1dGVzLmh0bWxcclxuLy8gTGVhcm4gbGlmZS1jeWNsZSBjYWxsYmFja3M6XHJcbi8vICAtIGh0dHBzOi8vZG9jcy5jb2Nvcy5jb20vY3JlYXRvci9tYW51YWwvZW4vc2NyaXB0aW5nL2xpZmUtY3ljbGUtY2FsbGJhY2tzLmh0bWxcclxuXHJcbmNvbnN0IHtjY2NsYXNzLCBwcm9wZXJ0eX0gPSBjYy5fZGVjb3JhdG9yO1xyXG5cclxuQGNjY2xhc3NcclxuZXhwb3J0IGRlZmF1bHQgY2xhc3MgTmV3Q2xhc3MgZXh0ZW5kcyBjYy5Db21wb25lbnQge1xyXG5cclxuICAgIEBwcm9wZXJ0eShjYy5Ob2RlKVxyXG4gICAgTWFwOiBjYy5Ob2RlID0gbnVsbDtcclxuICAgIEBwcm9wZXJ0eShjYy5QcmVmYWIpXHJcbiAgICB0aXA6IGNjLlByZWZhYiA9IG51bGw7XHJcbiAgICBAcHJvcGVydHkoY2MuUHJlZmFiKVxyXG4gICAgcmVpbmZvcmNlOiBjYy5QcmVmYWIgPSBudWxsO1xyXG4gICAgQHByb3BlcnR5KGNjLlByZWZhYilcclxuICAgIHNvaWw6IGNjLlByZWZhYiA9IG51bGw7XHJcbiAgICBcclxuXHJcbiAgICB0aXBBcnJheTphbnk7XHJcbiAgICBjb250cm9sQXJyYXk6YW55O1xyXG4gICAgY2FuVG91Y2g6Ym9vbGVhbjtcclxuICAgIFJlaW5mb3JjZTpib29sZWFuO1xyXG4gICAgU29pbDpib29sZWFuO1xyXG4gICAgLy8gTElGRS1DWUNMRSBDQUxMQkFDS1M6XHJcblxyXG4gICAgLy8gb25Mb2FkICgpIHt9XHJcblxyXG4gICAgc3RhcnQgKCkge1xyXG4gICAgICAgIHRoaXMudGlwQXJyYXkgPSBbXTtcclxuICAgICAgICB0aGlzLmNvbnRyb2xBcnJheSA9IFtdO1xyXG4gICAgICAgIHRoaXMuY2FuVG91Y2ggPSB0cnVlO1xyXG4gICAgICAgIHRoaXMuUmVpbmZvcmNlID0gZmFsc2U7XHJcbiAgICAgICAgdGhpcy5Tb2lsID0gZmFsc2U7XHJcbiAgICB9XHJcblxyXG4gICAgc2V0UG9zaXRpb24odGlwKXtcclxuICAgICAgICB0aXAuc2V0UG9zaXRpb24oMzAsLTM1KTtcclxuICAgICAgICBpZih0aGlzLnRpcEFycmF5Lmxlbmd0aCA+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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RyxPQUFPLENBQUM7Z0JBQ2YsSUFBSSxDQUFDLFFBQVEsR0FBRyxLQUFLLENBQUM7Z0JBQ3RCLElBQUksQ0FBQyxPQUFPLEdBQUcsSUFBSSxDQUFDO2dCQUNwQixNQUFNO1lBQ1YsS0FBSyxDQUFDO2dCQUNGLElBQUksR0FBRyxNQUFNLENBQUM7Z0JBQ2QsSUFBSSxDQUFDLFFBQVEsR0FBRyxLQUFLLENBQUM7Z0JBQ3RCLElBQUksQ0FBQyxPQUFPLEdBQUcsSUFBSSxDQUFDO2dCQUNwQixNQUFNO1lBQ1YsS0FBSyxDQUFDO2dCQUNGLElBQUksR0FBRyxNQUFNLENBQUM7Z0JBQ2QsSUFBSSxDQUFDLFFBQVEsR0FBRyxJQUFJLENBQUM7Z0JBQ3JCLElBQUksQ0FBQyxPQUFPLEdBQUcsS0FBSyxDQUFDO2dCQUNyQixNQUFNO1lBQ1YsS0FBSyxDQUFDO2dCQUNGLElBQUksR0FBRyxLQUFLLENBQUM7Z0JBQ2IsSUFBSSxDQUFDLFFBQVEsR0FBRyxJQUFJLENBQUM7Z0JBQ3JCLElBQUksQ0FBQyxPQUFPLEdBQUcsS0FBSyxDQUFDO2dCQUNyQixNQUFNO1lBQ1YsS0FBSyxDQUFDO2dCQUNGLElBQUksR0FBRyxPQUFPLENBQUM7Z0JBQ2YsSUFBSSxDQUFDLFFBQVEsR0FBRyxLQUFLLENBQUM7Z0JBQ3RCLElBQUksQ0FBQyxPQUFPLEdBQUcsSUFBSSxDQUFDO2dCQUNwQixNQUFNO1lBQ1YsS0FBSyxDQUFDO2dCQUNGLElBQUksR0FBRyxPQUFPLENBQUM7Z0JBQ2YsSUFBSSxDQUFDLFFBQVEsR0FBRyxLQUFLLENBQUM7Z0JBQ3RCLElBQUksQ0FBQyxPQUFPLEdBQUcsSUFBSSxDQUFDO2dCQUNwQixNQUFNO1lBQ1YsS0FBSyxDQUFDO2dCQUNGLElBQUksR0FBRyxNQUFNLENBQUM7Z0JBQ2QsSUFBSSxDQUFDLFFBQVEsR0FBRyxLQUFLLENBQUM7Z0JBQ3RCLElBQUksQ0FBQyxPQUFPLEdBQUcsSUFBSSxDQUFDO2dCQUNwQixNQUFNO1lBQ1YsS0FBSyxFQUFFO2dCQUNILElBQUksR0FBRyxLQUFLLENBQUM7Z0JBQ2IsSUFBSSxDQUFDLFFBQVEsR0FBRyxJQUFJLENBQUM7Z0JBQ3JCLElBQUksQ0FBQyxPQUFPLEdBQUcsS0FBSyxDQUFDO2dCQUNyQixNQUFNO1lBQ1YsS0FBSyxFQUFFO2dCQUNILElBQUksR0FBRyxRQUFRLENBQUM7Z0JBQ2hCLElBQUksQ0FBQyxRQUFRLEdBQUcsS0FBSyxDQUFDO2dCQUN0QixJQUFJLENBQUMsT0FBTyxHQUFHLElBQUksQ0FBQztnQkFDcEIsTUFBTTtZQUNWLEtBQUssRUFBRTtnQkFDSCxJQUFJLEdBQUcsUUFBUSxDQUFDO2dCQUNoQixJQUFJLENBQUMsUUFBUSxHQUFHLElBQUksQ0FBQztnQkFDckIsSUFBSSxDQUFDLE9BQU8sR0FBRyxLQUFLLENBQUM7Z0JBQ3JCLE1BQU07WUFDVixLQUFLLEVBQUU7Z0JBQ0gsSUFBSSxHQUFHLFVBQVUsQ0FBQztnQkFDbEIsSUFBSSxDQUFDLFFBQVEsR0FBRyxJQUFJLENBQUM7Z0JBQ3JCLElBQUksQ0FBQyxPQUFPLEdBQUcsS0FBSyxDQUFDO2dCQUNyQixNQUFNO1lBQ1YsS0FBSyxFQUFFO2dCQUNILElBQUksR0FBRyxVQUFVLENBQUM7Z0JBQ2xCLElBQUksQ0FBQyxRQUFRLEdBQUcsSUFBSSxDQUFDO2dCQUNyQixJQUFJLENBQUMsT0FBTyxHQUFHLEtBQUssQ0FBQztnQkFDckIsTUFBTTtZQUNWLEtBQUssRUFBRTtnQkFDSCxJQUFJLEdBQUcsVUFBVSxDQUFDO2dCQUNsQixJQUFJLENBQUMsUUFBUSxHQUFHLElBQUksQ0FBQztnQkFDckIsSUFBSSxDQUFDLE9BQU8sR0FBRyxLQUFLLENBQUM7Z0JBQ3JCLE1BQU07WUFDVixLQUFLLEVBQUU7Z0JBQ0gsSUFBSSxHQUFHLFNBQVMsQ0FBQztnQkFDakIsSUFBSSxDQUFDLFFBQVEsR0FBRyxJQUFJLENBQUM7Z0JBQ3JCLElBQUksQ0FBQyxPQUFPLEdBQUcsS0FBSyxDQUFDO2dCQUNyQixNQUFNO1lBQ1YsS0FBSyxFQUFFO2dCQUNILElBQUksR0FBRyxNQUFNLENBQUM7Z0JBQ2QsSUFBSSxDQUFDLFFBQVEsR0FBRyxJQUFJLENBQUM7Z0JBQ3JCLElBQUksQ0FBQyxPQUFPLEdBQUcsS0FBSyxDQUFDO2dCQUNyQixNQUFNO1NBQ2I7UUFFRCxPQUFPLElBQUksQ0FBQztJQUNoQixDQUFDO0lBQ0QsT0FBTztJQUNQLCtCQUFTLEdBQVQ7UUFDSSxTQUFTO1FBQ1QsT0FBTyxDQUFDLEdBQUcsQ0FBQyxJQUFJLENBQUMsSUFBSSxFQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsUUFBUSxDQUFDLE1BQU0sQ0FBQyxDQUFDO1FBQ2xELElBQUcsSUFBSSxDQUFDLElBQUksR0FBRyxDQUFDLElBQU0sSUFBSSxDQUFDLEtBQUssQ0FBQyxRQUFRLENBQUMsTUFBTSxFQUFDO1lBQzdDLEVBQUUsQ0FBQyxFQUFFLENBQUMsVUFBVSxDQUFDLE9BQU8sQ0FBQyxLQUFLLEdBQUcsS0FBSyxDQUFDO1lBQ3ZDLHNDQUFzQztZQUN0QyxJQUFJLE1BQUksR0FBRyxFQUFFLENBQUMsRUFBRSxDQUFDLFVBQVUsQ0FBQyxPQUFPLENBQUMsTUFBTSxHQUFHLFFBQVEsQ0FBQztZQUN0RCxFQUFFLENBQUMsRUFBRSxDQUFDLGNBQWMsQ0FBQyxVQUFVLENBQUMsTUFBSSxFQUFDLEVBQUUsQ0FBQyxFQUFFLENBQUMsVUFBVSxDQUFDLE9BQU8sQ0FBQyxLQUFLLENBQUMsQ0FBQztTQUN4RTtRQUNELElBQUcsSUFBSSxDQUFDLElBQUksR0FBRyxDQUFDO1lBQUUsSUFBSSxDQUFDLEtBQUssQ0FBQyxRQUFRLENBQUMsSUFBSSxDQUFDLElBQUksR0FBQyxDQUFDLENBQUMsQ0FBQyxNQUFNLEdBQUcsS0FBSyxDQUFDO1FBQ2xFLElBQUksQ0FBQyxJQUFJLElBQUksQ0FBQyxDQUFDO1FBQ2YsSUFBSSxJQUFJLEdBQUcsSUFBSSxDQUFDLFlBQVksRUFBRSxDQUFDO1FBRS9CLElBQUksTUFBTSxHQUFHLElBQUksQ0FBQyxLQUFLLENBQUMsY0FBYyxDQUFDLElBQUksQ0FBQyxDQUFDO1FBQzdDLE1BQU0sQ0FBQyxNQUFNLEdBQUcsSUFBSSxDQUFDO1FBQ3JCLElBQUksSUFBSSxHQUFHLEVBQUUsQ0FBQyxPQUFPLENBQUM7UUFFdEIsSUFBRyxJQUFJLENBQUMsTUFBTSxHQUFHLElBQUksRUFBQztZQUNsQixJQUFJLE1BQU0sR0FBRyxDQUFDLElBQUksQ0FBQyxNQUFNLEdBQUcsSUFBSSxDQUFDLEdBQUMsQ0FBQyxDQUFDO1lBQ3BDLE1BQU0sQ0FBQyxjQUFjLENBQUMsSUFBSSxDQUFDLENBQUMsTUFBTSxJQUFJLE1BQU0sQ0FBQztTQUNoRDtJQUNMLENBQUM7SUFFRCw4QkFBUSxHQUFSO1FBQ0ksRUFBRSxDQUFDLEVBQUUsQ0FBQyxhQUFhLENBQUMsRUFBRSxDQUFDLEVBQUUsQ0FBQyxFQUFFLENBQUMsT0FBTyxDQUFDLE9BQU8sRUFBRSxJQUFJLENBQUMsUUFBUSxFQUFFLElBQUksQ0FBQyxDQUFDO1FBQ25FLEVBQUUsQ0FBQyxFQUFFLENBQUMsYUFBYSxDQUFDLEVBQUUsQ0FBQyxFQUFFLENBQUMsRUFBRSxDQUFDLE9BQU8sQ0FBQyxJQUFJLEVBQUUsSUFBSSxDQUFDLE9BQU8sRUFBRSxJQUFJLENBQUMsQ0FBQztRQUMvRCxFQUFFLENBQUMsRUFBRSxDQUFDLGFBQWEsQ0FBQyxFQUFFLENBQUMsRUFBRSxDQUFDLEVBQUUsQ0FBQyxPQUFPLENBQUMsU0FBUyxFQUFFLElBQUksQ0FBQyxRQUFRLEVBQUUsSUFBSSxDQUFDLENBQUM7UUFDckUsRUFBRSxDQUFDLEVBQUUsQ0FBQyxhQUFhLENBQUMsRUFBRSxDQUFDLEVBQUUsQ0FBQyxFQUFFLENBQUMsT0FBTyxDQUFDLFNBQVMsRUFBRSxJQUFJLENBQUMsU0FBUyxFQUFFLElBQUksQ0FBQyxDQUFDO1FBQ3RFLEVBQUUsQ0FBQyxFQUFFLENBQUMsYUFBYSxDQUFDLEVBQUUsQ0FBQyxFQUFFLENBQUMsRUFBRSxDQUFDLE9BQU8sQ0FBQyxVQUFVLEVBQUUsSUFBSSxDQUFDLFVBQVUsRUFBRSxJQUFJLENBQUMsQ0FBQztRQUN4RSxFQUFFLENBQUMsRUFBRSxDQUFDLGFBQWEsQ0FBQyxFQUFFLENBQUMsRUFBRSxDQUFDLEVBQUUsQ0FBQyxPQUFPLENBQUMsT0FBTyxFQUFFLElBQUksQ0FBQyxPQUFPLEVBQUUsSUFBSSxDQUFDLENBQUM7UUFDbEUsRUFBRSxDQUFDLEVBQUUsQ0FBQyxhQUFhLENBQUMsRUFBRSxDQUFDLEVBQUUsQ0FBQyxFQUFFLENBQUMsT0FBTyxDQUFDLFNBQVMsRUFBRSxJQUFJLENBQUMsU0FBUyxFQUFFLElBQUksQ0FBQyxDQUFDO1FBQ3RFLEVBQUUsQ0FBQyxFQUFFLENBQUMsYUFBYSxDQUFDLEVBQUUsQ0FBQyxFQUFFLENBQUMsRUFBRSxDQUFDLE9BQU8sQ0FBQyxVQUFVLEVBQUUsSUFBSSxDQUFDLFVBQVUsRUFBRSxJQUFJLENBQUMsQ0FBQztRQUN4RSxFQUFFLENBQUMsRUFBRSxDQUFDLGFBQWEsQ0FBQyxFQUFFLENBQUMsRUFBRSxDQUFDLEVBQUUsQ0FBQyxPQUFPLENBQUMsU0FBUyxFQUFFLElBQUksQ0FBQyxTQUFTLEVBQUUsSUFBSSxDQUFDLENBQUM7SUFDMUUsQ0FBQztJQUNELCtCQUFTLEdBQVQ7UUFDSSxFQUFFLENBQUMsRUFBRSxDQUFDLGFBQWEsQ0FBQyxHQUFHLENBQUMsRUFBRSxDQUFDLEVBQUUsQ0FBQyxPQUFPLENBQUMsT0FBTyxFQUFFLElBQUksQ0FBQyxRQUFRLENBQUMsQ0FBQztRQUM5RCxFQUFFLENBQUMsRUFBRSxDQUFDLGFBQWEsQ0FBQyxHQUFHLENBQUMsRUFBRSxDQUFDLEVBQUUsQ0FBQyxPQUFPLENBQUMsSUFBSSxFQUFFLElBQUksQ0FBQyxPQUFPLENBQUMsQ0FBQztRQUMxRCxFQUFFLENBQUMsRUFBRSxDQUFDLGFBQWEsQ0FBQyxHQUFHLENBQUMsRUFBRSxDQUFDLEVBQUUsQ0FBQyxPQUFPLENBQUMsU0FBUyxFQUFFLElBQUksQ0FBQyxRQUFRLENBQUMsQ0FBQztRQUNoRSxFQUFFLENBQUMsRUFBRSxDQUFDLGFBQWEsQ0FBQyxHQUFHLENBQUMsRUFBRSxDQUFDLEVBQUUsQ0FBQyxPQUFPLENBQUMsU0FBUyxFQUFFLElBQUksQ0FBQyxTQUFTLENBQUMsQ0FBQztRQUNqRSxFQUFFLENBQUMsRUFBRSxDQUFDLGFBQWEsQ0FBQyxHQUFHLENBQUMsRUFBRSxDQUFDLEVBQUUsQ0FBQyxPQUFPLENBQUMsVUFBVSxFQUFFLElBQUksQ0FBQyxVQUFVLENBQUMsQ0FBQztRQUNuRSxFQUFFLENBQUMsRUFBRSxDQUFDLGFBQWEsQ0FBQyxHQUFHLENBQUMsRUFBRSxDQUFDLEVBQUUsQ0FBQyxPQUFPLENBQUMsT0FBTyxFQUFFLElBQUksQ0FBQyxPQUFPLENBQUMsQ0FBQztRQUM3RCxFQUFFLENBQUMsRUFBRSxDQUFDLGFBQWEsQ0FBQyxHQUFHLENBQUMsRUFBRSxDQUFDLEVBQUUsQ0FBQyxPQUFPLENBQUMsU0FBUyxFQUFFLElBQUksQ0FBQyxTQUFTLENBQUMsQ0FBQztRQUNqRSxFQUFFLENBQUMsRUFBRSxDQUFDLGFBQWEsQ0FBQyxHQUFHLENBQUMsRUFBRSxDQUFDLEVBQUUsQ0FBQyxPQUFPLENBQUMsVUFBVSxFQUFFLElBQUksQ0FBQyxVQUFVLENBQUMsQ0FBQztRQUNuRSxFQUFFLENBQUMsRUFBRSxDQUFDLGFBQWEsQ0FBQyxHQUFHLENBQUMsRUFBRSxDQUFDLEVBQUUsQ0FBQyxPQUFPLENBQUMsU0FBUyxFQUFFLElBQUksQ0FBQyxTQUFTLENBQUMsQ0FBQztJQUNyRSxDQUFDO0lBQ0QsNEJBQU0sR0FBTixVQUFRLEVBQUU7SUFHVixDQUFDO0lBL3pDRDtRQURDLFFBQVEsQ0FBQyxFQUFFLENBQUMsSUFBSSxDQUFDOzRDQUNFO0lBR3BCO1FBREMsUUFBUSxDQUFDLEVBQUUsQ0FBQyxNQUFNLENBQUM7OENBQ0k7SUFHeEI7UUFEQyxRQUFRLENBQUMsRUFBRSxDQUFDLEtBQUssQ0FBQzs2Q0FDRztJQUd0QjtRQURDLFFBQVEsQ0FBQyxFQUFFLENBQUMsS0FBSyxDQUFDO2tEQUNRO0lBRzNCO1FBREMsUUFBUSxDQUFDLEVBQUUsQ0FBQyxJQUFJLENBQUM7OENBQ0k7SUFmTCxXQUFXO1FBRC9CLE9BQU87T0FDYSxXQUFXLENBbTBDL0I7SUFBRCxrQkFBQztDQW4wQ0QsQUFtMENDLENBbjBDd0MsRUFBRSxDQUFDLFNBQVMsR0FtMENwRDtrQkFuMENvQixXQUFXIiwiZmlsZSI6IiIsInNvdXJjZVJvb3QiOiIvIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQmxvY2tUeXBlIH0gZnJvbSBcIi4vQmxvY2tcIjtcclxuXHJcbi8vIOS4u+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,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= //------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,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() { - 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,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= +//------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,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbImFzc2V0c1xcU2NyaXB0XFxHYW1lTWFuYWdlci50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7QUFBQSxpQ0FBb0M7QUFFcEMsU0FBUztBQUNILElBQUEsS0FBc0IsRUFBRSxDQUFDLFVBQVUsRUFBbEMsT0FBTyxhQUFBLEVBQUUsUUFBUSxjQUFpQixDQUFDO0FBRTFDO0lBQXlDLCtCQUFZO0lBQXJEO1FBQUEscUVBMDRDQztRQXY0Q0csU0FBRyxHQUFZLElBQUksQ0FBQztRQUdwQixXQUFLLEdBQWMsSUFBSSxDQUFDO1FBR3hCLFVBQUksR0FBYSxJQUFJLENBQUM7UUFHdEIsZUFBUyxHQUFhLElBQUksQ0FBQztRQUczQixXQUFLLEdBQVksSUFBSSxDQUFDOztJQTIzQzFCLENBQUM7SUFsMkNHLDRCQUFNLEdBQU47SUFDQSxDQUFDO0lBQ0QsMkJBQUssR0FBTDtRQUNJLEVBQUUsQ0FBQyxFQUFFLENBQUMsVUFBVSxDQUFDLFVBQVUsRUFBRSxDQUFDO1FBQzlCLElBQUksQ0FBQyxHQUFHLEVBQUUsQ0FBQztRQUNYLElBQUksQ0FBQyxJQUFJLEVBQUUsQ0FBQztJQUNoQixDQUFDO0lBRUQsa0RBQWtEO0lBQ2xELDRCQUFNLEdBQU47UUFDSSxJQUFJLE1BQU0sR0FBRyxDQUFDLENBQUM7UUFDZixJQUFJLEdBQUcsR0FBRyxFQUFFLENBQUM7UUFDYixJQUFHLEVBQUUsQ0FBQyxFQUFFLENBQUMsVUFBVSxDQUFDLE9BQU8sQ0FBQyxLQUFLLElBQUksQ0FBQyxFQUFDO1lBQ25DLE1BQU0sR0FBRyxJQUFJLENBQUMsS0FBSyxDQUFDLElBQUksQ0FBQyxNQUFNLEVBQUUsR0FBRSxFQUFFLENBQUMsRUFBRSxDQUFDLFVBQVUsQ0FBQyxVQUFVLENBQUMsRUFBRSxDQUFDLEVBQUUsQ0FBQyxVQUFVLENBQUMsT0FBTyxDQUFDLEtBQUssQ0FBQyxDQUFDLE1BQU0sQ0FBQyxDQUFDO1NBQzFHO2FBQ0c7WUFDQSxJQUFJLEdBQUcsR0FBRyxFQUFFLENBQUMsRUFBRSxDQUFDLFVBQVUsQ0FBQyxVQUFVLENBQUMsRUFBRSxDQUFDLEVBQUUsQ0FBQyxVQUFVLENBQUMsT0FBTyxDQUFDLEtBQUssQ0FBQyxDQUFDO1lBQ3RFLElBQUcsRUFBRSxDQUFDLEVBQUUsQ0FBQyxVQUFVLENBQUMsT0FBTyxDQUFDLFFBQVEsSUFBSSxDQUFDLENBQUMsRUFBQztnQkFDdkMsR0FBRyxHQUFHLElBQUksQ0FBQyxXQUFXLENBQUMsR0FBRyxFQUFDLEVBQUUsQ0FBQyxFQUFFLENBQUMsVUFBVSxDQUFDLE9BQU8sQ0FBQyxTQUFTLEdBQUcsQ0FBQyxFQUFDLEtBQUssQ0FBQyxDQUFDO2FBQzVFO2lCQUNJLElBQUcsRUFBRSxDQUFDLEVBQUUsQ0FBQyxVQUFVLENBQUMsT0FBTyxDQUFDLFFBQVEsSUFBSSxDQUFDLEVBQUM7Z0JBQzNDLEdBQUcsR0FBRyxJQUFJLENBQUMsV0FBVyxDQUFDLEdBQUcsRUFBQyxFQUFFLENBQUMsRUFBRSxDQUFDLFVBQVUsQ0FBQyxPQUFPLENBQUMsU0FBUyxHQUFHLENBQUMsRUFBQyxJQUFJLENBQUMsQ0FBQzthQUMzRTtpQkFDRztnQkFDQSxHQUFHLEdBQUcsSUFBSSxDQUFDLFdBQVcsQ0FBQyxHQUFHLEVBQUMsRUFBRSxDQUFDLEVBQUUsQ0FBQyxVQUFVLENBQUMsT0FBTyxDQUFDLFNBQVMsR0FBRyxDQUFDLEVBQUMsSUFBSSxDQUFDLENBQUM7YUFDM0U7WUFDRCxJQUFJLE1BQU0sR0FBRyxJQUFJLENBQUMsS0FBSyxDQUFDLElBQUksQ0FBQyxNQUFNLEVBQUUsR0FBRSxHQUFHLENBQUMsTUFBTSxDQUFDLENBQUM7WUFDbkQsTUFBTSxHQUFHLEdBQUcsQ0FBQyxNQUFNLENBQUMsQ0FBQztZQUNyQiwyQkFBMkI7U0FDOUI7UUFDRCxVQUFVO1FBQ1YsRUFBRSxDQUFDLEVBQUUsQ0FBQyxVQUFVLENBQUMsT0FBTyxDQUFDLFNBQVMsR0FBRyxFQUFFLENBQUMsRUFBRSxDQUFDLFVBQVUsQ0FBQyxVQUFVLENBQUMsRUFBRSxDQUFDLEVBQUUsQ0FBQyxVQUFVLENBQUMsT0FBTyxDQUFDLEtBQUssQ0FBQyxDQUFDLE1BQU0sQ0FBQyxDQUFDLFNBQVMsQ0FBQztRQUNuSCxFQUFFLENBQUMsRUFBRSxDQUFDLFVBQVUsQ0FBQyxPQUFPLENBQUMsUUFBUSxHQUFHLENBQUMsQ0FBQztRQUN0QyxPQUFPLE1BQU0sQ0FBQztJQUNsQixDQUFDO0lBQ0E7Ozs7O01BS0U7SUFDSCxpQ0FBVyxHQUFYLFVBQVksR0FBRyxFQUFDLFNBQVMsRUFBQyxJQUFJO1FBQzFCLElBQUksR0FBRyxHQUFHLEVBQUUsQ0FBQztRQUNiLEtBQUksSUFBSSxDQUFDLEdBQUMsQ0FBQyxFQUFFLENBQUMsR0FBQyxHQUFHLENBQUMsTUFBTSxFQUFFLENBQUMsRUFBRSxFQUFDO1lBQzNCLElBQUcsR0FBRyxDQUFDLENBQUMsQ0FBQyxDQUFDLFNBQVMsSUFBSSxTQUFTLEVBQUM7Z0JBQzdCLEdBQUcsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLENBQUM7YUFDZjtTQUNKO1FBQ0QsSUFBRyxHQUFHLENBQUMsTUFBTSxJQUFJLENBQUMsRUFBQztZQUNmLElBQUcsSUFBSTtnQkFBRyxHQUFHLEdBQUcsSUFBSSxDQUFDLFdBQVcsQ0FBQyxHQUFHLEVBQUMsU0FBUyxHQUFHLENBQUMsRUFBQyxJQUFJLENBQUMsQ0FBQzs7Z0JBQ25ELEdBQUcsR0FBRyxJQUFJLENBQUMsV0FBVyxDQUFDLEdBQUcsRUFBQyxTQUFTLEdBQUcsQ0FBQyxFQUFDLElBQUksQ0FBQyxDQUFDO1NBQ3hEO1FBQ0QsT0FBTyxHQUFHLENBQUM7SUFDZixDQUFDO0lBRUQsT0FBTztJQUNQLDBCQUFJLEdBQUo7UUFDSSxJQUFJLElBQUksR0FBRyxFQUFFLENBQUMsRUFBRSxDQUFDLFVBQVUsQ0FBQyxPQUFPLENBQUMsTUFBTSxHQUFHLFFBQVEsQ0FBQztRQUN0RCxJQUFJLElBQUksR0FBRyxJQUFJLENBQUMsS0FBSyxDQUFDLFlBQVksQ0FBQyxPQUFPLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQztRQUVsRCxJQUFHLElBQUksSUFBSSxLQUFLLEVBQUM7WUFDYixFQUFFLENBQUMsRUFBRSxDQUFDLFVBQVUsQ0FBQyxPQUFPLENBQUMsS0FBSyxHQUFHLElBQUksQ0FBQztZQUN0QyxFQUFFLENBQUMsRUFBRSxDQUFDLGNBQWMsQ0FBQyxVQUFVLENBQUMsSUFBSSxFQUFDLEVBQUUsQ0FBQyxFQUFFLENBQUMsVUFBVSxDQUFDLE9BQU8sQ0FBQyxLQUFLLENBQUMsQ0FBQztTQUN4RTthQUNHO1lBQ0EsRUFBRSxDQUFDLEVBQUUsQ0FBQyxVQUFVLENBQUMsT0FBTyxDQUFDLEtBQUssR0FBRyxFQUFFLENBQUMsRUFBRSxDQUFDLGNBQWMsQ0FBQyxVQUFVLENBQUMsSUFBSSxDQUFDLENBQUM7U0FDMUU7UUFFRCxJQUFJLENBQUMsT0FBTyxFQUFFLENBQUM7UUFDZixJQUFJLENBQUMsV0FBVyxHQUFHLENBQUMsQ0FBQztRQUNyQixJQUFJLENBQUMsU0FBUyxHQUFHLENBQUMsQ0FBQztRQUNuQixJQUFJLENBQUMsV0FBVyxHQUFHLENBQUMsQ0FBQztRQUNyQixJQUFJLENBQUMsU0FBUyxHQUFHLEVBQUUsQ0FBQyxFQUFFLENBQUMsUUFBUSxDQUFDLE9BQU8sRUFBRSxDQUFDO1FBQzFDLElBQUksQ0FBQyxTQUFTLEdBQUcsRUFBRSxDQUFDLEVBQUUsQ0FBQyxVQUFVLENBQUMsU0FBUyxDQUFDLFNBQVMsQ0FBQztRQUN0RCxJQUFHLElBQUksQ0FBQyxTQUFTLElBQUksQ0FBQyxFQUFFO1lBQ3BCLElBQUksQ0FBQyxRQUFRLEVBQUUsQ0FBQztTQUNuQjtRQUNELElBQUksQ0FBQyxTQUFTLEdBQUcsRUFBRSxDQUFDLEVBQUUsQ0FBQyxVQUFVLENBQUMsU0FBUyxDQUFDLFNBQVMsQ0FBQyxFQUFFLENBQUMsRUFBRSxDQUFDLFVBQVUsQ0FBQyxPQUFPLENBQUMsS0FBSyxDQUFDLENBQUM7UUFDdEYseUVBQXlFO1FBQ3pFLElBQUksQ0FBQyxJQUFJLENBQUMsTUFBTSxHQUFJLEVBQUUsQ0FBQyxFQUFFLENBQUMsUUFBUSxDQUFDLGFBQWEsQ0FBQyxJQUFJLENBQUMsU0FBUyxDQUFDLENBQUM7UUFFakUsSUFBRyxDQUFDLEVBQUUsQ0FBQyxFQUFFLENBQUMsVUFBVSxDQUFDLE9BQU8sQ0FBQyxLQUFLLEVBQUM7WUFDL0IsSUFBSSxDQUFDLEtBQUssQ0FBQyxNQUFNLEdBQUcsS0FBSyxDQUFDO1lBQzFCLElBQUksQ0FBQyxJQUFJLEdBQUcsQ0FBQyxDQUFDO1lBQ2QsSUFBSSxJQUFJLEdBQUcsSUFBSSxDQUFDLElBQUksQ0FBQyxjQUFjLENBQUMsS0FBSyxDQUFDLENBQUMsY0FBYyxDQUFDLE1BQU0sQ0FBQyxDQUFDO1lBQ2xFLElBQUksUUFBUSxHQUFHLElBQUksQ0FBQyxJQUFJLENBQUMsY0FBYyxDQUFDLEtBQUssQ0FBQyxDQUFDLGNBQWMsQ0FBQyxVQUFVLENBQUMsQ0FBQyxZQUFZLENBQUMsRUFBRSxDQUFDLE1BQU0sQ0FBQyxDQUFDO1lBQ2xHLElBQUksQ0FBQyxTQUFTLENBQUMsRUFBRSxDQUFDLE1BQU0sQ0FBQyxJQUFJLENBQUMsU0FBUyxFQUFDLEVBQUUsQ0FBQyxFQUFFLENBQUMsR0FBRyxFQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUM7WUFFNUQsSUFBSSxDQUFDLFVBQVUsR0FBRyxFQUFFLENBQUMsS0FBSyxDQUFDLFFBQVEsQ0FBQztpQkFDbkMsRUFBRSxDQUFDLElBQUksQ0FBQyxTQUFTLEVBQUMsRUFBQyxTQUFTLEVBQUMsQ0FBQyxFQUFDLENBQUM7aUJBQ2hDLEtBQUssRUFBRSxDQUFDO1lBQ1QsSUFBSSxDQUFDLFFBQVEsQ0FBQyxJQUFJLENBQUMsZUFBZSxFQUFDLENBQUMsQ0FBQyxDQUFDO1lBQ3RDLElBQUksQ0FBQyxRQUFRLENBQUMsSUFBSSxDQUFDLG1CQUFtQixFQUFDLENBQUMsQ0FBQyxDQUFDO1NBQzdDO2FBQ0c7WUFDQSxJQUFJLENBQUMsS0FBSyxDQUFDLE1BQU0sR0FBRyxJQUFJLENBQUM7WUFDekIsSUFBSSxDQUFDLFNBQVMsRUFBRSxDQUFDO1NBQ3BCO0lBRUwsQ0FBQztJQUNELE9BQU87SUFDUCw2QkFBTyxHQUFQO1FBQ0ksRUFBRSxDQUFDLEVBQUUsQ0FBQyxVQUFVLENBQUMsT0FBTyxDQUFDLEtBQUssSUFBSSxDQUFDLENBQUM7UUFDcEMsRUFBRSxDQUFDLEVBQUUsQ0FBQyxVQUFVLENBQUMsT0FBTyxDQUFDLEdBQUcsR0FBRyxDQUFDLENBQUM7UUFDakMsSUFBSSxDQUFDLFdBQVcsR0FBRyxFQUFFLENBQUM7UUFDdEIsSUFBSSxDQUFDLFVBQVUsR0FBRyxFQUFFLENBQUM7UUFDckIsSUFBSSxDQUFDLFdBQVcsR0FBRyxFQUFFLENBQUM7UUFDdEIsSUFBSSxDQUFDLFNBQVMsR0FBRyxFQUFFLENBQUM7UUFDcEIsSUFBSSxDQUFDLFNBQVMsR0FBRyxFQUFFLENBQUM7UUFDcEIsSUFBSSxDQUFDLFNBQVMsR0FBRyxLQUFLLENBQUM7UUFDdkIsSUFBSSxDQUFDLFNBQVMsR0FBRyxDQUFDLENBQUM7UUFDbkIsSUFBSSxDQUFDLFNBQVMsR0FBRyxDQUFDLENBQUM7UUFDbkIsSUFBSSxDQUFDLElBQUksR0FBRyxDQUFDLENBQUM7UUFDZCxJQUFJLENBQUMsT0FBTyxHQUFHLEtBQUssQ0FBQztRQUNyQixJQUFJLENBQUMsUUFBUSxHQUFHLEtBQUssQ0FBQztRQUN0QixJQUFJLENBQUMsTUFBTSxHQUFHLENBQUMsQ0FBQyxDQUFDLEdBQUc7UUFDcEIsSUFBRyxDQUFDLEVBQUUsQ0FBQyxFQUFFLENBQUMsVUFBVSxDQUFDLE9BQU8sQ0FBQyxLQUFLLElBQUcsRUFBRSxDQUFDLEVBQUUsQ0FBQyxVQUFVLENBQUMsT0FBTyxDQUFDLEtBQUssSUFBSSxDQUFDLEVBQUU7WUFDdEUsRUFBRSxDQUFDLEVBQUUsQ0FBQyxVQUFVLENBQUMsT0FBTyxDQUFDLEtBQUssR0FBRyxDQUFDLENBQUM7WUFDbkMsSUFBSSxDQUFDLE1BQU0sR0FBRyxJQUFJLENBQUMsTUFBTSxFQUFFLENBQUM7U0FDL0I7YUFDSSxJQUFHLENBQUMsRUFBRSxDQUFDLEVBQUUsQ0FBQyxVQUFVLENBQUMsT0FBTyxDQUFDLEtBQUssRUFBQztZQUNwQyxJQUFJLENBQUMsTUFBTSxHQUFHLElBQUksQ0FBQyxNQUFNLEVBQUUsQ0FBQztTQUMvQjtRQUNELG1CQUFtQjtRQUNuQiw0QkFBNEI7UUFFNUIsSUFBSSxHQUFHLEdBQUcsRUFBRSxDQUFDLEVBQUUsQ0FBQyxVQUFVLENBQUMsVUFBVSxDQUFDLEVBQUUsQ0FBQyxFQUFFLENBQUMsVUFBVSxDQUFDLE9BQU8sQ0FBQyxLQUFLLENBQUMsQ0FBQyxJQUFJLENBQUMsTUFBTSxDQUFDLENBQUMsR0FBRyxDQUFDO1FBQ3ZGLElBQUcsRUFBRSxDQUFDLEVBQUUsQ0FBQyxVQUFVLENBQUMsT0FBTyxDQUFDLEtBQUssSUFBSSxDQUFDLEVBQUM7WUFDbkMsSUFBSSxDQUFDLEdBQUcsQ0FBQyxLQUFLLEdBQUcsR0FBRyxDQUFDO1NBQ3hCO1FBQ0QsSUFBSSxDQUFDLElBQUksQ0FBQyxjQUFjLENBQUMsS0FBSyxDQUFDLENBQUMsY0FBYyxDQUFDLElBQUksQ0FBQyxDQUFDLFlBQVksQ0FBQyxFQUFFLENBQUMsS0FBSyxDQUFDLENBQUMsTUFBTTtZQUNsRixFQUFFLENBQUMsRUFBRSxDQUFDLFVBQVUsQ0FBQyxPQUFPLENBQUMsS0FBSyxDQUFDO1FBRS9CLFdBQVc7UUFDWCxJQUFJLENBQUMsU0FBUyxHQUFHLEdBQUcsQ0FBQyxDQUFDLENBQUMsQ0FBQyxHQUFHLENBQUMsVUFBQyxJQUFJLEVBQUUsQ0FBQztZQUNoQyxPQUFPLEdBQUcsQ0FBQyxHQUFHLENBQUMsVUFBQyxHQUFHLElBQUssT0FBQSxHQUFHLENBQUMsQ0FBQyxDQUFDLEVBQU4sQ0FBTSxDQUFDLENBQUE7UUFDbkMsQ0FBQyxDQUFDLENBQUE7UUFDRixJQUFJLENBQUMsU0FBUyxHQUFHLElBQUksQ0FBQyxTQUFTLENBQUMsTUFBTSxDQUFDO1FBQ3ZDLElBQUksQ0FBQyxTQUFTLEdBQUcsSUFBSSxDQUFDLFNBQVMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxNQUFNLENBQUM7UUFFMUMsSUFBSSxDQUFDLEdBQUcsQ0FBQyxDQUFDLEdBQUUsQ0FBQyxDQUFDLEdBQUcsSUFBSSxDQUFDLFNBQVMsQ0FBQyxNQUFNLENBQUMsR0FBQyxFQUFFLENBQUM7UUFDM0MsSUFBSSxDQUFDLEdBQUcsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxJQUFJLENBQUMsU0FBUyxDQUFDLENBQUMsQ0FBQyxDQUFDLE1BQU0sR0FBRyxHQUFHLENBQUMsR0FBQyxFQUFFLENBQUM7UUFFakQsS0FBSSxJQUFJLENBQUMsR0FBQyxDQUFDLEVBQUMsQ0FBQyxHQUFDLElBQUksQ0FBQyxTQUFTLENBQUMsTUFBTSxFQUFDLENBQUMsRUFBRSxFQUFDO1lBQ3BDLEtBQUksSUFBSSxDQUFDLEdBQUMsQ0FBQyxFQUFFLENBQUMsR0FBQyxJQUFJLENBQUMsU0FBUyxDQUFFLENBQUMsQ0FBQyxDQUFDLE1BQU0sRUFBQyxDQUFDLEVBQUUsRUFBQztnQkFDekMsSUFBSSxLQUFLLEdBQUcsRUFBRSxDQUFDLFdBQVcsQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLENBQUM7Z0JBQ3ZDLEtBQUssQ0FBQyxNQUFNLEdBQUUsSUFBSSxDQUFDLEdBQUcsQ0FBQztnQkFDdkIsS0FBSyxDQUFDLFlBQVksQ0FBQyxPQUFPLENBQUMsQ0FBQyxRQUFRLENBQUMsSUFBSSxDQUFDLFNBQVMsQ0FBRSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsRUFBQyxFQUFFLENBQUMsRUFBRSxDQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxFQUFFLENBQUMsRUFBRSxDQUFDLElBQUksQ0FBQyxTQUFTLEVBQUMsSUFBSSxDQUFDLFNBQVMsQ0FBQyxDQUFDLENBQUM7Z0JBQzVHLElBQUcsSUFBSSxDQUFDLFNBQVMsQ0FBRSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxFQUFFLENBQUMsSUFBSSxDQUFDLGlCQUFTLENBQUMsQ0FBQyxLQUFLLEVBQUM7b0JBQ2pELElBQUksQ0FBQyxVQUFVLENBQUMsSUFBSSxDQUFDLEVBQUUsQ0FBQyxFQUFFLENBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxFQUFFLENBQUMsSUFBSSxDQUFDLGlCQUFTLENBQUMsQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDO29CQUMxRCw4REFBOEQ7aUJBQ2pFO2dCQUNELEtBQUssQ0FBQyxXQUFXLENBQUMsRUFBRSxDQUFDLEVBQUUsQ0FBQyxDQUFDLEtBQUssQ0FBQyxLQUFLLEdBQUMsR0FBRyxHQUFHLENBQUMsR0FBQyxLQUFLLENBQUMsS0FBSyxFQUFDLEtBQUssQ0FBQyxNQUFNLEdBQUMsQ0FBQyxHQUFHLENBQUMsR0FBQyxLQUFLLENBQUMsTUFBTSxDQUFDLENBQUMsQ0FBQztnQkFDM0YsSUFBSSxDQUFDLFdBQVcsQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLENBQUM7YUFDaEM7U0FDSjtJQUVMLENBQUM7SUFDQTs7O01BR0U7SUFDSCw0QkFBTSxHQUFOLFVBQU8sSUFBSTtRQUNQLEtBQUksSUFBSSxDQUFDLEdBQUMsQ0FBQyxFQUFFLENBQUMsR0FBQyxJQUFJLENBQUMsTUFBTSxFQUFFLENBQUMsRUFBRSxFQUFDO1lBQzVCLElBQUksS0FBSyxHQUFHLElBQUksQ0FBQyxVQUFVLENBQUMsSUFBSSxDQUFDLFVBQVUsQ0FBQyxNQUFNLEdBQUMsQ0FBQyxDQUFDLENBQUM7WUFDdEQsUUFBTyxJQUFJLENBQUMsQ0FBQyxDQUFDLEVBQUM7Z0JBQ1gsS0FBSyxJQUFJO29CQUNMLElBQUksQ0FBQyxVQUFVLENBQUMsSUFBSSxDQUFDLEVBQUUsQ0FBQyxFQUFFLENBQUMsS0FBSyxDQUFDLENBQUMsRUFBQyxLQUFLLENBQUMsQ0FBQyxHQUFDLENBQUMsRUFBQyxFQUFFLENBQUMsSUFBSSxDQUFDLGlCQUFTLENBQUMsQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDO29CQUN4RSxNQUFNO2dCQUNWLEtBQUssTUFBTTtvQkFDUCxJQUFJLENBQUMsVUFBVSxDQUFDLElBQUksQ0FBQyxFQUFFLENBQUMsRUFBRSxDQUFDLEtBQUssQ0FBQyxDQUFDLEVBQUMsS0FBSyxDQUFDLENBQUMsR0FBQyxDQUFDLEVBQUMsRUFBRSxDQUFDLElBQUksQ0FBQyxpQkFBUyxDQUFDLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQztvQkFDeEUsTUFBTTtnQkFDVixLQUFLLE1BQU07b0JBQ1AsSUFBSSxDQUFDLFVBQVUsQ0FBQyxJQUFJLENBQUMsRUFBRSxDQUFDLEVBQUUsQ0FBQyxLQUFLLENBQUMsQ0FBQyxHQUFDLENBQUMsRUFBQyxLQUFLLENBQUMsQ0FBQyxFQUFDLEVBQUUsQ0FBQyxJQUFJLENBQUMsaUJBQVMsQ0FBQyxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUM7b0JBQ3hFLE1BQU07Z0JBQ1YsS0FBSyxPQUFPO29CQUNSLElBQUksQ0FBQyxVQUFVLENBQUMsSUFBSSxDQUFDLEVBQUUsQ0FBQyxFQUFFLENBQUMsS0FBSyxDQUFDLENBQUMsR0FBQyxDQUFDLEVBQUMsS0FBSyxDQUFDLENBQUMsRUFBQyxFQUFFLENBQUMsSUFBSSxDQUFDLGlCQUFTLENBQUMsQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDO29CQUN4RSxNQUFNO2dCQUNWLEtBQUssV0FBVztvQkFDWixJQUFJLENBQUMsVUFBVSxDQUFDLElBQUksQ0FBQyxFQUFFLENBQUMsRUFBRSxDQUFDLEtBQUssQ0FBQyxDQUFDLEVBQUMsS0FBSyxDQUFDLENBQUMsRUFBQyxFQUFFLENBQUMsSUFBSSxDQUFDLGlCQUFTLENBQUMsQ0FBQyxTQUFTLENBQUMsQ0FBQyxDQUFDO29CQUMxRSxNQUFNO2dCQUNWLEtBQUssTUFBTTtvQkFDUCxJQUFJLENBQUMsVUFBVSxDQUFDLElBQUksQ0FBQyxFQUFFLENBQUMsRUFBRSxDQUFDLEtBQUssQ0FBQyxDQUFDLEVBQUMsS0FBSyxDQUFDLENBQUMsRUFBQyxFQUFFLENBQUMsSUFBSSxDQUFDLGlCQUFTLENBQUMsQ0FBQyxPQUFPLENBQUMsQ0FBQyxDQUFDO29CQUN4RSxNQUFNO2FBQ2I7U0FDSjtRQUNELElBQUcsSUFBSSxDQUFDLFVBQVUsQ0FBQyxJQUFJLENBQUMsVUFBVSxDQUFDLE1BQU0sR0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxFQUFDO1lBQ2hELElBQUksQ0FBQyxVQUFVLENBQUMsR0FBRyxFQUFFLENBQUM7U0FDekI7UUFDRCxJQUFJLENBQUMsT0FBTyxDQUFDLENBQUMsQ0FBQyxDQUFDO0lBQ3BCLENBQUM7SUFDRDs7O09BR0c7SUFDSCw2QkFBTyxHQUFQLFVBQVEsS0FBSztRQUFiLGlCQXdIQztRQXZIRyxLQUFLLEdBQUcsUUFBUSxDQUFDLEtBQUssQ0FBQyxDQUFDO1FBRXhCLElBQUcsS0FBSyxHQUFHLENBQUMsRUFBQztZQUNULElBQUcsSUFBSSxDQUFDLFVBQVUsQ0FBQyxLQUFLLEdBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsRUFBQztnQkFDL0IsdUdBQXVHO2dCQUN2RyxJQUFJLENBQUMsV0FBVyxDQUFDLEVBQUUsQ0FBQyxFQUFFLENBQUMsSUFBSSxDQUFDLFVBQVUsQ0FBQyxLQUFLLEdBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxFQUFDLElBQUksQ0FBQyxVQUFVLENBQUMsS0FBSyxHQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsQ0FBQyxDQUFDO2dCQUNqRixJQUFHLEtBQUssSUFBSSxJQUFJLENBQUMsVUFBVSxDQUFDLE1BQU0sR0FBQyxDQUFDLEVBQUM7b0JBQ2pDLElBQUksQ0FBQyxXQUFXLENBQUMsRUFBRSxDQUFDLEVBQUUsQ0FBQyxJQUFJLENBQUMsVUFBVSxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsRUFBQyxJQUFJLENBQUMsVUFBVSxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsQ0FBQyxDQUFDO29CQUM3RSx3RUFBd0U7aUJBQzNFO2FBQ0o7aUJBQ0c7Z0JBQ0EsK0ZBQStGO2dCQUMvRixJQUFJLENBQUMsV0FBVyxDQUFDLEVBQUUsQ0FBQyxFQUFFLENBQUMsSUFBSSxDQUFDLFVBQVUsQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLEVBQUMsSUFBSSxDQUFDLFVBQVUsQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQzthQUNoRjtTQUNKO1FBRUQsSUFBRyxLQUFLLElBQUksSUFBSSxDQUFDLFVBQVUsQ0FBQyxNQUFNLEdBQUMsQ0FBQyxFQUFDO1lBQ2pDLElBQUksQ0FBQyxHQUFHLElBQUksQ0FBQyxVQUFVLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQyxHQUFDLElBQUksQ0FBQyxTQUFTLENBQUMsQ0FBQyxDQUFDLENBQUMsTUFBTSxHQUFDLElBQUksQ0FBQyxVQUFVLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQyxDQUFDO1lBQ25GLElBQUksU0FBUyxHQUFHLEVBQUUsQ0FBQztZQUNuQixJQUFJLFNBQVMsR0FBRyxJQUFJLENBQUM7WUFDckIsUUFBUTtZQUNSLElBQUcsS0FBSyxJQUFJLElBQUksQ0FBQyxVQUFVLENBQUMsTUFBTSxHQUFDLENBQUMsRUFBQztnQkFDakMsU0FBUyxHQUFHLEtBQUssQ0FBQztnQkFDbEIsU0FBUyxHQUFHLEtBQUssQ0FBQztnQkFDbEIsdUJBQXVCO2dCQUN2QixJQUFHLElBQUksQ0FBQyxVQUFVLENBQUMsTUFBTSxHQUFHLENBQUMsRUFBQztvQkFDMUIsdUJBQXVCO29CQUN2QixVQUFVLENBQUM7d0JBQ1AsSUFBRyxDQUFDLEtBQUksQ0FBQyxTQUFTLEVBQUM7NEJBQ2YsS0FBSSxDQUFDLFNBQVMsR0FBRyxJQUFJLENBQUM7NEJBQ3RCLElBQUksSUFBSSxHQUFHLEtBQUksQ0FBQyxJQUFJLENBQUMsY0FBYyxDQUFDLEtBQUssQ0FBQyxDQUFDLGNBQWMsQ0FBQyxNQUFNLENBQUMsQ0FBQzs0QkFDbEUsSUFBSSxRQUFRLEdBQUcsS0FBSSxDQUFDLElBQUksQ0FBQyxjQUFjLENBQUMsS0FBSyxDQUFDLENBQUMsY0FBYyxDQUFDLFVBQVUsQ0FBQyxDQUFDLFlBQVksQ0FBQyxFQUFFLENBQUMsTUFBTSxDQUFDLENBQUM7NEJBQ2xHLElBQUksQ0FBQyxjQUFjLEVBQUUsQ0FBQzs0QkFDdEIsSUFBSSxDQUFDLFdBQVcsQ0FBQyxHQUFHLEVBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxDQUFDOzRCQUM3QixJQUFHLEtBQUksQ0FBQyxVQUFVO2dDQUFFLEtBQUksQ0FBQyxVQUFVLENBQUMsSUFBSSxFQUFFLENBQUM7NEJBQzNDLFFBQVEsQ0FBQyxTQUFTLEdBQUcsQ0FBQyxDQUFDOzRCQUN2QixFQUFFLENBQUMsRUFBRSxDQUFDLFVBQVUsQ0FBQyxPQUFPLENBQUMsUUFBUSxHQUFHLEtBQUksQ0FBQyxTQUFTLENBQUM7NEJBQ25ELEtBQUksQ0FBQyxRQUFRLENBQUMsQ0FBQyxDQUFDLENBQUM7eUJBQ3BCO29CQUNMLENBQUMsRUFBRSxHQUFHLENBQUMsQ0FBQztpQkFDWDtxQkFDRztvQkFDQSxTQUFTLEdBQUcsS0FBSyxDQUFDO29CQUNsQiwwQkFBMEI7aUJBQzdCO2FBRUo7aUJBQ0c7Z0JBQ0EsSUFBRyxJQUFJLENBQUMsVUFBVSxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLElBQUksS0FBSyxHQUFHLENBQUMsR0FBRyxJQUFJLENBQUMsVUFBVSxDQUFDLE1BQU0sRUFBRztvQkFDckUsU0FBUyxHQUFHLFdBQVcsQ0FBQztvQkFDeEIsQ0FBQyxHQUFHLElBQUksQ0FBQyxVQUFVLENBQUMsS0FBSyxHQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsR0FBQyxJQUFJLENBQUMsU0FBUyxDQUFDLENBQUMsQ0FBQyxDQUFDLE1BQU0sR0FBQyxJQUFJLENBQUMsVUFBVSxDQUFDLEtBQUssR0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUM7aUJBQ3RGO3FCQUNJLElBQUcsS0FBSyxHQUFDLENBQUMsR0FBRyxJQUFJLENBQUMsVUFBVSxDQUFDLE1BQU0sRUFBQztvQkFDckMsSUFBRyxJQUFJLENBQUMsVUFBVSxDQUFDLEtBQUssR0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxFQUFDO3dCQUMvQixTQUFTLEdBQUcsU0FBUyxDQUFDO3FCQUN6Qjt5QkFDSSxJQUFHLElBQUksQ0FBQyxVQUFVLENBQUMsS0FBSyxHQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLElBQUksS0FBSyxJQUFJLENBQUMsSUFBSSxLQUFLLEdBQUcsQ0FBQyxHQUFHLElBQUksQ0FBQyxVQUFVLENBQUMsTUFBTSxFQUFDO3dCQUN4RiwwREFBMEQ7d0JBQzFELFNBQVMsR0FBRyxJQUFJLENBQUMsWUFBWSxDQUFDLEtBQUssRUFBQyxJQUFJLENBQUMsVUFBVSxDQUFDLENBQUM7cUJBQ3hEO3lCQUNHO3dCQUNBLFNBQVMsR0FBRyxJQUFJLENBQUMsWUFBWSxDQUFDLEtBQUssRUFBQyxJQUFJLENBQUMsVUFBVSxDQUFDLENBQUM7cUJBQ3hEO2lCQUNKO3FCQUNHO29CQUNBLFNBQVMsR0FBRyxJQUFJLENBQUMsWUFBWSxDQUFDLEtBQUssRUFBQyxJQUFJLENBQUMsVUFBVSxDQUFDLENBQUM7aUJBQ3hEO2FBQ0o7WUFDRCwwRUFBMEU7WUFFMUUsMkNBQTJDO1lBQzNDLElBQUksRUFBRSxHQUFHLElBQUksQ0FBQyxXQUFXLENBQUMsS0FBSyxFQUFDLElBQUksQ0FBQyxVQUFVLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQyxFQUFDLElBQUksQ0FBQyxVQUFVLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQyxFQUFDLFNBQVMsRUFBQyxJQUFJLENBQUMsVUFBVSxDQUFDLENBQUM7WUFFN0csNkNBQTZDO1lBQzdDLElBQUcsU0FBUyxJQUFJLEtBQUssSUFBSSxTQUFTLElBQUksRUFBRSxJQUFJLEVBQUUsSUFBSSxLQUFLLEVBQUM7Z0JBQ3BELEVBQUUsQ0FBQyxFQUFFLENBQUMsYUFBYSxDQUFDLElBQUksQ0FBQyxFQUFFLENBQUMsRUFBRSxDQUFDLE9BQU8sQ0FBQyxVQUFVLEVBQUMsTUFBTSxDQUFDLENBQUM7Z0JBRTFELE9BQU87YUFDVjtZQUNELElBQUksQ0FBQyxHQUFDLENBQUMsSUFBSSxDQUFDLEdBQUcsQ0FBQyxJQUFJLENBQUMsV0FBVyxDQUFDLE1BQU0sR0FBQyxDQUFDLENBQUMsRUFBQztnQkFDdkMsRUFBRSxDQUFDLEVBQUUsQ0FBQyxhQUFhLENBQUMsSUFBSSxDQUFDLEVBQUUsQ0FBQyxFQUFFLENBQUMsT0FBTyxDQUFDLFVBQVUsRUFBQyxNQUFNLENBQUMsQ0FBQztnQkFDMUQsT0FBTzthQUNWO1lBRUQsSUFBSSxNQUFNLEdBQUcsSUFBSSxDQUFDLFdBQVcsQ0FBQyxDQUFDLENBQUMsQ0FBQyxZQUFZLENBQUMsT0FBTyxDQUFDLENBQUM7WUFDdkQsTUFBTSxDQUFDLE9BQU8sQ0FBQyxTQUFTLENBQUMsQ0FBQztZQUUxQixJQUFHLEtBQUssR0FBRyxDQUFDLElBQUksS0FBSyxHQUFHLElBQUksQ0FBQyxVQUFVLENBQUMsTUFBTSxHQUFDLENBQUMsRUFBQztnQkFDN0MsSUFBRyxJQUFJLENBQUMsVUFBVSxDQUFDLEtBQUssR0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxFQUFDO29CQUMvQixJQUFJLENBQUMsUUFBUSxDQUFDLEtBQUssR0FBQyxDQUFDLEVBQUMsSUFBSSxDQUFDLFVBQVUsRUFBQyxNQUFNLENBQUMsQ0FBQztvQkFDOUMsU0FBUyxHQUFHLEtBQUssQ0FBQztvQkFDbEIsT0FBTztpQkFFVjtxQkFDSSxJQUFHLEtBQUssSUFBSSxDQUFDLElBQUksSUFBSSxDQUFDLFVBQVUsQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxFQUFDO29CQUNoRCxJQUFJLENBQUMsUUFBUSxDQUFDLEtBQUssRUFBQyxJQUFJLENBQUMsVUFBVSxFQUFDLE1BQU0sQ0FBQyxDQUFDO29CQUM1QyxTQUFTLEdBQUcsS0FBSyxDQUFDO29CQUNsQixPQUFPO2lCQUNWO2FBQ0o7WUFDRCxJQUFJLEdBQUcsR0FBRyxFQUFFLENBQUMsRUFBRSxFQUFFLENBQUM7WUFDbEIsSUFBRyxTQUFTLElBQUksS0FBSyxFQUFDO2dCQUNsQixJQUFHLEtBQUssR0FBRyxDQUFDLEVBQUM7b0JBQ1QsdUNBQXVDO29CQUNuQyxHQUFHLEdBQUcsRUFBRSxDQUFDLEVBQUUsQ0FBQyxJQUFJLENBQUMsVUFBVSxDQUFDLEtBQUssR0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEVBQUUsSUFBSSxDQUFDLFVBQVUsQ0FBQyxLQUFLLEdBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUM7b0JBQ3hFLElBQUk7aUJBQ1A7YUFDSjtZQUNELElBQUksSUFBSSxHQUFHO2dCQUNQLEtBQUssRUFBQyxLQUFLO2dCQUNYLElBQUksRUFBQyxFQUFFLENBQUMsRUFBRSxDQUFDLFVBQVUsQ0FBQyxTQUFTLENBQUMsVUFBVSxDQUFDLEVBQUUsQ0FBQyxFQUFFLENBQUMsVUFBVSxDQUFDLE9BQU8sQ0FBQyxLQUFLLENBQUM7Z0JBQzFFLElBQUksRUFBQyxJQUFJLENBQUMsVUFBVSxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUM7Z0JBQzdCLFNBQVMsRUFBQyxTQUFTO2dCQUNuQixJQUFJLEVBQUMsR0FBRzthQUNYLENBQUM7WUFFRixNQUFNLENBQUMsT0FBTyxDQUFDLElBQUksQ0FBQyxDQUFDO1NBQ3hCO0lBQ0wsQ0FBQztJQUNEOzs7Ozs7O09BT0c7SUFDSCxpQ0FBVyxHQUFYLFVBQVksS0FBSyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsU0FBUyxFQUFDLElBQUk7UUFDaEMsSUFBSSxFQUFFLEdBQUcsSUFBSSxDQUFDO1FBQ2QsSUFBRyxDQUFDLEdBQUcsQ0FBQyxJQUFJLENBQUMsSUFBSSxJQUFJLENBQUMsU0FBUyxJQUFJLENBQUMsR0FBRyxDQUFDLElBQUksQ0FBQyxJQUFJLElBQUksQ0FBQyxTQUFTLEVBQUM7WUFDNUQsRUFBRSxHQUFHLEtBQUssQ0FBQztZQUNYLDRCQUE0QjtZQUM1QixzQkFBc0I7WUFDdEIsRUFBRSxDQUFDLEVBQUUsQ0FBQyxhQUFhLENBQUMsSUFBSSxDQUFDLEVBQUUsQ0FBQyxFQUFFLENBQUMsT0FBTyxDQUFDLFVBQVUsRUFBQyxNQUFNLENBQUMsQ0FBQztTQUM3RDthQUNJO1lBQ0QsSUFBSSxDQUFDLEdBQUcsSUFBSSxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsR0FBQyxJQUFJLENBQUMsU0FBUyxDQUFDLENBQUMsQ0FBQyxDQUFDLE1BQU0sR0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQyxDQUFDO1lBQzdELElBQUksTUFBTSxHQUFHLElBQUksQ0FBQyxXQUFXLENBQUMsQ0FBQyxDQUFDLENBQUMsWUFBWSxDQUFDLE9BQU8sQ0FBQyxDQUFDO1lBQ3ZELElBQUcsTUFBTSxDQUFDLFVBQVUsSUFBSSxDQUFDLEVBQUM7Z0JBQ3RCLEVBQUUsR0FBRyxLQUFLLENBQUM7Z0JBQ1gsNEJBQTRCO2dCQUM1QixzQkFBc0I7Z0JBQ3RCLEVBQUUsQ0FBQyxFQUFFLENBQUMsYUFBYSxDQUFDLElBQUksQ0FBQyxFQUFFLENBQUMsRUFBRSxDQUFDLE9BQU8sQ0FBQyxVQUFVLEVBQUMsTUFBTSxDQUFDLENBQUM7YUFDN0Q7aUJBQ0ksSUFBRyxNQUFNLENBQUMsVUFBVSxJQUFJLENBQUMsSUFBSSxTQUFTLElBQUksV0FBVyxFQUFDO2dCQUN2RCxFQUFFLEdBQUcsS0FBSyxDQUFDO2dCQUNYLCtCQUErQjtnQkFDL0IseUJBQXlCO2dCQUN6QixFQUFFLENBQUMsRUFBRSxDQUFDLGFBQWEsQ0FBQyxJQUFJLENBQUMsRUFBRSxDQUFDLEVBQUUsQ0FBQyxPQUFPLENBQUMsVUFBVSxFQUFDLE1BQU0sQ0FBQyxDQUFDO2FBQzdEO1NBQ0o7UUFDRCxPQUFPLEVBQUUsQ0FBQztJQUNkLENBQUM7SUFDRDs7O09BR0c7SUFDSCw4QkFBUSxHQUFSLFVBQVMsS0FBSztRQUNWLEtBQUssR0FBRyxRQUFRLENBQUMsS0FBSyxDQUFDLENBQUM7UUFFeEIsSUFBRyxLQUFLLElBQUksSUFBSSxDQUFDLFdBQVcsQ0FBQyxNQUFNLEdBQUMsQ0FBQyxFQUFDO1lBQ2xDLElBQUksQ0FBQyxHQUFHLElBQUksQ0FBQyxXQUFXLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQyxHQUFDLElBQUksQ0FBQyxTQUFTLENBQUMsQ0FBQyxDQUFDLENBQUMsTUFBTSxHQUFDLElBQUksQ0FBQyxXQUFXLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQyxDQUFDO1lBQ3JGLElBQUksU0FBUyxHQUFHLEVBQUUsQ0FBQztZQUNuQixJQUFJLFNBQVMsR0FBRyxJQUFJLENBQUM7WUFDckIsUUFBUTtZQUNSLElBQUcsS0FBSyxJQUFJLElBQUksQ0FBQyxXQUFXLENBQUMsTUFBTSxHQUFDLENBQUMsRUFBQztnQkFDbEMsU0FBUyxHQUFHLEtBQUssQ0FBQztnQkFDbEIsU0FBUyxHQUFHLEtBQUssQ0FBQzthQUNyQjtpQkFDRztnQkFDQSxJQUFHLElBQUksQ0FBQyxXQUFXLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsSUFBSSxLQUFLLEdBQUcsQ0FBQyxHQUFHLElBQUksQ0FBQyxXQUFXLENBQUMsTUFBTSxJQUFJLEtBQUssSUFBRSxDQUFDLEVBQUU7b0JBQ2xGLFNBQVMsR0FBRyxXQUFXLENBQUM7b0JBQ3hCLENBQUMsR0FBRyxJQUFJLENBQUMsV0FBVyxDQUFDLEtBQUssR0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEdBQUMsSUFBSSxDQUFDLFNBQVMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxNQUFNLEdBQUMsSUFBSSxDQUFDLFdBQVcsQ0FBQyxLQUFLLEdBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDO2lCQUN4RjtxQkFDSSxJQUFHLEtBQUssR0FBQyxDQUFDLEdBQUcsSUFBSSxDQUFDLFdBQVcsQ0FBQyxNQUFNLEVBQUM7b0JBQ3RDLElBQUcsSUFBSSxDQUFDLFdBQVcsQ0FBQyxLQUFLLEdBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsRUFBQzt3QkFDaEMsU0FBUyxHQUFHLFNBQVMsQ0FBQztxQkFDekI7eUJBQ0ksSUFBRyxJQUFJLENBQUMsV0FBVyxDQUFDLEtBQUssR0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxJQUFJLEtBQUssSUFBSSxDQUFDLEVBQUM7d0JBQ25ELFNBQVMsR0FBRyxXQUFXLENBQUM7cUJBQzNCO3lCQUNHO3dCQUNBLFNBQVMsR0FBRyxJQUFJLENBQUMsWUFBWSxDQUFDLEtBQUssRUFBQyxJQUFJLENBQUMsV0FBVyxDQUFDLENBQUM7cUJBQ3pEO2lCQUNKO3FCQUNHO29CQUNBLFNBQVMsR0FBRyxJQUFJLENBQUMsWUFBWSxDQUFDLEtBQUssRUFBQyxJQUFJLENBQUMsV0FBVyxDQUFDLENBQUM7aUJBQ3pEO2FBQ0o7WUFDRCxJQUFJLEVBQUUsR0FBRyxJQUFJLENBQUMsV0FBVyxDQUFDLEtBQUssRUFBQyxJQUFJLENBQUMsV0FBVyxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsRUFBQyxJQUFJLENBQUMsV0FBVyxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsRUFBQyxTQUFTLEVBQUMsSUFBSSxDQUFDLFdBQVcsQ0FBQyxDQUFDO1lBQ2hILElBQUcsU0FBUyxJQUFJLEVBQUUsSUFBSSxFQUFFLElBQUksS0FBSyxJQUFJLFNBQVMsSUFBSSxLQUFLLEVBQUM7Z0JBQ3BELEVBQUUsQ0FBQyxFQUFFLENBQUMsYUFBYSxDQUFDLElBQUksQ0FBQyxFQUFFLENBQUMsRUFBRSxDQUFDLE9BQU8sQ0FBQyxVQUFVLEVBQUMsTUFBTSxDQUFDLENBQUM7Z0JBQzFELE9BQU87YUFDVjtZQUNELElBQUksTUFBTSxHQUFHLElBQUksQ0FBQyxXQUFXLENBQUMsQ0FBQyxDQUFDLENBQUMsWUFBWSxDQUFDLE9BQU8sQ0FBQyxDQUFDO1lBQ3ZELE1BQU0sQ0FBQyxPQUFPLENBQUMsU0FBUyxDQUFDLENBQUM7WUFFMUIsSUFBRyxLQUFLLEdBQUcsQ0FBQyxJQUFJLEtBQUssR0FBRyxJQUFJLENBQUMsV0FBVyxDQUFDLE1BQU0sR0FBQyxDQUFDLEVBQUM7Z0JBQzlDLElBQUcsSUFBSSxDQUFDLFdBQVcsQ0FBQyxLQUFLLEdBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsRUFBQztvQkFDaEMsSUFBSSxDQUFDLFFBQVEsQ0FBQyxLQUFLLEdBQUMsQ0FBQyxFQUFDLElBQUksQ0FBQyxXQUFXLEVBQUMsT0FBTyxDQUFDLENBQUM7b0JBQ2hELFNBQVMsR0FBRyxLQUFLLENBQUM7b0JBQ2xCLE9BQU87aUJBQ1Y7cUJBQ0ksSUFBRyxLQUFLLElBQUksQ0FBQyxJQUFJLElBQUksQ0FBQyxXQUFXLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsRUFBQztvQkFDakQsSUFBSSxDQUFDLFFBQVEsQ0FBQyxLQUFLLEVBQUMsSUFBSSxDQUFDLFdBQVcsRUFBQyxPQUFPLENBQUMsQ0FBQztvQkFDOUMsU0FBUyxHQUFHLEtBQUssQ0FBQztvQkFDbEIsT0FBTztpQkFDVjthQUNKO1lBRUQsSUFBSSxHQUFHLEdBQUcsRUFBRSxDQUFDLEVBQUUsRUFBRSxDQUFDO1lBQ2xCLElBQUcsU0FBUyxJQUFJLEtBQUssRUFBQztnQkFDbEIsSUFBRyxLQUFLLEdBQUcsQ0FBQyxFQUFDO29CQUNULElBQUcsSUFBSSxDQUFDLFdBQVcsQ0FBQyxLQUFLLEdBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsRUFBQzt3QkFDaEMsR0FBRyxHQUFHLEVBQUUsQ0FBQyxFQUFFLENBQUMsSUFBSSxDQUFDLFdBQVcsQ0FBQyxLQUFLLEdBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxFQUFFLElBQUksQ0FBQyxXQUFXLENBQUMsS0FBSyxHQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDO3FCQUN6RTtpQkFDSjthQUNKO1lBQ0QsSUFBSSxJQUFJLEdBQUc7Z0JBQ1AsS0FBSyxFQUFDLEtBQUs7Z0JBQ1gsSUFBSSxFQUFDLEVBQUUsQ0FBQyxFQUFFLENBQUMsVUFBVSxDQUFDLFNBQVMsQ0FBQyxVQUFVLENBQUMsRUFBRSxDQUFDLEVBQUUsQ0FBQyxVQUFVLENBQUMsT0FBTyxDQUFDLEtBQUssQ0FBQztnQkFDMUUsSUFBSSxFQUFDLElBQUksQ0FBQyxXQUFXLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQztnQkFDOUIsU0FBUyxFQUFDLFNBQVM7Z0JBQ25CLElBQUksRUFBQyxHQUFHO2FBQ1gsQ0FBQztZQUNGLE1BQU0sQ0FBQyxRQUFRLENBQUMsSUFBSSxDQUFDLENBQUM7U0FDekI7SUFDTCxDQUFDO0lBQ0Q7Ozs7T0FJRztJQUNILGdDQUFVLEdBQVYsVUFBVyxLQUFLLEVBQUMsSUFBSTtRQUNqQixJQUFJLFNBQVMsR0FBRyxJQUFJLENBQUM7UUFDckIsZUFBZTtRQUNmLElBQUcsS0FBSyxHQUFHLENBQUMsR0FBRyxJQUFJLENBQUMsTUFBTSxFQUFDO1lBQ3ZCLFNBQVMsR0FBRyxJQUFJLENBQUMsWUFBWSxDQUFDLEtBQUssRUFBQyxJQUFJLENBQUMsQ0FBQztZQUMxQyxJQUFHLFNBQVMsSUFBSSxJQUFJLElBQUksU0FBUyxJQUFJLFVBQVUsSUFBSSxTQUFTLElBQUksU0FBUyxFQUFDO2dCQUN0RSxTQUFTLEdBQUcsSUFBSSxDQUFDO2FBQ3BCO2lCQUNJLElBQUcsU0FBUyxJQUFJLE1BQU0sSUFBSSxTQUFTLElBQUksV0FBVyxJQUFJLFNBQVMsSUFBSSxZQUFZLEVBQUM7Z0JBQ2pGLFNBQVMsR0FBRyxNQUFNLENBQUM7YUFDdEI7aUJBQ0ksSUFBRyxTQUFTLElBQUksTUFBTSxJQUFJLFNBQVMsSUFBSSxTQUFTLElBQUksU0FBUyxJQUFJLFdBQVcsRUFBQztnQkFDOUUsU0FBUyxHQUFHLE1BQU0sQ0FBQzthQUN0QjtpQkFDSSxJQUFHLFNBQVMsSUFBSSxPQUFPLElBQUksU0FBUyxJQUFJLFVBQVUsSUFBSSxTQUFTLElBQUksWUFBWSxFQUFDO2dCQUNqRixTQUFTLEdBQUcsT0FBTyxDQUFDO2FBQ3ZCO1NBQ0o7UUFDRCxPQUFPLFNBQVMsQ0FBQztJQUNyQixDQUFDO0lBQ0Q7Ozs7O09BS0c7SUFDSCw4QkFBUSxHQUFSLFVBQVMsS0FBSyxFQUFDLElBQUksRUFBQyxJQUFJO1FBQ3BCLElBQUksU0FBUyxHQUFHLElBQUksQ0FBQyxVQUFVLENBQUMsS0FBSyxFQUFDLElBQUksQ0FBQyxDQUFDO1FBRTVDLElBQUksTUFBTSxHQUFHLENBQUMsQ0FBQztRQUNmLElBQUcsU0FBUyxJQUFJLE9BQU8sRUFBQztZQUNwQixNQUFNLEdBQUcsSUFBSSxDQUFDLFNBQVMsR0FBRyxDQUFDLENBQUM7WUFDNUIsaUNBQWlDO1lBQ2pDLEtBQUksSUFBSSxDQUFDLEdBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsRUFBQyxDQUFDLElBQUUsTUFBTSxFQUFDLENBQUMsRUFBRSxFQUFDO2dCQUNsQyxJQUFJLENBQUMsR0FBRyxDQUFDLEdBQUMsSUFBSSxDQUFDLFNBQVMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxNQUFNLEdBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsQ0FBQztnQkFDakQsSUFBSSxNQUFNLEdBQUcsSUFBSSxDQUFDLFdBQVcsQ0FBQyxDQUFDLENBQUMsQ0FBQyxZQUFZLENBQUMsT0FBTyxDQUFDLENBQUM7Z0JBQ3ZELElBQUcsTUFBTSxDQUFDLFVBQVUsSUFBSSxDQUFDLElBQUksTUFBTSxDQUFDLFVBQVUsSUFBSSxDQUFDLEVBQUM7b0JBQ2hELE1BQU0sR0FBRyxDQUFDLEdBQUMsQ0FBQyxDQUFDO29CQUNiLElBQUcsTUFBTSxDQUFDLFVBQVUsSUFBSSxDQUFDLEVBQUM7d0JBQ3RCLE1BQU0sSUFBSSxDQUFDLENBQUM7cUJBQ2Y7b0JBQ0QsQ0FBQyxHQUFHLEtBQUssQ0FBQztvQkFDVixNQUFNO2lCQUNUO2FBRUo7U0FDSjthQUNJLElBQUcsU0FBUyxJQUFJLE1BQU0sRUFBQztZQUN4QixNQUFNLEdBQUcsQ0FBQyxDQUFDO1lBQ1gsS0FBSSxJQUFJLENBQUMsR0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsSUFBRSxNQUFNLEVBQUMsQ0FBQyxFQUFFLEVBQUM7Z0JBQ2xDLElBQUksQ0FBQyxHQUFHLENBQUMsR0FBQyxJQUFJLENBQUMsU0FBUyxDQUFDLENBQUMsQ0FBQyxDQUFDLE1BQU0sR0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQyxDQUFDO2dCQUNqRCxJQUFJLE1BQU0sR0FBRyxJQUFJLENBQUMsV0FBVyxDQUFDLENBQUMsQ0FBQyxDQUFDLFlBQVksQ0FBQyxPQUFPLENBQUMsQ0FBQztnQkFFdkQsSUFBRyxNQUFNLENBQUMsVUFBVSxJQUFJLENBQUMsSUFBSSxNQUFNLENBQUMsVUFBVSxJQUFJLENBQUMsRUFBQztvQkFDaEQsTUFBTSxHQUFJLENBQUMsR0FBRyxDQUFDLENBQUM7b0JBQ2hCLElBQUcsTUFBTSxDQUFDLFVBQVUsSUFBSSxDQUFDLEVBQUM7d0JBQ3RCLE1BQU0sSUFBSSxDQUFDLENBQUM7cUJBQ2Y7b0JBQ0QsQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDO29CQUNQLE1BQU07aUJBQ1Q7YUFDSjtTQUNKO2FBQ0ksSUFBRyxTQUFTLElBQUksSUFBSSxFQUFDO1lBQ3RCLE1BQU0sR0FBRyxDQUFDLENBQUM7WUFFWCxLQUFJLElBQUksQ0FBQyxHQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxJQUFFLE1BQU0sRUFBQyxDQUFDLEVBQUUsRUFBQztnQkFDbEMsSUFBSSxDQUFDLEdBQUcsSUFBSSxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsR0FBQyxJQUFJLENBQUMsU0FBUyxDQUFDLENBQUMsQ0FBQyxDQUFDLE1BQU0sR0FBRyxDQUFDLENBQUM7Z0JBQ25ELElBQUksTUFBTSxHQUFHLElBQUksQ0FBQyxXQUFXLENBQUMsQ0FBQyxDQUFDLENBQUMsWUFBWSxDQUFDLE9BQU8sQ0FBQyxDQUFDO2dCQUN2RCxJQUFHLE1BQU0sQ0FBQyxVQUFVLElBQUksQ0FBQyxJQUFJLE1BQU0sQ0FBQyxVQUFVLElBQUksQ0FBQyxFQUFDO29CQUNoRCxNQUFNLEdBQUcsQ0FBQyxHQUFHLENBQUMsQ0FBQztvQkFDZixJQUFHLE1BQU0sQ0FBQyxVQUFVLElBQUksQ0FBQyxFQUFDO3dCQUN0QixNQUFNLElBQUksQ0FBQyxDQUFDO3FCQUNmO29CQUNELENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQztvQkFDUCxNQUFNO2lCQUNUO2FBQ0o7U0FDSjthQUNJLElBQUcsU0FBUyxJQUFJLE1BQU0sRUFBQztZQUN4QixNQUFNLEdBQUcsSUFBSSxDQUFDLFNBQVMsR0FBRyxDQUFDLENBQUM7WUFDNUIsS0FBSSxJQUFJLENBQUMsR0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsSUFBRSxNQUFNLEVBQUMsQ0FBQyxFQUFFLEVBQUM7Z0JBQ2xDLElBQUksQ0FBQyxHQUFHLElBQUksQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLEdBQUMsSUFBSSxDQUFDLFNBQVMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxNQUFNLEdBQUcsQ0FBQyxDQUFDO2dCQUNuRCxJQUFJLE1BQU0sR0FBRyxJQUFJLENBQUMsV0FBVyxDQUFDLENBQUMsQ0FBQyxDQUFDLFlBQVksQ0FBQyxPQUFPLENBQUMsQ0FBQztnQkFDdkQsSUFBRyxNQUFNLENBQUMsVUFBVSxJQUFJLENBQUMsSUFBSSxNQUFNLENBQUMsVUFBVSxJQUFJLENBQUMsRUFBQztvQkFDaEQsTUFBTSxHQUFHLENBQUMsR0FBQyxDQUFDLENBQUM7b0JBQ2IsSUFBRyxNQUFNLENBQUMsVUFBVSxJQUFJLENBQUMsRUFBQzt3QkFDdEIsTUFBTSxJQUFJLENBQUMsQ0FBQztxQkFDZjtvQkFDRCxDQUFDLEdBQUcsS0FBSyxDQUFDO29CQUNWLE1BQU07aUJBQ1Q7YUFFSjtTQUNKO1FBRUQsSUFBSSxDQUFDLFNBQVMsQ0FBQyxTQUFTLEVBQUMsS0FBSyxFQUFDLE1BQU0sRUFBQyxJQUFJLEVBQUMsSUFBSSxDQUFDLENBQUM7SUFDckQsQ0FBQztJQUNELFdBQVc7SUFDWCwrQkFBUyxHQUFULFVBQVUsU0FBUyxFQUFDLEtBQUssRUFBQyxNQUFNLEVBQUMsSUFBSSxFQUFDLElBQUk7UUFFdEMsSUFBSSxLQUFLLEdBQUcsSUFBSSxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsQ0FBQztRQUMxQixJQUFHLFNBQVMsSUFBSSxPQUFPLEVBQUM7WUFDcEIsS0FBSSxJQUFJLENBQUMsR0FBRyxLQUFLLEVBQUUsQ0FBQyxJQUFFLE1BQU0sRUFBRSxDQUFDLEVBQUUsRUFBQztnQkFDOUIsSUFBSSxDQUFDLEdBQUcsQ0FBQyxHQUFDLElBQUksQ0FBQyxTQUFTLENBQUMsQ0FBQyxDQUFDLENBQUMsTUFBTSxHQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLENBQUM7Z0JBQ2pELElBQUksTUFBTSxHQUFHLElBQUksQ0FBQyxXQUFXLENBQUMsQ0FBQyxDQUFDLENBQUMsWUFBWSxDQUFDLE9BQU8sQ0FBQyxDQUFDO2dCQUN2RCxJQUFHLENBQUMsSUFBSSxLQUFLLEVBQUM7b0JBQ1YsSUFBRyxDQUFDLElBQUksS0FBSyxJQUFJLENBQUMsSUFBRSxNQUFNLEVBQUM7d0JBQ3ZCLEVBQUUsQ0FBQyxFQUFFLENBQUMsYUFBYSxDQUFDLElBQUksQ0FBQyxFQUFFLENBQUMsRUFBRSxDQUFDLE9BQU8sQ0FBQyxVQUFVLEVBQUMsTUFBTSxDQUFDLENBQUM7d0JBQzFELE1BQU0sQ0FBQyxlQUFlLENBQUMsSUFBSSxDQUFDLFlBQVksQ0FBQyxLQUFLLEVBQUMsSUFBSSxDQUFDLEVBQUMsS0FBSyxFQUFDLElBQUksQ0FBQyxDQUFDO3FCQUNwRTs7d0JBQ0ksTUFBTSxDQUFDLGVBQWUsQ0FBQyxJQUFJLENBQUMsWUFBWSxDQUFDLEtBQUssRUFBQyxJQUFJLENBQUMsRUFBQyxJQUFJLEVBQUMsSUFBSSxDQUFDLENBQUM7b0JBQ3JFLElBQUksS0FBSyxHQUFHLEVBQUUsQ0FBQyxFQUFFLENBQUMsSUFBSSxDQUFDLFVBQVUsQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLEVBQUMsSUFBSSxDQUFDLFVBQVUsQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLENBQUM7b0JBQ3ZFLElBQUcsSUFBSSxDQUFDLFdBQVcsQ0FBQyxJQUFJLENBQUMsV0FBVyxDQUFDLE1BQU0sR0FBQyxDQUFDLENBQUMsSUFBSSxLQUFLLEVBQUM7d0JBQ3BELDBFQUEwRTt3QkFDMUUsSUFBSSxDQUFDLFdBQVcsQ0FBQyxLQUFLLENBQUMsQ0FBQztxQkFDM0I7aUJBQ0o7cUJBQ0k7b0JBQ0QsSUFBSSxFQUFFLEdBQUcsSUFBSSxDQUFDO29CQUNkLElBQUcsQ0FBQyxJQUFJLE1BQU0sRUFBQzt3QkFDWCxJQUFJLE1BQU0sR0FBRyxDQUFDLEdBQUcsS0FBSyxHQUFFLENBQUMsQ0FBQzt3QkFDMUIsSUFBSSxDQUFDLFVBQVUsQ0FBQyxLQUFLLEVBQUMsTUFBTSxFQUFDLEtBQUssRUFBQyxJQUFJLENBQUMsQ0FBQzt3QkFDekMsRUFBRSxHQUFHLEtBQUssQ0FBQztxQkFDZDtvQkFDRCxNQUFNLENBQUMsZUFBZSxDQUFDLFNBQVMsRUFBQyxFQUFFLEVBQUMsSUFBSSxDQUFDLENBQUM7aUJBQzdDO2FBQ0o7U0FDSjthQUNJLElBQUcsU0FBUyxJQUFJLE1BQU0sRUFBQztZQUN4QixLQUFJLElBQUksQ0FBQyxHQUFHLEtBQUssRUFBRSxDQUFDLElBQUUsTUFBTSxFQUFFLENBQUMsRUFBRSxFQUFDO2dCQUM5QixJQUFJLENBQUMsR0FBRyxDQUFDLEdBQUMsSUFBSSxDQUFDLFNBQVMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxNQUFNLEdBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsQ0FBQztnQkFDakQsSUFBSSxNQUFNLEdBQUcsSUFBSSxDQUFDLFdBQVcsQ0FBQyxDQUFDLENBQUMsQ0FBQyxZQUFZLENBQUMsT0FBTyxDQUFDLENBQUM7Z0JBQ3ZELElBQUcsQ0FBQyxJQUFJLEtBQUssRUFBQztvQkFDVixJQUFHLENBQUMsSUFBSSxLQUFLLElBQUksQ0FBQyxJQUFFLE1BQU0sRUFBQzt3QkFDdkIsRUFBRSxDQUFDLEVBQUUsQ0FBQyxhQUFhLENBQUMsSUFBSSxDQUFDLEVBQUUsQ0FBQyxFQUFFLENBQUMsT0FBTyxDQUFDLFVBQVUsRUFBQyxNQUFNLENBQUMsQ0FBQzt3QkFDMUQsTUFBTSxDQUFDLGVBQWUsQ0FBQyxJQUFJLENBQUMsWUFBWSxDQUFDLEtBQUssRUFBQyxJQUFJLENBQUMsRUFBQyxLQUFLLEVBQUMsSUFBSSxDQUFDLENBQUM7cUJBQ3BFOzt3QkFDSSxNQUFNLENBQUMsZUFBZSxDQUFDLElBQUksQ0FBQyxZQUFZLENBQUMsS0FBSyxFQUFDLElBQUksQ0FBQyxFQUFDLElBQUksRUFBQyxJQUFJLENBQUMsQ0FBQztvQkFDckUsSUFBSSxLQUFLLEdBQUcsRUFBRSxDQUFDLEVBQUUsQ0FBQyxJQUFJLENBQUMsVUFBVSxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsRUFBQyxJQUFJLENBQUMsVUFBVSxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsQ0FBQztvQkFDdkUsSUFBRyxJQUFJLENBQUMsV0FBVyxDQUFDLElBQUksQ0FBQyxXQUFXLENBQUMsTUFBTSxHQUFDLENBQUMsQ0FBQyxJQUFJLEtBQUssRUFBQzt3QkFDcEQsMEVBQTBFO3dCQUMxRSxJQUFJLENBQUMsV0FBVyxDQUFDLEtBQUssQ0FBQyxDQUFDO3FCQUMzQjtpQkFDSjtxQkFDSTtvQkFDRCxJQUFJLEVBQUUsR0FBRyxJQUFJLENBQUM7b0JBQ2QsSUFBRyxDQUFDLElBQUksTUFBTSxFQUFDO3dCQUNYLElBQUksTUFBTSxHQUFHLENBQUMsR0FBRyxLQUFLLEdBQUcsQ0FBQyxDQUFDO3dCQUMzQixJQUFJLENBQUMsVUFBVSxDQUFDLEtBQUssRUFBQyxNQUFNLEVBQUMsS0FBSyxFQUFDLElBQUksQ0FBQyxDQUFDO3dCQUN6QyxFQUFFLEdBQUcsS0FBSyxDQUFDO3FCQUNkO29CQUNELE1BQU0sQ0FBQyxlQUFlLENBQUMsU0FBUyxFQUFDLEVBQUUsRUFBQyxJQUFJLENBQUMsQ0FBQztpQkFDN0M7YUFDSjtTQUNKO2FBQ0ksSUFBRyxTQUFTLElBQUksSUFBSSxFQUFDO1lBQ3RCLEtBQUssR0FBRyxJQUFJLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQyxDQUFDO1lBQ3RCLEtBQUksSUFBSSxDQUFDLEdBQUcsS0FBSyxFQUFFLENBQUMsSUFBRSxNQUFNLEVBQUUsQ0FBQyxFQUFFLEVBQUM7Z0JBQzlCLElBQUksQ0FBQyxHQUFHLElBQUksQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLEdBQUMsSUFBSSxDQUFDLFNBQVMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxNQUFNLEdBQUMsQ0FBQyxDQUFDO2dCQUNqRCxJQUFJLE1BQU0sR0FBRyxJQUFJLENBQUMsV0FBVyxDQUFDLENBQUMsQ0FBQyxDQUFDLFlBQVksQ0FBQyxPQUFPLENBQUMsQ0FBQztnQkFDdkQsSUFBRyxDQUFDLElBQUksS0FBSyxFQUFDO29CQUNWLElBQUcsQ0FBQyxJQUFJLEtBQUssSUFBSSxDQUFDLElBQUUsTUFBTSxFQUFDO3dCQUN2QixFQUFFLENBQUMsRUFBRSxDQUFDLGFBQWEsQ0FBQyxJQUFJLENBQUMsRUFBRSxDQUFDLEVBQUUsQ0FBQyxPQUFPLENBQUMsVUFBVSxFQUFDLE1BQU0sQ0FBQyxDQUFDO3dCQUMxRCxNQUFNLENBQUMsZUFBZSxDQUFDLElBQUksQ0FBQyxZQUFZLENBQUMsS0FBSyxFQUFDLElBQUksQ0FBQyxFQUFDLEtBQUssRUFBQyxJQUFJLENBQUMsQ0FBQztxQkFDcEU7eUJBQ0c7d0JBQ0EsTUFBTSxDQUFDLGVBQWUsQ0FBQyxJQUFJLENBQUMsWUFBWSxDQUFDLEtBQUssRUFBQyxJQUFJLENBQUMsRUFBQyxJQUFJLEVBQUMsSUFBSSxDQUFDLENBQUM7cUJBQ25FO29CQUNELElBQUksS0FBSyxHQUFHLEVBQUUsQ0FBQyxFQUFFLENBQUMsSUFBSSxDQUFDLFVBQVUsQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLEVBQUMsSUFBSSxDQUFDLFVBQVUsQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLENBQUM7b0JBQ3ZFLElBQUcsSUFBSSxDQUFDLFdBQVcsQ0FBQyxJQUFJLENBQUMsV0FBVyxDQUFDLE1BQU0sR0FBQyxDQUFDLENBQUMsSUFBSSxLQUFLLEVBQUM7d0JBQ3BELDBFQUEwRTt3QkFDMUUsSUFBSSxDQUFDLFdBQVcsQ0FBQyxLQUFLLENBQUMsQ0FBQztxQkFDM0I7aUJBQ0o7cUJBQ0k7b0JBQ0QsSUFBSSxFQUFFLEdBQUcsSUFBSSxDQUFDO29CQUNkLElBQUcsQ0FBQyxJQUFJLE1BQU0sRUFBQzt3QkFDWCxJQUFJLE1BQU0sR0FBRyxDQUFDLEdBQUcsS0FBSyxHQUFHLENBQUMsQ0FBQzt3QkFDM0IsSUFBSSxDQUFDLFVBQVUsQ0FBQyxLQUFLLEVBQUMsTUFBTSxFQUFDLElBQUksRUFBQyxJQUFJLENBQUMsQ0FBQzt3QkFDeEMsRUFBRSxHQUFHLEtBQUssQ0FBQztxQkFDZDtvQkFDRCxxREFBcUQ7b0JBQ3JELE1BQU0sQ0FBQyxlQUFlLENBQUMsU0FBUyxFQUFDLEVBQUUsRUFBQyxJQUFJLENBQUMsQ0FBQztpQkFDN0M7YUFDSjtTQUNKO2FBQ0ksSUFBRyxTQUFTLElBQUksTUFBTSxFQUFDO1lBQ3hCLEtBQUssR0FBRyxJQUFJLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQyxDQUFDO1lBQ3RCLEtBQUksSUFBSSxDQUFDLEdBQUcsS0FBSyxFQUFFLENBQUMsSUFBRSxNQUFNLEVBQUUsQ0FBQyxFQUFFLEVBQUM7Z0JBQzlCLElBQUksQ0FBQyxHQUFHLElBQUksQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLEdBQUMsSUFBSSxDQUFDLFNBQVMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxNQUFNLEdBQUMsQ0FBQyxDQUFDO2dCQUNqRCxJQUFJLE1BQU0sR0FBRyxJQUFJLENBQUMsV0FBVyxDQUFDLENBQUMsQ0FBQyxDQUFDLFlBQVksQ0FBQyxPQUFPLENBQUMsQ0FBQztnQkFDdkQsSUFBRyxDQUFDLElBQUksS0FBSyxFQUFDO29CQUNWLElBQUcsQ0FBQyxJQUFJLEtBQUssSUFBSSxDQUFDLElBQUUsTUFBTSxFQUFDO3dCQUN2QixFQUFFLENBQUMsRUFBRSxDQUFDLGFBQWEsQ0FBQyxJQUFJLENBQUMsRUFBRSxDQUFDLEVBQUUsQ0FBQyxPQUFPLENBQUMsVUFBVSxFQUFDLE1BQU0sQ0FBQyxDQUFDO3dCQUMxRCxNQUFNLENBQUMsZUFBZSxDQUFDLElBQUksQ0FBQyxZQUFZLENBQUMsS0FBSyxFQUFDLElBQUksQ0FBQyxFQUFDLEtBQUssRUFBQyxJQUFJLENBQUMsQ0FBQztxQkFDcEU7O3dCQUNJLE1BQU0sQ0FBQyxlQUFlLENBQUMsSUFBSSxDQUFDLFlBQVksQ0FBQyxLQUFLLEVBQUMsSUFBSSxDQUFDLEVBQUMsSUFBSSxFQUFDLElBQUksQ0FBQyxDQUFDO29CQUNyRSxJQUFJLEtBQUssR0FBRyxFQUFFLENBQUMsRUFBRSxDQUFDLElBQUksQ0FBQyxVQUFVLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQyxFQUFDLElBQUksQ0FBQyxVQUFVLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxDQUFDO29CQUN2RSxJQUFHLElBQUksQ0FBQyxXQUFXLENBQUMsSUFBSSxDQUFDLFdBQVcsQ0FBQyxNQUFNLEdBQUMsQ0FBQyxDQUFDLElBQUksS0FBSyxFQUFDO3dCQUNwRCwwRUFBMEU7d0JBQzFFLElBQUksQ0FBQyxXQUFXLENBQUMsS0FBSyxDQUFDLENBQUM7cUJBQzNCO2lCQUNKO3FCQUNJO29CQUNELElBQUksRUFBRSxHQUFHLElBQUksQ0FBQztvQkFDZCxJQUFHLENBQUMsSUFBSSxNQUFNLEVBQUM7d0JBQ1gsSUFBSSxNQUFNLEdBQUcsQ0FBQyxHQUFHLEtBQUssR0FBRyxDQUFDLENBQUM7d0JBQzNCLElBQUksQ0FBQyxVQUFVLENBQUMsS0FBSyxFQUFDLE1BQU0sRUFBQyxJQUFJLEVBQUMsSUFBSSxDQUFDLENBQUM7d0JBQ3hDLEVBQUUsR0FBRyxLQUFLLENBQUM7cUJBQ2Q7b0JBQ0QsTUFBTSxDQUFDLGVBQWUsQ0FBQyxTQUFTLEVBQUMsRUFBRSxFQUFDLElBQUksQ0FBQyxDQUFDO2lCQUM3QzthQUNKO1NBQ0o7SUFDTCxDQUFDO0lBRUQ7OztPQUdHO0lBQ0gsaUNBQVcsR0FBWCxVQUFZLEtBQUs7UUFDYixJQUFJLEVBQUUsR0FBRyxJQUFJLENBQUM7UUFDZCxJQUFHLElBQUksQ0FBQyxXQUFXLENBQUMsTUFBTSxHQUFHLENBQUMsRUFBQztZQUMzQixJQUFHLElBQUksQ0FBQyxXQUFXLENBQUMsSUFBSSxDQUFDLFdBQVcsQ0FBQyxNQUFNLEdBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLEtBQUssQ0FBQyxDQUFDLElBQUksSUFBSSxDQUFDLFdBQVcsQ0FBQyxJQUFJLENBQUMsV0FBVyxDQUFDLE1BQU0sR0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLElBQUksS0FBSyxDQUFDLENBQUMsRUFBQztnQkFDcEgsRUFBRSxHQUFHLEtBQUssQ0FBQzthQUNkO1NBQ0o7UUFDRCxJQUFHLEVBQUU7WUFBRSxJQUFJLENBQUMsV0FBVyxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsQ0FBQztJQUN4QyxDQUFDO0lBQ0Q7Ozs7OztPQU1HO0lBQ0gsZ0NBQVUsR0FBVixVQUFXLEtBQUssRUFBQyxNQUFNLEVBQUMsU0FBUyxFQUFDLElBQUk7UUFFbEMsS0FBSSxJQUFJLENBQUMsR0FBRyxDQUFDLEtBQUssR0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLEdBQUMsSUFBSSxDQUFDLE1BQU0sRUFBRSxDQUFDLEVBQUUsRUFBQztZQUN0QyxJQUFHLENBQUMsU0FBUyxFQUFDO2dCQUNWLElBQUksQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxNQUFNLENBQUMsQ0FBQzthQUN6QjtpQkFDRztnQkFDQSxJQUFJLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsTUFBTSxDQUFDLENBQUM7YUFDekI7U0FDSjtRQUNELElBQUcsU0FBUyxFQUFDO1lBQ1QsSUFBRyxNQUFNLEdBQUcsQ0FBQyxFQUFDO2dCQUNWLEtBQUksSUFBSSxDQUFDLEdBQUUsQ0FBQyxNQUFNLEVBQUUsQ0FBQyxHQUFDLENBQUMsRUFBRSxDQUFDLEVBQUUsRUFBQztvQkFDekIsSUFBSSxDQUFDLFdBQVcsQ0FBQyxFQUFFLENBQUMsRUFBRSxDQUFDLElBQUksQ0FBQyxVQUFVLENBQUMsS0FBSyxHQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsRUFBQyxJQUFJLENBQUMsVUFBVSxDQUFDLEtBQUssR0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEdBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxDQUFDLENBQUM7b0JBQ25GLGdGQUFnRjtpQkFDbkY7YUFDSjtpQkFDRztnQkFDQSxLQUFJLElBQUksQ0FBQyxHQUFDLE1BQU0sRUFBRSxDQUFDLEdBQUMsQ0FBQyxFQUFFLENBQUMsRUFBRSxFQUFDO29CQUN2QixJQUFJLENBQUMsV0FBVyxDQUFDLEVBQUUsQ0FBQyxFQUFFLENBQUMsSUFBSSxDQUFDLFVBQVUsQ0FBQyxLQUFLLEdBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxFQUFDLElBQUksQ0FBQyxVQUFVLENBQUMsS0FBSyxHQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsR0FBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQztvQkFDbkYsZ0ZBQWdGO2lCQUNuRjthQUNKO1NBQ0o7YUFBSTtZQUNELElBQUcsTUFBTSxHQUFHLENBQUMsRUFBQztnQkFDVixLQUFJLElBQUksQ0FBQyxHQUFFLENBQUMsTUFBTSxFQUFFLENBQUMsR0FBQyxDQUFDLEVBQUUsQ0FBQyxFQUFFLEVBQUM7b0JBQ3pCLElBQUksQ0FBQyxXQUFXLENBQUMsRUFBRSxDQUFDLEVBQUUsQ0FBQyxJQUFJLENBQUMsVUFBVSxDQUFDLEtBQUssR0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEdBQUMsQ0FBQyxFQUFDLElBQUksQ0FBQyxVQUFVLENBQUMsS0FBSyxHQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsQ0FBQyxDQUFDO29CQUNuRixnRkFBZ0Y7aUJBQ25GO2FBQ0o7aUJBQ0c7Z0JBQ0EsS0FBSSxJQUFJLENBQUMsR0FBQyxNQUFNLEVBQUUsQ0FBQyxHQUFDLENBQUMsRUFBRSxDQUFDLEVBQUUsRUFBQztvQkFDdkIsSUFBSSxDQUFDLFdBQVcsQ0FBQyxFQUFFLENBQUMsRUFBRSxDQUFDLElBQUksQ0FBQyxVQUFVLENBQUMsS0FBSyxHQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsR0FBQyxDQUFDLEVBQUMsSUFBSSxDQUFDLFVBQVUsQ0FBQyxLQUFLLEdBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxDQUFDLENBQUM7b0JBQ25GLGdGQUFnRjtpQkFDbkY7YUFDSjtTQUNKO0lBQ0wsQ0FBQztJQUNEOzs7O09BSUc7SUFDSCxrQ0FBWSxHQUFaLFVBQWEsS0FBSyxFQUFDLElBQUk7UUFDbkIsSUFBSSxJQUFJLEdBQUcsRUFBRSxDQUFDO1FBQ2QsYUFBYTtRQUNiLElBQUcsS0FBSyxJQUFJLENBQUMsRUFBQztZQUNWLElBQUcsSUFBSSxDQUFDLFVBQVUsQ0FBQyxLQUFLLEdBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsSUFBSSxJQUFJLElBQUksSUFBSSxDQUFDLFVBQVU7Z0JBQUUsS0FBSyxJQUFJLENBQUMsQ0FBQztZQUMxRSxJQUFJLEtBQUssR0FBRyxJQUFJLENBQUMsS0FBSyxHQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsR0FBRyxJQUFJLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQyxDQUFDO1lBQzVDLElBQUksS0FBSyxHQUFHLElBQUksQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLEdBQUcsSUFBSSxDQUFDLEtBQUssR0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUM7WUFDNUMsS0FBSztZQUNMLElBQUcsSUFBSSxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsSUFBSSxJQUFJLENBQUMsU0FBUyxDQUFDLENBQUMsQ0FBQyxDQUFDLE1BQU0sR0FBQyxDQUFDLEVBQUM7Z0JBQzNDLElBQUcsS0FBSyxJQUFJLENBQUMsRUFBQztvQkFDVixJQUFHLEtBQUssSUFBSSxDQUFDO3dCQUFDLElBQUksR0FBRyxJQUFJLENBQUM7eUJBQ3JCLElBQUcsS0FBSyxJQUFJLENBQUMsQ0FBQzt3QkFBRSxJQUFJLEdBQUcsS0FBSyxDQUFDO2lCQUNyQztxQkFDSSxJQUFHLEtBQUssSUFBSSxDQUFDO29CQUFFLElBQUksR0FBRyxVQUFVLENBQUM7cUJBQ2pDLElBQUcsS0FBSyxJQUFJLENBQUMsQ0FBQztvQkFBRSxJQUFJLEdBQUcsU0FBUyxDQUFDO2FBQ3pDO1lBQ0QsS0FBSztpQkFDQSxJQUFHLElBQUksQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxFQUFDO2dCQUN2QixJQUFHLEtBQUssSUFBSSxDQUFDLEVBQUM7b0JBQ1YsSUFBRyxLQUFLLElBQUksQ0FBQzt3QkFBQyxJQUFJLEdBQUcsS0FBSyxDQUFDO3lCQUN0QixJQUFHLEtBQUssSUFBSSxDQUFDLENBQUM7d0JBQUUsSUFBSSxHQUFHLE1BQU0sQ0FBQztpQkFDdEM7cUJBQ0ksSUFBRyxLQUFLLElBQUksQ0FBQztvQkFBRSxJQUFJLEdBQUcsWUFBWSxDQUFDO3FCQUNuQyxJQUFHLEtBQUssSUFBSSxDQUFDLENBQUM7b0JBQUUsSUFBSSxHQUFHLFdBQVcsQ0FBQzthQUMzQztZQUNELEtBQUs7aUJBQ0EsSUFBRyxJQUFJLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsRUFBQztnQkFDdkIsSUFBRyxLQUFLLElBQUksQ0FBQyxFQUFDO29CQUNWLElBQUcsS0FBSyxJQUFJLENBQUM7d0JBQUMsSUFBSSxHQUFHLFVBQVUsQ0FBQzt5QkFDM0IsSUFBRyxLQUFLLElBQUksQ0FBQyxDQUFDO3dCQUFFLElBQUksR0FBRyxZQUFZLENBQUM7aUJBQzVDO3FCQUNJLElBQUcsS0FBSyxJQUFJLENBQUM7b0JBQUUsSUFBSSxHQUFHLE9BQU8sQ0FBQztxQkFDOUIsSUFBRyxLQUFLLElBQUksQ0FBQyxDQUFDO29CQUFFLElBQUksR0FBRyxLQUFLLENBQUM7YUFDckM7WUFDRCxLQUFLO2lCQUNBLElBQUcsSUFBSSxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsSUFBSSxJQUFJLENBQUMsU0FBUyxDQUFDLE1BQU0sR0FBQyxDQUFDLEVBQUM7Z0JBQzdDLElBQUcsS0FBSyxJQUFJLENBQUMsRUFBQztvQkFDVixJQUFHLEtBQUssSUFBSSxDQUFDO3dCQUFDLElBQUksR0FBRyxTQUFTLENBQUM7eUJBQzFCLElBQUcsS0FBSyxJQUFJLENBQUMsQ0FBQzt3QkFBRSxJQUFJLEdBQUcsV0FBVyxDQUFDO2lCQUMzQztxQkFDSSxJQUFHLEtBQUssSUFBSSxDQUFDO29CQUFFLElBQUksR0FBRyxLQUFLLENBQUM7cUJBQzVCLElBQUcsS0FBSyxJQUFJLENBQUMsQ0FBQztvQkFBRSxJQUFJLEdBQUcsTUFBTSxDQUFDO2FBQ3RDO1NBQ0o7UUFDRCxjQUFjO2FBQ1QsSUFBRyxLQUFLLEdBQUcsQ0FBQyxFQUFDO1lBQ2QsSUFBSSxJQUFJLEdBQUcsQ0FBQyxDQUFDO1lBQ2IsSUFBRyxLQUFLLEdBQUMsQ0FBQyxHQUFHLElBQUksQ0FBQyxNQUFNLEVBQUM7Z0JBQ3JCLElBQUcsSUFBSSxDQUFDLEtBQUssR0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQztvQkFBRSxJQUFJLEdBQUcsQ0FBQyxDQUFDO2FBQ3JDO1lBRUQsNkNBQTZDO1lBQzdDLElBQUksS0FBSyxHQUFHLElBQUksQ0FBQyxLQUFLLEdBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxHQUFHLElBQUksQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLENBQUM7WUFDL0MsSUFBSSxLQUFLLEdBQUcsSUFBSSxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsR0FBRyxJQUFJLENBQUMsS0FBSyxHQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsQ0FBQTtZQUM5QyxJQUFJLFNBQVMsR0FBRyxJQUFJLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQyxHQUFHLElBQUksQ0FBQyxLQUFLLEdBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDO1lBQ2hELElBQUksU0FBUyxHQUFHLElBQUksQ0FBQyxLQUFLLEdBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxHQUFHLElBQUksQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLENBQUM7WUFDaEQsSUFBRyxTQUFTLElBQUksQ0FBQyxJQUFJLFNBQVMsSUFBSSxDQUFDLEVBQUM7Z0JBQ2hDLElBQUcsS0FBSyxHQUFHLENBQUMsRUFBQztvQkFDVCxTQUFTLEdBQUcsSUFBSSxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsR0FBRyxJQUFJLENBQUMsS0FBSyxHQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQztvQkFDNUMsU0FBUyxHQUFHLElBQUksQ0FBQyxLQUFLLEdBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxHQUFHLElBQUksQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLENBQUM7aUJBQy9DO3FCQUNJLElBQUcsS0FBSyxHQUFHLENBQUMsR0FBRyxJQUFJLENBQUMsTUFBTSxFQUFDO29CQUM1QixTQUFTLEdBQUcs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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,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbImFzc2V0c1xcU2NyaXB0XFxDb250cm9sTWFuYWdlci50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7Ozs7Ozs7O0FBQUEsb0JBQW9CO0FBQ3BCLHdFQUF3RTtBQUN4RSxtQkFBbUI7QUFDbkIsa0ZBQWtGO0FBQ2xGLDhCQUE4QjtBQUM5QixrRkFBa0Y7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OztBQUU1RSxJQUFBLEtBQXNCLEVBQUUsQ0FBQyxVQUFVLEVBQWxDLE9BQU8sYUFBQSxFQUFFLFFBQVEsY0FBaUIsQ0FBQztBQUcxQztJQUFzQyw0QkFBWTtJQUFsRDtRQUFBLHFFQXVLQztRQXBLRyxTQUFHLEdBQVksSUFBSSxDQUFDO1FBRXBCLFNBQUcsR0FBYyxJQUFJLENBQUM7UUFFdEIsZUFBUyxHQUFjLElBQUksQ0FBQztRQUU1QixVQUFJLEdBQWMsSUFBSSxDQUFDOztRQTZKdkIsaUJBQWlCO0lBQ3JCLENBQUM7SUFySkcsd0JBQXdCO0lBRXhCLGVBQWU7SUFFZix3QkFBSyxHQUFMO1FBQ0ksSUFBSSxDQUFDLFFBQVEsR0FBRyxFQUFFLENBQUM7UUFDbkIsSUFBSSxDQUFDLFlBQVksR0FBRyxFQUFFLENBQUM7UUFDdkIsSUFBSSxDQUFDLFFBQVEsR0FBRyxJQUFJLENBQUM7UUFDckIsSUFBSSxDQUFDLFNBQVMsR0FBRyxLQUFLLENBQUM7UUFDdkIsSUFBSSxDQUFDLElBQUksR0FBRyxLQUFLLENBQUM7UUFDbEIsSUFBSSxDQUFDLFNBQVMsR0FBRyxDQUFDLENBQUM7SUFDdkIsQ0FBQztJQUVELDhCQUFXLEdBQVgsVUFBWSxHQUFHO1FBQ1gsR0FBRyxDQUFDLFdBQVcsQ0FBQyxFQUFFLEVBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQztRQUN4QixJQUFHLElBQUksQ0FBQyxRQUFRLENBQUMsTUFBTSxHQUFHLENBQUMsRUFBQztZQUN4QixJQUFJLE1BQU0sR0FBRyxJQUFJLENBQUMsUUFBUSxDQUFDLE1BQU0sR0FBQyxDQUFDLENBQUM7WUFDcEMsSUFBSSxJQUFJLEdBQUcsSUFBSSxDQUFDLElBQUksQ0FBQyxNQUFNLEdBQUMsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxDQUFDO1lBQ25DLElBQUksSUFBSSxHQUFHLE1BQU0sR0FBRyxJQUFJLENBQUMsS0FBSyxDQUFDLElBQUksQ0FBQyxHQUFDLENBQUMsR0FBRyxDQUFDLENBQUM7WUFDM0MsR0FBRyxDQUFDLFdBQVcsQ0FBQyxFQUFFLEdBQUcsRUFBRSxHQUFDLElBQUksRUFBQyxDQUFDLEVBQUUsR0FBRSxFQUFFLEdBQUMsSUFBSSxHQUFHLElBQUksQ0FBQyxTQUFTLENBQUMsQ0FBQztTQUMvRDtJQUNMLENBQUM7SUFDRCxNQUFNO0lBQ04sK0JBQVksR0FBWjtRQUNJLElBQUcsQ0FBQyxJQUFJLENBQUMsUUFBUTtZQUFFLE9BQU87UUFDMUIsSUFBRyxJQUFJLENBQUMsUUFBUSxDQUFDLE1BQU0sR0FBRyxDQUFDLEVBQUM7WUFDeEIsRUFBRSxDQUFDLEVBQUUsQ0FBQyxZQUFZLENBQUMsU0FBUyxDQUFDLFVBQVUsQ0FBQyxVQUFVLEVBQUMsSUFBSSxDQUFDLENBQUM7WUFDekQsS0FBSSxJQUFJLENBQUMsR0FBQyxDQUFDLEVBQUUsQ0FBQyxHQUFDLElBQUksQ0FBQyxRQUFRLENBQUMsTUFBTSxFQUFDLENBQUMsRUFBRSxFQUFDO2dCQUNwQyxJQUFJLEdBQUcsR0FBRyxJQUFJLENBQUMsUUFBUSxDQUFDLENBQUMsQ0FBQyxDQUFDO2dCQUMzQixHQUFHLENBQUMsTUFBTSxHQUFHLEtBQUssQ0FBQztnQkFDbkIsR0FBRyxDQUFDLGdCQUFnQixDQUFDLElBQUksQ0FBQyxHQUFHLENBQUMsQ0FBQztnQkFDL0IsR0FBRyxHQUFHLElBQUksQ0FBQzthQUNkO1lBQ0QsSUFBSSxDQUFDLFFBQVEsR0FBRyxFQUFFLENBQUM7WUFDbkIsSUFBSSxDQUFDLFlBQVksR0FBRyxFQUFFLENBQUM7WUFDdkIsSUFBSSxZQUFZLEdBQUcsRUFBRSxDQUFDLEVBQUUsQ0FBQyxVQUFVLENBQUMsVUFBVSxDQUFDLFlBQVksR0FBRyxDQUFDLENBQUM7WUFDaEUsRUFBRSxDQUFDLEVBQUUsQ0FBQyxVQUFVLENBQUMsU0FBUyxDQUFDLGNBQWMsRUFBQyxZQUFZLENBQUMsQ0FBQztZQUN4RCxFQUFFLENBQUMsRUFBRSxDQUFDLGFBQWEsQ0FBQyxJQUFJLENBQUMsRUFBRSxDQUFDLEVBQUUsQ0FBQyxPQUFPLENBQUMsU0FBUyxFQUFDLFFBQVEsQ0FBQyxDQUFDO1lBQzNELElBQUksQ0FBQyxTQUFTLEdBQUcsQ0FBQyxDQUFDO1NBQ3RCO0lBQ0wsQ0FBQztJQUNELE1BQU07SUFDTiw2QkFBVSxHQUFWO1FBQ0ksSUFBRyxDQUFDLElBQUksQ0FBQyxRQUFRO1lBQUUsT0FBTztRQUMxQixJQUFHLElBQUksQ0FBQyxRQUFRLENBQUMsTUFBTSxHQUFHLENBQUMsRUFBQztZQUN4QixFQUFFLENBQUMsRUFBRSxDQUFDLFlBQVksQ0FBQyxTQUFTLENBQUMsVUFBVSxDQUFDLFFBQVEsRUFBQyxJQUFJLENBQUMsQ0FBQztZQUN2RCxJQUFJLEdBQUcsR0FBRyxJQUFJLENBQUMsUUFBUSxDQUFDLElBQUksQ0FBQyxRQUFRLENBQUMsTUFBTSxHQUFDLENBQUMsQ0FBQyxDQUFDO1lBQ2hELEdBQUcsQ0FBQyxNQUFNLEdBQUcsS0FBSyxDQUFDO1lBQ25CLEdBQUcsQ0FBQyxnQkFBZ0IsQ0FBQyxJQUFJLENBQUMsR0FBRyxDQUFDLENBQUM7WUFDL0IsR0FBRyxHQUFHLElBQUksQ0FBQztZQUNYLElBQUksQ0FBQyxRQUFRLENBQUMsR0FBRyxFQUFFLENBQUM7WUFDcEIsSUFBSSxDQUFDLFlBQVksQ0FBQyxHQUFHLEVBQUUsQ0FBQztZQUN4QixJQUFJLFdBQVcsR0FBRyxFQUFFLENBQUMsRUFBRSxDQUFDLFVBQVUsQ0FBQyxVQUFVLENBQUMsV0FBVyxHQUFHLENBQUMsQ0FBQztZQUM5RCxFQUFFLENBQUMsRUFBRSxDQUFDLFVBQVUsQ0FBQyxTQUFTLENBQUMsYUFBYSxFQUFDLFdBQVcsQ0FBQyxDQUFDO1lBQ3RELEVBQUUsQ0FBQyxFQUFFLENBQUMsYUFBYSxDQUFDLElBQUksQ0FBQyxFQUFFLENBQUMsRUFBRSxDQUFDLE9BQU8sQ0FBQyxTQUFTLEVBQUMsTUFBTSxDQUFDLENBQUM7WUFDekQsSUFBRyxJQUFJLENBQUMsUUFBUSxDQUFDLE1BQU0sSUFBSSxFQUFFLEVBQUM7Z0JBQzFCLElBQUcsQ0FBQyxJQUFJLENBQUMsUUFBUSxDQUFDLE1BQU0sQ0FBRSxHQUFDLENBQUMsSUFBSSxDQUFDLEVBQUM7b0JBQzlCLElBQUksQ0FBQyxPQUFPLENBQUMsS0FBSyxDQUFDLENBQUM7aUJBQ3ZCO2FBQ0o7U0FDSjtJQUNMLENBQUM7SUFFRCxNQUFNO0lBQ04sNEJBQVMsR0FBVCxVQUFVLE1BQU0sRUFBQyxJQUFJO1FBQ2pCLElBQUksV0FBVyxHQUFHLElBQUksQ0FBQyxJQUFJLENBQUMsTUFBTSxDQUFDLFlBQVksQ0FBQyxhQUFhLENBQUMsQ0FBQztRQUMvRCxJQUFHLFdBQVcsQ0FBQyxRQUFRLElBQUksSUFBSSxFQUFDO1lBQzVCLFdBQVcsQ0FBQyxRQUFRLEdBQUcsS0FBSyxDQUFDO1lBQzdCLEVBQUUsQ0FBQyxFQUFFLENBQUMsYUFBYSxDQUFDLElBQUksQ0FBQyxFQUFFLENBQUMsRUFBRSxDQUFDLE9BQU8sQ0FBQyxTQUFTLENBQUMsQ0FBQztTQUNyRDtRQUNELEVBQUUsQ0FBQyxFQUFFLENBQUMsYUFBYSxDQUFDLElBQUksQ0FBQyxFQUFFLENBQUMsRUFBRSxDQUFDLE9BQU8sQ0FBQyxPQUFPLEVBQUMsSUFBSSxDQUFDLENBQUM7UUFDckQsSUFBRyxDQUFDLElBQUksQ0FBQyxRQUFRO1lBQUUsT0FBTztRQUMxQixJQUFJLE1BQU0sR0FBRyxJQUFJLENBQUMsR0FBRyxDQUFDO1FBQ3RCLElBQUcsSUFBSSxJQUFJLFdBQVcsSUFBSSxJQUFJLElBQUksTUFBTSxFQUFDO1lBQ3JDLE1BQU0sR0FBRyxJQUFJLENBQUMsSUFBSSxDQUFDLENBQUM7WUFDcEIsSUFBRyxJQUFJLElBQUksV0FBVyxFQUFDO2dCQUNuQixJQUFHLElBQUksQ0FBQyxTQUFTLEVBQUM7b0JBQ2QsSUFBSSxDQUFDLFNBQVMsR0FBRyxLQUFLLENBQUM7b0JBQ3ZCLElBQUksQ0FBQyxVQUFVLEVBQUUsQ0FBQztvQkFDbEIsT0FBTztpQkFDVjtxQkFBSTtvQkFDRCxFQUFFLENBQUMsRUFBRSxDQUFDLFlBQVksQ0FBQyxTQUFTLENBQUMsVUFBVSxDQUFDLFFBQVEsRUFBQyxJQUFJLENBQUMsQ0FBQztvQkFDdkQsSUFBSSxDQUFDLFNBQVMsR0FBRyxJQUFJLENBQUM7b0JBQ3RCLElBQUksQ0FBQyxJQUFJLEdBQUcsS0FBSyxDQUFDO2lCQUNyQjthQUNKO2lCQUNJLElBQUcsSUFBSSxJQUFJLE1BQU0sRUFBQztnQkFDbkIsSUFBRyxJQUFJLENBQUMsSUFBSSxFQUFDO29CQUNULElBQUksQ0FBQyxJQUFJLEdBQUcsS0FBSyxDQUFDO29CQUNsQixJQUFJLENBQUMsVUFBVSxFQUFFLENBQUM7b0JBQ2xCLE9BQU87aUJBQ1Y7cUJBQUk7b0JBQ0QsRUFBRSxDQUFDLEVBQUUsQ0FBQyxZQUFZLENBQUMsU0FBUyxDQUFDLFVBQVUsQ0FBQyxRQUFRLEVBQUMsSUFBSSxDQUFDLENBQUM7b0JBQ3ZELElBQUksQ0FBQyxJQUFJLEdBQUcsSUFBSSxDQUFDO29CQUNqQixJQUFJLENBQUMsU0FBUyxHQUFHLEtBQUssQ0FBQztpQkFDMUI7YUFDSjtTQUNKO2FBQ0c7WUFDQSxFQUFFLENBQUMsRUFBRSxDQUFDLFlBQVksQ0FBQyxTQUFTLENBQUMsVUFBVSxDQUFDLFdBQVcsRUFBQyxJQUFJLENBQUMsQ0FBQztZQUMxRCxJQUFJLENBQUMsU0FBUyxHQUFHLEtBQUssQ0FBQztZQUN2QixJQUFJLENBQUMsSUFBSSxHQUFHLEtBQUssQ0FBQztTQUNyQjtRQUNELElBQUksR0FBRyxHQUFHLEVBQUUsQ0FBQyxXQUFXLENBQUMsTUFBTSxDQUFDLENBQUM7UUFDakMsSUFBRyxJQUFJLElBQUksSUFBSTtZQUFFLEdBQUcsQ0FBQyxLQUFLLEdBQUcsR0FBRyxDQUFDO1FBQ2pDLElBQUcsSUFBSSxJQUFJLE1BQU07WUFBRSxHQUFHLENBQUMsS0FBSyxHQUFHLENBQUMsRUFBRSxDQUFDO1FBQ25DLElBQUcsSUFBSSxJQUFJLE9BQU87WUFBRSxHQUFHLENBQUMsS0FBSyxHQUFHLEVBQUUsQ0FBQztRQUNuQyxHQUFHLENBQUMsTUFBTSxHQUFHLElBQUksQ0FBQyxHQUFHLENBQUM7UUFFdEIsSUFBRyxJQUFJLENBQUMsWUFBWSxDQUFDLElBQUksQ0FBQyxZQUFZLENBQUMsTUFBTSxHQUFDLENBQUMsQ0FBQyxJQUFJLFdBQVc7WUFDM0QsSUFBSSxDQUFDLFlBQVksQ0FBQyxJQUFJLENBQUMsWUFBWSxDQUFDLE1BQU0sR0FBQyxDQUFDLENBQUMsSUFBSSxNQUFNLEVBQUM7WUFDcEQsSUFBRyxJQUFJLElBQUksV0FBVyxJQUFJLElBQUksSUFBSSxNQUFNLEVBQUM7Z0JBQ3JDLElBQUksQ0FBQyxRQUFRLENBQUMsSUFBSSxDQUFDLFFBQVEsQ0FBQyxNQUFNLEdBQUMsQ0FBQyxDQUFDLENBQUMsZ0JBQWdCLEVBQUUsQ0FBQztnQkFDekQsSUFBSSxDQUFDLFFBQVEsQ0FBQyxJQUFJLENBQUMsUUFBUSxDQUFDLE1BQU0sR0FBQyxDQUFDLENBQUMsR0FBRyxJQUFJLENBQUM7Z0JBQzdDLElBQUksQ0FBQyxRQUFRLENBQUMsR0FBRyxFQUFFLENBQUM7Z0JBQ3BCLElBQUksQ0FBQyxZQUFZLENBQUMsR0FBRyxFQUFFLENBQUM7YUFDM0I7U0FDUjtRQUNELElBQUksQ0FBQyxXQUFXLENBQUMsR0FBRyxDQUFDLENBQUM7UUFFdEIsSUFBSSxDQUFDLFFBQVEsQ0FBQyxJQUFJLENBQUMsR0FBRyxDQUFDLENBQUM7UUFDeEIsSUFBSSxDQUFDLFlBQVksQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLENBQUM7UUFFN0IsSUFBRyxJQUFJLENBQUMsUUFBUSxDQUFDLE1BQU0sSUFBSSxFQUFFLEVBQUM7WUFDMUIsSUFBRyxDQUFDLElBQUksQ0FBQyxRQUFRLENBQUMsTUFBTSxHQUFHLENBQUMsQ0FBQyxHQUFDLENBQUMsSUFBSSxDQUFDLEVBQUM7Z0JBQ2pDLElBQUksQ0FBQyxPQUFPLENBQUMsSUFBSSxDQUFDLENBQUM7YUFDdEI7U0FDSjtJQUNMLENBQUM7SUFDRCxZQUFZO0lBQ1osMEJBQU8sR0FBUCxVQUFRLElBQUk7UUFDUixJQUFHLElBQUk7WUFBRSxJQUFJLENBQUMsU0FBUyxJQUFJLEVBQUUsQ0FBQzs7WUFDekIsSUFBSSxDQUFDLFNBQVMsSUFBSSxFQUFFLENBQUM7UUFDMUIsS0FBSSxJQUFJLENBQUMsR0FBQyxDQUFDLEVBQUUsQ0FBQyxHQUFDLElBQUksQ0FBQyxRQUFRLENBQUMsTUFBTSxFQUFDLENBQUMsRUFBRSxFQUFDO1lBQ3BDLElBQUksR0FBRyxHQUFHLElBQUksQ0FBQyxRQUFRLENBQUMsQ0FBQyxDQUFDLENBQUM7WUFDM0IsSUFBRyxJQUFJO2dCQUFDLEdBQUcsQ0FBQyxDQUFDLElBQUksRUFBRSxDQUFDOztnQkFDZixHQUFHLENBQUMsQ0FBQyxJQUFJLEVBQUUsQ0FBQztTQUNwQjtJQUNMLENBQUM7SUFFRCxXQUFXO0lBQ1gsOEJBQVcsR0FBWDtRQUNJLElBQUcsQ0FBQyxJQUFJLENBQUMsUUFBUTtZQUFFLE9BQU87UUFDMUIsSUFBSSxDQUFDLFFBQVEsR0FBRyxLQUFLLENBQUM7UUFDdEIsRUFBRSxDQUFDLEVBQUUsQ0FBQyxZQUFZLENBQUMsU0FBUyxDQUFDLFVBQVUsQ0FBQyxPQUFPLEVBQUMsSUFBSSxDQUFDLENBQUM7UUFDdEQsRUFBRSxDQUFDLEVBQUUsQ0FBQyxhQUFhLENBQUMsSUFBSSxDQUFDLEVBQUUsQ0FBQyxFQUFFLENBQUMsT0FBTyxDQUFDLFNBQVMsRUFBQyxJQUFJLENBQUMsWUFBWSxDQUFDLENBQUM7SUFDeEUsQ0FBQztJQWpLRDtRQURDLFFBQVEsQ0FBQyxFQUFFLENBQUMsSUFBSSxDQUFDO3lDQUNFO0lBRXBCO1FBREMsUUFBUSxDQUFDLEVBQUUsQ0FBQyxNQUFNLENBQUM7eUNBQ0U7SUFFdEI7UUFEQyxRQUFRLENBQUMsRUFBRSxDQUFDLE1BQU0sQ0FBQzsrQ0FDUTtJQUU1QjtRQURDLFFBQVEsQ0FBQyxFQUFFLENBQUMsTUFBTSxDQUFDOzBDQUNHO0lBVE4sUUFBUTtRQUQ1QixPQUFPO09BQ2EsUUFBUSxDQXVLNUI7SUFBRCxlQUFDO0NBdktELEFBdUtDLENBdktxQyxFQUFFLENBQUMsU0FBUyxHQXVLakQ7a0JBdktvQixRQUFRIiwiZmlsZSI6IiIsInNvdXJjZVJvb3QiOiIvIiwic291cmNlc0NvbnRlbnQiOlsiLy8gTGVhcm4gVHlwZVNjcmlwdDpcclxuLy8gIC0gaHR0cHM6Ly9kb2NzLmNvY29zLmNvbS9jcmVhdG9yL21hbnVhbC9lbi9zY3JpcHRpbmcvdHlwZXNjcmlwdC5odG1sXHJcbi8vIExlYXJuIEF0dHJpYnV0ZTpcclxuLy8gIC0gaHR0cHM6Ly9kb2NzLmNvY29zLmNvbS9jcmVhdG9yL21hbnVhbC9lbi9zY3JpcHRpbmcvcmVmZXJlbmNlL2F0dHJpYnV0ZXMuaHRtbFxyXG4vLyBMZWFybiBsaWZlLWN5Y2xlIGNhbGxiYWNrczpcclxuLy8gIC0gaHR0cHM6Ly9kb2NzLmNvY29zLmNvbS9jcmVhdG9yL21hbnVhbC9lbi9zY3JpcHRpbmcvbGlmZS1jeWNsZS1jYWxsYmFja3MuaHRtbFxyXG5cclxuY29uc3Qge2NjY2xhc3MsIHByb3BlcnR5fSA9IGNjLl9kZWNvcmF0b3I7XHJcblxyXG5AY2NjbGFzc1xyXG5leHBvcnQgZGVmYXVsdCBjbGFzcyBOZXdDbGFzcyBleHRlbmRzIGNjLkNvbXBvbmVudCB7XHJcblxyXG4gICAgQHByb3BlcnR5KGNjLk5vZGUpXHJcbiAgICBNYXA6IGNjLk5vZGUgPSBudWxsO1xyXG4gICAgQHByb3BlcnR5KGNjLlByZWZhYilcclxuICAgIHRpcDogY2MuUHJlZmFiID0gbnVsbDtcclxuICAgIEBwcm9wZXJ0eShjYy5QcmVmYWIpXHJcbiAgICByZWluZm9yY2U6IGNjLlByZWZhYiA9IG51bGw7XHJcbiAgICBAcHJvcGVydHkoY2MuUHJlZmFiKVxyXG4gICAgc29pbDogY2MuUHJlZmFiID0gbnVsbDtcclxuICAgIFxyXG5cclxuICAgIHRpcEFycmF5OmFueTtcclxuICAgIGNvbnRyb2xBcnJheTphbnk7XHJcbiAgICBjYW5Ub3VjaDpib29sZWFuO1xyXG4gICAgUmVpbmZvcmNlOmJvb2xlYW47XHJcbiAgICBTb2lsOmJvb2xlYW47XHJcbiAgICBtYXBIZWlnaHQ6bnVtYmVyO1xyXG4gICAgLy8gTElGRS1DWUNMRSBDQUxMQkFDS1M6XHJcblxyXG4gICAgLy8gb25Mb2FkICgpIHt9XHJcblxyXG4gICAgc3RhcnQgKCkge1xyXG4gICAgICAgIHRoaXMudGlwQXJyYXkgPSBbXTtcclxuICAgICAgICB0aGlzLmNvbnRyb2xBcnJheSA9IFtdO1xyXG4gICAgICAgIHRoaXMuY2FuVG91Y2ggPSB0cnVlO1xyXG4gICAgICAgIHRoaXMuUmVpbmZvcmNlID0gZmFsc2U7XHJcbiAgICAgICAgdGhpcy5Tb2lsID0gZmFsc2U7XHJcbiAgICAgICAgdGhpcy5tYXBIZWlnaHQgPSAwO1xyXG4gICAgfVxyXG5cclxuICAgIHNldFBvc2l0aW9uKHRpcCl7XHJcbiAgICAgICAgdGlwLnNldFBvc2l0aW9uKDMwLC0yNSk7XHJcbiAgICAgICAgaWYodGhpcy50aXBBcnJheS5sZW5ndGggPiAwKXtcclxuICAgICAgICAgICAgbGV0IGxlbmd0aCA9IHRoaXMudGlwQXJyYXkubGVuZ3RoKzE7XHJcbiAgICAgICAgICAgIGxldCBwb3NZID0gTWF0aC5jZWlsKGxlbmd0aC84KSAtIDE7XHJcbiAgICAgICAgICAgIGxldCBwb3NYID0gbGVuZ3RoIC0gTWF0aC5mbG9vcihwb3NZKSo4IC0gMTtcclxuICAgICAgICAgICAgdGlwLnNldFBvc2l0aW9uKDMwICsgNDgqcG9zWCwtMjUgLTQ4KnBvc1kgKyB0aGlzLm1hcEhlaWdodCk7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG4gICAgLy/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,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbImFzc2V0c1xcU2NyaXB0XFxtb2R1bGVcXFRvb2xcXEdhbWVUb29sLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7Ozs7Ozs7Ozs7Ozs7OztBQUNBLCtCQUErQjtBQUMvQixJQUFJLFFBQVEsR0FBRztJQUNYLFVBQVUsRUFBRSxDQUFDO0lBQ2IsUUFBUSxFQUFFLENBQUM7SUFDWCxVQUFVLEVBQUUsQ0FBQztJQUNiLFVBQVU7SUFDVixjQUFjO1FBQ1YsSUFBSSxJQUFJLEdBQUcsT0FBTyxHQUFHLEVBQUUsQ0FBQyxFQUFFLENBQUMsVUFBVSxDQUFDLE9BQU8sQ0FBQyxNQUFNLENBQUM7UUFDckQsSUFBSSxJQUFJLEdBQUcsSUFBSSxDQUFDLEtBQUssQ0FBQyxZQUFZLENBQUMsT0FBTyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUM7UUFDbEQsSUFBRyxJQUFJLElBQUksVUFBVSxJQUFJLElBQUksSUFBRSxJQUFJLElBQUksSUFBSSxJQUFJLEVBQUUsRUFBQztZQUM5QyxJQUFJLEdBQUcsR0FBRyw4RUFBOEUsR0FBQyxRQUFRLENBQUMsSUFBSSxDQUFDO1lBQ3ZHLE1BQU0sQ0FBQyxRQUFRLENBQUMsSUFBSSxHQUFHLEdBQUcsQ0FBQztTQUM5QjthQUNHO1lBQ0EsRUFBRSxDQUFDLEVBQUUsQ0FBQyxjQUFjLENBQUMsVUFBVSxDQUFDLElBQUksRUFBQyxJQUFJLENBQUMsQ0FBQztZQUMzQyxFQUFFLENBQUMsRUFBRSxDQUFDLFVBQVUsQ0FBQyxPQUFPLENBQUMsTUFBTSxHQUFHLFFBQVEsQ0FBQyxJQUFJLENBQUMsTUFBTSxDQUFDLENBQUM7U0FDM0Q7SUFDTCxDQUFDO0lBRUQsTUFBTTtJQUNOLFdBQVc7UUFDUCxvQkFBb0I7UUFDcEIsRUFBRSxDQUFDLEVBQUUsQ0FBQyxVQUFVLENBQUMsU0FBUyxHQUFHLEVBQUUsQ0FBQztRQUNoQyxFQUFFLENBQUMsRUFBRSxDQUFDLFVBQVUsQ0FBQyxTQUFTLENBQUMsSUFBSSxDQUFDLEVBQUUsQ0FBQyxFQUFFLENBQUMsVUFBVSxDQUFDLFVBQVUsQ0FBQyxDQUFDO1FBQzdELEVBQUUsQ0FBQyxFQUFFLENBQUMsVUFBVSxDQUFDLFVBQVUsRUFBRSxDQUFDO1FBQzlCLElBQUksSUFBSSxHQUFHLEVBQUUsQ0FBQyxFQUFFLENBQUMsVUFBVSxDQUFDLFNBQVMsQ0FBQztRQUN0QyxJQUFJLE9BQU8sR0FBRyxJQUFJLENBQUMsVUFBVSxFQUFFLENBQUM7UUFDaEMsSUFBSSxRQUFRLEdBQUc7WUFDWCxRQUFRLEVBQUMsRUFBRSxDQUFDLEVBQUUsQ0FBQyxVQUFVLENBQUMsT0FBTyxDQUFDLE1BQU07WUFDeEMsUUFBUSxFQUFDLEVBQUUsQ0FBQyxFQUFFLENBQUMsVUFBVSxDQUFDLE9BQU8sQ0FBQyxNQUFNO1lBQ3hDLFNBQVMsRUFBQyxPQUFPO1lBQ2pCLE1BQU0sRUFBRSxJQUFJO1NBQ2YsQ0FBQztRQUVGLE9BQU8sQ0FBQyxHQUFHLENBQUMsT0FBTyxFQUFDLElBQUksQ0FBQyxDQUFDO1FBQzFCLEVBQUUsQ0FBQyxFQUFFLENBQUMsUUFBUSxDQUFDLGlCQUFpQixDQUFDLFFBQVEsRUFBQyxjQUFXLENBQUMsQ0FBQyxDQUFBO0lBQzNELENBQUM7SUFDRCxlQUFlO0lBQ2YsT0FBTyxZQUFDLElBQUk7UUFDUixvQkFBb0I7UUFDcEIsSUFBSSxRQUFRLEdBQUc7WUFDWCxRQUFRLEVBQUMsRUFBRSxDQUFDLEVBQUUsQ0FBQyxVQUFVLENBQUMsT0FBTyxDQUFDLE1BQU07WUFDeEMsUUFBUSxFQUFDLEVBQUUsQ0FBQyxFQUFFLENBQUMsVUFBVSxDQUFDLE9BQU8sQ0FBQyxNQUFNO1lBQ3hDLE1BQU0sRUFBQyxDQUFDO1lBQ1IsT0FBTyxFQUFFLElBQUksQ0FBQyxLQUFLO1lBQ25CLFVBQVUsRUFBRSxJQUFJLENBQUMsSUFBSTtZQUNyQixTQUFTLEVBQUUsRUFBRSxDQUFDLEVBQUUsQ0FBQyxVQUFVLENBQUMsT0FBTyxDQUFDLE9BQU87U0FDOUMsQ0FBQztRQUNGLEVBQUUsQ0FBQyxFQUFFLENBQUMsUUFBUSxDQUFDLFFBQVEsQ0FBQyxDQUFDLEVBQUMsY0FBVyxDQUFDLEVBQUMsUUFBUSxDQUFDLENBQUM7SUFDckQsQ0FBQztJQUNELGNBQWM7SUFDZCxPQUFPLFlBQUMsSUFBSSxFQUFDLFFBQVE7UUFDakIsSUFBSSxVQUFVLEdBQUcsSUFBSSxDQUFDLE1BQU0sQ0FBQztRQUM3QixJQUFJLFFBQVEsR0FBRztZQUNYLFFBQVEsRUFBQyxFQUFFLENBQUMsRUFBRSxDQUFDLFVBQVUsQ0FBQyxPQUFPLENBQUMsTUFBTTtZQUN4QyxRQUFRLEVBQUMsRUFBRSxDQUFDLEVBQUUsQ0FBQyxVQUFVLENBQUMsT0FBTyxDQUFDLE1BQU07WUFDeEMsTUFBTSxFQUFDLENBQUM7WUFDUixVQUFVLEVBQUMsVUFBVTtTQUN4QixDQUFDO1FBQ0YsZ0JBQWdCO1FBQ2hCLEVBQUUsQ0FBQyxFQUFFLENBQUMsUUFBUSxDQUFDLFFBQVEsQ0FBQyxDQUFDLEVBQUMsVUFBQSxJQUFJLElBQUksUUFBUSxDQUFDLElBQUksQ0FBQyxDQUFBLENBQUEsQ0FBQyxFQUFDLFFBQVEsQ0FBQyxDQUFDO0lBQ2hFLENBQUM7SUFDRCxpQ0FBaUM7SUFDakMsVUFBVTtRQUNOLElBQUksT0FBTyxHQUFHLEVBQUUsQ0FBQyxHQUFHLENBQUMsWUFBWSxDQUFDLE9BQU8sQ0FBQyxTQUFTLENBQUMsQ0FBQztRQUNyRCxJQUFJLE1BQU0sR0FBRyxPQUFPLENBQUM7UUFDckIsSUFBRyxPQUFPLElBQUksVUFBVSxJQUFJLE9BQU8sSUFBRSxJQUFJLEVBQUM7WUFDdEMsT0FBTyxHQUFJLElBQUksQ0FBQyxVQUFVLEVBQUUsQ0FBQztTQUNoQzthQUNHO1lBQ0EsSUFBRyxJQUFJLENBQUMsY0FBYyxDQUFDLE9BQU8sQ0FBQyxJQUFJLElBQUksRUFBQztnQkFDcEMsT0FBTyxHQUFJLElBQUksQ0FBQyxVQUFVLEVBQUUsQ0FBQzthQUNoQztpQkFDRztnQkFDQSxJQUFJLElBQUksR0FBRyxRQUFRLENBQUMsTUFBTSxDQUFDLFNBQVMsQ0FBQyxFQUFFLEVBQUMsTUFBTSxDQUFDLE1BQU0sQ0FBQyxDQUFDLENBQUM7Z0JBQ3hELElBQUcsRUFBRSxDQUFDLEVBQUUsQ0FBQyxVQUFVLENBQUMsT0FBTyxDQUFDLEtBQUssSUFBSSxDQUFDLEVBQUM7b0JBQ25DLElBQUksSUFBSSxDQUFDLENBQUM7b0JBQ1YsT0FBTyxHQUFJLE1BQU0sQ0FBQyxLQUFLLENBQUMsQ0FBQyxFQUFFLEVBQUUsQ0FBQyxHQUFHLElBQUksR0FBRyxFQUFFLENBQUM7b0JBQzNDLElBQUcsSUFBSSxDQUFDLGNBQWMsQ0FBQyxPQUFPLENBQUM7d0JBQUUsT0FBTyxHQUFHLElBQUksQ0FBQyxVQUFVLEVBQUUsQ0FBQztvQkFDN0QsRUFBRSxDQUFDLEVBQUUsQ0FBQyxVQUFVLENBQUMsT0FBTyxDQUFDLE9BQU8sR0FBRyxPQUFPLENBQUM7b0JBQzNDLEVBQUUsQ0FBQyxHQUFHLENBQUMsWUFBWSxDQUFDLE9BQU8sQ0FBQyxTQUFTLEVBQUMsT0FBTyxDQUFDLENBQUM7aUJBQ2xEO2FBQ0o7U0FDSjtRQUVELElBQUcsSUFBSSxDQUFDLGNBQWMsQ0FBQyxPQUFPLENBQUMsSUFBSSxJQUFJLEVBQUM7WUFDcEMsT0FBTyxHQUFJLElBQUksQ0FBQyxVQUFVLEVBQUUsQ0FBQztTQUNoQztRQUNELE9BQU8sT0FBTyxDQUFDO0lBQ25CLENBQUM7SUFDRCw4QkFBOEI7SUFDOUIsY0FBYyxZQUFDLEdBQUc7UUFDZCxPQUFPLEtBQUssQ0FBQyxJQUFJLENBQUMsR0FBRyxDQUFDLENBQUM7SUFDM0IsQ0FBQztJQUNELGFBQWE7SUFDYixVQUFVO1FBQ04sZUFBZTtRQUNmLElBQU0sVUFBVSxHQUFHLGdFQUFnRSxDQUFDO1FBQ3BGLGdCQUFnQjtRQUNoQixJQUFNLFNBQVMsR0FBRyxFQUFFLENBQUM7UUFDckIsbUJBQW1CO1FBQ25CLEtBQUssSUFBSSxDQUFDLEdBQUcsQ0FBQyxFQUFFLENBQUMsR0FBRyxFQUFFLEVBQUUsQ0FBQyxFQUFFLEVBQUU7WUFDckIsbUJBQW1CO1lBQ3ZCLElBQU0sV0FBVyxHQUFHLElBQUksQ0FBQyxLQUFLLENBQUMsSUFBSSxDQUFDLE1BQU0sRUFBRSxHQUFHLFVBQVUsQ0FBQyxNQUFNLENBQUMsQ0FBQztZQUNsRSxjQUFjO1lBQ2QsSUFBTSxVQUFVLEdBQUcsVUFBVSxDQUFDLE1BQU0sQ0FBQyxXQUFXLENBQUMsQ0FBQztZQUNsRCxZQUFZO1lBQ1osU0FBUyxDQUFDLElBQUksQ0FBQyxVQUFVLENBQUMsQ0FBQztTQUM5QjtRQUNELElBQUksSUFBSSxHQUFJLFNBQVMsQ0FBQyxJQUFJLENBQUMsRUFBRSxDQUFDLEdBQUcsQ0FBQyxHQUFHLEVBQUUsQ0FBQztRQUN4QyxFQUFFLENBQUMsR0FBRyxDQUFDLFlBQVksQ0FBQyxPQUFPLENBQUMsYUFBYSxFQUFDLENBQUMsQ0FBQyxDQUFDO1FBQzdDLEVBQUUsQ0FBQyxHQUFHLENBQUMsWUFBWSxDQUFDLE9BQU8sQ0FBQyxTQUFTLEVBQUMsSUFBSSxDQUFDLENBQUM7UUFDNUMsRUFBRSxDQUFDLEVBQUUsQ0FBQyxVQUFVLENBQUMsT0FBTyxDQUFDLE9BQU8sR0FBRyxJQUFJLENBQUM7UUFDeEMsT0FBTyxJQUFJLENBQUM7SUFDaEIsQ0FBQztJQUNELE1BQU07SUFDTixPQUFPLFlBQUMsSUFBSSxFQUFDLE1BQU07UUFDZixJQUFHLElBQUksQ0FBQyxNQUFNLEdBQUcsTUFBTSxFQUFDO1lBQ3BCLElBQUksR0FBRyxJQUFJLENBQUMsU0FBUyxDQUFDLENBQUMsRUFBQyxNQUFNLENBQUMsR0FBRyxLQUFLLENBQUE7U0FDMUM7UUFDRCxPQUFPLElBQUksQ0FBQztJQUNoQixDQUFDO0lBQ0QsTUFBTTtJQUNOLE1BQU0sRUFBTixVQUFPLElBQUksRUFBQyxHQUFHO1FBQ1gsSUFBSSxDQUFDLE1BQU0sR0FBRyxLQUFLLENBQUM7UUFDcEIsSUFBSSxHQUFHLEdBQUcsR0FBRyxDQUFDO1FBQ2QsVUFBVSxDQUFDO1lBQ1AsS0FBSyxDQUFDLEdBQUcsQ0FBQztpQkFDVCxJQUFJLENBQUMsVUFBQSxRQUFRO2dCQUNWLE9BQU8sUUFBUSxDQUFDLE9BQU8sQ0FBQyxHQUFHLENBQUMsZ0JBQWdCLENBQUMsQ0FBQztZQUNsRCxDQUFDLENBQUM7aUJBQ0QsSUFBSSxDQUFDLFVBQUEsS0FBSztnQkFDUCxJQUFHLEtBQUssSUFBSSxNQUFNLEVBQUM7b0JBQ2YsSUFBSSxDQUFDLE1BQU0sR0FBRyxJQUFJLENBQUM7aUJBQ3RCO1lBQ0wsQ0FBQyxDQUFDO2lCQUNELEtBQUssQ0FBQyxVQUFBLEtBQUs7Z0JBQ1Isa0RBQWtEO1lBQ3RELENBQUMsQ0FBQyxDQUFDO1FBQ1AsQ0FBQyxFQUFFLEdBQUcsQ0FBQyxDQUFDO1FBQ1IsRUFBRSxDQUFDLFlBQVksQ0FBQyxVQUFVLENBQUMsR0FBRyxFQUFFLEVBQUMsR0FBRyxFQUFDLE1BQU0sRUFBQyxFQUFDLFVBQUMsR0FBRyxFQUFFLE9BQW9CO1lBQ25FLElBQUcsT0FBTyxFQUFDO2dCQUNQLElBQUksQ0FBQyxNQUFNLEdBQUcsSUFBSSxDQUFDO2dCQUNuQixJQUFJLENBQUMsWUFBWSxDQUFDLEVBQUUsQ0FBQyxNQUFNLENBQUMsQ0FBQyxXQUFXLEdBQUcsSUFBSSxFQUFFLENBQUMsV0FBVyxDQUFDLE9BQU8sQ0FBQyxDQUFDO2FBQzFFO2lCQUNHO2dCQUNBLE9BQU8sQ0FBQyxHQUFHLENBQUMsR0FBRyxFQUFDLE9BQU8sQ0FBQyxDQUFBO2FBQzNCO1FBQ0wsQ0FBQyxDQUFDLENBQUE7SUFDTixDQUFDO0lBQ0QsbUNBQW1DO0lBQ25DLG1CQUFtQjtJQUNuQixXQUFXLFlBQUMsSUFBSSxFQUFDLE1BQU0sRUFBQyxVQUFVO1FBQzlCLE1BQU0sQ0FBQyxRQUFRLEdBQUcsSUFBSSxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUM7UUFDakMsTUFBTSxDQUFDLFFBQVEsR0FBRyxJQUFJLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQztRQUNqQyxJQUFJLFFBQVEsR0FBRyxFQUFFLENBQUM7UUFDbEIsSUFBSSxJQUFJLEdBQUcsS0FBSyxDQUFDO1FBQ2hCLEVBQUUsQ0FBQyxFQUFFLENBQUMsUUFBUSxDQUFDLE1BQU0sQ0FBQyxNQUFNLENBQUMsUUFBUSxDQUFDLGNBQWMsQ0FBQyxLQUFLLENBQUMsQ0FBQyxjQUFjLENBQUMsTUFBTSxDQUFDLEVBQUMsTUFBTSxDQUFDLFFBQVEsQ0FBQyxHQUFHLENBQUMsQ0FBQztRQUN6RyxLQUFJLElBQUksQ0FBQyxHQUFDLENBQUMsRUFBQyxDQUFDLElBQUUsTUFBTSxDQUFDLFFBQVEsQ0FBQyxNQUFNLEdBQUMsQ0FBQyxFQUFDLENBQUMsRUFBRSxFQUFDO1lBQ3hDLFFBQVEsQ0FBQyxJQUFJLENBQUMsRUFBQyxJQUFJLEVBQUMsQ0FBQyxDQUFDLEdBQUMsQ0FBQyxDQUFDLEVBQUUsSUFBSSxFQUFDLE1BQU0sQ0FBQyxRQUFRLENBQUMsQ0FBQyxDQUFDLENBQUMsUUFBUSxFQUFFLEtBQUssRUFBQyxNQUFNLENBQUMsUUFBUSxDQUFDLENBQUMsQ0FBQyxDQUFDLEtBQUssRUFBQyxJQUFJLEVBQUMsSUFBSSxFQUFFLEdBQUcsRUFBQyxNQUFNLENBQUMsUUFBUSxDQUFDLENBQUMsQ0FBQyxDQUFDLEdBQUcsRUFBQyxDQUFDLENBQUM7WUFDcEksSUFBRyxFQUFFLENBQUMsRUFBRSxDQUFDLFVBQVUsQ0FBQyxPQUFPLENBQUMsTUFBTSxJQUFJLE1BQU0sQ0FBQyxRQUFRLENBQUMsQ0FBQyxDQUFDLENBQUMsTUFBTSxFQUFDO2dCQUM1RCxJQUFJLEdBQUcsSUFBSSxDQUFDO2dCQUNaLE1BQU0sQ0FBQyxVQUFVLEdBQUcsQ0FBQyxDQUFDO2dCQUN0QixNQUFNLENBQUMsUUFBUSxDQUFDLGNBQWMsQ0FBQyxTQUFTLENBQUMsQ0FBQyxZQUFZLENBQUMsRUFBRSxDQUFDLEtBQUssQ0FBQyxDQUFDLE1BQU0sR0FBRSxDQUFDLENBQUMsR0FBQyxDQUFDLENBQUMsR0FBRyxFQUFFLENBQUM7YUFDdkY7WUFDRCxJQUFHLENBQUMsSUFBSSxDQUFDLE1BQU0sQ0FBQyxRQUFRLENBQUMsTUFBTSxHQUFDLENBQUMsQ0FBQyxJQUFJLElBQUksSUFBSSxLQUFLLEVBQUM7Z0JBQ2hELE1BQU0sQ0FBQyxVQUFVLEdBQUcsQ0FBQyxDQUFDO2dCQUN0QixNQUFNLENBQUMsUUFBUSxDQUFDLGNBQWMsQ0FBQyxTQUFTLENBQUMsQ0FBQyxZQUFZLENBQUMsRUFBRSxDQUFDLEtBQUssQ0FBQyxDQUFDLE1BQU0sR0FBRyxLQUFLLENBQUM7YUFDbkY7U0FDSjtRQUNBLEVBQUUsQ0FBQyxFQUFFLENBQUMsUUFBUSxDQUFDLE9BQU8sQ0FBQyxNQUFNLENBQUMsUUFBUSxDQUFDLFFBQVEsRUFBQyxVQUFVLENBQUMsQ0FBQztRQUM3RCxNQUFNLENBQUMsUUFBUSxDQUFDLGNBQWMsQ0FBQyxTQUFTLENBQUMsQ0FBQyxZQUFZLENBQUMsRUFBRSxDQUFDLEtBQUssQ0FBQyxDQUFDLE1BQU0sR0FBRyxNQUFNLENBQUMsUUFBUSxDQUFDLFFBQVEsQ0FBQztRQUNuRyxNQUFNLENBQUMsUUFBUSxDQUFDLGNBQWMsQ0FBQyxVQUFVLENBQUMsQ0FBQyxZQUFZLENBQUMsRUFBRSxDQUFDLEtBQUssQ0FBQyxDQUFDLE1BQU0sR0FBRyxNQUFNLENBQUMsUUFBUSxDQUFDLEtBQUssQ0FBQztRQUNqRyxJQUFJLFFBQVEsR0FBRyxFQUFFLENBQUMsRUFBRSxDQUFDLFFBQVEsQ0FBQyxlQUFlLENBQUMsTUFBTSxDQUFDLFFBQVEsQ0FBQyxVQUFVLENBQUMsQ0FBQztRQUMxRSwyRkFBMkY7UUFDM0YsUUFBTyxNQUFNLENBQUMsUUFBUSxDQUFDLGNBQWMsQ0FBQyxTQUFTLENBQUMsQ0FBQyxZQUFZLENBQUMsRUFBRSxDQUFDLEtBQUssQ0FBQyxDQUFDLE1BQU0sRUFBQztZQUMzRSxLQUFLLEdBQUc7Z0JBQ0osTUFBTSxDQUFDLFFBQVEsQ0FBQyxjQUFjLENBQUMsTUFBTSxDQUFDLENBQUMsY0FBYyxDQUFDLEtBQUssQ0FBQyxDQUFDLE1BQU0sR0FBRyxJQUFJLENBQUM7Z0JBQzNFLE1BQU07WUFDVixLQUFLLEdBQUc7Z0JBQ0osTUFBTSxDQUFDLFFBQVEsQ0FBQyxjQUFjLENBQUMsTUFBTSxDQUFDLENBQUMsY0FBYyxDQUFDLEtBQUssQ0FBQyxDQUFDLE1BQU0sR0FBRyxJQUFJLENBQUM7Z0JBQzNFLE1BQU07WUFDVixLQUFLLEdBQUc7Z0JBQ0osTUFBTSxDQUFDLFFBQVEsQ0FBQyxjQUFjLENBQUMsTUFBTSxDQUFDLENBQUMsY0FBYyxDQUFDLE9BQU8sQ0FBQyxDQUFDLE1BQU0sR0FBRyxJQUFJLENBQUM7Z0JBQzdFLE1BQU07U0FDYjtRQUNELE1BQU07UUFDTixJQUFHLFVBQVUsSUFBSSxDQUFDLEVBQUM7WUFDZixNQUFNLENBQUMsUUFBUSxDQUFDLE9BQU8sQ0FBQyxRQUFRLENBQUMsQ0FBQztZQUNsQyxNQUFNLENBQUMsUUFBUSxDQUFDLE9BQU8sR0FBRyxHQUFHLENBQUM7WUFDOUIsSUFBRyxNQUFNLENBQUMsUUFBUSxDQUFDLGFBQWEsSUFBSSxDQUFDO2dCQUFFLE1BQU0sQ0FBQyxRQUFRLENBQUMsT0FBTyxHQUFHLENBQUMsQ0FBQztTQUN0RTtJQUNMLENBQUM7SUFFRCxhQUFhLEVBQUUsVUFBVSxHQUFHLEVBQUUsR0FBRztRQUM3QixPQUFPLENBQUMsR0FBRyxDQUFDLE1BQU0sRUFBQyxFQUFFLENBQUMsRUFBRSxDQUFDLFVBQVUsQ0FBQyxPQUFPLENBQUMsUUFBUSxDQUFDLENBQUM7UUFDdEQsR0FBRyxHQUFHLEdBQUcsSUFBSSxDQUFDLENBQUM7UUFDZixHQUFHLEdBQUcsR0FBRyxJQUFJLENBQUMsQ0FBQztRQUNmLEVBQUUsQ0FBQyxFQUFFLENBQUMsVUFBVSxDQUFDLE9BQU8sQ0FBQyxRQUFRLEdBQUcsQ0FBQyxFQUFFLENBQUMsRUFBRSxDQUFDLFVBQVUsQ0FBQyxPQUFPLENBQUMsUUFBUSxHQUFHLElBQUksR0FBRyxLQUFLLENBQUMsR0FBRyxNQUFNLENBQUM7UUFDaEcsSUFBSSxHQUFHLEdBQUcsRUFBRSxDQUFDLEVBQUUsQ0FBQyxVQUFVLENBQUMsT0FBTyxDQUFDLFFBQVEsR0FBSSxRQUFRLENBQUM7UUFDeEQsSUFBSSxHQUFHLEdBQUcsR0FBRyxHQUFHLEdBQUcsR0FBRyxDQUFDLEdBQUcsR0FBRyxHQUFHLENBQUMsQ0FBQztRQUNsQyxPQUFPLFFBQVEsQ0FBQyxHQUFHLENBQUMsQ0FBQztJQUN6QixDQUFDO0lBQ0QsY0FBYztJQUNkLFNBQVMsWUFBQyxJQUFJO1FBQ1YsSUFBSSxNQUFNLEdBQUcsRUFBRSxDQUFDLEVBQUUsQ0FBQyxjQUFjLENBQUMsVUFBVSxDQUFDLEVBQUUsQ0FBQyxFQUFFLENBQUMsV0FBVyxDQUFDLGlCQUFpQixDQUFDLENBQUM7UUFDbEYsSUFBRyxNQUFNLElBQUksVUFBVSxJQUFJLE1BQU0sSUFBRSxJQUFJLElBQUksTUFBTSxJQUFJLEVBQUUsRUFBQztZQUNwRCxJQUFJLENBQUMsU0FBUyxFQUFFLENBQUM7U0FDcEI7YUFDRztZQUNBLEVBQUUsQ0FBQyxFQUFFLENBQUMsVUFBVSxDQUFDLFdBQVcsQ0FBQyxRQUFRLEVBQUMsTUFBTSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUM7WUFDakQsSUFBRyxNQUFNLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxJQUFJLElBQUksSUFBSyxJQUFJLEVBQUM7Z0JBQy9CLE1BQU0sQ0FBQyxLQUFLLEVBQUUsQ0FBQztnQkFDZixJQUFHLE1BQU0sQ0FBQyxNQUFNLElBQUksQ0FBQyxFQUFDO29CQUNsQixJQUFJLENBQUMsU0FBUyxFQUFFLENBQUM7aUJBQ3BCOztvQkFDSSxFQUFFLENBQUMsRUFBRSxDQUFDLGNBQWMsQ0FBQyxVQUFVLENBQUMsRUFBRSxDQUFDLEVBQUUsQ0FBQyxXQUFXLENBQUMsaUJBQWlCLEVBQUMsTUFBTSxDQUFDLENBQUM7YUFDcEY7U0FDSjtJQUNMLENBQUM7SUFDRCx5QkFBeUI7SUFDekIsU0FBUztRQUNMLElBQUksV0FBVyxHQUFHLEVBQUUsQ0FBQyxFQUFFLENBQUMsVUFBVSxDQUFDLFVBQVUsQ0FBQyxNQUFNLENBQUM7UUFDckQsSUFBSSxTQUFTLEdBQUcsRUFBRSxDQUFDO1FBQ25CLEtBQUksSUFBSSxDQUFDLEdBQUMsQ0FBQyxFQUFFLENBQUMsR0FBQyxXQUFXLEVBQUMsQ0FBQyxFQUFFLEVBQUM7WUFDM0IsU0FBUyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsQ0FBQztTQUNyQjtRQUNELFNBQVMsQ0FBQyxJQUFJLENBQUMsY0FBTSxPQUFBLElBQUksQ0FBQyxNQUFNLEVBQUUsR0FBRyxHQUFHLEVBQW5CLENBQW1CLENBQUMsQ0FBQztRQUMxQyxTQUFTLENBQUMsT0FBTyxDQUFDLENBQUMsQ0FBQyxDQUFBO1FBQ3BCLEVBQUUsQ0FBQyxFQUFFLENBQUMsVUFBVSxDQUFDLFdBQVcsQ0FBQyxRQUFRLEVBQUMsU0FBUyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUM7UUFDcEQsRUFBRSxDQUFDLEVBQUUsQ0FBQyxjQUFjLENBQUMsVUFBVSxDQUFDLEVBQUUsQ0FBQyxFQUFFLENBQUMsV0FBVyxDQUFDLGlCQUFpQixFQUFDLFNBQVMsQ0FBQyxDQUFDO0lBQ25GLENBQUM7SUFHRCwwQkFBMEIsRUFBRTtRQUN4QixJQUFJLElBQUksR0FBRyxFQUFFLENBQUMsT0FBTyxDQUFDO1FBQ3RCLElBQUksS0FBSyxHQUFHLElBQUksQ0FBQyxLQUFLLENBQUM7UUFDdkIsSUFBSSxNQUFNLEdBQUcsSUFBSSxDQUFDLE1BQU0sQ0FBQztRQUN6QixJQUFJLENBQUMsTUFBTSxHQUFHLEtBQUssQ0FBQyxHQUFHLENBQUMsSUFBSSxHQUFHLENBQUMsQ0FBQztZQUFFLE9BQU8sS0FBSyxDQUFDO1FBQ2hELE9BQU8sSUFBSSxDQUFDO0lBQ2hCLENBQUM7SUFDRCxTQUFTO0lBQ1QsTUFBTSxFQUFFLFVBQVUsTUFBTTtRQUNwQixJQUFJLElBQUksR0FBSSxFQUFFLENBQUMsRUFBRSxDQUFDLFFBQVEsQ0FBQywwQkFBMEIsRUFBRSxDQUFDO1FBQ3hELElBQUksSUFBSSxFQUFFO1lBQ1Qsd0JBQXdCO1NBQ3hCO2FBQU07WUFDTix1QkFBdUI7U0FDdkI7UUFDRCxPQUFPLElBQUksQ0FBQztJQUNoQixDQUFDO0lBQ0QsUUFBUTtJQUNSLFdBQVcsRUFBRSxVQUFTLElBQUk7UUFDdEIsSUFBSSxFQUFFLEdBQUcsS0FBSyxDQUFDO1FBQ2YsT0FBTyxFQUFFLENBQUM7SUFDZCxDQUFDO0lBQ0QsUUFBUTtJQUNSLFdBQVcsRUFBRSxVQUFTLEVBQUU7SUFFeEIsQ0FBQztJQUVELE9BQU87SUFDUCxTQUFTLFlBQUMsS0FBSyxFQUFDLElBQUksRUFBQyxFQUFFLEVBQUMsTUFBTTtRQUMxQixJQUFJLElBQUksR0FBRyxNQUFNLENBQUM7UUFDbEIsSUFBSSxJQUFJLEdBQUcsRUFBRSxDQUFDO1FBQ2QsSUFBSSxHQUFHLEdBQUcsSUFBSSxDQUFDLEtBQUssQ0FBQyxFQUFFLENBQUMsQ0FBQztRQUN6QixJQUFJLEdBQUcsR0FBRyxHQUFHLENBQUMsTUFBTSxDQUFDO1FBQ3JCLElBQUksSUFBSSxHQUFHLENBQUMsQ0FBQztRQUNiLElBQUksQ0FBQyxJQUFJLEdBQUc7WUFDUixJQUFJLElBQUksR0FBRyxDQUFDLElBQUksQ0FBQyxDQUFDO1lBQ2xCLEtBQUssQ0FBQyxNQUFNLEdBQUcsSUFBSSxDQUFDO1lBQ3BCLElBQUksRUFBRSxJQUFJLElBQUksR0FBRyxFQUFFO2dCQUNmLElBQUksQ0FBQyxVQUFVLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxDQUFDO2dCQUMzQixFQUFFLElBQUksRUFBRSxFQUFFLENBQUM7YUFDZDtRQUNMLENBQUMsQ0FBQTtRQUNELElBQUksQ0FBQyxRQUFRLENBQUMsSUFBSSxDQUFDLElBQUksRUFBQyxHQUFHLEVBQUUsRUFBRSxDQUFDLEtBQUssQ0FBQyxjQUFjLEVBQUUsQ0FBQyxDQUFDLENBQUE7SUFDNUQsQ0FBQztJQUVELGdCQUFnQjtJQUNoQixhQUFhLEVBQUMsVUFBQyxNQUFNO1FBQ2pCLElBQUksS0FBSyxHQUFHLENBQUMsQ0FBQztRQUNkLEtBQUssR0FBRyxNQUFNLENBQUM7UUFDZixJQUFJLElBQUksR0FBRyxDQUFDLENBQUM7UUFDYixJQUFJLEdBQUcsUUFBUSxDQUFDLENBQUMsS0FBSyxHQUFHLElBQUksQ0FBQyxHQUFHLEVBQUUsQ0FBQyxDQUFDLENBQUEsU0FBUztRQUM5QyxJQUFJLFNBQVMsR0FBRyxLQUFLLEdBQUcsSUFBSSxHQUFHLEVBQUUsR0FBRyxFQUFFLENBQUMsQ0FBQSxlQUFlO1FBQ3RELElBQUksR0FBRyxHQUFHLFFBQVEsQ0FBQyxDQUFDLFNBQVMsR0FBRyxFQUFFLENBQUMsR0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFBLE9BQU87UUFDL0MsSUFBSSxDQUFDLEdBQUcsRUFBRSxHQUFHLEdBQUcsQ0FBQztRQUNqQixJQUFHLEdBQUcsR0FBRyxFQUFFO1lBQUUsQ0FBQyxHQUFHLEdBQUcsR0FBQyxHQUFHLENBQUM7UUFDekIsSUFBSSxRQUFRLEdBQUcsS0FBSyxHQUFHLElBQUksR0FBRyxFQUFFLEdBQUcsRUFBRSxHQUFHLEdBQUcsR0FBRyxFQUFFLENBQUMsQ0FBQSxhQUFhO1FBQzlELElBQUksSUFBSSxHQUFHLFFBQVEsR0FBRyxFQUFFLENBQUM7UUFDekIsSUFBRyxRQUFRLEdBQUcsRUFBRTtZQUFFLElBQUksR0FBRyxHQUFHLEdBQUcsUUFBUSxDQUFDO1FBQ3hDLE9BQU8sQ0FBQyxHQUFHLEdBQUcsR0FBRyxJQUFJLENBQUE7SUFDekIsQ0FBQztJQUVELGdCQUFnQjtJQUNoQixlQUFlLEVBQUMsVUFBQyxNQUFNO1FBQ25CLE1BQU0sR0FBRyxRQUFRLENBQUMsTUFBTSxHQUFDLElBQUksR0FBQyxFQUFFLENBQUMsQ0FBQztRQUNsQyxJQUFJLEtBQUssR0FBRyxDQUFDLENBQUM7UUFDZCxLQUFLLEdBQUcsTUFBTSxDQUFDO1FBQ2YsSUFBSSxHQUFHLEdBQUcsQ0FBQyxDQUFDO1FBQ1osSUFBRyxLQUFLLEdBQUcsRUFBRSxFQUFDO1lBQ1YsR0FBRyxHQUFHLFFBQVEsQ0FBQyxDQUFDLEtBQUssR0FBRyxFQUFFLENBQUMsR0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFBLE9BQU87U0FDMUM7UUFDRCxJQUFJLENBQUMsR0FBSSxHQUFHLEdBQUcsR0FBRyxDQUFDO1FBRW5CLElBQUksUUFBUSxHQUFHLEtBQUssR0FBRyxHQUFHLEdBQUcsRUFBRSxDQUFDLENBQUEsYUFBYTtRQUM3QyxJQUFJLElBQUksR0FBRyxRQUFRLEdBQUcsSUFBSSxDQUFDO1FBQzNCLE9BQU8sQ0FBQyxHQUFHLElBQUksQ0FBQTtJQUNuQixDQUFDO0lBRUQsT0FBTztJQUNQLE9BQU87UUFDSCxJQUFNLFNBQVMsR0FBSSxDQUFDLElBQUksSUFBSSxFQUFFLENBQUMsT0FBTyxFQUFFLENBQUMsQ0FBQTtRQUN6QyxPQUFPLFNBQVMsQ0FBQztJQUNyQixDQUFDO0lBQ0QsVUFBVSxFQUFDO0lBRVgsQ0FBQztJQUNELGVBQWUsRUFBQztJQUVoQixDQUFDO0NBRUosQ0FBQztBQUNPLDRCQUFRIiwiZmlsZSI6IiIsInNvdXJjZVJvb3QiOiIvIiwic291cmNlc0NvbnRlbnQiOlsiXHJcbi8v5pyA5aSn5bel5YW357G7ICDlkITnp43lhazlhbHmlrnms5XvvIzku6Xlj4rlpITnkIbkuIrkvKDvvIzojrflj5blkI7nq6/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,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= \ No newline at end of file +//# 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== \ 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,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbImFzc2V0c1xcU2NyaXB0XFxDb250cm9sTWFuYWdlci50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7Ozs7Ozs7O0FBQUEsb0JBQW9CO0FBQ3BCLHdFQUF3RTtBQUN4RSxtQkFBbUI7QUFDbkIsa0ZBQWtGO0FBQ2xGLDhCQUE4QjtBQUM5QixrRkFBa0Y7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OztBQUU1RSxJQUFBLEtBQXNCLEVBQUUsQ0FBQyxVQUFVLEVBQWxDLE9BQU8sYUFBQSxFQUFFLFFBQVEsY0FBaUIsQ0FBQztBQUcxQztJQUFzQyw0QkFBWTtJQUFsRDtRQUFBLHFFQXVLQztRQXBLRyxTQUFHLEdBQVksSUFBSSxDQUFDO1FBRXBCLFNBQUcsR0FBYyxJQUFJLENBQUM7UUFFdEIsZUFBUyxHQUFjLElBQUksQ0FBQztRQUU1QixVQUFJLEdBQWMsSUFBSSxDQUFDOztRQTZKdkIsaUJBQWlCO0lBQ3JCLENBQUM7SUFySkcsd0JBQXdCO0lBRXhCLGVBQWU7SUFFZix3QkFBSyxHQUFMO1FBQ0ksSUFBSSxDQUFDLFFBQVEsR0FBRyxFQUFFLENBQUM7UUFDbkIsSUFBSSxDQUFDLFlBQVksR0FBRyxFQUFFLENBQUM7UUFDdkIsSUFBSSxDQUFDLFFBQVEsR0FBRyxJQUFJLENBQUM7UUFDckIsSUFBSSxDQUFDLFNBQVMsR0FBRyxLQUFLLENBQUM7UUFDdkIsSUFBSSxDQUFDLElBQUksR0FBRyxLQUFLLENBQUM7UUFDbEIsSUFBSSxDQUFDLFNBQVMsR0FBRyxDQUFDLENBQUM7SUFDdkIsQ0FBQztJQUVELDhCQUFXLEdBQVgsVUFBWSxHQUFHO1FBQ1gsR0FBRyxDQUFDLFdBQVcsQ0FBQyxFQUFFLEVBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQztRQUN4QixJQUFHLElBQUksQ0FBQyxRQUFRLENBQUMsTUFBTSxHQUFHLENBQUMsRUFBQztZQUN4QixJQUFJLE1BQU0sR0FBRyxJQUFJLENBQUMsUUFBUSxDQUFDLE1BQU0sR0FBQyxDQUFDLENBQUM7WUFDcEMsSUFBSSxJQUFJLEdBQUcsSUFBSSxDQUFDLElBQUksQ0FBQyxNQUFNLEdBQUMsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxDQUFDO1lBQ25DLElBQUksSUFBSSxHQUFHLE1BQU0sR0FBRyxJQUFJLENBQUMsS0FBSyxDQUFDLElBQUksQ0FBQyxHQUFDLENBQUMsR0FBRyxDQUFDLENBQUM7WUFDM0MsR0FBRyxDQUFDLFdBQVcsQ0FBQyxFQUFFLEdBQUcsRUFBRSxHQUFDLElBQUksRUFBQyxDQUFDLEVBQUUsR0FBRSxFQUFFLEdBQUMsSUFBSSxHQUFHLElBQUksQ0FBQyxTQUFTLENBQUMsQ0FBQztTQUMvRDtJQUNMLENBQUM7SUFDRCxNQUFNO0lBQ04sK0JBQVksR0FBWjtRQUNJLElBQUcsQ0FBQyxJQUFJLENBQUMsUUFBUTtZQUFFLE9BQU87UUFDMUIsSUFBRyxJQUFJLENBQUMsUUFBUSxDQUFDLE1BQU0sR0FBRyxDQUFDLEVBQUM7WUFDeEIsRUFBRSxDQUFDLEVBQUUsQ0FBQyxZQUFZLENBQUMsU0FBUyxDQUFDLFVBQVUsQ0FBQyxVQUFVLEVBQUMsSUFBSSxDQUFDLENBQUM7WUFDekQsS0FBSSxJQUFJLENBQUMsR0FBQyxDQUFDLEVBQUUsQ0FBQyxHQUFDLElBQUksQ0FBQyxRQUFRLENBQUMsTUFBTSxFQUFDLENBQUMsRUFBRSxFQUFDO2dCQUNwQyxJQUFJLEdBQUcsR0FBRyxJQUFJLENBQUMsUUFBUSxDQUFDLENBQUMsQ0FBQyxDQUFDO2dCQUMzQixHQUFHLENBQUMsTUFBTSxHQUFHLEtBQUssQ0FBQztnQkFDbkIsR0FBRyxDQUFDLGdCQUFnQixDQUFDLElBQUksQ0FBQyxHQUFHLENBQUMsQ0FBQztnQkFDL0IsR0FBRyxHQUFHLElBQUksQ0FBQzthQUNkO1lBQ0QsSUFBSSxDQUFDLFFBQVEsR0FBRyxFQUFFLENBQUM7WUFDbkIsSUFBSSxDQUFDLFlBQVksR0FBRyxFQUFFLENBQUM7WUFDdkIsSUFBSSxZQUFZLEdBQUcsRUFBRSxDQUFDLEVBQUUsQ0FBQyxVQUFVLENBQUMsVUFBVSxDQUFDLFlBQVksR0FBRyxDQUFDLENBQUM7WUFDaEUsRUFBRSxDQUFDLEVBQUUsQ0FBQyxVQUFVLENBQUMsU0FBUyxDQUFDLGNBQWMsRUFBQyxZQUFZLENBQUMsQ0FBQztZQUN4RCxFQUFFLENBQUMsRUFBRSxDQUFDLGFBQWEsQ0FBQyxJQUFJLENBQUMsRUFBRSxDQUFDLEVBQUUsQ0FBQyxPQUFPLENBQUMsU0FBUyxFQUFDLFFBQVEsQ0FBQyxDQUFDO1lBQzNELElBQUksQ0FBQyxTQUFTLEdBQUcsQ0FBQyxDQUFDO1NBQ3RCO0lBQ0wsQ0FBQztJQUNELE1BQU07SUFDTiw2QkFBVSxHQUFWO1FBQ0ksSUFBRyxDQUFDLElBQUksQ0FBQyxRQUFRO1lBQUUsT0FBTztRQUMxQixJQUFHLElBQUksQ0FBQyxRQUFRLENBQUMsTUFBTSxHQUFHLENBQUMsRUFBQztZQUN4QixFQUFFLENBQUMsRUFBRSxDQUFDLFlBQVksQ0FBQyxTQUFTLENBQUMsVUFBVSxDQUFDLFFBQVEsRUFBQyxJQUFJLENBQUMsQ0FBQztZQUN2RCxJQUFJLEdBQUcsR0FBRyxJQUFJLENBQUMsUUFBUSxDQUFDLElBQUksQ0FBQyxRQUFRLENBQUMsTUFBTSxHQUFDLENBQUMsQ0FBQyxDQUFDO1lBQ2hELEdBQUcsQ0FBQyxNQUFNLEdBQUcsS0FBSyxDQUFDO1lBQ25CLEdBQUcsQ0FBQyxnQkFBZ0IsQ0FBQyxJQUFJLENBQUMsR0FBRyxDQUFDLENBQUM7WUFDL0IsR0FBRyxHQUFHLElBQUksQ0FBQztZQUNYLElBQUksQ0FBQyxRQUFRLENBQUMsR0FBRyxFQUFFLENBQUM7WUFDcEIsSUFBSSxDQUFDLFlBQVksQ0FBQyxHQUFHLEVBQUUsQ0FBQztZQUN4QixJQUFJLFdBQVcsR0FBRyxFQUFFLENBQUMsRUFBRSxDQUFDLFVBQVUsQ0FBQyxVQUFVLENBQUMsV0FBVyxHQUFHLENBQUMsQ0FBQztZQUM5RCxFQUFFLENBQUMsRUFBRSxDQUFDLFVBQVUsQ0FBQyxTQUFTLENBQUMsYUFBYSxFQUFDLFdBQVcsQ0FBQyxDQUFDO1lBQ3RELEVBQUUsQ0FBQyxFQUFFLENBQUMsYUFBYSxDQUFDLElBQUksQ0FBQyxFQUFFLENBQUMsRUFBRSxDQUFDLE9BQU8sQ0FBQyxTQUFTLEVBQUMsTUFBTSxDQUFDLENBQUM7WUFDekQsSUFBRyxJQUFJLENBQUMsUUFBUSxDQUFDLE1BQU0sSUFBSSxFQUFFLEVBQUM7Z0JBQzFCLElBQUcsQ0FBQyxJQUFJLENBQUMsUUFBUSxDQUFDLE1BQU0sQ0FBRSxHQUFDLENBQUMsSUFBSSxDQUFDLEVBQUM7b0JBQzlCLElBQUksQ0FBQyxPQUFPLENBQUMsS0FBSyxDQUFDLENBQUM7aUJBQ3ZCO2FBQ0o7U0FDSjtJQUNMLENBQUM7SUFFRCxNQUFNO0lBQ04sNEJBQVMsR0FBVCxVQUFVLE1BQU0sRUFBQyxJQUFJO1FBQ2pCLElBQUksV0FBVyxHQUFHLElBQUksQ0FBQyxJQUFJLENBQUMsTUFBTSxDQUFDLFlBQVksQ0FBQyxhQUFhLENBQUMsQ0FBQztRQUMvRCxJQUFHLFdBQVcsQ0FBQyxRQUFRLElBQUksSUFBSSxFQUFDO1lBQzVCLFdBQVcsQ0FBQyxRQUFRLEdBQUcsS0FBSyxDQUFDO1lBQzdCLEVBQUUsQ0FBQyxFQUFFLENBQUMsYUFBYSxDQUFDLElBQUksQ0FBQyxFQUFFLENBQUMsRUFBRSxDQUFDLE9BQU8sQ0FBQyxTQUFTLENBQUMsQ0FBQztTQUNyRDtRQUNELEVBQUUsQ0FBQyxFQUFFLENBQUMsYUFBYSxDQUFDLElBQUksQ0FBQyxFQUFFLENBQUMsRUFBRSxDQUFDLE9BQU8sQ0FBQyxPQUFPLEVBQUMsSUFBSSxDQUFDLENBQUM7UUFDckQsSUFBRyxDQUFDLElBQUksQ0FBQyxRQUFRO1lBQUUsT0FBTztRQUMxQixJQUFJLE1BQU0sR0FBRyxJQUFJLENBQUMsR0FBRyxDQUFDO1FBQ3RCLElBQUcsSUFBSSxJQUFJLFdBQVcsSUFBSSxJQUFJLElBQUksTUFBTSxFQUFDO1lBQ3JDLE1BQU0sR0FBRyxJQUFJLENBQUMsSUFBSSxDQUFDLENBQUM7WUFDcEIsSUFBRyxJQUFJLElBQUksV0FBVyxFQUFDO2dCQUNuQixJQUFHLElBQUksQ0FBQyxTQUFTLEVBQUM7b0JBQ2QsSUFBSSxDQUFDLFNBQVMsR0FBRyxLQUFLLENBQUM7b0JBQ3ZCLElBQUksQ0FBQyxVQUFVLEVBQUUsQ0FBQztvQkFDbEIsT0FBTztpQkFDVjtxQkFBSTtvQkFDRCxFQUFFLENBQUMsRUFBRSxDQUFDLFlBQVksQ0FBQyxTQUFTLENBQUMsVUFBVSxDQUFDLFFBQVEsRUFBQyxJQUFJLENBQUMsQ0FBQztvQkFDdkQsSUFBSSxDQUFDLFNBQVMsR0FBRyxJQUFJLENBQUM7b0JBQ3RCLElBQUksQ0FBQyxJQUFJLEdBQUcsS0FBSyxDQUFDO2lCQUNyQjthQUNKO2lCQUNJLElBQUcsSUFBSSxJQUFJLE1BQU0sRUFBQztnQkFDbkIsSUFBRyxJQUFJLENBQUMsSUFBSSxFQUFDO29CQUNULElBQUksQ0FBQyxJQUFJLEdBQUcsS0FBSyxDQUFDO29CQUNsQixJQUFJLENBQUMsVUFBVSxFQUFFLENBQUM7b0JBQ2xCLE9BQU87aUJBQ1Y7cUJBQUk7b0JBQ0QsRUFBRSxDQUFDLEVBQUUsQ0FBQyxZQUFZLENBQUMsU0FBUyxDQUFDLFVBQVUsQ0FBQyxRQUFRLEVBQUMsSUFBSSxDQUFDLENBQUM7b0JBQ3ZELElBQUksQ0FBQyxJQUFJLEdBQUcsSUFBSSxDQUFDO29CQUNqQixJQUFJLENBQUMsU0FBUyxHQUFHLEtBQUssQ0FBQztpQkFDMUI7YUFDSjtTQUNKO2FBQ0c7WUFDQSxFQUFFLENBQUMsRUFBRSxDQUFDLFlBQVksQ0FBQyxTQUFTLENBQUMsVUFBVSxDQUFDLFdBQVcsRUFBQyxJQUFJLENBQUMsQ0FBQztZQUMxRCxJQUFJLENBQUMsU0FBUyxHQUFHLEtBQUssQ0FBQztZQUN2QixJQUFJLENBQUMsSUFBSSxHQUFHLEtBQUssQ0FBQztTQUNyQjtRQUNELElBQUksR0FBRyxHQUFHLEVBQUUsQ0FBQyxXQUFXLENBQUMsTUFBTSxDQUFDLENBQUM7UUFDakMsSUFBRyxJQUFJLElBQUksSUFBSTtZQUFFLEdBQUcsQ0FBQyxLQUFLLEdBQUcsR0FBRyxDQUFDO1FBQ2pDLElBQUcsSUFBSSxJQUFJLE1BQU07WUFBRSxHQUFHLENBQUMsS0FBSyxHQUFHLENBQUMsRUFBRSxDQUFDO1FBQ25DLElBQUcsSUFBSSxJQUFJLE9BQU87WUFBRSxHQUFHLENBQUMsS0FBSyxHQUFHLEVBQUUsQ0FBQztRQUNuQyxHQUFHLENBQUMsTUFBTSxHQUFHLElBQUksQ0FBQyxHQUFHLENBQUM7UUFFdEIsSUFBRyxJQUFJLENBQUMsWUFBWSxDQUFDLElBQUksQ0FBQyxZQUFZLENBQUMsTUFBTSxHQUFDLENBQUMsQ0FBQyxJQUFJLFdBQVc7WUFDM0QsSUFBSSxDQUFDLFlBQVksQ0FBQyxJQUFJLENBQUMsWUFBWSxDQUFDLE1BQU0sR0FBQyxDQUFDLENBQUMsSUFBSSxNQUFNLEVBQUM7WUFDcEQsSUFBRyxJQUFJLElBQUksV0FBVyxJQUFJLElBQUksSUFBSSxNQUFNLEVBQUM7Z0JBQ3JDLElBQUksQ0FBQyxRQUFRLENBQUMsSUFBSSxDQUFDLFFBQVEsQ0FBQyxNQUFNLEdBQUMsQ0FBQyxDQUFDLENBQUMsZ0JBQWdCLEVBQUUsQ0FBQztnQkFDekQsSUFBSSxDQUFDLFFBQVEsQ0FBQyxJQUFJLENBQUMsUUFBUSxDQUFDLE1BQU0sR0FBQyxDQUFDLENBQUMsR0FBRyxJQUFJLENBQUM7Z0JBQzdDLElBQUksQ0FBQyxRQUFRLENBQUMsR0FBRyxFQUFFLENBQUM7Z0JBQ3BCLElBQUksQ0FBQyxZQUFZLENBQUMsR0FBRyxFQUFFLENBQUM7YUFDM0I7U0FDUjtRQUNELElBQUksQ0FBQyxXQUFXLENBQUMsR0FBRyxDQUFDLENBQUM7UUFFdEIsSUFBSSxDQUFDLFFBQVEsQ0FBQyxJQUFJLENBQUMsR0FBRyxDQUFDLENBQUM7UUFDeEIsSUFBSSxDQUFDLFlBQVksQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLENBQUM7UUFFN0IsSUFBRyxJQUFJLENBQUMsUUFBUSxDQUFDLE1BQU0sSUFBSSxFQUFFLEVBQUM7WUFDMUIsSUFBRyxDQUFDLElBQUksQ0FBQyxRQUFRLENBQUMsTUFBTSxHQUFHLENBQUMsQ0FBQyxHQUFDLENBQUMsSUFBSSxDQUFDLEVBQUM7Z0JBQ2pDLElBQUksQ0FBQyxPQUFPLENBQUMsSUFBSSxDQUFDLENBQUM7YUFDdEI7U0FDSjtJQUNMLENBQUM7SUFDRCxZQUFZO0lBQ1osMEJBQU8sR0FBUCxVQUFRLElBQUk7UUFDUixJQUFHLElBQUk7WUFBRSxJQUFJLENBQUMsU0FBUyxJQUFJLEVBQUUsQ0FBQzs7WUFDekIsSUFBSSxDQUFDLFNBQVMsSUFBSSxFQUFFLENBQUM7UUFDMUIsS0FBSSxJQUFJLENBQUMsR0FBQyxDQUFDLEVBQUUsQ0FBQyxHQUFDLElBQUksQ0FBQyxRQUFRLENBQUMsTUFBTSxFQUFDLENBQUMsRUFBRSxFQUFDO1lBQ3BDLElBQUksR0FBRyxHQUFHLElBQUksQ0FBQyxRQUFRLENBQUMsQ0FBQyxDQUFDLENBQUM7WUFDM0IsSUFBRyxJQUFJO2dCQUFDLEdBQUcsQ0FBQyxDQUFDLElBQUksRUFBRSxDQUFDOztnQkFDZixHQUFHLENBQUMsQ0FBQyxJQUFJLEVBQUUsQ0FBQztTQUNwQjtJQUNMLENBQUM7SUFFRCxXQUFXO0lBQ1gsOEJBQVcsR0FBWDtRQUNJLElBQUcsQ0FBQyxJQUFJLENBQUMsUUFBUTtZQUFFLE9BQU87UUFDMUIsSUFBSSxDQUFDLFFBQVEsR0FBRyxLQUFLLENBQUM7UUFDdEIsRUFBRSxDQUFDLEVBQUUsQ0FBQyxZQUFZLENBQUMsU0FBUyxDQUFDLFVBQVUsQ0FBQyxPQUFPLEVBQUMsSUFBSSxDQUFDLENBQUM7UUFDdEQsRUFBRSxDQUFDLEVBQUUsQ0FBQyxhQUFhLENBQUMsSUFBSSxDQUFDLEVBQUUsQ0FBQyxFQUFFLENBQUMsT0FBTyxDQUFDLFNBQVMsRUFBQyxJQUFJLENBQUMsWUFBWSxDQUFDLENBQUM7SUFDeEUsQ0FBQztJQWpLRDtRQURDLFFBQVEsQ0FBQyxFQUFFLENBQUMsSUFBSSxDQUFDO3lDQUNFO0lBRXBCO1FBREMsUUFBUSxDQUFDLEVBQUUsQ0FBQyxNQUFNLENBQUM7eUNBQ0U7SUFFdEI7UUFEQyxRQUFRLENBQUMsRUFBRSxDQUFDLE1BQU0sQ0FBQzsrQ0FDUTtJQUU1QjtRQURDLFFBQVEsQ0FBQyxFQUFFLENBQUMsTUFBTSxDQUFDOzBDQUNHO0lBVE4sUUFBUTtRQUQ1QixPQUFPO09BQ2EsUUFBUSxDQXVLNUI7SUFBRCxlQUFDO0NBdktELEFBdUtDLENBdktxQyxFQUFFLENBQUMsU0FBUyxHQXVLakQ7a0JBdktvQixRQUFRIiwiZmlsZSI6IiIsInNvdXJjZVJvb3QiOiIvIiwic291cmNlc0NvbnRlbnQiOlsiLy8gTGVhcm4gVHlwZVNjcmlwdDpcclxuLy8gIC0gaHR0cHM6Ly9kb2NzLmNvY29zLmNvbS9jcmVhdG9yL21hbnVhbC9lbi9zY3JpcHRpbmcvdHlwZXNjcmlwdC5odG1sXHJcbi8vIExlYXJuIEF0dHJpYnV0ZTpcclxuLy8gIC0gaHR0cHM6Ly9kb2NzLmNvY29zLmNvbS9jcmVhdG9yL21hbnVhbC9lbi9zY3JpcHRpbmcvcmVmZXJlbmNlL2F0dHJpYnV0ZXMuaHRtbFxyXG4vLyBMZWFybiBsaWZlLWN5Y2xlIGNhbGxiYWNrczpcclxuLy8gIC0gaHR0cHM6Ly9kb2NzLmNvY29zLmNvbS9jcmVhdG9yL21hbnVhbC9lbi9zY3JpcHRpbmcvbGlmZS1jeWNsZS1jYWxsYmFja3MuaHRtbFxyXG5cclxuY29uc3Qge2NjY2xhc3MsIHByb3BlcnR5fSA9IGNjLl9kZWNvcmF0b3I7XHJcblxyXG5AY2NjbGFzc1xyXG5leHBvcnQgZGVmYXVsdCBjbGFzcyBOZXdDbGFzcyBleHRlbmRzIGNjLkNvbXBvbmVudCB7XHJcblxyXG4gICAgQHByb3BlcnR5KGNjLk5vZGUpXHJcbiAgICBNYXA6IGNjLk5vZGUgPSBudWxsO1xyXG4gICAgQHByb3BlcnR5KGNjLlByZWZhYilcclxuICAgIHRpcDogY2MuUHJlZmFiID0gbnVsbDtcclxuICAgIEBwcm9wZXJ0eShjYy5QcmVmYWIpXHJcbiAgICByZWluZm9yY2U6IGNjLlByZWZhYiA9IG51bGw7XHJcbiAgICBAcHJvcGVydHkoY2MuUHJlZmFiKVxyXG4gICAgc29pbDogY2MuUHJlZmFiID0gbnVsbDtcclxuICAgIFxyXG5cclxuICAgIHRpcEFycmF5OmFueTtcclxuICAgIGNvbnRyb2xBcnJheTphbnk7XHJcbiAgICBjYW5Ub3VjaDpib29sZWFuO1xyXG4gICAgUmVpbmZvcmNlOmJvb2xlYW47XHJcbiAgICBTb2lsOmJvb2xlYW47XHJcbiAgICBtYXBIZWlnaHQ6bnVtYmVyO1xyXG4gICAgLy8gTElGRS1DWUNMRSBDQUxMQkFDS1M6XHJcblxyXG4gICAgLy8gb25Mb2FkICgpIHt9XHJcblxyXG4gICAgc3RhcnQgKCkge1xyXG4gICAgICAgIHRoaXMudGlwQXJyYXkgPSBbXTtcclxuICAgICAgICB0aGlzLmNvbnRyb2xBcnJheSA9IFtdO1xyXG4gICAgICAgIHRoaXMuY2FuVG91Y2ggPSB0cnVlO1xyXG4gICAgICAgIHRoaXMuUmVpbmZvcmNlID0gZmFsc2U7XHJcbiAgICAgICAgdGhpcy5Tb2lsID0gZmFsc2U7XHJcbiAgICAgICAgdGhpcy5tYXBIZWlnaHQgPSAwO1xyXG4gICAgfVxyXG5cclxuICAgIHNldFBvc2l0aW9uKHRpcCl7XHJcbiAgICAgICAgdGlwLnNldFBvc2l0aW9uKDMwLC0yNSk7XHJcbiAgICAgICAgaWYodGhpcy50aXBBcnJheS5sZW5ndGggPiAwKXtcclxuICAgICAgICAgICAgbGV0IGxlbmd0aCA9IHRoaXMudGlwQXJyYXkubGVuZ3RoKzE7XHJcbiAgICAgICAgICAgIGxldCBwb3NZID0gTWF0aC5jZWlsKGxlbmd0aC84KSAtIDE7XHJcbiAgICAgICAgICAgIGxldCBwb3NYID0gbGVuZ3RoIC0gTWF0aC5mbG9vcihwb3NZKSo4IC0gMTtcclxuICAgICAgICAgICAgdGlwLnNldFBvc2l0aW9uKDMwICsgNDgqcG9zWCwtMjUgLTQ4KnBvc1kgKyB0aGlzLm1hcEhlaWdodCk7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG4gICAgLy/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,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbImFzc2V0c1xcU2NyaXB0XFxtb2R1bGVcXFRvb2xcXEdhbWVUb29sLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7Ozs7Ozs7Ozs7Ozs7OztBQUNBLCtCQUErQjtBQUMvQixJQUFJLFFBQVEsR0FBRztJQUNYLFVBQVUsRUFBRSxDQUFDO0lBQ2IsUUFBUSxFQUFFLENBQUM7SUFDWCxVQUFVLEVBQUUsQ0FBQztJQUNiLFVBQVU7SUFDVixjQUFjO1FBQ1YsSUFBSSxJQUFJLEdBQUcsT0FBTyxHQUFHLEVBQUUsQ0FBQyxFQUFFLENBQUMsVUFBVSxDQUFDLE9BQU8sQ0FBQyxNQUFNLENBQUM7UUFDckQsSUFBSSxJQUFJLEdBQUcsSUFBSSxDQUFDLEtBQUssQ0FBQyxZQUFZLENBQUMsT0FBTyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUM7UUFDbEQsSUFBRyxJQUFJLElBQUksVUFBVSxJQUFJLElBQUksSUFBRSxJQUFJLElBQUksSUFBSSxJQUFJLEVBQUUsRUFBQztZQUM5QyxJQUFJLEdBQUcsR0FBRyw4RUFBOEUsR0FBQyxRQUFRLENBQUMsSUFBSSxDQUFDO1lBQ3ZHLE1BQU0sQ0FBQyxRQUFRLENBQUMsSUFBSSxHQUFHLEdBQUcsQ0FBQztTQUM5QjthQUNHO1lBQ0EsRUFBRSxDQUFDLEVBQUUsQ0FBQyxjQUFjLENBQUMsVUFBVSxDQUFDLElBQUksRUFBQyxJQUFJLENBQUMsQ0FBQztZQUMzQyxFQUFFLENBQUMsRUFBRSxDQUFDLFVBQVUsQ0FBQyxPQUFPLENBQUMsTUFBTSxHQUFHLFFBQVEsQ0FBQyxJQUFJLENBQUMsTUFBTSxDQUFDLENBQUM7U0FDM0Q7SUFDTCxDQUFDO0lBRUQsTUFBTTtJQUNOLFdBQVc7UUFDUCxvQkFBb0I7UUFDcEIsRUFBRSxDQUFDLEVBQUUsQ0FBQyxVQUFVLENBQUMsU0FBUyxHQUFHLEVBQUUsQ0FBQztRQUNoQyxFQUFFLENBQUMsRUFBRSxDQUFDLFVBQVUsQ0FBQyxTQUFTLENBQUMsSUFBSSxDQUFDLEVBQUUsQ0FBQyxFQUFFLENBQUMsVUFBVSxDQUFDLFVBQVUsQ0FBQyxDQUFDO1FBQzdELEVBQUUsQ0FBQyxFQUFFLENBQUMsVUFBVSxDQUFDLFVBQVUsRUFBRSxDQUFDO1FBQzlCLElBQUksSUFBSSxHQUFHLEVBQUUsQ0FBQyxFQUFFLENBQUMsVUFBVSxDQUFDLFNBQVMsQ0FBQztRQUN0QyxJQUFJLE9BQU8sR0FBRyxJQUFJLENBQUMsVUFBVSxFQUFFLENBQUM7UUFDaEMsSUFBSSxRQUFRLEdBQUc7WUFDWCxRQUFRLEVBQUMsRUFBRSxDQUFDLEVBQUUsQ0FBQyxVQUFVLENBQUMsT0FBTyxDQUFDLE1BQU07WUFDeEMsUUFBUSxFQUFDLEVBQUUsQ0FBQyxFQUFFLENBQUMsVUFBVSxDQUFDLE9BQU8sQ0FBQyxNQUFNO1lBQ3hDLFNBQVMsRUFBQyxPQUFPO1lBQ2pCLE1BQU0sRUFBRSxJQUFJO1NBQ2YsQ0FBQztRQUVGLE9BQU8sQ0FBQyxHQUFHLENBQUMsT0FBTyxFQUFDLElBQUksQ0FBQyxDQUFDO1FBQzFCLEVBQUUsQ0FBQyxFQUFFLENBQUMsUUFBUSxDQUFDLGlCQUFpQixDQUFDLFFBQVEsRUFBQyxjQUFXLENBQUMsQ0FBQyxDQUFBO0lBQzNELENBQUM7SUFDRCxlQUFlO0lBQ2YsT0FBTyxZQUFDLElBQUk7UUFDUixvQkFBb0I7UUFDcEIsSUFBSSxRQUFRLEdBQUc7WUFDWCxRQUFRLEVBQUMsRUFBRSxDQUFDLEVBQUUsQ0FBQyxVQUFVLENBQUMsT0FBTyxDQUFDLE1BQU07WUFDeEMsUUFBUSxFQUFDLEVBQUUsQ0FBQyxFQUFFLENBQUMsVUFBVSxDQUFDLE9BQU8sQ0FBQyxNQUFNO1lBQ3hDLE1BQU0sRUFBQyxDQUFDO1lBQ1IsT0FBTyxFQUFFLElBQUksQ0FBQyxLQUFLO1lBQ25CLFVBQVUsRUFBRSxJQUFJLENBQUMsSUFBSTtZQUNyQixTQUFTLEVBQUUsRUFBRSxDQUFDLEVBQUUsQ0FBQyxVQUFVLENBQUMsT0FBTyxDQUFDLE9BQU87U0FDOUMsQ0FBQztRQUNGLEVBQUUsQ0FBQyxFQUFFLENBQUMsUUFBUSxDQUFDLFFBQVEsQ0FBQyxDQUFDLEVBQUMsY0FBVyxDQUFDLEVBQUMsUUFBUSxDQUFDLENBQUM7SUFDckQsQ0FBQztJQUNELGNBQWM7SUFDZCxPQUFPLFlBQUMsSUFBSSxFQUFDLFFBQVE7UUFDakIsSUFBSSxVQUFVLEdBQUcsSUFBSSxDQUFDLE1BQU0sQ0FBQztRQUM3QixJQUFJLFFBQVEsR0FBRztZQUNYLFFBQVEsRUFBQyxFQUFFLENBQUMsRUFBRSxDQUFDLFVBQVUsQ0FBQyxPQUFPLENBQUMsTUFBTTtZQUN4QyxRQUFRLEVBQUMsRUFBRSxDQUFDLEVBQUUsQ0FBQyxVQUFVLENBQUMsT0FBTyxDQUFDLE1BQU07WUFDeEMsTUFBTSxFQUFDLENBQUM7WUFDUixVQUFVLEVBQUMsVUFBVTtTQUN4QixDQUFDO1FBQ0YsZ0JBQWdCO1FBQ2hCLEVBQUUsQ0FBQyxFQUFFLENBQUMsUUFBUSxDQUFDLFFBQVEsQ0FBQyxDQUFDLEVBQUMsVUFBQSxJQUFJLElBQUksUUFBUSxDQUFDLElBQUksQ0FBQyxDQUFBLENBQUEsQ0FBQyxFQUFDLFFBQVEsQ0FBQyxDQUFDO0lBQ2hFLENBQUM7SUFDRCxpQ0FBaUM7SUFDakMsVUFBVTtRQUNOLElBQUksT0FBTyxHQUFHLEVBQUUsQ0FBQyxHQUFHLENBQUMsWUFBWSxDQUFDLE9BQU8sQ0FBQyxTQUFTLENBQUMsQ0FBQztRQUNyRCxJQUFJLE1BQU0sR0FBRyxPQUFPLENBQUM7UUFDckIsSUFBRyxPQUFPLElBQUksVUFBVSxJQUFJLE9BQU8sSUFBRSxJQUFJLEVBQUM7WUFDdEMsT0FBTyxHQUFJLElBQUksQ0FBQyxVQUFVLEVBQUUsQ0FBQztTQUNoQzthQUNHO1lBQ0EsSUFBRyxJQUFJLENBQUMsY0FBYyxDQUFDLE9BQU8sQ0FBQyxJQUFJLElBQUksRUFBQztnQkFDcEMsT0FBTyxHQUFJLElBQUksQ0FBQyxVQUFVLEVBQUUsQ0FBQzthQUNoQztpQkFDRztnQkFDQSxJQUFJLElBQUksR0FBRyxRQUFRLENBQUMsTUFBTSxDQUFDLFNBQVMsQ0FBQyxFQUFFLEVBQUMsTUFBTSxDQUFDLE1BQU0sQ0FBQyxDQUFDLENBQUM7Z0JBQ3hELElBQUcsRUFBRSxDQUFDLEVBQUUsQ0FBQyxVQUFVLENBQUMsT0FBTyxDQUFDLEtBQUssSUFBSSxDQUFDLEVBQUM7b0JBQ25DLElBQUksSUFBSSxDQUFDLENBQUM7b0JBQ1YsT0FBTyxHQUFJLE1BQU0sQ0FBQyxLQUFLLENBQUMsQ0FBQyxFQUFFLEVBQUUsQ0FBQyxHQUFHLElBQUksR0FBRyxFQUFFLENBQUM7b0JBQzNDLElBQUcsSUFBSSxDQUFDLGNBQWMsQ0FBQyxPQUFPLENBQUM7d0JBQUUsT0FBTyxHQUFHLElBQUksQ0FBQyxVQUFVLEVBQUUsQ0FBQztvQkFDN0QsRUFBRSxDQUFDLEVBQUUsQ0FBQyxVQUFVLENBQUMsT0FBTyxDQUFDLE9BQU8sR0FBRyxPQUFPLENBQUM7b0JBQzNDLEVBQUUsQ0FBQyxHQUFHLENBQUMsWUFBWSxDQUFDLE9BQU8sQ0FBQyxTQUFTLEVBQUMsT0FBTyxDQUFDLENBQUM7aUJBQ2xEO2FBQ0o7U0FDSjtRQUVELElBQUcsSUFBSSxDQUFDLGNBQWMsQ0FBQyxPQUFPLENBQUMsSUFBSSxJQUFJLEVBQUM7WUFDcEMsT0FBTyxHQUFJLElBQUksQ0FBQyxVQUFVLEVBQUUsQ0FBQztTQUNoQztRQUNELE9BQU8sT0FBTyxDQUFDO0lBQ25CLENBQUM7SUFDRCw4QkFBOEI7SUFDOUIsY0FBYyxZQUFDLEdBQUc7UUFDZCxPQUFPLEtBQUssQ0FBQyxJQUFJLENBQUMsR0FBRyxDQUFDLENBQUM7SUFDM0IsQ0FBQztJQUNELGFBQWE7SUFDYixVQUFVO1FBQ04sZUFBZTtRQUNmLElBQU0sVUFBVSxHQUFHLGdFQUFnRSxDQUFDO1FBQ3BGLGdCQUFnQjtRQUNoQixJQUFNLFNBQVMsR0FBRyxFQUFFLENBQUM7UUFDckIsbUJBQW1CO1FBQ25CLEtBQUssSUFBSSxDQUFDLEdBQUcsQ0FBQyxFQUFFLENBQUMsR0FBRyxFQUFFLEVBQUUsQ0FBQyxFQUFFLEVBQUU7WUFDckIsbUJBQW1CO1lBQ3ZCLElBQU0sV0FBVyxHQUFHLElBQUksQ0FBQyxLQUFLLENBQUMsSUFBSSxDQUFDLE1BQU0sRUFBRSxHQUFHLFVBQVUsQ0FBQyxNQUFNLENBQUMsQ0FBQztZQUNsRSxjQUFjO1lBQ2QsSUFBTSxVQUFVLEdBQUcsVUFBVSxDQUFDLE1BQU0sQ0FBQyxXQUFXLENBQUMsQ0FBQztZQUNsRCxZQUFZO1lBQ1osU0FBUyxDQUFDLElBQUksQ0FBQyxVQUFVLENBQUMsQ0FBQztTQUM5QjtRQUNELElBQUksSUFBSSxHQUFJLFNBQVMsQ0FBQyxJQUFJLENBQUMsRUFBRSxDQUFDLEdBQUcsQ0FBQyxHQUFHLEVBQUUsQ0FBQztRQUN4QyxFQUFFLENBQUMsR0FBRyxDQUFDLFlBQVksQ0FBQyxPQUFPLENBQUMsYUFBYSxFQUFDLENBQUMsQ0FBQyxDQUFDO1FBQzdDLEVBQUUsQ0FBQyxHQUFHLENBQUMsWUFBWSxDQUFDLE9BQU8sQ0FBQyxTQUFTLEVBQUMsSUFBSSxDQUFDLENBQUM7UUFDNUMsRUFBRSxDQUFDLEVBQUUsQ0FBQyxVQUFVLENBQUMsT0FBTyxDQUFDLE9BQU8sR0FBRyxJQUFJLENBQUM7UUFDeEMsT0FBTyxJQUFJLENBQUM7SUFDaEIsQ0FBQztJQUNELE1BQU07SUFDTixPQUFPLFlBQUMsSUFBSSxFQUFDLE1BQU07UUFDZixJQUFHLElBQUksQ0FBQyxNQUFNLEdBQUcsTUFBTSxFQUFDO1lBQ3BCLElBQUksR0FBRyxJQUFJLENBQUMsU0FBUyxDQUFDLENBQUMsRUFBQyxNQUFNLENBQUMsR0FBRyxLQUFLLENBQUE7U0FDMUM7UUFDRCxPQUFPLElBQUksQ0FBQztJQUNoQixDQUFDO0lBQ0QsTUFBTTtJQUNOLE1BQU0sRUFBTixVQUFPLElBQUksRUFBQyxHQUFHO1FBQ1gsSUFBSSxDQUFDLE1BQU0sR0FBRyxLQUFLLENBQUM7UUFDcEIsSUFBSSxHQUFHLEdBQUcsR0FBRyxDQUFDO1FBQ2QsVUFBVSxDQUFDO1lBQ1AsS0FBSyxDQUFDLEdBQUcsQ0FBQztpQkFDVCxJQUFJLENBQUMsVUFBQSxRQUFRO2dCQUNWLE9BQU8sUUFBUSxDQUFDLE9BQU8sQ0FBQyxHQUFHLENBQUMsZ0JBQWdCLENBQUMsQ0FBQztZQUNsRCxDQUFDLENBQUM7aUJBQ0QsSUFBSSxDQUFDLFVBQUEsS0FBSztnQkFDUCxJQUFHLEtBQUssSUFBSSxNQUFNLEVBQUM7b0JBQ2YsSUFBSSxDQUFDLE1BQU0sR0FBRyxJQUFJLENBQUM7aUJBQ3RCO1lBQ0wsQ0FBQyxDQUFDO2lCQUNELEtBQUssQ0FBQyxVQUFBLEtBQUs7Z0JBQ1Isa0RBQWtEO1lBQ3RELENBQUMsQ0FBQyxDQUFDO1FBQ1AsQ0FBQyxFQUFFLEdBQUcsQ0FBQyxDQUFDO1FBQ1IsRUFBRSxDQUFDLFlBQVksQ0FBQyxVQUFVLENBQUMsR0FBRyxFQUFFLEVBQUMsR0FBRyxFQUFDLE1BQU0sRUFBQyxFQUFDLFVBQUMsR0FBRyxFQUFFLE9BQW9CO1lBQ25FLElBQUcsT0FBTyxFQUFDO2dCQUNQLElBQUksQ0FBQyxNQUFNLEdBQUcsSUFBSSxDQUFDO2dCQUNuQixJQUFJLENBQUMsWUFBWSxDQUFDLEVBQUUsQ0FBQyxNQUFNLENBQUMsQ0FBQyxXQUFXLEdBQUcsSUFBSSxFQUFFLENBQUMsV0FBVyxDQUFDLE9BQU8sQ0FBQyxDQUFDO2FBQzFFO2lCQUNHO2dCQUNBLE9BQU8sQ0FBQyxHQUFHLENBQUMsR0FBRyxFQUFDLE9BQU8sQ0FBQyxDQUFBO2FBQzNCO1FBQ0wsQ0FBQyxDQUFDLENBQUE7SUFDTixDQUFDO0lBQ0QsbUNBQW1DO0lBQ25DLG1CQUFtQjtJQUNuQixXQUFXLFlBQUMsSUFBSSxFQUFDLE1BQU0sRUFBQyxVQUFVO1FBQzlCLE1BQU0sQ0FBQyxRQUFRLEdBQUcsSUFBSSxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUM7UUFDakMsTUFBTSxDQUFDLFFBQVEsR0FBRyxJQUFJLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQztRQUNqQyxJQUFJLFFBQVEsR0FBRyxFQUFFLENBQUM7UUFDbEIsSUFBSSxJQUFJLEdBQUcsS0FBSyxDQUFDO1FBQ2hCLEVBQUUsQ0FBQyxFQUFFLENBQUMsUUFBUSxDQUFDLE1BQU0sQ0FBQyxNQUFNLENBQUMsUUFBUSxDQUFDLGNBQWMsQ0FBQyxLQUFLLENBQUMsQ0FBQyxjQUFjLENBQUMsTUFBTSxDQUFDLEVBQUMsTUFBTSxDQUFDLFFBQVEsQ0FBQyxHQUFHLENBQUMsQ0FBQztRQUN6RyxLQUFJLElBQUksQ0FBQyxHQUFDLENBQUMsRUFBQyxDQUFDLElBQUUsTUFBTSxDQUFDLFFBQVEsQ0FBQyxNQUFNLEdBQUMsQ0FBQyxFQUFDLENBQUMsRUFBRSxFQUFDO1lBQ3hDLFFBQVEsQ0FBQyxJQUFJLENBQUMsRUFBQyxJQUFJLEVBQUMsQ0FBQyxDQUFDLEdBQUMsQ0FBQyxDQUFDLEVBQUUsSUFBSSxFQUFDLE1BQU0sQ0FBQyxRQUFRLENBQUMsQ0FBQyxDQUFDLENBQUMsUUFBUSxFQUFFLEtBQUssRUFBQyxNQUFNLENBQUMsUUFBUSxDQUFDLENBQUMsQ0FBQyxDQUFDLEtBQUssRUFBQyxJQUFJLEVBQUMsSUFBSSxFQUFFLEdBQUcsRUFBQyxNQUFNLENBQUMsUUFBUSxDQUFDLENBQUMsQ0FBQyxDQUFDLEdBQUcsRUFBQyxDQUFDLENBQUM7WUFDcEksSUFBRyxFQUFFLENBQUMsRUFBRSxDQUFDLFVBQVUsQ0FBQyxPQUFPLENBQUMsTUFBTSxJQUFJLE1BQU0sQ0FBQyxRQUFRLENBQUMsQ0FBQyxDQUFDLENBQUMsTUFBTSxFQUFDO2dCQUM1RCxJQUFJLEdBQUcsSUFBSSxDQUFDO2dCQUNaLE1BQU0sQ0FBQyxVQUFVLEdBQUcsQ0FBQyxDQUFDO2dCQUN0QixNQUFNLENBQUMsUUFBUSxDQUFDLGNBQWMsQ0FBQyxTQUFTLENBQUMsQ0FBQyxZQUFZLENBQUMsRUFBRSxDQUFDLEtBQUssQ0FBQyxDQUFDLE1BQU0sR0FBRSxDQUFDLENBQUMsR0FBQyxDQUFDLENBQUMsR0FBRyxFQUFFLENBQUM7YUFDdkY7WUFDRCxJQUFHLENBQUMsSUFBSSxDQUFDLE1BQU0sQ0FBQyxRQUFRLENBQUMsTUFBTSxHQUFDLENBQUMsQ0FBQyxJQUFJLElBQUksSUFBSSxLQUFLLEVBQUM7Z0JBQ2hELE1BQU0sQ0FBQyxVQUFVLEdBQUcsQ0FBQyxDQUFDO2dCQUN0QixNQUFNLENBQUMsUUFBUSxDQUFDLGNBQWMsQ0FBQyxTQUFTLENBQUMsQ0FBQyxZQUFZLENBQUMsRUFBRSxDQUFDLEtBQUssQ0FBQyxDQUFDLE1BQU0sR0FBRyxLQUFLLENBQUM7YUFDbkY7U0FDSjtRQUNBLEVBQUUsQ0FBQyxFQUFFLENBQUMsUUFBUSxDQUFDLE9BQU8sQ0FBQyxNQUFNLENBQUMsUUFBUSxDQUFDLFFBQVEsRUFBQyxVQUFVLENBQUMsQ0FBQztRQUM3RCxNQUFNLENBQUMsUUFBUSxDQUFDLGNBQWMsQ0FBQyxTQUFTLENBQUMsQ0FBQyxZQUFZLENBQUMsRUFBRSxDQUFDLEtBQUssQ0FBQyxDQUFDLE1BQU0sR0FBRyxNQUFNLENBQUMsUUFBUSxDQUFDLFFBQVEsQ0FBQztRQUNuRyxNQUFNLENBQUMsUUFBUSxDQUFDLGNBQWMsQ0FBQyxVQUFVLENBQUMsQ0FBQyxZQUFZLENBQUMsRUFBRSxDQUFDLEtBQUssQ0FBQyxDQUFDLE1BQU0sR0FBRyxNQUFNLENBQUMsUUFBUSxDQUFDLEtBQUssQ0FBQztRQUNqRyxJQUFJLFFBQVEsR0FBRyxFQUFFLENBQUMsRUFBRSxDQUFDLFFBQVEsQ0FBQyxlQUFlLENBQUMsTUFBTSxDQUFDLFFBQVEsQ0FBQyxVQUFVLENBQUMsQ0FBQztRQUMxRSwyRkFBMkY7UUFDM0YsUUFBTyxNQUFNLENBQUMsUUFBUSxDQUFDLGNBQWMsQ0FBQyxTQUFTLENBQUMsQ0FBQyxZQUFZLENBQUMsRUFBRSxDQUFDLEtBQUssQ0FBQyxDQUFDLE1BQU0sRUFBQztZQUMzRSxLQUFLLEdBQUc7Z0JBQ0osTUFBTSxDQUFDLFFBQVEsQ0FBQyxjQUFjLENBQUMsTUFBTSxDQUFDLENBQUMsY0FBYyxDQUFDLEtBQUssQ0FBQyxDQUFDLE1BQU0sR0FBRyxJQUFJLENBQUM7Z0JBQzNFLE1BQU07WUFDVixLQUFLLEdBQUc7Z0JBQ0osTUFBTSxDQUFDLFFBQVEsQ0FBQyxjQUFjLENBQUMsTUFBTSxDQUFDLENBQUMsY0FBYyxDQUFDLEtBQUssQ0FBQyxDQUFDLE1BQU0sR0FBRyxJQUFJLENBQUM7Z0JBQzNFLE1BQU07WUFDVixLQUFLLEdBQUc7Z0JBQ0osTUFBTSxDQUFDLFFBQVEsQ0FBQyxjQUFjLENBQUMsTUFBTSxDQUFDLENBQUMsY0FBYyxDQUFDLE9BQU8sQ0FBQyxDQUFDLE1BQU0sR0FBRyxJQUFJLENBQUM7Z0JBQzdFLE1BQU07U0FDYjtRQUNELE1BQU07UUFDTixJQUFHLFVBQVUsSUFBSSxDQUFDLEVBQUM7WUFDZixNQUFNLENBQUMsUUFBUSxDQUFDLE9BQU8sQ0FBQyxRQUFRLENBQUMsQ0FBQztZQUNsQyxNQUFNLENBQUMsUUFBUSxDQUFDLE9BQU8sR0FBRyxHQUFHLENBQUM7WUFDOUIsSUFBRyxNQUFNLENBQUMsUUFBUSxDQUFDLGFBQWEsSUFBSSxDQUFDO2dCQUFFLE1BQU0sQ0FBQyxRQUFRLENBQUMsT0FBTyxHQUFHLENBQUMsQ0FBQztTQUN0RTtJQUNMLENBQUM7SUFFRCxhQUFhLEVBQUUsVUFBVSxHQUFHLEVBQUUsR0FBRztRQUM3QixPQUFPLENBQUMsR0FBRyxDQUFDLE1BQU0sRUFBQyxFQUFFLENBQUMsRUFBRSxDQUFDLFVBQVUsQ0FBQyxPQUFPLENBQUMsUUFBUSxDQUFDLENBQUM7UUFDdEQsR0FBRyxHQUFHLEdBQUcsSUFBSSxDQUFDLENBQUM7UUFDZixHQUFHLEdBQUcsR0FBRyxJQUFJLENBQUMsQ0FBQztRQUNmLEVBQUUsQ0FBQyxFQUFFLENBQUMsVUFBVSxDQUFDLE9BQU8sQ0FBQyxRQUFRLEdBQUcsQ0FBQyxFQUFFLENBQUMsRUFBRSxDQUFDLFVBQVUsQ0FBQyxPQUFPLENBQUMsUUFBUSxHQUFHLElBQUksR0FBRyxLQUFLLENBQUMsR0FBRyxNQUFNLENBQUM7UUFDaEcsSUFBSSxHQUFHLEdBQUcsRUFBRSxDQUFDLEVBQUUsQ0FBQyxVQUFVLENBQUMsT0FBTyxDQUFDLFFBQVEsR0FBSSxRQUFRLENBQUM7UUFDeEQsSUFBSSxHQUFHLEdBQUcsR0FBRyxHQUFHLEdBQUcsR0FBRyxDQUFDLEdBQUcsR0FBRyxHQUFHLENBQUMsQ0FBQztRQUNsQyxPQUFPLFFBQVEsQ0FBQyxHQUFHLENBQUMsQ0FBQztJQUN6QixDQUFDO0lBQ0QsY0FBYztJQUNkLFNBQVMsWUFBQyxJQUFJO1FBQ1YsSUFBSSxNQUFNLEdBQUcsRUFBRSxDQUFDLEVBQUUsQ0FBQyxjQUFjLENBQUMsVUFBVSxDQUFDLEVBQUUsQ0FBQyxFQUFFLENBQUMsV0FBVyxDQUFDLGlCQUFpQixDQUFDLENBQUM7UUFDbEYsSUFBRyxNQUFNLElBQUksVUFBVSxJQUFJLE1BQU0sSUFBRSxJQUFJLElBQUksTUFBTSxJQUFJLEVBQUUsRUFBQztZQUNwRCxJQUFJLENBQUMsU0FBUyxFQUFFLENBQUM7U0FDcEI7YUFDRztZQUNBLEVBQUUsQ0FBQyxFQUFFLENBQUMsVUFBVSxDQUFDLFdBQVcsQ0FBQyxRQUFRLEVBQUMsTUFBTSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUM7WUFDakQsSUFBRyxNQUFNLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxJQUFJLElBQUksSUFBSyxJQUFJLEVBQUM7Z0JBQy9CLE1BQU0sQ0FBQyxLQUFLLEVBQUUsQ0FBQztnQkFDZixJQUFHLE1BQU0sQ0FBQyxNQUFNLElBQUksQ0FBQyxFQUFDO29CQUNsQixJQUFJLENBQUMsU0FBUyxFQUFFLENBQUM7aUJBQ3BCOztvQkFDSSxFQUFFLENBQUMsRUFBRSxDQUFDLGNBQWMsQ0FBQyxVQUFVLENBQUMsRUFBRSxDQUFDLEVBQUUsQ0FBQyxXQUFXLENBQUMsaUJBQWlCLEVBQUMsTUFBTSxDQUFDLENBQUM7YUFDcEY7U0FDSjtJQUNMLENBQUM7SUFDRCx5QkFBeUI7SUFDekIsU0FBUztRQUNMLElBQUksV0FBVyxHQUFHLEVBQUUsQ0FBQyxFQUFFLENBQUMsVUFBVSxDQUFDLFVBQVUsQ0FBQyxNQUFNLENBQUM7UUFDckQsSUFBSSxTQUFTLEdBQUcsRUFBRSxDQUFDO1FBQ25CLEtBQUksSUFBSSxDQUFDLEdBQUMsQ0FBQyxFQUFFLENBQUMsR0FBQyxXQUFXLEVBQUMsQ0FBQyxFQUFFLEVBQUM7WUFDM0IsU0FBUyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsQ0FBQztTQUNyQjtRQUNELFNBQVMsQ0FBQyxJQUFJLENBQUMsY0FBTSxPQUFBLElBQUksQ0FBQyxNQUFNLEVBQUUsR0FBRyxHQUFHLEVBQW5CLENBQW1CLENBQUMsQ0FBQztRQUMxQyxTQUFTLENBQUMsT0FBTyxDQUFDLENBQUMsQ0FBQyxDQUFBO1FBQ3BCLEVBQUUsQ0FBQyxFQUFFLENBQUMsVUFBVSxDQUFDLFdBQVcsQ0FBQyxRQUFRLEVBQUMsU0FBUyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUM7UUFDcEQsRUFBRSxDQUFDLEVBQUUsQ0FBQyxjQUFjLENBQUMsVUFBVSxDQUFDLEVBQUUsQ0FBQyxFQUFFLENBQUMsV0FBVyxDQUFDLGlCQUFpQixFQUFDLFNBQVMsQ0FBQyxDQUFDO0lBQ25GLENBQUM7SUFHRCwwQkFBMEIsRUFBRTtRQUN4QixJQUFJLElBQUksR0FBRyxFQUFFLENBQUMsT0FBTyxDQUFDO1FBQ3RCLElBQUksS0FBSyxHQUFHLElBQUksQ0FBQyxLQUFLLENBQUM7UUFDdkIsSUFBSSxNQUFNLEdBQUcsSUFBSSxDQUFDLE1BQU0sQ0FBQztRQUN6QixJQUFJLENBQUMsTUFBTSxHQUFHLEtBQUssQ0FBQyxHQUFHLENBQUMsSUFBSSxHQUFHLENBQUMsQ0FBQztZQUFFLE9BQU8sS0FBSyxDQUFDO1FBQ2hELE9BQU8sSUFBSSxDQUFDO0lBQ2hCLENBQUM7SUFDRCxTQUFTO0lBQ1QsTUFBTSxFQUFFLFVBQVUsTUFBTTtRQUNwQixJQUFJLElBQUksR0FBSSxFQUFFLENBQUMsRUFBRSxDQUFDLFFBQVEsQ0FBQywwQkFBMEIsRUFBRSxDQUFDO1FBQ3hELElBQUksSUFBSSxFQUFFO1lBQ1Qsd0JBQXdCO1NBQ3hCO2FBQU07WUFDTix1QkFBdUI7U0FDdkI7UUFDRCxPQUFPLElBQUksQ0FBQztJQUNoQixDQUFDO0lBQ0QsUUFBUTtJQUNSLFdBQVcsRUFBRSxVQUFTLElBQUk7UUFDdEIsSUFBSSxFQUFFLEdBQUcsS0FBSyxDQUFDO1FBQ2YsT0FBTyxFQUFFLENBQUM7SUFDZCxDQUFDO0lBQ0QsUUFBUTtJQUNSLFdBQVcsRUFBRSxVQUFTLEVBQUU7SUFFeEIsQ0FBQztJQUVELE9BQU87SUFDUCxTQUFTLFlBQUMsS0FBSyxFQUFDLElBQUksRUFBQyxFQUFFLEVBQUMsTUFBTTtRQUMxQixJQUFJLElBQUksR0FBRyxNQUFNLENBQUM7UUFDbEIsSUFBSSxJQUFJLEdBQUcsRUFBRSxDQUFDO1FBQ2QsSUFBSSxHQUFHLEdBQUcsSUFBSSxDQUFDLEtBQUssQ0FBQyxFQUFFLENBQUMsQ0FBQztRQUN6QixJQUFJLEdBQUcsR0FBRyxHQUFHLENBQUMsTUFBTSxDQUFDO1FBQ3JCLElBQUksSUFBSSxHQUFHLENBQUMsQ0FBQztRQUNiLElBQUksQ0FBQyxJQUFJLEdBQUc7WUFDUixJQUFJLElBQUksR0FBRyxDQUFDLElBQUksQ0FBQyxDQUFDO1lBQ2xCLEtBQUssQ0FBQyxNQUFNLEdBQUcsSUFBSSxDQUFDO1lBQ3BCLElBQUksRUFBRSxJQUFJLElBQUksR0FBRyxFQUFFO2dCQUNmLElBQUksQ0FBQyxVQUFVLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxDQUFDO2dCQUMzQixFQUFFLElBQUksRUFBRSxFQUFFLENBQUM7YUFDZDtRQUNMLENBQUMsQ0FBQTtRQUNELElBQUksQ0FBQyxRQUFRLENBQUMsSUFBSSxDQUFDLElBQUksRUFBQyxHQUFHLEVBQUUsRUFBRSxDQUFDLEtBQUssQ0FBQyxjQUFjLEVBQUUsQ0FBQyxDQUFDLENBQUE7SUFDNUQsQ0FBQztJQUVELGdCQUFnQjtJQUNoQixhQUFhLEVBQUMsVUFBQyxNQUFNO1FBQ2pCLElBQUksS0FBSyxHQUFHLENBQUMsQ0FBQztRQUNkLEtBQUssR0FBRyxNQUFNLENBQUM7UUFDZixJQUFJLElBQUksR0FBRyxDQUFDLENBQUM7UUFDYixJQUFJLEdBQUcsUUFBUSxDQUFDLENBQUMsS0FBSyxHQUFHLElBQUksQ0FBQyxHQUFHLEVBQUUsQ0FBQyxDQUFDLENBQUEsU0FBUztRQUM5QyxJQUFJLFNBQVMsR0FBRyxLQUFLLEdBQUcsSUFBSSxHQUFHLEVBQUUsR0FBRyxFQUFFLENBQUMsQ0FBQSxlQUFlO1FBQ3RELElBQUksR0FBRyxHQUFHLFFBQVEsQ0FBQyxDQUFDLFNBQVMsR0FBRyxFQUFFLENBQUMsR0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFBLE9BQU87UUFDL0MsSUFBSSxDQUFDLEdBQUcsRUFBRSxHQUFHLEdBQUcsQ0FBQztRQUNqQixJQUFHLEdBQUcsR0FBRyxFQUFFO1lBQUUsQ0FBQyxHQUFHLEdBQUcsR0FBQyxHQUFHLENBQUM7UUFDekIsSUFBSSxRQUFRLEdBQUcsS0FBSyxHQUFHLElBQUksR0FBRyxFQUFFLEdBQUcsRUFBRSxHQUFHLEdBQUcsR0FBRyxFQUFFLENBQUMsQ0FBQSxhQUFhO1FBQzlELElBQUksSUFBSSxHQUFHLFFBQVEsR0FBRyxFQUFFLENBQUM7UUFDekIsSUFBRyxRQUFRLEdBQUcsRUFBRTtZQUFFLElBQUksR0FBRyxHQUFHLEdBQUcsUUFBUSxDQUFDO1FBQ3hDLE9BQU8sQ0FBQyxHQUFHLEdBQUcsR0FBRyxJQUFJLENBQUE7SUFDekIsQ0FBQztJQUVELGdCQUFnQjtJQUNoQixlQUFlLEVBQUMsVUFBQyxNQUFNO1FBQ25CLE1BQU0sR0FBRyxRQUFRLENBQUMsTUFBTSxHQUFDLElBQUksR0FBQyxFQUFFLENBQUMsQ0FBQztRQUNsQyxJQUFJLEtBQUssR0FBRyxDQUFDLENBQUM7UUFDZCxLQUFLLEdBQUcsTUFBTSxDQUFDO1FBQ2YsSUFBSSxHQUFHLEdBQUcsQ0FBQyxDQUFDO1FBQ1osSUFBRyxLQUFLLEdBQUcsRUFBRSxFQUFDO1lBQ1YsR0FBRyxHQUFHLFFBQVEsQ0FBQyxDQUFDLEtBQUssR0FBRyxFQUFFLENBQUMsR0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFBLE9BQU87U0FDMUM7UUFDRCxJQUFJLENBQUMsR0FBSSxHQUFHLEdBQUcsR0FBRyxDQUFDO1FBRW5CLElBQUksUUFBUSxHQUFHLEtBQUssR0FBRyxHQUFHLEdBQUcsRUFBRSxDQUFDLENBQUEsYUFBYTtRQUM3QyxJQUFJLElBQUksR0FBRyxRQUFRLEdBQUcsSUFBSSxDQUFDO1FBQzNCLE9BQU8sQ0FBQyxHQUFHLElBQUksQ0FBQTtJQUNuQixDQUFDO0lBRUQsT0FBTztJQUNQLE9BQU87UUFDSCxJQUFNLFNBQVMsR0FBSSxDQUFDLElBQUksSUFBSSxFQUFFLENBQUMsT0FBTyxFQUFFLENBQUMsQ0FBQTtRQUN6QyxPQUFPLFNBQVMsQ0FBQztJQUNyQixDQUFDO0lBQ0QsVUFBVSxFQUFDO0lBRVgsQ0FBQztJQUNELGVBQWUsRUFBQztJQUVoQixDQUFDO0NBRUosQ0FBQztBQUNPLDRCQUFRIiwiZmlsZSI6IiIsInNvdXJjZVJvb3QiOiIvIiwic291cmNlc0NvbnRlbnQiOlsiXHJcbi8v5pyA5aSn5bel5YW357G7ICDlkITnp43lhazlhbHmlrnms5XvvIzku6Xlj4rlpITnkIbkuIrkvKDvvIzojrflj5blkI7nq6/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,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== \ 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":"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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/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":"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","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 faa585a..07e01e1 100644 Binary files a/资源文件/images2/end_x.png and b/资源文件/images2/end_x.png differ diff --git a/资源文件/images2/end_y.png b/资源文件/images2/end_y.png index 3d80d02..c48b596 100644 Binary files a/资源文件/images2/end_y.png and b/资源文件/images2/end_y.png differ diff --git a/资源文件/images2/start_x.png b/资源文件/images2/start_x.png index 7ecb05d..b09ab2f 100644 Binary files a/资源文件/images2/start_x.png and b/资源文件/images2/start_x.png differ diff --git a/资源文件/images2/start_y.png b/资源文件/images2/start_y.png index 5fe5d0c..19a8848 100644 Binary files a/资源文件/images2/start_y.png and b/资源文件/images2/start_y.png differ 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 0000000..5947166 Binary files /dev/null and b/资源文件/大禹修水存图7.29/大禹治水结算界面字号.jpg differ diff --git a/资源文件/大禹修水存图7.29/大禹治水结算界面效果图.jpg b/资源文件/大禹修水存图7.29/大禹治水结算界面效果图.jpg new file mode 100644 index 0000000..1fd7827 Binary files /dev/null and b/资源文件/大禹修水存图7.29/大禹治水结算界面效果图.jpg differ 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